add event_bus_typed

This commit is contained in:
2026-09-23 10:36:14 +02:00
parent 3780092fa6
commit ab97dcc8d9
35 changed files with 1376 additions and 3228 deletions
+17 -12
View File
@@ -1,3 +1,8 @@
use crate::domain::events::channel_permission::{
ChannelUserPermissionCreatedEvent, ChannelUserPermissionDeletedEvent,
ChannelUserPermissionUpdatedEvent,
};
use crate::domain::events::server_permission::ServerUserPermissionUpdatedEvent;
use crate::models::{channel, channel_user, computed_permission::PermissionScopeType};
use crate::permissions::ChannelPermission;
use crate::repositories::Repositories;
@@ -204,10 +209,10 @@ impl RealtimeRegistry {
event_bus: Arc<EventBus>,
) {
let registry = Arc::clone(self);
event_bus.on_async_with(
"channel_user_permission_updated",
event_bus.on_async_with::<ChannelUserPermissionUpdatedEvent, _>(
repositories.clone(),
move |repositories, (_channel_id, user_id, _permissions): (Uuid, Uuid, u64)| {
move |repositories, event| {
let user_id = event.user_id;
let registry = Arc::clone(&registry);
async move {
if let Err(error) = registry.refresh_user(&repositories, user_id).await {
@@ -218,10 +223,10 @@ impl RealtimeRegistry {
);
let registry = Arc::clone(self);
event_bus.on_async_with(
"channel_user_permission_created",
event_bus.on_async_with::<ChannelUserPermissionCreatedEvent, _>(
repositories.clone(),
move |repositories, (_channel_id, user_id, _permissions): (Uuid, Uuid, u64)| {
move |repositories, event| {
let user_id = event.permission.user_id;
let registry = Arc::clone(&registry);
async move {
if let Err(error) = registry.refresh_user(&repositories, user_id).await {
@@ -232,10 +237,10 @@ impl RealtimeRegistry {
);
let registry = Arc::clone(self);
event_bus.on_async_with(
"channel_user_permission_deleted",
event_bus.on_async_with::<ChannelUserPermissionDeletedEvent, _>(
repositories.clone(),
move |repositories, (_channel_id, user_id): (Uuid, Uuid)| {
move |repositories, event| {
let user_id = event.permission.user_id;
let registry = Arc::clone(&registry);
async move {
if let Err(error) = registry.refresh_user(&repositories, user_id).await {
@@ -247,10 +252,10 @@ impl RealtimeRegistry {
let registry = Arc::clone(self);
let repositories = repositories.clone();
event_bus.on_async_with(
"server_user_permission_updated",
event_bus.on_async_with::<ServerUserPermissionUpdatedEvent, _>(
repositories,
move |repositories, (_server_id, user_id): (Uuid, Uuid)| {
move |repositories, event| {
let user_id = event.user_id;
let registry = Arc::clone(&registry);
async move {
if let Err(error) = registry.refresh_user(&repositories, user_id).await {