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

Latest state including reworking to the permissions system

Location:
binary-improvements2/WebServer/src/WebAPI/APIs
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements2/WebServer/src/WebAPI/APIs/Command.cs

    r402 r404  
    2525
    2626                        if (string.IsNullOrEmpty (id)) {
    27                                 bool first = true;
    28                                 foreach (IConsoleCommand cc in SdtdConsole.Instance.GetCommands ()) {
    29                                         if (!first) {
     27                                IList<IConsoleCommand> ccs = SdtdConsole.Instance.GetCommands ();
     28                                for (int i = 0; i < ccs.Count; i++) {
     29                                        IConsoleCommand cc = ccs [i];
     30                                       
     31                                        if (i > 0) {
    3032                                                writer.WriteValueSeparator ();
    3133                                        }
    32 
    33                                         first = false;
    3434
    3535                                        writeCommandJson (ref writer, cc, permissionLevel);
     
    8181                        _writer.WriteString (_command.GetHelp ());
    8282                               
    83                         int commandPermissionLevel = GameManager.Instance.adminTools.GetCommandPermissionLevel (_command.GetCommands ());
     83                        int commandPermissionLevel = GameManager.Instance.adminTools.Commands.GetCommandPermissionLevel (_command.GetCommands ());
    8484                        _writer.WriteRaw (jsonAllowedKey);
    8585                        _writer.WriteBoolean (_userPermissionLevel <= commandPermissionLevel);
     
    117117                        }
    118118
    119                         int commandPermissionLevel = GameManager.Instance.adminTools.GetCommandPermissionLevel (command.GetCommands ());
     119                        int commandPermissionLevel = GameManager.Instance.adminTools.Commands.GetCommandPermissionLevel (command.GetCommands ());
    120120
    121121                        if (_context.PermissionLevel > commandPermissionLevel) {
  • binary-improvements2/WebServer/src/WebAPI/APIs/ServerInfo.cs

    r402 r404  
     1using System.Collections.Generic;
    12using JetBrains.Annotations;
    23using Utf8Json;
     
    2223                        GameServerInfo gsi = ConnectionManager.Instance.LocalServerInfo;
    2324
    24                         bool first = true;
    25                        
    26                        
     25                        IList<GameInfoString> list = EnumUtils.Values<GameInfoString> ();
     26                        for (int i = 0; i < list.Count; i++) {
     27                                GameInfoString stringGamePref = list [i];
    2728
    28                         foreach (GameInfoString stringGamePref in EnumUtils.Values<GameInfoString> ()) {
    29                                 string value = gsi.GetValue (stringGamePref);
    30 
    31                                 if (!first) {
     29                                if (i > 0) {
    3230                                        writer.WriteValueSeparator ();
    3331                                }
    3432
    35                                 first = false;
    36                                
    3733                                writer.WriteString (stringGamePref.ToStringCached ());
    3834                                writer.WriteNameSeparator ();
    39                                
     35
    4036                                writer.WriteRaw (keyType);
    4137                                writer.WriteString ("string");
    42                                
     38
    4339                                writer.WriteRaw (keyValue);
    44                                 writer.WriteString (value);
    45                                
     40                                writer.WriteString (gsi.GetValue (stringGamePref));
     41
    4642                                writer.WriteEndObject ();
    4743                        }
    4844
    49                         foreach (GameInfoInt intGamePref in EnumUtils.Values<GameInfoInt> ()) {
    50                                 int value = gsi.GetValue (intGamePref);
     45                        IList<GameInfoInt> ints = EnumUtils.Values<GameInfoInt> ();
     46                        for (int i = 0; i < ints.Count; i++) {
     47                                GameInfoInt intGamePref = ints [i];
    5148
    52                                 if (!first) {
     49                                if (i > 0) {
    5350                                        writer.WriteValueSeparator ();
    5451                                }
    5552
    56                                 first = false;
    57                                
    5853                                writer.WriteString (intGamePref.ToStringCached ());
    5954                                writer.WriteNameSeparator ();
    60                                
     55
    6156                                writer.WriteRaw (keyType);
    6257                                writer.WriteString ("int");
    63                                
     58
    6459                                writer.WriteRaw (keyValue);
    65                                 writer.WriteInt32 (value);
    66                                
     60                                writer.WriteInt32 (gsi.GetValue (intGamePref));
     61
    6762                                writer.WriteEndObject ();
    6863                        }
    6964
    70                         foreach (GameInfoBool boolGamePref in EnumUtils.Values<GameInfoBool> ()) {
    71                                 bool value = gsi.GetValue (boolGamePref);
     65                        IList<GameInfoBool> prefs = EnumUtils.Values<GameInfoBool> ();
     66                        for (int i = 0; i < prefs.Count; i++) {
     67                                GameInfoBool boolGamePref = prefs [i];
    7268
    73                                 if (!first) {
     69                                if (i > 0) {
    7470                                        writer.WriteValueSeparator ();
    7571                                }
    7672
    77                                 first = false;
    78                                
    7973                                writer.WriteString (boolGamePref.ToStringCached ());
    8074                                writer.WriteNameSeparator ();
    81                                
     75
    8276                                writer.WriteRaw (keyType);
    8377                                writer.WriteString ("bool");
    84                                
     78
    8579                                writer.WriteRaw (keyValue);
    86                                 writer.WriteBoolean (value);
    87                                
     80                                writer.WriteBoolean (gsi.GetValue (boolGamePref));
     81
    8882                                writer.WriteEndObject ();
    8983                        }
    90                        
     84
    9185                        writer.WriteEndObject ();
    9286                       
Note: See TracChangeset for help on using the changeset viewer.