From 98cf2370ec61c22a4aab018d5b7fc94841ef4106 Mon Sep 17 00:00:00 2001 From: Priec Date: Wed, 8 Jul 2026 22:41:43 +0200 Subject: [PATCH] Documents backend api --- client | 2 +- common/proto/document_data.proto | 63 +++- common/src/proto/descriptor.bin | Bin 83457 -> 86440 bytes common/src/proto/komp_ac.document_data.rs | 395 +++++++++++++++++++--- server | 2 +- 5 files changed, 404 insertions(+), 58 deletions(-) diff --git a/client b/client index 25c132a..30a231d 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 25c132a2b1914f782904db021cbb011fff7aae99 +Subproject commit 30a231d08bf0100a7136d18085be006fb83d8b8e diff --git a/common/proto/document_data.proto b/common/proto/document_data.proto index 6416010..748b4b8 100644 --- a/common/proto/document_data.proto +++ b/common/proto/document_data.proto @@ -2,8 +2,11 @@ syntax = "proto3"; package komp_ac.document_data; service DocumentDataService { - rpc SaveGeneratedPrintJson(SaveGeneratedPrintJsonRequest) returns (SaveGeneratedPrintJsonResponse); - rpc SaveUserAdjustedPrintJson(SaveUserAdjustedPrintJsonRequest) returns (SaveUserAdjustedPrintJsonResponse); + rpc SaveDocument(SaveDocumentRequest) returns (SaveDocumentResponse); + rpc UpdateDocument(UpdateDocumentRequest) returns (UpdateDocumentResponse); + rpc GetDocuments(GetDocumentsRequest) returns (GetDocumentsResponse); + rpc GetDocument(GetDocumentRequest) returns (GetDocumentResponse); + rpc GetDocumentVersion(GetDocumentVersionRequest) returns (GetDocumentVersionResponse); } message SourceRecord { @@ -13,7 +16,7 @@ message SourceRecord { int64 record_id = 4; } -message SaveGeneratedPrintJsonRequest { +message SaveDocumentRequest { optional int64 schema_id = 1; repeated SourceRecord source_records = 2; optional string template_name = 3; @@ -22,14 +25,14 @@ message SaveGeneratedPrintJsonRequest { string data_json = 6; } -message SaveGeneratedPrintJsonResponse { - int64 document_run_id = 1; +message SaveDocumentResponse { + int64 document_id = 1; int64 snapshot_id = 2; int32 version_number = 3; } -message SaveUserAdjustedPrintJsonRequest { - int64 document_run_id = 1; +message UpdateDocumentRequest { + int64 document_id = 1; optional int64 schema_id = 2; repeated SourceRecord source_records = 3; optional string template_name = 4; @@ -38,8 +41,50 @@ message SaveUserAdjustedPrintJsonRequest { string data_json = 7; } -message SaveUserAdjustedPrintJsonResponse { - int64 document_run_id = 1; +message UpdateDocumentResponse { + int64 document_id = 1; int64 snapshot_id = 2; int32 version_number = 3; } + +message GetDocumentsRequest { + optional int64 schema_id = 1; + uint32 limit = 2; + optional string template_name = 3; +} + +message Document { + int64 snapshot_id = 1; + int64 document_id = 2; + optional int64 schema_id = 3; + repeated SourceRecord source_records = 4; + optional string template_name = 5; + optional string template_kind = 6; + optional string template_path = 7; + string data_json = 8; + string change_kind = 9; + int32 version_number = 10; + string created_at = 11; + string updated_at = 12; +} + +message GetDocumentsResponse { + repeated Document documents = 1; +} + +message GetDocumentRequest { + int64 document_id = 1; +} + +message GetDocumentResponse { + optional Document document = 1; +} + +message GetDocumentVersionRequest { + int64 document_id = 1; + int32 version_number = 2; +} + +message GetDocumentVersionResponse { + optional Document document = 1; +} diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 5a54d423d74a1eeb8c277dd4efa72da137394e3a..7815935a2accd79c6ca93d879c848c20e492a56e 100644 GIT binary patch delta 4594 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, #[prost(message, repeated, tag = "2")] @@ -26,18 +26,18 @@ pub struct SaveGeneratedPrintJsonRequest { pub data_json: ::prost::alloc::string::String, } #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct SaveGeneratedPrintJsonResponse { +pub struct SaveDocumentResponse { #[prost(int64, tag = "1")] - pub document_run_id: i64, + pub document_id: i64, #[prost(int64, tag = "2")] pub snapshot_id: i64, #[prost(int32, tag = "3")] pub version_number: i32, } #[derive(Clone, PartialEq, ::prost::Message)] -pub struct SaveUserAdjustedPrintJsonRequest { +pub struct UpdateDocumentRequest { #[prost(int64, tag = "1")] - pub document_run_id: i64, + pub document_id: i64, #[prost(int64, optional, tag = "2")] pub schema_id: ::core::option::Option, #[prost(message, repeated, tag = "3")] @@ -52,14 +52,77 @@ pub struct SaveUserAdjustedPrintJsonRequest { pub data_json: ::prost::alloc::string::String, } #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct SaveUserAdjustedPrintJsonResponse { +pub struct UpdateDocumentResponse { #[prost(int64, tag = "1")] - pub document_run_id: i64, + pub document_id: i64, #[prost(int64, tag = "2")] pub snapshot_id: i64, #[prost(int32, tag = "3")] pub version_number: i32, } +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct GetDocumentsRequest { + #[prost(int64, optional, tag = "1")] + pub schema_id: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub limit: u32, + #[prost(string, optional, tag = "3")] + pub template_name: ::core::option::Option<::prost::alloc::string::String>, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Document { + #[prost(int64, tag = "1")] + pub snapshot_id: i64, + #[prost(int64, tag = "2")] + pub document_id: i64, + #[prost(int64, optional, tag = "3")] + pub schema_id: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub source_records: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "5")] + pub template_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "6")] + pub template_kind: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "7")] + pub template_path: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, tag = "8")] + pub data_json: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub change_kind: ::prost::alloc::string::String, + #[prost(int32, tag = "10")] + pub version_number: i32, + #[prost(string, tag = "11")] + pub created_at: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub updated_at: ::prost::alloc::string::String, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDocumentsResponse { + #[prost(message, repeated, tag = "1")] + pub documents: ::prost::alloc::vec::Vec, +} +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +pub struct GetDocumentRequest { + #[prost(int64, tag = "1")] + pub document_id: i64, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDocumentResponse { + #[prost(message, optional, tag = "1")] + pub document: ::core::option::Option, +} +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] +pub struct GetDocumentVersionRequest { + #[prost(int64, tag = "1")] + pub document_id: i64, + #[prost(int32, tag = "2")] + pub version_number: i32, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDocumentVersionResponse { + #[prost(message, optional, tag = "1")] + pub document: ::core::option::Option, +} /// Generated client implementations. pub mod document_data_service_client { #![allow( @@ -151,11 +214,11 @@ pub mod document_data_service_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn save_generated_print_json( + pub async fn save_document( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner @@ -168,23 +231,23 @@ pub mod document_data_service_client { })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/komp_ac.document_data.DocumentDataService/SaveGeneratedPrintJson", + "/komp_ac.document_data.DocumentDataService/SaveDocument", ); let mut req = request.into_request(); req.extensions_mut() .insert( GrpcMethod::new( "komp_ac.document_data.DocumentDataService", - "SaveGeneratedPrintJson", + "SaveDocument", ), ); self.inner.unary(req, path, codec).await } - pub async fn save_user_adjusted_print_json( + pub async fn update_document( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner @@ -197,14 +260,101 @@ pub mod document_data_service_client { })?; let codec = tonic_prost::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/komp_ac.document_data.DocumentDataService/SaveUserAdjustedPrintJson", + "/komp_ac.document_data.DocumentDataService/UpdateDocument", ); let mut req = request.into_request(); req.extensions_mut() .insert( GrpcMethod::new( "komp_ac.document_data.DocumentDataService", - "SaveUserAdjustedPrintJson", + "UpdateDocument", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_documents( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/komp_ac.document_data.DocumentDataService/GetDocuments", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "komp_ac.document_data.DocumentDataService", + "GetDocuments", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_document( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/komp_ac.document_data.DocumentDataService/GetDocument", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "komp_ac.document_data.DocumentDataService", + "GetDocument", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_document_version( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/komp_ac.document_data.DocumentDataService/GetDocumentVersion", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "komp_ac.document_data.DocumentDataService", + "GetDocumentVersion", ), ); self.inner.unary(req, path, codec).await @@ -224,18 +374,39 @@ pub mod document_data_service_server { /// Generated trait containing gRPC methods that should be implemented for use with DocumentDataServiceServer. #[async_trait] pub trait DocumentDataService: std::marker::Send + std::marker::Sync + 'static { - async fn save_generated_print_json( + async fn save_document( &self, - request: tonic::Request, + request: tonic::Request, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, >; - async fn save_user_adjusted_print_json( + async fn update_document( &self, - request: tonic::Request, + request: tonic::Request, ) -> std::result::Result< - tonic::Response, + tonic::Response, + tonic::Status, + >; + async fn get_documents( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_document( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_document_version( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, tonic::Status, >; } @@ -315,28 +486,25 @@ pub mod document_data_service_server { } fn call(&mut self, req: http::Request) -> Self::Future { match req.uri().path() { - "/komp_ac.document_data.DocumentDataService/SaveGeneratedPrintJson" => { + "/komp_ac.document_data.DocumentDataService/SaveDocument" => { #[allow(non_camel_case_types)] - struct SaveGeneratedPrintJsonSvc(pub Arc); + struct SaveDocumentSvc(pub Arc); impl< T: DocumentDataService, - > tonic::server::UnaryService - for SaveGeneratedPrintJsonSvc { - type Response = super::SaveGeneratedPrintJsonResponse; + > tonic::server::UnaryService + for SaveDocumentSvc { + type Response = super::SaveDocumentResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::save_generated_print_json( - &inner, - request, - ) + ::save_document(&inner, request) .await }; Box::pin(fut) @@ -348,7 +516,7 @@ pub mod document_data_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = SaveGeneratedPrintJsonSvc(inner); + let method = SaveDocumentSvc(inner); let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( @@ -364,30 +532,163 @@ pub mod document_data_service_server { }; Box::pin(fut) } - "/komp_ac.document_data.DocumentDataService/SaveUserAdjustedPrintJson" => { + "/komp_ac.document_data.DocumentDataService/UpdateDocument" => { #[allow(non_camel_case_types)] - struct SaveUserAdjustedPrintJsonSvc( - pub Arc, - ); + struct UpdateDocumentSvc(pub Arc); impl< T: DocumentDataService, - > tonic::server::UnaryService< - super::SaveUserAdjustedPrintJsonRequest, - > for SaveUserAdjustedPrintJsonSvc { - type Response = super::SaveUserAdjustedPrintJsonResponse; + > tonic::server::UnaryService + for UpdateDocumentSvc { + type Response = super::UpdateDocumentResponse; type Future = BoxFuture< tonic::Response, tonic::Status, >; fn call( &mut self, - request: tonic::Request< - super::SaveUserAdjustedPrintJsonRequest, - >, + request: tonic::Request, ) -> Self::Future { let inner = Arc::clone(&self.0); let fut = async move { - ::save_user_adjusted_print_json( + ::update_document(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = UpdateDocumentSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/komp_ac.document_data.DocumentDataService/GetDocuments" => { + #[allow(non_camel_case_types)] + struct GetDocumentsSvc(pub Arc); + impl< + T: DocumentDataService, + > tonic::server::UnaryService + for GetDocumentsSvc { + type Response = super::GetDocumentsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_documents(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetDocumentsSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/komp_ac.document_data.DocumentDataService/GetDocument" => { + #[allow(non_camel_case_types)] + struct GetDocumentSvc(pub Arc); + impl< + T: DocumentDataService, + > tonic::server::UnaryService + for GetDocumentSvc { + type Response = super::GetDocumentResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_document(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetDocumentSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/komp_ac.document_data.DocumentDataService/GetDocumentVersion" => { + #[allow(non_camel_case_types)] + struct GetDocumentVersionSvc(pub Arc); + impl< + T: DocumentDataService, + > tonic::server::UnaryService + for GetDocumentVersionSvc { + type Response = super::GetDocumentVersionResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_document_version( &inner, request, ) @@ -402,7 +703,7 @@ pub mod document_data_service_server { let max_encoding_message_size = self.max_encoding_message_size; let inner = self.inner.clone(); let fut = async move { - let method = SaveUserAdjustedPrintJsonSvc(inner); + let method = GetDocumentVersionSvc(inner); let codec = tonic_prost::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec) .apply_compression_config( diff --git a/server b/server index f2e6dd5..9905315 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit f2e6dd5250044ecbb93417fa2cae558cc066c078 +Subproject commit 990531573d7eafe1bf5edd4d394d25a35d1493a2