diff --git a/client b/client index 09d1f5b4..88b2e7a4 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 09d1f5b448a39f8c87560b7ddd4455c19f35a97d +Subproject commit 88b2e7a4aa53b70a0257135e9091406bf4efd3f6 diff --git a/client-gui2 b/client-gui2 index 3731e19a..b3a3bdf5 160000 --- a/client-gui2 +++ b/client-gui2 @@ -1 +1 @@ -Subproject commit 3731e19a49e5bd48d74056cdb2455d0ae0c65e1f +Subproject commit b3a3bdf59bd5dce22e108608da1d5539c261d4cd diff --git a/common/proto/table_definition.proto b/common/proto/table_definition.proto index 66c0591e..9a37e53e 100644 --- a/common/proto/table_definition.proto +++ b/common/proto/table_definition.proto @@ -152,9 +152,16 @@ message ModuleConfiguration { repeated ModuleDataAccessRequest data_access_requests = 7; } -enum ModuleDataPermission { - MODULE_DATA_PERMISSION_UNSPECIFIED = 0; - MODULE_DATA_PERMISSION_ACCOUNTING_PERIOD_BALANCES = 1; +message ModuleDataExportId { + string providing_module = 1; + string name = 2; + uint32 version = 3; +} + +message ModuleDataExport { + ModuleDataExportId id = 1; + string description = 2; + map translations = 3; } enum ModuleDataAccessDecision { @@ -165,14 +172,15 @@ enum ModuleDataAccessDecision { message ModuleDataAccessRequest { string requesting_module = 1; - string providing_module = 2; - ModuleDataPermission permission = 3; + reserved 2, 3; + ModuleDataExport data_export = 5; bool granted = 4; } message ModuleDataAccessUpdate { string requesting_module = 1; - ModuleDataPermission permission = 2; + reserved 2; + ModuleDataExportId export_id = 4; ModuleDataAccessDecision decision = 3; } diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index b931c2a8..b711dd99 100644 Binary files a/common/src/proto/descriptor.bin and b/common/src/proto/descriptor.bin differ diff --git a/common/src/proto/komp_ac.table_definition.rs b/common/src/proto/komp_ac.table_definition.rs index 60f7a7f1..04528ac2 100644 --- a/common/src/proto/komp_ac.table_definition.rs +++ b/common/src/proto/komp_ac.table_definition.rs @@ -71,13 +71,34 @@ pub struct ModuleConfiguration { } #[derive(serde::Serialize, serde::Deserialize)] #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ModuleDataExportId { + #[prost(string, tag = "1")] + pub providing_module: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub version: u32, +} +#[derive(serde::Serialize, serde::Deserialize)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModuleDataExport { + #[prost(message, optional, tag = "1")] + pub id: ::core::option::Option, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(map = "string, string", tag = "3")] + pub translations: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(serde::Serialize, serde::Deserialize)] +#[derive(Clone, PartialEq, ::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(message, optional, tag = "5")] + pub data_export: ::core::option::Option, #[prost(bool, tag = "4")] pub granted: bool, } @@ -86,8 +107,8 @@ pub struct ModuleDataAccessRequest { pub struct ModuleDataAccessUpdate { #[prost(string, tag = "1")] pub requesting_module: ::prost::alloc::string::String, - #[prost(enumeration = "ModuleDataPermission", tag = "2")] - pub permission: i32, + #[prost(message, optional, tag = "4")] + pub export_id: ::core::option::Option, #[prost(enumeration = "ModuleDataAccessDecision", tag = "3")] pub decision: i32, } @@ -1147,37 +1168,6 @@ 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, diff --git a/server b/server index 5e28c7fe..a4f361eb 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 5e28c7fe06a4b5fb58e3c01ddf6cc5f6374f4c3b +Subproject commit a4f361ebad8a70de020e51b9741ae11f284b7b8b