working put post and get
This commit is contained in:
73
src/adresar/handlers/put_adresar.rs
Normal file
73
src/adresar/handlers/put_adresar.rs
Normal file
@@ -0,0 +1,73 @@
|
||||
// src/adresar/handlers/update_adresar.rs
|
||||
use tonic::{Request, Response, Status};
|
||||
use sqlx::PgPool;
|
||||
use crate::adresar::models::Adresar;
|
||||
use crate::proto::multieko2::{UpdateAdresarRequest, AdresarResponse};
|
||||
|
||||
pub async fn update_adresar(
|
||||
db_pool: &PgPool,
|
||||
request: UpdateAdresarRequest,
|
||||
) -> Result<AdresarResponse, Status> {
|
||||
let adresar = sqlx::query_as!(
|
||||
Adresar,
|
||||
r#"
|
||||
UPDATE adresar
|
||||
SET
|
||||
firma = $2,
|
||||
kz = $3,
|
||||
drc = $4,
|
||||
ulica = $5,
|
||||
psc = $6,
|
||||
mesto = $7,
|
||||
stat = $8,
|
||||
banka = $9,
|
||||
ucet = $10,
|
||||
skladm = $11,
|
||||
ico = $12,
|
||||
kontakt = $13,
|
||||
telefon = $14,
|
||||
skladu = $15,
|
||||
fax = $16
|
||||
WHERE id = $1
|
||||
RETURNING id, firma, kz, drc, ulica, psc, mesto, stat, banka, ucet, skladm, ico, kontakt, telefon, skladu, fax
|
||||
"#,
|
||||
request.id,
|
||||
request.firma,
|
||||
request.kz,
|
||||
request.drc,
|
||||
request.ulica,
|
||||
request.psc,
|
||||
request.mesto,
|
||||
request.stat,
|
||||
request.banka,
|
||||
request.ucet,
|
||||
request.skladm,
|
||||
request.ico,
|
||||
request.kontakt,
|
||||
request.telefon,
|
||||
request.skladu,
|
||||
request.fax
|
||||
)
|
||||
.fetch_one(db_pool)
|
||||
.await
|
||||
.map_err(|e| Status::internal(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(),
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user