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,33 @@
import { Inject, Injectable } from '@nestjs/common';
import { omit } from 'lodash';
import { BranchesSettingsService } from '../BranchesSettings';
@Injectable()
export class BranchTransactionDTOTransformer {
constructor(private readonly branchesSettings: BranchesSettingsService) {}
/**
* Excludes DTO branch id when mutli-warehouses feature is inactive.
* @returns {any}
*/
private excludeDTOBranchIdWhenInactive = async <
T extends { branchId?: number },
>(
DTO: T,
): Promise<Omit<T, 'branchId'> | T> => {
const isActive = await this.branchesSettings.isMultiBranchesActive();
return !isActive ? omit(DTO, ['branchId']) : DTO;
};
/**
* Transforms the input DTO for branches feature.
* @param {T} DTO -
* @returns {Omit<T, 'branchId'> | T}
*/
public transformDTO = async <T extends { branchId?: number }>(
DTO: T,
): Promise<Omit<T, 'branchId'> | T> => {
return this.excludeDTOBranchIdWhenInactive<T>(DTO);
};
}