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;