refactor: update endpoints and var naming

This commit is contained in:
Methapon2001 2024-12-13 11:06:47 +07:00
parent 1244b56738
commit 1fef39729b

View file

@ -45,7 +45,7 @@ const permissionCondCompany = createPermCondition((_) => true);
const permissionCheck = createPermCheck(globalAllow);
const permissionCheckCompany = createPermCheck((_) => true);
@Route("/api/v1/task")
@Route("/api/v1/task-order")
@Tags("Task Order")
export class TaskController extends Controller {
@Get("stats")
@ -131,15 +131,15 @@ export class TaskController extends Controller {
return { result, total, page, pageSize };
}
@Get("{taskId}")
@Get("{taskOrderId}")
@Security("keycloak")
async getTaskOrder(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Path() taskOrderId: string,
@Query() taskAssignedUserId?: string,
) {
const record = await prisma.taskOrder.findFirst({
where: { id: taskId },
where: { id: taskOrderId },
include: {
userTask: true,
taskList: {
@ -309,11 +309,11 @@ export class TaskController extends Controller {
});
}
@Put("{taskId}")
@Put("{taskOrderId}")
@Security("keycloak")
async editTaskById(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Path() taskOrderId: string,
@Body()
body: {
taskName: string;
@ -328,7 +328,7 @@ export class TaskController extends Controller {
},
) {
const record = await prisma.taskOrder.findFirst({
where: { id: taskId },
where: { id: taskOrderId },
include: {
registeredBranch: { include: branchRelationPermInclude(req.user) },
taskList: {
@ -348,7 +348,7 @@ export class TaskController extends Controller {
await permissionCheckCompany(req.user, record.registeredBranch);
await prisma.taskOrder.update({
where: { id: taskId },
where: { id: taskOrderId },
include: {
taskList: {
include: {
@ -381,12 +381,12 @@ export class TaskController extends Controller {
});
}
@Delete("{taskId}")
@Delete("{taskOrderId}")
@Security("keycloak", MANAGE_ROLES)
async deleteTask(@Request() req: RequestWithUser, @Path() taskId: string) {
async deleteTask(@Request() req: RequestWithUser, @Path() taskOrderId: string) {
await prisma.$transaction(async (tx) => {
let record = await tx.taskOrder.findFirst({
where: { id: taskId },
where: { id: taskOrderId },
include: {
registeredBranch: {
include: branchRelationPermInclude(req.user),
@ -401,26 +401,26 @@ export class TaskController extends Controller {
}
}
@Route("/api/v1/task/{taskId}")
@Route("/api/v1/task-order/{taskOrderId}")
@Tags("Task Order")
export class TaskActionController extends Controller {
@Post("accept")
@Security("keycloak")
async acceptTaskOrder(@Request() req: RequestWithUser, @Path() taskId: string) {
async acceptTaskOrder(@Request() req: RequestWithUser, @Path() taskOrderId: string) {
const record = await prisma.taskOrder.findFirst({
include: {
taskList: {
orderBy: { step: "asc" },
},
},
where: { id: taskId },
where: { id: taskOrderId },
});
if (!record) throw notFoundError("Task Order");
await prisma.$transaction([
prisma.taskOrder.update({
where: { id: taskId },
where: { id: taskOrderId },
data: {
taskOrderStatus: TaskOrderStatus.InProgress,
userTask: {
@ -433,7 +433,7 @@ export class TaskActionController extends Controller {
}),
prisma.task.updateMany({
where: {
taskOrderId: taskId,
taskOrderId: taskOrderId,
requestWorkStep: { responsibleUserId: req.user.sub },
},
data: {
@ -445,7 +445,7 @@ export class TaskActionController extends Controller {
requestWork: {
some: {
stepStatus: {
some: { task: { some: { taskOrderId: taskId } } },
some: { task: { some: { taskOrderId: taskOrderId } } },
},
},
},
@ -455,7 +455,7 @@ export class TaskActionController extends Controller {
prisma.userTask.create({
data: {
userId: req.user.sub,
taskOrderId: taskId,
taskOrderId: taskOrderId,
userTaskStatus: UserTaskStatus.Accept,
},
}),
@ -466,7 +466,7 @@ export class TaskActionController extends Controller {
@Security("keycloak")
async changeTaskOrderTaskListStatus(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Path() taskOrderId: string,
@Body()
body: {
step: number;
@ -480,7 +480,7 @@ export class TaskActionController extends Controller {
where: {
step: v.step,
requestWorkId: v.requestWorkId,
taskOrderId: taskId,
taskOrderId: taskOrderId,
},
});
if (!record) throw notFoundError("Task List");
@ -497,19 +497,19 @@ export class TaskActionController extends Controller {
@Security("keycloak")
async submitTaskOrder(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Path() taskOrderId: string,
@Query() submitUserId?: string, // for explicit
) {
submitUserId = submitUserId ?? req.user.sub;
const record = await prisma.taskOrder.findFirst({ where: { id: taskId } });
const record = await prisma.taskOrder.findFirst({ where: { id: taskOrderId } });
if (!record) throw notFoundError("Task Order");
await prisma.$transaction([
prisma.task.updateMany({
where: {
taskOrderId: taskId,
taskOrderId: taskOrderId,
taskStatus: TaskStatus.Success,
requestWorkStep: { responsibleUserId: submitUserId },
},
@ -519,7 +519,7 @@ export class TaskActionController extends Controller {
}),
prisma.userTask.updateMany({
where: {
taskOrderId: taskId,
taskOrderId: taskOrderId,
userId: submitUserId,
},
data: { userTaskStatus: UserTaskStatus.Submit },
@ -529,10 +529,10 @@ export class TaskActionController extends Controller {
@Post("complete")
@Security("keycloak")
async completeTaskOrder(@Request() req: RequestWithUser, @Path() taskId: string) {}
async completeTaskOrder(@Request() req: RequestWithUser, @Path() taskOrderId: string) {}
}
@Route("api/v1/task/{taskId}")
@Route("api/v1/task-order/{taskOrderId}")
@Tags("Task Order")
export class TaskOrderAttachmentController extends Controller {
private async checkPermission(user: RequestWithUser["user"], id: string) {
@ -546,46 +546,46 @@ export class TaskOrderAttachmentController extends Controller {
@Get("attachment")
@Security("keycloak")
async listAttachment(@Request() req: RequestWithUser, @Path() taskId: string) {
await this.checkPermission(req.user, taskId);
return await listFile(fileLocation.task.attachment(taskId));
async listAttachment(@Request() req: RequestWithUser, @Path() taskOrderId: string) {
await this.checkPermission(req.user, taskOrderId);
return await listFile(fileLocation.task.attachment(taskOrderId));
}
@Get("attachment/{name}")
@Security("keycloak")
async getAttachment(@Path() taskId: string, @Path() name: string) {
return await getFile(fileLocation.task.attachment(taskId, name));
async getAttachment(@Path() taskOrderId: string, @Path() name: string) {
return await getFile(fileLocation.task.attachment(taskOrderId, name));
}
@Head("attachment/{name}")
async headAttachment(@Path() taskId: string, @Path() name: string) {
return await getPresigned("head", fileLocation.task.attachment(taskId, name));
async headAttachment(@Path() taskOrderId: string, @Path() name: string) {
return await getPresigned("head", fileLocation.task.attachment(taskOrderId, name));
}
@Put("attachment/{name}")
@Security("keycloak")
async putAttachment(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Path() taskOrderId: string,
@Path() name: string,
) {
await this.checkPermission(req.user, taskId);
return await setFile(fileLocation.task.attachment(taskId, name));
await this.checkPermission(req.user, taskOrderId);
return await setFile(fileLocation.task.attachment(taskOrderId, name));
}
@Delete("attachment/{name}")
@Security("keycloak")
async delAttachment(
@Request() req: RequestWithUser,
@Path() taskId: string,
@Path() taskOrderId: string,
@Path() name: string,
) {
await this.checkPermission(req.user, taskId);
return await deleteFile(fileLocation.task.attachment(taskId, name));
await this.checkPermission(req.user, taskOrderId);
return await deleteFile(fileLocation.task.attachment(taskOrderId, name));
}
}
@Route("api/v1/user-task")
@Route("api/v1/user-task-order")
@Tags("Task Order")
export class UserTaskController extends Controller {
@Get()