get adresar method is now working

This commit is contained in:
filipriec
2025-02-17 21:34:12 +01:00
parent b306a6d019
commit 52746c0ec1
9 changed files with 94 additions and 4 deletions

View File

@@ -1,4 +1,7 @@
// src/adresar/handlers.rs
pub mod create_adresar;
pub mod get_adresar;
pub use create_adresar::create_adresar;
pub use get_adresar::get_adresar;

View File

@@ -0,0 +1,42 @@
// src/adresar/handlers/get_adresar.rs
use tonic::{Request, Response, Status};
use sqlx::PgPool;
use crate::adresar::models::Adresar;
use crate::proto::multieko2::{GetAdresarRequest, AdresarResponse};
pub async fn get_adresar(
db_pool: &PgPool,
request: GetAdresarRequest,
) -> Result<AdresarResponse, Status> {
let adresar = sqlx::query_as!(
Adresar,
r#"
SELECT id, firma, kz, drc, ulica, psc, mesto, stat, banka, ucet, skladm, ico, kontakt, telefon, skladu, fax
FROM adresar
WHERE id = $1
"#,
request.id
)
.fetch_one(db_pool)
.await
.map_err(|e| Status::not_found(e.to_string()))?;
Ok(AdresarResponse {
id: adresar.id,
firma: adresar.firma,
kz: adresar.kz.unwrap_or_default(),
drc: adresar.drc.unwrap_or_default(),
ulica: adresar.ulica.unwrap_or_default(),
psc: adresar.psc.unwrap_or_default(),
mesto: adresar.mesto.unwrap_or_default(),
stat: adresar.stat.unwrap_or_default(),
banka: adresar.banka.unwrap_or_default(),
ucet: adresar.ucet.unwrap_or_default(),
skladm: adresar.skladm.unwrap_or_default(),
ico: adresar.ico.unwrap_or_default(),
kontakt: adresar.kontakt.unwrap_or_default(),
telefon: adresar.telefon.unwrap_or_default(),
skladu: adresar.skladu.unwrap_or_default(),
fax: adresar.fax.unwrap_or_default(),
})
}