From 864251c5e0d304b42053c330623099b1c165604c Mon Sep 17 00:00:00 2001 From: Priec Date: Mon, 20 Jul 2026 19:58:24 +0200 Subject: [PATCH] benchmarking and wiring pages features to client --- Cargo.lock | 5 + client | 2 +- common/build.rs | 4 - common/proto/adresar.proto | 82 --- common/proto/uctovnictvo.proto | 61 -- common/src/lib.rs | 6 - common/src/proto/descriptor.bin | Bin 126405 -> 117245 bytes common/src/proto/komp_ac.adresar.rs | 791 ------------------------ common/src/proto/komp_ac.uctovnictvo.rs | 712 --------------------- flake.nix | 5 + server | 2 +- 11 files changed, 12 insertions(+), 1658 deletions(-) delete mode 100644 common/proto/adresar.proto delete mode 100644 common/proto/uctovnictvo.proto delete mode 100644 common/src/proto/komp_ac.adresar.rs delete mode 100644 common/src/proto/komp_ac.uctovnictvo.rs diff --git a/Cargo.lock b/Cargo.lock index b6f0d73..cb63f72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1048,17 +1048,22 @@ version = "0.8.30" dependencies = [ "anyhow", "async-trait", + "card-validate", "common", "crossterm", "directories", "dirs", "dotenvy", + "email_address", "fluent-templates", "futures", + "gtin-validate", + "iban_validate", "isocountry", "jiff", "lazy_static", "nucleo", + "phonenumber", "prost", "prost-types", "quick-xml", diff --git a/client b/client index 0a4284f..dc27f68 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 0a4284fa0d1f709e3e3fb01d00f76eec17094598 +Subproject commit dc27f68e357129b5c49d4aedb19ead3a2c0ddcb9 diff --git a/common/build.rs b/common/build.rs index 5fd113e..33b35f6 100644 --- a/common/build.rs +++ b/common/build.rs @@ -219,7 +219,6 @@ fn main() -> Result<(), Box> { "proto/common.proto", "proto/document_data.proto", "proto/ecb.proto", - "proto/adresar.proto", "proto/analytics.proto", "proto/auth.proto", "proto/backup.proto", @@ -230,7 +229,6 @@ fn main() -> Result<(), Box> { "proto/table_structure.proto", "proto/table_validation.proto", "proto/tables_data.proto", - "proto/uctovnictvo.proto", ], &["proto"], )?; @@ -247,7 +245,6 @@ fn main() -> Result<(), Box> { "proto/common.proto", "proto/document_data.proto", "proto/ecb.proto", - "proto/adresar.proto", "proto/analytics.proto", "proto/auth.proto", "proto/backup.proto", @@ -258,7 +255,6 @@ fn main() -> Result<(), Box> { "proto/table_structure.proto", "proto/table_validation.proto", "proto/tables_data.proto", - "proto/uctovnictvo.proto", ] { println!("cargo:rerun-if-changed={proto}"); } diff --git a/common/proto/adresar.proto b/common/proto/adresar.proto deleted file mode 100644 index d918ad5..0000000 --- a/common/proto/adresar.proto +++ /dev/null @@ -1,82 +0,0 @@ -// proto/adresar.proto -syntax = "proto3"; -package komp_ac.adresar; - -import "common.proto"; - -service Adresar { - rpc PostAdresar(PostAdresarRequest) returns (AdresarResponse); - rpc GetAdresar(GetAdresarRequest) returns (AdresarResponse); - rpc PutAdresar(PutAdresarRequest) returns (AdresarResponse); - rpc DeleteAdresar(DeleteAdresarRequest) returns (DeleteAdresarResponse); - rpc GetAdresarCount(common.Empty) returns (common.CountResponse); - rpc GetAdresarByPosition(common.PositionRequest) returns (AdresarResponse); -} - -message GetAdresarRequest { - int64 id = 1; -} - -message DeleteAdresarRequest { - int64 id = 1; -} - -message PostAdresarRequest { - string firma = 1; - string kz = 2; - string drc = 3; - string ulica = 4; - string psc = 5; - string mesto = 6; - string stat = 7; - string banka = 8; - string ucet = 9; - string skladm = 10; - string ico = 11; - string kontakt = 12; - string telefon = 13; - string skladu = 14; - string fax = 15; -} - -message AdresarResponse { - int64 id = 1; - string firma = 2; - string kz = 3; - string drc = 4; - string ulica = 5; - string psc = 6; - string mesto = 7; - string stat = 8; - string banka = 9; - string ucet = 10; - string skladm = 11; - string ico = 12; - string kontakt = 13; - string telefon = 14; - string skladu = 15; - string fax = 16; -} - -message PutAdresarRequest { - int64 id = 1; - string firma = 2; - string kz = 3; - string drc = 4; - string ulica = 5; - string psc = 6; - string mesto = 7; - string stat = 8; - string banka = 9; - string ucet = 10; - string skladm = 11; - string ico = 12; - string kontakt = 13; - string telefon = 14; - string skladu = 15; - string fax = 16; -} - -message DeleteAdresarResponse { - bool success = 1; -} diff --git a/common/proto/uctovnictvo.proto b/common/proto/uctovnictvo.proto deleted file mode 100644 index d103314..0000000 --- a/common/proto/uctovnictvo.proto +++ /dev/null @@ -1,61 +0,0 @@ -// proto/uctovnictvo.proto -syntax = "proto3"; -package komp_ac.uctovnictvo; - -import "common.proto"; - -service Uctovnictvo { - rpc PostUctovnictvo(PostUctovnictvoRequest) returns (UctovnictvoResponse); - rpc GetUctovnictvo(GetUctovnictvoRequest) returns (UctovnictvoResponse); - rpc GetUctovnictvoCount(common.Empty) returns (common.CountResponse); - rpc GetUctovnictvoByPosition(common.PositionRequest) returns (UctovnictvoResponse); - rpc PutUctovnictvo(PutUctovnictvoRequest) returns (UctovnictvoResponse); -} - -message PostUctovnictvoRequest { - int64 adresar_id = 1; - string c_dokladu = 2; - string datum = 3; // Use string for simplicity, or use google.protobuf.Timestamp for better date handling - string c_faktury = 4; - string obsah = 5; - string stredisko = 6; - string c_uctu = 7; - string md = 8; - string identif = 9; - string poznanka = 10; - string firma = 11; -} - -message UctovnictvoResponse { - int64 id = 1; - int64 adresar_id = 2; - string c_dokladu = 3; - string datum = 4; - string c_faktury = 5; - string obsah = 6; - string stredisko = 7; - string c_uctu = 8; - string md = 9; - string identif = 10; - string poznanka = 11; - string firma = 12; -} - -message PutUctovnictvoRequest { - int64 id = 1; - int64 adresar_id = 2; - string c_dokladu = 3; - string datum = 4; - string c_faktury = 5; - string obsah = 6; - string stredisko = 7; - string c_uctu = 8; - string md = 9; - string identif = 10; - string poznanka = 11; - string firma = 12; -} - -message GetUctovnictvoRequest { - int64 id = 1; -} diff --git a/common/src/lib.rs b/common/src/lib.rs index 5c99249..56c584c 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -8,9 +8,6 @@ pub mod proto { pub mod accounting { include!("proto/komp_ac.accounting.rs"); } - pub mod adresar { - include!("proto/komp_ac.adresar.rs"); - } pub mod analytics { include!("proto/komp_ac.analytics.rs"); } @@ -32,9 +29,6 @@ pub mod proto { pub mod table_structure { include!("proto/komp_ac.table_structure.rs"); } - pub mod uctovnictvo { - include!("proto/komp_ac.uctovnictvo.rs"); - } pub mod table_definition { include!("proto/komp_ac.table_definition.rs"); } diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 8346d4a8d5869dfb33adf0a368805326def1d4d9..5a0f9450f9931b6876835f7f7cd6baf1e29c2bc2 100644 GIT binary patch delta 18 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 diff --git a/common/src/proto/komp_ac.adresar.rs b/common/src/proto/komp_ac.adresar.rs deleted file mode 100644 index 59b4969..0000000 --- a/common/src/proto/komp_ac.adresar.rs +++ /dev/null @@ -1,791 +0,0 @@ -// This file is @generated by prost-build. -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetAdresarRequest { - #[prost(int64, tag = "1")] - pub id: i64, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct DeleteAdresarRequest { - #[prost(int64, tag = "1")] - pub id: i64, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct PostAdresarRequest { - #[prost(string, tag = "1")] - pub firma: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub kz: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub drc: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub ulica: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub psc: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub mesto: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub stat: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub banka: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub ucet: ::prost::alloc::string::String, - #[prost(string, tag = "10")] - pub skladm: ::prost::alloc::string::String, - #[prost(string, tag = "11")] - pub ico: ::prost::alloc::string::String, - #[prost(string, tag = "12")] - pub kontakt: ::prost::alloc::string::String, - #[prost(string, tag = "13")] - pub telefon: ::prost::alloc::string::String, - #[prost(string, tag = "14")] - pub skladu: ::prost::alloc::string::String, - #[prost(string, tag = "15")] - pub fax: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct AdresarResponse { - #[prost(int64, tag = "1")] - pub id: i64, - #[prost(string, tag = "2")] - pub firma: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub kz: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub drc: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub ulica: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub psc: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub mesto: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub stat: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub banka: ::prost::alloc::string::String, - #[prost(string, tag = "10")] - pub ucet: ::prost::alloc::string::String, - #[prost(string, tag = "11")] - pub skladm: ::prost::alloc::string::String, - #[prost(string, tag = "12")] - pub ico: ::prost::alloc::string::String, - #[prost(string, tag = "13")] - pub kontakt: ::prost::alloc::string::String, - #[prost(string, tag = "14")] - pub telefon: ::prost::alloc::string::String, - #[prost(string, tag = "15")] - pub skladu: ::prost::alloc::string::String, - #[prost(string, tag = "16")] - pub fax: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct PutAdresarRequest { - #[prost(int64, tag = "1")] - pub id: i64, - #[prost(string, tag = "2")] - pub firma: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub kz: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub drc: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub ulica: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub psc: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub mesto: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub stat: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub banka: ::prost::alloc::string::String, - #[prost(string, tag = "10")] - pub ucet: ::prost::alloc::string::String, - #[prost(string, tag = "11")] - pub skladm: ::prost::alloc::string::String, - #[prost(string, tag = "12")] - pub ico: ::prost::alloc::string::String, - #[prost(string, tag = "13")] - pub kontakt: ::prost::alloc::string::String, - #[prost(string, tag = "14")] - pub telefon: ::prost::alloc::string::String, - #[prost(string, tag = "15")] - pub skladu: ::prost::alloc::string::String, - #[prost(string, tag = "16")] - pub fax: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct DeleteAdresarResponse { - #[prost(bool, tag = "1")] - pub success: bool, -} -/// Generated client implementations. -pub mod adresar_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct AdresarClient { - inner: tonic::client::Grpc, - } - impl AdresarClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl AdresarClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> AdresarClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - AdresarClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn post_adresar( - &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.adresar.Adresar/PostAdresar", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("komp_ac.adresar.Adresar", "PostAdresar")); - self.inner.unary(req, path, codec).await - } - pub async fn get_adresar( - &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.adresar.Adresar/GetAdresar", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("komp_ac.adresar.Adresar", "GetAdresar")); - self.inner.unary(req, path, codec).await - } - pub async fn put_adresar( - &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.adresar.Adresar/PutAdresar", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("komp_ac.adresar.Adresar", "PutAdresar")); - self.inner.unary(req, path, codec).await - } - pub async fn delete_adresar( - &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.adresar.Adresar/DeleteAdresar", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("komp_ac.adresar.Adresar", "DeleteAdresar")); - self.inner.unary(req, path, codec).await - } - pub async fn get_adresar_count( - &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.adresar.Adresar/GetAdresarCount", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("komp_ac.adresar.Adresar", "GetAdresarCount")); - self.inner.unary(req, path, codec).await - } - pub async fn get_adresar_by_position( - &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.adresar.Adresar/GetAdresarByPosition", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("komp_ac.adresar.Adresar", "GetAdresarByPosition"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -pub mod adresar_server { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with AdresarServer. - #[async_trait] - pub trait Adresar: std::marker::Send + std::marker::Sync + 'static { - async fn post_adresar( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - async fn get_adresar( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - async fn put_adresar( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - async fn delete_adresar( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_adresar_count( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_adresar_by_position( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - } - #[derive(Debug)] - pub struct AdresarServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl AdresarServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for AdresarServer - where - T: Adresar, - B: Body + std::marker::Send + 'static, - B::Error: Into + std::marker::Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/komp_ac.adresar.Adresar/PostAdresar" => { - #[allow(non_camel_case_types)] - struct PostAdresarSvc(pub Arc); - impl< - T: Adresar, - > tonic::server::UnaryService - for PostAdresarSvc { - type Response = super::AdresarResponse; - 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 { - ::post_adresar(&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 = PostAdresarSvc(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.adresar.Adresar/GetAdresar" => { - #[allow(non_camel_case_types)] - struct GetAdresarSvc(pub Arc); - impl< - T: Adresar, - > tonic::server::UnaryService - for GetAdresarSvc { - type Response = super::AdresarResponse; - 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_adresar(&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 = GetAdresarSvc(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.adresar.Adresar/PutAdresar" => { - #[allow(non_camel_case_types)] - struct PutAdresarSvc(pub Arc); - impl< - T: Adresar, - > tonic::server::UnaryService - for PutAdresarSvc { - type Response = super::AdresarResponse; - 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 { - ::put_adresar(&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 = PutAdresarSvc(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.adresar.Adresar/DeleteAdresar" => { - #[allow(non_camel_case_types)] - struct DeleteAdresarSvc(pub Arc); - impl< - T: Adresar, - > tonic::server::UnaryService - for DeleteAdresarSvc { - type Response = super::DeleteAdresarResponse; - 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 { - ::delete_adresar(&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 = DeleteAdresarSvc(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.adresar.Adresar/GetAdresarCount" => { - #[allow(non_camel_case_types)] - struct GetAdresarCountSvc(pub Arc); - impl< - T: Adresar, - > tonic::server::UnaryService - for GetAdresarCountSvc { - type Response = super::super::common::CountResponse; - 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_adresar_count(&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 = GetAdresarCountSvc(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.adresar.Adresar/GetAdresarByPosition" => { - #[allow(non_camel_case_types)] - struct GetAdresarByPositionSvc(pub Arc); - impl< - T: Adresar, - > tonic::server::UnaryService - for GetAdresarByPositionSvc { - type Response = super::AdresarResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::super::common::PositionRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_adresar_by_position(&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 = GetAdresarByPositionSvc(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) - } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } - } - } - } - impl Clone for AdresarServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "komp_ac.adresar.Adresar"; - impl tonic::server::NamedService for AdresarServer { - const NAME: &'static str = SERVICE_NAME; - } -} diff --git a/common/src/proto/komp_ac.uctovnictvo.rs b/common/src/proto/komp_ac.uctovnictvo.rs deleted file mode 100644 index ce18205..0000000 --- a/common/src/proto/komp_ac.uctovnictvo.rs +++ /dev/null @@ -1,712 +0,0 @@ -// This file is @generated by prost-build. -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct PostUctovnictvoRequest { - #[prost(int64, tag = "1")] - pub adresar_id: i64, - #[prost(string, tag = "2")] - pub c_dokladu: ::prost::alloc::string::String, - /// Use string for simplicity, or use google.protobuf.Timestamp for better date handling - #[prost(string, tag = "3")] - pub datum: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub c_faktury: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub obsah: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub stredisko: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub c_uctu: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub md: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub identif: ::prost::alloc::string::String, - #[prost(string, tag = "10")] - pub poznanka: ::prost::alloc::string::String, - #[prost(string, tag = "11")] - pub firma: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UctovnictvoResponse { - #[prost(int64, tag = "1")] - pub id: i64, - #[prost(int64, tag = "2")] - pub adresar_id: i64, - #[prost(string, tag = "3")] - pub c_dokladu: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub datum: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub c_faktury: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub obsah: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub stredisko: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub c_uctu: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub md: ::prost::alloc::string::String, - #[prost(string, tag = "10")] - pub identif: ::prost::alloc::string::String, - #[prost(string, tag = "11")] - pub poznanka: ::prost::alloc::string::String, - #[prost(string, tag = "12")] - pub firma: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct PutUctovnictvoRequest { - #[prost(int64, tag = "1")] - pub id: i64, - #[prost(int64, tag = "2")] - pub adresar_id: i64, - #[prost(string, tag = "3")] - pub c_dokladu: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub datum: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub c_faktury: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub obsah: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub stredisko: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub c_uctu: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub md: ::prost::alloc::string::String, - #[prost(string, tag = "10")] - pub identif: ::prost::alloc::string::String, - #[prost(string, tag = "11")] - pub poznanka: ::prost::alloc::string::String, - #[prost(string, tag = "12")] - pub firma: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetUctovnictvoRequest { - #[prost(int64, tag = "1")] - pub id: i64, -} -/// Generated client implementations. -pub mod uctovnictvo_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct UctovnictvoClient { - inner: tonic::client::Grpc, - } - impl UctovnictvoClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl UctovnictvoClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> UctovnictvoClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - UctovnictvoClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn post_uctovnictvo( - &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.uctovnictvo.Uctovnictvo/PostUctovnictvo", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("komp_ac.uctovnictvo.Uctovnictvo", "PostUctovnictvo"), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_uctovnictvo( - &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.uctovnictvo.Uctovnictvo/GetUctovnictvo", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("komp_ac.uctovnictvo.Uctovnictvo", "GetUctovnictvo"), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_uctovnictvo_count( - &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.uctovnictvo.Uctovnictvo/GetUctovnictvoCount", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "komp_ac.uctovnictvo.Uctovnictvo", - "GetUctovnictvoCount", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_uctovnictvo_by_position( - &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.uctovnictvo.Uctovnictvo/GetUctovnictvoByPosition", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "komp_ac.uctovnictvo.Uctovnictvo", - "GetUctovnictvoByPosition", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn put_uctovnictvo( - &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.uctovnictvo.Uctovnictvo/PutUctovnictvo", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("komp_ac.uctovnictvo.Uctovnictvo", "PutUctovnictvo"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -pub mod uctovnictvo_server { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with UctovnictvoServer. - #[async_trait] - pub trait Uctovnictvo: std::marker::Send + std::marker::Sync + 'static { - async fn post_uctovnictvo( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_uctovnictvo( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_uctovnictvo_count( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_uctovnictvo_by_position( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn put_uctovnictvo( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct UctovnictvoServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl UctovnictvoServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for UctovnictvoServer - where - T: Uctovnictvo, - B: Body + std::marker::Send + 'static, - B::Error: Into + std::marker::Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/komp_ac.uctovnictvo.Uctovnictvo/PostUctovnictvo" => { - #[allow(non_camel_case_types)] - struct PostUctovnictvoSvc(pub Arc); - impl< - T: Uctovnictvo, - > tonic::server::UnaryService - for PostUctovnictvoSvc { - type Response = super::UctovnictvoResponse; - 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 { - ::post_uctovnictvo(&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 = PostUctovnictvoSvc(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.uctovnictvo.Uctovnictvo/GetUctovnictvo" => { - #[allow(non_camel_case_types)] - struct GetUctovnictvoSvc(pub Arc); - impl< - T: Uctovnictvo, - > tonic::server::UnaryService - for GetUctovnictvoSvc { - type Response = super::UctovnictvoResponse; - 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_uctovnictvo(&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 = GetUctovnictvoSvc(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.uctovnictvo.Uctovnictvo/GetUctovnictvoCount" => { - #[allow(non_camel_case_types)] - struct GetUctovnictvoCountSvc(pub Arc); - impl< - T: Uctovnictvo, - > tonic::server::UnaryService - for GetUctovnictvoCountSvc { - type Response = super::super::common::CountResponse; - 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_uctovnictvo_count(&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 = GetUctovnictvoCountSvc(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.uctovnictvo.Uctovnictvo/GetUctovnictvoByPosition" => { - #[allow(non_camel_case_types)] - struct GetUctovnictvoByPositionSvc(pub Arc); - impl< - T: Uctovnictvo, - > tonic::server::UnaryService - for GetUctovnictvoByPositionSvc { - type Response = super::UctovnictvoResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::super::common::PositionRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_uctovnictvo_by_position( - &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 = GetUctovnictvoByPositionSvc(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.uctovnictvo.Uctovnictvo/PutUctovnictvo" => { - #[allow(non_camel_case_types)] - struct PutUctovnictvoSvc(pub Arc); - impl< - T: Uctovnictvo, - > tonic::server::UnaryService - for PutUctovnictvoSvc { - type Response = super::UctovnictvoResponse; - 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 { - ::put_uctovnictvo(&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 = PutUctovnictvoSvc(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) - } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } - } - } - } - impl Clone for UctovnictvoServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "komp_ac.uctovnictvo.Uctovnictvo"; - impl tonic::server::NamedService for UctovnictvoServer { - const NAME: &'static str = SERVICE_NAME; - } -} diff --git a/flake.nix b/flake.nix index 2ba4302..9642b83 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,11 @@ cargo-flamegraph rust-code-analysis + # Load testing and system monitoring + ghz + k6 + sysstat + # C build tools (for your linker issue) gcc binutils diff --git a/server b/server index 58f10e0..2533c82 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 58f10e086a4c6b245748d0a031fce4c2c98daa9b +Subproject commit 2533c828bfed620fe7a5f547482f57b471216518