Inject
TSXinject
1import {
2 ContainerRegistryManager,
3 CurrencyExchangeService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class MyPluginService {
10 @Inject(CurrencyExchangeService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private currencyExchangeService: CurrencyExchangeService;
12}Methods
- updateRate(fromCurrencyId: number, toCurrencyId: number, rate: number) — upsert the from→to rate and maintain the inverse
- getRate(fromCurrencyId: number, toCurrencyId: number): Promise<CurrencyExchangeRateEnity | null> — latest rate for the pair (entity name spelling matches source)
- getLatestRates(fromCurrencyId: number) — latest rates from one source currency to others
TSXrates
1import {
2 ContainerRegistryManager,
3 CurrencyExchangeService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class FxService {
10 @Inject(CurrencyExchangeService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private fx: CurrencyExchangeService;
12
13 async setUsdToMmk(usdId: number, mmkId: number, rate: number) {
14 await this.fx.updateRate(usdId, mmkId, rate);
15 }
16
17 async convertHint(fromId: number, toId: number) {
18 const row = await this.fx.getRate(fromId, toId);
19 return row?.rate ?? null;
20 }
21
22 async board(fromId: number) {
23 return this.fx.getLatestRates(fromId);
24 }
25}