diff options
author | Dessalines <tyhou13@gmx.com> | 2019-09-13 09:09:01 -0700 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2019-09-13 09:09:01 -0700 |
commit | e24f4a2d337ee0d3da58a7eab35be78bc54f267b (patch) | |
tree | 7a88869c7a034027d68bc7fa1764d070846dba65 /server | |
parent | c8da0a92ec7aecfb8fd37435ad2973af6b6fc04b (diff) |
Adding an online user count to main page.
- Fixes #274
Diffstat (limited to 'server')
-rw-r--r-- | server/src/api/site.rs | 3 | ||||
-rw-r--r-- | server/src/websocket/server.rs | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/server/src/api/site.rs b/server/src/api/site.rs index b517568e..912378ab 100644 --- a/server/src/api/site.rs +++ b/server/src/api/site.rs @@ -81,6 +81,7 @@ pub struct GetSiteResponse { site: Option<SiteView>, admins: Vec<UserView>, banned: Vec<UserView>, + pub online: usize, } #[derive(Serialize, Deserialize)] @@ -296,6 +297,7 @@ impl Perform<GetSiteResponse> for Oper<GetSite> { site: site_view, admins: admins, banned: banned, + online: 0 }) } } @@ -486,6 +488,7 @@ impl Perform<GetSiteResponse> for Oper<TransferSite> { site: Some(site_view), admins: admins, banned: banned, + online: 0 }) } } diff --git a/server/src/websocket/server.rs b/server/src/websocket/server.rs index 08714c30..41bb1058 100644 --- a/server/src/websocket/server.rs +++ b/server/src/websocket/server.rs @@ -492,8 +492,10 @@ fn parse_json_message(chat: &mut ChatServer, msg: StandardMessage) -> Result<Str Ok(serde_json::to_string(&res)?) } UserOperation::GetSite => { + let online: usize = chat.sessions.len(); let get_site: GetSite = serde_json::from_str(data)?; - let res = Oper::new(user_operation, get_site).perform()?; + let mut res = Oper::new(user_operation, get_site).perform()?; + res.online = online; Ok(serde_json::to_string(&res)?) } UserOperation::Search => { |