diff --git a/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/CommentsController.cs b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/CommentsController.cs new file mode 100644 index 0000000000..64a079edfb --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/CommentsController.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Auditing; +using Volo.Blogging.Comments; +using Volo.Blogging.Comments.Dtos; + +namespace Volo.Blogging +{ + [RemoteService] + [Area("blogging")] + [Controller] + [ControllerName("Comments")] + [Route("api/blogging/comments")] + [DisableAuditing] + public class CommentsController : AbpController, ICommentAppService + { + [HttpGet] + [Route("{postId}")] + public Task> GetHierarchicalListOfPostAsync(Guid postId) + { + throw new NotImplementedException(); + } + + [HttpPost] + public Task CreateAsync(CreateCommentDto input) + { + throw new NotImplementedException(); + } + + [HttpPut] + [Route("{id}")] + public Task UpdateAsync(Guid id, UpdateCommentDto input) + { + throw new NotImplementedException(); + } + + [HttpDelete] + public Task DeleteAsync(Guid id) + { + throw new NotImplementedException(); + } + } +} diff --git a/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/PostsController.cs b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/PostsController.cs new file mode 100644 index 0000000000..87e5551cd2 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/PostsController.cs @@ -0,0 +1,67 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Auditing; +using Volo.Blogging.Posts; + +namespace Volo.Blogging +{ + [RemoteService] + [Area("blogging")] + [Controller] + [ControllerName("Posts")] + [Route("api/blogging/posts")] + [DisableAuditing] + public class PostsController : AbpController, IPostAppService + { + private readonly IPostAppService _postAppService; + + public PostsController(IPostAppService postAppService) + { + _postAppService = postAppService; + } + + [HttpGet] + [Route("{blogId}/all")] + public Task> GetListByBlogIdAndTagName(Guid blogId, string tagName) + { + return _postAppService.GetListByBlogIdAndTagName(blogId, tagName); + } + + [HttpGet] + [Route("read/{id}")] + public Task GetForReadingAsync(GetPostInput input) + { + return _postAppService.GetForReadingAsync(input); + } + + [HttpGet] + [Route("{id}")] + public Task GetAsync(Guid id) + { + return _postAppService.GetAsync(id); + } + + [HttpDelete] + public Task DeleteAsync(Guid id) + { + return _postAppService.DeleteAsync(id); + } + + [HttpPost] + public Task CreateAsync(CreatePostDto input) + { + return _postAppService.CreateAsync(input); + } + + [HttpPut] + [Route("{id}")] + public Task UpdateAsync(Guid id, UpdatePostDto input) + { + return _postAppService.UpdateAsync(id, input); + } + } +} diff --git a/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/TagsController.cs b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/TagsController.cs new file mode 100644 index 0000000000..71310c065d --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/TagsController.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Auditing; +using Volo.Blogging.Tagging; +using Volo.Blogging.Tagging.Dtos; + +namespace Volo.Blogging +{ + [RemoteService] + [Area("blogging")] + [Controller] + [ControllerName("Tags")] + [Route("api/blogging/tags")] + [DisableAuditing] + public class TagsController : AbpController, ITagAppService + { + private readonly ITagAppService _tagAppService; + + public TagsController(ITagAppService tagAppService) + { + _tagAppService = tagAppService; + } + + [HttpGet] + [Route("popular/{blogId}")] + public Task> GetPopularTags(Guid blogId, GetPopularTagsInput input) + { + return _tagAppService.GetPopularTags(blogId, input); + } + } +}