feat: added unband endpoint
This commit is contained in:
parent
ba2442e786
commit
0e0c590e4d
2 changed files with 23 additions and 3 deletions
|
@ -25,8 +25,8 @@ pub async fn get(
|
|||
|
||||
let mut conn = app_state.pool.get().await?;
|
||||
|
||||
let member = Member::check_membership(&mut conn, uuid, guild_uuid).await?;
|
||||
member
|
||||
let caller = Member::check_membership(&mut conn, uuid, guild_uuid).await?;
|
||||
caller
|
||||
.check_permission(&app_state, Permissions::BanMember)
|
||||
.await?;
|
||||
|
||||
|
@ -34,3 +34,22 @@ pub async fn get(
|
|||
|
||||
Ok((StatusCode::OK, Json(all_guild_bans)))
|
||||
}
|
||||
|
||||
pub async fn unban(
|
||||
State(app_state): State<Arc<AppState>>,
|
||||
Path((guild_uuid, user_uuid)): Path<(Uuid, Uuid)>,
|
||||
Extension(CurrentUser(uuid)): Extension<CurrentUser<Uuid>>,
|
||||
) -> Result<impl IntoResponse, Error> {
|
||||
global_checks(&app_state, uuid).await?;
|
||||
|
||||
let mut conn = app_state.pool.get().await?;
|
||||
|
||||
let caller = Member::check_membership(&mut conn, uuid, guild_uuid).await?;
|
||||
caller.check_permission(&app_state, Permissions::BanMember).await?;
|
||||
|
||||
let ban = GuildBan::fetch_one(&mut conn, guild_uuid, user_uuid).await?;
|
||||
|
||||
ban.unban(&mut conn).await?;
|
||||
|
||||
Ok(StatusCode::OK)
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ use axum::{
|
|||
extract::{Multipart, Path, State},
|
||||
http::StatusCode,
|
||||
response::IntoResponse,
|
||||
routing::{get, patch, post},
|
||||
routing::{get, patch, post, delete},
|
||||
};
|
||||
use bytes::Bytes;
|
||||
use uuid::Uuid;
|
||||
|
@ -45,6 +45,7 @@ pub fn router() -> Router<Arc<AppState>> {
|
|||
.route("/members", get(members::get))
|
||||
// Bans
|
||||
.route("/bans", get(bans::get))
|
||||
.route("/bans/{uuid}", delete(bans::unban))
|
||||
}
|
||||
|
||||
/// `GET /api/v1/guilds/{uuid}` DESCRIPTION
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue