refactor: organize endpoints tags
This commit is contained in:
parent
9e43679d0f
commit
5fb4692746
2 changed files with 72 additions and 76 deletions
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,9 @@
|
|||
{ "name": "Invoice" },
|
||||
{ "name": "Payment" },
|
||||
{ "name": "Receipt" },
|
||||
{ "name": "Request List" }
|
||||
{ "name": "Request List" },
|
||||
{ "name": "Task Order" },
|
||||
{ "name": "User Task Order" }
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue