From e5ac580456ca7beb8586203779a5b33bab424958 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Mon, 23 Dec 2024 10:59:07 +0700 Subject: [PATCH] feat: active only product group param --- src/controllers/04-product-group-controller.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/controllers/04-product-group-controller.ts b/src/controllers/04-product-group-controller.ts index 67db0ed..2fdcb50 100644 --- a/src/controllers/04-product-group-controller.ts +++ b/src/controllers/04-product-group-controller.ts @@ -20,6 +20,7 @@ import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; import { isSystem } from "../utils/keycloak"; import { + branchActiveOnlyCond, branchRelationPermInclude, createPermCheck, createPermCondition, @@ -88,6 +89,7 @@ export class ProductGroup extends Controller { @Query() status?: Status, @Query() page: number = 1, @Query() pageSize: number = 30, + @Query() activeOnly?: boolean, ) { const where = { OR: queryOrNot(query, [ @@ -97,8 +99,10 @@ export class ProductGroup extends Controller { ]), AND: [ { - ...filterStatus(status), - registeredBranch: isSystem(req.user) ? undefined : { OR: permissionCond(req.user) }, + ...filterStatus(activeOnly ? Status.ACTIVE : status), + registeredBranch: isSystem(req.user) + ? branchActiveOnlyCond(activeOnly) + : { OR: permissionCond(req.user, { activeOnly }) }, }, ], } satisfies Prisma.ProductGroupWhereInput;