Files
bigcapital/packages/server-nest/src/modules/Vendors/queries/GetVendors.ts
2024-12-25 00:43:55 +02:00

81 lines
2.3 KiB
TypeScript

// import * as R from 'ramda';
// import { Service, Inject } from 'typedi';
// import {
// IFilterMeta,
// IPaginationMeta,
// IVendor,
// IVendorsFilter,
// } from '@/interfaces';
// import HasTenancyService from '@/services/Tenancy/TenancyService';
// import DynamicListingService from '@/services/DynamicListing/DynamicListService';
// import VendorTransfromer from '../VendorTransformer';
// import { TransformerInjectable } from '@/lib/Transformer/TransformerInjectable';
// @Service()
// export class GetVendors {
// @Inject()
// private tenancy: HasTenancyService;
// @Inject()
// private dynamicListService: DynamicListingService;
// @Inject()
// private transformer: TransformerInjectable;
// /**
// * Retrieve vendors datatable list.
// * @param {number} tenantId - Tenant id.
// * @param {IVendorsFilter} vendorsFilter - Vendors filter.
// */
// public async getVendorsList(
// tenantId: number,
// filterDTO: IVendorsFilter
// ): Promise<{
// vendors: IVendor[];
// pagination: IPaginationMeta;
// filterMeta: IFilterMeta;
// }> {
// const { Vendor } = this.tenancy.models(tenantId);
// // Parses vendors list filter DTO.
// const filter = this.parseVendorsListFilterDTO(filterDTO);
// // Dynamic list service.
// const dynamicList = await this.dynamicListService.dynamicList(
// tenantId,
// Vendor,
// filter
// );
// // Vendors list.
// const { results, pagination } = await Vendor.query()
// .onBuild((builder) => {
// dynamicList.buildQuery()(builder);
// // Switches between active/inactive modes.
// builder.modify('inactiveMode', filter.inactiveMode);
// })
// .pagination(filter.page - 1, filter.pageSize);
// // Transform the vendors.
// const transformedVendors = await this.transformer.transform(
// tenantId,
// results,
// new VendorTransfromer()
// );
// return {
// vendors: transformedVendors,
// pagination,
// filterMeta: dynamicList.getResponseMeta(),
// };
// }
// /**
// *
// * @param filterDTO
// * @returns
// */
// private parseVendorsListFilterDTO(filterDTO) {
// return R.compose(this.dynamicListService.parseStringifiedFilter)(filterDTO);
// }
// }