refactor workflows api

This commit is contained in:
Joao Correia
2025-02-02 11:11:52 +00:00
parent b684262759
commit 16545d2075
10 changed files with 39 additions and 39 deletions

View File

@@ -2,7 +2,7 @@
import { ApprovalWorkflow } from "@/interfaces/approval.workflow";
import { sessionOptions } from "@/lib/session";
import { requestUser } from "@/utils/api";
import { createConfiguredWorkflow } from "@/utils/approval.workflows.be";
import { createApprovalWorkflow } from "@/utils/approval.workflows.be";
import { withIronSessionApiRoute } from "iron-session/next";
import type { NextApiRequest, NextApiResponse } from "next";
@@ -23,5 +23,5 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
const approvalWorkflow: ApprovalWorkflow = req.body;
if (approvalWorkflow)
return res.status(201).json(await createConfiguredWorkflow(approvalWorkflow));
return res.status(201).json(await createApprovalWorkflow("configured-workflows", approvalWorkflow));
}

View File

@@ -2,7 +2,7 @@
import { ApprovalWorkflow } from "@/interfaces/approval.workflow";
import { sessionOptions } from "@/lib/session";
import { requestUser } from "@/utils/api";
import { updateConfiguredWorkflow } from "@/utils/approval.workflows.be";
import { updateApprovalWorkflow } from "@/utils/approval.workflows.be";
import { withIronSessionApiRoute } from "iron-session/next";
import { ObjectId } from "mongodb";
import type { NextApiRequest, NextApiResponse } from "next";
@@ -26,7 +26,7 @@ async function put(req: NextApiRequest, res: NextApiResponse) {
if (id && approvalWorkflow) {
approvalWorkflow._id = new ObjectId(id);
await updateConfiguredWorkflow(approvalWorkflow);
await updateApprovalWorkflow("configured-workflows", approvalWorkflow);
return res.status(204).end();
}
}

View File

@@ -2,7 +2,7 @@
import { ApprovalWorkflow } from "@/interfaces/approval.workflow";
import { sessionOptions } from "@/lib/session";
import { requestUser } from "@/utils/api";
import { deleteConfiguredWorkflow, updateConfiguredWorkflow } from "@/utils/approval.workflows.be";
import { deleteApprovalWorkflow, updateApprovalWorkflow } from "@/utils/approval.workflows.be";
import { withIronSessionApiRoute } from "iron-session/next";
import { ObjectId } from "mongodb";
import type { NextApiRequest, NextApiResponse } from "next";
@@ -24,7 +24,7 @@ async function del(req: NextApiRequest, res: NextApiResponse) {
const { id } = req.query as { id?: string };
if (id) return res.status(200).json(await deleteConfiguredWorkflow(id));
if (id) return res.status(200).json(await deleteApprovalWorkflow("configured-workflows", id));
}
async function put(req: NextApiRequest, res: NextApiResponse) {
@@ -40,7 +40,7 @@ async function put(req: NextApiRequest, res: NextApiResponse) {
if (id && workflow) {
workflow._id = new ObjectId(id);
await updateConfiguredWorkflow(workflow);
await updateApprovalWorkflow("configured-workflows", workflow);
return res.status(204).end();
}
}

View File

@@ -3,7 +3,7 @@ import { ApprovalWorkflow } from "@/interfaces/approval.workflow";
import { Entity } from "@/interfaces/entity";
import { sessionOptions } from "@/lib/session";
import { requestUser } from "@/utils/api";
import { replaceConfiguredWorkflowsByEntities } from "@/utils/approval.workflows.be";
import { replaceApprovalWorkflowsByEntities } from "@/utils/approval.workflows.be";
import { withIronSessionApiRoute } from "iron-session/next";
import type { NextApiRequest, NextApiResponse } from "next";
@@ -31,7 +31,7 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
const configuredWorkflows: ApprovalWorkflow[] = filteredWorkflows;
const entitiesIds: string[] = userEntitiesWithLabel.map((e) => e.id);
await replaceConfiguredWorkflowsByEntities(configuredWorkflows, entitiesIds);
await replaceApprovalWorkflowsByEntities("configured-workflows", configuredWorkflows, entitiesIds);
return res.status(201).json({ ok: true });
}

View File

@@ -24,7 +24,7 @@ import { GrClearOption } from "react-icons/gr";
import { toast, ToastContainer } from "react-toastify";
import { useRouter } from "next/router";
import axios from "axios";
import { getConfiguredWorkflow } from "@/utils/approval.workflows.be";
import { getApprovalWorkflow } from "@/utils/approval.workflows.be";
export const getServerSideProps = withIronSessionSsr(async ({ req, res, params }) => {
const user = await requestUser(req, res);
@@ -35,7 +35,7 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res, params }
const { id } = params as { id: string };
const workflow: ApprovalWorkflow | null = await getConfiguredWorkflow(id);
const workflow: ApprovalWorkflow | null = await getApprovalWorkflow("configured-workflows", id);
if (!workflow)
return redirect("/approval-workflows")

View File

@@ -8,7 +8,7 @@ import { CorporateUser, DeveloperUser, MasterCorporateUser, TeacherUser, User }
import { sessionOptions } from "@/lib/session";
import { redirect, serialize } from "@/utils";
import { requestUser } from "@/utils/api";
import { getConfiguredWorkflow } from "@/utils/approval.workflows.be";
import { getApprovalWorkflow } from "@/utils/approval.workflows.be";
import { shouldRedirectHome } from "@/utils/navigation.disabled";
import { getEntityUsers } from "@/utils/users.be";
import axios from "axios";
@@ -30,7 +30,7 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res, params }
const { id } = params as { id: string };
const workflow: ApprovalWorkflow | null = await getConfiguredWorkflow(id);
const workflow: ApprovalWorkflow | null = await getApprovalWorkflow("configured-workflows", id);
if (!workflow)
return redirect("/approval-workflows")

View File

@@ -11,7 +11,7 @@ import { User } from "@/interfaces/user";
import { sessionOptions } from "@/lib/session";
import { redirect, serialize } from "@/utils";
import { requestUser } from "@/utils/api";
import { getConfiguredWorkflow } from "@/utils/approval.workflows.be";
import { getApprovalWorkflow } from "@/utils/approval.workflows.be";
import { shouldRedirectHome } from "@/utils/navigation.disabled";
import { getSpecificUsers, getUser } from "@/utils/users.be";
import axios from "axios";
@@ -41,7 +41,7 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res, params }
const { id } = params as { id: string };
const workflow: ApprovalWorkflow | null = await getConfiguredWorkflow(id);
const workflow: ApprovalWorkflow | null = await getApprovalWorkflow("configured-workflows", id);
if (!workflow)
return redirect("/approval-workflows")

View File

@@ -10,7 +10,7 @@ import { CorporateUser, DeveloperUser, MasterCorporateUser, TeacherUser, User }
import { sessionOptions } from "@/lib/session";
import { redirect, serialize } from "@/utils";
import { requestUser } from "@/utils/api";
import { getConfiguredWorkflowsByEntities } from "@/utils/approval.workflows.be";
import { getApprovalWorkflowsByEntities } from "@/utils/approval.workflows.be";
import { getEntities } from "@/utils/entities.be";
import { shouldRedirectHome } from "@/utils/navigation.disabled";
import { getEntitiesUsers } from "@/utils/users.be";
@@ -35,7 +35,7 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
const userEntitiesWithLabel = await getEntities(user.entities.map(entity => entity.id));
const allConfiguredWorkflows = await getConfiguredWorkflowsByEntities(userEntitiesWithLabel.map(entity => entity.id));
const allConfiguredWorkflows = await getApprovalWorkflowsByEntities("configured-workflows", userEntitiesWithLabel.map(entity => entity.id));
return {
props: serialize({

View File

@@ -9,7 +9,7 @@ import { User } from "@/interfaces/user";
import { sessionOptions } from "@/lib/session";
import { redirect, serialize } from "@/utils";
import { requestUser } from "@/utils/api";
import { getConfiguredWorkflows } from "@/utils/approval.workflows.be";
import { getApprovalWorkflows } from "@/utils/approval.workflows.be";
import { getEntities } from "@/utils/entities.be";
import { shouldRedirectHome } from "@/utils/navigation.disabled";
import { getSpecificUsers } from "@/utils/users.be";
@@ -36,7 +36,7 @@ export const getServerSideProps = withIronSessionSsr(async ({ req, res }) => {
if (shouldRedirectHome(user) || !["admin", "developer", "teacher", "corporate", "mastercorporate"].includes(user.type))
return redirect("/")
const workflows = await getConfiguredWorkflows();
const workflows = await getApprovalWorkflows("configured-workflows");
const allAssigneeIds: string[] = [
...new Set(