grpc endpoint showing database schema for the frontend, now working

This commit is contained in:
filipriec
2025-02-21 01:55:33 +01:00
parent d105d06230
commit 5d9fffce13
5 changed files with 144 additions and 1 deletions

View File

@@ -1,10 +1,13 @@
// src/server/mod.rs
use tonic::{Request, Response, Status};
use tonic_reflection::server::Builder as ReflectionBuilder;
use crate::adresar::handlers::{post_adresar, get_adresar, put_adresar, delete_adresar, get_adresar_count, get_adresar_by_position};
use crate::adresar::handlers::{
post_adresar, get_adresar, put_adresar, delete_adresar, get_adresar_count, get_adresar_by_position, get_table_structure
};
use crate::proto::multieko2::{
PostAdresarRequest, AdresarResponse, GetAdresarRequest, PutAdresarRequest,
DeleteAdresarRequest, DeleteAdresarResponse, PositionRequest, CountResponse, Empty,
TableStructureResponse, // Add this import
adresar_server::{Adresar, AdresarServer},
FILE_DESCRIPTOR_SET,
};
@@ -62,6 +65,14 @@ impl Adresar for AdresarService {
let response = get_adresar_by_position(&self.db_pool, request.into_inner()).await?;
Ok(Response::new(response))
}
async fn get_table_structure(
&self,
request: Request<Empty>,
) -> Result<Response<TableStructureResponse>, Status> {
let response = get_table_structure(&self.db_pool, request.into_inner()).await?;
Ok(Response::new(response))
}
}
pub async fn run_server(db_pool: sqlx::PgPool) -> Result<(), Box<dyn std::error::Error>> {