From d1fd1f16fdbc8abb23cf05bb63c77dd32d4c66fb Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Tue, 3 Jan 2023 15:34:23 +0100 Subject: [PATCH] Move resources and implementations for System.Text.Json for reuse across projects (#13626) * Moved resources and implementations for System.Text.Json for reuse across projects. * Move MvcBuilderExtensions as well --- .../Configuration/ConfigureMvcJsonOptions.cs | 4 ++-- .../DependencyInjection/MvcBuilderExtensions.cs | 4 ++-- .../Filters/JsonOptionsNameAttribute.cs | 2 +- .../Json/HttpContextJsonExtensions.cs | 4 ++-- .../Json/NamedSystemTextJsonInputFormatter.cs | 2 +- .../Json/NamedSystemTextJsonOutputFormatter.cs | 2 +- .../Controllers/ManagementApiControllerBase.cs | 2 +- src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs | 3 ++- .../Serialization}/JsonObjectConverter.cs | 2 +- 9 files changed, 13 insertions(+), 12 deletions(-) rename src/{Umbraco.Cms.Api.Management => Umbraco.Cms.Api.Common}/Configuration/ConfigureMvcJsonOptions.cs (92%) rename src/{Umbraco.Cms.Api.Management => Umbraco.Cms.Api.Common}/DependencyInjection/MvcBuilderExtensions.cs (88%) rename src/{Umbraco.Cms.Api.Management => Umbraco.Cms.Api.Common}/Filters/JsonOptionsNameAttribute.cs (82%) rename src/{Umbraco.Cms.Api.Management => Umbraco.Cms.Api.Common}/Json/HttpContextJsonExtensions.cs (75%) rename src/{Umbraco.Cms.Api.Management => Umbraco.Cms.Api.Common}/Json/NamedSystemTextJsonInputFormatter.cs (93%) rename src/{Umbraco.Cms.Api.Management => Umbraco.Cms.Api.Common}/Json/NamedSystemTextJsonOutputFormatter.cs (93%) rename src/{Umbraco.Cms.Api.Management/Json => Umbraco.Infrastructure/Serialization}/JsonObjectConverter.cs (97%) diff --git a/src/Umbraco.Cms.Api.Management/Configuration/ConfigureMvcJsonOptions.cs b/src/Umbraco.Cms.Api.Common/Configuration/ConfigureMvcJsonOptions.cs similarity index 92% rename from src/Umbraco.Cms.Api.Management/Configuration/ConfigureMvcJsonOptions.cs rename to src/Umbraco.Cms.Api.Common/Configuration/ConfigureMvcJsonOptions.cs index 2bc51fa404..8edebec2db 100644 --- a/src/Umbraco.Cms.Api.Management/Configuration/ConfigureMvcJsonOptions.cs +++ b/src/Umbraco.Cms.Api.Common/Configuration/ConfigureMvcJsonOptions.cs @@ -1,9 +1,9 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using Umbraco.Cms.Api.Management.Json; +using Umbraco.Cms.Api.Common.Json; -namespace Umbraco.Cms.Api.Management.Configuration; +namespace Umbraco.Cms.Api.Common.Configuration; public class ConfigureMvcJsonOptions : IConfigureOptions { diff --git a/src/Umbraco.Cms.Api.Management/DependencyInjection/MvcBuilderExtensions.cs b/src/Umbraco.Cms.Api.Common/DependencyInjection/MvcBuilderExtensions.cs similarity index 88% rename from src/Umbraco.Cms.Api.Management/DependencyInjection/MvcBuilderExtensions.cs rename to src/Umbraco.Cms.Api.Common/DependencyInjection/MvcBuilderExtensions.cs index 6faf2e46eb..483c30d54e 100644 --- a/src/Umbraco.Cms.Api.Management/DependencyInjection/MvcBuilderExtensions.cs +++ b/src/Umbraco.Cms.Api.Common/DependencyInjection/MvcBuilderExtensions.cs @@ -2,9 +2,9 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; -using Umbraco.Cms.Api.Management.Configuration; +using Umbraco.Cms.Api.Common.Configuration; -namespace Umbraco.Cms.Api.Management.DependencyInjection; +namespace Umbraco.Cms.Api.Common.DependencyInjection; public static class MvcBuilderExtensions { diff --git a/src/Umbraco.Cms.Api.Management/Filters/JsonOptionsNameAttribute.cs b/src/Umbraco.Cms.Api.Common/Filters/JsonOptionsNameAttribute.cs similarity index 82% rename from src/Umbraco.Cms.Api.Management/Filters/JsonOptionsNameAttribute.cs rename to src/Umbraco.Cms.Api.Common/Filters/JsonOptionsNameAttribute.cs index 2c92a577e1..e9899531c0 100644 --- a/src/Umbraco.Cms.Api.Management/Filters/JsonOptionsNameAttribute.cs +++ b/src/Umbraco.Cms.Api.Common/Filters/JsonOptionsNameAttribute.cs @@ -1,4 +1,4 @@ -namespace Umbraco.Cms.Api.Management.Filters; +namespace Umbraco.Cms.Api.Common.Filters; [AttributeUsage(AttributeTargets.Class)] public class JsonOptionsNameAttribute : Attribute diff --git a/src/Umbraco.Cms.Api.Management/Json/HttpContextJsonExtensions.cs b/src/Umbraco.Cms.Api.Common/Json/HttpContextJsonExtensions.cs similarity index 75% rename from src/Umbraco.Cms.Api.Management/Json/HttpContextJsonExtensions.cs rename to src/Umbraco.Cms.Api.Common/Json/HttpContextJsonExtensions.cs index d891e4e82e..4b3a28ccc8 100644 --- a/src/Umbraco.Cms.Api.Management/Json/HttpContextJsonExtensions.cs +++ b/src/Umbraco.Cms.Api.Common/Json/HttpContextJsonExtensions.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Http; -using Umbraco.Cms.Api.Management.Filters; +using Umbraco.Cms.Api.Common.Filters; -namespace Umbraco.Cms.Api.Management.Json; +namespace Umbraco.Cms.Api.Common.Json; public static class HttpContextJsonExtensions { diff --git a/src/Umbraco.Cms.Api.Management/Json/NamedSystemTextJsonInputFormatter.cs b/src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonInputFormatter.cs similarity index 93% rename from src/Umbraco.Cms.Api.Management/Json/NamedSystemTextJsonInputFormatter.cs rename to src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonInputFormatter.cs index 42548a1b33..47d2e33c0c 100644 --- a/src/Umbraco.Cms.Api.Management/Json/NamedSystemTextJsonInputFormatter.cs +++ b/src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonInputFormatter.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Mvc.Formatters; using Microsoft.Extensions.Logging; -namespace Umbraco.Cms.Api.Management.Json; +namespace Umbraco.Cms.Api.Common.Json; public class NamedSystemTextJsonInputFormatter : SystemTextJsonInputFormatter { diff --git a/src/Umbraco.Cms.Api.Management/Json/NamedSystemTextJsonOutputFormatter.cs b/src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonOutputFormatter.cs similarity index 93% rename from src/Umbraco.Cms.Api.Management/Json/NamedSystemTextJsonOutputFormatter.cs rename to src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonOutputFormatter.cs index fd5f6e158f..9759542828 100644 --- a/src/Umbraco.Cms.Api.Management/Json/NamedSystemTextJsonOutputFormatter.cs +++ b/src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonOutputFormatter.cs @@ -1,7 +1,7 @@ using System.Text.Json; using Microsoft.AspNetCore.Mvc.Formatters; -namespace Umbraco.Cms.Api.Management.Json; +namespace Umbraco.Cms.Api.Common.Json; public class NamedSystemTextJsonOutputFormatter : SystemTextJsonOutputFormatter { diff --git a/src/Umbraco.Cms.Api.Management/Controllers/ManagementApiControllerBase.cs b/src/Umbraco.Cms.Api.Management/Controllers/ManagementApiControllerBase.cs index 9447deff07..70b5328517 100644 --- a/src/Umbraco.Cms.Api.Management/Controllers/ManagementApiControllerBase.cs +++ b/src/Umbraco.Cms.Api.Management/Controllers/ManagementApiControllerBase.cs @@ -1,5 +1,5 @@ using Microsoft.AspNetCore.Mvc; -using Umbraco.Cms.Api.Management.Filters; +using Umbraco.Cms.Api.Common.Filters; using Umbraco.New.Cms.Core; namespace Umbraco.Cms.Api.Management.Controllers; diff --git a/src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs b/src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs index 513a8c0dfe..3a9da9b507 100644 --- a/src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs +++ b/src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs @@ -16,9 +16,10 @@ using Umbraco.Cms.Core.Composing; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.DependencyInjection; using Umbraco.Cms.Api.Common.Configuration; +using Umbraco.Cms.Api.Common.DependencyInjection; using Umbraco.Cms.Api.Management.DependencyInjection; -using Umbraco.Cms.Api.Management.Json; using Umbraco.Cms.Api.Management.OpenApi; +using Umbraco.Cms.Infrastructure.Serialization; using Umbraco.Cms.Web.Common.ApplicationBuilder; using Umbraco.Extensions; using Umbraco.New.Cms.Core; diff --git a/src/Umbraco.Cms.Api.Management/Json/JsonObjectConverter.cs b/src/Umbraco.Infrastructure/Serialization/JsonObjectConverter.cs similarity index 97% rename from src/Umbraco.Cms.Api.Management/Json/JsonObjectConverter.cs rename to src/Umbraco.Infrastructure/Serialization/JsonObjectConverter.cs index 6f475e045a..a763c21a1c 100644 --- a/src/Umbraco.Cms.Api.Management/Json/JsonObjectConverter.cs +++ b/src/Umbraco.Infrastructure/Serialization/JsonObjectConverter.cs @@ -2,7 +2,7 @@ using System.Text.Json.Nodes; using System.Text.Json.Serialization; -namespace Umbraco.Cms.Api.Management.Json; +namespace Umbraco.Cms.Infrastructure.Serialization; public class JsonObjectConverter : JsonConverter {