summaryrefslogtreecommitdiff
path: root/src/api/admin.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/admin.rs')
-rw-r--r--src/api/admin.rs27
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 {