Browse Source

Clean solution

pull/4779/head
Halil İbrahim Kalkan 6 years ago
parent
commit
78c2236c67
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/CmsKitAdminApplicationModule.cs
  2. 16
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/CmsKitAdminHttpApiModule.cs
  3. 3
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo.CmsKit.Application.Contracts.csproj
  4. 7
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/CmsKitApplicationContractsModule.cs
  5. 19
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Permissions/CmsKitPermissionDefinitionProvider.cs
  6. 14
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Permissions/CmsKitPermissions.cs
  7. 11
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/CreateReactionDto.cs
  8. 11
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/GetReactionResultDto.cs
  9. 12
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/IReactionAppService.cs
  10. 9
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/ReactionCountDto.cs
  11. 12
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Samples/ISampleAppService.cs
  12. 7
      modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Samples/SampleDto.cs
  13. 3
      modules/cms-kit/src/Volo.CmsKit.Application/Volo.CmsKit.Application.csproj
  14. 14
      modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/CmsKitAppService.cs
  15. 14
      modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/CmsKitApplicationAutoMapperProfile.cs
  16. 20
      modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/CmsKitApplicationModule.cs
  17. 17
      modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/Reactions/ReactionAppService.cs
  18. 29
      modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/Samples/SampleAppService.cs
  19. 14
      modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/CmsKitCommonHttpApiModule.cs
  20. 3
      modules/cms-kit/src/Volo.CmsKit.HttpApi.Client/Volo.CmsKit.HttpApi.Client.csproj
  21. 18
      modules/cms-kit/src/Volo.CmsKit.HttpApi.Client/Volo/CmsKit/CmsKitHttpApiClientModule.cs
  22. 3
      modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo.CmsKit.HttpApi.csproj
  23. 13
      modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo/CmsKit/CmsKitController.cs
  24. 29
      modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo/CmsKit/CmsKitHttpApiModule.cs
  25. 33
      modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo/CmsKit/Samples/SampleController.cs
  26. 1
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/CmsKitPublicApplicationModule.cs
  27. 16
      modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/CmsKitPublicHttpApiModule.cs
  28. 14
      modules/cms-kit/src/Volo.CmsKit.Web/CmsKitWebAutoMapperProfile.cs
  29. 55
      modules/cms-kit/src/Volo.CmsKit.Web/CmsKitWebModule.cs
  30. 23
      modules/cms-kit/src/Volo.CmsKit.Web/Menus/CmsKitMenuContributor.cs
  31. 11
      modules/cms-kit/src/Volo.CmsKit.Web/Menus/CmsKitMenus.cs
  32. 9
      modules/cms-kit/src/Volo.CmsKit.Web/Pages/CmsKit/Index.cshtml
  33. 9
      modules/cms-kit/src/Volo.CmsKit.Web/Pages/CmsKit/Index.cshtml.cs
  34. 7
      modules/cms-kit/src/Volo.CmsKit.Web/Pages/CmsKit/_ViewImports.cshtml
  35. 16
      modules/cms-kit/src/Volo.CmsKit.Web/Pages/CmsKitPageModel.cs
  36. 12
      modules/cms-kit/src/Volo.CmsKit.Web/Volo.CmsKit.Web.csproj
  37. 30
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Samples/SampleAppService_Tests.cs
  38. 138
      modules/cms-kit/test/Volo.CmsKit.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs
  39. 6
      modules/cms-kit/test/Volo.CmsKit.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs
  40. 2
      modules/cms-kit/test/Volo.CmsKit.HttpApi.Client.ConsoleTestApp/Program.cs

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/CmsKitAdminApplicationModule.cs

@ -15,6 +15,7 @@ namespace Volo.CmsKit
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<CmsKitAdminApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<CmsKitAdminApplicationModule>(validate: true);

16
modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/CmsKitAdminHttpApiModule.cs

@ -1,10 +1,6 @@
using Localization.Resources.AbpUi;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Localization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
using Volo.CmsKit.Admin;
using Volo.CmsKit.Localization;
namespace Volo.CmsKit
{
@ -21,15 +17,5 @@ namespace Volo.CmsKit
mvcBuilder.AddApplicationPartIfNotExists(typeof(CmsKitAdminHttpApiModule).Assembly);
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Get<CmsKitResource>()
.AddBaseTypes(typeof(AbpUiResource));
});
}
}
}

3
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo.CmsKit.Application.Contracts.csproj

@ -9,10 +9,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application.Contracts\Volo.Abp.Ddd.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Admin.Application.Contracts\Volo.CmsKit.Admin.Application.Contracts.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Domain.Shared\Volo.CmsKit.Domain.Shared.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Public.Application.Contracts\Volo.CmsKit.Public.Application.Contracts.csproj" />
</ItemGroup>

7
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/CmsKitApplicationContractsModule.cs

@ -1,14 +1,9 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
using Volo.Abp.Authorization;
using Volo.Abp.Modularity;
using Volo.CmsKit.Admin;
namespace Volo.CmsKit
{
[DependsOn(
typeof(CmsKitDomainSharedModule),
typeof(AbpDddApplicationContractsModule),
typeof(AbpAuthorizationModule),
typeof(CmsKitPublicApplicationContractsModule),
typeof(CmsKitAdminApplicationContractsModule)
)]

19
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Permissions/CmsKitPermissionDefinitionProvider.cs

@ -1,19 +0,0 @@
using Volo.CmsKit.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace Volo.CmsKit.Permissions
{
public class CmsKitPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var myGroup = context.AddGroup(CmsKitPermissions.GroupName, L("Permission:CmsKit"));
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<CmsKitResource>(name);
}
}
}

14
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Permissions/CmsKitPermissions.cs

@ -1,14 +0,0 @@
using Volo.Abp.Reflection;
namespace Volo.CmsKit.Permissions
{
public class CmsKitPermissions
{
public const string GroupName = "CmsKit";
public static string[] GetAll()
{
return ReflectionHelper.GetPublicConstantsRecursively(typeof(CmsKitPermissions));
}
}
}

11
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/CreateReactionDto.cs

@ -1,11 +0,0 @@
namespace Volo.CmsKit.Reactions
{
public class CreateReactionDto
{
public string EntityName { get; set; }
public string EntityId { get; set; }
public string ReactionType { get; set; }
}
}

11
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/GetReactionResultDto.cs

@ -1,11 +0,0 @@
using System.Collections.Generic;
namespace Volo.CmsKit.Reactions
{
public class GetReactionResultDto
{
public List<ReactionCountDto> AllReactions { get; set; }
//TODO: Reactions of the current user (if available)
}
}

12
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/IReactionAppService.cs

@ -1,12 +0,0 @@
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace Volo.CmsKit.Reactions
{
public interface IReactionAppService : IApplicationService
{
public Task<GetReactionResultDto> CreateAsync(CreateReactionDto input);
public Task<GetReactionResultDto> GetAsync(string entityName, string entityId);
}
}

9
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Reactions/ReactionCountDto.cs

@ -1,9 +0,0 @@
namespace Volo.CmsKit.Reactions
{
public class ReactionCountDto
{
public string ReactionType { get; set; }
public int Count { get; set; }
}
}

12
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Samples/ISampleAppService.cs

@ -1,12 +0,0 @@
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace Volo.CmsKit.Samples
{
public interface ISampleAppService : IApplicationService
{
Task<SampleDto> GetAsync();
Task<SampleDto> GetAuthorizedAsync();
}
}

7
modules/cms-kit/src/Volo.CmsKit.Application.Contracts/Volo/CmsKit/Samples/SampleDto.cs

@ -1,7 +0,0 @@
namespace Volo.CmsKit.Samples
{
public class SampleDto
{
public int Value { get; set; }
}
}

3
modules/cms-kit/src/Volo.CmsKit.Application/Volo.CmsKit.Application.csproj

@ -9,11 +9,8 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Admin.Application\Volo.CmsKit.Admin.Application.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Application.Contracts\Volo.CmsKit.Application.Contracts.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Domain\Volo.CmsKit.Domain.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Public.Application\Volo.CmsKit.Public.Application.csproj" />
</ItemGroup>

14
modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/CmsKitAppService.cs

@ -1,14 +0,0 @@
using Volo.CmsKit.Localization;
using Volo.Abp.Application.Services;
namespace Volo.CmsKit
{
public abstract class CmsKitAppService : ApplicationService
{
protected CmsKitAppService()
{
LocalizationResource = typeof(CmsKitResource);
ObjectMapperContext = typeof(CmsKitApplicationModule);
}
}
}

14
modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/CmsKitApplicationAutoMapperProfile.cs

@ -1,14 +0,0 @@
using AutoMapper;
namespace Volo.CmsKit
{
public class CmsKitApplicationAutoMapperProfile : Profile
{
public CmsKitApplicationAutoMapperProfile()
{
/* You can configure your AutoMapper mapping configuration here.
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
}
}
}

20
modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/CmsKitApplicationModule.cs

@ -1,28 +1,14 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Volo.Abp.Application;
using Volo.CmsKit.Admin;
using Volo.Abp.Modularity;
namespace Volo.CmsKit
{
[DependsOn(
typeof(CmsKitDomainModule),
typeof(CmsKitApplicationContractsModule),
typeof(CmsKitPublicApplicationModule),
typeof(CmsKitAdminApplicationModule),
typeof(AbpDddApplicationModule),
typeof(AbpAutoMapperModule)
typeof(CmsKitApplicationContractsModule)
)]
public class CmsKitApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<CmsKitApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<CmsKitApplicationModule>(validate: true);
});
}
}
}

17
modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/Reactions/ReactionAppService.cs

@ -1,17 +0,0 @@
using System.Threading.Tasks;
namespace Volo.CmsKit.Reactions
{
public class ReactionAppService : CmsKitAppService, IReactionAppService
{
public Task<GetReactionResultDto> CreateAsync(CreateReactionDto input)
{
throw new System.NotImplementedException();
}
public Task<GetReactionResultDto> GetAsync(string entityName, string entityId)
{
throw new System.NotImplementedException();
}
}
}

29
modules/cms-kit/src/Volo.CmsKit.Application/Volo/CmsKit/Samples/SampleAppService.cs

@ -1,29 +0,0 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
namespace Volo.CmsKit.Samples
{
public class SampleAppService : CmsKitAppService, ISampleAppService
{
public Task<SampleDto> GetAsync()
{
return Task.FromResult(
new SampleDto
{
Value = 42
}
);
}
[Authorize]
public Task<SampleDto> GetAuthorizedAsync()
{
return Task.FromResult(
new SampleDto
{
Value = 42
}
);
}
}
}

14
modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/CmsKitCommonHttpApiModule.cs

@ -1,5 +1,8 @@
using Volo.Abp.AspNetCore.Mvc;
using Localization.Resources.AbpUi;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.CmsKit.Localization;
namespace Volo.CmsKit
{
@ -9,5 +12,14 @@ namespace Volo.CmsKit
)]
public class CmsKitCommonHttpApiModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Get<CmsKitResource>()
.AddBaseTypes(typeof(AbpUiResource));
});
}
}
}

3
modules/cms-kit/src/Volo.CmsKit.HttpApi.Client/Volo.CmsKit.HttpApi.Client.csproj

@ -9,8 +9,9 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Http.Client\Volo.Abp.Http.Client.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Admin.HttpApi.Client\Volo.CmsKit.Admin.HttpApi.Client.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Application.Contracts\Volo.CmsKit.Application.Contracts.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Public.HttpApi.Client\Volo.CmsKit.Public.HttpApi.Client.csproj" />
</ItemGroup>
</Project>

18
modules/cms-kit/src/Volo.CmsKit.HttpApi.Client/Volo/CmsKit/CmsKitHttpApiClientModule.cs

@ -1,22 +1,14 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Http.Client;
using Volo.Abp.Modularity;
using Volo.Abp.Modularity;
namespace Volo.CmsKit
{
[DependsOn(
typeof(CmsKitApplicationContractsModule),
typeof(AbpHttpClientModule))]
typeof(CmsKitAdminHttpApiClientModule),
typeof(CmsKitPublicHttpApiClientModule),
typeof(CmsKitApplicationContractsModule)
)]
public class CmsKitHttpApiClientModule : AbpModule
{
public const string RemoteServiceName = "CmsKit";
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddHttpClientProxies(
typeof(CmsKitApplicationContractsModule).Assembly,
RemoteServiceName
);
}
}
}

3
modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo.CmsKit.HttpApi.csproj

@ -9,8 +9,9 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Admin.Application\Volo.CmsKit.Admin.Application.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Application.Contracts\Volo.CmsKit.Application.Contracts.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Public.Application\Volo.CmsKit.Public.Application.csproj" />
</ItemGroup>
</Project>

13
modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo/CmsKit/CmsKitController.cs

@ -1,13 +0,0 @@
using Volo.CmsKit.Localization;
using Volo.Abp.AspNetCore.Mvc;
namespace Volo.CmsKit
{
public abstract class CmsKitController : AbpController
{
protected CmsKitController()
{
LocalizationResource = typeof(CmsKitResource);
}
}
}

29
modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo/CmsKit/CmsKitHttpApiModule.cs

@ -1,33 +1,14 @@
using Localization.Resources.AbpUi;
using Volo.CmsKit.Localization;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
namespace Volo.CmsKit
{
[DependsOn(
typeof(CmsKitApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule))]
typeof(CmsKitAdminApplicationModule),
typeof(CmsKitPublicApplicationModule),
typeof(CmsKitApplicationContractsModule)
)]
public class CmsKitHttpApiModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(CmsKitHttpApiModule).Assembly);
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Get<CmsKitResource>()
.AddBaseTypes(typeof(AbpUiResource));
});
}
}
}

33
modules/cms-kit/src/Volo.CmsKit.HttpApi/Volo/CmsKit/Samples/SampleController.cs

@ -1,33 +0,0 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
namespace Volo.CmsKit.Samples
{
[RemoteService]
[Route("api/CmsKit/sample")]
public class SampleController : CmsKitController, ISampleAppService
{
private readonly ISampleAppService _sampleAppService;
public SampleController(ISampleAppService sampleAppService)
{
_sampleAppService = sampleAppService;
}
[HttpGet]
public async Task<SampleDto> GetAsync()
{
return await _sampleAppService.GetAsync();
}
[HttpGet]
[Route("authorized")]
[Authorize]
public async Task<SampleDto> GetAuthorizedAsync()
{
return await _sampleAppService.GetAsync();
}
}
}

1
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/CmsKitPublicApplicationModule.cs

@ -14,6 +14,7 @@ namespace Volo.CmsKit
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<CmsKitPublicApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<CmsKitPublicApplicationModule>(validate: true);

16
modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/CmsKitPublicHttpApiModule.cs

@ -1,9 +1,5 @@
using Localization.Resources.AbpUi;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Localization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
using Volo.CmsKit.Localization;
namespace Volo.CmsKit
{
@ -19,15 +15,5 @@ namespace Volo.CmsKit
mvcBuilder.AddApplicationPartIfNotExists(typeof(CmsKitPublicHttpApiModule).Assembly);
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Get<CmsKitResource>()
.AddBaseTypes(typeof(AbpUiResource));
});
}
}
}

14
modules/cms-kit/src/Volo.CmsKit.Web/CmsKitWebAutoMapperProfile.cs

@ -1,14 +0,0 @@
using AutoMapper;
namespace Volo.CmsKit.Web
{
public class CmsKitWebAutoMapperProfile : Profile
{
public CmsKitWebAutoMapperProfile()
{
/* You can configure your AutoMapper mapping configuration here.
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
}
}
}

55
modules/cms-kit/src/Volo.CmsKit.Web/CmsKitWebModule.cs

@ -1,63 +1,14 @@
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.DependencyInjection;
using Volo.CmsKit.Localization;
using Volo.CmsKit.Web.Menus;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Volo.Abp.UI.Navigation;
using Volo.Abp.VirtualFileSystem;
using Volo.Abp.Modularity;
using Volo.CmsKit.Admin.Web;
using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Web
{
[DependsOn(
typeof(CmsKitHttpApiModule),
typeof(AbpAspNetCoreMvcUiThemeSharedModule),
typeof(AbpAutoMapperModule),
typeof(CmsKitPublicWebModule),
typeof(CmsKitAdminWebModule)
typeof(CmsKitAdminWebModule),
typeof(CmsKitHttpApiModule)
)]
public class CmsKitWebModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
context.Services.PreConfigure<AbpMvcDataAnnotationsLocalizationOptions>(options =>
{
options.AddAssemblyResource(typeof(CmsKitResource), typeof(CmsKitWebModule).Assembly);
});
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(CmsKitWebModule).Assembly);
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpNavigationOptions>(options =>
{
options.MenuContributors.Add(new CmsKitMenuContributor());
});
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<CmsKitWebModule>();
});
context.Services.AddAutoMapperObjectMapper<CmsKitWebModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<CmsKitWebModule>(validate: true);
});
Configure<RazorPagesOptions>(options =>
{
//Configure authorization.
});
}
}
}

23
modules/cms-kit/src/Volo.CmsKit.Web/Menus/CmsKitMenuContributor.cs

@ -1,23 +0,0 @@
using System.Threading.Tasks;
using Volo.Abp.UI.Navigation;
namespace Volo.CmsKit.Web.Menus
{
public class CmsKitMenuContributor : IMenuContributor
{
public async Task ConfigureMenuAsync(MenuConfigurationContext context)
{
if (context.Menu.Name == StandardMenus.Main)
{
await ConfigureMainMenu(context);
}
}
private Task ConfigureMainMenu(MenuConfigurationContext context)
{
//Add main menu items.
return Task.CompletedTask;
}
}
}

11
modules/cms-kit/src/Volo.CmsKit.Web/Menus/CmsKitMenus.cs

@ -1,11 +0,0 @@
namespace Volo.CmsKit.Web.Menus
{
public class CmsKitMenus
{
private const string Prefix = "CmsKit";
//Add your menu items here...
//public const string Home = Prefix + ".MyNewMenuItem";
}
}

9
modules/cms-kit/src/Volo.CmsKit.Web/Pages/CmsKit/Index.cshtml

@ -1,9 +0,0 @@
@page
@using Microsoft.Extensions.Localization
@using Volo.CmsKit.Localization
@model Volo.CmsKit.Web.Pages.CmsKit.IndexModel
@inject IStringLocalizer<CmsKitResource> L
@{
}
<h1>CmsKit</h1>
<p>@L["SamplePageMessage"]</p>

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

@ -1,9 +0,0 @@
namespace Volo.CmsKit.Web.Pages.CmsKit
{
public class IndexModel : CmsKitPageModel
{
public void OnGet()
{
}
}
}

7
modules/cms-kit/src/Volo.CmsKit.Web/Pages/CmsKit/_ViewImports.cshtml

@ -1,7 +0,0 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling
@addTagHelper *, Volo.CmsKit.Common.Web
@addTagHelper *, Volo.CmsKit.Public.Web
@addTagHelper *, Volo.CmsKit.Admin.Web

16
modules/cms-kit/src/Volo.CmsKit.Web/Pages/CmsKitPageModel.cs

@ -1,16 +0,0 @@
using Volo.CmsKit.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
namespace Volo.CmsKit.Web.Pages
{
/* Inherit your PageModel classes from this class.
*/
public abstract class CmsKitPageModel : AbpPageModel
{
protected CmsKitPageModel()
{
LocalizationResourceType = typeof(CmsKitResource);
ObjectMapperContext = typeof(CmsKitWebModule);
}
}
}

12
modules/cms-kit/src/Volo.CmsKit.Web/Volo.CmsKit.Web.csproj

@ -13,12 +13,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.csproj" />
<ProjectReference Include="..\Volo.CmsKit.Public.Web\Volo.CmsKit.Public.Web.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.CmsKit.Admin.Web\Volo.CmsKit.Admin.Web.csproj" />
<ProjectReference Include="..\Volo.CmsKit.HttpApi\Volo.CmsKit.HttpApi.csproj" />
</ItemGroup>
@ -27,11 +22,4 @@
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="3.1.5" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Pages\**\*.css" />
<EmbeddedResource Include="Pages\**\*.js" />
<Content Remove="Pages\**\*.css" />
<Content Remove="Pages\**\*.js" />
</ItemGroup>
</Project>

30
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Samples/SampleAppService_Tests.cs

@ -1,30 +0,0 @@
using System.Threading.Tasks;
using Shouldly;
using Xunit;
namespace Volo.CmsKit.Samples
{
public class SampleAppService_Tests : CmsKitApplicationTestBase
{
private readonly ISampleAppService _sampleAppService;
public SampleAppService_Tests()
{
_sampleAppService = GetRequiredService<ISampleAppService>();
}
[Fact]
public async Task GetAsync()
{
var result = await _sampleAppService.GetAsync();
result.Value.ShouldBe(42);
}
[Fact]
public async Task GetAuthorizedAsync()
{
var result = await _sampleAppService.GetAuthorizedAsync();
result.Value.ShouldBe(42);
}
}
}

138
modules/cms-kit/test/Volo.CmsKit.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs

@ -1,156 +1,20 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using IdentityModel.Client;
using Microsoft.Extensions.Configuration;
using Volo.CmsKit.Samples;
using Volo.Abp.DependencyInjection;
using Volo.Abp.IdentityModel;
namespace Volo.CmsKit
{
public class ClientDemoService : ITransientDependency
{
private readonly ISampleAppService _sampleAppService;
private readonly IIdentityModelAuthenticationService _authenticationService;
private readonly IConfiguration _configuration;
public ClientDemoService(
ISampleAppService sampleAppService,
IIdentityModelAuthenticationService authenticationService,
IConfiguration configuration)
{
_sampleAppService = sampleAppService;
_authenticationService = authenticationService;
_configuration = configuration;
}
public async Task RunAsync()
{
await TestWithDynamicProxiesAsync();
await TestWithHttpClientAndIdentityModelAuthenticationServiceAsync();
await TestAllManuallyAsync();
}
/* Shows how to perform an HTTP request to the API using ABP's dynamic c# proxy
* feature. It is just simple as calling a local service method.
* Authorization and HTTP request details are handled by the ABP framework.
*/
private async Task TestWithDynamicProxiesAsync()
{
Console.WriteLine();
Console.WriteLine($"***** {nameof(TestWithDynamicProxiesAsync)} *****");
var result = await _sampleAppService.GetAsync();
Console.WriteLine("Result: " + result.Value);
result = await _sampleAppService.GetAuthorizedAsync();
Console.WriteLine("Result (authorized): " + result.Value);
}
/* Shows how to use HttpClient to perform a request to the HTTP API.
* It uses ABP's IIdentityModelAuthenticationService to simplify obtaining access tokens.
*/
private async Task TestWithHttpClientAndIdentityModelAuthenticationServiceAsync()
{
Console.WriteLine();
Console.WriteLine($"***** {nameof(TestWithHttpClientAndIdentityModelAuthenticationServiceAsync)} *****");
//Get access token using ABP's IIdentityModelAuthenticationService
var accessToken = await _authenticationService.GetAccessTokenAsync(
new IdentityClientConfiguration(
_configuration["IdentityClients:Default:Authority"],
_configuration["IdentityClients:Default:Scope"],
_configuration["IdentityClients:Default:ClientId"],
_configuration["IdentityClients:Default:ClientSecret"],
_configuration["IdentityClients:Default:GrantType"],
_configuration["IdentityClients:Default:UserName"],
_configuration["IdentityClients:Default:UserPassword"]
)
);
//Perform the actual HTTP request
using (var httpClient = new HttpClient())
{
httpClient.SetBearerToken(accessToken);
var url = _configuration["RemoteServices:CmsKit:BaseUrl"] +
"api/CmsKit/sample/authorized";
var responseMessage = await httpClient.GetAsync(url);
if (responseMessage.IsSuccessStatusCode)
{
var responseString = await responseMessage.Content.ReadAsStringAsync();
Console.WriteLine("Result: " + responseString);
}
else
{
throw new Exception("Remote server returns error code: " + responseMessage.StatusCode);
}
}
}
/* Shows how to use HttpClient to perform a request to the HTTP API.
* It obtains access token using IdentityServer's API. See its documentation:
* https://identityserver4.readthedocs.io/en/latest/quickstarts/2_resource_owner_passwords.html
*/
private async Task TestAllManuallyAsync()
{
Console.WriteLine();
Console.WriteLine($"***** {nameof(TestAllManuallyAsync)} *****");
//Obtain access token from the IDS4 server
// discover endpoints from metadata
var client = new HttpClient();
var disco = await client.GetDiscoveryDocumentAsync(_configuration["IdentityClients:Default:Authority"]);
if (disco.IsError)
{
Console.WriteLine(disco.Error);
return;
}
// request token
var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = _configuration["IdentityClients:Default:ClientId"],
ClientSecret = _configuration["IdentityClients:Default:ClientSecret"],
UserName = _configuration["IdentityClients:Default:UserName"],
Password = _configuration["IdentityClients:Default:UserPassword"],
Scope = _configuration["IdentityClients:Default:Scope"]
});
if (tokenResponse.IsError)
{
Console.WriteLine(tokenResponse.Error);
return;
}
Console.WriteLine(tokenResponse.Json);
//Perform the actual HTTP request
using (var httpClient = new HttpClient())
{
httpClient.SetBearerToken(tokenResponse.AccessToken);
var url = _configuration["RemoteServices:CmsKit:BaseUrl"] +
"api/CmsKit/sample/authorized";
var responseMessage = await httpClient.GetAsync(url);
if (responseMessage.IsSuccessStatusCode)
{
var responseString = await responseMessage.Content.ReadAsStringAsync();
Console.WriteLine("Result: " + responseString);
}
else
{
throw new Exception("Remote server returns error code: " + responseMessage.StatusCode);
}
}
}
}
}
}

6
modules/cms-kit/test/Volo.CmsKit.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs

@ -1,10 +1,10 @@
using Microsoft.Extensions.Hosting;
using System.Threading;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Volo.Abp;
namespace Volo.CmsKit.HttpApi.Client.ConsoleTestApp
namespace Volo.CmsKit
{
public class ConsoleTestAppHostedService : IHostedService
{

2
modules/cms-kit/test/Volo.CmsKit.HttpApi.Client.ConsoleTestApp/Program.cs

@ -2,7 +2,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace Volo.CmsKit.HttpApi.Client.ConsoleTestApp
namespace Volo.CmsKit
{
class Program
{

Loading…
Cancel
Save