Ignore:
Timestamp:
Feb 16, 2023, 3:50:53 PM (21 months ago)
Author:
alloc
Message:

Latest state including reworking to the permissions system

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements2/WebServer/src/UrlHandlers/UserStatusHandler.cs

    r402 r404  
     1using System.Collections.Generic;
    12using Utf8Json;
     3using Webserver.Permissions;
    24
    35namespace Webserver.UrlHandlers {
     
    810                private static readonly byte[] jsonLoggedInKey = JsonWriter.GetEncodedPropertyNameWithBeginObject ("loggedIn");
    911                private static readonly byte[] jsonUsernameKey = JsonWriter.GetEncodedPropertyNameWithPrefixValueSeparator ("username");
     12                private static readonly byte[] jsonPermissionLevelKey = JsonWriter.GetEncodedPropertyNameWithPrefixValueSeparator ("permissionLevel");
    1013                private static readonly byte[] jsonPermissionsKey = JsonWriter.GetEncodedPropertyNameWithPrefixValueSeparator ("permissions");
    1114
     
    2023                       
    2124                        writer.WriteRaw (jsonUsernameKey);
    22                         writer.WriteString (_context.Connection != null ? _context.Connection.UserId.ToString () : string.Empty);
     25                        writer.WriteString (_context.Connection != null ? _context.Connection.Username : string.Empty);
     26                       
     27                        writer.WriteRaw (jsonPermissionLevelKey);
     28                        writer.WriteInt32 (_context.PermissionLevel);
    2329                       
    2430                        writer.WriteRaw (jsonPermissionsKey);
    2531                        writer.WriteBeginArray ();
    2632
    27                         bool first = true;
    28                         foreach (WebPermissions.WebModulePermission perm in WebPermissions.Instance.GetModules ()) {
    29                                 if (!first) {
     33                        List<AdminWebModules.WebModule> list = AdminWebModules.Instance.GetModules ();
     34                        for (int i = 0; i < list.Count; i++) {
     35                                AdminWebModules.WebModule perm = list [i];
     36                               
     37                                if (i > 0) {
    3038                                        writer.WriteValueSeparator ();
    3139                                }
    3240
    33                                 first = false;
    34                                
    3541                                writer.WriteRaw (jsonModuleKey);
    36                                 writer.WriteString (perm.module);
    37                                
     42                                writer.WriteString (perm.Name);
     43
    3844                                writer.WriteRaw (jsonAllowedKey);
    39                                 writer.WriteBoolean (perm.permissionLevel >= _context.PermissionLevel);
    40                                
     45                                writer.WriteBoolean (perm.PermissionLevel >= _context.PermissionLevel);
     46
    4147                                writer.WriteEndObject ();
    4248                        }
Note: See TracChangeset for help on using the changeset viewer.