Compare commits

..

No commits in common. "a8a2a7c708b38bf6d93a136d5314d3746cfd71f9" and "26b87ed6283863b6b028d743cba99b12e457b063" have entirely different histories.

6 changed files with 124 additions and 3 deletions

2
.gitignore vendored
View File

@ -56,5 +56,3 @@ profile-*
profile* profile*
*clinic* *clinic*
*flamegraph* *flamegraph*
dist

86
dist/Printer.mjs vendored Normal file
View File

@ -0,0 +1,86 @@
const printerObjectIDConfigs = [
{
model: 'm3655idn',
objectIds: {
model: '1.3.6.1.2.1.25.3.2.1.3.1',
serial: '1.3.6.1.2.1.43.5.1.1.17.1',
counter: '1.3.6.1.4.1.1347.43.10.1.1.12.1.1',
toners: {
black: {
current: '1.3.6.1.2.1.43.11.1.1.9.1.1',
max: '1.3.6.1.2.1.43.11.1.1.8.1.1',
model: '1.3.6.1.2.1.43.11.1.1.6.1.1'
}
}
}
},
{
model: 'p6235cdn',
objectIds: {
model: '1.3.6.1.2.1.25.3.2.1.3.1',
serial: '1.3.6.1.2.1.43.5.1.1.17.1',
counter: '1.3.6.1.4.1.1347.43.10.1.1.12.1.1',
toners: {
black: {
current: '1.3.6.1.2.1.43.11.1.1.9.1.4',
max: '1.3.6.1.2.1.43.11.1.1.8.1.4',
model: '1.3.6.1.2.1.43.11.1.1.6.1.4'
},
cyan: {
current: '1.3.6.1.2.1.43.11.1.1.9.1.1',
max: '1.3.6.1.2.1.43.11.1.1.8.1.1',
model: '1.3.6.1.2.1.43.11.1.1.6.1.1'
},
magenta: {
current: '1.3.6.1.2.1.43.11.1.1.9.1.2',
max: '1.3.6.1.2.1.43.11.1.1.8.1.2',
model: '1.3.6.1.2.1.43.11.1.1.6.1.2'
},
yellow: {
current: '1.3.6.1.2.1.43.11.1.1.9.1.3',
max: '1.3.6.1.2.1.43.11.1.1.8.1.3',
model: '1.3.6.1.2.1.43.11.1.1.6.1.3'
}
}
}
},
{
model: 'm2040dn',
objectIds: {
model: '1.3.6.1.2.1.25.3.2.1.3.1',
serial: '1.3.6.1.2.1.43.5.1.1.17.1',
counter: '1.3.6.1.4.1.1347.43.10.1.1.12.1.1',
toners: {
black: {
current: '1.3.6.1.2.1.43.11.1.1.9.1.1',
max: '1.3.6.1.2.1.43.11.1.1.8.1.1',
model: '1.3.6.1.2.1.43.11.1.1.6.1.1'
}
}
}
}
];
export class Printer {
constructor(name, ip, model) {
this.name = name;
this.ip = ip;
this.model = model;
this.objectIds = printerObjectIDConfigs.find(x => x.model === model).objectIds;
}
oIDsArray() {
const oIDsArray = [];
function extractObjValues(obj) {
for (let key in obj) {
if (typeof obj[key] === 'object') {
extractObjValues(obj[key]);
}
else {
const oID = obj[key];
oIDsArray.push(oID);
}
}
}
extractObjValues(this.objectIds);
return oIDsArray;
}
}

7
dist/index.js vendored Normal file
View File

@ -0,0 +1,7 @@
import express from 'express';
const app = express();
const port = 3000;
app.get('/', (req, res) => { });
app.listen(port, () => {
console.log(`http://localhost:${port}`);
});

27
dist/printers.mjs vendored Normal file
View File

@ -0,0 +1,27 @@
export const printers = [
{
name: 'p04',
ip: '10.7.0.134',
model: 'm3655idn'
},
{
name: 'p05',
ip: '10.7.0.135',
model: 'm2040dn'
},
{
name: 'p06',
ip: '10.7.0.136',
model: 'm2040dn'
},
{
name: 'p07',
ip: '10.7.0.137',
model: 'm2040dn'
},
{
name: 'p08',
ip: '10.7.0.138',
model: 'p6235cdn'
}
];

1
dist/types.mjs vendored Normal file
View File

@ -0,0 +1 @@
export {};

View File

@ -30,7 +30,9 @@ app.get('/api/printer/:printerName', async (req, res) => {
return return
} }
res.send(await printer.getPrinterInfo()) const printerInfo: PrinterInfo = await printer.getPrinterInfo()
res.send(printerInfo)
}) })
app.listen(port, () => { app.listen(port, () => {