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,24 @@
import { Knex } from 'knex';
import { CreditNote } from '@/modules/CreditNotes/models/CreditNote';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
import { Injectable } from '@nestjs/common';
@Injectable()
export class CreditNoteActivateBranches {
constructor(
private readonly creditNoteModel: TenantModelProxy<typeof CreditNote>,
) {}
/**
* Updates all creidt notes transactions with the primary branch.
* @param {number} primaryBranchId
* @returns {Promise<void>}
*/
public updateCreditsWithBranch = async (
primaryBranchId: number,
trx?: Knex.Transaction
) => {
// Updates the sale invoice with primary branch.
await this.creditNoteModel().query(trx).update({ branchId: primaryBranchId });
};
}

View File

@@ -0,0 +1,24 @@
import { PaymentReceived } from '@/modules/PaymentReceived/models/PaymentReceived';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
import { Injectable } from '@nestjs/common';
import { Knex } from 'knex';
@Injectable()
export class PaymentReceiveActivateBranches {
constructor(
private readonly paymentReceivedModel: TenantModelProxy<typeof PaymentReceived>,
) {}
/**
* Updates all creidt notes transactions with the primary branch.
* @param {number} primaryBranchId
* @returns {Promise<void>}
*/
public updatePaymentsWithBranch = async (
primaryBranchId: number,
trx?: Knex.Transaction
) => {
// Updates the sale invoice with primary branch.
await this.paymentReceivedModel().query(trx).update({ branchId: primaryBranchId });
};
}

View File

@@ -0,0 +1,25 @@
import { Knex } from 'knex';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
import { PaymentReceived } from '@/modules/PaymentReceived/models/PaymentReceived';
import { Inject, Injectable } from '@nestjs/common';
@Injectable()
export class SaleEstimateActivateBranches {
constructor(
@Inject(PaymentReceived.name)
private readonly paymentReceivedModel: TenantModelProxy<typeof PaymentReceived>,
) {}
/**
* Updates all sale estimates transactions with the primary branch.
* @param {number} primaryBranchId
* @returns {Promise<void>}
*/
public updateEstimatesWithBranch = async (
primaryBranchId: number,
trx?: Knex.Transaction
) => {
// Updates the sale invoice with primary branch.
await this.paymentReceivedModel().query(trx).update({ branchId: primaryBranchId });
};
}

View File

@@ -0,0 +1,26 @@
import { Injectable } from '@nestjs/common';
import { Knex } from 'knex';
import { SaleInvoice } from '@/modules/SaleInvoices/models/SaleInvoice';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
@Injectable()
export class SaleInvoiceActivateBranches {
constructor(
private readonly saleInvoiceModel: TenantModelProxy<typeof SaleInvoice>,
) {}
/**
* Updates all sale invoices transactions with the primary branch.
* @param {number} primaryBranchId
* @returns {Promise<void>}
*/
public updateInvoicesWithBranch = async (
primaryBranchId: number,
trx?: Knex.Transaction,
) => {
// Updates the sale invoice with primary branch.
await this.saleInvoiceModel()
.query(trx)
.update({ branchId: primaryBranchId });
};
}

View File

@@ -0,0 +1,26 @@
import { Knex } from 'knex';
import { Injectable } from '@nestjs/common';
import { SaleReceipt } from '@/modules/SaleReceipts/models/SaleReceipt';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
@Injectable()
export class SaleReceiptActivateBranches {
constructor(
private readonly saleReceiptModel: TenantModelProxy<typeof SaleReceipt>,
) {}
/**
* Updates all sale receipts transactions with the primary branch.
* @param {number} primaryBranchId
* @returns {Promise<void>}
*/
public updateReceiptsWithBranch = async (
primaryBranchId: number,
trx?: Knex.Transaction,
) => {
// Updates the sale receipt with primary branch.
await this.saleReceiptModel()
.query(trx)
.update({ branchId: primaryBranchId });
};
}