summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2019-09-13 09:09:01 -0700
committerDessalines <tyhou13@gmx.com>2019-09-13 09:09:01 -0700
commite24f4a2d337ee0d3da58a7eab35be78bc54f267b (patch)
tree7a88869c7a034027d68bc7fa1764d070846dba65 /server
parentc8da0a92ec7aecfb8fd37435ad2973af6b6fc04b (diff)
Adding an online user count to main page.
- Fixes #274
Diffstat (limited to 'server')
-rw-r--r--server/src/api/site.rs3
-rw-r--r--server/src/websocket/server.rs4
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 => {