feat: update now detect already exists step
This commit is contained in:
parent
af37ac850c
commit
6be298acfb
1 changed files with 27 additions and 9 deletions
|
|
@ -28,6 +28,7 @@ import { filterStatus } from "../services/prisma";
|
|||
type WorkflowPayload = {
|
||||
name: string;
|
||||
step: {
|
||||
id?: string;
|
||||
name: string;
|
||||
type?: string;
|
||||
value?: string[];
|
||||
|
|
@ -176,16 +177,33 @@ export class FlowTemplateController extends Controller {
|
|||
...body,
|
||||
statusOrder: +(body.status === "INACTIVE"),
|
||||
step: {
|
||||
deleteMany: {},
|
||||
create: body.step.map((v, i) => ({
|
||||
type: v.type,
|
||||
name: v.name,
|
||||
order: i + 1,
|
||||
value: {
|
||||
create: v.value?.map((val) => ({ value: val })),
|
||||
deleteMany: {
|
||||
id: { notIn: body.step.flatMap((v) => v.id || []) },
|
||||
},
|
||||
upsert: body.step.map((v, i) => ({
|
||||
where: { id: v.id || "" },
|
||||
create: {
|
||||
type: v.type,
|
||||
name: v.name,
|
||||
order: i + 1,
|
||||
value: {
|
||||
create: v.value?.map((val) => ({ value: val })),
|
||||
},
|
||||
responsiblePerson: {
|
||||
create: v.responsiblePersonId?.map((id) => ({ userId: id })),
|
||||
},
|
||||
id: undefined,
|
||||
},
|
||||
responsiblePerson: {
|
||||
create: v.responsiblePersonId?.map((id) => ({ userId: id })),
|
||||
update: {
|
||||
type: v.type,
|
||||
name: v.name,
|
||||
order: i + 1,
|
||||
value: {
|
||||
create: v.value?.map((val) => ({ value: val })),
|
||||
},
|
||||
responsiblePerson: {
|
||||
create: v.responsiblePersonId?.map((id) => ({ userId: id })),
|
||||
},
|
||||
},
|
||||
})),
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue