refactor: import resource module to nestjs

This commit is contained in:
Ahmed Bouhuolia
2025-01-13 10:15:57 +02:00
parent 270b421a6c
commit 72818759a5
38 changed files with 479 additions and 424 deletions

View File

@@ -9,6 +9,7 @@ import {
IVendorEditDTO,
IVendorNewDTO,
IVendorOpeningBalanceEditDTO,
IVendorsFilter,
} from './types/Vendors.types';
import { GetVendorsService } from './queries/GetVendors.service';
@@ -78,10 +79,10 @@ export class VendorsApplication {
/**
* Retrieves the vendors paginated list.
* @param {IVendorsFilter} filterDTO
* @returns {Promise<{vendors: Vendor[], pagination: IPaginationMeta, filterMeta: IFilterMeta}>>}
* @param {IVendorsFilter} filterDTO
* @returns {Promise<{ vendors: Vendor[], pagination: IPaginationMeta, filterMeta: IFilterMeta }>>}
*/
public getVendors = (filterDTO: IVendorsFilter) => {
public getVendors(filterDTO: IVendorsFilter) {
return this.getVendorsService.getVendorsList(filterDTO);
};
}

View File

@@ -1,13 +1,19 @@
import * as R from 'ramda';
import { Inject, Injectable } from '@nestjs/common';
import { Vendor } from '../models/Vendor';
import { DynamicListService } from '@/modules/DynamicListing/DynamicList.service';
import { TransformerInjectable } from '@/modules/Transformer/TransformerInjectable.service';
import { Inject, Injectable } from '@nestjs/common';
import { IFilterMeta, IPaginationMeta } from '@/interfaces/Model';
import { VendorTransfromer } from './VendorTransformer';
import { GetVendorsResponse, IVendorsFilter } from '../types/Vendors.types';
@Injectable()
export class GetVendorsService {
/**
* Constructor method.
* @param {DynamicListService} dynamicListService
* @param {TransformerInjectable} transformer
* @param {typeof Vendor} vendorModel
*/
constructor(
private dynamicListService: DynamicListService,
private transformer: TransformerInjectable,
@@ -18,12 +24,11 @@ export class GetVendorsService {
/**
* Retrieve vendors datatable list.
* @param {IVendorsFilter} vendorsFilter - Vendors filter.
* @returns {Promise<GetVendorsResponse>}
*/
public async getVendorsList(filterDTO: IVendorsFilter): Promise<{
vendors: Vendor[];
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}> {
public async getVendorsList(
filterDTO: IVendorsFilter,
): Promise<GetVendorsResponse> {
// Parses vendors list filter DTO.
const filter = this.parseVendorsListFilterDTO(filterDTO);

View File

@@ -3,6 +3,8 @@
import { Knex } from 'knex';
import { Vendor } from '../models/Vendor';
import { IContactAddressDTO } from '@/modules/Contacts/types/Contacts.types';
import { IDynamicListFilter } from '@/modules/DynamicListing/DynamicFilter/DynamicFilter.types';
import { IFilterMeta, IPaginationMeta } from '@/interfaces/Model';
// ----------------------------------
export interface IVendorNewDTO extends IContactAddressDTO {
@@ -43,11 +45,17 @@ export interface IVendorEditDTO extends IContactAddressDTO {
active?: boolean;
}
// export interface IVendorsFilter extends IDynamicListFilter {
// stringifiedFilterRoles?: string;
// page?: number;
// pageSize?: number;
// }
export interface IVendorsFilter extends IDynamicListFilter {
stringifiedFilterRoles?: string;
page?: number;
pageSize?: number;
}
export interface GetVendorsResponse {
vendors: Vendor[];
pagination: IPaginationMeta;
filterMeta: IFilterMeta;
}
// Vendor Events.
// ----------------------------------