add responsibleGroup in step

This commit is contained in:
Kanjana 2025-04-24 11:40:02 +07:00
parent 1d6224da73
commit 109494c6d7
3 changed files with 33 additions and 0 deletions

View file

@ -0,0 +1,11 @@
-- CreateTable
CREATE TABLE "WorkflowTemplateStepGroup" (
"id" TEXT NOT NULL,
"group" TEXT NOT NULL,
"workflowTemplateStepId" TEXT NOT NULL,
CONSTRAINT "WorkflowTemplateStepGroup_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "WorkflowTemplateStepGroup" ADD CONSTRAINT "WorkflowTemplateStepGroup_workflowTemplateStepId_fkey" FOREIGN KEY ("workflowTemplateStepId") REFERENCES "WorkflowTemplateStep"("id") ON DELETE CASCADE ON UPDATE CASCADE;

View file

@ -1089,6 +1089,15 @@ model WorkflowTemplateStepInstitution {
workflowTemplateStepId String workflowTemplateStepId String
} }
model WorkflowTemplateStepGroup {
id String @id @default(cuid())
group String
workflowTemplateStep WorkflowTemplateStep @relation(fields: [workflowTemplateStepId], references: [id], onDelete: Cascade)
workflowTemplateStepId String
}
model WorkflowTemplateStep { model WorkflowTemplateStep {
id String @id @default(cuid()) id String @id @default(cuid())
@ -1099,6 +1108,7 @@ model WorkflowTemplateStep {
value WorkflowTemplateStepValue[] // NOTE: For enum or options type value WorkflowTemplateStepValue[] // NOTE: For enum or options type
responsiblePerson WorkflowTemplateStepUser[] responsiblePerson WorkflowTemplateStepUser[]
responsibleInstitution WorkflowTemplateStepInstitution[] responsibleInstitution WorkflowTemplateStepInstitution[]
responsibleGroup WorkflowTemplateStepGroup[]
messengerByArea Boolean @default(false) messengerByArea Boolean @default(false)
attributes Json? attributes Json?

View file

@ -37,6 +37,7 @@ type WorkflowPayload = {
attributes?: { [key: string]: any }; attributes?: { [key: string]: any };
responsiblePersonId?: string[]; responsiblePersonId?: string[];
responsibleInstitution?: string[]; responsibleInstitution?: string[];
responsibleGroup?: string[];
messengerByArea?: boolean; messengerByArea?: boolean;
}[]; }[];
registeredBranchId?: string; registeredBranchId?: string;
@ -89,6 +90,7 @@ export class FlowTemplateController extends Controller {
include: { user: true }, include: { user: true },
}, },
responsibleInstitution: true, responsibleInstitution: true,
responsibleGroup: true,
}, },
orderBy: { order: "asc" }, orderBy: { order: "asc" },
}, },
@ -106,6 +108,7 @@ export class FlowTemplateController extends Controller {
step: r.step.map((v) => ({ step: r.step.map((v) => ({
...v, ...v,
responsibleInstitution: v.responsibleInstitution.map((institution) => institution.group), responsibleInstitution: v.responsibleInstitution.map((institution) => institution.group),
responsibleGroup: v.responsibleGroup.map((group) => group.group),
})), })),
})), })),
page, page,
@ -126,6 +129,7 @@ export class FlowTemplateController extends Controller {
include: { user: true }, include: { user: true },
}, },
responsibleInstitution: true, responsibleInstitution: true,
responsibleGroup: true,
}, },
}, },
}, },
@ -140,6 +144,7 @@ export class FlowTemplateController extends Controller {
step: record.step.map((v) => ({ step: record.step.map((v) => ({
...v, ...v,
responsibleInstitution: v.responsibleInstitution.map((institution) => institution.group), responsibleInstitution: v.responsibleInstitution.map((institution) => institution.group),
responsibleGroup: v.responsibleGroup.map((group) => group.group),
})), })),
}; };
} }
@ -215,6 +220,9 @@ export class FlowTemplateController extends Controller {
responsibleInstitution: { responsibleInstitution: {
create: v.responsibleInstitution?.map((group) => ({ group })), create: v.responsibleInstitution?.map((group) => ({ group })),
}, },
responsibleGroup: {
create: v.responsibleGroup?.map((group) => ({ group })),
},
})), })),
}, },
}, },
@ -295,6 +303,10 @@ export class FlowTemplateController extends Controller {
deleteMany: {}, deleteMany: {},
create: v.responsibleInstitution?.map((group) => ({ group })), create: v.responsibleInstitution?.map((group) => ({ group })),
}, },
responsibleGroup: {
deleteMany: {},
create: v.responsibleGroup?.map((group) => ({ group })),
},
}, },
})), })),
}, },