mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
refactor: wip to nestjs
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { TransformerInjectable } from '@/modules/Transformer/TransformerInjectable.service';
|
||||
import { Vendor } from '../models/Vendor';
|
||||
import { VendorTransfromer } from './VendorTransformer';
|
||||
|
||||
@Injectable()
|
||||
export class GetVendorService {
|
||||
constructor(
|
||||
private readonly transformer: TransformerInjectable,
|
||||
@Inject(Vendor.name) private readonly vendorModel: typeof Vendor,
|
||||
) {}
|
||||
|
||||
/**
|
||||
* Retrieve the given vendor details.
|
||||
* @param {number} vendorId
|
||||
*/
|
||||
public async getVendor(vendorId: number) {
|
||||
const vendor = await this.vendorModel
|
||||
.query()
|
||||
.findById(vendorId)
|
||||
.modify('vendor')
|
||||
.throwIfNotFound();
|
||||
|
||||
// Transformes the vendor.
|
||||
return this.transformer.transform(vendor, new VendorTransfromer());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
// 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);
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,15 @@
|
||||
import { ContactTransfromer } from "../../Contacts/Contact.transformer";
|
||||
|
||||
export class VendorTransfromer extends ContactTransfromer {
|
||||
/**
|
||||
* Include these attributes to expense object.
|
||||
* @returns {Array}
|
||||
*/
|
||||
public includeAttributes = (): string[] => {
|
||||
return [
|
||||
'formattedBalance',
|
||||
'formattedOpeningBalance',
|
||||
'formattedOpeningBalanceAt'
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user