Skip to content

Commit

Permalink
Register JsonSerializerOptions in the IoC Container (#15328)
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeAlhayek authored Feb 21, 2024
1 parent eb0511f commit a92ebbf
Show file tree
Hide file tree
Showing 119 changed files with 408 additions and 278 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using Microsoft.Extensions.Options;
using OrchardCore.AdminMenu.Services;
using OrchardCore.Deployment;
using OrchardCore.Json;

namespace OrchardCore.AdminMenu.Deployment
{
Expand All @@ -14,15 +12,10 @@ public class AdminMenuDeploymentSource : IDeploymentSource
private readonly IAdminMenuService _adminMenuService;
private readonly JsonSerializerOptions _serializationOptions;

public AdminMenuDeploymentSource(IAdminMenuService adminMenuService, IOptions<JsonDerivedTypesOptions> derivedTypesOptions)
public AdminMenuDeploymentSource(IAdminMenuService adminMenuService, IOptions<JsonSerializerOptions> serializationOptions)
{
_adminMenuService = adminMenuService;

// The recipe step contains polymorphic types which need to be resolved
_serializationOptions = new()
{
TypeInfoResolver = new PolymorphicJsonTypeInfoResolver(derivedTypesOptions.Value)
};
_serializationOptions = serializationOptions.Value;
}

public async Task ProcessDeploymentStepAsync(DeploymentStep step, DeploymentPlanResult result)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
using System.Linq;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using Microsoft.Extensions.Options;
using OrchardCore.AdminMenu.Services;
using OrchardCore.Json;
using OrchardCore.Recipes.Models;
using OrchardCore.Recipes.Services;

Expand All @@ -20,15 +18,14 @@ public class AdminMenuStep : IRecipeStepHandler
private readonly IAdminMenuService _adminMenuService;
private readonly JsonSerializerOptions _serializationOptions;

public AdminMenuStep(IAdminMenuService adminMenuService, IOptions<JsonDerivedTypesOptions> derivedTypesOptions)
public AdminMenuStep(
IAdminMenuService adminMenuService,
IOptions<JsonSerializerOptions> serializationOptions)
{
_adminMenuService = adminMenuService;

// The recipe step contains polymorphic types (menu items) which need to be resolved
_serializationOptions = new()
{
TypeInfoResolver = new PolymorphicJsonTypeInfoResolver(derivedTypesOptions.Value)
};
_serializationOptions = serializationOptions.Value;
}

public async Task ExecuteAsync(RecipeExecutionContext context)
Expand All @@ -38,7 +35,7 @@ public async Task ExecuteAsync(RecipeExecutionContext context)
return;
}

var model = context.Step.ToObject<AdminMenuStepModel>();
var model = context.Step.ToObject<AdminMenuStepModel>(_serializationOptions);

foreach (var token in model.Data.Cast<JsonObject>())
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System;
using GraphQL;
using GraphQL.DataLoader;
using GraphQL.Execution;
Expand All @@ -14,7 +15,6 @@
using OrchardCore.Modules;
using OrchardCore.Navigation;
using OrchardCore.Security.Permissions;
using System;

namespace OrchardCore.Apis.GraphQL
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public class AutoroutePartHandler : ContentPartHandler<AutoroutePart>
private readonly ITagCache _tagCache;
private readonly ISession _session;
private readonly IServiceProvider _serviceProvider;

protected readonly IStringLocalizer S;

private IContentManager _contentManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ public class Migrations : DataMigration
private readonly IContentDefinitionManager _contentDefinitionManager;
private readonly ShellDescriptor _shellDescriptor;

public Migrations(IContentDefinitionManager contentDefinitionManager, ShellDescriptor shellDescriptor)
public Migrations(
IContentDefinitionManager contentDefinitionManager,
ShellDescriptor shellDescriptor)
{
_contentDefinitionManager = contentDefinitionManager;
_shellDescriptor = shellDescriptor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ public override IDisplayResult Edit(ContentPartFieldDefinition partFieldDefiniti
model.TextPlaceholder = settings.TextPlaceholder;
model.DefaultUrl = settings.DefaultUrl;
model.DefaultText = settings.DefaultText;
})
.Location("Content");
}).Location("Content");
}

public override async Task<IDisplayResult> UpdateAsync(ContentPartFieldDefinition partFieldDefinition, UpdatePartFieldEditorContext context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ public override IDisplayResult Edit(ContentPartFieldDefinition partFieldDefiniti
model.Hint = settings.Hint;
model.Required = settings.Required;
model.DefaultValue = settings.DefaultValue;
})
.Location("Content");
}).Location("Content");
}

public override async Task<IDisplayResult> UpdateAsync(ContentPartFieldDefinition partFieldDefinition, UpdatePartFieldEditorContext context)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System;
using Fluid;
using Microsoft.Extensions.DependencyInjection;
using OrchardCore.ContentFields.Drivers;
Expand All @@ -15,7 +16,6 @@
using OrchardCore.Data.Migration;
using OrchardCore.Indexing;
using OrchardCore.Modules;
using System;

namespace OrchardCore.ContentFields
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
using System;
using System.Globalization;
using Fluid;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Builder;
Expand All @@ -23,8 +25,6 @@
using OrchardCore.Security.Permissions;
using OrchardCore.Settings;
using OrchardCore.Sitemaps.Builders;
using System;
using System.Globalization;

namespace OrchardCore.ContentLocalization
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ public class AuditTrailContentEventDisplayDriver : AuditTrailEventSectionDisplay
private readonly IAuditTrailManager _auditTrailManager;
private readonly ISession _session;

public AuditTrailContentEventDisplayDriver(IAuditTrailManager auditTrailManager, ISession session)
public AuditTrailContentEventDisplayDriver(
IAuditTrailManager auditTrailManager,
ISession session)
{
_auditTrailManager = auditTrailManager;
_session = session;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ public class DownloadController : Controller

public DownloadController(
IAuthorizationService authorizationService,
IContentManager contentManager
)
IContentManager contentManager)
{
_authorizationService = authorizationService;
_contentManager = contentManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ public class BuildDisplayFilter : ILiquidFilter
private readonly IContentItemDisplayManager _contentItemDisplayManager;
private readonly IUpdateModelAccessor _updateModelAccessor;

public BuildDisplayFilter(IContentItemRecursionHelper<BuildDisplayFilter> buildDisplayRecursionHelper,
public BuildDisplayFilter(
IContentItemRecursionHelper<BuildDisplayFilter> buildDisplayRecursionHelper,
IContentItemDisplayManager contentItemDisplayManager,
IUpdateModelAccessor updateModelAccessor)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ public class FullTextFilter : ILiquidFilter
private readonly IContentManager _contentManager;
private readonly IContentItemRecursionHelper<FullTextFilter> _fullTextRecursionHelper;

public FullTextFilter(IContentManager contentManager, IContentItemRecursionHelper<FullTextFilter> fullTextRecursionHelper)
public FullTextFilter(
IContentManager contentManager,
IContentItemRecursionHelper<FullTextFilter> fullTextRecursionHelper)
{
_contentManager = contentManager;
_fullTextRecursionHelper = fullTextRecursionHelper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public Task ExecuteAsync(RecipeExecutionContext context)
}

// Otherwise, the import of content items is deferred after all migrations are completed,
// this prevents e.g. a content handler to trigger a workflow before worflows migrations.
// this prevents e.g. a content handler to trigger a workflow before workflows migrations.
ShellScope.AddDeferredTask(scope =>
{
var contentManager = scope.ServiceProvider.GetRequiredService<IContentManager>();
Expand Down
4 changes: 2 additions & 2 deletions src/OrchardCore.Modules/OrchardCore.Contents/Startup.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
using System;
using System.Threading.Tasks;
using Fluid;
using Fluid.Values;
using Microsoft.AspNetCore.Authorization;
Expand Down Expand Up @@ -50,8 +52,6 @@
using OrchardCore.Sitemaps.Handlers;
using OrchardCore.Sitemaps.Models;
using OrchardCore.Sitemaps.Services;
using System;
using System.Threading.Tasks;
using YesSql.Filters.Query;

namespace OrchardCore.Contents
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public abstract class ContentActivity : Activity
{

protected readonly IStringLocalizer S;

protected ContentActivity(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class ContentCreatedEvent : ContentEvent
{
public ContentCreatedEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<ContentCreatedEvent> localizer) : base(contentManager, scriptEvaluator, localizer)
public ContentCreatedEvent(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<ContentCreatedEvent> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class ContentDeletedEvent : ContentEvent
{
public ContentDeletedEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<ContentDeletedEvent> localizer) : base(contentManager, scriptEvaluator, localizer)
public ContentDeletedEvent(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<ContentDeletedEvent> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class ContentDraftSavedEvent : ContentEvent
{
public ContentDraftSavedEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<ContentDraftSavedEvent> localizer) : base(contentManager, scriptEvaluator, localizer)
public ContentDraftSavedEvent(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<ContentDraftSavedEvent> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public abstract class ContentEvent : ContentActivity, IEvent
{
protected ContentEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer localizer) : base(contentManager, scriptEvaluator, localizer)
protected ContentEvent(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class ContentPublishedEvent : ContentEvent
{
public ContentPublishedEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<ContentPublishedEvent> localizer) : base(contentManager, scriptEvaluator, localizer)
public ContentPublishedEvent(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<ContentPublishedEvent> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public abstract class ContentTask : ContentActivity, ITask
{
protected ContentTask(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer localizer)
protected ContentTask(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class ContentUnpublishedEvent : ContentEvent
{
public ContentUnpublishedEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<ContentUnpublishedEvent> localizer) : base(contentManager, scriptEvaluator, localizer)
public ContentUnpublishedEvent(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<ContentUnpublishedEvent> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class ContentUpdatedEvent : ContentEvent
{
public ContentUpdatedEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<ContentUpdatedEvent> localizer) : base(contentManager, scriptEvaluator, localizer)
public ContentUpdatedEvent(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<ContentUpdatedEvent> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class ContentVersionedEvent : ContentEvent
{
public ContentVersionedEvent(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<ContentVersionedEvent> localizer) : base(contentManager, scriptEvaluator, localizer)
public ContentVersionedEvent(IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<ContentVersionedEvent> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class DeleteContentTask : ContentTask
{
public DeleteContentTask(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<DeleteContentTask> localizer) : base(contentManager, scriptEvaluator, localizer)
public DeleteContentTask(IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<DeleteContentTask> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class PublishContentTask : ContentTask
{
public PublishContentTask(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<PublishContentTask> localizer) : base(contentManager, scriptEvaluator, localizer)
public PublishContentTask(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<PublishContentTask> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class RetrieveContentTask : ContentTask
{
public RetrieveContentTask(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<RetrieveContentTask> localizer) : base(contentManager, scriptEvaluator, localizer)
public RetrieveContentTask(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<RetrieveContentTask> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ namespace OrchardCore.Contents.Workflows.Activities
{
public class UnpublishContentTask : ContentTask
{
public UnpublishContentTask(IContentManager contentManager, IWorkflowScriptEvaluator scriptEvaluator, IStringLocalizer<UnpublishContentTask> localizer) : base(contentManager, scriptEvaluator, localizer)
public UnpublishContentTask(
IContentManager contentManager,
IWorkflowScriptEvaluator scriptEvaluator,
IStringLocalizer<UnpublishContentTask> localizer)
: base(contentManager, scriptEvaluator, localizer)
{
}

Expand Down
Loading

0 comments on commit a92ebbf

Please sign in to comment.