diff --git a/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/CreateReactionDto.cs b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/CreateReactionDto.cs new file mode 100644 index 0000000000..422b0eceb9 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/CreateReactionDto.cs @@ -0,0 +1,11 @@ +namespace Volo.CmsKit.Reactions +{ + public class CreateReactionDto + { + public string EntityName { get; set; } + + public string EntityId { get; set; } + + public string ReactionType { get; set; } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/GetReactionResultDto.cs b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/GetReactionResultDto.cs new file mode 100644 index 0000000000..0d3a32f430 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/GetReactionResultDto.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; + +namespace Volo.CmsKit.Reactions +{ + public class GetReactionResultDto + { + public List AllReactions { get; set; } + + //TODO: Reactions of the current user (if available) + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/IReactionAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/IReactionAppService.cs new file mode 100644 index 0000000000..75d676c802 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/IReactionAppService.cs @@ -0,0 +1,12 @@ +using System.Threading.Tasks; +using Volo.Abp.Application.Services; + +namespace Volo.CmsKit.Reactions +{ + public interface IReactionAppService : IApplicationService + { + public Task CreateAsync(CreateReactionDto input); + + public Task GetAsync(string entityName, string entityId); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/ReactionCountDto.cs b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/ReactionCountDto.cs new file mode 100644 index 0000000000..8b25851475 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Reactions/ReactionCountDto.cs @@ -0,0 +1,9 @@ +namespace Volo.CmsKit.Reactions +{ + public class ReactionCountDto + { + public string ReactionType { get; set; } + + public int Count { get; set; } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Application/Reactions/ReactionAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Application/Reactions/ReactionAppService.cs new file mode 100644 index 0000000000..ac17380662 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Application/Reactions/ReactionAppService.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; + +namespace Volo.CmsKit.Reactions +{ + public class ReactionAppService : CmsKitAppService, IReactionAppService + { + public Task CreateAsync(CreateReactionDto input) + { + throw new System.NotImplementedException(); + } + + public Task GetAsync(string entityName, string entityId) + { + throw new System.NotImplementedException(); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Reactions/Reaction.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Reactions/Reaction.cs new file mode 100644 index 0000000000..abe0e4465b --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Reactions/Reaction.cs @@ -0,0 +1,19 @@ +using System; +using Volo.Abp.Auditing; +using Volo.Abp.Domain.Entities; + +namespace Volo.CmsKit.Reactions +{ + public class Reaction : Entity, IAggregateRoot, IHasCreationTime, IMustHaveCreator + { + public string EntityName { get; set; } //TODO: int or create a more common EntityTypes entity/table/... + + public string EntityId { get; set; } + + public string ReactionType { get; set; } + + public DateTime CreationTime { get; set; } + + public Guid CreatorId { get; set; } + } +}