Browse Source

page application services are seperated to admin and public

pull/6875/head
Ahmet 6 years ago
parent
commit
37bff78ced
  1. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CheckUrlInputDto.cs
  2. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs
  3. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageWithContentInputDto.cs
  4. 7
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/IPageAdminAppService.cs
  5. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs
  6. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageWithContentDto.cs
  7. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageContentInputDto.cs
  8. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs
  9. 6
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs
  10. 14
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs
  11. 37
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Page/PageAdminController.cs
  12. 2
      modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs
  13. 10
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs
  14. 14
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs
  15. 22
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs
  16. 4
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/PublicApplicationAutoMapperProfile.cs
  17. 26
      modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs
  18. 5
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml
  19. 5
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs
  20. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml
  21. 4
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/DefaultPageViewComponent.cs

3
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/CheckUrlInputDto.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CheckUrlInputDto.cs

@ -1,7 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class CheckUrlInputDto public class CheckUrlInputDto
{ {

3
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/CreatePageInputDto.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs

@ -1,7 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class CreatePageInputDto public class CreatePageInputDto
{ {

4
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/CreatePageWithContentInputDto.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageWithContentInputDto.cs

@ -1,8 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.CmsKit.Contents;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class CreatePageWithContentInputDto public class CreatePageWithContentInputDto
{ {

7
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/IPageAppService.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/IPageAdminAppService.cs

@ -1,14 +1,11 @@
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using JetBrains.Annotations;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public interface IPageAppService public interface IPageAdminAppService
{ {
Task<PageDto> GetAsync(Guid id); Task<PageDto> GetAsync(Guid id);
Task<PageDto> GetByUrlAsync([NotNull] string url);
Task<PageDto> CreatePageAsync(CreatePageInputDto input); Task<PageDto> CreatePageAsync(CreatePageInputDto input);

2
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/PageDto.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs

@ -1,7 +1,7 @@
using System; using System;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class PageDto : EntityDto<Guid> public class PageDto : EntityDto<Guid>
{ {

2
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/PageWithContentDto.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageWithContentDto.cs

@ -2,7 +2,7 @@
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.CmsKit.Contents; using Volo.CmsKit.Contents;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class PageWithContentDto : EntityDto<Guid> public class PageWithContentDto : EntityDto<Guid>
{ {

4
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/UpdatePageContentInputDto.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageContentInputDto.cs

@ -1,8 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.CmsKit.Contents;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class UpdatePageContentInputDto public class UpdatePageContentInputDto
{ {

3
modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Pages/UpdatePageInputDto.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs

@ -1,7 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class UpdatePageInputDto public class UpdatePageInputDto
{ {

6
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs

@ -1,4 +1,6 @@
using AutoMapper; using AutoMapper;
using Volo.CmsKit.Admin.Pages;
using Volo.CmsKit.Pages;
namespace Volo.CmsKit.Admin namespace Volo.CmsKit.Admin
{ {
@ -6,9 +8,7 @@ namespace Volo.CmsKit.Admin
{ {
public CmsKitAdminApplicationAutoMapperProfile() public CmsKitAdminApplicationAutoMapperProfile()
{ {
/* You can configure your AutoMapper mapping configuration here. CreateMap<Page, PageDto>();
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
} }
} }
} }

14
modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Pages/PageAppService.cs → modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs

@ -3,15 +3,16 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.CmsKit.Contents; using Volo.CmsKit.Contents;
using Volo.CmsKit.Pages;
namespace Volo.CmsKit.Pages namespace Volo.CmsKit.Admin.Pages
{ {
public class PageAppService : CmsKitAppServiceBase, IPageAppService public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppService
{ {
protected readonly IPageRepository PageRepository; protected readonly IPageRepository PageRepository;
protected readonly IContentRepository ContentRepository; protected readonly IContentRepository ContentRepository;
public PageAppService(IPageRepository pageRepository, IContentRepository contentRepository) public PageAdminAppService(IPageRepository pageRepository, IContentRepository contentRepository)
{ {
PageRepository = pageRepository; PageRepository = pageRepository;
ContentRepository = contentRepository; ContentRepository = contentRepository;
@ -24,13 +25,6 @@ namespace Volo.CmsKit.Pages
return ObjectMapper.Map<Page, PageDto>(page); return ObjectMapper.Map<Page, PageDto>(page);
} }
public virtual async Task<PageDto> GetByUrlAsync(string url)
{
var page = await PageRepository.GetByUrlAsync(url);
return ObjectMapper.Map<Page, PageDto>(page);
}
public virtual async Task<PageDto> CreatePageAsync(CreatePageInputDto input) public virtual async Task<PageDto> CreatePageAsync(CreatePageInputDto input)
{ {
var page = await CreatePageAsync(input.Title, input.Url, input.Description); var page = await CreatePageAsync(input.Title, input.Url, input.Description);

37
modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Controllers/Pages/PageController.cs → modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Page/PageAdminController.cs

@ -2,76 +2,69 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.Abp; using Volo.Abp;
using Volo.CmsKit.Pages; using Volo.CmsKit.Admin.Pages;
namespace Volo.CmsKit.Controllers.Pages namespace Volo.CmsKit.Admin.Page
{ {
[RemoteService(Name = CmsKitCommonRemoteServiceConsts.RemoteServiceName)] [RemoteService(Name = CmsKitCommonRemoteServiceConsts.RemoteServiceName)]
[Area("cms-kit")] [Area("cms-kit")]
[Route("api/cms-kit/pages")] [Route("api/cms-kit-admin/pages")]
public class PageController : CmsKitControllerBase, IPageAppService public class PageAdminController : CmsKitAdminController, IPageAdminAppService
{ {
protected readonly IPageAppService PageAppService; protected readonly IPageAdminAppService PageAdminAppService;
public PageController(IPageAppService pageAppService) public PageAdminController(IPageAdminAppService pageAdminAppService)
{ {
PageAppService = pageAppService; PageAdminAppService = pageAdminAppService;
} }
[HttpGet] [HttpGet]
[Route("{id}")] [Route("{id}")]
public virtual Task<PageDto> GetAsync(Guid id) public virtual Task<PageDto> GetAsync(Guid id)
{ {
return PageAppService.GetAsync(id); return PageAdminAppService.GetAsync(id);
} }
[HttpGet]
[Route("url/{url}")]
public Task<PageDto> GetByUrlAsync(string url)
{
return PageAppService.GetByUrlAsync(url);
}
[HttpPost] [HttpPost]
[Route("create")] [Route("create")]
public virtual Task<PageDto> CreatePageAsync(CreatePageInputDto input) public virtual Task<PageDto> CreatePageAsync(CreatePageInputDto input)
{ {
return PageAppService.CreatePageAsync(input); return PageAdminAppService.CreatePageAsync(input);
} }
[HttpPost] [HttpPost]
[Route("create-with-content")] [Route("create-with-content")]
public virtual Task<PageDto> CreatePageWithContentAsync(CreatePageWithContentInputDto input) public virtual Task<PageDto> CreatePageWithContentAsync(CreatePageWithContentInputDto input)
{ {
return PageAppService.CreatePageWithContentAsync(input); return PageAdminAppService.CreatePageWithContentAsync(input);
} }
[HttpPut] [HttpPut]
[Route("{id}")] [Route("{id}")]
public virtual Task<PageDto> UpdatePageAsync(Guid id, UpdatePageInputDto input) public virtual Task<PageDto> UpdatePageAsync(Guid id, UpdatePageInputDto input)
{ {
return PageAppService.UpdatePageAsync(id, input); return PageAdminAppService.UpdatePageAsync(id, input);
} }
[HttpPost] [HttpPost]
[Route("does-url-exist")] [Route("does-url-exist")]
public virtual Task<bool> DoesUrlExistAsync(CheckUrlInputDto input) public virtual Task<bool> DoesUrlExistAsync(CheckUrlInputDto input)
{ {
return PageAppService.DoesUrlExistAsync(input); return PageAdminAppService.DoesUrlExistAsync(input);
} }
[HttpPut] [HttpPut]
[Route("update-content/{id}")] [Route("update-content/{id}")]
public virtual Task UpdatePageContentAsync(Guid id, UpdatePageContentInputDto input) public virtual Task UpdatePageContentAsync(Guid id, UpdatePageContentInputDto input)
{ {
return PageAppService.UpdatePageContentAsync(id, input); return PageAdminAppService.UpdatePageContentAsync(id, input);
} }
[HttpDelete] [HttpDelete]
[Route("{id}")] [Route("{id}")]
public virtual Task DeleteAsync(Guid id) public virtual Task DeleteAsync(Guid id)
{ {
return PageAppService.DeleteAsync(id); return PageAdminAppService.DeleteAsync(id);
} }
} }
} }

2
modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs

@ -12,8 +12,6 @@ namespace Volo.CmsKit
CreateMap<Content, ContentDto>(); CreateMap<Content, ContentDto>();
CreateMap<Tag, TagDto>(); CreateMap<Tag, TagDto>();
CreateMap<Page, PageDto>();
} }
} }
} }

10
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs

@ -0,0 +1,10 @@
using System.Threading.Tasks;
using JetBrains.Annotations;
namespace Volo.CmsKit.Public.Pages
{
public interface IPageAppService
{
Task<PageDto> GetByUrlAsync([NotNull] string url);
}
}

14
modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs

@ -0,0 +1,14 @@
using System;
using Volo.Abp.Application.Dtos;
namespace Volo.CmsKit.Public.Pages
{
public class PageDto : EntityDto<Guid>
{
public string Title { get; set; }
public string Url { get; set; }
public string Description { get; set; }
}
}

22
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs

@ -0,0 +1,22 @@
using System.Threading.Tasks;
using Volo.CmsKit.Pages;
namespace Volo.CmsKit.Public.Pages
{
public class PageAppService : CmsKitPublicAppServiceBase, IPageAppService
{
protected readonly IPageRepository PageRepository;
public PageAppService(IPageRepository pageRepository)
{
PageRepository = pageRepository;
}
public virtual async Task<PageDto> GetByUrlAsync(string url)
{
var page = await PageRepository.GetByUrlAsync(url);
return ObjectMapper.Map<Page, PageDto>(page);
}
}
}

4
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/PublicApplicationAutoMapperProfile.cs

@ -1,7 +1,9 @@
using AutoMapper; using AutoMapper;
using Volo.Abp.AutoMapper; using Volo.Abp.AutoMapper;
using Volo.CmsKit.Comments; using Volo.CmsKit.Comments;
using Volo.CmsKit.Pages;
using Volo.CmsKit.Public.Comments; using Volo.CmsKit.Public.Comments;
using Volo.CmsKit.Public.Pages;
using Volo.CmsKit.Public.Ratings; using Volo.CmsKit.Public.Ratings;
using Volo.CmsKit.Ratings; using Volo.CmsKit.Ratings;
using Volo.CmsKit.Users; using Volo.CmsKit.Users;
@ -22,6 +24,8 @@ namespace Volo.CmsKit.Public
.Ignore(x=> x.Author); .Ignore(x=> x.Author);
CreateMap<Rating, RatingDto>(); CreateMap<Rating, RatingDto>();
CreateMap<Page, PageDto>();
} }
} }
} }

26
modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs

@ -0,0 +1,26 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
namespace Volo.CmsKit.Public.Pages
{
[RemoteService(Name = CmsKitPublicRemoteServiceConsts.RemoteServiceName)]
[Area("cms-kit")]
[Route("api/cms-kit-public/comments")]
public class PagesPublicController
{
protected readonly IPageAppService PageAppService;
public PagesPublicController(IPageAppService pageAppService)
{
PageAppService = pageAppService;
}
[HttpGet]
[Route("url/{url}")]
public Task<PageDto> GetByUrlAsync(string url)
{
return PageAppService.GetByUrlAsync(url);
}
}
}

5
modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Pages/Index.cshtml → modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml

@ -1,9 +1,8 @@
@page "{pageUrl}" @page "{pageUrl}"
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Volo.CmsKit.Localization @using Volo.CmsKit.Localization
@using Volo.CmsKit.Web.Pages.CmsKit.Pages @using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages
@using Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.Pages @model Volo.CmsKit.Public.Web.Pages.CmsKit.Pages.IndexModel
@model IndexModel
@inject IHtmlLocalizer<CmsKitResource> L @inject IHtmlLocalizer<CmsKitResource> L
@await Component.InvokeAsync(typeof(DefaultPageViewComponent), @await Component.InvokeAsync(typeof(DefaultPageViewComponent),

5
modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Pages/Index.cshtml.cs → modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs

@ -1,8 +1,9 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.CmsKit.Pages; using Volo.CmsKit.Public.Pages;
using Volo.CmsKit.Web.Pages;
namespace Volo.CmsKit.Web.Pages.CmsKit.Pages namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Pages
{ {
public class IndexModel : CommonPageModel public class IndexModel : CommonPageModel
{ {

2
modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml → modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml

@ -2,7 +2,7 @@
@using Microsoft.AspNetCore.Mvc.RazorPages @using Microsoft.AspNetCore.Mvc.RazorPages
@using Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.Contents @using Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.Contents
@model Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.Pages.PageViewModel @model Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages.PageViewModel
<abp-card> <abp-card>
<abp-card-header> <abp-card-header>

4
modules/cms-kit/src/Volo.CmsKit.Common.Web/Pages/CmsKit/Shared/Components/Pages/DefaultPageViewComponent.cs → modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/DefaultPageViewComponent.cs

@ -2,9 +2,9 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.CmsKit.Pages; using Volo.CmsKit.Public.Pages;
namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.Pages namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Pages
{ {
[ViewComponent(Name = "CmsDefaultPage")] [ViewComponent(Name = "CmsDefaultPage")]
public class DefaultPageViewComponent : AbpViewComponent public class DefaultPageViewComponent : AbpViewComponent
Loading…
Cancel
Save