Refactor
This commit is contained in:
parent
0955cce688
commit
86d250ad94
|
@ -2,7 +2,7 @@ import { prisma } from '../prisma.js'
|
||||||
import { PrinterStatusService } from '../services/PrinterStatusService.js'
|
import { PrinterStatusService } from '../services/PrinterStatusService.js'
|
||||||
|
|
||||||
function updatePrinterStatus() {
|
function updatePrinterStatus() {
|
||||||
console.log(`Updating printer status ${new Date().toLocaleString()}`)
|
console.log(`Updating printers status ${new Date().toLocaleString()}`)
|
||||||
|
|
||||||
prisma.printer.findMany().then(printers => {
|
prisma.printer.findMany().then(printers => {
|
||||||
printers.forEach(async printer => {
|
printers.forEach(async printer => {
|
||||||
|
|
|
@ -19,7 +19,6 @@ export type Varbind = {
|
||||||
}
|
}
|
||||||
|
|
||||||
export type PrinterInfo = {
|
export type PrinterInfo = {
|
||||||
serialNumber: string
|
|
||||||
counter: number
|
counter: number
|
||||||
location: string
|
location: string
|
||||||
toners: {
|
toners: {
|
||||||
|
@ -44,7 +43,7 @@ export type PrinterInfo = {
|
||||||
|
|
||||||
export class PrinterStatusService {
|
export class PrinterStatusService {
|
||||||
constructor(private printer: Printer) {
|
constructor(private printer: Printer) {
|
||||||
this.getPrinterInfo().then(async printerStatus => {
|
this.getPrinterSnmpStatus().then(async printerStatus => {
|
||||||
const lastStatus = await prisma.printerStatus.findFirst({
|
const lastStatus = await prisma.printerStatus.findFirst({
|
||||||
where: { printerId: this.printer.id },
|
where: { printerId: this.printer.id },
|
||||||
orderBy: { timestamp: 'desc' }
|
orderBy: { timestamp: 'desc' }
|
||||||
|
@ -157,7 +156,7 @@ export class PrinterStatusService {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getPrinterInfo(): Promise<PrinterInfo> {
|
async getPrinterSnmpStatus(): Promise<PrinterInfo> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const session = snmp.createSession(this.printer.ip, 'public')
|
const session = snmp.createSession(this.printer.ip, 'public')
|
||||||
|
|
||||||
|
@ -167,9 +166,9 @@ export class PrinterStatusService {
|
||||||
if (error) reject(error)
|
if (error) reject(error)
|
||||||
|
|
||||||
const varbindsString = this.deBufferizeVarbinds(varbinds)
|
const varbindsString = this.deBufferizeVarbinds(varbinds)
|
||||||
const info = this.objectIDsToPrinterInfo(varbindsString)
|
const snmpInfo = this.objectIDsToPrinterInfo(varbindsString)
|
||||||
|
|
||||||
resolve(info)
|
resolve(snmpInfo)
|
||||||
session.close()
|
session.close()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -192,8 +191,6 @@ export class PrinterStatusService {
|
||||||
objectIdsRepository.getPrinterObjectIds(this.printer.model)
|
objectIdsRepository.getPrinterObjectIds(this.printer.model)
|
||||||
|
|
||||||
const printerInfo: PrinterInfo = {
|
const printerInfo: PrinterInfo = {
|
||||||
serialNumber: snmpInfo.find(x => x.oid === objectIds.serialNumber)
|
|
||||||
?.value as string,
|
|
||||||
counter: Number(snmpInfo.find(x => x.oid === objectIds.counter)?.value),
|
counter: Number(snmpInfo.find(x => x.oid === objectIds.counter)?.value),
|
||||||
location: snmpInfo.find(x => x.oid === objectIds.location)
|
location: snmpInfo.find(x => x.oid === objectIds.location)
|
||||||
?.value as string,
|
?.value as string,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user