feat(lstv2 move): moved lstv2 into this app to keep them combined and easier to maintain
This commit is contained in:
66
lstV2/server/services/ocp/utils/pausePrinter.ts
Normal file
66
lstV2/server/services/ocp/utils/pausePrinter.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import net from "net";
|
||||
import { createLog } from "../../logger/logger.js";
|
||||
|
||||
export const pausePrinter = async (printerData: any) => {
|
||||
const pause = new net.Socket();
|
||||
|
||||
if (printerData.name) {
|
||||
createLog(
|
||||
"debug",
|
||||
"printerState",
|
||||
"ocp",
|
||||
`${printerData.name}: paused printed`
|
||||
);
|
||||
} else {
|
||||
createLog(
|
||||
"error",
|
||||
"printerState",
|
||||
"ocp",
|
||||
`Unknown name on printer was just paused, Body sent over: ${printerData.name}`
|
||||
);
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
pause.connect(printerData.port, printerData.ipAddress, async () => {
|
||||
// console.log("Connected to printer");
|
||||
pause.write("~PP");
|
||||
pause.end();
|
||||
});
|
||||
|
||||
pause.on("error", (error) => {
|
||||
createLog(
|
||||
"error",
|
||||
"printerState",
|
||||
"ocp",
|
||||
`There was an error pausing the printer: ${JSON.stringify(
|
||||
error
|
||||
)}`
|
||||
);
|
||||
reject({
|
||||
success: true,
|
||||
message: "There was an error pausing the printer",
|
||||
data: error,
|
||||
});
|
||||
});
|
||||
|
||||
pause.on("end", () => {
|
||||
setTimeout(() => {
|
||||
if (!pause.destroyed) {
|
||||
createLog(
|
||||
"info",
|
||||
"printerState",
|
||||
"ocp",
|
||||
`${printerData.name}: was force closed, in pausing trigger`
|
||||
);
|
||||
pause.destroy();
|
||||
}
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
resolve({
|
||||
success: true,
|
||||
message: `${
|
||||
printerData?.name || printerData.ipAddress
|
||||
} Printer was paused`,
|
||||
});
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user