Browse Source

Cleanup CMS Kit

pull/4809/head
Halil İbrahim Kalkan 6 years ago
parent
commit
d133135cc5
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Reactions/UserReactionConsts.cs
  2. 3
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/ReactionDefinitionDictionary.cs
  3. 14
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/ReactionManager.cs
  4. 7
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetAvailableReactionsDto.cs
  5. 9
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionDto.cs
  6. 9
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetMyReactionsDto.cs
  7. 9
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetReactionSummariesDto.cs
  8. 14
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs
  9. 9
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/ReactionSummaryDto.cs
  10. 1
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/CmsKitPublicApplicationModule.cs
  11. 54
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs
  12. 27
      modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Reactions/ReactionPublicController.cs
  13. 7
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs

1
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Reactions/UserReactionConsts.cs

@ -5,6 +5,7 @@
public static int EntityTypeLength { get; set; } = 64;
public static int EntityIdLength { get; set; } = 64;
public static int ReactionNameLength { get; set; } = 32;
}
}

3
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/ReactionDefinitionDictionary.cs

@ -1,11 +1,12 @@
using System.Collections.Generic;
using JetBrains.Annotations;
using Volo.Abp.Localization;
namespace Volo.CmsKit.Reactions
{
public class ReactionDefinitionDictionary : Dictionary<string, ReactionDefinition>
{
public void AddOrReplace(string name, ILocalizableString displayName = null)
public void AddOrReplace([NotNull] string name, ILocalizableString displayName = null)
{
this[name] = new ReactionDefinition(name, displayName);
}

14
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Reactions/ReactionManager.cs

@ -29,21 +29,21 @@ namespace Volo.CmsKit.Reactions
[NotNull] string entityType,
[NotNull] string entityId)
{
var summaries = await UserReactionRepository.GetSummariesAsync(entityType, entityId);
var queryResultItems = await UserReactionRepository.GetSummariesAsync(entityType, entityId);
var summaryDtos = new List<ReactionSummary>();
foreach (var summary in summaries)
foreach (var queryResultItem in queryResultItems)
{
var summaryDto = new ReactionSummary
var summary = new ReactionSummary
{
Count = summary.Count
Count = queryResultItem.Count
};
//TODO: Get all definitions then filter here?
var reactionDefinition = await ReactionDefinitionStore
.GetReactionOrNullAsync(
summary.ReactionName,
queryResultItem.ReactionName,
entityType
);
@ -52,9 +52,9 @@ namespace Volo.CmsKit.Reactions
continue;
}
summaryDto.Reaction = reactionDefinition;
summary.Reaction = reactionDefinition;
summaryDtos.Add(summaryDto);
summaryDtos.Add(summary);
}
return summaryDtos;

7
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetAvailableReactionsDto.cs

@ -1,7 +0,0 @@
namespace Volo.CmsKit.Reactions
{
public class GetAvailableReactionsDto
{
public string EntityType { get; set; }
}
}

9
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetForSelectionDto.cs

@ -1,9 +0,0 @@
namespace Volo.CmsKit.Reactions
{
public class GetForSelectionDto
{
public string EntityType { get; set; }
public string EntityId { get; set; }
}
}

9
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetMyReactionsDto.cs

@ -1,9 +0,0 @@
namespace Volo.CmsKit.Reactions
{
public class GetMyReactionsDto
{
public string EntityType { get; set; }
public string EntityId { get; set; }
}
}

9
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/GetReactionSummariesDto.cs

@ -1,9 +0,0 @@
namespace Volo.CmsKit.Reactions
{
public class GetReactionSummariesDto
{
public string EntityType { get; set; }
public string EntityId { get; set; }
}
}

14
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/IReactionPublicAppService.cs

@ -6,19 +6,7 @@ namespace Volo.CmsKit.Reactions
{
public interface IReactionPublicAppService : IApplicationService
{
Task<ListResultDto<ReactionDto>> GetAvailableReactions(
GetAvailableReactionsDto input
);
Task<ListResultDto<ReactionSummaryDto>> GetReactionSummariesAsync(
GetReactionSummariesDto input
);
Task<ListResultDto<ReactionDto>> GetMyReactions(
GetMyReactionsDto input
);
Task<ListResultDto<ReactionWithSelectionDto>> GetForSelectionAsync(GetForSelectionDto input);
Task<ListResultDto<ReactionWithSelectionDto>> GetForSelectionAsync(string entityType, string entityId);
Task CreateAsync(CreateReactionDto input);

9
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Reactions/ReactionSummaryDto.cs

@ -1,9 +0,0 @@
namespace Volo.CmsKit.Reactions
{
public class ReactionSummaryDto
{
public ReactionDto Reaction { get; set; }
public int Count { get; set; }
}
}

1
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/CmsKitPublicApplicationModule.cs

@ -1,5 +1,4 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Application;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;

54
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Reactions/ReactionPublicAppService.cs

@ -25,65 +25,21 @@ namespace Volo.CmsKit.Reactions
ReactionManager = reactionManager;
}
public virtual async Task<ListResultDto<ReactionDto>> GetAvailableReactions(
GetAvailableReactionsDto input)
public virtual async Task<ListResultDto<ReactionWithSelectionDto>> GetForSelectionAsync(string entityType, string entityId)
{
var reactionDefinitions = await ReactionManager
.GetAvailableReactionsAsync(
input.EntityType
entityType
);
var reactionDtos = reactionDefinitions
.Select(ConvertToReactionDto)
.ToList();
return new ListResultDto<ReactionDto>(reactionDtos);
}
public virtual async Task<ListResultDto<ReactionSummaryDto>> GetReactionSummariesAsync(GetReactionSummariesDto input)
{
var summaries = await ReactionManager.GetSummariesAsync(input.EntityType, input.EntityId);
var summaryDtos = summaries
.Select(summary => new ReactionSummaryDto
{
Count = summary.Count,
Reaction = ConvertToReactionDto(summary.Reaction)
})
.ToList();
return new ListResultDto<ReactionSummaryDto>(summaryDtos);
}
public virtual async Task<ListResultDto<ReactionDto>> GetMyReactions(GetMyReactionsDto input)
{
var userReactions = await ReactionManager.GetUserReactionsAsync(
CurrentUser.GetId(),
input.EntityType,
input.EntityId
);
var reactionDtos = userReactions
.Select(ConvertToReactionDto)
.ToList();
return new ListResultDto<ReactionDto>(reactionDtos);
}
public virtual async Task<ListResultDto<ReactionWithSelectionDto>> GetForSelectionAsync(GetForSelectionDto input)
{
var reactionDefinitions = await ReactionManager
.GetAvailableReactionsAsync(
input.EntityType
);
var summaries =
(await ReactionManager.GetSummariesAsync(input.EntityType, input.EntityId))
(await ReactionManager.GetSummariesAsync(entityType, entityId))
.ToDictionary(x => x.Reaction.Name, x => x.Count);
var userReactions = await ReactionManager.GetUserReactionsAsync(
CurrentUser.GetId(),
input.EntityType,
input.EntityId
entityType,
entityId
);
var reactionDtos = new List<ReactionWithSelectionDto>();

27
modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Reactions/ReactionPublicController.cs

@ -18,31 +18,10 @@ namespace Volo.CmsKit.Reactions
}
[HttpGet]
[Route("available")]
public virtual Task<ListResultDto<ReactionDto>> GetAvailableReactions(GetAvailableReactionsDto input)
[Route("{entityType}/{entityId}")]
public virtual Task<ListResultDto<ReactionWithSelectionDto>> GetForSelectionAsync(string entityType, string entityId)
{
return ReactionPublicAppService.GetAvailableReactions(input);
}
[HttpGet]
[Route("summaries")]
public virtual Task<ListResultDto<ReactionSummaryDto>> GetReactionSummariesAsync(GetReactionSummariesDto input)
{
return ReactionPublicAppService.GetReactionSummariesAsync(input);
}
[HttpGet]
[Route("my")]
public virtual Task<ListResultDto<ReactionDto>> GetMyReactions(GetMyReactionsDto input)
{
return ReactionPublicAppService.GetMyReactions(input);
}
[HttpGet]
[Route("selection")] //TODO: Consider to rename!
public virtual Task<ListResultDto<ReactionWithSelectionDto>> GetForSelectionAsync(GetForSelectionDto input)
{
return ReactionPublicAppService.GetForSelectionAsync(input);
return ReactionPublicAppService.GetForSelectionAsync(entityType, entityId);
}
[HttpPut]

7
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs

@ -32,12 +32,7 @@ namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection
string entityType,
string entityId)
{
var result = await ReactionPublicAppService.GetForSelectionAsync(
new GetForSelectionDto
{
EntityType = entityType,
EntityId = entityId
});
var result = await ReactionPublicAppService.GetForSelectionAsync(entityType, entityId);
var viewModel = new ReactionSelectionViewModel
{

Loading…
Cancel
Save