init
This commit is contained in:
1 parent
88ad3c389f
commit
9551e90678
17 files changed
+642
-269
No files matched your search
+14
-2
@@ -1,4 +1,4 @@
|
||||
use crate::models::{role, server};
|
||||
use crate::models::{role, server, server_user};
|
||||
use crate::repositories::Repositories;
|
||||
use crate::services::ServicesContext;
|
||||
use sea_orm::{
|
||||
@@ -85,6 +85,18 @@ impl ServerService {
|
||||
|
||||
let txn = db.begin().await?;
|
||||
|
||||
let existing = server::Entity::find_by_id(id)
|
||||
.one(&txn)
|
||||
.await?
|
||||
.ok_or_else(|| anyhow::anyhow!("Server not found"))?;
|
||||
let audience = server_user::Entity::find()
|
||||
.filter(server_user::Column::ServerId.eq(id))
|
||||
.all(&txn)
|
||||
.await?
|
||||
.into_iter()
|
||||
.map(|member| member.user_id)
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let res = server::Entity::delete_by_id(id).exec(&txn).await?;
|
||||
|
||||
let deleted = res.rows_affected > 0;
|
||||
@@ -92,7 +104,7 @@ impl ServerService {
|
||||
txn.commit().await?;
|
||||
|
||||
if deleted {
|
||||
event_bus.emit("server_deleted", id);
|
||||
event_bus.emit("server_deleted", (existing, audience));
|
||||
}
|
||||
|
||||
Ok(deleted)
|
||||
|
||||
Reference in new issue
Block a user