diff options
| author | rtkay123 <dev@kanjala.com> | 2026-04-04 10:51:18 +0200 |
|---|---|---|
| committer | rtkay123 <dev@kanjala.com> | 2026-04-04 10:51:18 +0200 |
| commit | 19c25138f88acf19c9a959a58de4f58e54026ebc (patch) | |
| tree | bd854f20c539770a92fb451503b4c6d132c110a6 /crates/api-base/src | |
| parent | 41d90f42c37df06dabfd717d19f3dc72b5ba2d11 (diff) | |
| download | sellershut-19c25138f88acf19c9a959a58de4f58e54026ebc.tar.bz2 sellershut-19c25138f88acf19c9a959a58de4f58e54026ebc.zip | |
feat: connect to db
Diffstat (limited to 'crates/api-base/src')
| -rw-r--r-- | crates/api-base/src/health/apidoc.rs | 12 | ||||
| -rw-r--r-- | crates/api-base/src/health/mod.rs | 27 | ||||
| -rw-r--r-- | crates/api-base/src/lib.rs | 3 | ||||
| -rw-r--r-- | crates/api-base/src/version.rs | 45 |
4 files changed, 0 insertions, 87 deletions
diff --git a/crates/api-base/src/health/apidoc.rs b/crates/api-base/src/health/apidoc.rs deleted file mode 100644 index 45b8754..0000000 --- a/crates/api-base/src/health/apidoc.rs +++ /dev/null @@ -1,12 +0,0 @@ -use utoipa::OpenApi; - -use crate::Version; - -#[derive(OpenApi)] -#[openapi( - tags( - (name = "sellershut", description = "API health check"), - ), - components(schemas(Version)) -)] -pub struct ApiDocBase; diff --git a/crates/api-base/src/health/mod.rs b/crates/api-base/src/health/mod.rs deleted file mode 100644 index a84dc85..0000000 --- a/crates/api-base/src/health/mod.rs +++ /dev/null @@ -1,27 +0,0 @@ -#[cfg(feature = "utoipa")] -mod apidoc; - -#[cfg(feature = "utoipa")] -pub use apidoc::*; - -#[derive(Default)] -pub struct BaseService; - -impl HealthDriver for BaseService {} - -pub trait HealthDriver: Send + Sync { - fn health(&self, app: &str, version: &str) -> String { - format!("{app} v{version} is live") - } -} - -#[cfg(test)] -mod tests { - use crate::health::{BaseService, HealthDriver}; - - #[test] - fn health() { - let app = BaseService.health(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")); - assert!(app.contains("is live")); - } -} diff --git a/crates/api-base/src/lib.rs b/crates/api-base/src/lib.rs deleted file mode 100644 index 9c632e0..0000000 --- a/crates/api-base/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod health; -mod version; -pub use version::*; diff --git a/crates/api-base/src/version.rs b/crates/api-base/src/version.rs deleted file mode 100644 index 0652c6e..0000000 --- a/crates/api-base/src/version.rs +++ /dev/null @@ -1,45 +0,0 @@ -#[derive(Debug)] -#[cfg_attr( - feature = "utoipa", - derive(utoipa::ToSchema, serde::Deserialize, serde::Serialize), - schema(example = "v0"), - serde(rename_all = "lowercase") -)] -pub enum Version { - V0, -} - -#[cfg(feature = "axum")] -mod request { - use super::*; - use axum::RequestPartsExt; - use axum::extract::{FromRequestParts, Path}; - use axum::http::StatusCode; - use axum::http::request::Parts; - use axum::response::{IntoResponse, Response}; - use std::collections::HashMap; - - impl<S> FromRequestParts<S> for Version - where - S: Send + Sync, - { - type Rejection = Response; - - async fn from_request_parts( - parts: &mut Parts, - _state: &S, - ) -> Result<Self, Self::Rejection> { - let params: Path<HashMap<String, String>> = - parts.extract().await.map_err(IntoResponse::into_response)?; - - let version = params - .get("apiVersion") - .ok_or_else(|| (StatusCode::NOT_FOUND, "version param missing").into_response())?; - - match version.as_str() { - "v0" => Ok(Version::V0), - _ => Err((StatusCode::NOT_FOUND, "unknown version").into_response()), - } - } - } -} |
