Inject
TSXinject
1import {
2 ContainerRegistryManager,
3 CurrencyService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class MyPluginService {
10 @Inject(CurrencyService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private currencyService: CurrencyService;
12}Lookup methods
- getById(id: number): Promise<CurrencyEntity | null> — currency by id
- findBySymbol(symbol: string): Promise<CurrencyEntity | null> — e.g. "$" or "K"
- get(skip: number, limit: number): Promise<CurrencyEntity[]> — paginated list
TSXlookup
1import {
2 ContainerRegistryManager,
3 CurrencyService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class PriceService {
10 @Inject(CurrencyService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private currencyService: CurrencyService;
12
13 async resolve(symbol: string) {
14 const currency = await this.currencyService.findBySymbol(symbol);
15 if (!currency) throw new Error("Unknown currency");
16 return currency;
17 }
18}Create / update / delete
- create(params: CreateServiceProps<CreateCurrencyDto & OptionalCreatedByUser>) — register currency (currency, symbol, code, decimalPlace)
- update(id: number, currency: CreateCurrencyDto, updateByUserId?: number) — update fields
- delete(id: number) — remove currency
TSXcreate
1import {
2 ContainerRegistryManager,
3 CurrencyService,
4 Inject,
5 Service,
6} from "@quan-erp/shared-backend-core";
7
8@Service()
9export class CurrencyAdminService {
10 @Inject(CurrencyService, ContainerRegistryManager.BUILTIN_PLUGIN)
11 private currencyService: CurrencyService;
12
13 async addMmk(createdByUserId: number) {
14 return this.currencyService.create({
15 createdByUserId,
16 data: {
17 currency: "Myanmar Kyat",
18 symbol: "K",
19 code: "MMK",
20 decimalPlace: 0,
21 },
22 });
23 }
24}