style: cargo clippy --fix && cargo fmt
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
ci/woodpecker/pr/build-and-publish Pipeline was successful

This commit is contained in:
BAaboe 2025-07-23 19:10:17 +02:00
parent 7e10086753
commit 26f528819e
5 changed files with 36 additions and 27 deletions

View file

@ -1,24 +1,36 @@
use std::sync::Arc;
use axum::{extract::{Path, State}, http::{Extensions, StatusCode}, response::IntoResponse, Extension, Json};
use axum::{
Extension, Json,
extract::{Path, State},
http::StatusCode,
response::IntoResponse,
};
use uuid::Uuid;
use crate::{api::v1::auth::CurrentUser, error::Error, objects::{self, GuildBan, Member, Permissions}, utils::global_checks, AppState};
use crate::{
AppState,
api::v1::auth::CurrentUser,
error::Error,
objects::{GuildBan, Member, Permissions},
utils::global_checks,
};
pub async fn get(
State(app_state): State<Arc<AppState>>,
Path(guild_uuid): Path<Uuid>,
Extension(CurrentUser(uuid)): Extension<CurrentUser<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 member = Member::check_membership(&mut conn, uuid, guild_uuid).await?;
member.check_permission(&app_state, Permissions::BanMember).await?;
member
.check_permission(&app_state, Permissions::BanMember)
.await?;
let all_guild_bans = GuildBan::fetch_all(&mut conn, guild_uuid).await?;
Ok((StatusCode::OK, Json(all_guild_bans)))
}

View file

@ -12,11 +12,11 @@ use axum::{
use bytes::Bytes;
use uuid::Uuid;
mod bans;
mod channels;
mod invites;
mod members;
mod roles;
mod bans;
use crate::{
AppState,

View file

@ -4,10 +4,7 @@ use uuid::Uuid;
use diesel_async::RunQueryDsl;
use crate::{
error::Error, objects::{load_or_empty, Guild}, schema::guild_bans, Conn
};
use crate::{Conn, error::Error, objects::load_or_empty, schema::guild_bans};
#[derive(Selectable, Queryable, Serialize, Deserialize)]
#[diesel(table_name = guild_bans)]
@ -19,9 +16,12 @@ pub struct GuildBan {
pub ban_time: chrono::DateTime<chrono::Utc>,
}
impl GuildBan {
pub async fn fetch_one(conn: &mut Conn, guild_uuid: Uuid, user_uuid: Uuid) -> Result<GuildBan, Error> {
pub async fn fetch_one(
conn: &mut Conn,
guild_uuid: Uuid,
user_uuid: Uuid,
) -> Result<GuildBan, Error> {
use guild_bans::dsl;
let guild_ban = dsl::guild_bans
.filter(dsl::guild_uuid.eq(guild_uuid))
@ -35,12 +35,13 @@ impl GuildBan {
pub async fn fetch_all(conn: &mut Conn, guild_uuid: Uuid) -> Result<Vec<Self>, Error> {
use guild_bans::dsl;
let all_guild_bans = load_or_empty(dsl::guild_bans
.filter(dsl::guild_uuid.eq(guild_uuid))
.load(conn)
.await
)?;
let all_guild_bans = load_or_empty(
dsl::guild_bans
.filter(dsl::guild_uuid.eq(guild_uuid))
.load(conn)
.await,
)?;
Ok(all_guild_bans)
}

View file

@ -1,6 +1,5 @@
use diesel::{
ExpressionMethods, Insertable, QueryDsl, Queryable, Selectable, SelectableHelper,
insert_into,
ExpressionMethods, Insertable, QueryDsl, Queryable, Selectable, SelectableHelper, insert_into,
};
use diesel_async::RunQueryDsl;
use serde::{Deserialize, Serialize};
@ -9,12 +8,11 @@ use uuid::Uuid;
use crate::{
AppState, Conn,
error::Error,
objects::{Me, Permissions, Role, GuildBan},
objects::{Me, Permissions, Role},
schema::guild_bans,
schema::guild_members,
};
use super::{User, load_or_empty};
#[derive(Serialize, Queryable, Selectable, Insertable)]
@ -75,7 +73,6 @@ pub struct Member {
user: User,
}
impl Member {
pub async fn count(conn: &mut Conn, guild_uuid: Uuid) -> Result<i64, Error> {
use guild_members::dsl;
@ -230,5 +227,4 @@ impl Member {
Ok(())
}
}

View file

@ -7,6 +7,7 @@ use log::debug;
use serde::Deserialize;
use uuid::Uuid;
mod bans;
mod channel;
mod email_token;
mod friends;
@ -18,8 +19,8 @@ mod message;
mod password_reset_token;
mod role;
mod user;
mod bans;
pub use bans::GuildBan;
pub use channel::Channel;
pub use email_token::EmailToken;
pub use friends::Friend;
@ -33,7 +34,6 @@ pub use password_reset_token::PasswordResetToken;
pub use role::Permissions;
pub use role::Role;
pub use user::User;
pub use bans::GuildBan;
use crate::error::Error;