From 651f48831224ec106b2ce0291dcfe22050a8b44e Mon Sep 17 00:00:00 2001 From: Priec Date: Tue, 15 Sep 2026 13:02:26 +0200 Subject: [PATCH] accounts via id also, not just real account --- client-gui2 | 2 +- common/proto/table_structure.proto | 1 + common/proto/tables_data.proto | 6 +++++ common/src/proto/descriptor.bin | Bin 280499 -> 280436 bytes common/src/proto/komp_ac.table_structure.rs | 2 ++ common/src/proto/komp_ac.tables_data.rs | 28 ++++++++++++++++++++ komp-app/src/import_export.rs | 2 +- web/src/pages/import_export/import/logic.rs | 2 +- 8 files changed, 40 insertions(+), 3 deletions(-) diff --git a/client-gui2 b/client-gui2 index 34dcd980..aa345299 160000 --- a/client-gui2 +++ b/client-gui2 @@ -1 +1 @@ -Subproject commit 34dcd980de5e218f718088b5997b1b6db9402d59 +Subproject commit aa345299911882a251cd5628087f1243a28ac194 diff --git a/common/proto/table_structure.proto b/common/proto/table_structure.proto index 7d66a6b1..ec9bc954 100644 --- a/common/proto/table_structure.proto +++ b/common/proto/table_structure.proto @@ -136,6 +136,7 @@ message ImportFieldDescriptor { string generated_from = 11; optional ImportLinkDescriptor link = 12; repeated ImportValueKind accepted_value_kinds = 13; + bool account_reference = 14; } message GetTableImportDescriptorResponse { diff --git a/common/proto/tables_data.proto b/common/proto/tables_data.proto index 90b48381..43a27d86 100644 --- a/common/proto/tables_data.proto +++ b/common/proto/tables_data.proto @@ -203,6 +203,11 @@ message StageTableDataImportRequest { int64 expected_table_revision = 4; } +enum ImportAccountMatch { + IMPORT_ACCOUNT_MATCH_PATH = 0; + IMPORT_ACCOUNT_MATCH_ID = 1; +} + message TableDataImportRow { // Required. Data payload for one staged row. map data = 1; @@ -210,6 +215,7 @@ message TableDataImportRow { // row display value, including text made only of digits. Unlisted columns // retain the normal table-write link semantics. repeated string link_display_columns = 2; + ImportAccountMatch account_match = 3; } message StageTableDataImportResponse { diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index bc79ce513f7c6d66905f7d276753fc0b5f60afe2..d9a24ec1ceaf8dc07e8fec6665bc257965a750e3 100644 GIT binary patch delta 9283 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 BbRqx% diff --git a/common/src/proto/komp_ac.table_structure.rs b/common/src/proto/komp_ac.table_structure.rs index 3e567a7e..701f5a9f 100644 --- a/common/src/proto/komp_ac.table_structure.rs +++ b/common/src/proto/komp_ac.table_structure.rs @@ -131,6 +131,8 @@ pub struct ImportFieldDescriptor { pub link: ::core::option::Option, #[prost(enumeration = "ImportValueKind", repeated, tag = "13")] pub accepted_value_kinds: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub account_reference: bool, } #[derive(serde::Serialize, serde::Deserialize)] #[derive(Clone, PartialEq, ::prost::Message)] diff --git a/common/src/proto/komp_ac.tables_data.rs b/common/src/proto/komp_ac.tables_data.rs index 58c17342..f43fad4e 100644 --- a/common/src/proto/komp_ac.tables_data.rs +++ b/common/src/proto/komp_ac.tables_data.rs @@ -113,6 +113,8 @@ pub struct TableDataImportRow { /// retain the normal table-write link semantics. #[prost(string, repeated, tag = "2")] pub link_display_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(enumeration = "ImportAccountMatch", tag = "3")] + pub account_match: i32, } #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct StageTableDataImportResponse { @@ -494,6 +496,32 @@ pub struct GetTableDataByPositionRequest { #[prost(enumeration = "RowNavigationMode", tag = "5")] pub navigation_mode: i32, } +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ImportAccountMatch { + Path = 0, + Id = 1, +} +impl ImportAccountMatch { + /// 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::Path => "IMPORT_ACCOUNT_MATCH_PATH", + Self::Id => "IMPORT_ACCOUNT_MATCH_ID", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IMPORT_ACCOUNT_MATCH_PATH" => Some(Self::Path), + "IMPORT_ACCOUNT_MATCH_ID" => Some(Self::Id), + _ => None, + } + } +} /// A link resolved exactly as the source row stored it, together with the /// target row's current state. The physical companion version column remains /// an internal implementation detail. diff --git a/komp-app/src/import_export.rs b/komp-app/src/import_export.rs index 9c1f3abc..063c86d9 100644 --- a/komp-app/src/import_export.rs +++ b/komp-app/src/import_export.rs @@ -425,7 +425,7 @@ pub fn row_to_table_data( }; data.insert(target_column.clone(), value); } - Ok(TableDataImportRow { data, link_display_columns: Vec::new() }) + Ok(TableDataImportRow { data, account_match: common::proto::komp_ac::tables_data::ImportAccountMatch::Path as i32, link_display_columns: Vec::new() }) } pub fn exportable_columns(schema: &TableStructureResponse) -> Vec { diff --git a/web/src/pages/import_export/import/logic.rs b/web/src/pages/import_export/import/logic.rs index c122573b..c94a7f7f 100644 --- a/web/src/pages/import_export/import/logic.rs +++ b/web/src/pages/import_export/import/logic.rs @@ -707,7 +707,7 @@ fn import_row( let value = csv_value(locale, raw, data_type)?; data.insert(column.clone(), value); } - Ok(TableDataImportRow { data, link_display_columns: Vec::new() }) + Ok(TableDataImportRow { data, account_match: common::proto::komp_ac::tables_data::ImportAccountMatch::Path as i32, link_display_columns: Vec::new() }) } async fn render_step(