import { FindConfig } from "../common"; import { IModuleService } from "../modules-sdk"; import { Context } from "../shared-context"; import { CurrencyDTO, FilterableCurrencyProps } from "./common"; /** * The main service interface for the Currency Module. */ export interface ICurrencyModuleService extends IModuleService { /** * This method retrieves a currency by its code and and optionally based on the provided configurations. * * @param {string} code - The code of the currency to retrieve. * @param {FindConfig} config - * The configurations determining how the currency is retrieved. Its properties, such as `select` or `relations`, accept the * attributes or relations associated with a currency. * @param {Context} sharedContext - A context used to share resources, such as transaction manager, between the application and the module. * @returns {Promise} The retrieved currency. * * @example * const currency = await currencyModuleService.retrieveCurrency("usd") */ retrieveCurrency(code: string, config?: FindConfig, sharedContext?: Context): Promise; /** * This method is used to retrieve a paginated list of currencies based on optional filters and configuration. * * @param {FilterableCurrencyProps} filters - The filters to apply on the retrieved currencies. * @param {FindConfig} config - * The configurations determining how the currencies are retrieved. Its properties, such as `select` or `relations`, accept the * attributes or relations associated with a currency. * @param {Context} sharedContext - A context used to share resources, such as transaction manager, between the application and the module. * @returns {Promise} The list of currencies. * * @example * * To retrieve a list of currencies using their codes: * * ```ts * const currencies = await currencyModuleService.listCurrencies({ * code: ["usd", "eur"], * }) * ``` * * By default, only the first `15` records are retrieved. You can control pagination by specifying the `skip` and `take` properties of the `config` parameter: * * ```ts * const currencies = await currencyModuleService.listCurrencies( * { * code: ["usd", "eur"], * }, * { * take: 20, * skip: 2, * } * ) * ``` */ listCurrencies(filters?: FilterableCurrencyProps, config?: FindConfig, sharedContext?: Context): Promise; /** * This method is used to retrieve a paginated list of currencies along with the total count of available currencies satisfying the provided filters. * * @param {FilterableCurrencyProps} filters - The filters to apply on the retrieved currencies. * @param {FindConfig} config - * The configurations determining how the currencies are retrieved. Its properties, such as `select` or `relations`, accept the * attributes or relations associated with a currency. * @param {Context} sharedContext - A context used to share resources, such as transaction manager, between the application and the module. * @returns {Promise<[CurrencyDTO[], number]>} The list of currencies along with the total count. * * @example * * To retrieve a list of currencies using their codes: * * ```ts * const [currencies, count] = * await currencyModuleService.listAndCountCurrencies({ * code: ["usd", "eur"], * }) * ``` * * By default, only the first `15` records are retrieved. You can control pagination by specifying the `skip` and `take` properties of the `config` parameter: * * ```ts * const [currencies, count] = * await currencyModuleService.listAndCountCurrencies( * { * code: ["usd", "eur"], * }, * { * take: 20, * skip: 2, * } * ) * ``` */ listAndCountCurrencies(filters?: FilterableCurrencyProps, config?: FindConfig, sharedContext?: Context): Promise<[CurrencyDTO[], number]>; } //# sourceMappingURL=service.d.ts.map