From c26ce25f259080ff693dc16a9c5de9d46fe63c7c Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Wed, 11 Dec 2024 09:15:11 +0700 Subject: [PATCH] feat: add query param for scope task to specific user --- src/controllers/07-task-controller.ts | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/controllers/07-task-controller.ts b/src/controllers/07-task-controller.ts index 570e123..e0fdbf3 100644 --- a/src/controllers/07-task-controller.ts +++ b/src/controllers/07-task-controller.ts @@ -66,9 +66,17 @@ export class TaskController extends Controller { @Query() query: string = "", @Query() page = 1, @Query() pageSize = 30, + @Query() assignedByUserId?: string, @Query() taskOrderStatus?: TaskOrderStatus, ) { - return this.getTaskOrderListByCriteria(req, query, page, pageSize, taskOrderStatus); + return this.getTaskOrderListByCriteria( + req, + query, + page, + pageSize, + assignedByUserId, + taskOrderStatus, + ); } @Post("list") @@ -78,6 +86,7 @@ export class TaskController extends Controller { @Query() query: string = "", @Query() page = 1, @Query() pageSize = 30, + @Query() assignedByUserId?: string, @Query() taskOrderStatus?: TaskOrderStatus, @Body() body?: { code?: string[] }, ) { @@ -86,6 +95,13 @@ export class TaskController extends Controller { where: { taskOrderStatus, registeredBranch: { OR: permissionCondCompany(req.user) }, + taskList: assignedByUserId + ? { + some: { + requestWorkStep: { responsibleUserId: assignedByUserId }, + }, + } + : undefined, code: body?.code ? { in: body.code } : undefined, OR: [ { code: { contains: query, mode: "insensitive" } }, @@ -107,11 +123,18 @@ export class TaskController extends Controller { @Get("{taskId}") @Security("keycloak") - async getTaskOrder(@Request() req: RequestWithUser, @Path() taskId: string) { + async getTaskOrder( + @Request() req: RequestWithUser, + @Path() taskId: string, + @Query() taskAssignedByUserId?: string, + ) { const record = await prisma.taskOrder.findFirst({ where: { id: taskId, registeredBranch: { OR: permissionCondCompany(req.user) } }, include: { taskList: { + where: { + requestWorkStep: { responsibleUserId: taskAssignedByUserId }, + }, include: { requestWorkStep: { include: {