From c14bbe3200bde383af337821df8e2f99be2043b0 Mon Sep 17 00:00:00 2001 From: malik masis Date: Thu, 21 Jul 2022 17:53:08 +0300 Subject: [PATCH] Added Content AppService and Controller --- .../CmsKit/Contents/IContentAppService.cs | 10 +++++++ .../Volo/CmsKit/Contents/ContentAppService.cs | 22 ++++++++++++++ .../Volo/CmsKit/Contents/ContentController.cs | 29 +++++++++++++++++++ .../client-proxies/cms-kit-common-proxy.js | 15 ++++++++++ 4 files changed, 76 insertions(+) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/IContentAppService.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentAppService.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Contents/ContentController.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/IContentAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/IContentAppService.cs new file mode 100644 index 0000000000..ec2b9bcf42 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/IContentAppService.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp.Application.Services; + +namespace Volo.CmsKit.Contents; + +public interface IContentAppService : IApplicationService +{ + Task> ParseAsync(string content); +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentAppService.cs new file mode 100644 index 0000000000..a227f31e18 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentAppService.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.GlobalFeatures; + +namespace Volo.CmsKit.Contents; + +[RequiresGlobalFeature(typeof(PagesFeature))] +public class ContentAppService : CmsKitAppServiceBase, IContentAppService +{ + protected ContentParser ContentParser { get; } + + public ContentAppService(ContentParser contentParser) + { + ContentParser = contentParser; + } + + public async Task> ParseAsync(string content) + { + return await ContentParser.ParseAsync(content); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Contents/ContentController.cs b/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Contents/ContentController.cs new file mode 100644 index 0000000000..fd7ba47a44 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Contents/ContentController.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.GlobalFeatures; + +namespace Volo.CmsKit.Contents; + +[RequiresGlobalFeature(typeof(PagesFeature))] +[RemoteService(Name = CmsKitCommonRemoteServiceConsts.RemoteServiceName)] +[Area(CmsKitCommonRemoteServiceConsts.ModuleName)] +[Route("api/cms-kit/contents")] +public class ContentController : CmsKitControllerBase, IContentAppService +{ + protected IContentAppService ContentAppService { get; } + + public ContentController(IContentAppService contentAppService) + { + ContentAppService = contentAppService; + } + + [HttpGet] + [Route("{parse}")] + public async Task> ParseAsync(string content) + { + return await ContentAppService.ParseAsync(content); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Web/wwwroot/client-proxies/cms-kit-common-proxy.js b/modules/cms-kit/src/Volo.CmsKit.Common.Web/wwwroot/client-proxies/cms-kit-common-proxy.js index 27aa1d819e..e7a38d5af4 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Web/wwwroot/client-proxies/cms-kit-common-proxy.js +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Web/wwwroot/client-proxies/cms-kit-common-proxy.js @@ -20,6 +20,21 @@ })(); + // controller volo.cmsKit.contents.content + + (function(){ + + abp.utils.createNamespace(window, 'volo.cmsKit.contents.content'); + + volo.cmsKit.contents.content.parse = function(content, parse, ajaxParams) { + return abp.ajax($.extend(true, { + url: abp.appPath + 'api/cms-kit/contents/' + parse + '' + abp.utils.buildQueryString([{ name: 'content', value: content }]) + '', + type: 'GET' + }, ajaxParams)); + }; + + })(); + // controller volo.cmsKit.blogs.blogFeature (function(){