diff --git a/src/routes/invites/invite_join.rs b/src/routes/invites/invite_join.rs index 298f27ba..b3be28c6 100644 --- a/src/routes/invites/invite_join.rs +++ b/src/routes/invites/invite_join.rs @@ -19,11 +19,14 @@ pub async fn req(db: &Db, user: User, target: Ref) -> Result { let invite = target.as_invite(db).await?; match &invite { Invite::Server { channel, server, .. } => { - let channel = db.fetch_channel(channel).await?; let server = db.fetch_server(server).await?; + if db.fetch_ban(&server.id, &user.id).await.is_ok() { + return Err(Error::Banned) + } + let channel = db.fetch_channel(channel).await?; db.insert_member(&server.id, &user.id).await?; - + Ok(json!({ "type": "Server", "channel": channel,