zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
use actix::Handler;
use actix::Message as ActixMessage;

use crate::core::auth0::UserDetails;

use crate::websocket::webchat::server::Server;
use crate::websocket::webchat::ConnectId;

// 定义 GetAllUsers 消息
#[derive(ActixMessage)]
#[rtype(result = "Vec<(String, UserDetails)>")]
pub struct GetAllUsers;

// 定义处理 GetAllUsers 消息的 Handler
impl Handler<GetAllUsers> for Server {
    type Result = Vec<(ConnectId, UserDetails)>;

    fn handle(&mut self, _msg: GetAllUsers, _ctx: &mut Self::Context) -> Self::Result {
        self.user_infos
            .iter()
            .map(|(k, v)| (k.to_string(), v.to_owned()))
            .collect()
    }
}