From ae0852e670627b9e3c408c52797298dd4078f065 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 18 Jan 2021 13:58:49 +0300 Subject: [PATCH] CmsKit - Seperate CmsKitTagOptions --- .../Admin/Tags/EntityTagAdminAppService.cs | 4 ++-- .../Volo/CmsKit/CmsKitDomainModule.cs | 17 ++++++++++++----- .../Volo/CmsKit/CmsKitOptions.cs | 3 --- .../Volo/CmsKit/Tags/CmsKitTagOptions.cs | 11 +++++++++++ .../CmsKit/Tags/DefaultTagDefinitionStore.cs | 12 ++++++------ .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 2 +- ....cs => TagEntityTypeDefinitionDictionary.cs} | 2 +- 7 files changed, 33 insertions(+), 18 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs rename modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/{TagDefinitionDictionary.cs => TagEntityTypeDefinitionDictionary.cs} (86%) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs index 848a2ea11e..1ef6a8bdf9 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Tags/EntityTagAdminAppService.cs @@ -23,7 +23,7 @@ namespace Volo.CmsKit.Admin.Application.Volo.CmsKit.Admin.Tags public async Task AddTagToEntityAsync(EntityTagCreateDto input) { - var definition = await _tagDefinitionStore.GetTagDefinitionAsync(input.EntityType); + var definition = await _tagDefinitionStore.GetTagEntityTypeDefinitionsAsync(input.EntityType); await CheckPolicyAsync(definition.CreatePolicy); @@ -38,7 +38,7 @@ namespace Volo.CmsKit.Admin.Application.Volo.CmsKit.Admin.Tags public async Task RemoveTagFromEntityAsync(EntityTagRemoveDto input) { - var definition = await _tagDefinitionStore.GetTagDefinitionAsync(input.EntityType); + var definition = await _tagDefinitionStore.GetTagEntityTypeDefinitionsAsync(input.EntityType); await CheckPolicyAsync(definition.DeletePolicy); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs index 719a5bc215..faf258f923 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitDomainModule.cs @@ -1,4 +1,5 @@ -using Volo.Abp.Domain; +using Microsoft.Extensions.Options; +using Volo.Abp.Domain; using Volo.Abp.GlobalFeatures; using Volo.Abp.Localization; using Volo.Abp.Modularity; @@ -7,6 +8,7 @@ using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Localization; using Volo.CmsKit.Pages; using Volo.CmsKit.Reactions; +using Volo.CmsKit.Tags; namespace Volo.CmsKit { @@ -34,14 +36,19 @@ namespace Volo.CmsKit options.Reactions.AddOrReplace(StandardReactions.Rocket); options.Reactions.AddOrReplace(StandardReactions.Pray); - if (GlobalFeatureManager.Instance.IsEnabled()) + }); + + + if (GlobalFeatureManager.Instance.IsEnabled()) + { + Configure(options => { if (GlobalFeatureManager.Instance.IsEnabled()) { - options.Tags.AddOrReplace(typeof(Page).Name, L("Page")); + options.EntityTypes.AddOrReplace(typeof(Page).Name, L("Page")); } - } - }); + }); + } } private static LocalizableString L(string name) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs index 20fde8704d..8075895184 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/CmsKitOptions.cs @@ -8,8 +8,5 @@ namespace Volo.CmsKit { [NotNull] public ReactionDefinitionDictionary Reactions { get; } = new ReactionDefinitionDictionary(); - - [NotNull] - public TagDefinitionDictionary Tags { get; } = new TagDefinitionDictionary(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs new file mode 100644 index 0000000000..8f9b073d6b --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/CmsKitTagOptions.cs @@ -0,0 +1,11 @@ +using JetBrains.Annotations; +using Volo.CmsKit.Tags; + +namespace Volo.CmsKit.Tags +{ + public class CmsKitTagOptions + { + [NotNull] + public TagEntityTypeDefinitionDictionary EntityTypes { get; } = new TagEntityTypeDefinitionDictionary(); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs index b5d02fdd23..6860e8c95c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs @@ -10,31 +10,31 @@ namespace Volo.CmsKit.Tags { public class DefaultTagDefinitionStore : ITagDefinitionStore, ITransientDependency { - private readonly CmsKitOptions options; + private readonly CmsKitTagOptions options; - public DefaultTagDefinitionStore(IOptions options) + public DefaultTagDefinitionStore(IOptions options) { this.options = options.Value; } - public virtual Task GetTagDefinitionAsync([NotNull] string entityType) + public virtual Task GetTagEntityTypeDefinitionsAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - var result = options.Tags.GetOrDefault(entityType) ?? throw new EntityNotTaggableException(entityType); + var result = options.EntityTypes.GetOrDefault(entityType) ?? throw new EntityNotTaggableException(entityType); return Task.FromResult(result); } public virtual Task> GetTagDefinitionsAsync() { - return Task.FromResult(options.Tags.Values.ToList()); + return Task.FromResult(options.EntityTypes.Values.ToList()); } public virtual Task IsDefinedAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); - return Task.FromResult(options.Tags.ContainsKey(entityType)); + return Task.FromResult(options.EntityTypes.ContainsKey(entityType)); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs index e38b5c9e52..1221e3660d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/ITagDefinitionStore.cs @@ -8,7 +8,7 @@ namespace Volo.CmsKit.Tags { Task> GetTagDefinitionsAsync(); - Task GetTagDefinitionAsync([NotNull] string entityType); + Task GetTagEntityTypeDefinitionsAsync([NotNull] string entityType); Task IsDefinedAsync([NotNull] string entityType); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs similarity index 86% rename from modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs rename to modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs index b809abbc8d..669dbbb315 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagDefinitionDictionary.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Tags/TagEntityTypeDefinitionDictionary.cs @@ -4,7 +4,7 @@ using Volo.Abp.Localization; namespace Volo.CmsKit.Tags { - public class TagDefinitionDictionary : Dictionary + public class TagEntityTypeDefinitionDictionary : Dictionary { public void AddOrReplace( [NotNull] string entityType,