From 4b10b0b213d395a9d52dcfbf9334abe0f613fb58 Mon Sep 17 00:00:00 2001 From: filipriec Date: Fri, 21 Feb 2025 19:06:01 +0100 Subject: [PATCH] fixing errors, slowly moving forwards --- Cargo.lock | 4 ++++ Cargo.toml | 4 ++-- build.rs | 3 ++- proto/uctovnictvo.proto | 2 +- src/proto/descriptor.bin | Bin 6505 -> 8844 bytes src/proto/mod.rs | 3 +++ src/server/mod.rs | 7 +++++-- src/uctovnictvo/handlers/post_uctovnictvo.rs | 6 +++--- src/uctovnictvo/models.rs | 4 ++-- 9 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 53d6490..8d8ad82 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2161,6 +2161,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" dependencies = [ "bytes", + "chrono", "crc", "crossbeam-queue", "either", @@ -2239,6 +2240,7 @@ dependencies = [ "bitflags", "byteorder", "bytes", + "chrono", "crc", "digest", "dotenvy", @@ -2281,6 +2283,7 @@ dependencies = [ "base64", "bitflags", "byteorder", + "chrono", "crc", "dotenvy", "etcetera", @@ -2316,6 +2319,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" dependencies = [ "atoi", + "chrono", "flume", "futures-channel", "futures-core", diff --git a/Cargo.toml b/Cargo.toml index 0c5b653..51c7af0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -chrono = "0.4.39" +chrono = { version = "0.4.39", features = ["serde"] } clap = { version = "4.5.29", features = ["derive"] } console = "0.15.10" crossterm = "0.28.1" @@ -15,7 +15,7 @@ ratatui = "0.29.0" serde = { version = "1.0.217", features = ["derive"] } serde_json = "1.0.138" serde_with = "3.12.0" -sqlx = { version = "0.8.3", features = ["postgres", "runtime-tokio", "runtime-tokio-native-tls", "time"] } +sqlx = { version = "0.8.3", features = ["chrono", "postgres", "runtime-tokio", "runtime-tokio-native-tls", "time"] } tokio = { version = "1.43.0", features = ["full", "macros"] } toml = "0.8.20" tonic = "0.12.3" diff --git a/build.rs b/build.rs index 993da3b..52dc36a 100644 --- a/build.rs +++ b/build.rs @@ -2,8 +2,9 @@ fn main() -> Result<(), Box> { tonic_build::configure() .build_server(true) + .file_descriptor_set_path("src/proto/descriptor.bin") .compile_protos( - &["proto/api.proto", "proto/uctovnictvo.proto"], // Include both proto files + &["proto/api.proto", "proto/uctovnictvo.proto"], &["proto"], )?; Ok(()) diff --git a/proto/uctovnictvo.proto b/proto/uctovnictvo.proto index 7fc7d1b..b9f2e11 100644 --- a/proto/uctovnictvo.proto +++ b/proto/uctovnictvo.proto @@ -1,7 +1,7 @@ // proto/uctovnictvo.proto syntax = "proto3"; -package multieko2; +package multieko2.uctovnictvo; service Uctovnictvo { rpc PostUctovnictvo (PostUctovnictvoRequest) returns (UctovnictvoResponse); diff --git a/src/proto/descriptor.bin b/src/proto/descriptor.bin index 2837708249f424b66ed7d407d99a8343dff4433a..ffe8df85ab22b03801ad819b757007c1015bbaac 100644 GIT binary patch delta 2365 zcmZ{k&u;5P6vi|5#IeU|n@p0%N!!#-Ss(0fCLf(Ra~}}n>f8zlei@Il`bs& z0z3pyfY|dyJOzBm9-pRB+4=a)@BI1vjsLm%{p-JyQKA0Os+-TV^!+B8XYbS5(>Bdg zJy_?fEQue}o7rA+`lqE%e@u7T+h^c5{w0rhnZ8geT5RK8w7p9ffe6LN_N`~$e7n$R z%A4OU(#KV_$O8*m@7A4vl@{d--B-;;l;!KdE;Ch7G0W&N%eNl_X_#-Sn2_{-7rhIb z6;cNJTzR`}8!wXGV;VSR=J|ylC})0$ee$4HLGuEeqX#}@9?Ap)k+reCQFuq zSH7%6Jyz~h`s*gzJVt>kQykMo%VfKb0>3I=2GhSS)q5e=?kU~uV(JNfOeEleew9kE=~v0*&R^g$+NvSw{i8EzWdi#j+UbF zkxWfF5f8SDq(5cZcLO?mebI(*=Pwo+fGAhyXp3nucXtk8rpW` z52|RZCPm0O?ogQs6`awVIsOL2XWj#rZ=T4}eEbA#bB7}mbww3hi2nUtw z*AdF8VPLQVIiEQJ&X>xZ6qNI8PJr{l&C7O}uq_AEpToDiIK+)hHV@%4-G;kl{j^Hv zN%rB>5Mhq&Lz+IU;_AP0pD$-WC2RaIqV*F2MR*@)S-cH#{p0Xmv{|fBs-D2YJZ+xG z!aQxiW2Un(PrKJQdmuRCHEdu1BcnzCQ^7^vS_OTq8k`ml8a}wM!x0B$Gxg8Fk zaJyz1)iXDNop8G*uoG_QXuBg%O*aQvr{H!DxQ^egli)i2f!VI5?XJ`&)dJULtOcy= zAJsWv-A>nFuC}!-O$AT5z%*knFzxHof0P8L2d9SfwB6(FJa9ecJa9d~XWDtddZ)FQ zl(zf4odVWpOabe&mI_$EHy}qBP+1P?cHxRha@^28E5{IYMFLp~f&ldbV`)S<7+?sp zJ0jEzPC5odYGkGt7CCyv7}Xz{n}8g!Vq`v!uwdyibL70S86PQdWAjZBfg3Z1;LJEk zSmeAj#>jbRW^3f=q;Zh2q_)q|jqX1-Am^PkN6tIvcI3QsZij;x+>V@g!5BI3g4>bv zF1Q_>H{s>Td6No*{uViJ!tESz6K)6RU7BwyEOOo@w#cLCy<}V}%9hT}k?|Bnmn2iaB!L6&!1Fz^(>E^U2}7DQ`#4n=(eun;OFk li<~z#h832t?Jur*J0ILNb3V9h7SjiJ-5cCH Result { // Parse the date string into NaiveDate - let datum = NaiveDate::parse_from_str(&request.datum, "%Y-%m-%d") - .map_err(|e| Status::invalid_argument(format!("Invalid date format: {}", e)))?; + let datum = chrono::NaiveDate::parse_from_str(&request.datum, "%Y-%m-%d") + .map_err(|e| Status::invalid_argument(format!("Invalid date: {}", e)))?; let uctovnictvo = sqlx::query_as!( Uctovnictvo, diff --git a/src/uctovnictvo/models.rs b/src/uctovnictvo/models.rs index 51eec5b..ad52b90 100644 --- a/src/uctovnictvo/models.rs +++ b/src/uctovnictvo/models.rs @@ -2,13 +2,13 @@ use chrono::NaiveDate; use serde::{Deserialize, Serialize}; -#[derive(Debug, Serialize, Deserialize)] +#[derive(Debug, sqlx::FromRow, Serialize, Deserialize)] pub struct Uctovnictvo { pub id: i64, pub deleted: bool, pub adresar_id: i64, pub c_dokladu: String, - pub datum: NaiveDate, // Use chrono::NaiveDate for better date handling + pub datum: chrono::NaiveDate, pub c_faktury: String, pub obsah: Option, pub stredisko: Option,