55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import { eq } from "drizzle-orm";
|
|
import { db } from "../../../../../../database/dbclient.js";
|
|
import { settings } from "../../../../../../database/schema/settings.js";
|
|
import { tryCatch } from "../../../../../globalUtils/tryCatch.js";
|
|
import { createLog } from "../../../../logger/logger.js";
|
|
|
|
const st = 5;
|
|
const sm = 55;
|
|
const et = 6;
|
|
const em = 5;
|
|
|
|
export const billingCheck = async () => {
|
|
const now = new Date();
|
|
const startTime = new Date();
|
|
const endTime = new Date();
|
|
|
|
let isOutsideBilling = false;
|
|
const { data, error } = await tryCatch(db.select().from(settings));
|
|
if (error) {
|
|
return { success: false, message: "Error in getting settings." };
|
|
}
|
|
const plant = data.filter((n) => n.name === "plantToken");
|
|
// set everything up
|
|
startTime.setHours(st, sm, 0, 0);
|
|
endTime.setHours(et, em, 0, 0);
|
|
|
|
if (plant[0].value === "usflo1") {
|
|
if (now >= startTime && now <= endTime) {
|
|
createLog(
|
|
"warn",
|
|
"specialProcess",
|
|
"ocp",
|
|
`You are inside the billing window no labels will print! please wait`
|
|
);
|
|
isOutsideBilling = true;
|
|
} else {
|
|
createLog(
|
|
"info",
|
|
"specialProcess",
|
|
"ocp",
|
|
"Out side billing window ok to print"
|
|
);
|
|
}
|
|
} else {
|
|
createLog(
|
|
"debug",
|
|
"specialProcess",
|
|
"ocp",
|
|
"This plant dose not check for billing"
|
|
);
|
|
}
|
|
|
|
return isOutsideBilling;
|
|
};
|