From 83b92083656c19b6b242035222a7a66a8512b15e Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 1 Feb 2021 12:49:38 +0300 Subject: [PATCH] CmsKit - Add BlogAdminController --- .../Permissions/CmsKitAdminPermissions.cs | 1 + .../CmsKit/Admin/Blogs/BlogAdminController.cs | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs index 2a70feefc5..38c95ed83d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs @@ -37,6 +37,7 @@ namespace Volo.CmsKit.Permissions public const string Update = Default + ".Update"; public const string Delete = Default + ".Delete"; } + public static class BlogPosts { public const string Default = GroupName + ".BlogPosts"; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs new file mode 100644 index 0000000000..36cc6d9ef7 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs @@ -0,0 +1,68 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.GlobalFeatures; +using Volo.CmsKit.Permissions; + +namespace Volo.CmsKit.Admin.Blogs +{ + [RequiresGlobalFeature(typeof(BlogsFeature))] + [RemoteService(Name = CmsKitCommonRemoteServiceConsts.RemoteServiceName)] + [Area("cms-kit")] + [Authorize(CmsKitAdminPermissions.Blogs.Default)] + [Route("api/cms-kit-admin/blogs/blogs")] + public class BlogAdminController : CmsKitAdminController, IBlogAdminAppService + { + protected IBlogAdminAppService BlogAdminAppService { get; } + + public BlogAdminController(IBlogAdminAppService blogAdminAppService) + { + BlogAdminAppService = blogAdminAppService; + } + + [HttpPost] + [Authorize(CmsKitAdminPermissions.Blogs.Create)] + public Task CreateAsync(BlogDto input) + { + return BlogAdminAppService.CreateAsync(input); + } + + [HttpDelete] + [Route("{id}")] + [Authorize(CmsKitAdminPermissions.Blogs.Delete)] + public Task DeleteAsync(Guid id) + { + return BlogAdminAppService.DeleteAsync(id); + } + + [HttpGet] + [Route("{id}")] + [Authorize(CmsKitAdminPermissions.Blogs.Default)] + public Task GetAsync(Guid id) + { + return BlogAdminAppService.GetAsync(id); + } + + [HttpGet] + [Authorize(CmsKitAdminPermissions.Blogs.Default)] + public Task> GetListAsync([FromQuery] PagedAndSortedResultRequestDto input) + { + return BlogAdminAppService.GetListAsync(input); + } + + [HttpPut] + [Route("{id}")] + [Authorize(CmsKitAdminPermissions.Blogs.Update)] + public Task UpdateAsync(Guid id, BlogDto input) + { + return BlogAdminAppService.UpdateAsync(id, input); + } + } +}