WIP: Audit Logs #45

Draft
baaboe wants to merge 13 commits from wip/auditlog into main
2 changed files with 6 additions and 7 deletions
Showing only changes of commit 55ef6ddde2 - Show all commits

View file

@ -10,11 +10,7 @@ use axum::{
use serde::Deserialize; use serde::Deserialize;
use crate::{ use crate::{
AppState, api::v1::auth::CurrentUser, error::Error, objects::{AuditLog, AuditLogId, Member, Permissions, Role}, utils::{global_checks, order_by_is_above, CacheFns}, AppState
api::v1::auth::CurrentUser,
error::Error,
objects::{Member, Permissions, Role},
utils::{CacheFns, global_checks, order_by_is_above},
}; };
pub mod uuid; pub mod uuid;
@ -71,7 +67,10 @@ pub async fn create(
.check_permission(&mut conn, &app_state.cache_pool, Permissions::ManageRole) .check_permission(&mut conn, &app_state.cache_pool, Permissions::ManageRole)
.await?; .await?;
// TODO: roles permission
let role = Role::new(&mut conn, guild_uuid, role_info.name.clone()).await?; let role = Role::new(&mut conn, guild_uuid, role_info.name.clone()).await?;
AuditLog::new(guild_uuid, AuditLogId::RoleCreate as i16, member.uuid, None, None, None, Some(role.uuid), Some(role_info.name.clone()) , None, None).await.push(&mut conn).await?;
Ok((StatusCode::OK, Json(role)).into_response()) Ok((StatusCode::OK, Json(role)).into_response())
} }

View file

@ -21,9 +21,9 @@ use super::{HasIsAbove, HasUuid, load_or_empty, member::MemberBuilder};
#[diesel(primary_key(uuid))] #[diesel(primary_key(uuid))]
#[diesel(check_for_backend(diesel::pg::Pg))] #[diesel(check_for_backend(diesel::pg::Pg))]
pub struct Role { pub struct Role {
uuid: Uuid, pub uuid: Uuid,
guild_uuid: Uuid, guild_uuid: Uuid,
name: String, pub name: String,
color: i32, color: i32,
is_above: Option<Uuid>, is_above: Option<Uuid>,
pub permissions: i64, pub permissions: i64,