diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogLookupDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogLookupDto.cs new file mode 100644 index 0000000000..74e63b9150 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogLookupDto.cs @@ -0,0 +1,16 @@ +using System; + +namespace Volo.CmsKit.Admin.Application.Contracts.Volo.CmsKit.Admin.Blogs +{ + public class BlogLookupDto + { + public BlogLookupDto(Guid id, string name) + { + Id = id; + Name = name; + } + + public Guid Id { get; set; } + public string Name { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs index 4072c9f847..9f4d16c7f6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs @@ -1,9 +1,13 @@ using System; +using System.Collections.Generic; +using System.Threading.Tasks; using Volo.Abp.Application.Services; +using Volo.CmsKit.Admin.Application.Contracts.Volo.CmsKit.Admin.Blogs; namespace Volo.CmsKit.Admin.Blogs { public interface IBlogAdminAppService : ICrudAppService { + Task> GetLookupAsync(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs index b6c2195981..5c8ae8e26c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs @@ -1,8 +1,12 @@ using Microsoft.AspNetCore.Authorization; using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.Admin.Application.Contracts.Volo.CmsKit.Admin.Blogs; using Volo.CmsKit.Blogs; using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Permissions; @@ -21,5 +25,15 @@ namespace Volo.CmsKit.Admin.Blogs UpdatePolicyName = CmsKitAdminPermissions.Blogs.Update; DeletePolicyName = CmsKitAdminPermissions.Blogs.Delete; } + + [Authorize(CmsKitAdminPermissions.Blogs.Default)] + public async Task> GetLookupAsync() + { + var blogs = await Repository.GetListAsync(); + + return blogs + .Select(s => new BlogLookupDto(s.Id, s.Name)) + .ToList(); + } } } 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 index 36cc6d9ef7..b12b4f83b1 100644 --- 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 @@ -8,6 +8,7 @@ using System.Threading.Tasks; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.Admin.Application.Contracts.Volo.CmsKit.Admin.Blogs; using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Permissions; @@ -64,5 +65,13 @@ namespace Volo.CmsKit.Admin.Blogs { return BlogAdminAppService.UpdateAsync(id, input); } + + [HttpGet] + [Route("lookup")] + [Authorize(CmsKitAdminPermissions.Blogs.Default)] + public Task> GetLookupAsync() + { + return BlogAdminAppService.GetLookupAsync(); + } } }