Ver código fonte

Merge pull request #4517 from BaronGreenback/pluginMessageFix

[Fix] Fixed Plugin versioning in browser notifications
Bill Thornton 4 anos atrás
pai
commit
42e90893cd

+ 20 - 0
MediaBrowser.Common/Json/Converters/JsonVersionConverter.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace MediaBrowser.Common.Json.Converters
+{
+    /// <summary>
+    /// Converts a Version object or value to/from JSON.
+    /// </summary>
+    public class JsonVersionConverter : JsonConverter<Version>
+    {
+        /// <inheritdoc />
+        public override Version Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+            => new Version(reader.GetString());
+
+        /// <inheritdoc />
+        public override void Write(Utf8JsonWriter writer, Version value, JsonSerializerOptions options)
+            => writer.WriteStringValue(value.ToString());
+    }
+}

+ 1 - 0
MediaBrowser.Common/Json/JsonDefaults.cs

@@ -40,6 +40,7 @@ namespace MediaBrowser.Common.Json
             };
             };
 
 
             options.Converters.Add(new JsonGuidConverter());
             options.Converters.Add(new JsonGuidConverter());
+            options.Converters.Add(new JsonVersionConverter());
             options.Converters.Add(new JsonStringEnumConverter());
             options.Converters.Add(new JsonStringEnumConverter());
             options.Converters.Add(new JsonNullableStructConverterFactory());
             options.Converters.Add(new JsonNullableStructConverterFactory());
             options.Converters.Add(new JsonDateTimeIso8601Converter());
             options.Converters.Add(new JsonDateTimeIso8601Converter());