Files
encoach_ui_odoo19/src/utils/approval.workflows.be.ts
2025-01-30 11:50:28 +00:00

34 lines
1.3 KiB
TypeScript

import { ObjectId } from "mongodb";
import { ApprovalWorkflow } from "@/interfaces/approval.workflow";
import client from "@/lib/mongodb";
const db = client.db(process.env.MONGODB_DB);
export const getApprovalWorkflows = async (ids?: string[]) => {
return await db
.collection<ApprovalWorkflow>("approval-workflows")
.find(ids ? { _id: { $in: ids.map((id) => new ObjectId(id)) } } : {})
.toArray();
};
export const getApprovalWorkflow = async (id: string) => {
return await db.collection<ApprovalWorkflow>("approval-workflows").findOne({ _id: new ObjectId(id) });
};
export const createApprovalWorkflow = async (workflow: Omit<ApprovalWorkflow, "_id">) => {
return await db.collection("approval-workflows").insertOne(workflow);
};
export const createApprovalWorkflows = async (workflows: Omit<ApprovalWorkflow, "_id">[]) => {
if (workflows.length === 0) return;
return await db.collection("approval-workflows").insertMany(workflows);
};
export const updateApprovalWorkflow = async (id: string, workflow: Omit<ApprovalWorkflow, "_id">) => {
return await db.collection("approval-workflows").replaceOne({ _id: new ObjectId(id) }, workflow);
};
export const deleteApprovalWorkflow = async (id: string) => {
return await db.collection("approval-workflows").deleteOne({ _id: new ObjectId(id) });
};