diff options
Diffstat (limited to 'src/api/pages.rs')
-rw-r--r-- | src/api/pages.rs | 58 |
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 |