exchange broker options

This commit is contained in:
Filipriec
2026-08-24 07:03:57 +02:00
parent 7109be803b
commit 2e95201a71
25 changed files with 246 additions and 39 deletions

View File

@@ -2,6 +2,8 @@ syntax = "proto3";
package komp_ac.exchange_rates;
import "common.proto";
// Selects WHICH DATE supplies the rate; this is independent of where the rate
// comes from. These are not four user-facing choices: UNSPECIFIED is protobuf's
// zero-value sentinel and is rejected when an explicit selection is supplied.
@@ -67,6 +69,10 @@ message ExchangeRateSelection {
}
service ExchangeRateService {
// Lists the direct-rate providers compiled into and registered by this
// server instance. Clients use these stable IDs when configuring profiles.
rpc ListRateSources(komp_ac.common.Empty)
returns (ListRateSourcesResponse);
rpc PreviewDirectConversion(PreviewDirectConversionRequest)
returns (PreviewDirectConversionResponse);
rpc ListConversionEvidence(ListConversionEvidenceRequest)
@@ -77,6 +83,14 @@ service ExchangeRateService {
returns (ProfileForeignCurrency);
}
message RateSourceProvider {
string id = 1;
}
message ListRateSourcesResponse {
repeated RateSourceProvider sources = 1;
}
message PreviewDirectConversionRequest {
string original_amount = 1;
string original_currency = 2;

View File

@@ -443,6 +443,11 @@ message TableDetail {
// requested profile when a global table is being listed. See
// ProfileTreeResponse.Table.profile_name.
string profile_name = 11;
// True when the physical table contains at least one row, including a
// soft-deleted row. Populated tables are append-only: PutTableDefinition is
// no longer available, while AddTableColumns remains available.
bool has_data = 12;
}
// Server-owned behavior for one logical column returned in table details.