diff --git a/src/core/helpers/query/specific-search.helper.ts b/src/core/helpers/query/specific-search.helper.ts index 6ad02d0..4e8d463 100644 --- a/src/core/helpers/query/specific-search.helper.ts +++ b/src/core/helpers/query/specific-search.helper.ts @@ -20,12 +20,16 @@ export class SpecificSearchFilter { new Brackets((qb) => { params.forEach((param) => { const { cols, data, additional, leftJoin } = param; + const columns = cols.split('.'); + let arr = data; - const arr = data?.map((el) => - el.includes("'") - ? `'%${el.trim().replace(/'/g, "''").replace(/\s+/g, ' ')}%'` - : `'%${el.trim().replace(/\s+/g, ' ')}%'`, - ); + if (!columns.includes('status::text')) { + arr = data?.map((el) => + el.includes("'") + ? `'%${el.trim().replace(/'/g, "''").replace(/\s+/g, ' ')}%'` + : `'%${el.trim().replace(/\s+/g, ' ')}%'`, + ); + } const aliases = !cols.match(/\./g) ? this.table.concat(`.${cols}`) diff --git a/src/core/modules/domain/usecase/managers/base-index.manager.ts b/src/core/modules/domain/usecase/managers/base-index.manager.ts index 89c2f54..63a7c56 100644 --- a/src/core/modules/domain/usecase/managers/base-index.manager.ts +++ b/src/core/modules/domain/usecase/managers/base-index.manager.ts @@ -50,7 +50,7 @@ export abstract class BaseIndexManager extends BaseReadManager { // jika searching status terdapat dalam enum, maka dia mencari specific data // ? karena jika tidak, ketika dia search "active" maka "inactive" juga ikut - return STATUS[statusData.toUpperCase()] ?? statusData; + return `'${STATUS[statusData.toUpperCase()]}'` ?? `'%${statusData}%'`; }); specificFilter.push({ cols: `${this.tableName}.status::text`,