From ce7b7a49dc82c13007f7cb79c4525f80fcab7a25 Mon Sep 17 00:00:00 2001 From: Priec Date: Mon, 14 Sep 2026 15:23:01 +0200 Subject: [PATCH] modules can expose data to other modules from now on --- client | 2 +- client-gui2 | 2 +- common/proto/table_definition.proto | 26 ++++++ common/src/proto/descriptor.bin | Bin 265964 -> 268279 bytes common/src/proto/komp_ac.table_definition.rs | 91 ++++++++++++++++++- server | 2 +- 6 files changed, 118 insertions(+), 5 deletions(-) diff --git a/client b/client index fc716f66..09d1f5b4 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit fc716f6673fba40b3d088285be923a9acdfff612 +Subproject commit 09d1f5b448a39f8c87560b7ddd4455c19f35a97d diff --git a/client-gui2 b/client-gui2 index e4f6e8a7..3731e19a 160000 --- a/client-gui2 +++ b/client-gui2 @@ -1 +1 @@ -Subproject commit e4f6e8a76f447d9421a8dc4f2cc87bf030bd5bd8 +Subproject commit 3731e19a49e5bd48d74056cdb2455d0ae0c65e1f diff --git a/common/proto/table_definition.proto b/common/proto/table_definition.proto index da27436c..66c0591e 100644 --- a/common/proto/table_definition.proto +++ b/common/proto/table_definition.proto @@ -140,6 +140,7 @@ message SetModuleConfigurationRequest { // Initializes an existing profile's bookkeeping currency. Empty leaves it unchanged. // Defaults scope and changes to an already configured currency are rejected. string accounting_currency = 3; + repeated ModuleDataAccessUpdate data_access_updates = 4; } message ModuleConfiguration { @@ -148,6 +149,31 @@ message ModuleConfiguration { repeated string selected_modules = 3; repeated string effective_modules = 5; string accounting_currency = 6; + repeated ModuleDataAccessRequest data_access_requests = 7; +} + +enum ModuleDataPermission { + MODULE_DATA_PERMISSION_UNSPECIFIED = 0; + MODULE_DATA_PERMISSION_ACCOUNTING_PERIOD_BALANCES = 1; +} + +enum ModuleDataAccessDecision { + MODULE_DATA_ACCESS_DECISION_UNSPECIFIED = 0; + MODULE_DATA_ACCESS_DECISION_ALLOW = 1; + MODULE_DATA_ACCESS_DECISION_REVOKE = 2; +} + +message ModuleDataAccessRequest { + string requesting_module = 1; + string providing_module = 2; + ModuleDataPermission permission = 3; + bool granted = 4; +} + +message ModuleDataAccessUpdate { + string requesting_module = 1; + ModuleDataPermission permission = 2; + ModuleDataAccessDecision decision = 3; } message CreateCustomExchangeRatesTableRequest { diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 963f5a0cc9b617eb281a77c69e7a2e2c0470cef4..b931c2a81cea082917cf6ab0fb56883bf8451523 100644 GIT binary patch delta 23824 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 u7iWj`(, @@ -50,9 +50,11 @@ pub struct SetModuleConfigurationRequest { /// Defaults scope and changes to an already configured currency are rejected. #[prost(string, tag = "3")] pub accounting_currency: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "4")] + pub data_access_updates: ::prost::alloc::vec::Vec, } #[derive(serde::Serialize, serde::Deserialize)] -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ModuleConfiguration { #[prost(message, optional, tag = "1")] pub scope: ::core::option::Option, @@ -64,6 +66,30 @@ pub struct ModuleConfiguration { pub effective_modules: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, tag = "6")] pub accounting_currency: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "7")] + pub data_access_requests: ::prost::alloc::vec::Vec, +} +#[derive(serde::Serialize, serde::Deserialize)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ModuleDataAccessRequest { + #[prost(string, tag = "1")] + pub requesting_module: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub providing_module: ::prost::alloc::string::String, + #[prost(enumeration = "ModuleDataPermission", tag = "3")] + pub permission: i32, + #[prost(bool, tag = "4")] + pub granted: bool, +} +#[derive(serde::Serialize, serde::Deserialize)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ModuleDataAccessUpdate { + #[prost(string, tag = "1")] + pub requesting_module: ::prost::alloc::string::String, + #[prost(enumeration = "ModuleDataPermission", tag = "2")] + pub permission: i32, + #[prost(enumeration = "ModuleDataAccessDecision", tag = "3")] + pub decision: i32, } #[derive(serde::Serialize, serde::Deserialize)] #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] @@ -1121,6 +1147,67 @@ pub mod list_column_types_response { #[derive(serde::Serialize, serde::Deserialize)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] +pub enum ModuleDataPermission { + Unspecified = 0, + AccountingPeriodBalances = 1, +} +impl ModuleDataPermission { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Unspecified => "MODULE_DATA_PERMISSION_UNSPECIFIED", + Self::AccountingPeriodBalances => { + "MODULE_DATA_PERMISSION_ACCOUNTING_PERIOD_BALANCES" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MODULE_DATA_PERMISSION_UNSPECIFIED" => Some(Self::Unspecified), + "MODULE_DATA_PERMISSION_ACCOUNTING_PERIOD_BALANCES" => { + Some(Self::AccountingPeriodBalances) + } + _ => None, + } + } +} +#[derive(serde::Serialize, serde::Deserialize)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ModuleDataAccessDecision { + Unspecified = 0, + Allow = 1, + Revoke = 2, +} +impl ModuleDataAccessDecision { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Unspecified => "MODULE_DATA_ACCESS_DECISION_UNSPECIFIED", + Self::Allow => "MODULE_DATA_ACCESS_DECISION_ALLOW", + Self::Revoke => "MODULE_DATA_ACCESS_DECISION_REVOKE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MODULE_DATA_ACCESS_DECISION_UNSPECIFIED" => Some(Self::Unspecified), + "MODULE_DATA_ACCESS_DECISION_ALLOW" => Some(Self::Allow), + "MODULE_DATA_ACCESS_DECISION_REVOKE" => Some(Self::Revoke), + _ => None, + } + } +} +#[derive(serde::Serialize, serde::Deserialize)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] pub enum InvoiceTemplateAccountingRole { Unspecified = 0, InvoiceTemplateAccountingName = 1, diff --git a/server b/server index 7a2f9372..5e28c7fe 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 7a2f937242efbba365025a99cac7508b0a247280 +Subproject commit 5e28c7fe06a4b5fb58e3c01ddf6cc5f6374f4c3b