refactor(nestjs): list resources

This commit is contained in:
Ahmed Bouhuolia
2025-05-04 11:19:34 +02:00
parent 4f6ad2b293
commit c9d752d102
36 changed files with 180 additions and 63 deletions

View File

@@ -56,7 +56,7 @@ export class BillsApplication {
* Retrieve bills data table list.
* @param {IBillsFilter} billsFilter -
*/
public getBills(filterDTO: IBillsFilter) {
public getBills(filterDTO: Partial<IBillsFilter>) {
return this.getBillsService.getBills(filterDTO);
}

View File

@@ -56,7 +56,7 @@ export class BillsController {
type: Number,
description: 'The bill id',
})
getBills(@Query() filterDTO: IBillsFilter) {
getBills(@Query() filterDTO: Partial<IBillsFilter>) {
return this.billsApplication.getBills(filterDTO);
}

View File

@@ -21,13 +21,20 @@ export class GetBillsService {
* Retrieve bills data table list.
* @param {IBillsFilter} billsFilter -
*/
public async getBills(filterDTO: IBillsFilter): Promise<{
public async getBills(filterDTO: Partial<IBillsFilter>): Promise<{
bills: Bill;
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}> {
const _filterDto = {
page: 1,
pageSize: 12,
sortOrder: 'desc',
columnSortBy: 'created_at',
...filterDTO,
};
// Parses bills list filter DTO.
const filter = this.parseListFilterDTO(filterDTO);
const filter = this.parseListFilterDTO(_filterDto);
// Dynamic list service.
const dynamicFilter = await this.dynamicListService.dynamicList(
@@ -42,7 +49,7 @@ export class GetBillsService {
dynamicFilter.buildQuery()(builder);
// Filter query.
filterDTO?.filterQuery && filterDTO?.filterQuery(builder);
_filterDto?.filterQuery && _filterDto?.filterQuery(builder);
})
.pagination(filter.page - 1, filter.pageSize);