diff --git a/crates/core/database/src/models/users/rocket.rs b/crates/core/database/src/models/users/rocket.rs index 4cc8cf00..ab886694 100644 --- a/crates/core/database/src/models/users/rocket.rs +++ b/crates/core/database/src/models/users/rocket.rs @@ -13,19 +13,19 @@ impl<'r> FromRequest<'r> for User { .local_cache_async(async { let db = request.rocket().state::().expect("`Database`"); - let _header_bot_token = request + let header_bot_token = request .headers() .get("x-bot-token") .next() .map(|x| x.to_string()); - /* if let Some(bot_token) = header_bot_token { - if let Ok(user) = User::from_token(db, &bot_token, UserHint::Bot).await { - return Some(user); + if let Some(bot_token) = header_bot_token { + if let Ok(bot) = db.fetch_bot_by_token(&bot_token).await { + if let Ok(user) = db.fetch_user(&bot.id).await { + return Some(user); + } } - } else */ - if let Outcome::Success(session) = request.guard::().await { - // This uses a guard so can't really easily be refactored into from_token at this stage. + } else if let Outcome::Success(session) = request.guard::().await { if let Ok(user) = db.fetch_user(&session.user_id).await { return Some(user); }