diff options
Diffstat (limited to 'server/src/helper/session.rs')
-rw-r--r-- | server/src/helper/session.rs | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/server/src/helper/session.rs b/server/src/helper/session.rs index 090330b..1417df0 100644 --- a/server/src/helper/session.rs +++ b/server/src/helper/session.rs @@ -6,7 +6,7 @@ use super::A; use crate::ui::error::MyError; use anyhow::anyhow; -use jellylogic::session::{bypass_auth_session, token_to_session, AdminSession, Session}; +use jellylogic::session::{bypass_auth_session, token_to_session, Session}; use log::warn; use rocket::{ async_trait, @@ -65,28 +65,3 @@ impl<'r> FromRequest<'r> for A<Session> { } } } - -#[async_trait] -impl<'r> FromRequest<'r> for A<AdminSession> { - type Error = MyError; - async fn from_request<'life0>( - request: &'r Request<'life0>, - ) -> request::Outcome<Self, Self::Error> { - match session_from_request(request).await { - Ok(x) => { - if x.user.admin { - Outcome::Success(A(AdminSession(x))) - } else { - Outcome::Error(( - Status::Unauthorized, - MyError(anyhow!("you are not an admin")), - )) - } - } - Err(e) => { - warn!("authentificated route rejected: {e:?}"); - Outcome::Forward(Status::Unauthorized) - } - } - } -} |