Browse Source

Init CmskitService

pull/128/head
malik masis 4 years ago
parent
commit
cb9b676937
  1. 9
      EShopOnAbp.sln
  2. 58
      services/cmskit/EShopOnAbp.CmskitService.abpmdl.json
  3. 100
      services/cmskit/EShopOnAbp.CmskitService.sln
  4. 15
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/CmskitServiceApplicationContractsModule.cs
  5. 6
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/CmskitServiceRemoteServiceConsts.cs
  6. 3
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/EShopOnAbp.CmskitService.Application.Contracts.abppkg.json
  7. 16
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/EShopOnAbp.CmskitService.Application.Contracts.csproj
  8. 21
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Permissions/CmskitServicePermissionDefinitionProvider.cs
  9. 13
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Permissions/CmskitServicePermissions.cs
  10. 11
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Samples/ISampleAppService.cs
  11. 6
      services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Samples/SampleDto.cs
  12. 13
      services/cmskit/src/EShopOnAbp.CmskitService.Application/CmskitServiceAppService.cs
  13. 13
      services/cmskit/src/EShopOnAbp.CmskitService.Application/CmskitServiceApplicationAutoMapperProfile.cs
  14. 24
      services/cmskit/src/EShopOnAbp.CmskitService.Application/CmskitServiceApplicationModule.cs
  15. 3
      services/cmskit/src/EShopOnAbp.CmskitService.Application/EShopOnAbp.CmskitService.Application.abppkg.json
  16. 17
      services/cmskit/src/EShopOnAbp.CmskitService.Application/EShopOnAbp.CmskitService.Application.csproj
  17. 28
      services/cmskit/src/EShopOnAbp.CmskitService.Application/Samples/SampleAppService.cs
  18. 41
      services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/CmskitServiceDomainSharedModule.cs
  19. 6
      services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/CmskitServiceErrorCodes.cs
  20. 63
      services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/CmskitServiceModuleExtensionConfigurator.cs
  21. 3
      services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/EShopOnAbp.CmskitService.Domain.Shared.abppkg.json
  22. 24
      services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/EShopOnAbp.CmskitService.Domain.Shared.csproj
  23. 5
      services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/Localization/CmskitService/en.json
  24. 9
      services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/Localization/CmskitServiceResource.cs
  25. 10
      services/cmskit/src/EShopOnAbp.CmskitService.Domain/CmskitServiceDbProperties.cs
  26. 12
      services/cmskit/src/EShopOnAbp.CmskitService.Domain/CmskitServiceDomainModule.cs
  27. 3
      services/cmskit/src/EShopOnAbp.CmskitService.Domain/EShopOnAbp.CmskitService.Domain.abppkg.json
  28. 15
      services/cmskit/src/EShopOnAbp.CmskitService.Domain/EShopOnAbp.CmskitService.Domain.csproj
  29. 13
      services/cmskit/src/EShopOnAbp.CmskitService.Domain/Settings/CmskitServiceSettingDefinitionProvider.cs
  30. 10
      services/cmskit/src/EShopOnAbp.CmskitService.Domain/Settings/CmskitServiceSettings.cs
  31. 3
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EShopOnAbp.CmskitService.EntityFrameworkCore.abppkg.json
  32. 24
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EShopOnAbp.CmskitService.EntityFrameworkCore.csproj
  33. 22
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceDbContext.cs
  34. 41
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceDbContextFactory.cs
  35. 21
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceDbContextModelCreatingExtensions.cs
  36. 38
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceEfCoreEntityExtensionMappings.cs
  37. 42
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceEntityFrameworkCoreModule.cs
  38. 11
      services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/ICmskitServiceDbContext.cs
  39. 23
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Client/CmskitServiceHttpApiClientModule.cs
  40. 3
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Client/EShopOnAbp.CmskitService.HttpApi.Client.abppkg.json
  41. 20
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Client/EShopOnAbp.CmskitService.HttpApi.Client.csproj
  42. 104
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/CmskitServiceHttpApiHostModule.cs
  43. 12
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/Controllers/HomeController.cs
  44. 30
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/DbMigrations/CmskitServiceDatabaseMigrationChecker.cs
  45. 1
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/EShopOnAbp.CmskitService.HttpApi.Host.abppkg.json
  46. 35
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/EShopOnAbp.CmskitService.HttpApi.Host.csproj
  47. 39
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/Program.cs
  48. 28
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/Properties/launchSettings.json
  49. 44
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/appsettings.json
  50. 3
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/appsettings.secrets.json
  51. 12
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/CmskitServiceController.cs
  52. 32
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/CmskitServiceHttpApiModule.cs
  53. 3
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/EShopOnAbp.CmskitService.HttpApi.abppkg.json
  54. 15
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/EShopOnAbp.CmskitService.HttpApi.csproj
  55. 34
      services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/Samples/SampleController.cs
  56. 9
      services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/CmskitServiceApplicationTestBase.cs
  57. 12
      services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/CmskitServiceApplicationTestModule.cs
  58. 3
      services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/EShopOnAbp.CmskitService.Application.Tests.abppkg.json
  59. 17
      services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/EShopOnAbp.CmskitService.Application.Tests.csproj
  60. 17
      services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/Samples/SampleAppService_Tests.cs
  61. 9
      services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/CmskitServiceDomainTestBase.cs
  62. 16
      services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/CmskitServiceDomainTestModule.cs
  63. 3
      services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/EShopOnAbp.CmskitService.Domain.Tests.abppkg.json
  64. 16
      services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/EShopOnAbp.CmskitService.Domain.Tests.csproj
  65. 17
      services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/Samples/SampleManager_Tests.cs
  66. 3
      services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests.abppkg.json
  67. 19
      services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests.csproj
  68. 9
      services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EntityFrameworkCore/CmskitServiceEntityFrameworkCoreTestBase.cs
  69. 42
      services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EntityFrameworkCore/CmskitServiceEntityFrameworkCoreTestModule.cs
  70. 15
      services/cmskit/test/EShopOnAbp.CmskitService.TestBase/CmskitServiceDataSeedContributor.cs
  71. 59
      services/cmskit/test/EShopOnAbp.CmskitService.TestBase/CmskitServiceTestBase.cs
  72. 41
      services/cmskit/test/EShopOnAbp.CmskitService.TestBase/CmskitServiceTestBaseModule.cs
  73. 1
      services/cmskit/test/EShopOnAbp.CmskitService.TestBase/EShopOnAbp.CmskitService.TestBase.abppkg.json
  74. 24
      services/cmskit/test/EShopOnAbp.CmskitService.TestBase/EShopOnAbp.CmskitService.TestBase.csproj
  75. 45
      services/cmskit/test/EShopOnAbp.CmskitService.TestBase/Security/FakeCurrentPrincipalAccessor.cs

9
EShopOnAbp.sln

@ -39,7 +39,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.OrderingService.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.PaymentService.HttpApi.Host", "services\payment\src\EShopOnAbp.PaymentService.HttpApi.Host\EShopOnAbp.PaymentService.HttpApi.Host.csproj", "{7AE4C613-780E-4DA5-9B57-76F0D40D5146}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.BasketService", "services\basket\src\EShopOnAbp.BasketService\EShopOnAbp.BasketService.csproj", "{E373DD66-3247-4D95-B325-064BBBC337B1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.BasketService", "services\basket\src\EShopOnAbp.BasketService\EShopOnAbp.BasketService.csproj", "{E373DD66-3247-4D95-B325-064BBBC337B1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EShopOnAbp.CmskitService.HttpApi.Host", "services\cmskit\src\EShopOnAbp.CmskitService.HttpApi.Host\EShopOnAbp.CmskitService.HttpApi.Host.csproj", "{D5B9D5A5-44AA-42F8-867C-95B54780C9DC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -107,6 +109,10 @@ Global
{E373DD66-3247-4D95-B325-064BBBC337B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E373DD66-3247-4D95-B325-064BBBC337B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E373DD66-3247-4D95-B325-064BBBC337B1}.Release|Any CPU.Build.0 = Release|Any CPU
{D5B9D5A5-44AA-42F8-867C-95B54780C9DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D5B9D5A5-44AA-42F8-867C-95B54780C9DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5B9D5A5-44AA-42F8-867C-95B54780C9DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5B9D5A5-44AA-42F8-867C-95B54780C9DC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -127,6 +133,7 @@ Global
{CE23F65B-BCDD-40D5-8AB5-80D9F52D3FA1} = {F415FFFD-E52D-4EBE-98DC-067C1EFFFFE3}
{7AE4C613-780E-4DA5-9B57-76F0D40D5146} = {F415FFFD-E52D-4EBE-98DC-067C1EFFFFE3}
{E373DD66-3247-4D95-B325-064BBBC337B1} = {F415FFFD-E52D-4EBE-98DC-067C1EFFFFE3}
{D5B9D5A5-44AA-42F8-867C-95B54780C9DC} = {F415FFFD-E52D-4EBE-98DC-067C1EFFFFE3}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {26F82565-C6A4-439D-93A4-3251E3E7D5B0}

58
services/cmskit/EShopOnAbp.CmskitService.abpmdl.json

@ -0,0 +1,58 @@
{
"folders": {
"items": {
"src": {},
"test": {}
}
},
"packages": {
"EShopOnAbp.CmskitService.Domain.Shared": {
"path": "src/EShopOnAbp.CmskitService.Domain.Shared/EShopOnAbp.CmskitService.Domain.Shared.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.Application.Contracts": {
"path": "src/EShopOnAbp.CmskitService.Application.Contracts/EShopOnAbp.CmskitService.Application.Contracts.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.Domain": {
"path": "src/EShopOnAbp.CmskitService.Domain/EShopOnAbp.CmskitService.Domain.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.Application": {
"path": "src/EShopOnAbp.CmskitService.Application/EShopOnAbp.CmskitService.Application.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.EntityFrameworkCore": {
"path": "src/EShopOnAbp.CmskitService.EntityFrameworkCore/EShopOnAbp.CmskitService.EntityFrameworkCore.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.HttpApi": {
"path": "src/EShopOnAbp.CmskitService.HttpApi/EShopOnAbp.CmskitService.HttpApi.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.HttpApi.Client": {
"path": "src/EShopOnAbp.CmskitService.HttpApi.Client/EShopOnAbp.CmskitService.HttpApi.Client.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.HttpApi.Host": {
"path": "src/EShopOnAbp.CmskitService.HttpApi.Host/EShopOnAbp.CmskitService.HttpApi.Host.abppkg.json",
"folder": "src"
},
"EShopOnAbp.CmskitService.Domain.Tests": {
"path": "test/EShopOnAbp.CmskitService.Domain.Tests/EShopOnAbp.CmskitService.Domain.Tests.abppkg.json",
"folder": "test"
},
"EShopOnAbp.CmskitService.EntityFrameworkCore.Tests": {
"path": "test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests.abppkg.json",
"folder": "test"
},
"EShopOnAbp.CmskitService.TestBase": {
"path": "test/EShopOnAbp.CmskitService.TestBase/EShopOnAbp.CmskitService.TestBase.abppkg.json",
"folder": "test"
},
"EShopOnAbp.CmskitService.Application.Tests": {
"path": "test/EShopOnAbp.CmskitService.Application.Tests/EShopOnAbp.CmskitService.Application.Tests.abppkg.json",
"folder": "test"
}
}
}

100
services/cmskit/EShopOnAbp.CmskitService.sln

@ -0,0 +1,100 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{332BD7AE-41B2-4F61-B743-69CC7F70C5CD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{8CD8083E-F0CE-4233-8754-A0D25B720CA1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.Domain.Shared", "src\EShopOnAbp.CmskitService.Domain.Shared\EShopOnAbp.CmskitService.Domain.Shared.csproj", "{E023F5E2-CD70-45B2-99B9-F927442EB5D3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.Application.Contracts", "src\EShopOnAbp.CmskitService.Application.Contracts\EShopOnAbp.CmskitService.Application.Contracts.csproj", "{5F3A3379-5419-426B-B926-689DC7640C15}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.Domain", "src\EShopOnAbp.CmskitService.Domain\EShopOnAbp.CmskitService.Domain.csproj", "{2B9F3B2D-4059-4EEC-B2E1-3843331CE7B2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.Application", "src\EShopOnAbp.CmskitService.Application\EShopOnAbp.CmskitService.Application.csproj", "{5A74B4E1-83A7-4176-88B2-BA4C8C900AC3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.EntityFrameworkCore", "src\EShopOnAbp.CmskitService.EntityFrameworkCore\EShopOnAbp.CmskitService.EntityFrameworkCore.csproj", "{6112E2A3-2D9A-41A4-8811-8BCF538A05DC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.HttpApi", "src\EShopOnAbp.CmskitService.HttpApi\EShopOnAbp.CmskitService.HttpApi.csproj", "{B9211D3C-2D7A-450C-8C61-A9672F7A08A7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.HttpApi.Client", "src\EShopOnAbp.CmskitService.HttpApi.Client\EShopOnAbp.CmskitService.HttpApi.Client.csproj", "{41BAD034-57FF-4CE8-B0F8-54E22F3581EC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.HttpApi.Host", "src\EShopOnAbp.CmskitService.HttpApi.Host\EShopOnAbp.CmskitService.HttpApi.Host.csproj", "{8F265B71-B45C-4437-8A46-A9055BB94CD0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.Domain.Tests", "test\EShopOnAbp.CmskitService.Domain.Tests\EShopOnAbp.CmskitService.Domain.Tests.csproj", "{3E5C3A79-72DB-4EF3-A0CA-9EE9AA7E9656}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.EntityFrameworkCore.Tests", "test\EShopOnAbp.CmskitService.EntityFrameworkCore.Tests\EShopOnAbp.CmskitService.EntityFrameworkCore.Tests.csproj", "{1D87CC42-B8E3-42AC-B421-35DB8011B333}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.TestBase", "test\EShopOnAbp.CmskitService.TestBase\EShopOnAbp.CmskitService.TestBase.csproj", "{7CDD07F9-B638-4653-A54F-55A494FB4702}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EShopOnAbp.CmskitService.Application.Tests", "test\EShopOnAbp.CmskitService.Application.Tests\EShopOnAbp.CmskitService.Application.Tests.csproj", "{B1A27493-3B89-4482-84D9-C3335DC70BFF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{E023F5E2-CD70-45B2-99B9-F927442EB5D3} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{5F3A3379-5419-426B-B926-689DC7640C15} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{2B9F3B2D-4059-4EEC-B2E1-3843331CE7B2} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{5A74B4E1-83A7-4176-88B2-BA4C8C900AC3} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{6112E2A3-2D9A-41A4-8811-8BCF538A05DC} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{B9211D3C-2D7A-450C-8C61-A9672F7A08A7} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{41BAD034-57FF-4CE8-B0F8-54E22F3581EC} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{8F265B71-B45C-4437-8A46-A9055BB94CD0} = {332BD7AE-41B2-4F61-B743-69CC7F70C5CD}
{3E5C3A79-72DB-4EF3-A0CA-9EE9AA7E9656} = {8CD8083E-F0CE-4233-8754-A0D25B720CA1}
{1D87CC42-B8E3-42AC-B421-35DB8011B333} = {8CD8083E-F0CE-4233-8754-A0D25B720CA1}
{7CDD07F9-B638-4653-A54F-55A494FB4702} = {8CD8083E-F0CE-4233-8754-A0D25B720CA1}
{B1A27493-3B89-4482-84D9-C3335DC70BFF} = {8CD8083E-F0CE-4233-8754-A0D25B720CA1}
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E023F5E2-CD70-45B2-99B9-F927442EB5D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E023F5E2-CD70-45B2-99B9-F927442EB5D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E023F5E2-CD70-45B2-99B9-F927442EB5D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E023F5E2-CD70-45B2-99B9-F927442EB5D3}.Release|Any CPU.Build.0 = Release|Any CPU
{5F3A3379-5419-426B-B926-689DC7640C15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F3A3379-5419-426B-B926-689DC7640C15}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F3A3379-5419-426B-B926-689DC7640C15}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F3A3379-5419-426B-B926-689DC7640C15}.Release|Any CPU.Build.0 = Release|Any CPU
{2B9F3B2D-4059-4EEC-B2E1-3843331CE7B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2B9F3B2D-4059-4EEC-B2E1-3843331CE7B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2B9F3B2D-4059-4EEC-B2E1-3843331CE7B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2B9F3B2D-4059-4EEC-B2E1-3843331CE7B2}.Release|Any CPU.Build.0 = Release|Any CPU
{5A74B4E1-83A7-4176-88B2-BA4C8C900AC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5A74B4E1-83A7-4176-88B2-BA4C8C900AC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A74B4E1-83A7-4176-88B2-BA4C8C900AC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5A74B4E1-83A7-4176-88B2-BA4C8C900AC3}.Release|Any CPU.Build.0 = Release|Any CPU
{6112E2A3-2D9A-41A4-8811-8BCF538A05DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6112E2A3-2D9A-41A4-8811-8BCF538A05DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6112E2A3-2D9A-41A4-8811-8BCF538A05DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6112E2A3-2D9A-41A4-8811-8BCF538A05DC}.Release|Any CPU.Build.0 = Release|Any CPU
{B9211D3C-2D7A-450C-8C61-A9672F7A08A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9211D3C-2D7A-450C-8C61-A9672F7A08A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9211D3C-2D7A-450C-8C61-A9672F7A08A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9211D3C-2D7A-450C-8C61-A9672F7A08A7}.Release|Any CPU.Build.0 = Release|Any CPU
{41BAD034-57FF-4CE8-B0F8-54E22F3581EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{41BAD034-57FF-4CE8-B0F8-54E22F3581EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{41BAD034-57FF-4CE8-B0F8-54E22F3581EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{41BAD034-57FF-4CE8-B0F8-54E22F3581EC}.Release|Any CPU.Build.0 = Release|Any CPU
{8F265B71-B45C-4437-8A46-A9055BB94CD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8F265B71-B45C-4437-8A46-A9055BB94CD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8F265B71-B45C-4437-8A46-A9055BB94CD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8F265B71-B45C-4437-8A46-A9055BB94CD0}.Release|Any CPU.Build.0 = Release|Any CPU
{3E5C3A79-72DB-4EF3-A0CA-9EE9AA7E9656}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E5C3A79-72DB-4EF3-A0CA-9EE9AA7E9656}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E5C3A79-72DB-4EF3-A0CA-9EE9AA7E9656}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E5C3A79-72DB-4EF3-A0CA-9EE9AA7E9656}.Release|Any CPU.Build.0 = Release|Any CPU
{1D87CC42-B8E3-42AC-B421-35DB8011B333}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D87CC42-B8E3-42AC-B421-35DB8011B333}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D87CC42-B8E3-42AC-B421-35DB8011B333}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D87CC42-B8E3-42AC-B421-35DB8011B333}.Release|Any CPU.Build.0 = Release|Any CPU
{7CDD07F9-B638-4653-A54F-55A494FB4702}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7CDD07F9-B638-4653-A54F-55A494FB4702}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7CDD07F9-B638-4653-A54F-55A494FB4702}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7CDD07F9-B638-4653-A54F-55A494FB4702}.Release|Any CPU.Build.0 = Release|Any CPU
{B1A27493-3B89-4482-84D9-C3335DC70BFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B1A27493-3B89-4482-84D9-C3335DC70BFF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B1A27493-3B89-4482-84D9-C3335DC70BFF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B1A27493-3B89-4482-84D9-C3335DC70BFF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

15
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/CmskitServiceApplicationContractsModule.cs

@ -0,0 +1,15 @@
using Volo.Abp.Application;
using Volo.Abp.Authorization;
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(CmskitServiceDomainSharedModule),
typeof(AbpDddApplicationContractsModule),
typeof(AbpAuthorizationModule)
)]
public class CmskitServiceApplicationContractsModule : AbpModule
{
}

6
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/CmskitServiceRemoteServiceConsts.cs

@ -0,0 +1,6 @@
namespace EShopOnAbp.CmskitService;
public static class CmskitServiceRemoteServiceConsts
{
public const string RemoteServiceName = "CmskitService";
}

3
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/EShopOnAbp.CmskitService.Application.Contracts.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.application-contracts"
}

16
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/EShopOnAbp.CmskitService.Application.Contracts.csproj

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="5.1.2" />
<PackageReference Include="Volo.Abp.Authorization" Version="5.1.2" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Domain.Shared\EShopOnAbp.CmskitService.Domain.Shared.csproj" />
</ItemGroup>
</Project>

21
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Permissions/CmskitServicePermissionDefinitionProvider.cs

@ -0,0 +1,21 @@
using EShopOnAbp.CmskitService.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace EShopOnAbp.CmskitService.Permissions;
public class CmskitServicePermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var myGroup = context.AddGroup(CmskitServicePermissions.GroupName, L("Permission:CmskitService"));
//Define your own permissions here. Example:
//myGroup.AddPermission(BookStorePermissions.MyPermission1, L("Permission:MyPermission1"));
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<CmskitServiceResource>(name);
}
}

13
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Permissions/CmskitServicePermissions.cs

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

11
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Samples/ISampleAppService.cs

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

6
services/cmskit/src/EShopOnAbp.CmskitService.Application.Contracts/Samples/SampleDto.cs

@ -0,0 +1,6 @@
namespace EShopOnAbp.CmskitService.Samples;
public class SampleDto
{
public int Value { get; set; }
}

13
services/cmskit/src/EShopOnAbp.CmskitService.Application/CmskitServiceAppService.cs

@ -0,0 +1,13 @@
using EShopOnAbp.CmskitService.Localization;
using Volo.Abp.Application.Services;
namespace EShopOnAbp.CmskitService;
public abstract class CmskitServiceAppService : ApplicationService
{
protected CmskitServiceAppService()
{
LocalizationResource = typeof(CmskitServiceResource);
ObjectMapperContext = typeof(CmskitServiceApplicationModule);
}
}

13
services/cmskit/src/EShopOnAbp.CmskitService.Application/CmskitServiceApplicationAutoMapperProfile.cs

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

24
services/cmskit/src/EShopOnAbp.CmskitService.Application/CmskitServiceApplicationModule.cs

@ -0,0 +1,24 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Application;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(CmskitServiceDomainModule),
typeof(CmskitServiceApplicationContractsModule),
typeof(AbpDddApplicationModule),
typeof(AbpAutoMapperModule)
)]
public class CmskitServiceApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<CmskitServiceApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<CmskitServiceApplicationModule>(validate: true);
});
}
}

3
services/cmskit/src/EShopOnAbp.CmskitService.Application/EShopOnAbp.CmskitService.Application.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.application"
}

17
services/cmskit/src/EShopOnAbp.CmskitService.Application/EShopOnAbp.CmskitService.Application.csproj

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application" Version="5.1.2" />
<PackageReference Include="Volo.Abp.AutoMapper" Version="5.1.2" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Application.Contracts\EShopOnAbp.CmskitService.Application.Contracts.csproj" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Domain\EShopOnAbp.CmskitService.Domain.csproj" />
</ItemGroup>
</Project>

28
services/cmskit/src/EShopOnAbp.CmskitService.Application/Samples/SampleAppService.cs

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

41
services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/CmskitServiceDomainSharedModule.cs

@ -0,0 +1,41 @@
using EShopOnAbp.CmskitService.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Modularity;
using Volo.Abp.Validation;
using Volo.Abp.Validation.Localization;
using Volo.Abp.VirtualFileSystem;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(AbpValidationModule)
)]
public class CmskitServiceDomainSharedModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
CmskitServiceModuleExtensionConfigurator.Configure();
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<CmskitServiceDomainSharedModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<CmskitServiceResource>("en")
.AddBaseTypes(typeof(AbpValidationResource))
.AddVirtualJson("/Localization/CmskitService");
});
Configure<AbpExceptionLocalizationOptions>(options =>
{
options.MapCodeNamespace("CmskitService", typeof(CmskitServiceResource));
});
}
}

6
services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/CmskitServiceErrorCodes.cs

@ -0,0 +1,6 @@
namespace EShopOnAbp.CmskitService;
public static class CmskitServiceErrorCodes
{
//Add your business exception error codes here...
}

63
services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/CmskitServiceModuleExtensionConfigurator.cs

@ -0,0 +1,63 @@
using Volo.Abp.Threading;
namespace EShopOnAbp.CmskitService;
public static class CmskitServiceModuleExtensionConfigurator
{
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
public static void Configure()
{
OneTimeRunner.Run(() =>
{
ConfigureExistingProperties();
ConfigureExtraProperties();
});
}
private static void ConfigureExistingProperties()
{
/* You can change max lengths for properties of the
* entities defined in the modules used by your application.
*
* Example: Change user and role name max lengths
IdentityUserConsts.MaxNameLength = 99;
IdentityRoleConsts.MaxNameLength = 99;
* Notice: It is not suggested to change property lengths
* unless you really need it. Go with the standard values wherever possible.
*
* If you are using EF Core, you will need to run the add-migration command after your changes.
*/
}
private static void ConfigureExtraProperties()
{
/* You can configure extra properties for the
* entities defined in the modules used by your application.
*
* This class can be used to define these extra properties
* with a high level, easy to use API.
*
* Example: Add a new property to the user entity of the identity module
ObjectExtensionManager.Instance.Modules()
.ConfigureIdentity(identity =>
{
identity.ConfigureUser(user =>
{
user.AddOrUpdateProperty<string>( //property type: string
"SocialSecurityNumber", //property name
property =>
{
//validation rules
property.Attributes.Add(new RequiredAttribute());
property.Attributes.Add(new StringLengthAttribute(64) {MinimumLength = 4});
//...other configurations for this property
}
);
});
});
* See the documentation for more:
* https://docs.abp.io/en/abp/latest/Module-Entity-Extensions
*/
}
}

3
services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/EShopOnAbp.CmskitService.Domain.Shared.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.domain-shared"
}

24
services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/EShopOnAbp.CmskitService.Domain.Shared.csproj

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Validation" Version="5.1.2" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Localization\CmskitService\*.json" />
<Content Remove="Localization\CmskitService\*.json" />
</ItemGroup>
</Project>

5
services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/Localization/CmskitService/en.json

@ -0,0 +1,5 @@
{
"culture": "en",
"texts": {
}
}

9
services/cmskit/src/EShopOnAbp.CmskitService.Domain.Shared/Localization/CmskitServiceResource.cs

@ -0,0 +1,9 @@
using Volo.Abp.Localization;
namespace EShopOnAbp.CmskitService.Localization;
[LocalizationResourceName("CmskitService")]
public class CmskitServiceResource
{
}

10
services/cmskit/src/EShopOnAbp.CmskitService.Domain/CmskitServiceDbProperties.cs

@ -0,0 +1,10 @@
namespace EShopOnAbp.CmskitService;
public static class CmskitServiceDbProperties
{
public static string DbTablePrefix { get; set; } = "";
public static string DbSchema { get; set; } = null;
public const string ConnectionStringName = "CmskitService";
}

12
services/cmskit/src/EShopOnAbp.CmskitService.Domain/CmskitServiceDomainModule.cs

@ -0,0 +1,12 @@
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(AbpDddDomainModule),
typeof(CmskitServiceDomainSharedModule)
)]
public class CmskitServiceDomainModule : AbpModule
{
}

3
services/cmskit/src/EShopOnAbp.CmskitService.Domain/EShopOnAbp.CmskitService.Domain.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.domain"
}

15
services/cmskit/src/EShopOnAbp.CmskitService.Domain/EShopOnAbp.CmskitService.Domain.csproj

@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Domain" Version="5.1.2" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Domain.Shared\EShopOnAbp.CmskitService.Domain.Shared.csproj" />
</ItemGroup>
</Project>

13
services/cmskit/src/EShopOnAbp.CmskitService.Domain/Settings/CmskitServiceSettingDefinitionProvider.cs

@ -0,0 +1,13 @@
using Volo.Abp.Settings;
namespace EShopOnAbp.CmskitService.Settings;
public class CmskitServiceServiceSettingDefinitionProvider : SettingDefinitionProvider
{
public override void Define(ISettingDefinitionContext context)
{
/* Define module settings here.
* Use names from CmskitServiceSettings class.
*/
}
}

10
services/cmskit/src/EShopOnAbp.CmskitService.Domain/Settings/CmskitServiceSettings.cs

@ -0,0 +1,10 @@
namespace EShopOnAbp.CmskitService.Settings;
public static class CmskitServiceSettings
{
public const string GroupName = "CmskitService";
/* Add constants for setting names. Example:
* public const string MySettingName = GroupName + ".MySettingName";
*/
}

3
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EShopOnAbp.CmskitService.EntityFrameworkCore.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.ef"
}

24
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EShopOnAbp.CmskitService.EntityFrameworkCore.csproj

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.EntityFrameworkCore.PostgreSql" Version="5.1.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EShopOnAbp.CmskitService.Domain\EShopOnAbp.CmskitService.Domain.csproj" />
</ItemGroup>
</Project>

22
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceDbContext.cs

@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
namespace EShopOnAbp.CmskitService.EntityFrameworkCore;
[ConnectionStringName(CmskitServiceDbProperties.ConnectionStringName)]
public class CmskitServiceDbContext : AbpDbContext<CmskitServiceDbContext>, ICmskitServiceDbContext
{
public CmskitServiceDbContext(DbContextOptions<CmskitServiceDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ConfigureCmskitService();
}
}

41
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceDbContextFactory.cs

@ -0,0 +1,41 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using System;
using System.IO;
namespace EShopOnAbp.CmskitService.EntityFrameworkCore;
/* This class is needed for EF Core console commands
* (like Add-Migration and Update-Database commands) */
public class CmskitServiceDbContextFactory : IDesignTimeDbContextFactory<CmskitServiceDbContext>
{
public CmskitServiceDbContext CreateDbContext(string[] args)
{
CmskitServiceEfCoreEntityExtensionMappings.Configure();
var configuration = BuildConfiguration();
var builder = new DbContextOptionsBuilder<CmskitServiceDbContext>()
.UseNpgsql(
configuration.GetConnectionString(CmskitServiceDbProperties.ConnectionStringName),
b =>
{
b.MigrationsHistoryTable("__OrderingService_Migrations");
});
// https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
return new CmskitServiceDbContext(builder.Options);
}
private static IConfigurationRoot BuildConfiguration()
{
var builder = new ConfigurationBuilder()
.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../EShopOnAbp.OrderingService.HttpApi.Host/"))
.AddJsonFile("appsettings.json", optional: false);
return builder.Build();
}
}

21
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceDbContextModelCreatingExtensions.cs

@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
namespace EShopOnAbp.CmskitService.EntityFrameworkCore;
public static class CmskitServiceDbContextModelCreatingExtensions
{
public static void ConfigureCmskitService(this ModelBuilder builder)
{
Check.NotNull(builder, nameof(builder));
/* Configure your own tables/entities inside here */
//builder.Entity<YourEntity>(b =>
//{
// b.ToTable(CmskitServiceConsts.DbTablePrefix + "YourEntities", CmskitServiceConsts.DbSchema);
// b.ConfigureByConvention(); //auto configure for the base class props
// //...
//});
}
}

38
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceEfCoreEntityExtensionMappings.cs

@ -0,0 +1,38 @@
using Volo.Abp.Threading;
namespace EShopOnAbp.CmskitService.EntityFrameworkCore;
public static class CmskitServiceEfCoreEntityExtensionMappings
{
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
public static void Configure()
{
CmskitServiceModuleExtensionConfigurator.Configure();
OneTimeRunner.Run(() =>
{
/* You can configure extra properties for the
* entities defined in the modules used by your application.
*
* This class can be used to map these extra properties to table fields in the database.
*
* USE THIS CLASS ONLY TO CONFIGURE EF CORE RELATED MAPPING.
* USE EShopOnAbpModuleExtensionConfigurator CLASS (in the Domain.Shared project)
* FOR A HIGH LEVEL API TO DEFINE EXTRA PROPERTIES TO ENTITIES OF THE USED MODULES
*
* Example: Map a property to a table field:
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
"SocialSecurityNumber",
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(128);
}
);
* See the documentation for more:
* https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities
*/
});
}
}

42
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/CmskitServiceEntityFrameworkCoreModule.cs

@ -0,0 +1,42 @@
using Microsoft.Extensions.DependencyInjection;
using System;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.PostgreSql;
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService.EntityFrameworkCore;
[DependsOn(
typeof(AbpEntityFrameworkCorePostgreSqlModule),
typeof(CmskitServiceDomainModule)
)]
public class CmskitServiceEntityFrameworkCoreModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
CmskitServiceEfCoreEntityExtensionMappings.Configure();
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAbpDbContext<CmskitServiceDbContext>(options =>
{
/* Remove "includeAllEntities: true" to create
* default repositories only for aggregate roots */
options.AddDefaultRepositories(includeAllEntities: true);
});
// https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
Configure<AbpDbContextOptions>(options =>
{
/* The main point to change your DBMS.
* See also OrderingServiceMigrationsDbContextFactory for EF Core tooling. */
options.UseNpgsql(b =>
{
b.MigrationsHistoryTable("__CmskitService_Migrations");
});
});
}
}

11
services/cmskit/src/EShopOnAbp.CmskitService.EntityFrameworkCore/EntityFrameworkCore/ICmskitServiceDbContext.cs

@ -0,0 +1,11 @@
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
namespace EShopOnAbp.CmskitService.EntityFrameworkCore
{
[ConnectionStringName(CmskitServiceDbProperties.ConnectionStringName)]
public interface ICmskitServiceDbContext : IEfCoreDbContext
{
//DbSet<Model> Model { get; }
}
}

23
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Client/CmskitServiceHttpApiClientModule.cs

@ -0,0 +1,23 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Http.Client;
using Volo.Abp.Modularity;
using Volo.Abp.VirtualFileSystem;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(CmskitServiceApplicationContractsModule),
typeof(AbpHttpClientModule))]
public class CmskitServiceHttpApiClientModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddHttpClientProxies(typeof(CmskitServiceApplicationContractsModule).Assembly,
CmskitServiceRemoteServiceConsts.RemoteServiceName);
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<CmskitServiceHttpApiClientModule>();
});
}
}

3
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Client/EShopOnAbp.CmskitService.HttpApi.Client.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.http-api-client"
}

20
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Client/EShopOnAbp.CmskitService.HttpApi.Client.csproj

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Http.Client" Version="5.1.2" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Application.Contracts\EShopOnAbp.CmskitService.Application.Contracts.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="**\*generate-proxy.json" />
<Content Remove="**\*generate-proxy.json" />
</ItemGroup>
</Project>

104
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/CmskitServiceHttpApiHostModule.cs

@ -0,0 +1,104 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Hosting;
using EShopOnAbp.CmskitService.EntityFrameworkCore;
using EShopOnAbp.Shared.Hosting.Microservices;
using Volo.Abp;
using Volo.Abp.Modularity;
using EShopOnAbp.Shared.Hosting.AspNetCore;
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
using System;
using Volo.Abp.AspNetCore.Mvc;
using System.Linq;
using Microsoft.AspNetCore.Cors;
using Microsoft.Extensions.Configuration;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(EShopOnAbpSharedHostingMicroservicesModule),
typeof(CmskitServiceApplicationModule),
typeof(CmskitServiceHttpApiModule),
typeof(CmskitServiceEntityFrameworkCoreModule)
)]
public class CmskitServiceHttpApiHostModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
// var hostingEnvironment = context.Services.GetHostingEnvironment();
JwtBearerConfigurationHelper.Configure(context, "CmskitService");
SwaggerConfigurationHelper.ConfigureWithAuth(
context: context,
authority: configuration["AuthServer:Authority"],
scopes: new
Dictionary<string, string> /* Requested scopes for authorization code request and descriptions for swagger UI only */
{
{ "CmskitService", "CmskitService Service API" }
},
apiTitle: "CmskitService Service API"
);
context.Services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
builder
.WithOrigins(
configuration["App:CorsOrigins"]
.Split(",", StringSplitOptions.RemoveEmptyEntries)
.Select(o => o.Trim().RemovePostFix("/"))
.ToArray()
)
.WithAbpExposedHeaders()
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
// TODO: Create controller instead of auto-controller configuration
Configure<AbpAspNetCoreMvcOptions>(options =>
{
options.ConventionalControllers.Create(typeof(CmskitServiceApplicationModule).Assembly, opts =>
{
opts.RootPath = "cmskit";
opts.RemoteServiceName = "Cmskit";
});
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCorrelationId();
app.UseAbpRequestLocalization();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAbpClaimsMap();
app.UseMultiTenancy();
app.UseAuthorization();
app.UseSwagger();
app.UseSwaggerUI(options =>
{
var configuration = context.ServiceProvider.GetRequiredService<IConfiguration>();
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Cmskit Service API");
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);
});
app.UseAbpSerilogEnrichers();
app.UseAuditing();
app.UseUnitOfWork();
app.UseConfiguredEndpoints();
}
}

12
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/Controllers/HomeController.cs

@ -0,0 +1,12 @@
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
namespace EShopOnAbp.CmskitService.Controllers;
public class HomeController : AbpController
{
public ActionResult Index()
{
return Redirect("/swagger");
}
}

30
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/DbMigrations/CmskitServiceDatabaseMigrationChecker.cs

@ -0,0 +1,30 @@
using EShopOnAbp.CmskitService.EntityFrameworkCore;
using EShopOnAbp.Shared.Hosting.Microservices.DbMigrations.EfCore;
using System;
using Volo.Abp.DistributedLocking;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Uow;
namespace EShopOnAbp.CmskitService.DbMigrations;
public class CmskitServiceDatabaseMigrationChecker
: PendingEfCoreMigrationsChecker<CmskitServiceDbContext>
{
public CmskitServiceDatabaseMigrationChecker(
IUnitOfWorkManager unitOfWorkManager,
IServiceProvider serviceProvider,
ICurrentTenant currentTenant,
IDistributedEventBus distributedEventBus,
IAbpDistributedLock abpDistributedLock)
: base(
unitOfWorkManager,
serviceProvider,
currentTenant,
distributedEventBus,
abpDistributedLock,
CmskitServiceDbProperties.ConnectionStringName)
{
}
}

1
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/EShopOnAbp.CmskitService.HttpApi.Host.abppkg.json

@ -0,0 +1 @@
{}

35
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/EShopOnAbp.CmskitService.HttpApi.Host.csproj

@ -0,0 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\shared\EShopOnAbp.Shared.Hosting.Microservices\EShopOnAbp.Shared.Hosting.Microservices.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\shared\EShopOnAbp.Shared.Hosting.Microservices\EShopOnAbp.Shared.Hosting.Microservices.csproj" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Application\EShopOnAbp.CmskitService.Application.csproj" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.EntityFrameworkCore\EShopOnAbp.CmskitService.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.HttpApi\EShopOnAbp.CmskitService.HttpApi.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Remove="Logs\**" />
<Content Remove="Logs\**" />
<EmbeddedResource Remove="Logs\**" />
<None Remove="Logs\**" />
</ItemGroup>
</Project>

39
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/Program.cs

@ -0,0 +1,39 @@
using EShopOnAbp.Shared.Hosting.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Serilog;
using System;
using System.Threading.Tasks;
namespace EShopOnAbp.CmskitService;
public class Program
{
public async static Task<int> Main(string[] args)
{
var assemblyName = typeof(Program).Assembly.GetName().Name;
SerilogConfigurationHelper.Configure(assemblyName);
try
{
Log.Information($"Starting {assemblyName}.");
Log.Information($"Starting {assemblyName}.");
var app = await ApplicationBuilderHelper
.BuildApplicationAsync<CmskitServiceHttpApiHostModule>(args);
await app.InitializeApplicationAsync();
await app.RunAsync();
return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, $"{assemblyName} terminated unexpectedly!");
return 1;
}
finally
{
Log.CloseAndFlush();
}
}
}

28
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/Properties/launchSettings.json

@ -0,0 +1,28 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "https://localhost:44711",
"sslPort": 44711
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"EShopOnAbp.CmskitService.HttpApi.Host": {
"commandName": "Project",
"dotnetRunMessages": "true",
"launchBrowser": true,
"applicationUrl": "https://localhost:44711",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

44
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/appsettings.json

@ -0,0 +1,44 @@
{
"App": {
"SelfUrl": "https://localhost:44711",
"CorsOrigins": "http://localhost:4200" //https://localhost:44372,https://localhost:44373,
},
"AuthServer": {
"Authority": "https://localhost:44322",
"RequireHttpsMetadata": "true",
"SwaggerClientId": "WebGateway_Swagger",
"SwaggerClientSecret": "1q2w3e*"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"CmskitService": "User ID=postgres;Password=myPassw0rd;Host=localhost;Port=5432;Database=EShopOnAbp_Cmskit;Pooling=false",
"AdministrationService": "User ID=postgres;Password=myPassw0rd;Host=localhost;Port=5432;Database=EShopOnAbp_Administration;Pooling=false;"
},
"StringEncryption": {
"DefaultPassPhrase": "gsKnGZ041HLL4IM8"
},
"Redis": {
"Configuration": "localhost:6379"
},
"RabbitMQ": {
"Connections": {
"Default": {
"HostName": "localhost"
}
},
"EventBus": {
"ClientName": "EShopOnAbp_CmskitService",
"ExchangeName": "EShopOnAbp"
}
},
"ElasticSearch": {
"Url": "http://localhost:9200"
}
}

3
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi.Host/appsettings.secrets.json

@ -0,0 +1,3 @@
{
"AbpLicenseCode": "PABMAGkAYwBlAG4AcwBlAD4ACgAgACAAPABJAGQAPgA2ADQAYQA1AGEAZQBmADUALQBhADcAMQA5AC0AYwAxADYAMAAtADYAYQAwAGEALQAzADkAZQBmADEANgAzADYAZgAxAGEAZAA8AC8ASQBkAD4ACgAgACAAPABMAGkAYwBlAG4AcwBlAEEAdAB0AHIAaQBiAHUAdABlAHMAPgAKACAAIAAgACAAPABBAHQAdAByAGkAYgB1AHQAZQAgAG4AYQBtAGUAPQAiAE8AcgBnAGEAbgBpAHoAYQB0AGkAbwBuAEkAZAAiAD4ANgA0AGEANQBhAGUAZgA1AC0AYQA3ADEAOQAtAGMAMQA2ADAALQA2AGEAMABhAC0AMwA5AGUAZgAxADYAMwA2AGYAMQBhAGQAPAAvAEEAdAB0AHIAaQBiAHUAdABlAD4ACgAgACAAIAAgADwAQQB0AHQAcgBpAGIAdQB0AGUAIABuAGEAbQBlAD0AIgBPAHIAZwBhAG4AaQB6AGEAdABpAG8AbgBOAGEAbQBlACIAPgBWAG8AbABvAHMAbwBmAHQAPAAvAEEAdAB0AHIAaQBiAHUAdABlAD4ACgAgACAAIAAgADwAQQB0AHQAcgBpAGIAdQB0AGUAIABuAGEAbQBlAD0AIgBDAHIAZQBhAHQAaQBvAG4AVABpAG0AZQAiAD4AMgAwADIAMgAtADAAOQAtADEAMgAgADEAMQA6ADQAMQA6ADEAMwA8AC8AQQB0AHQAcgBpAGIAdQB0AGUAPgAKACAAIAA8AC8ATABpAGMAZQBuAHMAZQBBAHQAdAByAGkAYgB1AHQAZQBzAD4ACgAgACAAPABTAGkAZwBuAGEAdAB1AHIAZQA+AE0ARQBVAEMASQBCAFQAQQB3AFUARwBKAFEANAB1AEsAagBVAEgAZgBsADcAMQBjAHUASwBpAHYAYQAvAGUAOAA3AE0AegBEADkAegB4AEUAKwA2AG8AbABQAGQANQBaAEEAaQBFAEEAagA2AGoAWAAyADMAdgBqAEcAQwBoAEkAMgBGAGgARwB6AGwASABzAEYARwBiAEMAZgBRAE0AeQBYAHAAcABDAEsAMwAzAFAAMABCAFkATAA2AEkAWQA9ADwALwBTAGkAZwBuAGEAdAB1AHIAZQA+AAoAPAAvAEwAaQBjAGUAbgBzAGUAPgBNAEYAawB3AEUAdwBZAEgASwBvAFoASQB6AGoAMABDAEEAUQBZAEkASwBvAFoASQB6AGoAMABEAEEAUQBjAEQAUQBnAEEARQByAEkAZwB4ADUARgBvAEsAWABhADgAWQBJAFEAYgBLAGcAOQBMAFEARQBMAFQAeQBoADEAZgAzAEgAUQBPAGEANwBrAEIATQBrAGQARwBLAE0ATwBjADkARAB4AHYAWABZAE0ASAB3AGgASAB4AHIALwB5AGIAdABRAG0AMQBnAG0ASABYAFEAMQB0AFYARgBMAGIAVQBQAHkATABFAGEANQBNAEYAUQBCAEEAPQA9AF8AMQAyADQA"
}

12
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/CmskitServiceController.cs

@ -0,0 +1,12 @@
using EShopOnAbp.CmskitService.Localization;
using Volo.Abp.AspNetCore.Mvc;
namespace EShopOnAbp.CmskitService;
public abstract class CmskitServiceController : AbpControllerBase
{
protected CmskitServiceController()
{
LocalizationResource = typeof(CmskitServiceResource);
}
}

32
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/CmskitServiceHttpApiModule.cs

@ -0,0 +1,32 @@
using Localization.Resources.AbpUi;
using Microsoft.Extensions.DependencyInjection;
using EShopOnAbp.CmskitService.Localization;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(CmskitServiceApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule))]
public class CmskitServiceHttpApiModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(CmskitServiceHttpApiModule).Assembly);
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Get<CmskitServiceResource>()
.AddBaseTypes(typeof(AbpUiResource));
});
}
}

3
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/EShopOnAbp.CmskitService.HttpApi.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.http-api"
}

15
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/EShopOnAbp.CmskitService.HttpApi.csproj

@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="5.1.2" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Application.Contracts\EShopOnAbp.CmskitService.Application.Contracts.csproj" />
</ItemGroup>
</Project>

34
services/cmskit/src/EShopOnAbp.CmskitService.HttpApi/Samples/SampleController.cs

@ -0,0 +1,34 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
namespace EShopOnAbp.CmskitService.Samples;
[RemoteService(Name = CmskitServiceRemoteServiceConsts.RemoteServiceName)]
[Area("CmskitService")]
[ControllerName("CmskitService")]
[Route("api/CmskitService/sample")]
public class SampleController : CmskitServiceController, 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();
}
}

9
services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/CmskitServiceApplicationTestBase.cs

@ -0,0 +1,9 @@
namespace EShopOnAbp.CmskitService;
/* Inherit from this class for your application layer tests.
* See SampleAppService_Tests for example.
*/
public abstract class CmskitServiceApplicationTestBase : CmskitServiceTestBase<CmskitServiceApplicationTestModule>
{
}

12
services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/CmskitServiceApplicationTestModule.cs

@ -0,0 +1,12 @@
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(CmskitServiceApplicationModule),
typeof(CmskitServiceDomainTestModule)
)]
public class CmskitServiceApplicationTestModule : AbpModule
{
}

3
services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/EShopOnAbp.CmskitService.Application.Tests.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.test"
}

17
services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/EShopOnAbp.CmskitService.Application.Tests.csproj

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\EShopOnAbp.CmskitService.Application\EShopOnAbp.CmskitService.Application.csproj" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.Domain.Tests\EShopOnAbp.CmskitService.Domain.Tests.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
</ItemGroup>
</Project>

17
services/cmskit/test/EShopOnAbp.CmskitService.Application.Tests/Samples/SampleAppService_Tests.cs

@ -0,0 +1,17 @@
namespace EShopOnAbp.CmskitService.Samples;
public class SampleAppService_Tests : CmskitServiceApplicationTestBase
{
//private readonly ISampleAppService _sampleAppService;
public SampleAppService_Tests()
{
//_sampleAppService = GetRequiredService<ISampleAppService>();
}
// [Fact]
// public async Task Method1Async()
// {
//
// }
}

9
services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/CmskitServiceDomainTestBase.cs

@ -0,0 +1,9 @@
namespace EShopOnAbp.CmskitService;
/* Inherit from this class for your domain layer tests.
* See SampleManager_Tests for example.
*/
public abstract class CmskitServiceDomainTestBase : CmskitServiceTestBase<CmskitServiceDomainTestModule>
{
}

16
services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/CmskitServiceDomainTestModule.cs

@ -0,0 +1,16 @@
using EShopOnAbp.CmskitService.EntityFrameworkCore;
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService;
/* Domain tests are configured to use the EF Core provider.
* You can switch to MongoDB, however your domain tests should be
* database independent anyway.
*/
[DependsOn(
typeof(CmskitServiceEntityFrameworkCoreTestModule)
)]
public class CmskitServiceDomainTestModule : AbpModule
{
}

3
services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/EShopOnAbp.CmskitService.Domain.Tests.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.test"
}

16
services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/EShopOnAbp.CmskitService.Domain.Tests.csproj

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EShopOnAbp.CmskitService.EntityFrameworkCore.Tests\EShopOnAbp.CmskitService.EntityFrameworkCore.Tests.csproj" />
</ItemGroup>
</Project>

17
services/cmskit/test/EShopOnAbp.CmskitService.Domain.Tests/Samples/SampleManager_Tests.cs

@ -0,0 +1,17 @@
namespace EShopOnAbp.CmskitService.Samples;
public class SampleManager_Tests : CmskitServiceDomainTestBase
{
//private readonly SampleManager _sampleManager;
public SampleManager_Tests()
{
//_sampleManager = GetRequiredService<SampleManager>();
}
// [Fact]
// public async Task Method1Async()
// {
//
// }
}

3
services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests.abppkg.json

@ -0,0 +1,3 @@
{
"role": "lib.test"
}

19
services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests.csproj

@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="6.0.0" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="5.1.2" />
<ProjectReference Include="..\EShopOnAbp.CmskitService.TestBase\EShopOnAbp.CmskitService.TestBase.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\EShopOnAbp.CmskitService.EntityFrameworkCore\EShopOnAbp.CmskitService.EntityFrameworkCore.csproj" />
</ItemGroup>
</Project>

9
services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EntityFrameworkCore/CmskitServiceEntityFrameworkCoreTestBase.cs

@ -0,0 +1,9 @@
namespace EShopOnAbp.CmskitService.EntityFrameworkCore;
/* This class can be used as a base class for EF Core integration tests,
* while SampleRepository_Tests uses a different approach.
*/
public abstract class CmskitServiceEntityFrameworkCoreTestBase : CmskitServiceTestBase<CmskitServiceEntityFrameworkCoreTestModule>
{
}

42
services/cmskit/test/EShopOnAbp.CmskitService.EntityFrameworkCore.Tests/EntityFrameworkCore/CmskitServiceEntityFrameworkCoreTestModule.cs

@ -0,0 +1,42 @@
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.Sqlite;
using Volo.Abp.Modularity;
namespace EShopOnAbp.CmskitService.EntityFrameworkCore;
[DependsOn(
typeof(CmskitServiceTestBaseModule),
typeof(CmskitServiceEntityFrameworkCoreModule),
typeof(AbpEntityFrameworkCoreSqliteModule)
)]
public class CmskitServiceEntityFrameworkCoreTestModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var sqliteConnection = CreateDatabaseAndGetConnection();
Configure<AbpDbContextOptions>(options =>
{
options.Configure(abpDbContextConfigurationContext =>
{
abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection);
});
});
}
private static SqliteConnection CreateDatabaseAndGetConnection()
{
var connection = new SqliteConnection("Data Source=:memory:");
connection.Open();
new CmskitServiceDbContext(
new DbContextOptionsBuilder<CmskitServiceDbContext>().UseSqlite(connection).Options
).GetService<IRelationalDatabaseCreator>().CreateTables();
return connection;
}
}

15
services/cmskit/test/EShopOnAbp.CmskitService.TestBase/CmskitServiceDataSeedContributor.cs

@ -0,0 +1,15 @@
using System.Threading.Tasks;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
namespace EShopOnAbp.CmskitService;
public class CmskitServiceDataSeedContributor : IDataSeedContributor, ITransientDependency
{
public Task SeedAsync(DataSeedContext context)
{
/* Seed additional test data... */
return Task.CompletedTask;
}
}

59
services/cmskit/test/EShopOnAbp.CmskitService.TestBase/CmskitServiceTestBase.cs

@ -0,0 +1,59 @@
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.Modularity;
using Volo.Abp.Testing;
using Volo.Abp.Uow;
namespace EShopOnAbp.CmskitService;
/* All test classes are derived from this class, directly or indirectly. */
public abstract class CmskitServiceTestBase<TStartupModule> : AbpIntegratedTest<TStartupModule>
where TStartupModule : IAbpModule
{
protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options)
{
options.UseAutofac();
}
protected virtual Task WithUnitOfWorkAsync(Func<Task> func)
{
return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func);
}
protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func<Task> action)
{
using (var scope = ServiceProvider.CreateScope())
{
var uowManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
using (var uow = uowManager.Begin(options))
{
await action();
await uow.CompleteAsync();
}
}
}
protected virtual Task<TResult> WithUnitOfWorkAsync<TResult>(Func<Task<TResult>> func)
{
return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func);
}
protected virtual async Task<TResult> WithUnitOfWorkAsync<TResult>(AbpUnitOfWorkOptions options, Func<Task<TResult>> func)
{
using (var scope = ServiceProvider.CreateScope())
{
var uowManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
using (var uow = uowManager.Begin(options))
{
var result = await func();
await uow.CompleteAsync();
return result;
}
}
}
}

41
services/cmskit/test/EShopOnAbp.CmskitService.TestBase/CmskitServiceTestBaseModule.cs

@ -0,0 +1,41 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.Authorization;
using Volo.Abp.Autofac;
using Volo.Abp.Data;
using Volo.Abp.Modularity;
using Volo.Abp.Threading;
namespace EShopOnAbp.CmskitService;
[DependsOn(
typeof(AbpAutofacModule),
typeof(AbpTestBaseModule),
typeof(AbpAuthorizationModule),
typeof(CmskitServiceDomainModule)
)]
public class CmskitServiceTestBaseModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAlwaysAllowAuthorization();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
SeedTestData(context);
}
private static void SeedTestData(ApplicationInitializationContext context)
{
AsyncHelper.RunSync(async () =>
{
using (var scope = context.ServiceProvider.CreateScope())
{
await scope.ServiceProvider
.GetRequiredService<IDataSeeder>()
.SeedAsync();
}
});
}
}

1
services/cmskit/test/EShopOnAbp.CmskitService.TestBase/EShopOnAbp.CmskitService.TestBase.abppkg.json

@ -0,0 +1 @@
{}

24
services/cmskit/test/EShopOnAbp.CmskitService.TestBase/EShopOnAbp.CmskitService.TestBase.csproj

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>EShopOnAbp.CmskitService</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageReference Include="NSubstitute" Version="4.2.2" />
<PackageReference Include="Shouldly" Version="4.0.3" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.execution" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
<PackageReference Include="Volo.Abp.Autofac" Version="5.1.2" />
<PackageReference Include="Volo.Abp.Authorization" Version="5.1.2" />
<PackageReference Include="Volo.Abp.TestBase" Version="5.1.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\EShopOnAbp.CmskitService.Domain\EShopOnAbp.CmskitService.Domain.csproj" />
</ItemGroup>
</Project>

45
services/cmskit/test/EShopOnAbp.CmskitService.TestBase/Security/FakeCurrentPrincipalAccessor.cs

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.Security.Claims;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Security.Claims;
namespace EShopOnAbp.CmskitService.Security;
[Dependency(ReplaceServices = true)]
public class FakeCurrentPrincipalAccessor : ICurrentPrincipalAccessor, ISingletonDependency
{
public ClaimsPrincipal Principal => GetPrincipal();
private ClaimsPrincipal _principal;
private ClaimsPrincipal GetPrincipal()
{
if (_principal == null)
{
lock (this)
{
if (_principal == null)
{
_principal = new ClaimsPrincipal(
new ClaimsIdentity(
new List<Claim>
{
new Claim(AbpClaimTypes.UserId,"2e701e62-0953-4dd3-910b-dc6cc93ccb0d"),
new Claim(AbpClaimTypes.UserName,"admin"),
new Claim(AbpClaimTypes.Email,"admin@abp.io")
}
)
);
}
}
}
return _principal;
}
public IDisposable Change(ClaimsPrincipal principal)
{
_principal = principal;
return null;
}
}
Loading…
Cancel
Save