Ignore:
Timestamp:
May 18, 2023, 4:31:05 PM (18 months ago)
Author:
alloc
Message:

Added GameStats and GamePrefs APIs
Fixed ServerInfo API JSON output

Location:
binary-improvements2/WebServer/src/WebAPI/APIs/ServerState
Files:
1 added
1 moved

Legend:

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

    r436 r437  
    22using JetBrains.Annotations;
    33using Utf8Json;
     4using Webserver.Permissions;
    45
    5 namespace Webserver.WebAPI.APIs {
     6namespace Webserver.WebAPI.APIs.ServerState {
    67        [UsedImplicitly]
    78        public class ServerInfo : AbsRestApi {
     
    2324                        GameServerInfo gsi = ConnectionManager.Instance.LocalServerInfo;
    2425
     26                        bool first = true;
     27
    2528                        IList<GameInfoString> list = EnumUtils.Values<GameInfoString> ();
    2629                        for (int i = 0; i < list.Count; i++) {
    2730                                GameInfoString stringGamePref = list [i];
    2831
    29                                 if (i > 0) {
     32                                if (!first) {
    3033                                        writer.WriteValueSeparator ();
    3134                                }
    3235
    33                                 writer.WriteString (stringGamePref.ToStringCached ());
    34                                 writer.WriteNameSeparator ();
     36                                first = false;
     37
     38                                writer.WritePropertyName (stringGamePref.ToStringCached ());
    3539
    3640                                writer.WriteRaw (keyType);
     
    4751                                GameInfoInt intGamePref = ints [i];
    4852
    49                                 if (i > 0) {
     53                                if (!first) {
    5054                                        writer.WriteValueSeparator ();
    5155                                }
    5256
    53                                 writer.WriteString (intGamePref.ToStringCached ());
    54                                 writer.WriteNameSeparator ();
     57                                first = false;
     58
     59                                writer.WritePropertyName (intGamePref.ToStringCached ());
    5560
    5661                                writer.WriteRaw (keyType);
     
    6772                                GameInfoBool boolGamePref = prefs [i];
    6873
    69                                 if (i > 0) {
     74                                if (!first) {
    7075                                        writer.WriteValueSeparator ();
    7176                                }
    7277
    73                                 writer.WriteString (boolGamePref.ToStringCached ());
    74                                 writer.WriteNameSeparator ();
     78                                first = false;
     79
     80                                writer.WritePropertyName (boolGamePref.ToStringCached ());
    7581
    7682                                writer.WriteRaw (keyType);
     
    94100                        SendEnvelopedResult (_context, ref writer);
    95101                }
     102
     103                public override int DefaultPermissionLevel () => AdminWebModules.PermissionLevelGuest;
    96104        }
    97105}
Note: See TracChangeset for help on using the changeset viewer.