From 955598dce9aeb5626654c72b0ef94850123fa8ac Mon Sep 17 00:00:00 2001 From: Tolmachev Igor Date: Sun, 14 Sep 2025 23:27:25 +0300 Subject: Add openapi specs and docs --- src/response/success.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/response/success.rs (limited to 'src/response/success.rs') diff --git a/src/response/success.rs b/src/response/success.rs new file mode 100644 index 0000000..c2ec4e5 --- /dev/null +++ b/src/response/success.rs @@ -0,0 +1,33 @@ +use axum::{ + http::StatusCode, + response::{IntoResponse, Response}, +}; +use serde::Serialize; +use utoipa::ToSchema; + +#[derive(Serialize, ToSchema)] +enum SuccessStatus { + #[serde(rename = "success")] + Success, +} + +#[derive(Serialize, ToSchema)] +pub struct SuccessResponse { + status: SuccessStatus, + data: T, +} + +impl SuccessResponse { + pub fn ok(data: T) -> Self { + Self { + status: SuccessStatus::Success, + data, + } + } +} + +impl IntoResponse for SuccessResponse { + fn into_response(self) -> Response { + (StatusCode::OK, axum::Json(self)).into_response() + } +} -- cgit v1.2.3