fix webrtc and login
This commit is contained in:
@@ -12,6 +12,7 @@ use crate::domain::events::message::{
|
||||
};
|
||||
use crate::domain::events::server::{ServerCreatedEvent, ServerDeletedEvent, ServerUpdatedEvent};
|
||||
use crate::domain::events::server_tree::ServerTreeInvalidatedEvent;
|
||||
use crate::domain::events::voice_presence::VoicePresenceEvent;
|
||||
use crate::models::{server_user, user};
|
||||
use crate::repositories::Repositories;
|
||||
use crate::routes::category::mapper::category_model_to_category_response;
|
||||
@@ -115,6 +116,15 @@ impl RealtimeRouter {
|
||||
}
|
||||
|
||||
pub fn start(self: &Arc<Self>, event_bus: Arc<EventBus>) {
|
||||
let router = Arc::clone(self);
|
||||
event_bus.on_async::<VoicePresenceEvent>(move |event| {
|
||||
let router = Arc::clone(&router);
|
||||
async move {
|
||||
let users = router.server_users(event.server_id).await;
|
||||
let action = if event.joined { "joined" } else { "left" };
|
||||
router.gateway.send_to_users(users, "VoicePresence", action, event);
|
||||
}
|
||||
});
|
||||
let router = Arc::clone(self);
|
||||
event_bus.on_async::<MessageCreatedEvent>(move |event| {
|
||||
let router = Arc::clone(&router);
|
||||
|
||||
Reference in New Issue
Block a user