decoupled module system with exchange rates

This commit is contained in:
Priec
2026-09-07 18:27:43 +02:00
parent 2cf442a954
commit 44dc6cc572
10 changed files with 272 additions and 2 deletions

View File

@@ -9,6 +9,9 @@ import "common.proto";
// logical "profiles" (schemas). Each table has stored structure, links, and
// validation rules.
service TableDefinition {
rpc GetModuleConfiguration(GetModuleConfigurationRequest) returns (ModuleConfiguration);
rpc SetModuleConfiguration(SetModuleConfigurationRequest) returns (ModuleConfiguration);
// Creates a new table (and schema if missing) with system columns,
// linked-table foreign keys, user-defined columns, and optional indexes.
// Also inserts metadata and default validation rules. Entirely transactional.
@@ -102,6 +105,30 @@ service TableDefinition {
rpc DeleteProfile(DeleteProfileRequest) returns (DeleteProfileResponse);
}
message ModuleScope {
oneof target {
komp_ac.common.Empty global = 1;
string profile_name = 2;
}
}
message GetModuleConfigurationRequest {
ModuleScope scope = 1;
}
message SetModuleConfigurationRequest {
ModuleScope scope = 1;
repeated string enabled_modules = 2;
}
message ModuleConfiguration {
ModuleScope scope = 1;
repeated string available_modules = 2;
repeated string selected_modules = 3;
repeated string inherited_modules = 4;
repeated string effective_modules = 5;
}
message CreateCustomExchangeRatesTableRequest {
string profile_name = 1;
}