feat(ocme): manual camera trigger for the wrapper added
This commit is contained in:
49
server/services/ocme/controller/triggerCamera.ts
Normal file
49
server/services/ocme/controller/triggerCamera.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import net from "net";
|
||||
import { db } from "../../../../database/dbclient.js";
|
||||
import { settings } from "../../../../database/schema/settings.js";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { createLog } from "../../logger/logger.js";
|
||||
|
||||
export const triggerScanner = async () => {
|
||||
const camera = new net.Socket();
|
||||
let setting = await db
|
||||
.select()
|
||||
.from(settings)
|
||||
.where(eq(settings.name, "zebraScanners"));
|
||||
if (setting.length === 0) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Looks like the setting is missing.",
|
||||
};
|
||||
}
|
||||
const scannerData = JSON.parse(setting[0]?.value);
|
||||
let data = scannerData.filter((n: any) => n.name === "wrapper1");
|
||||
let port = data[0].port;
|
||||
console.log(data);
|
||||
createLog(
|
||||
"info",
|
||||
"wrapperScanner",
|
||||
"ocme",
|
||||
`End of line Camera was triggered`
|
||||
);
|
||||
return new Promise((resolve, reject) => {
|
||||
camera.connect(port, data[0].ip, async () => {
|
||||
createLog("info", "wrapperScanner", "ocme", `Triggered`);
|
||||
camera.write("TRIGGER", "utf8");
|
||||
camera.end();
|
||||
resolve({ success: true, message: "Camera was triggered." });
|
||||
});
|
||||
|
||||
camera.on("error", (error) => {
|
||||
createLog("error", "wrapperScanner", "ocme", `${error}`);
|
||||
resolve({
|
||||
success: false,
|
||||
message: `There was an error triggering the camera: ${JSON.stringify(
|
||||
error
|
||||
)}`,
|
||||
});
|
||||
});
|
||||
|
||||
resolve({ success: true, message: "Camera was triggered." });
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user