diff --git a/src/controllers/06-request-list-controller.ts b/src/controllers/06-request-list-controller.ts index 73fc037..621f410 100644 --- a/src/controllers/06-request-list-controller.ts +++ b/src/controllers/06-request-list-controller.ts @@ -506,40 +506,40 @@ export class RequestListController extends Controller { ) { if (!payload.responsibleUserId) payload.responsibleUserId = undefined; - const record = await prisma.requestWorkStepStatus.upsert({ - include: { - requestWork: true, - }, - where: { - step_requestWorkId: { + await prisma.$transaction(async (tx) => { + const record = await tx.requestWorkStepStatus.upsert({ + include: { + requestWork: true, + }, + where: { + step_requestWorkId: { + step: step, + requestWorkId, + }, + }, + create: { + ...payload, step: step, requestWorkId, }, - }, - create: { - ...payload, - step: step, - requestWorkId, - }, - update: payload, - }); + update: payload, + }); - switch (payload.workStatus) { - case "InProgress": - case "Waiting": - case "Validate": - case "Completed": - case "Ended": - await prisma.requestData.update({ - where: { - id: record.requestWork.requestDataId, - }, - data: { requestDataStatus: "InProgress" }, - }); - break; - } + switch (payload.workStatus) { + case "InProgress": + case "Waiting": + case "Validate": + case "Completed": + case "Ended": + await tx.requestData.update({ + where: { + id: record.requestWork.requestDataId, + }, + data: { requestDataStatus: "InProgress" }, + }); + break; + } - await prisma.$transaction(async (tx) => { const requestList = await tx.requestData.findMany({ include: { requestWork: {