refactor: organize endpoints tags

This commit is contained in:
Methapon2001 2024-12-16 10:50:03 +07:00
parent 9e43679d0f
commit 5fb4692746
2 changed files with 72 additions and 76 deletions

View file

@ -421,80 +421,6 @@ export class TaskController extends Controller {
@Route("/api/v1/task-order/{taskOrderId}")
@Tags("Task Order")
export class TaskActionController extends Controller {
@Post("accept/bulk")
@Security("keycloak")
async acceptTaskOrderBulk(
@Request() req: RequestWithUser,
@Body()
body: {
taskOrderId: string[];
},
) {
const record = await prisma.taskOrder.findMany({
include: {
taskList: {
orderBy: { step: "asc" },
},
},
where: { id: { in: body.taskOrderId } },
});
if (!record) throw notFoundError("Task Order");
await prisma.$transaction(async (tx) => {
const promises = body.taskOrderId.flatMap((taskOrderId) => [
tx.taskOrder.update({
where: { id: taskOrderId },
data: {
taskOrderStatus: TaskOrderStatus.InProgress,
userTask: {
create: {
userId: req.user.sub,
userTaskStatus: UserTaskStatus.Accept,
},
},
},
}),
tx.task.updateMany({
where: {
taskOrderId: taskOrderId,
requestWorkStep: { responsibleUserId: req.user.sub },
},
data: {
taskStatus: TaskStatus.InProgress,
},
}),
tx.requestData.updateMany({
where: {
requestWork: {
some: {
stepStatus: {
some: { task: { some: { taskOrderId: taskOrderId } } },
},
},
},
},
data: { requestDataStatus: RequestDataStatus.InProgress },
}),
tx.userTask.create({
data: {
userId: req.user.sub,
taskOrderId: taskOrderId,
userTaskStatus: UserTaskStatus.Accept,
},
}),
]);
await Promise.all(promises);
});
}
@Post("accept")
@Security("keycloak")
async acceptTaskOrder(@Request() req: RequestWithUser, @Path() taskOrderId: string) {
await this.acceptTaskOrderBulk(req, { taskOrderId: [taskOrderId] });
}
@Post("set-task-status")
@Security("keycloak")
async changeTaskOrderTaskListStatus(
@ -625,7 +551,7 @@ export class TaskOrderAttachmentController extends Controller {
}
@Route("api/v1/user-task-order")
@Tags("Task Order")
@Tags("User Task Order")
export class UserTaskController extends Controller {
@Get()
@Security("keycloak")
@ -689,4 +615,72 @@ export class UserTaskController extends Controller {
total,
};
}
@Post("accept")
@Security("keycloak")
async acceptTaskOrder(
@Request() req: RequestWithUser,
@Body()
body: {
taskOrderId: string[];
},
) {
const record = await prisma.taskOrder.findMany({
include: {
taskList: {
orderBy: { step: "asc" },
},
},
where: { id: { in: body.taskOrderId } },
});
if (!record) throw notFoundError("Task Order");
await prisma.$transaction(async (tx) => {
const promises = body.taskOrderId.flatMap((taskOrderId) => [
tx.taskOrder.update({
where: { id: taskOrderId },
data: {
taskOrderStatus: TaskOrderStatus.InProgress,
userTask: {
create: {
userId: req.user.sub,
userTaskStatus: UserTaskStatus.Accept,
},
},
},
}),
tx.task.updateMany({
where: {
taskOrderId: taskOrderId,
requestWorkStep: { responsibleUserId: req.user.sub },
},
data: {
taskStatus: TaskStatus.InProgress,
},
}),
tx.requestData.updateMany({
where: {
requestWork: {
some: {
stepStatus: {
some: { task: { some: { taskOrderId: taskOrderId } } },
},
},
},
},
data: { requestDataStatus: RequestDataStatus.InProgress },
}),
tx.userTask.create({
data: {
userId: req.user.sub,
taskOrderId: taskOrderId,
userTaskStatus: UserTaskStatus.Accept,
},
}),
]);
await Promise.all(promises);
});
}
}

View file

@ -49,7 +49,9 @@
{ "name": "Invoice" },
{ "name": "Payment" },
{ "name": "Receipt" },
{ "name": "Request List" }
{ "name": "Request List" },
{ "name": "Task Order" },
{ "name": "User Task Order" }
]
}
},