54 lines
1.2 KiB
Protocol Buffer
54 lines
1.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
package komp_ac.currency_conversion;
|
|
|
|
service CurrencyConversion {
|
|
rpc ConvertCurrency(ConvertCurrencyRequest) returns (ConvertCurrencyResponse);
|
|
rpc ResolveRate(ResolveRateRequest) returns (ResolvedFxRate);
|
|
rpc ListRequiredCurrencies(ListRequiredCurrenciesRequest)
|
|
returns (ListRequiredCurrenciesResponse);
|
|
}
|
|
|
|
message ConvertCurrencyRequest {
|
|
string amount = 1;
|
|
string source_currency = 2;
|
|
string target_currency = 3;
|
|
string source = 4;
|
|
string as_of_date = 5;
|
|
}
|
|
|
|
message ResolveRateRequest {
|
|
string source_currency = 1;
|
|
string target_currency = 2;
|
|
string source = 3;
|
|
string as_of_date = 4;
|
|
}
|
|
|
|
message FxRateComponent {
|
|
string currency = 1;
|
|
string units_per_base = 2;
|
|
}
|
|
|
|
message ResolvedFxRate {
|
|
string source_currency = 1;
|
|
string target_currency = 2;
|
|
string rate = 3;
|
|
string effective_date = 4;
|
|
string source = 5;
|
|
int64 rate_set_id = 6;
|
|
int32 revision = 7;
|
|
string base_currency = 8;
|
|
repeated FxRateComponent components = 9;
|
|
}
|
|
|
|
message ConvertCurrencyResponse {
|
|
string amount = 1;
|
|
string currency = 2;
|
|
ResolvedFxRate resolved_rate = 3;
|
|
}
|
|
|
|
message ListRequiredCurrenciesRequest {}
|
|
|
|
message ListRequiredCurrenciesResponse {
|
|
repeated string currencies = 1;
|
|
}
|