2024-11-07 13:44:49 +07:00
|
|
|
import { CronJob } from "cron";
|
|
|
|
|
|
|
|
|
|
import prisma from "../db";
|
|
|
|
|
|
|
|
|
|
const jobs = [
|
|
|
|
|
CronJob.from({
|
|
|
|
|
cronTime: "0 0 0 * * *",
|
|
|
|
|
runOnInit: true,
|
|
|
|
|
onTick: async () => {
|
|
|
|
|
await prisma.quotation
|
|
|
|
|
.updateMany({
|
|
|
|
|
where: {
|
2024-11-07 14:01:22 +07:00
|
|
|
quotationStatus: "Issued",
|
2024-11-07 13:44:49 +07:00
|
|
|
dueDate: { lte: new Date() },
|
|
|
|
|
},
|
|
|
|
|
data: { quotationStatus: "Expired" },
|
|
|
|
|
})
|
|
|
|
|
.then(() => console.log("[INFO]: Update expired quotation status, OK."))
|
|
|
|
|
.catch((e) => console.error(e));
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
export function initSchedule() {
|
|
|
|
|
for (const job of jobs) job.start();
|
|
|
|
|
}
|