diff --git a/src/controllers/service/service-controller.ts b/src/controllers/service/service-controller.ts index 8a507c6..171869f 100644 --- a/src/controllers/service/service-controller.ts +++ b/src/controllers/service/service-controller.ts @@ -74,9 +74,21 @@ export class ServiceController extends Controller { @Query() query: string = "", @Query() page: number = 1, @Query() pageSize: number = 30, + @Query() status?: Status, ) { + const filterStatus = (val?: Status) => { + if (!val) return {}; + + return val !== Status.CREATED && val !== Status.ACTIVE + ? { status: val } + : { OR: [{ status: Status.CREATED }, { status: Status.ACTIVE }] }; + }; + const where = { - OR: [{ name: { contains: query } }, { detail: { contains: query } }], + OR: [ + { name: { contains: query }, ...filterStatus(status) }, + { detail: { contains: query }, ...filterStatus(status) }, + ], } satisfies Prisma.ServiceWhereInput; const [result, total] = await prisma.$transaction([