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,40 @@
import { Injectable } from '@nestjs/common';
import { OnEvent } from '@nestjs/event-emitter';
import { events } from '@/common/events/events';
import { ValidateBranchExistance } from '../../Integrations/ValidateBranchExistance';
import {
IExpenseCreatingPayload,
IExpenseEventEditingPayload,
} from '@/modules/Expenses/Expenses.types';
@Injectable()
export class ExpenseBranchValidateSubscriber {
constructor(
private readonly validateBranchExistance: ValidateBranchExistance,
) {}
/**
* Validate branch existance once expense transaction creating.
* @param {IExpenseCreatingPayload} payload
*/
@OnEvent(events.expenses.onCreating)
async validateBranchExistanceOnExpenseCreating({
expenseDTO,
}: IExpenseCreatingPayload) {
await this.validateBranchExistance.validateTransactionBranchWhenActive(
expenseDTO.branchId,
);
}
/**
* Validate branch existance once expense transaction editing.
* @param {IExpenseEventEditingPayload} payload
*/
@OnEvent(events.expenses.onEditing)
async validateBranchExistanceOnExpenseEditing({
expenseDTO,
}: IExpenseEventEditingPayload) {
await this.validateBranchExistance.validateTransactionBranchWhenActive(
expenseDTO.branchId,
);
}
}