update
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
import { NextFunction, Response } from "express";
|
||||
import { RegistrationFee, Service,Paging } from "entity";
|
||||
import { RegistrationFee, Service, Paging } from "entity";
|
||||
import { Request } from "express-jwt";
|
||||
import Joi from "joi";
|
||||
import { ILogObj, Logger } from "tslog";
|
||||
@ -24,8 +24,12 @@ export class RegistrationFeeController {
|
||||
/*
|
||||
#swagger.tags = ['Registration Fee']
|
||||
#swagger.security = [{ "bearerAuth": [] }]
|
||||
#swagger.parameters['filter'] = { description: '', in: 'query', type: 'string' }
|
||||
#swagger.parameters['limit'] = { in: 'query', required: true, type: 'number' }
|
||||
#swagger.parameters['filter'] = {
|
||||
description: "Filter in JSON format. Available fields: type (string, exact match), service_name (string, partial match case-insensitive), service_id (number, exact match). Example: {\"type\":\"premium\",\"service_name\":\"konsultasi\",\"service_id\":5}",
|
||||
in: 'query',
|
||||
type: 'string'
|
||||
}
|
||||
#swagger.parameters['limit'] = { in: 'query', required: true, type: 'number' }
|
||||
#swagger.parameters['page'] = { in: 'query', required: true, type: 'number' }
|
||||
#swagger.parameters['with_deleted'] = { in: 'query', required: true, type: 'boolean' }
|
||||
#swagger.parameters['order_field'] = { in: 'query', required: true, type: 'string' }
|
||||
@ -47,16 +51,10 @@ export class RegistrationFeeController {
|
||||
|
||||
const query = OrmHelper.DB.getRepository(RegistrationFee)
|
||||
.createQueryBuilder("RegistrationFee")
|
||||
.leftJoinAndMapMany(
|
||||
"RegistrationFee.services",
|
||||
Service,
|
||||
"service",
|
||||
"service.id::text = ANY(RegistrationFee.service)"
|
||||
)
|
||||
.leftJoinAndSelect("RegistrationFee.services", "service")
|
||||
.select([
|
||||
"RegistrationFee.id",
|
||||
"RegistrationFee.type",
|
||||
"RegistrationFee.service",
|
||||
"RegistrationFee.created_at",
|
||||
"RegistrationFee.updated_at",
|
||||
"service.id",
|
||||
@ -73,6 +71,11 @@ export class RegistrationFeeController {
|
||||
query.andWhere("service.name ILIKE :service_name", { service_name: `%${filter.service_name}%` });
|
||||
}
|
||||
|
||||
// ── Filter service.id ─────────────────────────────────────────────
|
||||
if (filter.service_id && filter.service_id !== "") {
|
||||
query.andWhere("service.id = :service_id", { service_id: filter.service_id });
|
||||
}
|
||||
|
||||
if (param.with_deleted) {
|
||||
query.withDeleted();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user