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("approval-workflows") .find(ids ? { _id: { $in: ids.map((id) => new ObjectId(id)) } } : {}) .toArray(); }; export const getApprovalWorkflow = async (id: string) => { return await db.collection("approval-workflows").findOne({ _id: new ObjectId(id) }); }; export const createApprovalWorkflow = async (workflow: Omit) => { return await db.collection("approval-workflows").insertOne(workflow); }; export const createApprovalWorkflows = async (workflows: Omit[]) => { if (workflows.length === 0) return; return await db.collection("approval-workflows").insertMany(workflows); }; export const updateApprovalWorkflow = async (id: string, workflow: Omit) => { 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) }); };