backend/controller/
sse.rs1use actix_web::{get, web::Query, Responder};
4
5use crate::{
6 config::{
7 auth::user_info::UserInfo,
8 data::{SharedBroadcaster, SharedPool},
9 },
10 model::dto::ConnectToMapQueryParams,
11 service::map_access_control::check_permissions,
12};
13
14#[get("")]
16pub async fn connect_to_map(
17 query: Query<ConnectToMapQueryParams>,
18 broadcaster: SharedBroadcaster,
19 user_info: UserInfo,
20 pool: SharedPool,
21) -> impl Responder {
22 let query = query.into_inner();
23 check_permissions(query.map_id, &pool, user_info).await?;
24 broadcaster.new_client(query.map_id).await
25}