refactor: wrap inside transaction

This commit is contained in:
Methapon2001 2024-12-26 10:34:28 +07:00
parent f7c84e21f7
commit 8032906a2d

View file

@ -506,40 +506,40 @@ export class RequestListController extends Controller {
) { ) {
if (!payload.responsibleUserId) payload.responsibleUserId = undefined; if (!payload.responsibleUserId) payload.responsibleUserId = undefined;
const record = await prisma.requestWorkStepStatus.upsert({ await prisma.$transaction(async (tx) => {
include: { const record = await tx.requestWorkStepStatus.upsert({
requestWork: true, include: {
}, requestWork: true,
where: { },
step_requestWorkId: { where: {
step_requestWorkId: {
step: step,
requestWorkId,
},
},
create: {
...payload,
step: step, step: step,
requestWorkId, requestWorkId,
}, },
}, update: payload,
create: { });
...payload,
step: step,
requestWorkId,
},
update: payload,
});
switch (payload.workStatus) { switch (payload.workStatus) {
case "InProgress": case "InProgress":
case "Waiting": case "Waiting":
case "Validate": case "Validate":
case "Completed": case "Completed":
case "Ended": case "Ended":
await prisma.requestData.update({ await tx.requestData.update({
where: { where: {
id: record.requestWork.requestDataId, id: record.requestWork.requestDataId,
}, },
data: { requestDataStatus: "InProgress" }, data: { requestDataStatus: "InProgress" },
}); });
break; break;
} }
await prisma.$transaction(async (tx) => {
const requestList = await tx.requestData.findMany({ const requestList = await tx.requestData.findMany({
include: { include: {
requestWork: { requestWork: {