// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.4 // protoc v7.34.0 // source: exchange_rates.proto /* eslint-disable */ import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; import { wrappers } from "protobufjs"; import { Observable } from "rxjs"; import { Struct } from "./google/protobuf/struct"; export const protobufPackage = "exchange_rates"; export enum ExchangeCalculationDealStatus { EXCHANGE_CALCULATION_DEAL_STATUS_UNSPECIFIED = 0, EXCHANGE_CALCULATION_DEAL_STATUS_NO_DEAL = 1, EXCHANGE_CALCULATION_DEAL_STATUS_WITH_PAYMENT = 2, EXCHANGE_CALCULATION_DEAL_STATUS_IN_PROGRESS = 3, EXCHANGE_CALCULATION_DEAL_STATUS_COMPLETED = 4, EXCHANGE_CALCULATION_DEAL_STATUS_CANCELLED = 5, UNRECOGNIZED = -1, } export enum ExchangeCalculationAllowedAction { EXCHANGE_CALCULATION_ALLOWED_ACTION_UNSPECIFIED = 0, EXCHANGE_CALCULATION_ALLOWED_ACTION_CREATE_DEAL = 1, EXCHANGE_CALCULATION_ALLOWED_ACTION_OPEN_DEAL = 2, UNRECOGNIZED = -1, } export interface CurrencySetting { id: string; shortName: string; name?: string | undefined; currencyType?: string | undefined; currencyTypeId?: string | undefined; symbol?: string | undefined; priorityBuy?: number | undefined; prioritySell?: number | undefined; priceBuy?: string | undefined; priceSell?: string | undefined; onePriceForVariationsBuy: boolean; onePriceBuyTypeId?: string | undefined; onePriceBuyType?: string | undefined; onePriceForVariationsSell: boolean; onePriceSellTypeId?: string | undefined; onePriceSellType?: string | undefined; outputRounding?: number | undefined; } export interface GetCurrencySettingsRequest { search?: string | undefined; } export interface GetCurrencySettingsResponse { exist: boolean; settings: CurrencySetting[]; } export interface UpdateCurrencySettingRequest { id: string; priorityBuy?: number | undefined; prioritySell?: number | undefined; priceBuy?: string | undefined; priceSell?: string | undefined; onePriceForVariationsBuy?: boolean | undefined; onePriceBuyTypeId?: string | undefined; onePriceForVariationsSell?: boolean | undefined; onePriceSellTypeId?: string | undefined; outputRounding?: number | undefined; } export interface UpdateCurrencySettingResponse { ok: boolean; setting?: CurrencySetting | undefined; error?: string | undefined; } export interface GetRatesPageRequest { slug?: string | undefined; } export interface RatesPageRow { key: string; label: string; currency: string; id: number; iconUrl?: string | undefined; buyingRate: string; sellingRate: string; buyStr: string; sellStr: string; } export interface GetRatesPageResponse { ok: boolean; slug: string; title: string; updatedAt: string; logoUrl: string; qrCodeUrl: string; qrText: string; rows: RatesPageRow[]; error?: string | undefined; } export interface RefreshRatesPageRequest { slug?: string | undefined; } export interface RefreshRatesPageResponse { ok: boolean; slug: string; updatedAt?: string | undefined; rowsCount?: number | undefined; error?: string | undefined; } export interface GetExchangeRatesRequest { } export interface ExchangeRate { id: string; pair: string; firstCurrency: string; secondCurrency: string; exchangeRate?: number | undefined; realExchangeRate?: number | undefined; isNew: boolean; buyPrices?: { [key: string]: any } | undefined; sellPrices?: { [key: string]: any } | undefined; percents?: { [key: string]: any } | undefined; createdAt: string; updatedAt: string; } export interface GetExchangeRatesResponse { exist: boolean; rates: ExchangeRate[]; } export interface GetCompetitorRatesRequest { } export interface CompetitorRate { company: string; rates: { [key: string]: string }; date: string; } export interface CompetitorRate_RatesEntry { key: string; value: string; } export interface GetCompetitorRatesResponse { exist: boolean; rates: CompetitorRate[]; } export interface MarketRate { id: string; updatedAt: string; inputCurrency: string; outputCurrency: string; rate: number; market?: string | undefined; } export interface GetMarketRatesRequest { } export interface GetMarketRatesResponse { exist: boolean; rates: MarketRate[]; } export interface GetMarketRateRequest { id: string; } export interface GetMarketRateResponse { exist: boolean; rate?: MarketRate | undefined; } export interface PrimeRate { id: string; inputCurrencyId: string; outputCurrencyId: string; inputCurrency?: string | undefined; outputCurrency?: string | undefined; rate: number; } export interface CreatePrimeRateRequest { inputCurrencyId: string; outputCurrencyId: string; rate: number; } export interface CreatePrimeRateResponse { ok: boolean; rate?: PrimeRate | undefined; error?: string | undefined; } export interface GetPrimeRateRequest { id: string; } export interface GetPrimeRateResponse { exist: boolean; rate?: PrimeRate | undefined; } export interface GetPrimeRatesRequest { } export interface GetPrimeRatesResponse { exist: boolean; rates: PrimeRate[]; } export interface UpdatePrimeRateRequest { id: string; inputCurrencyId?: string | undefined; outputCurrencyId?: string | undefined; rate?: number | undefined; } export interface UpdatePrimeRateResponse { ok: boolean; rate?: PrimeRate | undefined; error?: string | undefined; } export interface DeletePrimeRateRequest { id: string; } export interface DeletePrimeRateResponse { ok: boolean; error?: string | undefined; } export interface GetCustomRatesRequest { } export interface CustomRate { id: string; inputCurrencyId: string; outputCurrencyId: string; inputCurrency?: string | undefined; outputCurrency?: string | undefined; rate: number; rateProfit: string; } export interface GetCustomRatesResponse { exist: boolean; rates: CustomRate[]; } export interface UpdateCustomRateRequest { id: string; inputCurrencyId?: string | undefined; outputCurrencyId?: string | undefined; rate?: number | undefined; rateProfit?: string | undefined; } export interface UpdateCustomRateResponse { ok: boolean; rate?: CustomRate | undefined; error?: string | undefined; } export interface GetBybitRateProfitRequest { } export interface GetBybitRateProfitResponse { exist: boolean; rateProfit?: string | undefined; } export interface UpdateBybitRateProfitRequest { rateProfit: string; } export interface UpdateBybitRateProfitResponse { ok: boolean; rateProfit?: string | undefined; error?: string | undefined; } export interface AuthManagerContext { managerId: string; officeIds: string[]; canCrossOffice: boolean; requestId?: string | undefined; clientType?: string | undefined; permissions: string[]; isSuperAdmin: boolean; } export interface CalculateExchangeRequest { authManagerContext?: AuthManagerContext | undefined; inputCurrency: string; outputCurrency: string; currencyForAmount: string; amount: number; adjustment?: number | undefined; promoDiscount?: number | undefined; customerId?: string | undefined; disableRounding?: boolean | undefined; fixedRate?: number | undefined; } export interface CalculateExchangeResult { result: boolean; calculationId?: string | undefined; inputCurrencyQuantity: number; outputCurrencyQuantity: number; exchangeRateForMessage: string; exchangeRate: number; realExchangeRate: number; finalPercent: number; adjustment: number; hasCustomer: boolean; customerId?: string | undefined; availableAgents: number[]; exchangeRateBeforeRounding?: number | undefined; realRateForMessage: string; } export interface CalculateExchangeResponse { ok: boolean; result?: CalculateExchangeResult | undefined; error?: string | undefined; validationErrors?: { [key: string]: any } | undefined; } export interface GetExchangeCalculationRequest { calculationId: string; } export interface ExchangeCalculation { id: string; customerId?: string | undefined; managerId?: string | undefined; inputCurrencyId: string; outputCurrencyId: string; currencyForAmountId: string; amount: number; inputCurrencyQuantity: number; outputCurrencyQuantity: number; exchangeRate: number; realExchangeRate: number; finalPercent: number; adjustment: number; promoDiscount: number; createdAt: string; updatedAt: string; } export interface GetExchangeCalculationResponse { exist: boolean; result?: ExchangeCalculation | undefined; } export interface GetExchangeCalculationHistoryRequest { dateFrom?: string | undefined; dateTo?: string | undefined; amountFrom?: number | undefined; amountTo?: number | undefined; inputCurrency?: string | undefined; outputCurrency?: | string | undefined; /** no_payment | with_payment | with_exchange | completed */ status?: string | undefined; search?: string | undefined; page?: number | undefined; pageSize?: number | undefined; authManagerContext?: AuthManagerContext | undefined; } export interface ExchangeCalculationFiltersRequest { dateFrom?: string | undefined; dateTo?: string | undefined; amountFrom?: number | undefined; amountTo?: number | undefined; inputCurrency?: string | undefined; outputCurrency?: | string | undefined; /** no_payment | with_payment | with_exchange | completed */ status?: string | undefined; search?: string | undefined; authManagerContext?: AuthManagerContext | undefined; } export interface ExchangeCalculationHistoryAppliedFilters { dateFrom?: string | undefined; dateTo?: string | undefined; amountFrom?: number | undefined; amountTo?: number | undefined; inputCurrency?: string | undefined; outputCurrency?: string | undefined; status?: string | undefined; search?: string | undefined; } export interface ExchangeCalculationHistoryPagination { page: number; pageSize: number; totalPages: number; totalCount: number; hasNext: boolean; hasPrevious: boolean; } export interface ExchangeCalculationHistoryItem { id: string; createdAt: string; customerName?: string | undefined; inputCurrency: string; outputCurrency: string; inputCurrencyQuantity: number; outputCurrencyQuantity: number; exchangeRate: number; finalPercent: number; managerUsername?: string | undefined; hasPayment: boolean; paymentUuid?: string | undefined; hasExchange: boolean; exchangeId?: string | undefined; exchangeCompleted?: | boolean | undefined; /** legacy: no_payment | with_payment | with_exchange | completed */ status: string; dealStatus: ExchangeCalculationDealStatus; allowedActions: ExchangeCalculationAllowedAction[]; canCreateDeal: boolean; canOpenDeal: boolean; } export interface GetExchangeCalculationHistoryResponse { exist: boolean; items: ExchangeCalculationHistoryItem[]; currencies: string[]; filters?: ExchangeCalculationHistoryAppliedFilters | undefined; pagination?: ExchangeCalculationHistoryPagination | undefined; } export interface CalculationsInputCurrencySummaryItem { currency: string; total: number; completed: number; inProgress: number; } export interface GetExchangeCalculationStatsResponse { totalCount: number; uniqueCustomers: number; withExchangeCount: number; completedCount: number; items: CalculationsInputCurrencySummaryItem[]; } export interface UpdateCalculationPaymentParamsRequest { calculationId: string; paymentId: string; paymentIdStatus?: number | undefined; } export interface UpdateCalculationPaymentParamsResponse { ok: boolean; error?: string | undefined; } export interface UpdateCalculationDealParamsRequest { calculationId: string; exchangeDealId?: string | undefined; exchangeDealStatus?: number | undefined; } export interface UpdateCalculationDealParamsResponse { ok: boolean; error?: string | undefined; } export const EXCHANGE_RATES_PACKAGE_NAME = "exchange_rates"; wrappers[".google.protobuf.Struct"] = { fromObject: Struct.wrap, toObject: Struct.unwrap } as any; export interface ExchangeRatesServiceClient { getCurrencySettings(request: GetCurrencySettingsRequest): Observable; updateCurrencySetting(request: UpdateCurrencySettingRequest): Observable; getRatesPage(request: GetRatesPageRequest): Observable; refreshRatesPage(request: RefreshRatesPageRequest): Observable; createPrimeRate(request: CreatePrimeRateRequest): Observable; getPrimeRate(request: GetPrimeRateRequest): Observable; getPrimeRates(request: GetPrimeRatesRequest): Observable; updatePrimeRate(request: UpdatePrimeRateRequest): Observable; deletePrimeRate(request: DeletePrimeRateRequest): Observable; getExchangeRates(request: GetExchangeRatesRequest): Observable; getCompetitorRates(request: GetCompetitorRatesRequest): Observable; getMarketRates(request: GetMarketRatesRequest): Observable; getMarketRate(request: GetMarketRateRequest): Observable; getCustomRates(request: GetCustomRatesRequest): Observable; updateCustomRate(request: UpdateCustomRateRequest): Observable; getBybitRateProfit(request: GetBybitRateProfitRequest): Observable; updateBybitRateProfit(request: UpdateBybitRateProfitRequest): Observable; calculateExchange(request: CalculateExchangeRequest): Observable; getExchangeCalculation(request: GetExchangeCalculationRequest): Observable; getExchangeCalculationHistory( request: GetExchangeCalculationHistoryRequest, ): Observable; getExchangeCalculationStats( request: ExchangeCalculationFiltersRequest, ): Observable; updateCalculationPaymentParams( request: UpdateCalculationPaymentParamsRequest, ): Observable; updateCalculationDealParams( request: UpdateCalculationDealParamsRequest, ): Observable; } export interface ExchangeRatesServiceController { getCurrencySettings( request: GetCurrencySettingsRequest, ): Promise | Observable | GetCurrencySettingsResponse; updateCurrencySetting( request: UpdateCurrencySettingRequest, ): Promise | Observable | UpdateCurrencySettingResponse; getRatesPage( request: GetRatesPageRequest, ): Promise | Observable | GetRatesPageResponse; refreshRatesPage( request: RefreshRatesPageRequest, ): Promise | Observable | RefreshRatesPageResponse; createPrimeRate( request: CreatePrimeRateRequest, ): Promise | Observable | CreatePrimeRateResponse; getPrimeRate( request: GetPrimeRateRequest, ): Promise | Observable | GetPrimeRateResponse; getPrimeRates( request: GetPrimeRatesRequest, ): Promise | Observable | GetPrimeRatesResponse; updatePrimeRate( request: UpdatePrimeRateRequest, ): Promise | Observable | UpdatePrimeRateResponse; deletePrimeRate( request: DeletePrimeRateRequest, ): Promise | Observable | DeletePrimeRateResponse; getExchangeRates( request: GetExchangeRatesRequest, ): Promise | Observable | GetExchangeRatesResponse; getCompetitorRates( request: GetCompetitorRatesRequest, ): Promise | Observable | GetCompetitorRatesResponse; getMarketRates( request: GetMarketRatesRequest, ): Promise | Observable | GetMarketRatesResponse; getMarketRate( request: GetMarketRateRequest, ): Promise | Observable | GetMarketRateResponse; getCustomRates( request: GetCustomRatesRequest, ): Promise | Observable | GetCustomRatesResponse; updateCustomRate( request: UpdateCustomRateRequest, ): Promise | Observable | UpdateCustomRateResponse; getBybitRateProfit( request: GetBybitRateProfitRequest, ): Promise | Observable | GetBybitRateProfitResponse; updateBybitRateProfit( request: UpdateBybitRateProfitRequest, ): Promise | Observable | UpdateBybitRateProfitResponse; calculateExchange( request: CalculateExchangeRequest, ): Promise | Observable | CalculateExchangeResponse; getExchangeCalculation( request: GetExchangeCalculationRequest, ): | Promise | Observable | GetExchangeCalculationResponse; getExchangeCalculationHistory( request: GetExchangeCalculationHistoryRequest, ): | Promise | Observable | GetExchangeCalculationHistoryResponse; getExchangeCalculationStats( request: ExchangeCalculationFiltersRequest, ): | Promise | Observable | GetExchangeCalculationStatsResponse; updateCalculationPaymentParams( request: UpdateCalculationPaymentParamsRequest, ): | Promise | Observable | UpdateCalculationPaymentParamsResponse; updateCalculationDealParams( request: UpdateCalculationDealParamsRequest, ): | Promise | Observable | UpdateCalculationDealParamsResponse; } export function ExchangeRatesServiceControllerMethods() { return function (constructor: Function) { const grpcMethods: string[] = [ "getCurrencySettings", "updateCurrencySetting", "getRatesPage", "refreshRatesPage", "createPrimeRate", "getPrimeRate", "getPrimeRates", "updatePrimeRate", "deletePrimeRate", "getExchangeRates", "getCompetitorRates", "getMarketRates", "getMarketRate", "getCustomRates", "updateCustomRate", "getBybitRateProfit", "updateBybitRateProfit", "calculateExchange", "getExchangeCalculation", "getExchangeCalculationHistory", "getExchangeCalculationStats", "updateCalculationPaymentParams", "updateCalculationDealParams", ]; for (const method of grpcMethods) { const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); GrpcMethod("ExchangeRatesService", method)(constructor.prototype[method], method, descriptor); } const grpcStreamMethods: string[] = []; for (const method of grpcStreamMethods) { const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); GrpcStreamMethod("ExchangeRatesService", method)(constructor.prototype[method], method, descriptor); } }; } export const EXCHANGE_RATES_SERVICE_NAME = "ExchangeRatesService";