From 8df899dfdfa6dafa5e67a5a83c30e0dbea65f8e4 Mon Sep 17 00:00:00 2001 From: Per Stark Date: Sat, 23 Nov 2024 12:19:45 +0100 Subject: [PATCH] refactor: moved routes --- src/lib.rs | 2 +- src/server/mod.rs | 1 + src/{ => server}/routes/file.rs | 0 src/{ => server}/routes/ingress.rs | 0 src/{ => server}/routes/mod.rs | 1 + src/server/routes/query.rs | 17 +++++++++++++++++ src/{ => server}/routes/queue_length.rs | 16 +++++++++++----- 7 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 src/server/mod.rs rename src/{ => server}/routes/file.rs (100%) rename src/{ => server}/routes/ingress.rs (100%) rename src/{ => server}/routes/mod.rs (77%) create mode 100644 src/server/routes/query.rs rename src/{ => server}/routes/queue_length.rs (78%) diff --git a/src/lib.rs b/src/lib.rs index 1be0aca..8fc7ad7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,6 +2,6 @@ pub mod error; pub mod ingress; pub mod rabbitmq; pub mod retrieval; -pub mod routes; +pub mod server; pub mod storage; pub mod utils; diff --git a/src/server/mod.rs b/src/server/mod.rs new file mode 100644 index 0000000..6a664ab --- /dev/null +++ b/src/server/mod.rs @@ -0,0 +1 @@ +pub mod routes; diff --git a/src/routes/file.rs b/src/server/routes/file.rs similarity index 100% rename from src/routes/file.rs rename to src/server/routes/file.rs diff --git a/src/routes/ingress.rs b/src/server/routes/ingress.rs similarity index 100% rename from src/routes/ingress.rs rename to src/server/routes/ingress.rs diff --git a/src/routes/mod.rs b/src/server/routes/mod.rs similarity index 77% rename from src/routes/mod.rs rename to src/server/routes/mod.rs index 884982f..7403bb2 100644 --- a/src/routes/mod.rs +++ b/src/server/routes/mod.rs @@ -1,3 +1,4 @@ pub mod file; pub mod ingress; +pub mod query; pub mod queue_length; diff --git a/src/server/routes/query.rs b/src/server/routes/query.rs new file mode 100644 index 0000000..daaa64d --- /dev/null +++ b/src/server/routes/query.rs @@ -0,0 +1,17 @@ +use crate::storage::db::SurrealDbClient; +use axum::{http::StatusCode, response::IntoResponse, Extension, Json}; +use serde::Deserialize; +use std::sync::Arc; +use tracing::{error, info}; + +#[derive(Debug, Deserialize)] +pub struct QueryInput { + query: String, +} + +pub async fn query_handler( + Extension(db_client): Extension>, + Json(query): Json, +) -> impl IntoResponse { + info!("Received input: {:?}", query); +} diff --git a/src/routes/queue_length.rs b/src/server/routes/queue_length.rs similarity index 78% rename from src/routes/queue_length.rs rename to src/server/routes/queue_length.rs index fd6f876..d8c5731 100644 --- a/src/routes/queue_length.rs +++ b/src/server/routes/queue_length.rs @@ -1,11 +1,14 @@ -use axum::{http::StatusCode, response::{IntoResponse, Response}}; +use axum::{ + http::StatusCode, + response::{IntoResponse, Response}, +}; use tracing::{error, info}; use crate::rabbitmq::{consumer::RabbitMQConsumer, RabbitMQConfig}; pub async fn queue_length_handler() -> Response { info!("Getting queue length"); - + // Set up RabbitMQ config let config = RabbitMQConfig { amqp_addr: "amqp://localhost".to_string(), @@ -26,11 +29,14 @@ pub async fn queue_length_handler() -> Response { // Return the queue length with a 200 OK status (StatusCode::OK, queue_length.to_string()).into_response() - }, + } Err(e) => { error!("Failed to create consumer: {:?}", e); - (StatusCode::INTERNAL_SERVER_ERROR, "Failed to connect to RabbitMQ".to_string()).into_response() + ( + StatusCode::INTERNAL_SERVER_ERROR, + "Failed to connect to RabbitMQ".to_string(), + ) + .into_response() } } } -