This commit is contained in:
Douglas Barone 2023-06-26 08:51:56 -04:00
parent 0955cce688
commit 86d250ad94
2 changed files with 5 additions and 8 deletions

View File

@ -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 => {

View File

@ -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,