refactor(nestjs): currencies module

This commit is contained in:
Ahmed Bouhuolia
2025-05-17 12:14:02 +02:00
parent 4de1ef71ca
commit ce058b9416
16 changed files with 504 additions and 1 deletions

View File

@@ -0,0 +1,35 @@
import { Inject, Injectable } from '@nestjs/common';
import { Currency } from '../models/Currency.model';
import { TenantModelProxy } from '../../System/models/TenantBaseModel';
import { EditCurrencyDto } from '../dtos/EditCurrency.dto';
@Injectable()
export class EditCurrencyService {
constructor(
@Inject(Currency.name)
private readonly currencyModel: TenantModelProxy<typeof Currency>,
) {}
/**
* Edit details of the given currency.
* @param {number} tenantId
* @param {number} currencyId
* @param {ICurrencyDTO} currencyDTO
*/
public async editCurrency(
currencyId: number,
currencyDTO: EditCurrencyDto,
): Promise<Currency> {
const foundCurrency = await this.currencyModel()
.query()
.findOne('id', currencyId)
.throwIfNotFound();
const currency = await this.currencyModel()
.query()
.patchAndFetchById(currencyId, {
...currencyDTO,
});
return currency;
}
}