Demo

CurrencyService

Currencies registered in the system — create, list, lookup by id/symbol, update, and delete.

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}