source: binary-improvements/MapRendering/Web/Handlers/UserStatusHandler.cs@ 347

Last change on this file since 347 was 332, checked in by alloc, 6 years ago

*Latest optimizations

File size: 1.0 KB
RevLine 
[244]1using System.Net;
2using AllocsFixes.JSON;
[325]3using AllocsFixes.NetConnections.Servers.Web.API;
[244]4
[325]5namespace AllocsFixes.NetConnections.Servers.Web.Handlers {
[244]6 public class UserStatusHandler : PathHandler {
[325]7 public UserStatusHandler (string moduleName = null) : base (moduleName) {
[244]8 }
9
[325]10 public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user,
11 int permissionLevel) {
[244]12 JSONObject result = new JSONObject ();
13
14 result.Add ("loggedin", new JSONBoolean (user != null));
15 result.Add ("username", new JSONString (user != null ? user.SteamID.ToString () : string.Empty));
16
17 JSONArray perms = new JSONArray ();
18 foreach (WebPermissions.WebModulePermission perm in WebPermissions.Instance.GetModules ()) {
19 JSONObject permObj = new JSONObject ();
20 permObj.Add ("module", new JSONString (perm.module));
[332]21 permObj.Add ("allowed", new JSONBoolean (perm.permissionLevel >= permissionLevel));
[244]22 perms.Add (permObj);
23 }
[325]24
[244]25 result.Add ("permissions", perms);
26
[325]27 WebAPI.WriteJSON (resp, result);
[244]28 }
29 }
[325]30}
Note: See TracBrowser for help on using the repository browser.