feat(core): permissions query, finish bots impl
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use revolt_database::{util::reference::Reference, Database};
|
||||
use revolt_database::{util::reference::Reference, Database, User};
|
||||
use revolt_models::v0::FetchBotResponse;
|
||||
use revolt_quark::{models::User, Error, Result};
|
||||
use revolt_result::{create_error, Result};
|
||||
use rocket::{serde::json::Json, State};
|
||||
|
||||
/// # Fetch Bot
|
||||
@@ -14,21 +14,16 @@ pub async fn fetch_bot(
|
||||
bot: Reference,
|
||||
) -> Result<Json<FetchBotResponse>> {
|
||||
if user.bot.is_some() {
|
||||
return Err(Error::IsBot);
|
||||
return Err(create_error!(IsBot));
|
||||
}
|
||||
|
||||
let bot = bot.as_bot(db).await.map_err(Error::from_core)?;
|
||||
let bot = bot.as_bot(db).await?;
|
||||
if bot.owner != user.id {
|
||||
return Err(Error::NotFound);
|
||||
return Err(create_error!(NotFound));
|
||||
}
|
||||
|
||||
Ok(Json(FetchBotResponse {
|
||||
user: db
|
||||
.fetch_user(&bot.id)
|
||||
.await
|
||||
.map_err(Error::from_core)?
|
||||
.into(None)
|
||||
.await,
|
||||
user: db.fetch_user(&bot.id).await?.into(None).await,
|
||||
bot: bot.into(),
|
||||
}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user