From bfa8d6d5248055b44d7e25aca8a2bcb2ecee96b6 Mon Sep 17 00:00:00 2001 From: Aswin Ashar Abdullah Date: Tue, 16 Jul 2024 13:17:58 +0700 Subject: [PATCH] fix(filter) perbaikan filter search --- .../faq/domain/entities/filter-faq.entity.ts | 4 +++- .../faq/domain/usecases/managers/index-faq.manager.ts | 4 ++-- .../faq/infrastructure/dto/filter-faq.dto.ts | 10 +++++++++- .../domain/entities/filter-term-condition.entity.ts | 4 +++- .../usecases/managers/index-term-condition.manager.ts | 4 ++-- .../infrastructure/dto/filter-term-condition.dto.ts | 11 ++++++++++- 6 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/modules/web-information/faq/domain/entities/filter-faq.entity.ts b/src/modules/web-information/faq/domain/entities/filter-faq.entity.ts index 9488909..d0589ac 100644 --- a/src/modules/web-information/faq/domain/entities/filter-faq.entity.ts +++ b/src/modules/web-information/faq/domain/entities/filter-faq.entity.ts @@ -1,3 +1,5 @@ import { BaseFilterEntity } from 'src/core/modules/domain/entities/base-filter.entity'; -export interface FilterFaqEntity extends BaseFilterEntity {} +export interface FilterFaqEntity extends BaseFilterEntity { + titles: string[]; +} diff --git a/src/modules/web-information/faq/domain/usecases/managers/index-faq.manager.ts b/src/modules/web-information/faq/domain/usecases/managers/index-faq.manager.ts index a1508eb..418c42b 100644 --- a/src/modules/web-information/faq/domain/usecases/managers/index-faq.manager.ts +++ b/src/modules/web-information/faq/domain/usecases/managers/index-faq.manager.ts @@ -50,8 +50,8 @@ export class IndexFaqManager extends BaseIndexManager { get specificFilter(): Param[] { return [ { - cols: `${this.tableName}.name`, - data: this.filterParam.names, + cols: `${this.tableName}.title`, + data: this.filterParam.titles, }, ]; } diff --git a/src/modules/web-information/faq/infrastructure/dto/filter-faq.dto.ts b/src/modules/web-information/faq/infrastructure/dto/filter-faq.dto.ts index ce6a148..028b7a1 100644 --- a/src/modules/web-information/faq/infrastructure/dto/filter-faq.dto.ts +++ b/src/modules/web-information/faq/infrastructure/dto/filter-faq.dto.ts @@ -1,4 +1,12 @@ import { BaseFilterDto } from 'src/core/modules/infrastructure/dto/base-filter.dto'; import { FilterFaqEntity } from '../../domain/entities/filter-faq.entity'; +import { ApiProperty } from '@nestjs/swagger'; +import { Transform } from 'class-transformer'; -export class FilterFaqDto extends BaseFilterDto implements FilterFaqEntity {} +export class FilterFaqDto extends BaseFilterDto implements FilterFaqEntity { + @ApiProperty({ type: ['string'], required: false }) + @Transform((body) => { + return Array.isArray(body.value) ? body.value : [body.value]; + }) + titles: string[]; +} diff --git a/src/modules/web-information/term-condition/domain/entities/filter-term-condition.entity.ts b/src/modules/web-information/term-condition/domain/entities/filter-term-condition.entity.ts index 66cee61..903ed96 100644 --- a/src/modules/web-information/term-condition/domain/entities/filter-term-condition.entity.ts +++ b/src/modules/web-information/term-condition/domain/entities/filter-term-condition.entity.ts @@ -1,3 +1,5 @@ import { BaseFilterEntity } from 'src/core/modules/domain/entities/base-filter.entity'; -export interface FilterTermConditionEntity extends BaseFilterEntity {} +export interface FilterTermConditionEntity extends BaseFilterEntity { + titles: string[]; +} diff --git a/src/modules/web-information/term-condition/domain/usecases/managers/index-term-condition.manager.ts b/src/modules/web-information/term-condition/domain/usecases/managers/index-term-condition.manager.ts index 7897eca..dd58ac6 100644 --- a/src/modules/web-information/term-condition/domain/usecases/managers/index-term-condition.manager.ts +++ b/src/modules/web-information/term-condition/domain/usecases/managers/index-term-condition.manager.ts @@ -50,8 +50,8 @@ export class IndexTermConditionManager extends BaseIndexManager { + return Array.isArray(body.value) ? body.value : [body.value]; + }) + titles: string[]; +}