feat(nestjs): migrate to NestJS

This commit is contained in:
Ahmed Bouhuolia
2025-04-07 11:51:24 +02:00
parent f068218a16
commit 55fcc908ef
3779 changed files with 631 additions and 195332 deletions

View File

@@ -0,0 +1,26 @@
import { BillActivateWarehouses } from '../../Activate/BillWarehousesActivate';
import { OnEvent } from '@nestjs/event-emitter';
import { Injectable } from '@nestjs/common';
import { events } from '@/common/events/events';
import { IWarehousesActivatedPayload } from '../../Warehouse.types';
@Injectable()
export class BillsActivateWarehousesSubscriber {
constructor(
private readonly billsActivateWarehouses: BillActivateWarehouses,
) {}
/**
* Updates all inventory transactions with the primary warehouse once
* multi-warehouses feature is activated.
* @param {IWarehousesActivatedPayload}
*/
@OnEvent(events.warehouse.onActivated)
async updateBillsWithWarehouseOnActivated ({
primaryWarehouse,
}: IWarehousesActivatedPayload) {
await this.billsActivateWarehouses.updateBillsWithWarehouse(
primaryWarehouse
);
};
}

View File

@@ -0,0 +1,26 @@
import { Injectable } from '@nestjs/common';
import { CreditNotesActivateWarehouses } from '../../Activate/CreditNoteWarehousesActivate';
import { OnEvent } from '@nestjs/event-emitter';
import { IWarehousesActivatedPayload } from '../../Warehouse.types';
import { events } from '@/common/events/events';
@Injectable()
export class CreditsActivateWarehousesSubscriber {
constructor(
private readonly creditsActivateWarehouses: CreditNotesActivateWarehouses,
) {}
/**
* Updates all inventory transactions with the primary warehouse once
* multi-warehouses feature is activated.
* @param {IWarehousesActivatedPayload}
*/
@OnEvent(events.warehouse.onActivated)
async updateInvoicesWithWarehouseOnActivated({
primaryWarehouse,
}: IWarehousesActivatedPayload) {
await this.creditsActivateWarehouses.updateCreditsWithWarehouse(
primaryWarehouse,
);
}
}

View File

@@ -0,0 +1,26 @@
import { EstimatesActivateWarehouses } from '../../Activate/EstimateWarehousesActivate';
import { OnEvent } from '@nestjs/event-emitter';
import { events } from '@/common/events/events';
import { IWarehousesActivatedPayload } from '../../Warehouse.types';
import { Injectable } from '@nestjs/common';
@Injectable()
export class EstimatesActivateWarehousesSubscriber {
constructor(
private readonly estimatesActivateWarehouses: EstimatesActivateWarehouses,
) {}
/**
* Updates all inventory transactions with the primary warehouse once
* multi-warehouses feature is activated.
* @param {IWarehousesActivatedPayload}
*/
@OnEvent(events.warehouse.onActivated)
async updateEstimatessWithWarehouseOnActivated({
primaryWarehouse,
}: IWarehousesActivatedPayload) {
await this.estimatesActivateWarehouses.updateEstimatesWithWarehouse(
primaryWarehouse,
);
}
}

View File

@@ -0,0 +1,26 @@
import { InventoryActivateWarehouses } from '../../Activate/InventoryTransactionsWarehousesActivate';
import { OnEvent } from '@nestjs/event-emitter';
import { Injectable } from '@nestjs/common';
import { events } from '@/common/events/events';
import { IWarehousesActivatedPayload } from '../../Warehouse.types';
@Injectable()
export class InventoryActivateWarehousesSubscriber {
constructor(
private readonly inventoryActivateWarehouses: InventoryActivateWarehouses,
) {}
/**
* Updates all inventory transactions with the primary warehouse once
* multi-warehouses feature is activated.
* @param {IWarehousesActivatedPayload}
*/
@OnEvent(events.warehouse.onActivated)
async updateInventoryTransactionsWithWarehouseOnActivated({
primaryWarehouse,
}: IWarehousesActivatedPayload) {
await this.inventoryActivateWarehouses.updateInventoryTransactionsWithWarehouse(
primaryWarehouse,
);
}
}

View File

@@ -0,0 +1,26 @@
import { Injectable } from '@nestjs/common';
import { InvoicesActivateWarehouses } from '../../Activate/InvoiceWarehousesActivate';
import { OnEvent } from '@nestjs/event-emitter';
import { IWarehousesActivatedPayload } from '../../Warehouse.types';
import { events } from '@/common/events/events';
@Injectable()
export class InvoicesActivateWarehousesSubscriber {
constructor(
private readonly invoicesActivateWarehouses: InvoicesActivateWarehouses,
) {}
/**
* Updates all inventory transactions with the primary warehouse once
* multi-warehouses feature is activated.
* @param {IWarehousesActivatedPayload}
*/
@OnEvent(events.warehouse.onActivated)
async updateInvoicesWithWarehouseOnActivated({
primaryWarehouse,
}: IWarehousesActivatedPayload) {
await this.invoicesActivateWarehouses.updateInvoicesWithWarehouse(
primaryWarehouse,
);
}
}

View File

@@ -0,0 +1,27 @@
import { OnEvent } from '@nestjs/event-emitter';
import { Injectable } from '@nestjs/common';
import { ReceiptActivateWarehouses } from '../../Activate/ReceiptWarehousesActivate';
import { events } from '@/common/events/events';
import { IWarehousesActivatedPayload } from '../../Warehouse.types';
@Injectable()
export class ReceiptsActivateWarehousesSubscriber {
constructor(
private readonly receiptsActivateWarehouses: ReceiptActivateWarehouses,
) {}
/**
* Updates all receipts transactions with the primary warehouse once
* multi-warehouses feature is activated.
* @param {IWarehousesActivatedPayload}
*/
@OnEvent(events.warehouse.onActivated)
async updateInventoryTransactionsWithWarehouseOnActivated({
primaryWarehouse,
}: IWarehousesActivatedPayload) {
await this.receiptsActivateWarehouses.updateReceiptsWithWarehouse(
primaryWarehouse
);
};
}

View File

@@ -0,0 +1,26 @@
import { VendorCreditActivateWarehouses } from '../../Activate/VendorCreditWarehousesActivate';
import { OnEvent } from '@nestjs/event-emitter';
import { Injectable } from '@nestjs/common';
import { IWarehousesActivatedPayload } from '../../Warehouse.types';
import { events } from '@/common/events/events';
@Injectable()
export class VendorCreditsActivateWarehousesSubscriber {
constructor(
private readonly creditsActivateWarehouses: VendorCreditActivateWarehouses,
) {}
/**
* Updates all inventory transactions with the primary warehouse once
* multi-warehouses feature is activated.
* @param {IWarehousesActivatedPayload}
*/
@OnEvent(events.warehouse.onActivated)
async updateCreditsWithWarehouseOnActivated({
primaryWarehouse,
}: IWarehousesActivatedPayload) {
await this.creditsActivateWarehouses.updateCreditsWithWarehouse(
primaryWarehouse,
);
}
}