refactor: update transaction

This commit is contained in:
Methapon2001 2024-12-11 12:06:29 +07:00
parent 65d42577d4
commit 962d007483

View file

@ -374,20 +374,23 @@ export class TaskActionController extends Controller {
if (!record) throw notFoundError("Task Order"); if (!record) throw notFoundError("Task Order");
return await prisma.$transaction(async (tx) => { return await prisma.$transaction([
await tx.taskOrder.update({ prisma.taskOrder.update({
where: { id: taskId }, where: { id: taskId },
data: { data: {
taskOrderStatus: TaskOrderStatus.InProgress, taskOrderStatus: TaskOrderStatus.InProgress,
taskList: {
updateMany: {
where: { taskOrderId: taskId },
data: { taskStatus: TaskStatus.InProgress },
},
},
}, },
}); }),
await tx.requestData.updateMany({ prisma.task.updateMany({
where: {
taskOrderId: taskId,
requestWorkStep: { responsibleUserId: req.user.sub },
},
data: {
taskStatus: TaskStatus.InProgress,
},
}),
prisma.requestData.updateMany({
where: { where: {
requestWork: { requestWork: {
some: { some: {
@ -398,13 +401,34 @@ export class TaskActionController extends Controller {
}, },
}, },
data: { requestDataStatus: RequestDataStatus.InProgress }, data: { requestDataStatus: RequestDataStatus.InProgress },
}); }),
}); ]);
} }
@Post("submit") @Post("submit")
@Security("keycloak") @Security("keycloak")
async submitTaskOrder(@Request() req: RequestWithUser, @Path() taskId: string) {} async submitTaskOrder(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Query() submitUserId?: string, // for explicit
) {
submitUserId = submitUserId ?? req.user.sub;
const record = await prisma.taskOrder.findFirst({ where: { id: taskId } });
if (!record) throw notFoundError("Task Order");
await prisma.task.updateMany({
where: {
taskOrderId: taskId,
taskStatus: TaskStatus.Success,
requestWorkStep: { responsibleUserId: submitUserId },
},
data: {
taskStatus: TaskStatus.Validate,
},
});
}
@Post("complete") @Post("complete")
@Security("keycloak") @Security("keycloak")
@ -422,6 +446,7 @@ export class TaskOrderAttachmentController extends Controller {
if (!data) throw notFoundError("Task Order"); if (!data) throw notFoundError("Task Order");
await permissionCheck(user, data.registeredBranch); await permissionCheck(user, data.registeredBranch);
} }
@Get("attachment") @Get("attachment")
@Security("keycloak") @Security("keycloak")
async listAttachment(@Request() req: RequestWithUser, @Path() taskId: string) { async listAttachment(@Request() req: RequestWithUser, @Path() taskId: string) {