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 8346d4a..5a0f945 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.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