- implement approval of steps

- remove currentStep field from step
- implement save comments on step
- fix _id issue when saving to mongo
This commit is contained in:
Joao Correia
2025-01-31 17:01:20 +00:00
parent 9de4cba8e8
commit 662e3b0266
8 changed files with 184 additions and 59 deletions

View File

@@ -15,17 +15,20 @@ 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 createApprovalWorkflow = async (workflow: ApprovalWorkflow) => {
const { _id, ...workflowWithoutId } = workflow as ApprovalWorkflow;
return await db.collection("approval-workflows").insertOne(workflowWithoutId);
};
export const createApprovalWorkflows = async (workflows: Omit<ApprovalWorkflow, "_id">[]) => {
export const createApprovalWorkflows = async (workflows: ApprovalWorkflow[]) => {
if (workflows.length === 0) return;
return await db.collection("approval-workflows").insertMany(workflows);
const workflowsWithoutIds: ApprovalWorkflow[] = workflows.map(({_id, ...wfs}) => wfs)
return await db.collection("approval-workflows").insertMany(workflowsWithoutIds);
};
export const updateApprovalWorkflow = async (id: string, workflow: Omit<ApprovalWorkflow, "_id">) => {
return await db.collection("approval-workflows").replaceOne({ _id: new ObjectId(id) }, workflow);
export const updateApprovalWorkflow = async (id: string, workflow: ApprovalWorkflow) => {
const { _id, ...workflowWithoutId } = workflow as ApprovalWorkflow;
return await db.collection("approval-workflows").replaceOne({ _id: new ObjectId(id) }, workflowWithoutId);
};
export const deleteApprovalWorkflow = async (id: string) => {