51 lines
1.2 KiB
TypeScript
51 lines
1.2 KiB
TypeScript
import { sql } from "drizzle-orm";
|
|
import { db } from "../db/db.controller.js";
|
|
import {
|
|
type NewNotification,
|
|
notifications,
|
|
} from "../db/schema/notifications.schema.js";
|
|
import { createLogger } from "../logger/logger.controller.js";
|
|
import { tryCatch } from "../utils/trycatch.utils.js";
|
|
|
|
const note: NewNotification[] = [
|
|
{
|
|
name: "reprintLabels",
|
|
description:
|
|
"Monitors the labels that are printed and returns a there data, if one falls withing the time frame.",
|
|
active: false,
|
|
interval: "10",
|
|
options: [{ prodID: 1 }],
|
|
},
|
|
];
|
|
|
|
export const createNotifications = async () => {
|
|
const log = createLogger({ module: "notifications", subModule: "create" });
|
|
const { data, error } = await tryCatch(
|
|
db
|
|
.insert(notifications)
|
|
.values(note)
|
|
.onConflictDoUpdate({
|
|
target: notifications.name,
|
|
set: {
|
|
description: sql`excluded.description`,
|
|
},
|
|
// where: sql`
|
|
// settings.seed_version IS NULL
|
|
// OR settings.seed_version < excluded.seed_version
|
|
// `,
|
|
})
|
|
.returning(),
|
|
);
|
|
|
|
if (error) {
|
|
log.error(
|
|
{ error: error },
|
|
"There was an error when adding or updating the notifications.",
|
|
);
|
|
}
|
|
|
|
if (data) {
|
|
log.info({}, "All notifications were added/updated");
|
|
}
|
|
};
|