From ede633eb4ba885971d165675f27765036f52acf6 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Thu, 7 Jan 2021 12:27:58 +0300 Subject: [PATCH] refactoring --- .../Admin/Pages/IPageAdminAppService.cs | 2 -- .../CmsKit/Admin/Pages/PageAdminAppService.cs | 7 +----- .../CmsKit/Admin/Pages/PageAdminController.cs | 7 ------ .../Volo/CmsKit/CmsKitErrorCodes.cs | 5 ++++ .../CmsKit/Localization/Resources/en.json | 3 ++- .../CmsKit/Localization/Resources/tr.json | 3 ++- .../Pages/PageUrlAlreadyExistException.cs | 24 +++++++++++++++++++ .../Pages/PageAdminAppService_Tests.cs | 22 ++++------------- 8 files changed, 38 insertions(+), 35 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageUrlAlreadyExistException.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/IPageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/IPageAdminAppService.cs index 395ce263a3..41f5b57a59 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/IPageAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/IPageAdminAppService.cs @@ -7,8 +7,6 @@ namespace Volo.CmsKit.Admin.Pages { public interface IPageAdminAppService : ICrudAppService { - Task ExistsAsync(string url); - Task SetImageAsync(Guid id, RemoteStreamContent content); Task GetImageAsync(Guid id); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs index cbe8310ca5..f46678044f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs @@ -104,11 +104,6 @@ namespace Volo.CmsKit.Admin.Pages return ObjectMapper.Map(page); } - public virtual Task ExistsAsync(string url) - { - return PageRepository.ExistsAsync(url); - } - [Authorize(CmsKitAdminPermissions.Pages.Update)] public virtual async Task SetImageAsync(Guid id, RemoteStreamContent content) { @@ -135,7 +130,7 @@ namespace Volo.CmsKit.Admin.Pages { if (await PageRepository.ExistsAsync(url)) { - throw new UserFriendlyException("Url exist"); + throw new PageUrlAlreadyExistException(url); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs index 60a5d86584..7cc77c74d8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Pages/PageAdminController.cs @@ -62,13 +62,6 @@ namespace Volo.CmsKit.Admin.Pages return PageAdminAppService.DeleteAsync(id); } - [HttpGet] - [Route("exists/{url}")] - public virtual Task ExistsAsync(string url) - { - return PageAdminAppService.ExistsAsync(url); - } - [HttpPost] [Authorize(CmsKitAdminPermissions.Pages.Update)] [Route("image/{id}")] diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs index 76ba39c3f2..aad26ab948 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs @@ -3,5 +3,10 @@ public static class CmsKitErrorCodes { public const string TagAlreadyExist = "CmsKit:0001"; + + public static class Pages + { + public const string UrlAlreadyExist = "CmsKit:Page:0001"; + } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json index 9965b901e7..1c2c9a1bfa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json @@ -28,6 +28,7 @@ "Undo": "Undo", "Update": "Update", "YourComment": "Your comment", - "YourReply": "Your reply" + "YourReply": "Your reply", + "CmsKit:Page:0001": "The given url ({0}) is already exist." } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json index ac8bd98a9f..a9d512e522 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json @@ -24,6 +24,7 @@ "Undo": "Geri al", "Update": "Güncelle", "YourComment": "Yorumunuz", - "YourReply": "Cevabınız" + "YourReply": "Cevabınız", + "CmsKit:Page:0001": "Girilen url ({0}) kullanımdadır." } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageUrlAlreadyExistException.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageUrlAlreadyExistException.cs new file mode 100644 index 0000000000..683ae535d6 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageUrlAlreadyExistException.cs @@ -0,0 +1,24 @@ +using System; +using System.Runtime.Serialization; +using JetBrains.Annotations; +using Volo.Abp; +using Volo.CmsKit.Tags; + +namespace Volo.CmsKit.Pages +{ + [Serializable] + public class PageUrlAlreadyExistException : BusinessException + { + public PageUrlAlreadyExistException([NotNull] string url) + { + Code = CmsKitErrorCodes.Pages.UrlAlreadyExist; + WithData(nameof(Page.Url), url); + } + + public PageUrlAlreadyExistException(SerializationInfo serializationInfo, StreamingContext context) + : base(serializationInfo, context) + { + + } + } +} \ No newline at end of file diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PageAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PageAdminAppService_Tests.cs index 64b46ae998..36381ad461 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PageAdminAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Pages/PageAdminAppService_Tests.cs @@ -87,7 +87,9 @@ namespace Volo.CmsKit.Pages Content = "test-content" }; - await Should.ThrowAsync(async () => await _pageAdminAppService.CreateAsync(dto)); + var exception = await Should.ThrowAsync(async () => await _pageAdminAppService.CreateAsync(dto)); + + exception.Code.ShouldBe(CmsKitErrorCodes.Pages.UrlAlreadyExist); } [Fact] @@ -119,7 +121,7 @@ namespace Volo.CmsKit.Pages Content = "my-test-content" }; - await Should.ThrowAsync(async () => await _pageAdminAppService.CreateAsync(dto)); + await Should.ThrowAsync(async () => await _pageAdminAppService.CreateAsync(dto)); } [Fact] @@ -161,22 +163,6 @@ namespace Volo.CmsKit.Pages await Should.ThrowAsync(async () => await _pageAdminAppService.UpdateAsync(_data.Page_1_Id, dto)); } - [Fact] - public async Task ShouldBeExistAsync() - { - var doesExist = await _pageAdminAppService.ExistsAsync(_data.Page_1_Url); - - doesExist.ShouldBeTrue(); - } - - [Fact] - public async Task ShouldNotBeExistAsync() - { - var doesExist = await _pageAdminAppService.ExistsAsync(_data.Page_1_Url+ "+"); - - doesExist.ShouldBeFalse(); - } - [Fact] public async Task ShouldDeleteAsync() {