From 04a57e6c270cebdccbaed967b82d187919df1fa0 Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 10 Aug 2022 16:57:01 +0300 Subject: [PATCH] Added a new action to find default page --- .../CmsKit/Public/Pages/IPagePublicAppService.cs | 1 + .../CmsKit/Public/Pages/PagePublicAppService.cs | 13 +++++++++++++ .../CmsKit/Public/Pages/PagesPublicController.cs | 6 ++++++ 3 files changed, 20 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPagePublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPagePublicAppService.cs index 230b8ded97..bec4261f19 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPagePublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPagePublicAppService.cs @@ -8,4 +8,5 @@ namespace Volo.CmsKit.Public.Pages; public interface IPagePublicAppService : IApplicationService { Task FindBySlugAsync([NotNull] string slug); + Task FindDefaultHomePageAsync(); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs index 2bae7c350f..b4b20460f6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs @@ -31,4 +31,17 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe pageDto.ContentFragments = await ContentParser.ParseAsync(page.Content); return pageDto; } + + public virtual async Task FindDefaultHomePageAsync() + { + var page = await PageRepository.FindByIsHomePageAsync(true); + + if (page == null) + { + return null; + } + + var pageDto = ObjectMapper.Map(page); + return pageDto; + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs index cd65f84c26..b18167ad67 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs @@ -26,4 +26,10 @@ public class PagesPublicController : CmsKitPublicControllerBase, IPagePublicAppS { return PageAppService.FindBySlugAsync(slug); } + + [HttpGet] + public Task FindDefaultHomePageAsync() + { + return PageAppService.FindDefaultHomePageAsync(); + } }