Files
stoatchat/src/routes/channels/channel_fetch.rs
Paul Makles 88f811761b feat: implement channel invites, perms, group create, members fetch
chore: when you accidentally run fmt
2022-02-04 21:50:30 +00:00

25 lines
578 B
Rust

use revolt_quark::{
models::{Channel, User},
perms, ChannelPermission, Database, Error, Ref, Result,
};
use rocket::{serde::json::Json, State};
#[get("/<target>")]
pub async fn req(db: &State<Database>, user: User, target: Ref) -> Result<Json<Channel>> {
let target = target.as_channel(db).await?;
if perms(&user)
.channel(&target)
.calc_channel(db)
.await
.get_view()
{
Ok(Json(target))
} else {
Err(Error::MissingPermission {
permission: ChannelPermission::View as i32,
})
}
}