diff --git a/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/BlogsController.cs b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/BlogsController.cs index 357dfe8b7f..9fbb70f849 100644 --- a/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/BlogsController.cs +++ b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/BlogsController.cs @@ -12,10 +12,7 @@ namespace Volo.Blogging { [RemoteService] [Area("blogging")] - [Controller] - [ControllerName("Blogs")] [Route("api/blogging/blogs")] - [DisableAuditing] public class BlogsController : AbpController, IBlogAppService { private readonly IBlogAppService _blogAppService; @@ -66,6 +63,7 @@ namespace Volo.Blogging } [HttpDelete] + [Route("{id}")] public async Task Delete(Guid id) { await _blogAppService.Delete(id); 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..518a37b809 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/CommentsController.cs @@ -0,0 +1,53 @@ +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")] + [Route("api/blogging/comments")] + public class CommentsController : AbpController, ICommentAppService + { + private readonly ICommentAppService _commentAppService; + + public CommentsController(ICommentAppService commentAppService) + { + _commentAppService = commentAppService; + } + + [HttpGet] + [Route("hierarchical/{postId}")] + public Task> GetHierarchicalListOfPostAsync(Guid postId) + { + return _commentAppService.GetHierarchicalListOfPostAsync(postId); + } + + [HttpPost] + public Task CreateAsync(CreateCommentDto input) + { + return _commentAppService.CreateAsync(input); + } + + [HttpPut] + [Route("{id}")] + public Task UpdateAsync(Guid id, UpdateCommentDto input) + { + return _commentAppService.UpdateAsync(id, input); + } + + [HttpDelete] + [Route("{id}")] + 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..22b68cd292 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/PostsController.cs @@ -0,0 +1,65 @@ +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")] + [Route("api/blogging/posts")] + 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); + } + + [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); + } + + [HttpDelete] + [Route("{id}")] + public Task DeleteAsync(Guid id) + { + return _postAppService.DeleteAsync(id); + } + } +} 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..bdb7d1d77c --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.HttpApi/Volo/Blogging/TagsController.cs @@ -0,0 +1,32 @@ +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")] + [Route("api/blogging/tags")] + 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); + } + } +}