diff --git a/src/api/v1/channels/uuid/mod.rs b/src/api/v1/channels/uuid/mod.rs index f5566b3..6335bb1 100644 --- a/src/api/v1/channels/uuid/mod.rs +++ b/src/api/v1/channels/uuid/mod.rs @@ -6,11 +6,7 @@ pub mod socket; use std::sync::Arc; use crate::{ - AppState, - api::v1::auth::CurrentUser, - error::Error, - objects::{Channel, Member, Permissions}, - utils::global_checks, + api::v1::auth::CurrentUser, error::Error, objects::{AuditLog, AuditLogId, Channel, Member, Permissions}, utils::global_checks, AppState }; use axum::{ Extension, Json, @@ -55,7 +51,9 @@ pub async fn delete( .check_permission(&mut conn, &app_state.cache_pool, Permissions::ManageChannel) .await?; + let log_entrie = AuditLog::new(channel.guild_uuid, AuditLogId::ChannelDelete as i16, member.uuid, None, None, None, None, Some(channel.name.clone()), None, None).await; channel.delete(&mut conn, &app_state.cache_pool).await?; + log_entrie.push(&mut conn).await?; Ok(StatusCode::OK) } diff --git a/src/objects/channel.rs b/src/objects/channel.rs index 03a2cf6..48be7c8 100644 --- a/src/objects/channel.rs +++ b/src/objects/channel.rs @@ -52,7 +52,7 @@ impl ChannelBuilder { pub struct Channel { pub uuid: Uuid, pub guild_uuid: Uuid, - name: String, + pub name: String, description: Option, pub is_above: Option, pub permissions: Vec, diff --git a/src/objects/mod.rs b/src/objects/mod.rs index d82755e..29c96b3 100644 --- a/src/objects/mod.rs +++ b/src/objects/mod.rs @@ -22,6 +22,7 @@ mod role; mod user; pub use auditlog::AuditLog; +pub use auditlog::AuditLogId; pub use bans::GuildBan; pub use channel::Channel; pub use email_token::EmailToken;