refactor: banking modules to nestjs

This commit is contained in:
Ahmed Bouhuolia
2025-01-05 23:06:33 +02:00
parent 1869ba216f
commit ba176394c8
25 changed files with 121 additions and 41 deletions

View File

@@ -11,6 +11,15 @@ import { PreventDeleteTransactionOnDeleteSubscriber } from './subscribers/Preven
import { ValidateDeleteBankAccountTransactions } from './commands/ValidateDeleteBankAccountTransactions.service';
import { BankTransactionGLEntriesService } from './commands/BankTransactionGLEntries';
import { BankingTransactionsApplication } from './BankingTransactionsApplication.service';
import { AutoIncrementOrdersModule } from '../AutoIncrementOrders/AutoIncrementOrders.module';
import { LedgerModule } from '../Ledger/Ledger.module';
import { DeleteCashflowTransaction } from './commands/DeleteCashflowTransaction.service';
import { CreateBankTransactionService } from './commands/CreateBankTransaction.service';
import { GetBankTransactionService } from './queries/GetBankTransaction.service';
import { CommandBankTransactionValidator } from './commands/CommandCasflowValidator.service';
import { BranchTransactionDTOTransformer } from '../Branches/integrations/BranchTransactionDTOTransform';
import { BranchesModule } from '../Branches/Branches.module';
import { RemovePendingUncategorizedTransaction } from './commands/RemovePendingUncategorizedTransaction.service';
const models = [
RegisterTenancyModel(UncategorizedBankTransaction),
@@ -19,7 +28,8 @@ const models = [
];
@Module({
exports: [
imports: [AutoIncrementOrdersModule, LedgerModule, BranchesModule],
providers: [
BankTransactionAutoIncrement,
BankTransactionGLEntriesService,
ValidateDeleteBankAccountTransactions,
@@ -28,8 +38,14 @@ const models = [
DeleteCashflowTransactionOnUncategorizeSubscriber,
PreventDeleteTransactionOnDeleteSubscriber,
BankingTransactionsApplication,
DeleteCashflowTransaction,
CreateBankTransactionService,
GetBankTransactionService,
CommandBankTransactionValidator,
BranchTransactionDTOTransformer,
RemovePendingUncategorizedTransaction,
...models,
],
providers: [...models],
exports: [...models, RemovePendingUncategorizedTransaction],
})
export class BankingTransactionsModule {}

View File

@@ -9,6 +9,7 @@ import {
} from './constants';
import { ICashflowNewCommandDTO } from './types/BankingTransactions.types';
import { UncategorizedBankTransaction } from './models/UncategorizedBankTransaction';
import { ICategorizeCashflowTransactioDTO } from '../BankingCategorize/types/BankingCategorize.types';
import { ServiceError } from '../Items/ServiceError';
/**
@@ -50,7 +51,7 @@ export const getCashflowAccountTransactionsTypes = () => {
*/
export const transformCategorizeTransToCashflow = (
uncategorizeTransactions: Array<UncategorizedBankTransaction>,
categorizeDTO: ICategorizeBankTransactionDTO,
categorizeDTO: ICategorizeCashflowTransactioDTO,
): ICashflowNewCommandDTO => {
const uncategorizeTransaction = first(uncategorizeTransactions);
const amount = sumBy(uncategorizeTransactions, 'amount');