summaryrefslogtreecommitdiff
path: root/src/api/pages.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/pages.rs')
-rw-r--r--src/api/pages.rs58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/api/pages.rs b/src/api/pages.rs
new file mode 100644
index 0000000..749a686
--- /dev/null
+++ b/src/api/pages.rs
@@ -0,0 +1,58 @@
+use axum::{Router, response::{Response, Redirect, IntoResponse}, routing::get};
+
+use crate::types::{extract::AuthorizedUser, response::ResponseCode};
+
+async fn root(user: Option<AuthorizedUser>) -> Response {
+ println!("{}", user.is_some());
+ if user.is_some() {
+ return Redirect::to("/home").into_response()
+ } else {
+ return Redirect::to("/login").into_response()
+ }
+}
+
+async fn login(user: Option<AuthorizedUser>) -> Response {
+ if user.is_some() {
+ return Redirect::to("/home").into_response()
+ } else {
+ return ResponseCode::Success.file("/login.html").await.unwrap()
+ }
+}
+
+async fn home(user: Option<AuthorizedUser>) -> Response {
+ if user.is_none() {
+ return Redirect::to("/login").into_response()
+ } else {
+ return ResponseCode::Success.file("/home.html").await.unwrap()
+ }
+}
+
+async fn people(user: Option<AuthorizedUser>) -> Response {
+ if user.is_none() {
+ return Redirect::to("/login").into_response()
+ } else {
+ return ResponseCode::Success.file("/people.html").await.unwrap()
+ }
+}
+
+async fn profile(user: Option<AuthorizedUser>) -> Response {
+ if user.is_none() {
+ return Redirect::to("/login").into_response()
+ } else {
+ return ResponseCode::Success.file("/profile.html").await.unwrap()
+ }
+}
+
+async fn wordpress() -> Response {
+ ResponseCode::ImATeapot.msg("Hello i am a teapot owo")
+}
+
+pub fn router() -> Router {
+ Router::new()
+ .route("/", get(root))
+ .route("/login", get(login))
+ .route("/home", get(home))
+ .route("/people", get(people))
+ .route("/profile", get(profile))
+ .route("/wp-admin", get(wordpress))
+} \ No newline at end of file