Browse Source

added routing to page

pull/7335/head
Ahmet 6 years ago
parent
commit
9e9c315d81
  1. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/IPageAppService.cs
  2. 4
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PageAppService.cs
  3. 2
      modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Pages/PagesPublicController.cs
  4. 2
      modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs
  5. 11
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs
  6. 11
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs

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

@ -5,6 +5,6 @@ namespace Volo.CmsKit.Public.Pages
{ {
public interface IPageAppService public interface IPageAppService
{ {
Task<PageDto> GetByUrlAsync([NotNull] string url); Task<PageDto> FindByUrlAsync([NotNull] string url);
} }
} }

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

@ -12,9 +12,9 @@ namespace Volo.CmsKit.Public.Pages
PageRepository = pageRepository; PageRepository = pageRepository;
} }
public virtual async Task<PageDto> GetByUrlAsync(string url) public virtual async Task<PageDto> FindByUrlAsync(string url)
{ {
var page = await PageRepository.GetByUrlAsync(url); var page = await PageRepository.FindByUrlAsync(url);
return ObjectMapper.Map<Page, PageDto>(page); return ObjectMapper.Map<Page, PageDto>(page);
} }

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

@ -20,7 +20,7 @@ namespace Volo.CmsKit.Public.Pages
[Route("url/{url}")] [Route("url/{url}")]
public Task<PageDto> GetByUrlAsync(string url) public Task<PageDto> GetByUrlAsync(string url)
{ {
return PageAppService.GetByUrlAsync(url); return PageAppService.FindByUrlAsync(url);
} }
} }
} }

2
modules/cms-kit/src/Volo.CmsKit.Public.Web/CmsKitPublicWebModule.cs

@ -56,7 +56,7 @@ namespace Volo.CmsKit.Public.Web
Configure<RazorPagesOptions>(options => Configure<RazorPagesOptions>(options =>
{ {
//... options.Conventions.AddPageRoute("/CmsKit/Pages/Index", "/{pageUrl}");
}); });
} }
} }

11
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Pages/Index.cshtml.cs

@ -19,9 +19,16 @@ namespace Volo.CmsKit.Public.Web.Pages.CmsKit.Pages
PageAppService = pageAppService; PageAppService = pageAppService;
} }
public async Task OnGetAsync() public async Task<IActionResult> OnGetAsync()
{ {
Page = await PageAppService.GetByUrlAsync(PageUrl); Page = await PageAppService.FindByUrlAsync(PageUrl);
if (Page == null)
{
return NotFound();
}
return Page();
} }
} }
} }

11
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PagePublicAppService_Tests.cs

@ -18,15 +18,20 @@ namespace Volo.CmsKit.Pages
} }
[Fact] [Fact]
public async Task ShouldGetByUrlAsync() public async Task ShouldFindByUrlAsync()
{ {
await Should.NotThrowAsync(async () => await _pageAppService.GetByUrlAsync(_data.Page_1_Url)); var page = await _pageAppService.FindByUrlAsync(_data.Page_1_Url);
page.ShouldNotBeNull();
page.Title.ShouldBe(_data.Page_1_Title);
} }
[Fact] [Fact]
public async Task ShouldNotGetByUrlAsync() public async Task ShouldNotGetByUrlAsync()
{ {
await Should.ThrowAsync<Exception>(async () => await _pageAppService.GetByUrlAsync("not-exist-url")); var page = await _pageAppService.FindByUrlAsync("not-exist-url");
page.ShouldBeNull();
} }
} }
} }
Loading…
Cancel
Save