From a6eee9187b3a717d83ab4474f603a0438894d717 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Mon, 18 Mar 2024 14:52:38 -0500 Subject: [PATCH] refine code --- .../Options/BotSharpOptions.cs | 7 +----- .../BotSharp.Core/BotSharpCoreExtensions.cs | 23 ++++--------------- 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/src/Infrastructure/BotSharp.Abstraction/Options/BotSharpOptions.cs b/src/Infrastructure/BotSharp.Abstraction/Options/BotSharpOptions.cs index 9d6f5ef0..e3a2f2ef 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Options/BotSharpOptions.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Options/BotSharpOptions.cs @@ -10,12 +10,7 @@ public class BotSharpOptions PropertyNameCaseInsensitive = true, PropertyNamingPolicy = JsonNamingPolicy.CamelCase, AllowTrailingCommas = true, - WriteIndented = true, - Converters = - { - new RichContentJsonConverter(), - new TemplateMessageJsonConverter() - } + WriteIndented = true }; private JsonSerializerOptions _jsonSerializerOptions; diff --git a/src/Infrastructure/BotSharp.Core/BotSharpCoreExtensions.cs b/src/Infrastructure/BotSharp.Core/BotSharpCoreExtensions.cs index 7cae4899..44177b09 100644 --- a/src/Infrastructure/BotSharp.Core/BotSharpCoreExtensions.cs +++ b/src/Infrastructure/BotSharp.Core/BotSharpCoreExtensions.cs @@ -7,6 +7,7 @@ using BotSharp.Abstraction.Options; using BotSharp.Abstraction.Messaging; using System.Text.Json.Serialization; using Microsoft.Extensions.Options; +using BotSharp.Abstraction.Messaging.JsonConverters; namespace BotSharp.Core; @@ -64,28 +65,14 @@ public static class BotSharpCoreExtensions configure(options); } - ValidateJsonConverters(options); + AddDefaultJsonConverters(options); services.AddSingleton(options); } - private static void ValidateJsonConverters(BotSharpOptions options) + private static void AddDefaultJsonConverters(BotSharpOptions options) { - var jsonConverters = options.JsonSerializerOptions.Converters; - if (jsonConverters != null) - { - // Remove the default rich message/template message converters if there are user-defined converters - if (jsonConverters.Count(x => x.Type?.Name == nameof(IRichMessage)) > 1) - { - var defaultRichMessageConverter = jsonConverters.First(x => x.Type?.Name == nameof(IRichMessage)); - jsonConverters.Remove(defaultRichMessageConverter); - } - - if (jsonConverters.Count(x => x.Type?.Name == nameof(ITemplateMessage)) > 1) - { - var defaultTemplateMessageConverter = jsonConverters.First(x => x.Type?.Name == nameof(ITemplateMessage)); - jsonConverters.Remove(defaultTemplateMessageConverter); - } - } + options.JsonSerializerOptions.Converters.Add(new RichContentJsonConverter()); + options.JsonSerializerOptions.Converters.Add(new TemplateMessageJsonConverter()); } public static void RegisterPlugins(IServiceCollection services, IConfiguration config)