From c19356e10c99892877ee48d3ba24a37bda4f35af Mon Sep 17 00:00:00 2001 From: enisn Date: Thu, 11 Mar 2021 11:55:28 +0300 Subject: [PATCH] CmsKit - Standardize EntityTypeDefinitionStores --- .../MediaDescriptorAdminAppService.cs | 4 ++-- .../CmsKit/Admin/Tags/EntityTagAdminAppService.cs | 6 +++--- .../DefaultCommentEntityTypeDefinitionStore.cs | 4 ++-- .../Comments/ICommentEntityTypeDefinitionStore.cs | 14 ++------------ .../Volo/CmsKit/IEntityTypeDefinitionStore.cs | 14 ++++++++++++++ .../DefaultMediaDescriptorDefinitionStore.cs | 4 ++-- .../IMediaDescriptorDefinitionStore.cs | 9 ++------- .../Reactions/DefaultReactionDefinitionStore.cs | 2 +- .../CmsKit/Reactions/IReactionDefinitionStore.cs | 6 +----- .../Volo/CmsKit/Tags/DefaultTagDefinitionStore.cs | 4 ++-- .../Volo/CmsKit/Tags/ITagDefinitionStore.cs | 6 +----- 11 files changed, 32 insertions(+), 41 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/IEntityTypeDefinitionStore.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs index 8ea11bd3c8..b359d55244 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs @@ -31,7 +31,7 @@ namespace Volo.CmsKit.Admin.MediaDescriptors public virtual async Task CreateAsync(CreateMediaInputStream inputStream) { - var definition = await MediaDescriptorDefinitionStore.GetDefinitionAsync(inputStream.EntityType); + var definition = await MediaDescriptorDefinitionStore.GetAsync(inputStream.EntityType); /* TODO: Shouldn't CreatePolicies be a dictionary and we check for inputStream.EntityType? */ await CheckAnyOfPoliciesAsync(definition.CreatePolicies); @@ -51,7 +51,7 @@ namespace Volo.CmsKit.Admin.MediaDescriptors { var mediaDescriptor = await MediaDescriptorRepository.GetAsync(id); - var definition = await MediaDescriptorDefinitionStore.GetDefinitionAsync(mediaDescriptor.EntityType); + var definition = await MediaDescriptorDefinitionStore.GetAsync(mediaDescriptor.EntityType); /* TODO: Shouldn't DeletePolicies be a dictionary and we check for inputStream.EntityType? */ await CheckAnyOfPoliciesAsync(definition.DeletePolicies); 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 d118ddece7..0095063e2b 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 @@ -29,7 +29,7 @@ namespace Volo.CmsKit.Admin.Tags public virtual async Task AddTagToEntityAsync(EntityTagCreateDto input) { - var definition = await TagDefinitionStore.GetTagEntityTypeDefinitionAsync(input.EntityType); + var definition = await TagDefinitionStore.GetAsync(input.EntityType); await CheckAnyOfPoliciesAsync(definition.CreatePolicies); @@ -44,7 +44,7 @@ namespace Volo.CmsKit.Admin.Tags public virtual async Task RemoveTagFromEntityAsync(EntityTagRemoveDto input) { - var definition = await TagDefinitionStore.GetTagEntityTypeDefinitionAsync(input.EntityType); + var definition = await TagDefinitionStore.GetAsync(input.EntityType); await CheckAnyOfPoliciesAsync(definition.DeletePolicies); @@ -57,7 +57,7 @@ namespace Volo.CmsKit.Admin.Tags public virtual async Task SetEntityTagsAsync(EntityTagSetDto input) { - var definition = await TagDefinitionStore.GetTagEntityTypeDefinitionAsync(input.EntityType); + var definition = await TagDefinitionStore.GetAsync(input.EntityType); await CheckAnyOfPoliciesAsync(definition.UpdatePolicies); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/DefaultCommentEntityTypeDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/DefaultCommentEntityTypeDefinitionStore.cs index bbb1b19aee..ac5ebddb59 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/DefaultCommentEntityTypeDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/DefaultCommentEntityTypeDefinitionStore.cs @@ -10,7 +10,7 @@ using Volo.Abp.DependencyInjection; namespace Volo.CmsKit.Comments { - public class DefaultCommentEntityTypeDefinitionStore : ICommentEntityTypeDefinitionStore, ITransientDependency + public class DefaultCommentEntityTypeDefinitionStore : ICommentEntityTypeDefinitionStore { protected CmsKitCommentOptions Options { get; } @@ -19,7 +19,7 @@ namespace Volo.CmsKit.Comments Options = options.Value; } - public virtual Task GetDefinitionAsync([NotNull] string entityType) + public virtual Task GetAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/ICommentEntityTypeDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/ICommentEntityTypeDefinitionStore.cs index 315b7f878f..da4c56ce25 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/ICommentEntityTypeDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Comments/ICommentEntityTypeDefinitionStore.cs @@ -1,17 +1,7 @@ -using JetBrains.Annotations; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.CmsKit.Comments; - -namespace Volo.CmsKit.Comments +namespace Volo.CmsKit.Comments { - public interface ICommentEntityTypeDefinitionStore + public interface ICommentEntityTypeDefinitionStore : IEntityTypeDefinitionStore { - Task GetDefinitionAsync([NotNull] string entityType); - Task IsDefinedAsync([NotNull] string entityType); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/IEntityTypeDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/IEntityTypeDefinitionStore.cs new file mode 100644 index 0000000000..e5f0bf7fd3 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/IEntityTypeDefinitionStore.cs @@ -0,0 +1,14 @@ +using JetBrains.Annotations; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; + +namespace Volo.CmsKit +{ + public interface IEntityTypeDefinitionStore : ITransientDependency + where TPolicyDefinition : class + { + Task GetAsync([NotNull] string entityType); + + Task IsDefinedAsync([NotNull] string entityType); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/DefaultMediaDescriptorDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/DefaultMediaDescriptorDefinitionStore.cs index e3caed9904..de191f6014 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/DefaultMediaDescriptorDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/DefaultMediaDescriptorDefinitionStore.cs @@ -10,7 +10,7 @@ using Volo.Abp.DependencyInjection; namespace Volo.CmsKit.MediaDescriptors { - public class DefaultMediaDescriptorDefinitionStore : IMediaDescriptorDefinitionStore, ITransientDependency + public class DefaultMediaDescriptorDefinitionStore : IMediaDescriptorDefinitionStore { protected CmsKitMediaOptions Options { get; } @@ -25,7 +25,7 @@ namespace Volo.CmsKit.MediaDescriptors /// EntityType to get definition. /// Thrown when EntityType is not configured as taggable. /// More than one element satisfies the condition in predicate. - public virtual Task GetDefinitionAsync([NotNull] string entityType) + public virtual Task GetAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(entityType)); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/IMediaDescriptorDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/IMediaDescriptorDefinitionStore.cs index 9cd5c5c40d..1c3dd2bd62 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/IMediaDescriptorDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/MediaDescriptors/IMediaDescriptorDefinitionStore.cs @@ -1,12 +1,7 @@ -using JetBrains.Annotations; -using System.Threading.Tasks; - -namespace Volo.CmsKit.MediaDescriptors +namespace Volo.CmsKit.MediaDescriptors { - public interface IMediaDescriptorDefinitionStore + public interface IMediaDescriptorDefinitionStore : IEntityTypeDefinitionStore { - Task IsDefinedAsync([NotNull] string entityType); - Task GetDefinitionAsync([NotNull] string entityType); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/DefaultReactionDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/DefaultReactionDefinitionStore.cs index 8af09e8946..b2e554294e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/DefaultReactionDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/DefaultReactionDefinitionStore.cs @@ -9,7 +9,7 @@ using Volo.Abp.DependencyInjection; namespace Volo.CmsKit.Reactions { - public class DefaultReactionDefinitionStore : IReactionDefinitionStore, ITransientDependency + public class DefaultReactionDefinitionStore : IReactionDefinitionStore { protected CmsKitReactionOptions Options { get; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/IReactionDefinitionStore.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/IReactionDefinitionStore.cs index 23c6d23ee7..ce0be47f23 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/IReactionDefinitionStore.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/IReactionDefinitionStore.cs @@ -4,12 +4,8 @@ using JetBrains.Annotations; namespace Volo.CmsKit.Reactions { - public interface IReactionDefinitionStore + public interface IReactionDefinitionStore : IEntityTypeDefinitionStore { - Task IsDefinedAsync([NotNull]string entityType); - - Task GetAsync([NotNull] string entityType); - Task> GetReactionsAsync([NotNull] string entityType); Task GetReactionOrNullAsync([NotNull] string reactionName, [NotNull] string entityType); 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 dc804d0417..830052fb15 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 @@ -9,7 +9,7 @@ using Volo.Abp.DependencyInjection; namespace Volo.CmsKit.Tags { - public class DefaultTagDefinitionStore : ITagDefinitionStore, ITransientDependency + public class DefaultTagDefinitionStore : ITagDefinitionStore { protected CmsKitTagOptions CmsKitTagOptions { get; } @@ -24,7 +24,7 @@ namespace Volo.CmsKit.Tags /// EntityType to get definition. /// Thrown when EntityType is not configured as taggable. /// More than one element satisfies the condition in predicate. - public virtual Task GetTagEntityTypeDefinitionAsync([NotNull] string entityType) + public virtual Task GetAsync([NotNull] string entityType) { Check.NotNullOrWhiteSpace(entityType, nameof(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 906cb2b3e4..043b7a7e8a 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 @@ -4,12 +4,8 @@ using System.Threading.Tasks; namespace Volo.CmsKit.Tags { - public interface ITagDefinitionStore + public interface ITagDefinitionStore : IEntityTypeDefinitionStore { Task> GetTagEntityTypeDefinitionListAsync(); - - Task GetTagEntityTypeDefinitionAsync([NotNull] string entityType); - - Task IsDefinedAsync([NotNull] string entityType); } }