add event_bus_typed
This commit is contained in:
1 parent
3780092fa6
commit
ab97dcc8d9
35 files changed
+1376
-3228
No files matched your search
+29
-9
@@ -1,3 +1,7 @@
|
||||
use crate::domain::events::server::{
|
||||
ServerCreatedEvent, ServerDeletedEvent, ServerUpdatedEvent, ServerUserCreatedEvent,
|
||||
ServerUserDeletedEvent,
|
||||
};
|
||||
use crate::models::{role, role_user, server, server_user};
|
||||
use crate::services::ServicesContext;
|
||||
use sea_orm::{
|
||||
@@ -63,7 +67,9 @@ impl ServerService {
|
||||
|
||||
txn.commit().await?;
|
||||
|
||||
event_bus.emit("server_created", srv.clone());
|
||||
event_bus.emit(ServerCreatedEvent {
|
||||
server: srv.clone(),
|
||||
});
|
||||
|
||||
Ok(srv)
|
||||
}
|
||||
@@ -97,7 +103,7 @@ impl ServerService {
|
||||
return Ok(srv);
|
||||
}
|
||||
|
||||
server_user::ActiveModel {
|
||||
let membership = server_user::ActiveModel {
|
||||
server_id: Set(server_id),
|
||||
user_id: Set(user_id),
|
||||
..Default::default()
|
||||
@@ -119,7 +125,9 @@ impl ServerService {
|
||||
.await?;
|
||||
|
||||
txn.commit().await?;
|
||||
event_bus.emit("server_user_created", (server_id, user_id));
|
||||
event_bus.emit(ServerUserCreatedEvent {
|
||||
server_user: membership,
|
||||
});
|
||||
self.service_context
|
||||
.repositories
|
||||
.read_state
|
||||
@@ -152,7 +160,9 @@ impl ServerService {
|
||||
|
||||
txn.commit().await?;
|
||||
|
||||
event_bus.emit("server_updated", srv.clone());
|
||||
event_bus.emit(ServerUpdatedEvent {
|
||||
server: srv.clone(),
|
||||
});
|
||||
|
||||
Ok(srv)
|
||||
}
|
||||
@@ -182,7 +192,10 @@ impl ServerService {
|
||||
txn.commit().await?;
|
||||
|
||||
if deleted {
|
||||
event_bus.emit("server_deleted", (existing, audience));
|
||||
event_bus.emit(ServerDeletedEvent {
|
||||
server: existing,
|
||||
audience,
|
||||
});
|
||||
}
|
||||
|
||||
Ok(deleted)
|
||||
@@ -194,7 +207,7 @@ impl ServerService {
|
||||
|
||||
let txn = db.begin().await?;
|
||||
|
||||
crate::models::server_user::ActiveModel {
|
||||
let membership = crate::models::server_user::ActiveModel {
|
||||
server_id: Set(server_id),
|
||||
user_id: Set(user_id),
|
||||
..Default::default()
|
||||
@@ -214,7 +227,9 @@ impl ServerService {
|
||||
|
||||
txn.commit().await?;
|
||||
|
||||
event_bus.emit("server_user_created", (server_id, user_id));
|
||||
event_bus.emit(ServerUserCreatedEvent {
|
||||
server_user: membership,
|
||||
});
|
||||
|
||||
Ok(true)
|
||||
}
|
||||
@@ -225,6 +240,11 @@ impl ServerService {
|
||||
|
||||
let txn = db.begin().await?;
|
||||
|
||||
let membership = server_user::Entity::find()
|
||||
.filter(server_user::Column::ServerId.eq(server_id))
|
||||
.filter(server_user::Column::UserId.eq(user_id))
|
||||
.one(&txn)
|
||||
.await?;
|
||||
let res = crate::models::server_user::Entity::delete_many()
|
||||
.filter(crate::models::server_user::Column::ServerId.eq(server_id))
|
||||
.filter(crate::models::server_user::Column::UserId.eq(user_id))
|
||||
@@ -235,8 +255,8 @@ impl ServerService {
|
||||
|
||||
txn.commit().await?;
|
||||
|
||||
if deleted {
|
||||
event_bus.emit("server_user_deleted", (server_id, user_id));
|
||||
if let Some(server_user) = membership.filter(|_| deleted) {
|
||||
event_bus.emit(ServerUserDeletedEvent { server_user });
|
||||
}
|
||||
|
||||
Ok(deleted)
|
||||
|
||||
Reference in new issue
Block a user