feat: add cancel

This commit is contained in:
Methapon2001 2024-12-06 14:35:55 +07:00
parent 1483336df5
commit 606149da25
2 changed files with 34 additions and 5 deletions

View file

@ -1,4 +1,4 @@
import { Prisma, RequestDataStatus, RequestWorkStatus } from "@prisma/client";
import { Prisma, RequestDataStatus, RequestWorkStatus, TaskStatus } from "@prisma/client";
import {
Body,
Controller,
@ -6,6 +6,7 @@ import {
Get,
Head,
Path,
Post,
Put,
Query,
Request,
@ -58,6 +59,7 @@ export class RequestDataController extends Controller {
[RequestDataStatus.Pending]: 0,
[RequestDataStatus.InProgress]: 0,
[RequestDataStatus.Completed]: 0,
[RequestDataStatus.Canceled]: 0,
},
);
}
@ -172,6 +174,37 @@ export class RequestDataController extends Controller {
}
}
@Route("/api/v1/request-data/{requestDataId}")
@Tags("Request List")
export class RequestDataActionController extends Controller {
@Post("cancel")
@Security("keycloak")
async cancelRequestData(@Path() requestDataId: string) {
await prisma.$transaction([
prisma.requestData.update({
where: { id: requestDataId },
data: {
requestDataStatus: RequestDataStatus.Canceled,
},
}),
prisma.requestWorkStepStatus.updateMany({
where: { requestWork: { requestDataId } },
data: {
workStatus: RequestWorkStatus.Canceled,
},
}),
prisma.taskOrder.updateMany({
where: {
taskList: {
every: { workStatus: RequestWorkStatus.Canceled },
},
},
data: { taskStatus: TaskStatus.Canceled },
}),
]);
}
}
@Route("/api/v1/request-work")
@Tags("Request List")
export class RequestListController extends Controller {

View file

@ -345,10 +345,6 @@ export class TaskActionController extends Controller {
@Post("complete")
@Security("keycloak")
async completeTaskOrder(@Request() req: RequestWithUser, @Path() taskId: string) {}
@Post("cancel")
@Security("keycloak")
async cancelTaskOrder(@Request() req: RequestWithUser, @Path() taskId: string) {}
}
@Route("api/v1/task-order/{taskId}")