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

@@ -81,7 +81,7 @@ export class SaleInvoiceApplication {
* @param {ISalesInvoicesFilter} filterDTO
* @returns {Promise<{ salesInvoices: SaleInvoice[]; pagination: IPaginationMeta; filterMeta: IFilterMeta; }>}
*/
public getSaleInvoices(filterDTO: ISalesInvoicesFilter) {
public getSaleInvoices(filterDTO: Partial<ISalesInvoicesFilter>) {
return this.getSaleInvoicesService.getSaleInvoices(filterDTO);
}

View File

@@ -117,7 +117,7 @@ export class SaleInvoicesController {
status: 200,
description: 'The sale invoices have been successfully retrieved.',
})
getSaleInvoices(@Query() filterDTO: ISalesInvoicesFilter) {
getSaleInvoices(@Query() filterDTO: Partial<ISalesInvoicesFilter>) {
return this.saleInvoiceApplication.getSaleInvoices(filterDTO);
}

View File

@@ -24,13 +24,22 @@ export class GetSaleInvoicesService {
* @param {ISalesInvoicesFilter} filterDTO -
* @returns {Promise<{ salesInvoices: SaleInvoice[]; pagination: IPaginationMeta; filterMeta: IFilterMeta; }>}
*/
public async getSaleInvoices(filterDTO: ISalesInvoicesFilter): Promise<{
public async getSaleInvoices(
filterDTO: Partial<ISalesInvoicesFilter>,
): Promise<{
salesInvoices: SaleInvoice[];
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}> {
const _filterDto = {
sortOrder: 'desc',
columnSortBy: 'created_at',
page: 1,
pageSize: 12,
...filterDTO,
};
// Parses stringified filter roles.
const filter = this.parseListFilterDTO(filterDTO);
const filter = this.parseListFilterDTO(_filterDto);
// Dynamic list service.
const dynamicFilter = await this.dynamicListService.dynamicList(
@@ -44,7 +53,7 @@ export class GetSaleInvoicesService {
builder.withGraphFetched('customer');
dynamicFilter.buildQuery()(builder);
filterDTO?.filterQuery?.(builder as any);
_filterDto?.filterQuery?.(builder as any);
})
.pagination(filter.page - 1, filter.pageSize);