idkthings_core 0.1.0

core stuff for idkthings
Documentation
mod auth_result;
mod current_user;
mod maybe_current_user_middleware;

pub use auth_result::{AuthError, AuthResult};
pub use current_user::{CurrentUser, MaybeCurrentUser};
pub use maybe_current_user_middleware::{MaybeCurrentUserMiddleware, User};

pub fn is_admin(maybe_current_user: &MaybeCurrentUser) -> bool {
    match &maybe_current_user.0 {
        Some(current_user) => current_user.email == "padorang684@gmail.com",
        _ => false,
    }
}

pub fn assert_is_admin(maybe_current_user_middleware: &MaybeCurrentUser) -> AuthResult<()> {
    let is_admin = is_admin(maybe_current_user_middleware);

    if is_admin {
        Ok(())
    } else {
        Err(AuthError {})
    }
}