feat(server): add application layer to exchange rate service

This commit is contained in:
Ahmed Bouhuolia
2024-01-28 18:47:49 +02:00
parent ac7175d83b
commit 1b20d1b073
5 changed files with 54 additions and 50 deletions

View File

@@ -0,0 +1,21 @@
import { Inject } from 'typedi';
import { ExchangeRatesService } from './ExchangeRatesService';
import { EchangeRateLatestPOJO, ExchangeRateLatestDTO } from '@/interfaces';
export class ExchangeRateApplication {
@Inject()
private exchangeRateService: ExchangeRatesService;
/**
* Gets the latest exchange rate.
* @param {number} tenantId
* @param {ExchangeRateLatestDTO} exchangeRateLatestDTO
* @returns {Promise<EchangeRateLatestPOJO>}
*/
public latest(
tenantId: number,
exchangeRateLatestDTO: ExchangeRateLatestDTO
): Promise<EchangeRateLatestPOJO> {
return this.exchangeRateService.latest(tenantId, exchangeRateLatestDTO);
}
}

View File

@@ -1,16 +1,7 @@
import { Service, Inject } from 'typedi';
import { IExchangeRatesService } from '@/interfaces';
import { Service } from 'typedi';
import { ExchangeRate } from '@/lib/ExchangeRate/ExchangeRate';
import { ExchangeRateServiceType } from '@/lib/ExchangeRate/types';
interface ExchangeRateLatestDTO {
toCurrency: string;
}
interface EchangeRateLatestPOJO {
baseCurrency: string;
toCurrency: string;
exchangeRate: number;
}
import { EchangeRateLatestPOJO, ExchangeRateLatestDTO } from '@/interfaces';
@Service()
export class ExchangeRatesService {