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