From 23baff94de749292c53bd08510c033ffa657059a Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Mon, 10 Feb 2025 11:45:14 +0700 Subject: [PATCH] feat: add filter status institution --- src/controllers/04-institution-controller.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/controllers/04-institution-controller.ts b/src/controllers/04-institution-controller.ts index 16316b3..ca0b6ee 100644 --- a/src/controllers/04-institution-controller.ts +++ b/src/controllers/04-institution-controller.ts @@ -22,6 +22,7 @@ import { RequestWithUser } from "../interfaces/user"; import { deleteFile, fileLocation, getFile, getPresigned, listFile, setFile } from "../utils/minio"; import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; +import { filterStatus } from "../services/prisma"; type InstitutionPayload = { name: string; @@ -55,9 +56,11 @@ export class InstitutionController extends Controller { @Query() query: string = "", @Query() page: number = 1, @Query() pageSize: number = 30, + @Query() status?: Status, + @Query() activeOnly?: boolean, @Query() group?: string, ) { - return this.getInstitutionListByCriteria(query, page, pageSize, group); + return this.getInstitutionListByCriteria(query, page, pageSize, status, activeOnly, group); } @Post("list") @@ -67,6 +70,8 @@ export class InstitutionController extends Controller { @Query() query: string = "", @Query() page: number = 1, @Query() pageSize: number = 30, + @Query() status?: Status, + @Query() activeOnly?: boolean, @Query() group?: string, @Body() body?: { @@ -74,6 +79,7 @@ export class InstitutionController extends Controller { }, ) { const where = { + ...filterStatus(activeOnly ? Status.ACTIVE : status), group: body?.group ? { in: body.group } : group, OR: queryOrNot(query, [ { name: { contains: query } },