From 4f6a27eb1429cde0651a102bf7bc8425fae2fae3 Mon Sep 17 00:00:00 2001 From: Roderick Sieben Date: Fri, 1 Nov 2019 15:14:57 +0100 Subject: [PATCH] fix enum deserialization with System.Text.Json --- Camille/Camille.csproj | 2 +- Camille/gen/Enums/Champion.cs.dt | 3 +++ Camille/gen/Enums/GameMode.cs.dt | 5 ++++- Camille/gen/Enums/GameType.cs.dt | 3 +++ Camille/gen/Enums/Map.cs.dt | 3 +++ Camille/gen/Enums/Queue.cs.dt | 3 +++ Camille/gen/Enums/Season.cs.dt | 3 +++ Camille/src/Enums/Division.cs | 6 ++++-- Camille/src/Enums/GameResult.cs | 3 +++ Camille/src/Enums/Locale.cs | 3 +++ Camille/src/Enums/Position.cs | 3 ++- Camille/src/Enums/QueueType.cs | 21 +++++++++++++-------- Camille/src/Enums/Region.cs | 3 +++ Camille/src/Enums/Team.cs | 3 +++ Camille/src/Enums/Tier.cs | 3 +++ 15 files changed, 54 insertions(+), 13 deletions(-) diff --git a/Camille/Camille.csproj b/Camille/Camille.csproj index 76e178bf..603a4ebb 100644 --- a/Camille/Camille.csproj +++ b/Camille/Camille.csproj @@ -52,7 +52,7 @@ - + diff --git a/Camille/gen/Enums/Champion.cs.dt b/Camille/gen/Enums/Champion.cs.dt index 5854d4e3..763bdcb8 100644 --- a/Camille/gen/Enums/Champion.cs.dt +++ b/Camille/gen/Enums/Champion.cs.dt @@ -23,6 +23,9 @@ namespace MingweiSamuel.Camille.Enums /// /// Champion enum based on ChampionIds. /// +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Champion : int { {{ diff --git a/Camille/gen/Enums/GameMode.cs.dt b/Camille/gen/Enums/GameMode.cs.dt index 6ba28ba5..9380551c 100644 --- a/Camille/gen/Enums/GameMode.cs.dt +++ b/Camille/gen/Enums/GameMode.cs.dt @@ -13,12 +13,15 @@ namespace MingweiSamuel.Camille.Enums /// /// GameModes enum based on gameModes.json. /// +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum GameMode { {{ for (let { gameMode, description } of gameModes) { }} - [Display(Name = "{{= gameMode}}", Description = "{{= description}}")] + [Display(Name = "{{= gameMode }}", Description = "{{= description }}")] {{= enumName(gameMode) }}, {{ } diff --git a/Camille/gen/Enums/GameType.cs.dt b/Camille/gen/Enums/GameType.cs.dt index ed964695..4564ee58 100644 --- a/Camille/gen/Enums/GameType.cs.dt +++ b/Camille/gen/Enums/GameType.cs.dt @@ -13,6 +13,9 @@ namespace MingweiSamuel.Camille.Enums /// /// GameTypes enum based on gameTypes.json. /// +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum GameType { {{ diff --git a/Camille/gen/Enums/Map.cs.dt b/Camille/gen/Enums/Map.cs.dt index 8ee33c4e..ab39810f 100644 --- a/Camille/gen/Enums/Map.cs.dt +++ b/Camille/gen/Enums/Map.cs.dt @@ -13,6 +13,9 @@ namespace MingweiSamuel.Camille.Enums /// /// Maps enum based on maps.json. /// +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Map { {{ diff --git a/Camille/gen/Enums/Queue.cs.dt b/Camille/gen/Enums/Queue.cs.dt index f3131137..2da893a4 100644 --- a/Camille/gen/Enums/Queue.cs.dt +++ b/Camille/gen/Enums/Queue.cs.dt @@ -13,6 +13,9 @@ namespace MingweiSamuel.Camille.Enums /// /// Queues enum based on queues.json. /// +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Queue { {{ diff --git a/Camille/gen/Enums/Season.cs.dt b/Camille/gen/Enums/Season.cs.dt index a17c22b9..483ab901 100644 --- a/Camille/gen/Enums/Season.cs.dt +++ b/Camille/gen/Enums/Season.cs.dt @@ -14,6 +14,9 @@ namespace MingweiSamuel.Camille.Enums /// /// Seasons enum based on Seasons.json. /// +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Season { {{ diff --git a/Camille/src/Enums/Division.cs b/Camille/src/Enums/Division.cs index 9f6c8787..86b9ffdd 100644 --- a/Camille/src/Enums/Division.cs +++ b/Camille/src/Enums/Division.cs @@ -2,13 +2,15 @@ namespace MingweiSamuel.Camille.Enums { +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Division : byte { I = 1, II = 2, III = 3, IV = 4, - [Obsolete] - V = 5 + [Obsolete] V = 5 } } \ No newline at end of file diff --git a/Camille/src/Enums/GameResult.cs b/Camille/src/Enums/GameResult.cs index ffdd1a6c..9539eedf 100644 --- a/Camille/src/Enums/GameResult.cs +++ b/Camille/src/Enums/GameResult.cs @@ -1,5 +1,8 @@ namespace MingweiSamuel.Camille.Enums { +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum GameResult { /// Win string for TeamStats#win. "Win". diff --git a/Camille/src/Enums/Locale.cs b/Camille/src/Enums/Locale.cs index 336f13db..e98ff1bb 100644 --- a/Camille/src/Enums/Locale.cs +++ b/Camille/src/Enums/Locale.cs @@ -3,6 +3,9 @@ namespace MingweiSamuel.Camille.Enums { +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Locale { en_US, diff --git a/Camille/src/Enums/Position.cs b/Camille/src/Enums/Position.cs index 53b3e0e5..031bcae7 100644 --- a/Camille/src/Enums/Position.cs +++ b/Camille/src/Enums/Position.cs @@ -5,7 +5,8 @@ namespace MingweiSamuel.Camille.Enums /// /// Roles used for positional ranks. /// - [Obsolete("Check: https://riot-api-libraries.readthedocs.io/en/latest/roleid.html for a better way to figure out where somebody played")] + [Obsolete( + "Check: https://riot-api-libraries.readthedocs.io/en/latest/roleid.html for a better way to figure out where somebody played")] public static class Position { /// diff --git a/Camille/src/Enums/QueueType.cs b/Camille/src/Enums/QueueType.cs index 004902fe..ba2a941f 100644 --- a/Camille/src/Enums/QueueType.cs +++ b/Camille/src/Enums/QueueType.cs @@ -1,8 +1,13 @@ -namespace MingweiSamuel.Camille.Enums { - public enum QueueType { - RANKED_SOLO_5x5 = 420, - RANKED_TFT = 1100, - RANKED_FLEX_SR = 440, - RANKED_FLEX_TT = 470 - } -} +namespace MingweiSamuel.Camille.Enums +{ +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif + public enum QueueType + { + RANKED_SOLO_5x5 = 420, + RANKED_TFT = 1100, + RANKED_FLEX_SR = 440, + RANKED_FLEX_TT = 470 + } +} \ No newline at end of file diff --git a/Camille/src/Enums/Region.cs b/Camille/src/Enums/Region.cs index 8560d25c..844add1e 100644 --- a/Camille/src/Enums/Region.cs +++ b/Camille/src/Enums/Region.cs @@ -3,6 +3,9 @@ namespace MingweiSamuel.Camille.Enums { +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Region { /// Brazil. diff --git a/Camille/src/Enums/Team.cs b/Camille/src/Enums/Team.cs index d6d797aa..4b3dffce 100644 --- a/Camille/src/Enums/Team.cs +++ b/Camille/src/Enums/Team.cs @@ -1,5 +1,8 @@ namespace MingweiSamuel.Camille.Enums { +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Team { /// Team ID for Summoner's Rift blue side (100). diff --git a/Camille/src/Enums/Tier.cs b/Camille/src/Enums/Tier.cs index d8e523ee..8c09acc8 100644 --- a/Camille/src/Enums/Tier.cs +++ b/Camille/src/Enums/Tier.cs @@ -3,6 +3,9 @@ /// /// Contains tier names (CHALLENGER, MASTER, etc.) /// +#if USE_SYSTEXTJSON + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] +#endif public enum Tier { CHALLENGER,