From ba176394c80c4d9dbc7e3371ac8d58c504346e27 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Sun, 5 Jan 2025 23:06:33 +0200 Subject: [PATCH] refactor: banking modules to nestjs --- .../src/modules/Accounts/Accounts.module.ts | 3 +- .../server-nest/src/modules/App/App.module.ts | 7 +++- .../src/modules/BankRules/BankRules.module.ts | 4 +- .../BankingAccounts/BankAccounts.module.ts | 10 +++-- .../commands/DisconnectBankAccount.service.ts | 1 - .../BankingCategorize.module.ts | 18 +++++++++ .../CategorizeTransactionAsExpense.ts | 8 ---- .../types/BankingCategorize.types.ts | 1 + .../BankingMatching/BankingMatching.module.ts | 14 ++++++- .../commands/MatchTransactionsTypes.ts | 4 +- .../GetMatchedTransactionsByBills.service.ts | 1 - .../BankingPlaid/BankingPlaid.module.ts | 40 +++++++++++++++---- .../command/PlaidUpdateTransactions.ts | 4 +- .../{ => jobs}/PlaidFetchTransactionsJob.ts | 0 .../BankingTransactionsRegonize.module.ts | 3 ++ .../BankingTranasctionsRegonize/_types.ts | 2 - .../BankingTransactions.module.ts | 20 +++++++++- .../src/modules/BankingTransactions/utils.ts | 3 +- .../BankingTransactionsExclude.module.ts | 2 + .../BillPayments/BillPayments.module.ts | 2 +- .../BillPayments/types/BillPayments.types.ts | 2 +- .../src/modules/Expenses/Expenses.module.ts | 3 ++ .../PaymentReceived.application.ts | 6 +-- .../PaymentsReceived.module.ts | 2 +- .../SystemModels/SystemModels.module.ts | 2 +- 25 files changed, 121 insertions(+), 41 deletions(-) create mode 100644 packages/server-nest/src/modules/BankingCategorize/BankingCategorize.module.ts rename packages/server-nest/src/modules/BankingPlaid/{ => jobs}/PlaidFetchTransactionsJob.ts (100%) diff --git a/packages/server-nest/src/modules/Accounts/Accounts.module.ts b/packages/server-nest/src/modules/Accounts/Accounts.module.ts index 60c9a847a..2176a3fc0 100644 --- a/packages/server-nest/src/modules/Accounts/Accounts.module.ts +++ b/packages/server-nest/src/modules/Accounts/Accounts.module.ts @@ -33,7 +33,8 @@ import { GetAccountTransactionsService } from './GetAccountTransactions.service' GetAccountTransactionsService, ], exports: [ - AccountRepository + AccountRepository, + CreateAccountService, ] }) export class AccountsModule {} diff --git a/packages/server-nest/src/modules/App/App.module.ts b/packages/server-nest/src/modules/App/App.module.ts index c1e851896..6ad0f6794 100644 --- a/packages/server-nest/src/modules/App/App.module.ts +++ b/packages/server-nest/src/modules/App/App.module.ts @@ -56,6 +56,9 @@ import { PaymentsReceivedModule } from '../PaymentReceived/PaymentsReceived.modu import { LedgerModule } from '../Ledger/Ledger.module'; import { BankRulesModule } from '../BankRules/BankRules.module'; import { BankAccountsModule } from '../BankingAccounts/BankAccounts.module'; +import { BankingTransactionsExcludeModule } from '../BankingTransactionsExclude/BankingTransactionsExclude.module'; +import { BankingTransactionsRegonizeModule } from '../BankingTranasctionsRegonize/BankingTransactionsRegonize.module'; +import { BankingMatchingModule } from '../BankingMatching/BankingMatching.module'; @Module({ imports: [ @@ -134,9 +137,11 @@ import { BankAccountsModule } from '../BankingAccounts/BankAccounts.module'; BillPaymentsModule, PaymentsReceivedModule, LedgerModule, - BankAccountsModule, BankRulesModule, + BankingTransactionsExcludeModule, + BankingTransactionsRegonizeModule, + // BankingMatchingModule ], controllers: [AppController], providers: [ diff --git a/packages/server-nest/src/modules/BankRules/BankRules.module.ts b/packages/server-nest/src/modules/BankRules/BankRules.module.ts index 444685ec4..51c27db99 100644 --- a/packages/server-nest/src/modules/BankRules/BankRules.module.ts +++ b/packages/server-nest/src/modules/BankRules/BankRules.module.ts @@ -10,6 +10,7 @@ import { BankRuleCondition } from './models/BankRuleCondition'; import { BankRule } from './models/BankRule'; import { BankRulesController } from './BankRules.controller'; import { UnlinkBankRuleOnDeleteBankRuleSubscriber } from './events/UnlinkBankRuleOnDeleteBankRule'; +import { DeleteBankRulesService } from './commands/DeleteBankRules.service'; const models = [ RegisterTenancyModel(BankRule), @@ -24,11 +25,12 @@ const models = [ CreateBankRuleService, EditBankRuleService, DeleteBankRuleService, + DeleteBankRulesService, GetBankRuleService, GetBankRulesService, BankRulesApplication, UnlinkBankRuleOnDeleteBankRuleSubscriber ], - exports: [...models], + exports: [...models, DeleteBankRuleService, DeleteBankRulesService], }) export class BankRulesModule {} diff --git a/packages/server-nest/src/modules/BankingAccounts/BankAccounts.module.ts b/packages/server-nest/src/modules/BankingAccounts/BankAccounts.module.ts index d434e1361..feccf9259 100644 --- a/packages/server-nest/src/modules/BankingAccounts/BankAccounts.module.ts +++ b/packages/server-nest/src/modules/BankingAccounts/BankAccounts.module.ts @@ -7,17 +7,21 @@ import { PauseBankAccountFeeds } from './commands/PauseBankAccountFeeds.service' import { DeleteUncategorizedTransactionsOnAccountDeleting } from './subscribers/DeleteUncategorizedTransactionsOnAccountDeleting'; import { DisconnectPlaidItemOnAccountDeleted } from './subscribers/DisconnectPlaidItemOnAccountDeleted'; import { BankAccountsController } from './BankAccounts.controller'; +import { BankingPlaidModule } from '../BankingPlaid/BankingPlaid.module'; +import { PlaidModule } from '../Plaid/Plaid.module'; +import { BankRulesModule } from '../BankRules/BankRules.module'; @Module({ - imports: [ + imports: [BankingPlaidModule, PlaidModule, BankRulesModule], + providers: [ DisconnectBankAccountService, RefreshBankAccountService, ResumeBankAccountFeedsService, PauseBankAccountFeeds, - DeleteUncategorizedTransactionsOnAccountDeleting, + // DeleteUncategorizedTransactionsOnAccountDeleting, DisconnectPlaidItemOnAccountDeleted, + BankAccountsApplication ], - providers: [BankAccountsApplication], exports: [BankAccountsApplication], controllers: [BankAccountsController], }) diff --git a/packages/server-nest/src/modules/BankingAccounts/commands/DisconnectBankAccount.service.ts b/packages/server-nest/src/modules/BankingAccounts/commands/DisconnectBankAccount.service.ts index ac63c73a5..214ef4661 100644 --- a/packages/server-nest/src/modules/BankingAccounts/commands/DisconnectBankAccount.service.ts +++ b/packages/server-nest/src/modules/BankingAccounts/commands/DisconnectBankAccount.service.ts @@ -13,7 +13,6 @@ import { PlaidItem } from '@/modules/BankingPlaid/models/PlaidItem'; import { ServiceError } from '@/modules/Items/ServiceError'; import { events } from '@/common/events/events'; import { EventEmitter2 } from '@nestjs/event-emitter'; - import { PLAID_CLIENT } from '@/modules/Plaid/Plaid.module'; @Injectable() diff --git a/packages/server-nest/src/modules/BankingCategorize/BankingCategorize.module.ts b/packages/server-nest/src/modules/BankingCategorize/BankingCategorize.module.ts new file mode 100644 index 000000000..a737b38d6 --- /dev/null +++ b/packages/server-nest/src/modules/BankingCategorize/BankingCategorize.module.ts @@ -0,0 +1,18 @@ +import { Module } from '@nestjs/common'; +import { CreateUncategorizedTransactionService } from './commands/CreateUncategorizedTransaction.service'; +import { CategorizeTransactionAsExpense } from './commands/CategorizeTransactionAsExpense'; +import { BankingTransactionsModule } from '../BankingTransactions/BankingTransactions.module'; +import { ExpensesModule } from '../Expenses/Expenses.module'; + +@Module({ + imports: [BankingTransactionsModule, ExpensesModule], + providers: [ + CreateUncategorizedTransactionService, + CategorizeTransactionAsExpense, + ], + exports: [ + CreateUncategorizedTransactionService, + CategorizeTransactionAsExpense, + ], +}) +export class BankingCategorizeModule {} diff --git a/packages/server-nest/src/modules/BankingCategorize/commands/CategorizeTransactionAsExpense.ts b/packages/server-nest/src/modules/BankingCategorize/commands/CategorizeTransactionAsExpense.ts index 8f3b9fd1f..18a387d91 100644 --- a/packages/server-nest/src/modules/BankingCategorize/commands/CategorizeTransactionAsExpense.ts +++ b/packages/server-nest/src/modules/BankingCategorize/commands/CategorizeTransactionAsExpense.ts @@ -4,8 +4,6 @@ import { } from '@/interfaces'; import { Knex } from 'knex'; import { EventEmitter2 } from '@nestjs/event-emitter'; -import { UncategorizedBankTransaction } from '@/modules/BankingTransactions/models/UncategorizedBankTransaction'; -import { Expense } from '@/modules/Expenses/models/Expense.model'; import { BankTransaction } from '@/modules/BankingTransactions/models/BankTransaction'; import { CreateExpense } from '@/modules/Expenses/commands/CreateExpense.service'; import { Inject } from '@nestjs/common'; @@ -21,12 +19,6 @@ export class CategorizeTransactionAsExpense { private readonly eventPublisher: EventEmitter2, private readonly createExpenseService: CreateExpense, - @Inject(UncategorizedBankTransaction.name) - private readonly uncategorizedBankTransactionModel: typeof UncategorizedBankTransaction, - - @Inject(Expense.name) - private readonly expenseModel: typeof Expense, - @Inject(BankTransaction.name) private readonly bankTransactionModel: typeof BankTransaction, ) {} diff --git a/packages/server-nest/src/modules/BankingCategorize/types/BankingCategorize.types.ts b/packages/server-nest/src/modules/BankingCategorize/types/BankingCategorize.types.ts index 03dc7b210..33ba3e8eb 100644 --- a/packages/server-nest/src/modules/BankingCategorize/types/BankingCategorize.types.ts +++ b/packages/server-nest/src/modules/BankingCategorize/types/BankingCategorize.types.ts @@ -30,6 +30,7 @@ export interface ICategorizeCashflowTransactioDTO { transactionNumber: string; transactionType: string; exchangeRate: number; + currencyCode: string; description: string; branchId: number; } diff --git a/packages/server-nest/src/modules/BankingMatching/BankingMatching.module.ts b/packages/server-nest/src/modules/BankingMatching/BankingMatching.module.ts index 1e1573282..9f8a68245 100644 --- a/packages/server-nest/src/modules/BankingMatching/BankingMatching.module.ts +++ b/packages/server-nest/src/modules/BankingMatching/BankingMatching.module.ts @@ -14,12 +14,24 @@ import { DecrementUncategorizedTransactionOnMatchingSubscriber } from './events/ import { ValidateMatchingOnPaymentMadeDeleteSubscriber } from './events/ValidateMatchingOnPaymentMadeDelete'; import { ValidateMatchingOnManualJournalDeleteSubscriber } from './events/ValidateMatchingOnManualJournalDelete'; import { ValidateMatchingOnCashflowDeleteSubscriber } from './events/ValidateMatchingOnCashflowDelete'; +import { BillPaymentsModule } from '../BillPayments/BillPayments.module'; +import { BankingTransactionsModule } from '../BankingTransactions/BankingTransactions.module'; +import { PaymentsReceivedModule } from '../PaymentReceived/PaymentsReceived.module'; +import { MatchBankTransactions } from './commands/MatchTransactions'; +import { MatchTransactionsTypes } from './commands/MatchTransactionsTypes'; const models = [RegisterTenancyModel(MatchedBankTransaction)]; @Module({ + imports: [ + BillPaymentsModule, + BankingTransactionsModule, + PaymentsReceivedModule, + ], providers: [ ...models, + MatchBankTransactions, + MatchTransactionsTypes, GetMatchedTransactionsByBills, GetMatchedTransactionsByCashflow, GetMatchedTransactionsByExpenses, @@ -32,7 +44,7 @@ const models = [RegisterTenancyModel(MatchedBankTransaction)]; DecrementUncategorizedTransactionOnMatchingSubscriber, ValidateMatchingOnPaymentMadeDeleteSubscriber, ValidateMatchingOnManualJournalDeleteSubscriber, - ValidateMatchingOnCashflowDeleteSubscriber + ValidateMatchingOnCashflowDeleteSubscriber, ], exports: [...models], }) diff --git a/packages/server-nest/src/modules/BankingMatching/commands/MatchTransactionsTypes.ts b/packages/server-nest/src/modules/BankingMatching/commands/MatchTransactionsTypes.ts index 73acedaaf..dd81e046b 100644 --- a/packages/server-nest/src/modules/BankingMatching/commands/MatchTransactionsTypes.ts +++ b/packages/server-nest/src/modules/BankingMatching/commands/MatchTransactionsTypes.ts @@ -54,8 +54,8 @@ export class MatchTransactionsTypes { const instance = MatchTransactionsTypesRegistry.getInstance(); this.registered.forEach((registered) => { - const serviceInstanace = Container.get(registered.service); - instance.register(registered.type, serviceInstanace); + // const serviceInstanace = Container.get(registered.service); + // instance.register(registered.type, serviceInstanace); }); MatchTransactionsTypes.registry = instance; } diff --git a/packages/server-nest/src/modules/BankingMatching/queries/GetMatchedTransactionsByBills.service.ts b/packages/server-nest/src/modules/BankingMatching/queries/GetMatchedTransactionsByBills.service.ts index 5b81ffd63..fbadf2414 100644 --- a/packages/server-nest/src/modules/BankingMatching/queries/GetMatchedTransactionsByBills.service.ts +++ b/packages/server-nest/src/modules/BankingMatching/queries/GetMatchedTransactionsByBills.service.ts @@ -1,4 +1,3 @@ -import { initialize } from 'objection'; import { Inject, Injectable } from '@nestjs/common'; import { Knex } from 'knex'; import { first } from 'lodash'; diff --git a/packages/server-nest/src/modules/BankingPlaid/BankingPlaid.module.ts b/packages/server-nest/src/modules/BankingPlaid/BankingPlaid.module.ts index 18f88b591..ed89c2cbb 100644 --- a/packages/server-nest/src/modules/BankingPlaid/BankingPlaid.module.ts +++ b/packages/server-nest/src/modules/BankingPlaid/BankingPlaid.module.ts @@ -1,20 +1,44 @@ -import { Module } from "@nestjs/common"; -import { PlaidUpdateTransactionsOnItemCreatedSubscriber } from "./subscribers/PlaidUpdateTransactionsOnItemCreatedSubscriber"; -import { PlaidUpdateTransactions } from "./command/PlaidUpdateTransactions"; -import { PlaidSyncDb } from "./command/PlaidSyncDB"; -import { PlaidWebooks } from "./command/PlaidWebhooks"; -import { PlaidLinkTokenService } from "./queries/GetPlaidLinkToken.service"; -import { PlaidApplication } from "./PlaidApplication"; +import { Module } from '@nestjs/common'; +import { PlaidUpdateTransactionsOnItemCreatedSubscriber } from './subscribers/PlaidUpdateTransactionsOnItemCreatedSubscriber'; +import { PlaidUpdateTransactions } from './command/PlaidUpdateTransactions'; +import { PlaidSyncDb } from './command/PlaidSyncDB'; +import { PlaidWebooks } from './command/PlaidWebhooks'; +import { PlaidLinkTokenService } from './queries/GetPlaidLinkToken.service'; +import { PlaidApplication } from './PlaidApplication'; +import { RegisterTenancyModel } from '../Tenancy/TenancyModels/Tenancy.module'; +import { PlaidItem } from './models/PlaidItem'; +import { PlaidModule } from '../Plaid/Plaid.module'; +import { AccountsModule } from '../Accounts/Accounts.module'; +import { BankingCategorizeModule } from '../BankingCategorize/BankingCategorize.module'; +import { BankingTransactionsModule } from '../BankingTransactions/BankingTransactions.module'; +import { PlaidItemService } from './command/PlaidItem'; +import { TenancyContext } from '../Tenancy/TenancyContext.service'; +import { InjectSystemModel } from '../System/SystemModels/SystemModels.module'; +import { SystemPlaidItem } from './models/SystemPlaidItem'; +const models = [ + RegisterTenancyModel(PlaidItem), + InjectSystemModel(SystemPlaidItem), +]; @Module({ + imports: [ + PlaidModule, + AccountsModule, + BankingCategorizeModule, + BankingTransactionsModule, + ], providers: [ + ...models, + PlaidItemService, PlaidUpdateTransactions, PlaidSyncDb, PlaidWebooks, PlaidLinkTokenService, PlaidApplication, PlaidUpdateTransactionsOnItemCreatedSubscriber, + TenancyContext, ], + exports: [...models], }) -export class BankingPlaidModule {} \ No newline at end of file +export class BankingPlaidModule {} diff --git a/packages/server-nest/src/modules/BankingPlaid/command/PlaidUpdateTransactions.ts b/packages/server-nest/src/modules/BankingPlaid/command/PlaidUpdateTransactions.ts index 754fe65fc..0afd2ec18 100644 --- a/packages/server-nest/src/modules/BankingPlaid/command/PlaidUpdateTransactions.ts +++ b/packages/server-nest/src/modules/BankingPlaid/command/PlaidUpdateTransactions.ts @@ -15,10 +15,12 @@ import { PLAID_CLIENT } from '@/modules/Plaid/Plaid.module'; @Injectable() export class PlaidUpdateTransactions { constructor( - private readonly plaidItemModel: typeof PlaidItem, private readonly plaidSync: PlaidSyncDb, private readonly uow: UnitOfWork, + @Inject(PlaidItem.name) + private readonly plaidItemModel: typeof PlaidItem, + @Inject(PLAID_CLIENT) private readonly plaidClient: PlaidApi, ) {} diff --git a/packages/server-nest/src/modules/BankingPlaid/PlaidFetchTransactionsJob.ts b/packages/server-nest/src/modules/BankingPlaid/jobs/PlaidFetchTransactionsJob.ts similarity index 100% rename from packages/server-nest/src/modules/BankingPlaid/PlaidFetchTransactionsJob.ts rename to packages/server-nest/src/modules/BankingPlaid/jobs/PlaidFetchTransactionsJob.ts diff --git a/packages/server-nest/src/modules/BankingTranasctionsRegonize/BankingTransactionsRegonize.module.ts b/packages/server-nest/src/modules/BankingTranasctionsRegonize/BankingTransactionsRegonize.module.ts index 8b4688a6c..3d3ce4e43 100644 --- a/packages/server-nest/src/modules/BankingTranasctionsRegonize/BankingTransactionsRegonize.module.ts +++ b/packages/server-nest/src/modules/BankingTranasctionsRegonize/BankingTransactionsRegonize.module.ts @@ -5,10 +5,13 @@ import { GetAutofillCategorizeTransactionService } from './queries/GetAutofillCa import { RevertRecognizedTransactionsService } from './commands/RevertRecognizedTransactions.service'; import { RecognizeTranasctionsService } from './commands/RecognizeTranasctions.service'; import { TriggerRecognizedTransactionsSubscriber } from './events/TriggerRecognizedTransactions'; +import { BankingTransactionsModule } from '../BankingTransactions/BankingTransactions.module'; +import { BankRulesModule } from '../BankRules/BankRules.module'; const models = [RegisterTenancyModel(RecognizedBankTransaction)]; @Module({ + imports: [BankingTransactionsModule, BankRulesModule], providers: [ ...models, GetAutofillCategorizeTransactionService, diff --git a/packages/server-nest/src/modules/BankingTranasctionsRegonize/_types.ts b/packages/server-nest/src/modules/BankingTranasctionsRegonize/_types.ts index 92f394b0a..76ef01b86 100644 --- a/packages/server-nest/src/modules/BankingTranasctionsRegonize/_types.ts +++ b/packages/server-nest/src/modules/BankingTranasctionsRegonize/_types.ts @@ -3,9 +3,7 @@ export interface RevertRecognizedTransactionsCriteria { accountId?: number; } - export interface RecognizeTransactionsCriteria { batch?: string; accountId?: number; } - diff --git a/packages/server-nest/src/modules/BankingTransactions/BankingTransactions.module.ts b/packages/server-nest/src/modules/BankingTransactions/BankingTransactions.module.ts index ee89d278f..eb7fa9e41 100644 --- a/packages/server-nest/src/modules/BankingTransactions/BankingTransactions.module.ts +++ b/packages/server-nest/src/modules/BankingTransactions/BankingTransactions.module.ts @@ -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 {} diff --git a/packages/server-nest/src/modules/BankingTransactions/utils.ts b/packages/server-nest/src/modules/BankingTransactions/utils.ts index 89c113303..9e41d3695 100644 --- a/packages/server-nest/src/modules/BankingTransactions/utils.ts +++ b/packages/server-nest/src/modules/BankingTransactions/utils.ts @@ -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, - categorizeDTO: ICategorizeBankTransactionDTO, + categorizeDTO: ICategorizeCashflowTransactioDTO, ): ICashflowNewCommandDTO => { const uncategorizeTransaction = first(uncategorizeTransactions); const amount = sumBy(uncategorizeTransactions, 'amount'); diff --git a/packages/server-nest/src/modules/BankingTransactionsExclude/BankingTransactionsExclude.module.ts b/packages/server-nest/src/modules/BankingTransactionsExclude/BankingTransactionsExclude.module.ts index 4cde2b708..05177cf8c 100644 --- a/packages/server-nest/src/modules/BankingTransactionsExclude/BankingTransactionsExclude.module.ts +++ b/packages/server-nest/src/modules/BankingTransactionsExclude/BankingTransactionsExclude.module.ts @@ -7,8 +7,10 @@ import { ExcludeBankTransactionsService } from './commands/ExcludeBankTransactio import { UnexcludeBankTransactionsService } from './commands/UnexcludeBankTransactions.service'; import { DecrementUncategorizedTransactionOnExclude } from './subscribers/DecrementUncategorizedTransactionOnExclude'; import { BankingTransactionsExcludeController } from './BankingTransactionsExclude.controller'; +import { BankingTransactionsModule } from '../BankingTransactions/BankingTransactions.module'; @Module({ + imports: [BankingTransactionsModule], providers: [ ExcludeBankTransactionsApplication, ExcludeBankTransactionService, diff --git a/packages/server-nest/src/modules/BillPayments/BillPayments.module.ts b/packages/server-nest/src/modules/BillPayments/BillPayments.module.ts index 85c704d99..2feb3c04a 100644 --- a/packages/server-nest/src/modules/BillPayments/BillPayments.module.ts +++ b/packages/server-nest/src/modules/BillPayments/BillPayments.module.ts @@ -35,7 +35,7 @@ import { AccountsModule } from '../Accounts/Accounts.module'; BillPaymentGLEntries, BillPaymentGLEntriesSubscriber, ], - exports: [BillPaymentValidators], + exports: [BillPaymentValidators, CreateBillPaymentService], controllers: [BillPaymentsController], }) export class BillPaymentsModule {} diff --git a/packages/server-nest/src/modules/BillPayments/types/BillPayments.types.ts b/packages/server-nest/src/modules/BillPayments/types/BillPayments.types.ts index 31cdbb06e..15bae9f28 100644 --- a/packages/server-nest/src/modules/BillPayments/types/BillPayments.types.ts +++ b/packages/server-nest/src/modules/BillPayments/types/BillPayments.types.ts @@ -12,7 +12,7 @@ export interface IBillPaymentDTO { amount: number; paymentAccountId: number; paymentNumber?: string; - paymentDate: Date; + paymentDate: Date | string; exchangeRate?: number; statement: string; reference: string; diff --git a/packages/server-nest/src/modules/Expenses/Expenses.module.ts b/packages/server-nest/src/modules/Expenses/Expenses.module.ts index 596d3e345..69f8c59f2 100644 --- a/packages/server-nest/src/modules/Expenses/Expenses.module.ts +++ b/packages/server-nest/src/modules/Expenses/Expenses.module.ts @@ -19,6 +19,9 @@ import { BranchesModule } from '../Branches/Branches.module'; @Module({ imports: [LedgerModule, BranchesModule], controllers: [ExpensesController], + exports: [ + CreateExpense, + ], providers: [ CreateExpense, ExpenseDTOTransformer, diff --git a/packages/server-nest/src/modules/PaymentReceived/PaymentReceived.application.ts b/packages/server-nest/src/modules/PaymentReceived/PaymentReceived.application.ts index a12d52d09..2a6043c9c 100644 --- a/packages/server-nest/src/modules/PaymentReceived/PaymentReceived.application.ts +++ b/packages/server-nest/src/modules/PaymentReceived/PaymentReceived.application.ts @@ -46,10 +46,8 @@ export class PaymentReceivesApplication { /** * Edit details the given payment receive with associated entries. - * @param {number} tenantId - * @param {number} paymentReceiveId - * @param {IPaymentReceivedEditDTO} paymentReceiveDTO - * @param {ISystemUser} authorizedUser + * @param {number} paymentReceiveId - Payment receive id. + * @param {IPaymentReceivedEditDTO} paymentReceiveDTO - Payment receive data. * @returns */ public editPaymentReceive( diff --git a/packages/server-nest/src/modules/PaymentReceived/PaymentsReceived.module.ts b/packages/server-nest/src/modules/PaymentReceived/PaymentsReceived.module.ts index c2c7b4330..934d6c33a 100644 --- a/packages/server-nest/src/modules/PaymentReceived/PaymentsReceived.module.ts +++ b/packages/server-nest/src/modules/PaymentReceived/PaymentsReceived.module.ts @@ -49,7 +49,7 @@ import { AccountsModule } from '../Accounts/Accounts.module'; PaymentReceivedGLEntriesSubscriber, PaymentReceivedSyncInvoicesSubscriber, ], - exports: [PaymentReceivesApplication], + exports: [PaymentReceivesApplication, CreatePaymentReceivedService], imports: [ ChromiumlyTenancyModule, TemplateInjectableModule, diff --git a/packages/server-nest/src/modules/System/SystemModels/SystemModels.module.ts b/packages/server-nest/src/modules/System/SystemModels/SystemModels.module.ts index 5bfe42bfa..1ee0e97b2 100644 --- a/packages/server-nest/src/modules/System/SystemModels/SystemModels.module.ts +++ b/packages/server-nest/src/modules/System/SystemModels/SystemModels.module.ts @@ -18,7 +18,7 @@ const modelProviders = models.map((model) => { }); export const InjectSystemModel = (model: typeof Model) => ({ - value: model, + useValue: model, provide: model.name, });