diff options
Diffstat (limited to 'src/api/admin.rs')
-rw-r--r-- | src/api/admin.rs | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/api/admin.rs b/src/api/admin.rs index 6030315..f412d75 100644 --- a/src/api/admin.rs +++ b/src/api/admin.rs @@ -5,13 +5,12 @@ use serde::Deserialize; use tower_cookies::{Cookie, Cookies}; use crate::{ - database, public::{ admin, docs::{EndpointDocumentation, EndpointMethod}, }, types::{ - extract::{AdminUser, Check, CheckResult, Json}, + extract::{AdminUser, Check, CheckResult, Database, Json}, http::ResponseCode, }, }; @@ -92,8 +91,8 @@ impl Check for QueryRequest { } } -async fn query(_: AdminUser, Json(body): Json<QueryRequest>) -> Response { - match database::query(body.query) { +async fn query(_: AdminUser, Database(db): Database, Json(body): Json<QueryRequest>) -> Response { + match db.query(body.query) { Ok(changes) => ResponseCode::Success.text(&format!( "Query executed successfully. {changes} lines changed." )), @@ -114,8 +113,8 @@ pub const ADMIN_POSTS: EndpointDocumentation = EndpointDocumentation { cookie: Some("admin"), }; -async fn posts(_: AdminUser) -> Response { - admin::generate_posts() +async fn posts(_: AdminUser, Database(db): Database) -> Response { + admin::generate_posts(&db) } pub const ADMIN_USERS: EndpointDocumentation = EndpointDocumentation { @@ -131,8 +130,8 @@ pub const ADMIN_USERS: EndpointDocumentation = EndpointDocumentation { cookie: Some("admin"), }; -async fn users(_: AdminUser) -> Response { - admin::generate_users() +async fn users(_: AdminUser, Database(db): Database) -> Response { + admin::generate_users(&db) } pub const ADMIN_SESSIONS: EndpointDocumentation = EndpointDocumentation { @@ -148,8 +147,8 @@ pub const ADMIN_SESSIONS: EndpointDocumentation = EndpointDocumentation { cookie: Some("admin"), }; -async fn sessions(_: AdminUser) -> Response { - admin::generate_sessions() +async fn sessions(_: AdminUser, Database(db): Database) -> Response { + admin::generate_sessions(&db) } pub const ADMIN_COMMENTS: EndpointDocumentation = EndpointDocumentation { @@ -165,8 +164,8 @@ pub const ADMIN_COMMENTS: EndpointDocumentation = EndpointDocumentation { cookie: Some("admin"), }; -async fn comments(_: AdminUser) -> Response { - admin::generate_comments() +async fn comments(_: AdminUser, Database(db): Database) -> Response { + admin::generate_comments(&db) } pub const ADMIN_LIKES: EndpointDocumentation = EndpointDocumentation { @@ -182,8 +181,8 @@ pub const ADMIN_LIKES: EndpointDocumentation = EndpointDocumentation { cookie: Some("admin"), }; -async fn likes(_: AdminUser) -> Response { - admin::generate_likes() +async fn likes(_: AdminUser, Database(db): Database) -> Response { + admin::generate_likes(&db) } async fn check(check: Option<AdminUser>) -> Response { |