From d8416f3c9942684b3f661d8c02fee09f365e6e69 Mon Sep 17 00:00:00 2001 From: quirinecker Date: Mon, 2 Mar 2026 23:01:45 +0100 Subject: [PATCH] get endpoint in progress --- 2 | 20 ++++++++++++++++++++ src/resources/alarm/get.rs | 32 ++++++++++++++++++++++++++++++++ src/resources/alarm/mod.rs | 4 +++- 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 2 create mode 100644 src/resources/alarm/get.rs diff --git a/2 b/2 new file mode 100644 index 0000000..f1f0426 --- /dev/null +++ b/2 @@ -0,0 +1,20 @@ +use utoipa::IntoResponses; + +struct OkResponse { + name: String, + enabled: bool, + time: DateTime +} + +#[derive(IntoResponses)] +enum Responses { + #[response(status = 200)] + Ok(#[to_schema] Vec) + +} + + +pub fn get_handler() -> Responses { + + +} diff --git a/src/resources/alarm/get.rs b/src/resources/alarm/get.rs new file mode 100644 index 0000000..bd13357 --- /dev/null +++ b/src/resources/alarm/get.rs @@ -0,0 +1,32 @@ +use axum::{Json, http::StatusCode, response::IntoResponse}; +use chrono::{DateTime, Local}; +use utoipa::{IntoResponses, ToSchema}; + +#[derive(ToSchema)] +struct OkResponse { + name: String, + enabled: bool, + time: DateTime +} + +#[derive(IntoResponses)] +enum Responses { + #[response(status = 200)] + Ok(#[to_schema] Vec), + #[response(status = 500)] + DBError(String) +} + +impl IntoResponse for Responses { + fn into_response(self) -> axum::response::Response { + match self { + Responses::Ok(body) => (StatusCode::OK, Json(body)).into_response(), + Responses::DBError(message) => (StatusCode::INTERNAL_SERVER_ERROR, Json(message)).into_response(), + } + } + +} + +pub fn get_handler() -> Responses { + todo!() +} diff --git a/src/resources/alarm/mod.rs b/src/resources/alarm/mod.rs index 1c2ae13..b89a363 100644 --- a/src/resources/alarm/mod.rs +++ b/src/resources/alarm/mod.rs @@ -1,8 +1,10 @@ +mod get; mod post; + use utoipa_axum::{router::OpenApiRouter, routes}; use crate::AppState; pub fn router() -> OpenApiRouter { - OpenApiRouter::new().routes(routes!(post::post_handler)) + OpenApiRouter::new().routes(routes!(post::post_handler, get::get_handler)) }