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

@@ -69,7 +69,7 @@ export class ExpensesApplication {
* Retrieve expenses paginated list.
* @param {IExpensesFilter} expensesFilter
*/
public getExpenses(filterDTO: IExpensesFilter) {
public getExpenses(filterDTO: Partial<IExpensesFilter>) {
return this.getExpensesService.getExpensesList(filterDTO);
}
}

View File

@@ -23,13 +23,20 @@ export class GetExpensesService {
* @param {IExpensesFilter} expensesFilter
* @return {IExpense[]}
*/
public async getExpensesList(filterDTO: IExpensesFilter): Promise<{
public async getExpensesList(filterDto: Partial<IExpensesFilter>): Promise<{
expenses: Expense[];
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}> {
const _filterDto = {
sortOrder: 'desc',
columnSortBy: 'created_at',
page: 1,
pageSize: 12,
...filterDto,
};
// Parses list filter DTO.
const filter = this.parseListFilterDTO(filterDTO);
const filter = this.parseListFilterDTO(_filterDto);
// Dynamic list service.
const dynamicList = await this.dynamicListService.dynamicList(
@@ -44,7 +51,7 @@ export class GetExpensesService {
builder.withGraphFetched('categories.expenseAccount');
dynamicList.buildQuery()(builder);
filterDTO?.filterQuery && filterDTO?.filterQuery(builder);
_filterDto?.filterQuery && _filterDto?.filterQuery(builder);
})
.pagination(filter.page - 1, filter.pageSize);