update
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
import { NextFunction, Response } from "express";
|
import { NextFunction, Response } from "express";
|
||||||
import { RegistrationFee, Service,Paging } from "entity";
|
import { RegistrationFee, Service, Paging } from "entity";
|
||||||
import { Request } from "express-jwt";
|
import { Request } from "express-jwt";
|
||||||
import Joi from "joi";
|
import Joi from "joi";
|
||||||
import { ILogObj, Logger } from "tslog";
|
import { ILogObj, Logger } from "tslog";
|
||||||
@ -24,7 +24,11 @@ export class RegistrationFeeController {
|
|||||||
/*
|
/*
|
||||||
#swagger.tags = ['Registration Fee']
|
#swagger.tags = ['Registration Fee']
|
||||||
#swagger.security = [{ "bearerAuth": [] }]
|
#swagger.security = [{ "bearerAuth": [] }]
|
||||||
#swagger.parameters['filter'] = { description: '', in: 'query', type: 'string' }
|
#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['limit'] = { in: 'query', required: true, type: 'number' }
|
||||||
#swagger.parameters['page'] = { 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['with_deleted'] = { in: 'query', required: true, type: 'boolean' }
|
||||||
@ -47,16 +51,10 @@ export class RegistrationFeeController {
|
|||||||
|
|
||||||
const query = OrmHelper.DB.getRepository(RegistrationFee)
|
const query = OrmHelper.DB.getRepository(RegistrationFee)
|
||||||
.createQueryBuilder("RegistrationFee")
|
.createQueryBuilder("RegistrationFee")
|
||||||
.leftJoinAndMapMany(
|
.leftJoinAndSelect("RegistrationFee.services", "service")
|
||||||
"RegistrationFee.services",
|
|
||||||
Service,
|
|
||||||
"service",
|
|
||||||
"service.id::text = ANY(RegistrationFee.service)"
|
|
||||||
)
|
|
||||||
.select([
|
.select([
|
||||||
"RegistrationFee.id",
|
"RegistrationFee.id",
|
||||||
"RegistrationFee.type",
|
"RegistrationFee.type",
|
||||||
"RegistrationFee.service",
|
|
||||||
"RegistrationFee.created_at",
|
"RegistrationFee.created_at",
|
||||||
"RegistrationFee.updated_at",
|
"RegistrationFee.updated_at",
|
||||||
"service.id",
|
"service.id",
|
||||||
@ -73,6 +71,11 @@ export class RegistrationFeeController {
|
|||||||
query.andWhere("service.name ILIKE :service_name", { service_name: `%${filter.service_name}%` });
|
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) {
|
if (param.with_deleted) {
|
||||||
query.withDeleted();
|
query.withDeleted();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user