mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 13:50:31 +00:00
feat: migrate manual journal to nestjs
This commit is contained in:
@@ -14,6 +14,7 @@ import { BranchesApplication } from './BranchesApplication.service';
|
||||
import { BranchesSettingsService } from './BranchesSettings';
|
||||
import { BranchCommandValidator } from './commands/BranchCommandValidator.service';
|
||||
import { BranchTransactionDTOTransformer } from './integrations/BranchTransactionDTOTransform';
|
||||
import { ManualJournalBranchesDTOTransformer } from './integrations/ManualJournals/ManualJournalDTOTransformer.service';
|
||||
|
||||
@Module({
|
||||
imports: [TenancyDatabaseModule],
|
||||
@@ -31,8 +32,13 @@ import { BranchTransactionDTOTransformer } from './integrations/BranchTransactio
|
||||
TenancyContext,
|
||||
TransformerInjectable,
|
||||
BranchCommandValidator,
|
||||
BranchTransactionDTOTransformer
|
||||
BranchTransactionDTOTransformer,
|
||||
ManualJournalBranchesDTOTransformer,
|
||||
],
|
||||
exports: [
|
||||
BranchesSettingsService,
|
||||
BranchTransactionDTOTransformer,
|
||||
ManualJournalBranchesDTOTransformer,
|
||||
],
|
||||
exports: [BranchTransactionDTOTransformer],
|
||||
})
|
||||
export class BranchesModule {}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { omit } from 'lodash';
|
||||
import { BranchesSettingsService } from '../../BranchesSettings';
|
||||
import { IManualJournalDTO } from '@/modules/ManualJournals/types/ManualJournals.types';
|
||||
|
||||
@Injectable()
|
||||
export class ManualJournalBranchesDTOTransformer {
|
||||
constructor(
|
||||
@Inject()
|
||||
private readonly branchesSettings: BranchesSettingsService,
|
||||
) {}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param DTO
|
||||
* @returns
|
||||
*/
|
||||
private excludeDTOBranchIdWhenInactive = (
|
||||
DTO: IManualJournalDTO,
|
||||
): IManualJournalDTO => {
|
||||
const isActive = this.branchesSettings.isMultiBranchesActive();
|
||||
|
||||
if (isActive) return DTO;
|
||||
|
||||
return {
|
||||
...DTO,
|
||||
entries: DTO.entries.map((e) => omit(e, ['branchId'])),
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public transformDTO = (DTO: IManualJournalDTO): IManualJournalDTO => {
|
||||
return this.excludeDTOBranchIdWhenInactive(DTO);
|
||||
};
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
// import { omit } from 'lodash';
|
||||
// import { Inject, Service } from 'typedi';
|
||||
// import { IManualJournal } from '@/interfaces';
|
||||
// import { BranchesSettings } from '../../BranchesSettings';
|
||||
|
||||
// @Service()
|
||||
// export class ManualJournalBranchesDTOTransformer {
|
||||
// @Inject()
|
||||
// branchesSettings: BranchesSettings;
|
||||
|
||||
// private excludeDTOBranchIdWhenInactive = (
|
||||
// tenantId: number,
|
||||
// DTO: IManualJournal
|
||||
// ): IManualJournal => {
|
||||
// const isActive = this.branchesSettings.isMultiBranchesActive(tenantId);
|
||||
|
||||
// if (isActive) return DTO;
|
||||
|
||||
// return {
|
||||
// ...DTO,
|
||||
// entries: DTO.entries.map((e) => omit(e, ['branchId'])),
|
||||
// };
|
||||
// };
|
||||
// /**
|
||||
// *
|
||||
// */
|
||||
// public transformDTO =
|
||||
// (tenantId: number) =>
|
||||
// (DTO: IManualJournal): IManualJournal => {
|
||||
// return this.excludeDTOBranchIdWhenInactive(tenantId, DTO);
|
||||
// };
|
||||
// }
|
||||
Reference in New Issue
Block a user