From f201add95cffeab880b77262b37e30a5bf2d1541 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Thu, 28 Nov 2024 15:35:11 +0700 Subject: [PATCH] feat: also update parent status on change status --- src/controllers/06-request-list-controller.ts | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index 088df01..ffa6fc0 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -263,8 +263,12 @@ export class RequestListController extends Controller { @Path() requestWorkId: string, @Path() step: number, @Body() payload: { requestWorkStatus?: RequestWorkStatus; attributes?: Record }, + @Query() successAll: boolean, ) { const record = await prisma.requestWorkStepStatus.upsert({ + include: { + requestWork: true, + }, where: { step_requestWorkId: { step: step, @@ -282,6 +286,31 @@ export class RequestListController extends Controller { attributes: payload.attributes, }, }); + + switch (payload.requestWorkStatus) { + case "InProgress": + case "Waiting": + case "Validate": + await prisma.requestData.update({ + where: { + id: record.requestWork.requestDataId, + }, + data: { requestDataStatus: "InProgress" }, + }); + break; + case "Completed": + case "Ended": + if (successAll) { + await prisma.requestData.update({ + where: { + id: record.requestWork.requestDataId, + }, + data: { requestDataStatus: "Completed" }, + }); + } + break; + } + return record; } }