// src/uctovnictvo/handlers/get_uctovnictvo.rs use tonic::Status; use sqlx::PgPool; use crate::uctovnictvo::models::Uctovnictvo; use common::proto::multieko2::uctovnictvo::{GetUctovnictvoRequest, UctovnictvoResponse}; pub async fn get_uctovnictvo( db_pool: &PgPool, request: GetUctovnictvoRequest, ) -> Result { let uctovnictvo = sqlx::query_as!( Uctovnictvo, r#" SELECT id, deleted, adresar_id, c_dokladu, datum as "datum: chrono::NaiveDate", c_faktury, obsah, stredisko, c_uctu, md, identif, poznanka, firma FROM uctovnictvo WHERE id = $1 "#, request.id ) .fetch_one(db_pool) .await .map_err(|e| Status::not_found(e.to_string()))?; Ok(UctovnictvoResponse { id: uctovnictvo.id, adresar_id: uctovnictvo.adresar_id, c_dokladu: uctovnictvo.c_dokladu, datum: uctovnictvo.datum.format("%d.%m.%Y").to_string(), c_faktury: uctovnictvo.c_faktury, obsah: uctovnictvo.obsah.unwrap_or_default(), stredisko: uctovnictvo.stredisko.unwrap_or_default(), c_uctu: uctovnictvo.c_uctu.unwrap_or_default(), md: uctovnictvo.md.unwrap_or_default(), identif: uctovnictvo.identif.unwrap_or_default(), poznanka: uctovnictvo.poznanka.unwrap_or_default(), firma: uctovnictvo.firma, }) }