From b94f8e694bf01f5dba9ce2c01f589463a3dfbc69 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Wed, 9 Oct 2024 18:23:58 -0500 Subject: feat!: rewrite to use traits and streams --- src/lib.rs | 53 +++++++++-------------------------------------------- 1 file changed, 9 insertions(+), 44 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index dc0efe7..6a64876 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,50 +1,15 @@ -use serde::{Deserialize, Serialize}; -use service::ServiceHandles; - -pub use crate::error::{Error, Result}; +pub use crate::{ + error::{Error, Result}, + state::AppState, + status::Status, +}; pub mod api; pub mod error; pub mod service; -pub mod sse; - -pub fn router() -> axum::Router { - axum::Router::new() - .nest("/api", api::router()) - .nest("/sse", sse::router()) -} - -#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)] -#[serde(rename_all = "lowercase", tag = "status", content = "output")] -pub enum Status { - Ok, - Error(Option), -} - -impl Default for Status { - fn default() -> Self { - Status::Error(Some("Unknown".to_string())) - } -} - -impl Status { - pub fn update(&mut self, status: Status) -> bool { - let modif = *self != status; - if modif { - *self = status; - } - modif - } -} - -impl From for Status { - fn from(value: T) -> Self { - Status::Error(Some(value.to_string())) - } -} +pub mod state; +pub mod status; -impl axum::response::IntoResponse for Status { - fn into_response(self) -> axum::response::Response { - axum::Json(self).into_response() - } +pub fn router() -> axum::Router { + axum::Router::new().nest("/api/v1", api::router()) } -- cgit v1.2.3-70-g09d2