working put post and get

This commit is contained in:
filipriec
2025-02-17 22:40:28 +01:00
parent 103250d793
commit d66c0131da
8 changed files with 22 additions and 22 deletions

View File

@@ -8,7 +8,7 @@ service DataProcessor {
} }
service Adresar { service Adresar {
rpc CreateAdresar (AdresarRequest) returns (AdresarResponse); rpc PostAdresar (PostAdresarRequest) returns (AdresarResponse);
rpc GetAdresar (GetAdresarRequest) returns (AdresarResponse); rpc GetAdresar (GetAdresarRequest) returns (AdresarResponse);
rpc UpdateAdresar (UpdateAdresarRequest) returns (AdresarResponse); rpc UpdateAdresar (UpdateAdresarRequest) returns (AdresarResponse);
} }
@@ -17,7 +17,7 @@ message GetAdresarRequest {
int64 id = 1; // The ID of the Adresar entry to retrieve int64 id = 1; // The ID of the Adresar entry to retrieve
} }
message AdresarRequest { message PostAdresarRequest {
string firma = 1; string firma = 1;
string kz = 2; string kz = 2;
string drc = 3; string drc = 3;

View File

@@ -1,9 +1,9 @@
// src/adresar/handlers.rs // src/adresar/handlers.rs
pub mod create_adresar; pub mod post_adresar;
pub mod get_adresar; pub mod get_adresar;
pub mod update_adresar; pub mod put_adresar;
pub use create_adresar::create_adresar; pub use post_adresar::post_adresar;
pub use get_adresar::get_adresar; pub use get_adresar::get_adresar;
pub use update_adresar::update_adresar; pub use put_adresar::update_adresar;

View File

@@ -1,12 +1,12 @@
// src/adresar/handlers/create_adresar.rs // src/adresar/handlers/post_adresar.rs
use tonic::{Request, Response, Status}; use tonic::{Request, Response, Status};
use sqlx::PgPool; use sqlx::PgPool;
use crate::adresar::models::Adresar; use crate::adresar::models::Adresar;
use crate::proto::multieko2::{AdresarRequest, AdresarResponse}; use crate::proto::multieko2::{PostAdresarRequest, AdresarResponse};
pub async fn create_adresar( pub async fn post_adresar(
db_pool: &PgPool, db_pool: &PgPool,
request: AdresarRequest, request: PostAdresarRequest,
) -> Result<AdresarResponse, Status> { ) -> Result<AdresarResponse, Status> {
let adresar = sqlx::query_as!( let adresar = sqlx::query_as!(
Adresar, Adresar,

View File

@@ -9,7 +9,7 @@ use std::io::{self, stdout};
use tonic::transport::Channel; use tonic::transport::Channel;
use crate::proto::multieko2::adresar_client::AdresarClient; use crate::proto::multieko2::adresar_client::AdresarClient;
use crate::client::config::Config; use crate::client::config::Config;
use crate::proto::multieko2::AdresarRequest; use crate::proto::multieko2::PostAdresarRequest;
pub struct AppTerminal { pub struct AppTerminal {
terminal: Terminal<CrosstermBackend<io::Stdout>>, terminal: Terminal<CrosstermBackend<io::Stdout>>,
@@ -52,13 +52,13 @@ impl AppTerminal {
&mut self, &mut self,
action: &str, // This should be the resolved action (e.g., "save") action: &str, // This should be the resolved action (e.g., "save")
is_saved: &mut bool, is_saved: &mut bool,
form_data: &AdresarRequest, form_data: &PostAdresarRequest,
) -> Result<(bool, String), Box<dyn std::error::Error>> { ) -> Result<(bool, String), Box<dyn std::error::Error>> {
match action { match action {
"save" => { "save" => {
// Send data to the server // Send data to the server
let request = tonic::Request::new(form_data.clone()); let request = tonic::Request::new(form_data.clone());
let response = self.grpc_client.create_adresar(request).await?; let response = self.grpc_client.post_adresar(request).await?;
*is_saved = true; *is_saved = true;
Ok((false, format!("State saved. Response: {:?}", response))) Ok((false, format!("State saved. Response: {:?}", response)))

View File

@@ -6,7 +6,7 @@ use crate::client::colors::Theme;
use crate::client::config::Config; use crate::client::config::Config;
use ratatui::layout::{Constraint, Direction, Layout, Rect}; use ratatui::layout::{Constraint, Direction, Layout, Rect};
use std::env; use std::env;
use crate::proto::multieko2::AdresarRequest; use crate::proto::multieko2::PostAdresarRequest;
pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> { pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::load()?; let config = Config::load()?;
@@ -101,8 +101,8 @@ pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
if command_mode { if command_mode {
match key.code { match key.code {
KeyCode::Enter => { KeyCode::Enter => {
// Create AdresarRequest from form data // Create PostAdresarRequest from form data
let form_data = AdresarRequest { let form_data = PostAdresarRequest {
firma: firma.clone(), firma: firma.clone(),
kz: kz.clone(), kz: kz.clone(),
drc: drc.clone(), drc: drc.clone(),
@@ -158,7 +158,7 @@ pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
} else { } else {
// Check for keybindings // Check for keybindings
if let Some(action) = config.get_action_for_key(key.code, key.modifiers) { if let Some(action) = config.get_action_for_key(key.code, key.modifiers) {
let form_data = AdresarRequest { let form_data = PostAdresarRequest {
firma: firma.clone(), firma: firma.clone(),
kz: kz.clone(), kz: kz.clone(),
drc: drc.clone(), drc: drc.clone(),

Binary file not shown.

View File

@@ -2,9 +2,9 @@
use tonic::{Request, Response, Status}; use tonic::{Request, Response, Status};
use tonic_reflection::server::Builder as ReflectionBuilder; use tonic_reflection::server::Builder as ReflectionBuilder;
use crate::db; use crate::db;
use crate::adresar::handlers::{create_adresar, get_adresar, update_adresar}; // Import the new handler use crate::adresar::handlers::{post_adresar, get_adresar, update_adresar}; // Import the new handler
use crate::proto::multieko2::{ use crate::proto::multieko2::{
AdresarRequest, AdresarResponse, GetAdresarRequest, UpdateAdresarRequest, PostAdresarRequest, AdresarResponse, GetAdresarRequest, UpdateAdresarRequest,
adresar_server::{Adresar, AdresarServer}, adresar_server::{Adresar, AdresarServer},
FILE_DESCRIPTOR_SET, FILE_DESCRIPTOR_SET,
}; };
@@ -15,11 +15,11 @@ pub struct AdresarService {
#[tonic::async_trait] #[tonic::async_trait]
impl Adresar for AdresarService { impl Adresar for AdresarService {
async fn create_adresar( async fn post_adresar(
&self, &self,
request: Request<AdresarRequest>, request: Request<PostAdresarRequest>,
) -> Result<Response<AdresarResponse>, Status> { ) -> Result<Response<AdresarResponse>, Status> {
let response = create_adresar(&self.db_pool, request.into_inner()).await?; let response = post_adresar(&self.db_pool, request.into_inner()).await?;
Ok(Response::new(response)) Ok(Response::new(response))
} }