diff --git a/packages/server/src/modules/CreditNotes/CreditNotes.module.ts b/packages/server/src/modules/CreditNotes/CreditNotes.module.ts index 4d0628f59..3b4ed39ae 100644 --- a/packages/server/src/modules/CreditNotes/CreditNotes.module.ts +++ b/packages/server/src/modules/CreditNotes/CreditNotes.module.ts @@ -29,6 +29,7 @@ import { CreditNotesImportable } from './commands/CreditNotesImportable'; import { CreditNoteInventoryTransactionsSubscriber } from './subscribers/CreditNoteInventoryTransactionsSubscriber'; import { RefundSyncCreditNoteBalanceSubscriber } from './subscribers/RefundSyncCreditNoteBalanceSubscriber'; import { DeleteCustomerLinkedCreditSubscriber } from './subscribers/DeleteCustomerLinkedCreditSubscriber'; +import { CreditNoteAutoSerialSubscriber } from './subscribers/CreditNoteAutoSerialSubscriber'; import { CreditNoteInventoryTransactions } from './commands/CreditNotesInventoryTransactions'; import { InventoryCostModule } from '../InventoryCost/InventoryCost.module'; import { CreditNoteRefundsModule } from '../CreditNoteRefunds/CreditNoteRefunds.module'; @@ -71,6 +72,7 @@ import { CreditNotesApplyInvoiceModule } from '../CreditNotesApplyInvoice/Credit CreditNoteInventoryTransactionsSubscriber, RefundSyncCreditNoteBalanceSubscriber, DeleteCustomerLinkedCreditSubscriber, + CreditNoteAutoSerialSubscriber, ], exports: [ CreateCreditNoteService, diff --git a/packages/server/src/modules/CreditNotes/subscribers/CreditNoteAutoSerialSubscriber.ts b/packages/server/src/modules/CreditNotes/subscribers/CreditNoteAutoSerialSubscriber.ts index 25764ff07..d1f9e332f 100644 --- a/packages/server/src/modules/CreditNotes/subscribers/CreditNoteAutoSerialSubscriber.ts +++ b/packages/server/src/modules/CreditNotes/subscribers/CreditNoteAutoSerialSubscriber.ts @@ -5,17 +5,17 @@ import { ICreditNoteCreatedPayload } from '../types/CreditNotes.types'; import { events } from '@/common/events/events'; @Injectable() -export default class CreditNoteAutoSerialSubscriber { +export class CreditNoteAutoSerialSubscriber { constructor( private readonly creditNoteIncrementService: CreditNoteAutoIncrementService, - ) {} + ) { } /** * Auto serial increment once credit note created. * @param {ICreditNoteCreatedPayload} payload - */ @OnEvent(events.creditNote.onCreated) - async autoSerialIncrementOnceCreated({}: ICreditNoteCreatedPayload) { + async autoSerialIncrementOnceCreated({ }: ICreditNoteCreatedPayload) { await this.creditNoteIncrementService.incrementSerialNumber(); } } diff --git a/packages/server/src/modules/SaleEstimates/SaleEstimates.module.ts b/packages/server/src/modules/SaleEstimates/SaleEstimates.module.ts index 282a8fc67..d4efa4564 100644 --- a/packages/server/src/modules/SaleEstimates/SaleEstimates.module.ts +++ b/packages/server/src/modules/SaleEstimates/SaleEstimates.module.ts @@ -39,6 +39,7 @@ import { SaleEstimatesExportable } from './SaleEstimatesExportable'; import { SaleEstimatesImportable } from './SaleEstimatesImportable'; import { GetSaleEstimateMailStateService } from './queries/GetSaleEstimateMailState.service'; import { GetSaleEstimateMailTemplateService } from './queries/GetSaleEstimateMailTemplate.service'; +import { SaleEstimateAutoIncrementSubscriber } from './subscribers/SaleEstimateAutoIncrementSubscriber'; @Module({ imports: [ @@ -82,13 +83,14 @@ import { GetSaleEstimateMailTemplateService } from './queries/GetSaleEstimateMai SaleEstimatesExportable, SaleEstimatesImportable, GetSaleEstimateMailStateService, - GetSaleEstimateMailTemplateService + GetSaleEstimateMailTemplateService, + SaleEstimateAutoIncrementSubscriber, ], exports: [ SaleEstimatesExportable, SaleEstimatesImportable, GetSaleEstimateMailStateService, - GetSaleEstimateMailTemplateService - ] + GetSaleEstimateMailTemplateService, + ], }) -export class SaleEstimatesModule {} +export class SaleEstimatesModule { } diff --git a/packages/server/src/modules/SaleEstimates/subscribers/SaleEstimateAutoIncrementSubscriber.ts b/packages/server/src/modules/SaleEstimates/subscribers/SaleEstimateAutoIncrementSubscriber.ts new file mode 100644 index 000000000..6602579ca --- /dev/null +++ b/packages/server/src/modules/SaleEstimates/subscribers/SaleEstimateAutoIncrementSubscriber.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@nestjs/common'; +import { OnEvent } from '@nestjs/event-emitter'; +import { events } from '@/common/events/events'; +import { SaleEstimateIncrement } from '../commands/SaleEstimateIncrement.service'; +import { ISaleEstimateCreatedPayload } from '../types/SaleEstimates.types'; + +@Injectable() +export class SaleEstimateAutoIncrementSubscriber { + constructor(private readonly estimateIncrement: SaleEstimateIncrement) { } + + /** + * Handles increment next number of estimate once be created. + * @param {ISaleEstimateCreatedPayload} payload - + */ + @OnEvent(events.saleEstimate.onCreated) + private async handleEstimateNextNumberIncrement({ }: ISaleEstimateCreatedPayload) { + await this.estimateIncrement.incrementNextEstimateNumber(); + } +} diff --git a/packages/server/src/modules/SaleInvoices/SaleInvoices.module.ts b/packages/server/src/modules/SaleInvoices/SaleInvoices.module.ts index fa2ca82aa..50f3e614a 100644 --- a/packages/server/src/modules/SaleInvoices/SaleInvoices.module.ts +++ b/packages/server/src/modules/SaleInvoices/SaleInvoices.module.ts @@ -52,6 +52,7 @@ import { InvoiceChangeStatusOnMailSentSubscriber } from './subscribers/InvoiceCh import { InvoiceCostGLEntriesSubscriber } from './subscribers/InvoiceCostGLEntriesSubscriber'; import { InvoicePaymentGLRewriteSubscriber } from './subscribers/InvoicePaymentGLRewriteSubscriber'; import { SaleInvoiceWriteInventoryTransactionsSubscriber } from './subscribers/InvoiceWriteInventoryTransactions'; +import { SaleInvoiceAutoIncrementSubscriber } from './subscribers/SaleInvoiceAutoIncrementSubscriber'; import { SaleInvoiceCostGLEntries } from './SaleInvoiceCostGLEntries'; import { InvoicePaymentsGLEntriesRewrite } from './InvoicePaymentsGLRewrite'; import { PaymentsReceivedModule } from '../PaymentReceived/PaymentsReceived.module'; @@ -120,6 +121,7 @@ import { PaymentLinksModule } from '../PaymentLinks/PaymentLinks.module'; InvoiceCostGLEntriesSubscriber, InvoicePaymentGLRewriteSubscriber, SaleInvoiceWriteInventoryTransactionsSubscriber, + SaleInvoiceAutoIncrementSubscriber, InvoicePaymentsGLEntriesRewrite, SaleInvoicesCost, SaleInvoicesExportable, @@ -133,4 +135,4 @@ import { PaymentLinksModule } from '../PaymentLinks/PaymentLinks.module'; SaleInvoicesImportable, ], }) -export class SaleInvoicesModule {} +export class SaleInvoicesModule { } diff --git a/packages/server/src/modules/SaleInvoices/subscribers/SaleInvoiceAutoIncrementSubscriber.ts b/packages/server/src/modules/SaleInvoices/subscribers/SaleInvoiceAutoIncrementSubscriber.ts new file mode 100644 index 000000000..f82d870b6 --- /dev/null +++ b/packages/server/src/modules/SaleInvoices/subscribers/SaleInvoiceAutoIncrementSubscriber.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@nestjs/common'; +import { OnEvent } from '@nestjs/event-emitter'; +import { events } from '@/common/events/events'; +import { SaleInvoiceIncrement } from '../commands/SaleInvoiceIncrement.service'; +import { ISaleInvoiceCreatedPayload } from '../SaleInvoice.types'; + +@Injectable() +export class SaleInvoiceAutoIncrementSubscriber { + constructor(private readonly invoiceIncrement: SaleInvoiceIncrement) { } + + /** + * Handles increment next number of invoice once be created. + * @param {ISaleInvoiceCreatedPayload} payload - + */ + @OnEvent(events.saleInvoice.onCreated) + private async handleInvoiceNextNumberIncrement({ }: ISaleInvoiceCreatedPayload) { + await this.invoiceIncrement.incrementNextInvoiceNumber(); + } +} diff --git a/packages/server/src/modules/SaleReceipts/SaleReceipts.module.ts b/packages/server/src/modules/SaleReceipts/SaleReceipts.module.ts index a586edfb3..1deb8aae6 100644 --- a/packages/server/src/modules/SaleReceipts/SaleReceipts.module.ts +++ b/packages/server/src/modules/SaleReceipts/SaleReceipts.module.ts @@ -39,6 +39,7 @@ import { SaleReceiptsExportable } from './commands/SaleReceiptsExportable'; import { SaleReceiptsImportable } from './commands/SaleReceiptsImportable'; import { GetSaleReceiptMailStateService } from './queries/GetSaleReceiptMailState.service'; import { GetSaleReceiptMailTemplateService } from './queries/GetSaleReceiptMailTemplate.service'; +import { SaleReceiptAutoIncrementSubscriber } from './subscribers/SaleReceiptAutoIncrementSubscriber'; @Module({ controllers: [SaleReceiptsController], @@ -82,7 +83,8 @@ import { GetSaleReceiptMailTemplateService } from './queries/GetSaleReceiptMailT SaleReceiptsExportable, SaleReceiptsImportable, GetSaleReceiptMailStateService, - GetSaleReceiptMailTemplateService + GetSaleReceiptMailTemplateService, + SaleReceiptAutoIncrementSubscriber, ], }) export class SaleReceiptsModule { } diff --git a/packages/server/src/modules/SaleReceipts/subscribers/SaleReceiptAutoIncrementSubscriber.ts b/packages/server/src/modules/SaleReceipts/subscribers/SaleReceiptAutoIncrementSubscriber.ts new file mode 100644 index 000000000..59f8259b3 --- /dev/null +++ b/packages/server/src/modules/SaleReceipts/subscribers/SaleReceiptAutoIncrementSubscriber.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@nestjs/common'; +import { OnEvent } from '@nestjs/event-emitter'; +import { events } from '@/common/events/events'; +import { SaleReceiptIncrement } from '../commands/SaleReceiptIncrement.service'; +import { ISaleReceiptCreatedPayload } from '../types/SaleReceipts.types'; + +@Injectable() +export class SaleReceiptAutoIncrementSubscriber { + constructor(private readonly receiptIncrement: SaleReceiptIncrement) { } + + /** + * Handles increment next number of receipt once be created. + * @param {ISaleReceiptCreatedPayload} payload - + */ + @OnEvent(events.saleReceipt.onCreated) + private async handleReceiptNextNumberIncrement({ }: ISaleReceiptCreatedPayload) { + await this.receiptIncrement.incrementNextReceiptNumber(); + } +} diff --git a/packages/server/src/modules/VendorCredit/VendorCredits.module.ts b/packages/server/src/modules/VendorCredit/VendorCredits.module.ts index adf02af09..58338b8d8 100644 --- a/packages/server/src/modules/VendorCredit/VendorCredits.module.ts +++ b/packages/server/src/modules/VendorCredit/VendorCredits.module.ts @@ -21,6 +21,7 @@ import { VendorCreditGLEntries } from './commands/VendorCreditGLEntries'; import { LedgerModule } from '../Ledger/Ledger.module'; import { AccountsModule } from '../Accounts/Accounts.module'; import { VendorCreditInventoryTransactionsSubscriber } from './subscribers/VendorCreditInventoryTransactionsSusbcriber'; +import { VendorCreditAutoSerialSubscriber } from './subscribers/VendorCreditAutoSerialSubscriber'; import { VendorCreditInventoryTransactions } from './commands/VendorCreditInventoryTransactions'; import { GetVendorCreditsService } from './queries/GetVendorCredits.service'; import { DynamicListModule } from '../DynamicListing/DynamicList.module'; @@ -57,6 +58,7 @@ import { VendorCreditsImportable } from './commands/VendorCreditsImportable'; VendorCreditGlEntriesSubscriber, VendorCreditInventoryTransactions, VendorCreditInventoryTransactionsSubscriber, + VendorCreditAutoSerialSubscriber, VendorCreditsExportable, VendorCreditsImportable, ], diff --git a/packages/server/src/modules/VendorCredit/subscribers/VendorCreditAutoSerialSubscriber.ts b/packages/server/src/modules/VendorCredit/subscribers/VendorCreditAutoSerialSubscriber.ts index b40a33412..48d8d6b34 100644 --- a/packages/server/src/modules/VendorCredit/subscribers/VendorCreditAutoSerialSubscriber.ts +++ b/packages/server/src/modules/VendorCredit/subscribers/VendorCreditAutoSerialSubscriber.ts @@ -1,27 +1,21 @@ -// import { Service, Inject } from 'typedi'; -// import events from '@/subscribers/events'; -// import BaseVendorCredit from '../commands/VendorCreditDTOTransform.service'; -// import { IVendorCreditCreatedPayload } from '@/interfaces'; +import { Injectable } from '@nestjs/common'; +import { OnEvent } from '@nestjs/event-emitter'; +import { events } from '@/common/events/events'; +import { VendorCreditAutoIncrementService } from '../commands/VendorCreditAutoIncrement.service'; +import { IVendorCreditCreatedPayload } from '../types/VendorCredit.types'; -// @Service() -// export default class VendorCreditAutoSerialSubscriber { -// @Inject() -// vendorCreditService: BaseVendorCredit; +@Injectable() +export class VendorCreditAutoSerialSubscriber { + constructor( + private readonly vendorCreditIncrementService: VendorCreditAutoIncrementService, + ) { } -// /** -// * Attaches events with handlers. -// */ -// public attach(bus) { -// bus.subscribe(events.vendorCredit.onCreated, this.autoIncrementOnceCreated); -// } - -// /** -// * Auto serial increment once the vendor credit created. -// * @param {IVendorCreditCreatedPayload} payload -// */ -// private autoIncrementOnceCreated = ({ -// tenantId, -// }: IVendorCreditCreatedPayload) => { -// this.vendorCreditService.incrementSerialNumber(tenantId); -// }; -// } + /** + * Auto serial increment once vendor credit created. + * @param {IVendorCreditCreatedPayload} payload - + */ + @OnEvent(events.vendorCredit.onCreated) + async autoSerialIncrementOnceCreated({ }: IVendorCreditCreatedPayload) { + await this.vendorCreditIncrementService.incrementSerialNumber(); + } +}