CmsKit - Refactor Reactions Definitions Configuration

pull/7500/head
enisn 5 years ago
parent fdd6b4234c
commit 2d6c822218

@ -1,4 +1,6 @@
using Microsoft.Extensions.Options;
using System.Collections.Generic;
using Volo.Abp;
using Volo.Abp.Domain;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Localization;
@ -21,20 +23,20 @@ namespace Volo.CmsKit
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<CmsKitOptions>(options =>
Configure<CmsKitReactionOptions>(options =>
{
options.Reactions.AddOrReplace(StandardReactions.ThumbsUp);
options.Reactions.AddOrReplace(StandardReactions.ThumbsDown);
options.Reactions.AddOrReplace(StandardReactions.Smile);
options.Reactions.AddOrReplace(StandardReactions.Wink);
options.Reactions.AddOrReplace(StandardReactions.Confused);
options.Reactions.AddOrReplace(StandardReactions.Victory);
options.Reactions.AddOrReplace(StandardReactions.Rock);
options.Reactions.AddOrReplace(StandardReactions.Eyes);
options.Reactions.AddOrReplace(StandardReactions.Heart);
options.Reactions.AddOrReplace(StandardReactions.HeartBroken);
options.Reactions.AddOrReplace(StandardReactions.Rocket);
options.Reactions.AddOrReplace(StandardReactions.Pray);
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.ThumbsUp));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.ThumbsDown));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Smile));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Wink));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Confused));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Victory));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Rock));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Eyes));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Heart));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.HeartBroken));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Rocket));
options.Reactions.AddIfNotContains(new ReactionDefinition(StandardReactions.Pray));
});

@ -1,10 +1,8 @@
using JetBrains.Annotations;
using Volo.CmsKit.Reactions;
using Volo.CmsKit.Tags;
namespace Volo.CmsKit
namespace Volo.CmsKit.Reactions
{
public class CmsKitOptions
public class CmsKitReactionOptions
{
[NotNull]
public ReactionDefinitionDictionary Reactions { get; } = new ReactionDefinitionDictionary();

@ -8,21 +8,21 @@ namespace Volo.CmsKit.Reactions
{
public class DefaultReactionDefinitionStore : IReactionDefinitionStore, ITransientDependency
{
protected CmsKitOptions Options { get; }
protected CmsKitReactionOptions Options { get; }
public DefaultReactionDefinitionStore(IOptions<CmsKitOptions> options)
public DefaultReactionDefinitionStore(IOptions<CmsKitReactionOptions> options)
{
Options = options.Value;
}
public virtual Task<List<ReactionDefinition>> GetReactionsAsync(string entityType = null)
{
return Task.FromResult(Options.Reactions.Values.ToList());
return Task.FromResult(Options.Reactions.ToList());
}
public virtual Task<ReactionDefinition> GetReactionOrNullAsync(string reactionName, string entityType = null)
{
return Task.FromResult(Options.Reactions.GetOrDefault(reactionName));
return Task.FromResult(Options.Reactions.SingleOrDefault(x => x.Name == reactionName));
}
}
}

@ -1,4 +1,5 @@
using JetBrains.Annotations;
using System;
using Volo.Abp;
using Volo.Abp.Localization;

@ -4,11 +4,7 @@ using Volo.Abp.Localization;
namespace Volo.CmsKit.Reactions
{
public class ReactionDefinitionDictionary : Dictionary<string, ReactionDefinition>
public class ReactionDefinitionDictionary : List<ReactionDefinition>
{
public void AddOrReplace([NotNull] string name, ILocalizableString displayName = null)
{
this[name] = new ReactionDefinition(name, displayName);
}
}
}

@ -17,7 +17,6 @@ namespace Volo.CmsKit.Public.Comments
{
public class CommentPublicAppService : ApplicationService, ICommentPublicAppService
{
protected CmsKitOptions CmsKitOptions { get; }
protected ICommentRepository CommentRepository { get; }
protected ICmsUserLookupService CmsUserLookupService { get; }
public IDistributedEventBus DistributedEventBus { get; }
@ -27,10 +26,8 @@ namespace Volo.CmsKit.Public.Comments
ICommentRepository commentRepository,
ICmsUserLookupService cmsUserLookupService,
IDistributedEventBus distributedEventBus,
IUnitOfWorkManager unitOfWorkManager,
IOptions<CmsKitOptions> cmsKitOptions)
IUnitOfWorkManager unitOfWorkManager)
{
CmsKitOptions = cmsKitOptions.Value;
CommentRepository = commentRepository;
CmsUserLookupService = cmsUserLookupService;
DistributedEventBus = distributedEventBus;

@ -30,7 +30,7 @@ namespace Volo.CmsKit
private readonly IEntityTagManager _entityTagManager;
private readonly ITagManager _tagManager;
private readonly IPageRepository _pageRepository;
private readonly IOptions<CmsKitOptions> _options;
private readonly IOptions<CmsKitReactionOptions> _reactionOptions;
private readonly IOptions<CmsKitTagOptions> _tagOptions;
public CmsKitDataSeedContributor(
@ -45,7 +45,7 @@ namespace Volo.CmsKit
ITagManager tagManager,
IEntityTagManager entityTagManager,
IPageRepository pageRepository,
IOptions<CmsKitOptions> options,
IOptions<CmsKitReactionOptions> reactiOnptions,
IOptions<CmsKitTagOptions> tagOptions)
{
_guidGenerator = guidGenerator;
@ -59,7 +59,7 @@ namespace Volo.CmsKit
_tagManager = tagManager;
_entityTagManager = entityTagManager;
_pageRepository = pageRepository;
_options = options;
_reactionOptions = reactiOnptions;
_tagOptions = tagOptions;
}

Loading…
Cancel
Save