use revolt_quark::{models::{User, Message}, perms, Db, Error, Ref, Result}; use rocket::serde::json::Json; #[get("//messages/")] pub async fn req(db: &Db, user: User, target: Ref, msg: Ref) -> Result> { let channel = target.as_channel(db).await?; if !perms(&user) .channel(&channel) .calc_channel(db) .await .get_view() { return Err(Error::NotFound); } let message = msg.as_message(db).await?; if message.channel != channel.as_id() { return Err(Error::NotFound); } Ok(Json(message)) }