diff options
Diffstat (limited to 'src/api/admin.rs')
-rw-r--r-- | src/api/admin.rs | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/api/admin.rs b/src/api/admin.rs index e654628..655e2e2 100644 --- a/src/api/admin.rs +++ b/src/api/admin.rs @@ -1,10 +1,16 @@ use std::env; -use axum::{response::Response, Router, routing::post}; +use axum::{response::Response, routing::post, Router}; use serde::Deserialize; -use tower_cookies::{Cookies, Cookie}; +use tower_cookies::{Cookie, Cookies}; -use crate::{types::{extract::{Check, CheckResult, Json, AdminUser, Log}, http::ResponseCode}, admin, database}; +use crate::{ + admin, database, + types::{ + extract::{AdminUser, Check, CheckResult, Json, Log}, + http::ResponseCode, + }, +}; #[derive(Deserialize)] struct AdminAuthRequest { @@ -17,11 +23,10 @@ impl Check for AdminAuthRequest { } } -async fn auth(cookies: Cookies, Json(body) : Json<AdminAuthRequest>) -> Response { - - let check = env::var("SECRET").unwrap_or("admin".to_string()); +async fn auth(cookies: Cookies, Json(body): Json<AdminAuthRequest>) -> Response { + let check = env::var("SECRET").unwrap_or_else(|_| "admin".to_string()); if check != body.secret { - return ResponseCode::BadRequest.text("Invalid admin secret") + return ResponseCode::BadRequest.text("Invalid admin secret"); } let mut cookie = Cookie::new("admin", admin::regen_secret().await); @@ -45,10 +50,12 @@ impl Check for QueryRequest { } } -async fn query(_: AdminUser, Json(body) : Json<QueryRequest>) -> Response { +async fn query(_: AdminUser, Json(body): Json<QueryRequest>) -> Response { match database::query(body.query) { - Ok(changes) => ResponseCode::Success.text(&format!("Query executed successfully. {} lines changed.", changes)), - Err(err) => ResponseCode::InternalServerError.text(&format!("{}", err)) + Ok(changes) => ResponseCode::Success.text(&format!( + "Query executed successfully. {changes} lines changed." + )), + Err(err) => ResponseCode::InternalServerError.text(&format!("{err}")), } } |