Browse Source

添加BasicManagement模块

pull/71/head 5.3.2.6
WangJunZzz 4 years ago
committed by GitHub
parent
commit
ae80cea37a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      aspnet-core/Directory.Build.Volo.targets
  2. 103
      aspnet-core/Lion.AbpPro.sln
  3. 118
      aspnet-core/modules/BasicManagement/Lion.AbpPro.BasicManagement.sln
  4. 240
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/BasicManagementHttpApiHostModule.cs
  5. 12
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Controllers/HomeController.cs
  6. 18
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Dockerfile
  7. 20
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/EntityFrameworkCore/BasicManagementHttpApiHostMigrationsDbContext.cs
  8. 28
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/EntityFrameworkCore/BasicManagementHttpApiHostMigrationsDbContextFactory.cs
  9. 3
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/FodyWeavers.xml
  10. 30
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/FodyWeavers.xsd
  11. 43
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Lion.AbpPro.BasicManagement.HttpApi.Host.csproj
  12. 2685
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Logs/logs-20220823.txt
  13. 194
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Logs/logs-20220824.txt
  14. 16
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Logs/logs.txt
  15. 1295
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Migrations/20220823141140_Init.Designer.cs
  16. 880
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Migrations/20220823141140_Init.cs
  17. 1293
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Migrations/BasicManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
  18. 32
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Program.cs
  19. 12
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Properties/launchSettings.json
  20. 15
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/SerilogToEsExtensions.cs
  21. 15
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Startup.cs
  22. 48
      aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/appsettings.json
  23. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/AuditLogs/GetAuditLogPageListOutput.cs
  24. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/AuditLogs/IAuditLogAppService.cs
  25. 67
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/AuditLogs/PagingAuditLogListInput.cs
  26. 25
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/BasicManagementApplicationContractsModule.cs
  27. 8
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/BasicManagementRemoteServiceConsts.cs
  28. 25
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/ConfigurationOptions/JwtOptions.cs
  29. 3
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/FodyWeavers.xml
  30. 30
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/FodyWeavers.xsd
  31. 11
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/GlobalUsings.cs
  32. 22
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Lion.AbpPro.BasicManagement.Application.Contracts.csproj
  33. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/AddRoleToOrganizationUnitInput.cs
  34. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/AddUserToOrganizationUnitInput.cs
  35. 9
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/CreateOrganizationUnitInput.cs
  36. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitRoleInput.cs
  37. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitRoleOutput.cs
  38. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitUserInput.cs
  39. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitUserOutput.cs
  40. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddRoleInput.cs
  41. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddRoleOutput.cs
  42. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddUserInput.cs
  43. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddUserOutput.cs
  44. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/OrganizationUnitDto.cs
  45. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/RemoveRoleToOrganizationUnitInput.cs
  46. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/RemoveUserToOrganizationUnitInput.cs
  47. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/TreeOutput.cs
  48. 9
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/UpdateOrganizationUnitInput.cs
  49. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/IOrganizationUnitAppService.cs
  50. 43
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissionDefinitionProvider.cs
  51. 31
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissions.cs
  52. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/GetPermissionInput.cs
  53. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/PagingRoleListInput.cs
  54. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/PermissionOutput.cs
  55. 4
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/UpdateRoleInput.cs
  56. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/UpdateRolePermissionsInput.cs
  57. 6
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/IRoleAppService.cs
  58. 4
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/IRolePermissionAppService.cs
  59. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/PermissionOptions.cs
  60. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Settings/Dtos/SettingOutput.cs
  61. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Settings/Dtos/UpdateSettingInput.cs
  62. 4
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Settings/ISettingAppService.cs
  63. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/FindTenantByNameInput.cs
  64. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/PagingTenantInput.cs
  65. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/UpdateDefaultConnectionStringInput.cs
  66. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/UpdateTenantInput.cs
  67. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/IVoloTenantAppService.cs
  68. 32
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/ExportIdentityUserOutput.cs
  69. 4
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/GithubAccessTokenResponse.cs
  70. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LockUserInput.cs
  71. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginGithubResponse.cs
  72. 4
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginInput.cs
  73. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginOutput.cs
  74. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginStsResponse.cs
  75. 2
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/PagingUserListInput.cs
  76. 4
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/UpdateUserInput.cs
  77. 6
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/IAccountAppService.cs
  78. 19
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/IUserAppService.cs
  79. 14
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/ApplicationConfigurations/LionAbpApplicationConfigurationAppService.cs
  80. 6
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/AuditLogs/AuditLogAppService.cs
  81. 12
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/BasicManagementAppService.cs
  82. 23
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/BasicManagementApplicationAutoMapperProfile.cs
  83. 67
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/BasicManagementApplicationModule.cs
  84. 3
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/FodyWeavers.xml
  85. 30
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/FodyWeavers.xsd
  86. 31
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/GlobalUsings.cs
  87. 26
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Lion.AbpPro.BasicManagement.Application.csproj
  88. 26
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/OrganizationUnits/OrganizationUnitAppService.cs
  89. 12
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RoleAppService.cs
  90. 7
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RolePermissionAppService.cs
  91. 19
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Settings/SettingAppService.cs
  92. 4
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Tenants/VoloTenantAppService.cs
  93. 24
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/AccountAppService.cs
  94. 15
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs
  95. 9
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementConsts.cs
  96. 39
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementDomainSharedModule.cs
  97. 8
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementErrorCodes.cs
  98. 3
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/FodyWeavers.xml
  99. 30
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/FodyWeavers.xsd
  100. 19
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/GlobalUsings.cs

1
aspnet-core/Directory.Build.Volo.targets

@ -6,6 +6,7 @@
<PackageReference Update="Volo.Abp.Ddd.Domain" Version="5.3.2"/>
<PackageReference Update="Volo.Abp.AutoMapper" Version="5.3.2"/>
<PackageReference Update="Volo.Abp.ObjectMapping" Version="5.3.2"/>
<PackageReference Update="Volo.Abp.Identity.AspNetCore" Version="5.3.2"/>
<PackageReference Update="Volo.Abp.Caching" Version="5.3.2"/>
<PackageReference Update="Volo.Abp.BlobStoring.Aliyun" Version="5.3.2"/>
<PackageReference Update="Volo.Abp.BackgroundJobs" Version="5.3.2"/>

103
aspnet-core/Lion.AbpPro.sln

@ -173,6 +173,40 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{7FF93622-9
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.NotificationManagement.HttpApi.Host", "modules\NotificationManagement\host\Lion.AbpPro.NotificationManagement.HttpApi.Host\Lion.AbpPro.NotificationManagement.HttpApi.Host.csproj", "{FA5E029F-1826-4C1E-8AED-6FA5C3362A3A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BasicManagement", "BasicManagement", "{C2FE6BA0-3DE5-403F-A91F-BCB9ADA5B068}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{4E6D558B-CA6D-4133-8701-FDC6F245DA37}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{AF419621-2F14-45CE-AF1B-B688E1B21BCB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{6464122A-1DC2-45E8-B599-4B5C32FBC85B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.HttpApi.Client", "modules\BasicManagement\src\Lion.AbpPro.BasicManagement.HttpApi.Client\Lion.AbpPro.BasicManagement.HttpApi.Client.csproj", "{97EE641B-69AB-40A6-B20B-4A7FD3B2681E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.HttpApi", "modules\BasicManagement\src\Lion.AbpPro.BasicManagement.HttpApi\Lion.AbpPro.BasicManagement.HttpApi.csproj", "{0EE57014-A75A-4E54-97B6-785C2F874EA4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.EntityFrameworkCore", "modules\BasicManagement\src\Lion.AbpPro.BasicManagement.EntityFrameworkCore\Lion.AbpPro.BasicManagement.EntityFrameworkCore.csproj", "{4F5841EB-A0C9-4E89-AA02-376F2190F68D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.Domain.Shared", "modules\BasicManagement\src\Lion.AbpPro.BasicManagement.Domain.Shared\Lion.AbpPro.BasicManagement.Domain.Shared.csproj", "{C4E1B96F-7905-48ED-AD72-98F5983E65A5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.Domain", "modules\BasicManagement\src\Lion.AbpPro.BasicManagement.Domain\Lion.AbpPro.BasicManagement.Domain.csproj", "{95385FBA-53E4-4144-B6FE-B5561081B9F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.Application.Contracts", "modules\BasicManagement\src\Lion.AbpPro.BasicManagement.Application.Contracts\Lion.AbpPro.BasicManagement.Application.Contracts.csproj", "{4D808FF7-C204-40F1-881D-21B27D8D290E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.Application", "modules\BasicManagement\src\Lion.AbpPro.BasicManagement.Application\Lion.AbpPro.BasicManagement.Application.csproj", "{354E0590-F6B2-43F5-A563-F543C498F3EA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.TestBase", "modules\BasicManagement\test\Lion.AbpPro.BasicManagement.TestBase\Lion.AbpPro.BasicManagement.TestBase.csproj", "{47F2E236-E6BE-4F52-8389-5CF03BDC9B78}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.HttpApi.Client.ConsoleTestApp", "modules\BasicManagement\test\Lion.AbpPro.BasicManagement.HttpApi.Client.ConsoleTestApp\Lion.AbpPro.BasicManagement.HttpApi.Client.ConsoleTestApp.csproj", "{1368FE7F-E1A7-4FD5-AF05-CFA59C0E0E69}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.EntityFrameworkCore.Tests", "modules\BasicManagement\test\Lion.AbpPro.BasicManagement.EntityFrameworkCore.Tests\Lion.AbpPro.BasicManagement.EntityFrameworkCore.Tests.csproj", "{9ECCC0EC-CC5A-4E49-96BE-3F2B15CCD94D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.Domain.Tests", "modules\BasicManagement\test\Lion.AbpPro.BasicManagement.Domain.Tests\Lion.AbpPro.BasicManagement.Domain.Tests.csproj", "{2BACB63E-2830-4371-AEBB-E8089E3EB316}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.Application.Tests", "modules\BasicManagement\test\Lion.AbpPro.BasicManagement.Application.Tests\Lion.AbpPro.BasicManagement.Application.Tests.csproj", "{19A28EF9-A5AE-4EC5-851C-D2547E5FE29C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.BasicManagement.HttpApi.Host", "modules\BasicManagement\host\Lion.AbpPro.BasicManagement.HttpApi.Host\Lion.AbpPro.BasicManagement.HttpApi.Host.csproj", "{26765303-B9D8-457B-915C-ED869CEEB210}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -407,6 +441,58 @@ Global
{FA5E029F-1826-4C1E-8AED-6FA5C3362A3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA5E029F-1826-4C1E-8AED-6FA5C3362A3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA5E029F-1826-4C1E-8AED-6FA5C3362A3A}.Release|Any CPU.Build.0 = Release|Any CPU
{97EE641B-69AB-40A6-B20B-4A7FD3B2681E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{97EE641B-69AB-40A6-B20B-4A7FD3B2681E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{97EE641B-69AB-40A6-B20B-4A7FD3B2681E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{97EE641B-69AB-40A6-B20B-4A7FD3B2681E}.Release|Any CPU.Build.0 = Release|Any CPU
{0EE57014-A75A-4E54-97B6-785C2F874EA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0EE57014-A75A-4E54-97B6-785C2F874EA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0EE57014-A75A-4E54-97B6-785C2F874EA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0EE57014-A75A-4E54-97B6-785C2F874EA4}.Release|Any CPU.Build.0 = Release|Any CPU
{4F5841EB-A0C9-4E89-AA02-376F2190F68D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4F5841EB-A0C9-4E89-AA02-376F2190F68D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4F5841EB-A0C9-4E89-AA02-376F2190F68D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4F5841EB-A0C9-4E89-AA02-376F2190F68D}.Release|Any CPU.Build.0 = Release|Any CPU
{C4E1B96F-7905-48ED-AD72-98F5983E65A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4E1B96F-7905-48ED-AD72-98F5983E65A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4E1B96F-7905-48ED-AD72-98F5983E65A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4E1B96F-7905-48ED-AD72-98F5983E65A5}.Release|Any CPU.Build.0 = Release|Any CPU
{95385FBA-53E4-4144-B6FE-B5561081B9F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{95385FBA-53E4-4144-B6FE-B5561081B9F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{95385FBA-53E4-4144-B6FE-B5561081B9F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{95385FBA-53E4-4144-B6FE-B5561081B9F9}.Release|Any CPU.Build.0 = Release|Any CPU
{4D808FF7-C204-40F1-881D-21B27D8D290E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D808FF7-C204-40F1-881D-21B27D8D290E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4D808FF7-C204-40F1-881D-21B27D8D290E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4D808FF7-C204-40F1-881D-21B27D8D290E}.Release|Any CPU.Build.0 = Release|Any CPU
{354E0590-F6B2-43F5-A563-F543C498F3EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{354E0590-F6B2-43F5-A563-F543C498F3EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{354E0590-F6B2-43F5-A563-F543C498F3EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{354E0590-F6B2-43F5-A563-F543C498F3EA}.Release|Any CPU.Build.0 = Release|Any CPU
{47F2E236-E6BE-4F52-8389-5CF03BDC9B78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{47F2E236-E6BE-4F52-8389-5CF03BDC9B78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47F2E236-E6BE-4F52-8389-5CF03BDC9B78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47F2E236-E6BE-4F52-8389-5CF03BDC9B78}.Release|Any CPU.Build.0 = Release|Any CPU
{1368FE7F-E1A7-4FD5-AF05-CFA59C0E0E69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1368FE7F-E1A7-4FD5-AF05-CFA59C0E0E69}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1368FE7F-E1A7-4FD5-AF05-CFA59C0E0E69}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1368FE7F-E1A7-4FD5-AF05-CFA59C0E0E69}.Release|Any CPU.Build.0 = Release|Any CPU
{9ECCC0EC-CC5A-4E49-96BE-3F2B15CCD94D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9ECCC0EC-CC5A-4E49-96BE-3F2B15CCD94D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9ECCC0EC-CC5A-4E49-96BE-3F2B15CCD94D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9ECCC0EC-CC5A-4E49-96BE-3F2B15CCD94D}.Release|Any CPU.Build.0 = Release|Any CPU
{2BACB63E-2830-4371-AEBB-E8089E3EB316}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2BACB63E-2830-4371-AEBB-E8089E3EB316}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2BACB63E-2830-4371-AEBB-E8089E3EB316}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2BACB63E-2830-4371-AEBB-E8089E3EB316}.Release|Any CPU.Build.0 = Release|Any CPU
{19A28EF9-A5AE-4EC5-851C-D2547E5FE29C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19A28EF9-A5AE-4EC5-851C-D2547E5FE29C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19A28EF9-A5AE-4EC5-851C-D2547E5FE29C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{19A28EF9-A5AE-4EC5-851C-D2547E5FE29C}.Release|Any CPU.Build.0 = Release|Any CPU
{26765303-B9D8-457B-915C-ED869CEEB210}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26765303-B9D8-457B-915C-ED869CEEB210}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26765303-B9D8-457B-915C-ED869CEEB210}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26765303-B9D8-457B-915C-ED869CEEB210}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -488,6 +574,23 @@ Global
{7971DF5A-B001-4751-8F40-D7752C612BF1} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
{7FF93622-971D-4B30-A5FC-72D729D26E29} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
{FA5E029F-1826-4C1E-8AED-6FA5C3362A3A} = {7FF93622-971D-4B30-A5FC-72D729D26E29}
{C2FE6BA0-3DE5-403F-A91F-BCB9ADA5B068} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
{4E6D558B-CA6D-4133-8701-FDC6F245DA37} = {C2FE6BA0-3DE5-403F-A91F-BCB9ADA5B068}
{AF419621-2F14-45CE-AF1B-B688E1B21BCB} = {C2FE6BA0-3DE5-403F-A91F-BCB9ADA5B068}
{6464122A-1DC2-45E8-B599-4B5C32FBC85B} = {C2FE6BA0-3DE5-403F-A91F-BCB9ADA5B068}
{97EE641B-69AB-40A6-B20B-4A7FD3B2681E} = {AF419621-2F14-45CE-AF1B-B688E1B21BCB}
{0EE57014-A75A-4E54-97B6-785C2F874EA4} = {AF419621-2F14-45CE-AF1B-B688E1B21BCB}
{4F5841EB-A0C9-4E89-AA02-376F2190F68D} = {AF419621-2F14-45CE-AF1B-B688E1B21BCB}
{C4E1B96F-7905-48ED-AD72-98F5983E65A5} = {AF419621-2F14-45CE-AF1B-B688E1B21BCB}
{95385FBA-53E4-4144-B6FE-B5561081B9F9} = {AF419621-2F14-45CE-AF1B-B688E1B21BCB}
{4D808FF7-C204-40F1-881D-21B27D8D290E} = {AF419621-2F14-45CE-AF1B-B688E1B21BCB}
{354E0590-F6B2-43F5-A563-F543C498F3EA} = {AF419621-2F14-45CE-AF1B-B688E1B21BCB}
{47F2E236-E6BE-4F52-8389-5CF03BDC9B78} = {6464122A-1DC2-45E8-B599-4B5C32FBC85B}
{1368FE7F-E1A7-4FD5-AF05-CFA59C0E0E69} = {6464122A-1DC2-45E8-B599-4B5C32FBC85B}
{9ECCC0EC-CC5A-4E49-96BE-3F2B15CCD94D} = {6464122A-1DC2-45E8-B599-4B5C32FBC85B}
{2BACB63E-2830-4371-AEBB-E8089E3EB316} = {6464122A-1DC2-45E8-B599-4B5C32FBC85B}
{19A28EF9-A5AE-4EC5-851C-D2547E5FE29C} = {6464122A-1DC2-45E8-B599-4B5C32FBC85B}
{26765303-B9D8-457B-915C-ED869CEEB210} = {4E6D558B-CA6D-4133-8701-FDC6F245DA37}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}

118
aspnet-core/modules/BasicManagement/Lion.AbpPro.BasicManagement.sln

@ -0,0 +1,118 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29001.49
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.Domain.Shared", "src\Lion.AbpPro.BasicManagement.Domain.Shared\Lion.AbpPro.BasicManagement.Domain.Shared.csproj", "{D64C1577-4929-4B60-939E-96DE1534891A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.Domain", "src\Lion.AbpPro.BasicManagement.Domain\Lion.AbpPro.BasicManagement.Domain.csproj", "{F2840BC7-0188-4606-9126-DADD0F5ABF7A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.Application.Contracts", "src\Lion.AbpPro.BasicManagement.Application.Contracts\Lion.AbpPro.BasicManagement.Application.Contracts.csproj", "{BD65D04F-08D5-40C1-8C24-77CA0BACB877}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.Application", "src\Lion.AbpPro.BasicManagement.Application\Lion.AbpPro.BasicManagement.Application.csproj", "{78040F9E-3501-4A40-82DF-00A597710F35}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{649A3FFA-182F-4E56-9717-E6A9A2BEC545}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{E400416D-2895-4512-9D17-90681EEC7E0A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.EntityFrameworkCore", "src\Lion.AbpPro.BasicManagement.EntityFrameworkCore\Lion.AbpPro.BasicManagement.EntityFrameworkCore.csproj", "{0CE86223-D31D-4315-A1F5-87BA3EE1B844}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.HttpApi", "src\Lion.AbpPro.BasicManagement.HttpApi\Lion.AbpPro.BasicManagement.HttpApi.csproj", "{077AA5F8-8B61-420C-A6B5-0150A66FDB34}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.HttpApi.Client", "src\Lion.AbpPro.BasicManagement.HttpApi.Client\Lion.AbpPro.BasicManagement.HttpApi.Client.csproj", "{36E2735F-CEAB-44C8-A6D1-2CDAFF399751}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.TestBase", "test\Lion.AbpPro.BasicManagement.TestBase\Lion.AbpPro.BasicManagement.TestBase.csproj", "{C5BB573D-3030-4BCB-88B7-F6A85C32766C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.EntityFrameworkCore.Tests", "test\Lion.AbpPro.BasicManagement.EntityFrameworkCore.Tests\Lion.AbpPro.BasicManagement.EntityFrameworkCore.Tests.csproj", "{527F645C-C1FC-406E-8479-81386C8ECF13}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.Domain.Tests", "test\Lion.AbpPro.BasicManagement.Domain.Tests\Lion.AbpPro.BasicManagement.Domain.Tests.csproj", "{E60895E5-79C4-447D-88B7-85CB5BA336A4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.Application.Tests", "test\Lion.AbpPro.BasicManagement.Application.Tests\Lion.AbpPro.BasicManagement.Application.Tests.csproj", "{90CB5DC4-C040-45C7-8900-9688B26405BC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.HttpApi.Host", "host\Lion.AbpPro.BasicManagement.HttpApi.Host\Lion.AbpPro.BasicManagement.HttpApi.Host.csproj", "{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.BasicManagement.HttpApi.Client.ConsoleTestApp", "test\Lion.AbpPro.BasicManagement.HttpApi.Client.ConsoleTestApp\Lion.AbpPro.BasicManagement.HttpApi.Client.ConsoleTestApp.csproj", "{1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.Build.0 = Release|Any CPU
{F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.Build.0 = Release|Any CPU
{BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.Build.0 = Release|Any CPU
{78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.Build.0 = Debug|Any CPU
{78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.ActiveCfg = Release|Any CPU
{78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.Build.0 = Release|Any CPU
{0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.Build.0 = Release|Any CPU
{077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.Build.0 = Release|Any CPU
{36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Debug|Any CPU.Build.0 = Debug|Any CPU
{36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Release|Any CPU.Build.0 = Release|Any CPU
{C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.Build.0 = Release|Any CPU
{527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.Build.0 = Debug|Any CPU
{527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.ActiveCfg = Release|Any CPU
{527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.Build.0 = Release|Any CPU
{E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.Build.0 = Release|Any CPU
{90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.Build.0 = Release|Any CPU
{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.Build.0 = Release|Any CPU
{1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{D64C1577-4929-4B60-939E-96DE1534891A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
{F2840BC7-0188-4606-9126-DADD0F5ABF7A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
{BD65D04F-08D5-40C1-8C24-77CA0BACB877} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
{78040F9E-3501-4A40-82DF-00A597710F35} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
{0CE86223-D31D-4315-A1F5-87BA3EE1B844} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
{077AA5F8-8B61-420C-A6B5-0150A66FDB34} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
{36E2735F-CEAB-44C8-A6D1-2CDAFF399751} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
{C5BB573D-3030-4BCB-88B7-F6A85C32766C} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
{527F645C-C1FC-406E-8479-81386C8ECF13} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
{E60895E5-79C4-447D-88B7-85CB5BA336A4} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
{90CB5DC4-C040-45C7-8900-9688B26405BC} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
{37B135B0-DAFE-4616-B25C-1BDF32FC44A2} = {E400416D-2895-4512-9D17-90681EEC7E0A}
{1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4324B3B4-B60B-4E3C-91D8-59576B4E26DD}
EndGlobalSection
EndGlobal

240
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/BasicManagementHttpApiHostModule.cs

@ -0,0 +1,240 @@
using System.Text;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.DataProtection;
using Lion.AbpPro.BasicManagement.EntityFrameworkCore;
using Lion.AbpPro.Shared.Hosting.Microservices;
using Lion.AbpPro.Shared.Hosting.Microservices.Swaggers;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using StackExchange.Redis;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerUI;
using Volo.Abp;
using Volo.Abp.AspNetCore.ExceptionHandling;
using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy;
using Volo.Abp.AspNetCore.Serilog;
using Volo.Abp.Autofac;
using Volo.Abp.Caching;
using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.MySQL;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Swashbuckle;
using Volo.Abp.VirtualFileSystem;
namespace Lion.AbpPro.BasicManagement;
[DependsOn(
typeof(BasicManagementApplicationModule),
typeof(BasicManagementEntityFrameworkCoreModule),
typeof(BasicManagementHttpApiModule),
typeof(AbpAspNetCoreMvcUiMultiTenancyModule),
typeof(AbpAutofacModule),
typeof(AbpCachingStackExchangeRedisModule),
typeof(AbpEntityFrameworkCoreMySQLModule),
typeof(AbpAspNetCoreSerilogModule),
typeof(AbpSwashbuckleModule),
typeof(SharedHostingMicroserviceModule)
)]
public class BasicManagementHttpApiHostModule : AbpModule
{
private const string DefaultCorsPolicyName = "Default";
public override void ConfigureServices(ServiceConfigurationContext context)
{
ConfigureCache(context);
ConfigureSwaggerServices(context);
ConfigureJwtAuthentication(context);
Configure<AbpDbContextOptions>(options => { options.UseMySQL(); });
Configure<AbpExceptionHandlingOptions>(options =>
{
options.SendExceptionsDetailsToClients = false;
});
ConfigureVirtualFileSystem(context);
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
app.UseCorrelationId();
app.UseStaticFiles();
app.UseRouting();
app.UseCors();
app.UseAuthentication();
app.UseMultiTenancy();
app.UseAbpRequestLocalization();
app.UseAuthorization();
app.UseSwagger();
app.UseAbpSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/BasicManagement/swagger.json", "BasicManagement API");
options.DocExpansion(DocExpansion.None);
options.DefaultModelsExpandDepth(-1);
});
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
}
/// <summary>
/// 配置虚拟文件系统
/// </summary>
/// <param name="context"></param>
private void ConfigureVirtualFileSystem(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<BasicManagementHttpApiHostModule>();
});
}
/// <summary>
/// Redis缓存
/// </summary>
private void ConfigureCache(ServiceConfigurationContext context)
{
Configure<AbpDistributedCacheOptions>(
options => { options.KeyPrefix = "AbpPro:"; });
var configuration = context.Services.GetConfiguration();
var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
context.Services
.AddDataProtection()
.PersistKeysToStackExchangeRedis(redis, "AbpPro-Protection-Keys");
}
private static void ConfigureSwaggerServices(ServiceConfigurationContext context)
{
context.Services.AddSwaggerGen(
options =>
{
// 文件下载类型
options.MapType<FileContentResult>(() => new OpenApiSchema() { Type = "file" });
options.SwaggerDoc("BasicManagement",
new OpenApiInfo { Title = "BasicManagement API", Version = "v1" });
options.DocInclusionPredicate((docName, description) => true);
options.EnableAnnotations(); // 启用注解
options.DocumentFilter<HiddenAbpDefaultApiFilter>();
options.SchemaFilter<EnumSchemaFilter>();
// 加载所有xml注释,这里会导致swagger加载有点缓慢
var xmlPaths = Directory.GetFiles(AppContext.BaseDirectory, "*.xml");
foreach (var xml in xmlPaths)
{
options.IncludeXmlComments(xml, true);
}
options.AddSecurityDefinition(JwtBearerDefaults.AuthenticationScheme,
new OpenApiSecurityScheme()
{
Description = "直接在下框输入JWT生成的Token",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.Http,
Scheme = JwtBearerDefaults.AuthenticationScheme,
BearerFormat = "JWT"
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme, Id = "Bearer"
}
},
new List<string>()
}
});
options.AddSecurityDefinition("ApiKey", new OpenApiSecurityScheme()
{
Type = SecuritySchemeType.ApiKey,
In = ParameterLocation.Header,
Name = "Accept-Language",
Description = "多语言设置,系统预设语言有zh-Hans、en,默认为zh-Hans",
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{ Type = ReferenceType.SecurityScheme, Id = "ApiKey" }
},
Array.Empty<string>()
}
});
});
}
/// <summary>
/// 配置JWT
/// </summary>
private void ConfigureJwtAuthentication(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
context.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.TokenValidationParameters =
new TokenValidationParameters()
{
// 是否开启签名认证
ValidateIssuerSigningKey = true,
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
//ClockSkew = TimeSpan.Zero,
ValidIssuer = configuration["Jwt:Issuer"],
ValidAudience = configuration["Jwt:Audience"],
IssuerSigningKey =
new SymmetricSecurityKey(
Encoding.ASCII.GetBytes(configuration["Jwt:SecurityKey"]))
};
options.Events = new JwtBearerEvents
{
OnMessageReceived = currentContext =>
{
var path = currentContext.HttpContext.Request.Path;
if (path.StartsWithSegments("/login"))
{
return Task.CompletedTask;
}
var accessToken = string.Empty;
if (currentContext.HttpContext.Request.Headers.ContainsKey("Authorization"))
{
accessToken = currentContext.HttpContext.Request.Headers["Authorization"];
if (!string.IsNullOrWhiteSpace(accessToken))
{
accessToken = accessToken.Split(" ").LastOrDefault();
}
}
if (accessToken.IsNullOrWhiteSpace())
{
accessToken = currentContext.Request.Query["access_token"].FirstOrDefault();
}
if (accessToken.IsNullOrWhiteSpace())
{
accessToken = currentContext.Request.Cookies[DefaultCorsPolicyName];
}
currentContext.Token = accessToken;
currentContext.Request.Headers.Remove("Authorization");
currentContext.Request.Headers.Add("Authorization", $"Bearer {accessToken}");
return Task.CompletedTask;
}
};
});
}
}

12
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Controllers/HomeController.cs

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

18
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Dockerfile

@ -0,0 +1,18 @@
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
WORKDIR /src
COPY . .
WORKDIR /src/templates/service/host/Lion.AbpPro.BasicManagement.HttpApi.Host
RUN dotnet restore -nowarn:msb3202,nu1503
RUN dotnet build --no-restore -c Release -o /app
FROM build AS publish
RUN dotnet publish --no-restore -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Lion.AbpPro.BasicManagement.HttpApi.Host.dll"]

20
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/EntityFrameworkCore/BasicManagementHttpApiHostMigrationsDbContext.cs

@ -0,0 +1,20 @@
using Microsoft.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
namespace Lion.AbpPro.BasicManagement.EntityFrameworkCore;
public class BasicManagementHttpApiHostMigrationsDbContext : AbpDbContext<BasicManagementHttpApiHostMigrationsDbContext>
{
public BasicManagementHttpApiHostMigrationsDbContext(DbContextOptions<BasicManagementHttpApiHostMigrationsDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ConfigureBasicManagement();
}
}

28
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/EntityFrameworkCore/BasicManagementHttpApiHostMigrationsDbContextFactory.cs

@ -0,0 +1,28 @@
using System.IO;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
namespace Lion.AbpPro.BasicManagement.EntityFrameworkCore;
public class BasicManagementHttpApiHostMigrationsDbContextFactory : IDesignTimeDbContextFactory<BasicManagementHttpApiHostMigrationsDbContext>
{
public BasicManagementHttpApiHostMigrationsDbContext CreateDbContext(string[] args)
{
var configuration = BuildConfiguration();
var builder = new DbContextOptionsBuilder<BasicManagementHttpApiHostMigrationsDbContext>()
.UseMySql(configuration.GetConnectionString("Default"), MySqlServerVersion.LatestSupportedServerVersion);
return new BasicManagementHttpApiHostMigrationsDbContext(builder.Options);
}
private static IConfigurationRoot BuildConfiguration()
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false);
return builder.Build();
}
}

3
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/FodyWeavers.xml

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<ConfigureAwait ContinueOnCapturedContext="false" />
</Weavers>

30
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/FodyWeavers.xsd

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
<xs:element name="Weavers">
<xs:complexType>
<xs:all>
<xs:element name="ConfigureAwait" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="ContinueOnCapturedContext" type="xs:boolean" />
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="VerifyAssembly" type="xs:boolean">
<xs:annotation>
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
<xs:annotation>
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="GenerateXsd" type="xs:boolean">
<xs:annotation>
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

43
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Lion.AbpPro.BasicManagement.HttpApi.Host.csproj

@ -0,0 +1,43 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Lion.AbpPro.BasicManagement</RootNamespace>
<PreserveCompilationReferences>true</PreserveCompilationReferences>
<UserSecretsId>Lion.AbpPro.BasicManagement-c2d31439-b723-48e2-b061-5ebd7aeb6010</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Serilog.AspNetCore" />
<PackageReference Include="Serilog.Sinks.Async" />
<PackageReference Include="IdentityModel" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" />
<PackageReference Include="Volo.Abp.Autofac" />
<PackageReference Include="Volo.Abp.Caching.StackExchangeRedis" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.MySQL" />
<PackageReference Include="Volo.Abp.AspNetCore.Serilog" />
<PackageReference Include="Volo.Abp.Swashbuckle" />
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" />
<PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore" />
<PackageReference Include="Volo.Abp.AuditLogging.EntityFrameworkCore" />
<PackageReference Include="Volo.Abp.TenantManagement.EntityFrameworkCore" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\shared\Lion.AbpPro.Shared.Hosting.Microservices\Lion.AbpPro.Shared.Hosting.Microservices.csproj" />
<ProjectReference Include="..\..\src\Lion.AbpPro.BasicManagement.HttpApi\Lion.AbpPro.BasicManagement.HttpApi.csproj" />
<ProjectReference Include="..\..\src\Lion.AbpPro.BasicManagement.Application\Lion.AbpPro.BasicManagement.Application.csproj" />
<ProjectReference Include="..\..\src\Lion.AbpPro.BasicManagement.EntityFrameworkCore\Lion.AbpPro.BasicManagement.EntityFrameworkCore.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Remove="Logs\**" />
<Content Remove="Logs\**" />
<EmbeddedResource Remove="Logs\**" />
<None Remove="Logs\**" />
</ItemGroup>
</Project>

2685
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Logs/logs-20220823.txt

File diff suppressed because it is too large

194
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Logs/logs-20220824.txt

@ -0,0 +1,194 @@
2022-08-24 13:26:53.260 +08:00 [INF] Loaded ABP modules:
2022-08-24 13:26:53.307 +08:00 [INF] - Lion.AbpPro.BasicManagement.BasicManagementHttpApiHostModule
2022-08-24 13:26:53.308 +08:00 [INF] - Lion.AbpPro.BasicManagement.BasicManagementApplicationModule
2022-08-24 13:26:53.309 +08:00 [INF] - Lion.AbpPro.BasicManagement.BasicManagementDomainModule
2022-08-24 13:26:53.309 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
2022-08-24 13:26:53.310 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
2022-08-24 13:26:53.311 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
2022-08-24 13:26:53.311 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
2022-08-24 13:26:53.312 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
2022-08-24 13:26:53.328 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
2022-08-24 13:26:53.330 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
2022-08-24 13:26:53.332 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
2022-08-24 13:26:53.333 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
2022-08-24 13:26:53.333 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
2022-08-24 13:26:53.334 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
2022-08-24 13:26:53.335 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
2022-08-24 13:26:53.336 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
2022-08-24 13:26:53.336 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
2022-08-24 13:26:53.337 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
2022-08-24 13:26:53.338 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
2022-08-24 13:26:53.338 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
2022-08-24 13:26:53.339 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
2022-08-24 13:26:53.340 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
2022-08-24 13:26:53.340 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
2022-08-24 13:26:53.341 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
2022-08-24 13:26:53.342 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
2022-08-24 13:26:53.343 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
2022-08-24 13:26:53.344 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
2022-08-24 13:26:53.345 +08:00 [INF] - Lion.AbpPro.BasicManagement.BasicManagementDomainSharedModule
2022-08-24 13:26:53.346 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
2022-08-24 13:26:53.348 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainSharedModule
2022-08-24 13:26:53.357 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
2022-08-24 13:26:53.359 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
2022-08-24 13:26:53.365 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainSharedModule
2022-08-24 13:26:53.377 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainSharedModule
2022-08-24 13:26:53.383 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
2022-08-24 13:26:53.385 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
2022-08-24 13:26:53.392 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
2022-08-24 13:26:53.405 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
2022-08-24 13:26:53.430 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainSharedModule
2022-08-24 13:26:53.449 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
2022-08-24 13:26:53.460 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsDomainModule
2022-08-24 13:26:53.466 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsModule
2022-08-24 13:26:53.468 +08:00 [INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
2022-08-24 13:26:53.470 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
2022-08-24 13:26:53.474 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
2022-08-24 13:26:53.478 +08:00 [INF] - Volo.Abp.Caching.AbpCachingModule
2022-08-24 13:26:53.479 +08:00 [INF] - Volo.Abp.Serialization.AbpSerializationModule
2022-08-24 13:26:53.480 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityDomainModule
2022-08-24 13:26:53.481 +08:00 [INF] - Volo.Abp.Users.AbpUsersDomainModule
2022-08-24 13:26:53.482 +08:00 [INF] - Volo.Abp.Users.AbpUsersAbstractionModule
2022-08-24 13:26:53.483 +08:00 [INF] - Volo.Abp.PermissionManagement.Identity.AbpPermissionManagementDomainIdentityModule
2022-08-24 13:26:53.484 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
2022-08-24 13:26:53.485 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
2022-08-24 13:26:53.487 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
2022-08-24 13:26:53.489 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementDomainModule
2022-08-24 13:26:53.498 +08:00 [INF] - Lion.AbpPro.BasicManagement.BasicManagementApplicationContractsModule
2022-08-24 13:26:53.499 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
2022-08-24 13:26:53.500 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationContractsModule
2022-08-24 13:26:53.501 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationContractsModule
2022-08-24 13:26:53.503 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationContractsModule
2022-08-24 13:26:53.504 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationContractsModule
2022-08-24 13:26:53.505 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationContractsModule
2022-08-24 13:26:53.510 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationContractsModule
2022-08-24 13:26:53.511 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
2022-08-24 13:26:53.512 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
2022-08-24 13:26:53.514 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
2022-08-24 13:26:53.516 +08:00 [INF] - Volo.Abp.Identity.AspNetCore.AbpIdentityAspNetCoreModule
2022-08-24 13:26:53.517 +08:00 [INF] - Volo.Abp.Account.AbpAccountApplicationModule
2022-08-24 13:26:53.518 +08:00 [INF] - Volo.Abp.Identity.AbpIdentityApplicationModule
2022-08-24 13:26:53.529 +08:00 [INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementApplicationModule
2022-08-24 13:26:53.531 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
2022-08-24 13:26:53.532 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
2022-08-24 13:26:53.533 +08:00 [INF] - Volo.Abp.Emailing.AbpEmailingModule
2022-08-24 13:26:53.534 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingModule
2022-08-24 13:26:53.535 +08:00 [INF] - Volo.Abp.TextTemplating.Scriban.AbpTextTemplatingScribanModule
2022-08-24 13:26:53.536 +08:00 [INF] - Volo.Abp.TextTemplating.AbpTextTemplatingCoreModule
2022-08-24 13:26:53.537 +08:00 [INF] - Volo.Abp.TenantManagement.AbpTenantManagementApplicationModule
2022-08-24 13:26:53.542 +08:00 [INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementApplicationModule
2022-08-24 13:26:53.543 +08:00 [INF] - Volo.Abp.SettingManagement.AbpSettingManagementApplicationModule
2022-08-24 13:26:53.544 +08:00 [INF] - Lion.AbpPro.BasicManagement.EntityFrameworkCore.BasicManagementEntityFrameworkCoreModule
2022-08-24 13:26:53.545 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
2022-08-24 13:26:53.547 +08:00 [INF] - Volo.Abp.Identity.EntityFrameworkCore.AbpIdentityEntityFrameworkCoreModule
2022-08-24 13:26:53.548 +08:00 [INF] - Volo.Abp.Users.EntityFrameworkCore.AbpUsersEntityFrameworkCoreModule
2022-08-24 13:26:53.549 +08:00 [INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
2022-08-24 13:26:53.549 +08:00 [INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
2022-08-24 13:26:53.550 +08:00 [INF] - Volo.Abp.BackgroundJobs.EntityFrameworkCore.AbpBackgroundJobsEntityFrameworkCoreModule
2022-08-24 13:26:53.551 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
2022-08-24 13:26:53.552 +08:00 [INF] - Volo.Abp.TenantManagement.EntityFrameworkCore.AbpTenantManagementEntityFrameworkCoreModule
2022-08-24 13:26:53.559 +08:00 [INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
2022-08-24 13:26:53.561 +08:00 [INF] - Lion.AbpPro.BasicManagement.BasicManagementHttpApiModule
2022-08-24 13:26:53.563 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
2022-08-24 13:26:53.564 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
2022-08-24 13:26:53.565 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
2022-08-24 13:26:53.566 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
2022-08-24 13:26:53.566 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
2022-08-24 13:26:53.567 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
2022-08-24 13:26:53.568 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
2022-08-24 13:26:53.572 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
2022-08-24 13:26:53.572 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
2022-08-24 13:26:53.573 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
2022-08-24 13:26:53.574 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
2022-08-24 13:26:53.575 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
2022-08-24 13:26:53.576 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
2022-08-24 13:26:53.577 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
2022-08-24 13:26:53.578 +08:00 [INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
2022-08-24 13:26:53.579 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
2022-08-24 13:26:53.580 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
2022-08-24 13:26:53.581 +08:00 [INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
2022-08-24 13:26:53.582 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.MySQL.AbpEntityFrameworkCoreMySQLModule
2022-08-24 13:26:53.586 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
2022-08-24 13:26:53.586 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
2022-08-24 13:26:55.071 +08:00 [INF] Initialized all ABP modules.
2022-08-24 13:26:55.132 +08:00 [INF] Now listening on: http://localhost:44324
2022-08-24 13:26:55.135 +08:00 [INF] Application started. Press Ctrl+C to shut down.
2022-08-24 13:26:55.137 +08:00 [INF] Hosting environment: Development
2022-08-24 13:26:55.138 +08:00 [INF] Content root path: D:\github\WangJunZzz\abp-vnext-pro\aspnet-core\modules\BasicManagement\host\Lion.AbpPro.BasicManagement.HttpApi.Host
2022-08-24 13:26:55.302 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44324/ - -
2022-08-24 13:26:59.596 +08:00 [INF] Executing endpoint 'Lion.AbpPro.BasicManagement.Controllers.HomeController.Index (Lion.AbpPro.BasicManagement.HttpApi.Host)'
2022-08-24 13:26:59.625 +08:00 [INF] Route matched with {action = "Index", controller = "Home", area = "", page = ""}. Executing controller action with signature Microsoft.AspNetCore.Mvc.ActionResult Index() on controller Lion.AbpPro.BasicManagement.Controllers.HomeController (Lion.AbpPro.BasicManagement.HttpApi.Host).
2022-08-24 13:26:59.664 +08:00 [INF] Executing RedirectResult, redirecting to /swagger.
2022-08-24 13:26:59.672 +08:00 [INF] Executed action Lion.AbpPro.BasicManagement.Controllers.HomeController.Index (Lion.AbpPro.BasicManagement.HttpApi.Host) in 40.2794ms
2022-08-24 13:26:59.684 +08:00 [INF] Executed endpoint 'Lion.AbpPro.BasicManagement.Controllers.HomeController.Index (Lion.AbpPro.BasicManagement.HttpApi.Host)'
2022-08-24 13:26:59.721 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44324/ - - - 302 0 - 4419.2778ms
2022-08-24 13:26:59.733 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44324/swagger - -
2022-08-24 13:26:59.739 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44324/swagger - - - 301 0 - 6.0422ms
2022-08-24 13:26:59.746 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44324/swagger/index.html - -
2022-08-24 13:26:59.798 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44324/swagger/index.html - - - 200 - text/html;charset=utf-8 52.2946ms
2022-08-24 13:27:00.125 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44324/swagger/BasicManagement/swagger.json - -
2022-08-24 13:27:00.451 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44324/swagger/BasicManagement/swagger.json - - - 200 - application/json;charset=utf-8 326.7641ms
2022-08-24 13:27:10.772 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:44324/abp/Swashbuckle/SetCsrfCookie application/json -
2022-08-24 13:27:10.775 +08:00 [INF] Executing endpoint 'Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle)'
2022-08-24 13:27:10.779 +08:00 [INF] Route matched with {area = "Abp", action = "SetCsrfCookie", controller = "AbpSwashbuckle", page = ""}. Executing controller action with signature Void SetCsrfCookie() on controller Volo.Abp.Swashbuckle.AbpSwashbuckleController (Volo.Abp.Swashbuckle).
2022-08-24 13:27:10.792 +08:00 [WRN] The cookie 'XSRF-TOKEN' has set 'SameSite=None' and must also set 'Secure'.
2022-08-24 13:27:10.794 +08:00 [INF] Executed action Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle) in 13.0704ms
2022-08-24 13:27:10.795 +08:00 [INF] Executed endpoint 'Volo.Abp.Swashbuckle.AbpSwashbuckleController.SetCsrfCookie (Volo.Abp.Swashbuckle)'
2022-08-24 13:27:10.796 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:44324/abp/Swashbuckle/SetCsrfCookie application/json - - 204 - - 24.2157ms
2022-08-24 13:27:10.835 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:44324/api/app/account/login application/json 46
2022-08-24 13:27:10.838 +08:00 [INF] No CORS policy found for the specified request.
2022-08-24 13:27:10.840 +08:00 [INF] Executing endpoint 'Lion.AbpPro.BasicManagement.Systems.AccountController.LoginAsync (Lion.AbpPro.BasicManagement.HttpApi)'
2022-08-24 13:27:10.852 +08:00 [INF] Route matched with {action = "Login", controller = "Account", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Lion.AbpPro.BasicManagement.Users.Dtos.LoginOutput] LoginAsync(Lion.AbpPro.BasicManagement.Users.Dtos.LoginInput) on controller Lion.AbpPro.BasicManagement.Systems.AccountController (Lion.AbpPro.BasicManagement.HttpApi).
2022-08-24 13:27:10.869 +08:00 [ERR] The antiforgery token could not be decrypted.
2022-08-24 13:27:10.871 +08:00 [INF] Authorization failed for the request at filter 'Volo.Abp.AspNetCore.Mvc.AntiForgery.AbpAutoValidateAntiforgeryTokenAuthorizationFilter'.
2022-08-24 13:27:10.875 +08:00 [INF] Executing StatusCodeResult, setting HTTP status code 400
2022-08-24 13:27:10.876 +08:00 [INF] Executed action Lion.AbpPro.BasicManagement.Systems.AccountController.LoginAsync (Lion.AbpPro.BasicManagement.HttpApi) in 23.3032ms
2022-08-24 13:27:10.877 +08:00 [INF] Executed endpoint 'Lion.AbpPro.BasicManagement.Systems.AccountController.LoginAsync (Lion.AbpPro.BasicManagement.HttpApi)'
2022-08-24 13:27:11.232 +08:00 [INF] Request finished HTTP/1.1 POST http://localhost:44324/api/app/account/login application/json 46 - 400 0 - 397.1138ms
2022-08-24 13:27:21.937 +08:00 [INF] Request starting HTTP/1.1 POST http://localhost:44324/api/app/account/login application/json 46
2022-08-24 13:27:21.939 +08:00 [INF] No CORS policy found for the specified request.
2022-08-24 13:27:21.941 +08:00 [INF] Executing endpoint 'Lion.AbpPro.BasicManagement.Systems.AccountController.LoginAsync (Lion.AbpPro.BasicManagement.HttpApi)'
2022-08-24 13:27:21.942 +08:00 [INF] Route matched with {action = "Login", controller = "Account", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Lion.AbpPro.BasicManagement.Users.Dtos.LoginOutput] LoginAsync(Lion.AbpPro.BasicManagement.Users.Dtos.LoginInput) on controller Lion.AbpPro.BasicManagement.Systems.AccountController (Lion.AbpPro.BasicManagement.HttpApi).
2022-08-24 13:27:23.234 +08:00 [WRN] ---------- RemoteServiceErrorInfo ----------
{
"code": "Lion.AbpPro.BasicManagement:100003",
"message": "用户名或者密码错误",
"details": null,
"data": {},
"validationErrors": null
}
2022-08-24 13:27:23.238 +08:00 [WRN] Exception of type 'Volo.Abp.BusinessException' was thrown.
Volo.Abp.BusinessException: Exception of type 'Volo.Abp.BusinessException' was thrown.
at Lion.AbpPro.BasicManagement.Users.AccountAppService.LoginAsync(LoginInput input) in D:\github\WangJunZzz\abp-vnext-pro\aspnet-core\modules\BasicManagement\src\Lion.AbpPro.BasicManagement.Application\Users\AccountAppService.cs:line 39
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)
at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at lambda_method1387(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2022-08-24 13:27:23.297 +08:00 [WRN] Code:Lion.AbpPro.BasicManagement:100003
2022-08-24 13:27:23.298 +08:00 [WRN] Details:
2022-08-24 13:27:23.313 +08:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.
2022-08-24 13:27:23.322 +08:00 [INF] Executed action Lion.AbpPro.BasicManagement.Systems.AccountController.LoginAsync (Lion.AbpPro.BasicManagement.HttpApi) in 1378.6532ms
2022-08-24 13:27:23.327 +08:00 [INF] Executed endpoint 'Lion.AbpPro.BasicManagement.Systems.AccountController.LoginAsync (Lion.AbpPro.BasicManagement.HttpApi)'
2022-08-24 13:27:23.401 +08:00 [INF] Request finished HTTP/1.1 POST http://localhost:44324/api/app/account/login application/json 46 - 403 - application/json;+charset=utf-8 1463.5504ms

16
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Logs/logs.txt

@ -0,0 +1,16 @@
2022-08-23 22:11:33.863 +08:00 [INF] Starting web host.
2022-08-23 22:11:39.197 +08:00 [FTL] Host terminated unexpectedly!
Microsoft.Extensions.Hosting.HostFactoryResolver+HostingListener+StopTheHostException: Exception of type 'Microsoft.Extensions.Hosting.HostFactoryResolver+HostingListener+StopTheHostException' was thrown.
at Microsoft.Extensions.Hosting.HostFactoryResolver.HostingListener.OnNext(KeyValuePair`2 value)
at System.Diagnostics.DiagnosticListener.Write(String name, Object value)
at Microsoft.Extensions.Hosting.HostBuilder.Build()
at Microsoft.AspNetCore.Builder.WebApplicationBuilder.Build()
at Lion.AbpPro.BasicManagement.Program.Main(String[] args) in D:\github\WangJunZzz\abp-vnext-pro\aspnet-core\modules\BasicManagement\host\Lion.AbpPro.BasicManagement.HttpApi.Host\Program.cs:line 36
2022-08-23 22:13:21.209 +08:00 [INF] Starting web host.
2022-08-23 22:13:22.124 +08:00 [FTL] Host terminated unexpectedly!
Microsoft.Extensions.Hosting.HostFactoryResolver+HostingListener+StopTheHostException: Exception of type 'Microsoft.Extensions.Hosting.HostFactoryResolver+HostingListener+StopTheHostException' was thrown.
at Microsoft.Extensions.Hosting.HostFactoryResolver.HostingListener.OnNext(KeyValuePair`2 value)
at System.Diagnostics.DiagnosticListener.Write(String name, Object value)
at Microsoft.Extensions.Hosting.HostBuilder.Build()
at Microsoft.AspNetCore.Builder.WebApplicationBuilder.Build()
at Lion.AbpPro.BasicManagement.Program.Main(String[] args) in D:\github\WangJunZzz\abp-vnext-pro\aspnet-core\modules\BasicManagement\host\Lion.AbpPro.BasicManagement.HttpApi.Host\Program.cs:line 36

1295
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Migrations/20220823141140_Init.Designer.cs

File diff suppressed because it is too large

880
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Migrations/20220823141140_Init.cs

@ -0,0 +1,880 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Lion.AbpPro.BasicManagement.Migrations
{
public partial class Init : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterDatabase()
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpAuditLogs",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ApplicationName = table.Column<string>(type: "varchar(96)", maxLength: 96, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
UserId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
UserName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
TenantName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ImpersonatorUserId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ImpersonatorUserName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ImpersonatorTenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ImpersonatorTenantName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ExecutionTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ExecutionDuration = table.Column<int>(type: "int", nullable: false),
ClientIpAddress = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ClientName = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ClientId = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
CorrelationId = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
BrowserInfo = table.Column<string>(type: "varchar(512)", maxLength: 512, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
HttpMethod = table.Column<string>(type: "varchar(16)", maxLength: 16, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Url = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Exceptions = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Comments = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
HttpStatusCode = table.Column<int>(type: "int", nullable: true),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpAuditLogs", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpBackgroundJobs",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
JobName = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
JobArgs = table.Column<string>(type: "longtext", maxLength: 1048576, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TryCount = table.Column<short>(type: "smallint", nullable: false, defaultValue: (short)0),
CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
NextTryTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
LastTryTime = table.Column<DateTime>(type: "datetime(6)", nullable: true),
IsAbandoned = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
Priority = table.Column<byte>(type: "tinyint unsigned", nullable: false, defaultValue: (byte)15),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpBackgroundJobs", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpClaimTypes",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Required = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsStatic = table.Column<bool>(type: "tinyint(1)", nullable: false),
Regex = table.Column<string>(type: "varchar(512)", maxLength: 512, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
RegexDescription = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ValueType = table.Column<int>(type: "int", nullable: false),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpClaimTypes", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpFeatureValues",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Value = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ProviderName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ProviderKey = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpFeatureValues", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpLinkUsers",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
SourceUserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
SourceTenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
TargetUserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TargetTenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpLinkUsers", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpOrganizationUnits",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ParentId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
Code = table.Column<string>(type: "varchar(95)", maxLength: 95, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
DisplayName = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true),
LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpOrganizationUnits", x => x.Id);
table.ForeignKey(
name: "FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId",
column: x => x.ParentId,
principalTable: "AbpOrganizationUnits",
principalColumn: "Id");
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpPermissionGrants",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ProviderName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ProviderKey = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpRoles",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
NormalizedName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsDefault = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsStatic = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsPublic = table.Column<bool>(type: "tinyint(1)", nullable: false),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpRoles", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpSecurityLogs",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ApplicationName = table.Column<string>(type: "varchar(96)", maxLength: 96, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Identity = table.Column<string>(type: "varchar(96)", maxLength: 96, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Action = table.Column<string>(type: "varchar(96)", maxLength: 96, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
UserId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
UserName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ClientId = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
CorrelationId = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ClientIpAddress = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
BrowserInfo = table.Column<string>(type: "varchar(512)", maxLength: 512, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpSecurityLogs", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpSettings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Value = table.Column<string>(type: "varchar(2048)", maxLength: 2048, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ProviderName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ProviderKey = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpSettings", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpTenants",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true),
LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpTenants", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpUsers",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
UserName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
NormalizedUserName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Name = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Surname = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Email = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
NormalizedEmail = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
EmailConfirmed = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
PasswordHash = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
SecurityStamp = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsExternal = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
PhoneNumber = table.Column<string>(type: "varchar(16)", maxLength: 16, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
PhoneNumberConfirmed = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
TwoFactorEnabled = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
LockoutEnd = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: true),
LockoutEnabled = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
AccessFailedCount = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ConcurrencyStamp = table.Column<string>(type: "varchar(40)", maxLength: 40, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true),
LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
IsDeleted = table.Column<bool>(type: "tinyint(1)", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
DeletionTime = table.Column<DateTime>(type: "datetime(6)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUsers", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpAuditLogActions",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
AuditLogId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ServiceName = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
MethodName = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Parameters = table.Column<string>(type: "varchar(2000)", maxLength: 2000, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
ExecutionTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ExecutionDuration = table.Column<int>(type: "int", nullable: false),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpAuditLogActions", x => x.Id);
table.ForeignKey(
name: "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId",
column: x => x.AuditLogId,
principalTable: "AbpAuditLogs",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpEntityChanges",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
AuditLogId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ChangeTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ChangeType = table.Column<byte>(type: "tinyint unsigned", nullable: false),
EntityTenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
EntityId = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
EntityTypeFullName = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ExtraProperties = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpEntityChanges", x => x.Id);
table.ForeignKey(
name: "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId",
column: x => x.AuditLogId,
principalTable: "AbpAuditLogs",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpOrganizationUnitRoles",
columns: table => new
{
RoleId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
OrganizationUnitId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpOrganizationUnitRoles", x => new { x.OrganizationUnitId, x.RoleId });
table.ForeignKey(
name: "FK_AbpOrganizationUnitRoles_AbpOrganizationUnits_OrganizationUn~",
column: x => x.OrganizationUnitId,
principalTable: "AbpOrganizationUnits",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AbpOrganizationUnitRoles_AbpRoles_RoleId",
column: x => x.RoleId,
principalTable: "AbpRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpRoleClaims",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
RoleId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ClaimType = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ClaimValue = table.Column<string>(type: "varchar(1024)", maxLength: 1024, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpRoleClaims", x => x.Id);
table.ForeignKey(
name: "FK_AbpRoleClaims_AbpRoles_RoleId",
column: x => x.RoleId,
principalTable: "AbpRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpTenantConnectionStrings",
columns: table => new
{
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Value = table.Column<string>(type: "varchar(1024)", maxLength: 1024, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpTenantConnectionStrings", x => new { x.TenantId, x.Name });
table.ForeignKey(
name: "FK_AbpTenantConnectionStrings_AbpTenants_TenantId",
column: x => x.TenantId,
principalTable: "AbpTenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpUserClaims",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ClaimType = table.Column<string>(type: "varchar(256)", maxLength: 256, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ClaimValue = table.Column<string>(type: "varchar(1024)", maxLength: 1024, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUserClaims", x => x.Id);
table.ForeignKey(
name: "FK_AbpUserClaims_AbpUsers_UserId",
column: x => x.UserId,
principalTable: "AbpUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpUserLogins",
columns: table => new
{
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
LoginProvider = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
ProviderKey = table.Column<string>(type: "varchar(196)", maxLength: 196, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ProviderDisplayName = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUserLogins", x => new { x.UserId, x.LoginProvider });
table.ForeignKey(
name: "FK_AbpUserLogins_AbpUsers_UserId",
column: x => x.UserId,
principalTable: "AbpUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpUserOrganizationUnits",
columns: table => new
{
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
OrganizationUnitId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUserOrganizationUnits", x => new { x.OrganizationUnitId, x.UserId });
table.ForeignKey(
name: "FK_AbpUserOrganizationUnits_AbpOrganizationUnits_OrganizationUn~",
column: x => x.OrganizationUnitId,
principalTable: "AbpOrganizationUnits",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AbpUserOrganizationUnits_AbpUsers_UserId",
column: x => x.UserId,
principalTable: "AbpUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpUserRoles",
columns: table => new
{
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
RoleId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUserRoles", x => new { x.UserId, x.RoleId });
table.ForeignKey(
name: "FK_AbpUserRoles_AbpRoles_RoleId",
column: x => x.RoleId,
principalTable: "AbpRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AbpUserRoles_AbpUsers_UserId",
column: x => x.UserId,
principalTable: "AbpUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpUserTokens",
columns: table => new
{
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
LoginProvider = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Name = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
Value = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
table.ForeignKey(
name: "FK_AbpUserTokens_AbpUsers_UserId",
column: x => x.UserId,
principalTable: "AbpUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AbpEntityPropertyChanges",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
EntityChangeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
NewValue = table.Column<string>(type: "varchar(512)", maxLength: 512, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
OriginalValue = table.Column<string>(type: "varchar(512)", maxLength: 512, nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
PropertyName = table.Column<string>(type: "varchar(128)", maxLength: 128, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
PropertyTypeFullName = table.Column<string>(type: "varchar(64)", maxLength: 64, nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_AbpEntityPropertyChanges", x => x.Id);
table.ForeignKey(
name: "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId",
column: x => x.EntityChangeId,
principalTable: "AbpEntityChanges",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_AbpAuditLogActions_AuditLogId",
table: "AbpAuditLogActions",
column: "AuditLogId");
migrationBuilder.CreateIndex(
name: "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_Execution~",
table: "AbpAuditLogActions",
columns: new[] { "TenantId", "ServiceName", "MethodName", "ExecutionTime" });
migrationBuilder.CreateIndex(
name: "IX_AbpAuditLogs_TenantId_ExecutionTime",
table: "AbpAuditLogs",
columns: new[] { "TenantId", "ExecutionTime" });
migrationBuilder.CreateIndex(
name: "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime",
table: "AbpAuditLogs",
columns: new[] { "TenantId", "UserId", "ExecutionTime" });
migrationBuilder.CreateIndex(
name: "IX_AbpBackgroundJobs_IsAbandoned_NextTryTime",
table: "AbpBackgroundJobs",
columns: new[] { "IsAbandoned", "NextTryTime" });
migrationBuilder.CreateIndex(
name: "IX_AbpEntityChanges_AuditLogId",
table: "AbpEntityChanges",
column: "AuditLogId");
migrationBuilder.CreateIndex(
name: "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId",
table: "AbpEntityChanges",
columns: new[] { "TenantId", "EntityTypeFullName", "EntityId" });
migrationBuilder.CreateIndex(
name: "IX_AbpEntityPropertyChanges_EntityChangeId",
table: "AbpEntityPropertyChanges",
column: "EntityChangeId");
migrationBuilder.CreateIndex(
name: "IX_AbpFeatureValues_Name_ProviderName_ProviderKey",
table: "AbpFeatureValues",
columns: new[] { "Name", "ProviderName", "ProviderKey" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AbpLinkUsers_SourceUserId_SourceTenantId_TargetUserId_Target~",
table: "AbpLinkUsers",
columns: new[] { "SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AbpOrganizationUnitRoles_RoleId_OrganizationUnitId",
table: "AbpOrganizationUnitRoles",
columns: new[] { "RoleId", "OrganizationUnitId" });
migrationBuilder.CreateIndex(
name: "IX_AbpOrganizationUnits_Code",
table: "AbpOrganizationUnits",
column: "Code");
migrationBuilder.CreateIndex(
name: "IX_AbpOrganizationUnits_ParentId",
table: "AbpOrganizationUnits",
column: "ParentId");
migrationBuilder.CreateIndex(
name: "IX_AbpPermissionGrants_TenantId_Name_ProviderName_ProviderKey",
table: "AbpPermissionGrants",
columns: new[] { "TenantId", "Name", "ProviderName", "ProviderKey" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AbpRoleClaims_RoleId",
table: "AbpRoleClaims",
column: "RoleId");
migrationBuilder.CreateIndex(
name: "IX_AbpRoles_NormalizedName",
table: "AbpRoles",
column: "NormalizedName");
migrationBuilder.CreateIndex(
name: "IX_AbpSecurityLogs_TenantId_Action",
table: "AbpSecurityLogs",
columns: new[] { "TenantId", "Action" });
migrationBuilder.CreateIndex(
name: "IX_AbpSecurityLogs_TenantId_ApplicationName",
table: "AbpSecurityLogs",
columns: new[] { "TenantId", "ApplicationName" });
migrationBuilder.CreateIndex(
name: "IX_AbpSecurityLogs_TenantId_Identity",
table: "AbpSecurityLogs",
columns: new[] { "TenantId", "Identity" });
migrationBuilder.CreateIndex(
name: "IX_AbpSecurityLogs_TenantId_UserId",
table: "AbpSecurityLogs",
columns: new[] { "TenantId", "UserId" });
migrationBuilder.CreateIndex(
name: "IX_AbpSettings_Name_ProviderName_ProviderKey",
table: "AbpSettings",
columns: new[] { "Name", "ProviderName", "ProviderKey" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AbpTenants_Name",
table: "AbpTenants",
column: "Name");
migrationBuilder.CreateIndex(
name: "IX_AbpUserClaims_UserId",
table: "AbpUserClaims",
column: "UserId");
migrationBuilder.CreateIndex(
name: "IX_AbpUserLogins_LoginProvider_ProviderKey",
table: "AbpUserLogins",
columns: new[] { "LoginProvider", "ProviderKey" });
migrationBuilder.CreateIndex(
name: "IX_AbpUserOrganizationUnits_UserId_OrganizationUnitId",
table: "AbpUserOrganizationUnits",
columns: new[] { "UserId", "OrganizationUnitId" });
migrationBuilder.CreateIndex(
name: "IX_AbpUserRoles_RoleId_UserId",
table: "AbpUserRoles",
columns: new[] { "RoleId", "UserId" });
migrationBuilder.CreateIndex(
name: "IX_AbpUsers_Email",
table: "AbpUsers",
column: "Email");
migrationBuilder.CreateIndex(
name: "IX_AbpUsers_NormalizedEmail",
table: "AbpUsers",
column: "NormalizedEmail");
migrationBuilder.CreateIndex(
name: "IX_AbpUsers_NormalizedUserName",
table: "AbpUsers",
column: "NormalizedUserName");
migrationBuilder.CreateIndex(
name: "IX_AbpUsers_UserName",
table: "AbpUsers",
column: "UserName");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AbpAuditLogActions");
migrationBuilder.DropTable(
name: "AbpBackgroundJobs");
migrationBuilder.DropTable(
name: "AbpClaimTypes");
migrationBuilder.DropTable(
name: "AbpEntityPropertyChanges");
migrationBuilder.DropTable(
name: "AbpFeatureValues");
migrationBuilder.DropTable(
name: "AbpLinkUsers");
migrationBuilder.DropTable(
name: "AbpOrganizationUnitRoles");
migrationBuilder.DropTable(
name: "AbpPermissionGrants");
migrationBuilder.DropTable(
name: "AbpRoleClaims");
migrationBuilder.DropTable(
name: "AbpSecurityLogs");
migrationBuilder.DropTable(
name: "AbpSettings");
migrationBuilder.DropTable(
name: "AbpTenantConnectionStrings");
migrationBuilder.DropTable(
name: "AbpUserClaims");
migrationBuilder.DropTable(
name: "AbpUserLogins");
migrationBuilder.DropTable(
name: "AbpUserOrganizationUnits");
migrationBuilder.DropTable(
name: "AbpUserRoles");
migrationBuilder.DropTable(
name: "AbpUserTokens");
migrationBuilder.DropTable(
name: "AbpEntityChanges");
migrationBuilder.DropTable(
name: "AbpTenants");
migrationBuilder.DropTable(
name: "AbpOrganizationUnits");
migrationBuilder.DropTable(
name: "AbpRoles");
migrationBuilder.DropTable(
name: "AbpUsers");
migrationBuilder.DropTable(
name: "AbpAuditLogs");
}
}
}

1293
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Migrations/BasicManagementHttpApiHostMigrationsDbContextModelSnapshot.cs

File diff suppressed because it is too large

32
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Program.cs

@ -0,0 +1,32 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Events;
namespace Lion.AbpPro.BasicManagement;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
private static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel((context, options) => { options.Limits.MaxRequestBodySize = 1024 * 50; });
webBuilder.UseStartup<Startup>();
})
.UseSerilog((context, loggerConfiguration) =>
{
SerilogToEsExtensions.SetSerilogConfiguration(
loggerConfiguration,
context.Configuration);
}).UseAutofac();
}

12
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Properties/launchSettings.json

@ -0,0 +1,12 @@
{
"profiles": {
"Lion.AbpPro.BasicManagement.HttpApi.Host": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "http://localhost:44324",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

15
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/SerilogToEsExtensions.cs

@ -0,0 +1,15 @@
using Serilog;
namespace Lion.AbpPro.BasicManagement
{
public static class SerilogToEsExtensions
{
public static void SetSerilogConfiguration(LoggerConfiguration loggerConfiguration, IConfiguration configuration)
{
// 默认读取 configuration 中 "Serilog" 节点下的配置
loggerConfiguration
.ReadFrom.Configuration(configuration)
.Enrich.FromLogContext();
}
}
}

15
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/Startup.cs

@ -0,0 +1,15 @@
namespace Lion.AbpPro.BasicManagement
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddApplication<BasicManagementHttpApiHostModule>();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
app.InitializeApplication();
}
}
}

48
aspnet-core/modules/BasicManagement/host/Lion.AbpPro.BasicManagement.HttpApi.Host/appsettings.json

@ -0,0 +1,48 @@
{
"Serilog": {
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.File"
],
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Information",
"Volo.Abp": "Information",
"Hangfire": "Information",
"DotNetCore.CAP": "Information",
"Serilog.AspNetCore": "Information",
"Microsoft.EntityFrameworkCore": "Warning",
"Microsoft.AspNetCore": "Information"
}
},
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "File",
"Args": {
"path": "logs/logs-.txt",
"rollingInterval": "Day"
}
}
]
},
"App": {
"SelfUrl": "http://localhost:44315",
"CorsOrigins": "https://*.AbpPro.com,http://localhost:4200,http://localhost:3100"
},
"ConnectionStrings": {
"Default": "Data Source=localhost;Port=3306;Database=LionAbpProBasicManagementDB;uid=root;pwd=1q2w3E*;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
},
"Redis": {
"Configuration": "localhost,password=mypassword,defaultdatabase=1"
},
"Jwt": {
"Audience": "Lion.AbpPro.BasicManagement",
"SecurityKey": "dzehzRz9a8asdfasfdadfasdfasdfafsdadfasbasdf=",
"Issuer": "Lion.AbpPro",
"ExpirationTime": 30
}
}

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/AuditLogs/GetAuditLogPageListOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/AuditLogs/GetAuditLogPageListOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.AuditLogs
namespace Lion.AbpPro.BasicManagement.AuditLogs
{
public class GetAuditLogPageListOutput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/AuditLogs/IAuditLogAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/AuditLogs/IAuditLogAppService.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.AuditLogs
namespace Lion.AbpPro.BasicManagement.AuditLogs
{
public interface IAuditLogAppService : IApplicationService
{

67
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/AuditLogs/PagingAuditLogListInput.cs

@ -0,0 +1,67 @@
using System.Net;
namespace Lion.AbpPro.BasicManagement.AuditLogs
{
public class PagingAuditLogListInput : PagingBase
{
/// <summary>
/// 排序
/// </summary>
public string Sorting { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public DateTime? EndTime { get; set; }
/// <summary>
/// 请求方法
/// </summary>
public string HttpMethod { get; set; }
/// <summary>
/// 请求地址
/// </summary>
public string Url { get; set; }
/// <summary>
/// 用户名
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 应用程序名称
/// </summary>
public string ApplicationName { get; set; }
/// <summary>
/// RequestId
/// </summary>
public string CorrelationId { get; set; }
/// <summary>
/// 最大执行时间
/// </summary>
public int? MaxExecutionDuration { get; set; }
/// <summary>
/// 最小执行时间
/// </summary>
public int? MinExecutionDuration { get; set; }
/// <summary>
/// 是否有异常
/// </summary>
public bool? HasException { get; set; }
/// <summary>
/// http 状态码
/// </summary>
public HttpStatusCode? HttpStatusCode { get; set; }
}
}

25
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/BasicManagementApplicationContractsModule.cs

@ -0,0 +1,25 @@
using Volo.Abp.Account;
using Volo.Abp.Application;
using Volo.Abp.Modularity;
using Volo.Abp.Authorization;
using Volo.Abp.FeatureManagement;
using Volo.Abp.Identity;
using Volo.Abp.SettingManagement;
namespace Lion.AbpPro.BasicManagement;
[DependsOn(
typeof(BasicManagementDomainSharedModule),
typeof(AbpDddApplicationContractsModule),
typeof(AbpAuthorizationModule),
typeof(AbpAccountApplicationContractsModule),
typeof(AbpFeatureManagementApplicationContractsModule),
typeof(AbpIdentityApplicationContractsModule),
typeof(AbpPermissionManagementApplicationContractsModule),
typeof(AbpSettingManagementApplicationContractsModule),
typeof(AbpTenantManagementApplicationContractsModule)
)]
public class BasicManagementApplicationContractsModule : AbpModule
{
}

8
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/BasicManagementRemoteServiceConsts.cs

@ -0,0 +1,8 @@
namespace Lion.AbpPro.BasicManagement;
public class BasicManagementRemoteServiceConsts
{
public const string RemoteServiceName = "BasicManagement";
public const string ModuleName = "basicManagement";
}

25
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/ConfigurationOptions/JwtOptions.cs

@ -0,0 +1,25 @@
namespace Lion.AbpPro.BasicManagement.ConfigurationOptions
{
public class JwtOptions
{
/// <summary>
/// 过期时间 单位小时
/// </summary>
public int ExpirationTime { get; set; }
/// <summary>
/// Audience
/// </summary>
public string Audience { get; set; }
/// <summary>
/// 密钥
/// </summary>
public string SecurityKey { get; set; }
/// <summary>
/// Issuer
/// </summary>
public string Issuer { get; set; }
}
}

3
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/FodyWeavers.xml

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<ConfigureAwait ContinueOnCapturedContext="false" />
</Weavers>

30
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/FodyWeavers.xsd

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
<xs:element name="Weavers">
<xs:complexType>
<xs:all>
<xs:element name="ConfigureAwait" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="ContinueOnCapturedContext" type="xs:boolean" />
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="VerifyAssembly" type="xs:boolean">
<xs:annotation>
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
<xs:annotation>
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="GenerateXsd" type="xs:boolean">
<xs:annotation>
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

11
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/GlobalUsings.cs

@ -0,0 +1,11 @@
// Global using directives
global using System.ComponentModel.DataAnnotations;
global using Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
global using Lion.AbpPro.BasicManagement.Tenants.Dtos;
global using Lion.AbpPro.Extension.Customs.Dtos;
global using Volo.Abp.Application.Dtos;
global using Volo.Abp.Application.Services;
global using Volo.Abp.AspNetCore.Mvc.MultiTenancy;
global using Volo.Abp.PermissionManagement;
global using Volo.Abp.TenantManagement;

22
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Lion.AbpPro.BasicManagement.Application.Contracts.csproj

@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Lion.AbpPro.BasicManagement</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.Contracts" />
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" />
<PackageReference Include="Volo.Abp.Authorization" />
<PackageReference Include="Volo.Abp.Account.Application.Contracts" />
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application.Contracts" />
<PackageReference Include="Volo.Abp.TenantManagement.Application.Contracts" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application.Contracts" />
<PackageReference Include="Volo.Abp.SettingManagement.Application.Contracts" />
<PackageReference Include="Magicodes.IE.Excel.AspNetCore" />
<ProjectReference Include="..\..\..\..\frameworks\Extensions\src\Lion.AbpPro.Extension\Lion.AbpPro.Extension.csproj" />
<ProjectReference Include="..\Lion.AbpPro.BasicManagement.Domain.Shared\Lion.AbpPro.BasicManagement.Domain.Shared.csproj" />
</ItemGroup>
</Project>

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/AddRoleToOrganizationUnitInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/AddRoleToOrganizationUnitInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class AddRoleToOrganizationUnitInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/AddUserToOrganizationUnitInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/AddUserToOrganizationUnitInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class AddUserToOrganizationUnitInput
{

9
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/CreateOrganizationUnitInput.cs

@ -0,0 +1,9 @@
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class CreateOrganizationUnitInput
{
[Required]
public string DisplayName { get; set; }
public Guid? ParentId { get; set; }
}

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitRoleInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitRoleInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetOrganizationUnitRoleInput : PagingBase
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitRoleOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitRoleOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetOrganizationUnitRoleOutput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitUserInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitUserInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetOrganizationUnitUserInput : PagingBase
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitUserOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetOrganizationUnitUserOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetOrganizationUnitUserOutput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetUnAddRoleInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddRoleInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetUnAddRoleInput : PagingBase
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetUnAddRoleOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddRoleOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetUnAddRoleOutput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetUnAddUserInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddUserInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetUnAddUserInput : PagingBase
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/GetUnAddUserOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/GetUnAddUserOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class GetUnAddUserOutput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/OrganizationUnitDto.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/OrganizationUnitDto.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class OrganizationUnitDto
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/RemoveRoleToOrganizationUnitInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/RemoveRoleToOrganizationUnitInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class RemoveRoleToOrganizationUnitInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/RemoveUserToOrganizationUnitInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/RemoveUserToOrganizationUnitInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class RemoveUserToOrganizationUnitInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/Dto/TreeOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/TreeOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits.Dto;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class TreeOutput
{

9
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/Dto/UpdateOrganizationUnitInput.cs

@ -0,0 +1,9 @@
namespace Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
public class UpdateOrganizationUnitInput
{
[Required]
public string DisplayName { get; set; }
public Guid Id { get; set; }
}

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/OrganizationUnits/IOrganizationUnitAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/OrganizationUnits/IOrganizationUnitAppService.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.OrganizationUnits;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits;
public interface IOrganizationUnitAppService : IApplicationService
{

43
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissionDefinitionProvider.cs

@ -0,0 +1,43 @@
using Lion.AbpPro.BasicManagement.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Identity;
using Volo.Abp.Localization;
namespace Lion.AbpPro.BasicManagement.Permissions;
public class BasicManagementPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var abpIdentityGroup = context.GetGroup(IdentityPermissions.GroupName);
var userManagement = abpIdentityGroup.GetPermissionOrNull(IdentityPermissions.Users.Default);
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserEnable, L("Permission:Enable"));
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserExport, L("Permission:Export"));
var auditManagement =
abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.AuditLog, L("Permission:AuditLogManagement"));
var settingManagement = abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.Setting, L("Permission:SettingManagement"));
var organizationUnitManagement = abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.OrganizationUnit, L("Permission:OrganizationUnitManagement"));
organizationUnitManagement.AddChild
(
BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create,
L("Permission:Create")
);
organizationUnitManagement.AddChild
(
BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Update,
L("Permission:Update")
);
organizationUnitManagement.AddChild
(
BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete,
L("Permission:Delete")
);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<BasicManagementResource>(name);
}
}

31
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissions.cs

@ -0,0 +1,31 @@
using Volo.Abp.Reflection;
namespace Lion.AbpPro.BasicManagement.Permissions;
public class BasicManagementPermissions
{
/// <summary>
/// 系统管理扩展权限
/// </summary>
public static class SystemManagement
{
public const string Default = "AbpIdentity";
public const string UserEnable = Default + ".Users.Enable";
public const string UserExport = Default + ".Users.Export";
public const string AuditLog = Default + ".AuditLog";
public const string Setting = Default + ".Setting";
public const string OrganizationUnit = Default + ".OrganizationUnitManagement";
public static class OrganizationUnitManagement
{
public const string Default = SystemManagement.Default + ".OrganizationUnitManagement";
public const string Create = Default + ".Create";
public const string Update = Default + ".Update";
public const string Delete = Default + ".Delete";
}
}
public static string[] GetAll()
{
return ReflectionHelper.GetPublicConstantsRecursively(typeof(BasicManagementPermissions));
}
}

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/Dtos/GetPermissionInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/GetPermissionInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Roles.Dtos
namespace Lion.AbpPro.BasicManagement.Roles.Dtos
{
public class GetPermissionInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/Dtos/PagingRoleListInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/PagingRoleListInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Roles.Dtos
namespace Lion.AbpPro.BasicManagement.Roles.Dtos
{
public class PagingRoleListInput : PagingBase
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/Dtos/PermissionOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/PermissionOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Roles.Dtos
namespace Lion.AbpPro.BasicManagement.Roles.Dtos
{
public class PermissionOutput {
public List<string> Grants { get; set; } = new List<string>();

4
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/Dtos/UpdateRoleInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/UpdateRoleInput.cs

@ -1,4 +1,6 @@
namespace Lion.AbpPro.Roles.Dtos
using Volo.Abp.Identity;
namespace Lion.AbpPro.BasicManagement.Roles.Dtos
{
public class UpdateRoleInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/Dtos/UpdateRolePermissionsInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/Dtos/UpdateRolePermissionsInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Roles.Dtos
namespace Lion.AbpPro.BasicManagement.Roles.Dtos
{
public class UpdateRolePermissionsInput
{

6
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/IRoleAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/IRoleAppService.cs

@ -1,4 +1,7 @@
namespace Lion.AbpPro.Roles
using Lion.AbpPro.BasicManagement.Roles.Dtos;
using Volo.Abp.Identity;
namespace Lion.AbpPro.BasicManagement.Roles
{
public interface IRoleAppService : IApplicationService
{
@ -11,6 +14,5 @@ namespace Lion.AbpPro.Roles
Task<IdentityRoleDto> UpdateAsync(UpdateRoleInput input);
Task DeleteAsync(IdInput input);
}
}

4
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/IRolePermissionAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/IRolePermissionAppService.cs

@ -1,4 +1,6 @@
namespace Lion.AbpPro.Roles
using Lion.AbpPro.BasicManagement.Roles.Dtos;
namespace Lion.AbpPro.BasicManagement.Roles
{
public interface IRolePermissionAppService : IApplicationService
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Roles/PermissionOptions.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Roles/PermissionOptions.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Roles;
namespace Lion.AbpPro.BasicManagement.Roles;
public class PermissionOptions
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Settings/Dtos/SettingOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Settings/Dtos/SettingOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Settings.Dtos
namespace Lion.AbpPro.BasicManagement.Settings.Dtos
{
public class SettingOutput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Settings/Dtos/UpdateSettingInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Settings/Dtos/UpdateSettingInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Settings.Dtos
namespace Lion.AbpPro.BasicManagement.Settings.Dtos
{
public class UpdateSettingInput
{

4
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Settings/ISettingAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Settings/ISettingAppService.cs

@ -1,4 +1,6 @@
namespace Lion.AbpPro.Settings
using Lion.AbpPro.BasicManagement.Settings.Dtos;
namespace Lion.AbpPro.BasicManagement.Settings
{
public interface ISettingAppService : IApplicationService
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Tenants/Dtos/FindTenantByNameInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/FindTenantByNameInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Tenants.Dtos
namespace Lion.AbpPro.BasicManagement.Tenants.Dtos
{
public class FindTenantByNameInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Tenants/Dtos/PagingTenantInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/PagingTenantInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Tenants.Dtos
namespace Lion.AbpPro.BasicManagement.Tenants.Dtos
{
public class PagingTenantInput : PagingBase
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Tenants/Dtos/UpdateDefaultConnectionStringInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/UpdateDefaultConnectionStringInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Tenants.Dtos
namespace Lion.AbpPro.BasicManagement.Tenants.Dtos
{
public class UpdateConnectionStringInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Tenants/Dtos/UpdateTenantInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/Dtos/UpdateTenantInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Tenants.Dtos
namespace Lion.AbpPro.BasicManagement.Tenants.Dtos
{
public class UpdateTenantInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Tenants/IVoloTenantAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Tenants/IVoloTenantAppService.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Tenants
namespace Lion.AbpPro.BasicManagement.Tenants
{
public interface IVoloTenantAppService : IApplicationService
{

32
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/ExportIdentityUserOutput.cs

@ -0,0 +1,32 @@
using Magicodes.ExporterAndImporter.Core;
namespace Lion.AbpPro.BasicManagement.Users.Dtos
{
public class ExportIdentityUserOutput
{
[ExporterHeader(DisplayName = "用户名")]
public string UserName { get; set; }
[ExporterHeader(DisplayName = "真实名称")]
public string Name { get; set; }
[ExporterHeader(DisplayName = "邮箱")]
public string Email { get; set; }
[ExporterHeader(DisplayName = "手机号码")]
public string PhoneNumber { get; set; }
[ExporterHeader(IsIgnore = true)]
public bool IsActive { get; set; }
[ExporterHeader(DisplayName = "状态")]
public string Status => IsActive ? "启用" : "禁用";
[ExporterHeader(IsIgnore = true)]
public DateTime CreationTime { get; set; }
[ExporterHeader(DisplayName = "创建时间")]
public string CreationTimeFormat => CreationTime.ToString("yyyy-MM-dd hh:mm:ss");
}
}

4
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/GithubAccessTokenResponse.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/GithubAccessTokenResponse.cs

@ -1,4 +1,6 @@
namespace Lion.AbpPro.Users.Dtos;
using Newtonsoft.Json;
namespace Lion.AbpPro.BasicManagement.Users.Dtos;
public class GithubAccessTokenResponse
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/LockUserInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LockUserInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Users.Dtos
namespace Lion.AbpPro.BasicManagement.Users.Dtos
{
public class LockUserInput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/LoginGithubResponse.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginGithubResponse.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Users.Dtos;
namespace Lion.AbpPro.BasicManagement.Users.Dtos;
public class LoginGithubResponse
{

4
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/LoginInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginInput.cs

@ -1,4 +1,6 @@
namespace Lion.AbpPro.Users.Dtos
using Volo.Abp.Auditing;
namespace Lion.AbpPro.BasicManagement.Users.Dtos
{
/// <summary>
/// 登录

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/LoginOutput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginOutput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Users.Dtos
namespace Lion.AbpPro.BasicManagement.Users.Dtos
{
public class LoginOutput
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/LoginStsResponse.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/LoginStsResponse.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Users.Dtos
namespace Lion.AbpPro.BasicManagement.Users.Dtos
{
public class LoginStsResponse
{

2
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/PagingUserListInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/PagingUserListInput.cs

@ -1,4 +1,4 @@
namespace Lion.AbpPro.Users.Dtos
namespace Lion.AbpPro.BasicManagement.Users.Dtos
{
public class PagingUserListInput : PagingBase
{

4
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/Dtos/UpdateUserInput.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/Dtos/UpdateUserInput.cs

@ -1,4 +1,6 @@
namespace Lion.AbpPro.Users.Dtos
using Volo.Abp.Identity;
namespace Lion.AbpPro.BasicManagement.Users.Dtos
{
public class UpdateUserInput
{

6
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/IAccountAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/IAccountAppService.cs

@ -1,12 +1,12 @@
namespace Lion.AbpPro.Users
using Lion.AbpPro.BasicManagement.Users.Dtos;
namespace Lion.AbpPro.BasicManagement.Users
{
public interface IAccountAppService: IApplicationService
{
/// <summary>
/// 用户名密码登录
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<LoginOutput> LoginAsync(LoginInput input);
}
}

19
aspnet-core/services/src/Lion.AbpPro.Application.Contracts/Users/IUserAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Users/IUserAppService.cs

@ -1,32 +1,30 @@
namespace Lion.AbpPro.Users
using Lion.AbpPro.BasicManagement.Users.Dtos;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Account;
using Volo.Abp.Identity;
namespace Lion.AbpPro.BasicManagement.Users
{
public interface IUserAppService : IApplicationService
{
/// <summary>
/// 分页查询用户
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<PagedResultDto<IdentityUserDto>> ListAsync(PagingUserListInput input);
/// <summary>
/// 用户导出列表
/// </summary>
/// <returns></returns>
Task<ActionResult> ExportAsync(PagingUserListInput input);
/// <summary>
/// 新增用户
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IdentityUserDto> CreateAsync(IdentityUserCreateDto input);
/// <summary>
/// 更新用户
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IdentityUserDto> UpdateAsync(UpdateUserInput input);
/// <summary>
@ -38,21 +36,16 @@ namespace Lion.AbpPro.Users
/// <summary>
/// 获取用户角色信息
/// </summary>
/// <returns></returns>
Task<ListResultDto<IdentityRoleDto>> GetRoleByUserId(IdInput input);
/// <summary>
/// 修改密码
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<bool> ChangePasswordAsync(ChangePasswordInput input);
/// <summary>
/// 锁定用户
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task LockAsync(LockUserInput input);
}
}

14
aspnet-core/services/src/Lion.AbpPro.Application/ApplicationConfigurations/LionAbpApplicationConfigurationAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/ApplicationConfigurations/LionAbpApplicationConfigurationAppService.cs

@ -1,15 +1,4 @@
using System.Globalization;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Features;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Timing;
namespace Lion.AbpPro.ApplicationConfigurations;
namespace Lion.AbpPro.BasicManagement.ApplicationConfigurations;
[Dependency(ReplaceServices = true)]
public class LionAbpApplicationConfigurationAppService : ApplicationService, IAbpApplicationConfigurationAppService
@ -176,6 +165,7 @@ public class LionAbpApplicationConfigurationAppService : ApplicationService, IAb
if (authConfig.GrantedPolicies.Any(e => e.Key == item)) continue;
authConfig.GrantedPolicies.Add(item, true);
}
return authConfig;
}

6
aspnet-core/services/src/Lion.AbpPro.Application/AuditLogs/AuditLogAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/AuditLogs/AuditLogAppService.cs

@ -1,7 +1,7 @@
namespace Lion.AbpPro.AuditLogs
namespace Lion.AbpPro.BasicManagement.AuditLogs
{
[Authorize]
public class AuditLogAppService : AbpProAppService, IAuditLogAppService
public class AuditLogAppService : BasicManagementAppService, IAuditLogAppService
{
private readonly IAuditLogRepository _auditLogRepository;
@ -13,7 +13,7 @@ namespace Lion.AbpPro.AuditLogs
/// <summary>
/// 分页查询审计日志
/// </summary>
[Authorize(Policy = AbpProPermissions.SystemManagement.AuditLog)]
[Authorize(Policy = BasicManagementPermissions.SystemManagement.AuditLog)]
public async Task<PagedResultDto<GetAuditLogPageListOutput>> GetListAsync(PagingAuditLogListInput input)
{
var list = await _auditLogRepository.GetListAsync(

12
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/BasicManagementAppService.cs

@ -0,0 +1,12 @@
using Lion.AbpPro.BasicManagement.Localization;
namespace Lion.AbpPro.BasicManagement;
public abstract class BasicManagementAppService : ApplicationService
{
protected BasicManagementAppService()
{
LocalizationResource = typeof(BasicManagementResource);
ObjectMapperContext = typeof(BasicManagementApplicationModule);
}
}

23
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/BasicManagementApplicationAutoMapperProfile.cs

@ -0,0 +1,23 @@
using AutoMapper;
using Lion.AbpPro.BasicManagement.AuditLogs;
using Lion.AbpPro.BasicManagement.Users.Dtos;
namespace Lion.AbpPro.BasicManagement;
public class BasicManagementApplicationAutoMapperProfile : Profile
{
public BasicManagementApplicationAutoMapperProfile()
{
CreateMap<AuditLog, GetAuditLogPageListOutput>();
CreateMap<Volo.Abp.Identity.IdentityUser, LoginOutput>()
.ForMember(dest => dest.Token, opt => opt.Ignore());
CreateMap<IdentityUser, ExportIdentityUserOutput>()
.ForMember(e => e.CreationTimeFormat, opt => opt.Ignore())
.ForMember(e => e.Status, opt => opt.Ignore());
CreateMap<OrganizationUnit, OrganizationUnitDto>();
CreateMap<IdentityUser, GetOrganizationUnitUserOutput>();
CreateMap<IdentityUser, GetUnAddUserOutput>();
CreateMap<IdentityRole, GetOrganizationUnitRoleOutput>();
CreateMap<IdentityRole, GetUnAddRoleOutput>();
}
}

67
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/BasicManagementApplicationModule.cs

@ -0,0 +1,67 @@
using Lion.AbpPro.BasicManagement.ConfigurationOptions;
using Lion.AbpPro.BasicManagement.Roles;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using Volo.Abp.Account;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Volo.Abp.Application;
using Volo.Abp.FeatureManagement;
using Volo.Abp.Identity.AspNetCore;
using Volo.Abp.PermissionManagement;
using Volo.Abp.SettingManagement;
namespace Lion.AbpPro.BasicManagement;
[DependsOn(
typeof(BasicManagementDomainModule),
typeof(BasicManagementApplicationContractsModule),
typeof(AbpDddApplicationModule),
typeof(AbpIdentityAspNetCoreModule),
typeof(AbpAutoMapperModule),
typeof(AbpAccountApplicationModule),
typeof(AbpIdentityApplicationModule),
typeof(AbpPermissionManagementApplicationModule),
typeof(AbpTenantManagementApplicationModule),
typeof(AbpFeatureManagementApplicationModule),
typeof(AbpSettingManagementApplicationModule),
typeof(AbpAuditLoggingDomainModule)
)]
public class BasicManagementApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<BasicManagementApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<BasicManagementApplicationModule>(validate: true);
});
Configure<PermissionOptions>(options =>
{
options.Excludes.Add("AbpIdentity.Users.ManagePermissions");
options.Excludes.Add("AbpIdentity.UserLookup");
options.Excludes.Add("FeatureManagement");
options.Excludes.Add("FeatureManagement.ManageHostFeatures");
options.Excludes.Add("SettingManagement");
options.Excludes.Add("SettingManagement.Emailing");
options.Excludes.Add("AbpTenantManagement");
options.Excludes.Add("AbpTenantManagement.Tenants.ManageFeatures");
options.Excludes.Add("AbpTenantManagement.Tenants.ManageConnectionStrings");
});
context.Services.Configure<JwtOptions>(context.Services.GetConfiguration().GetSection("Jwt"));
ConfigureMagicodes(context);
}
/// <summary>
/// 配置Magicodes.IE
/// Excel导入导出
/// </summary>
private void ConfigureMagicodes(ServiceConfigurationContext context)
{
context.Services.AddTransient<IExporter, ExcelExporter>();
context.Services.AddTransient<IExcelExporter, ExcelExporter>();
}
}

3
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/FodyWeavers.xml

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<ConfigureAwait ContinueOnCapturedContext="false" />
</Weavers>

30
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/FodyWeavers.xsd

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
<xs:element name="Weavers">
<xs:complexType>
<xs:all>
<xs:element name="ConfigureAwait" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="ContinueOnCapturedContext" type="xs:boolean" />
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="VerifyAssembly" type="xs:boolean">
<xs:annotation>
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
<xs:annotation>
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="GenerateXsd" type="xs:boolean">
<xs:annotation>
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

31
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/GlobalUsings.cs

@ -0,0 +1,31 @@
// Global using directives
global using System.Globalization;
global using AutoMapper.Internal.Mappers;
global using Lion.AbpPro.BasicManagement.OrganizationUnits.Dto;
global using Lion.AbpPro.BasicManagement.Permissions;
global using Lion.AbpPro.BasicManagement.Tenants.Dtos;
global using Lion.AbpPro.Extension.Customs.Dtos;
global using Microsoft.AspNetCore.Authorization;
global using Microsoft.Extensions.DependencyInjection;
global using Microsoft.Extensions.Localization;
global using Microsoft.Extensions.Logging;
global using Microsoft.Extensions.Options;
global using Volo.Abp;
global using Volo.Abp.Application.Dtos;
global using Volo.Abp.Application.Services;
global using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations;
global using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending;
global using Volo.Abp.AspNetCore.Mvc.MultiTenancy;
global using Volo.Abp.AuditLogging;
global using Volo.Abp.Authorization;
global using Volo.Abp.Authorization.Permissions;
global using Volo.Abp.DependencyInjection;
global using Volo.Abp.Features;
global using Volo.Abp.Identity;
global using Volo.Abp.Localization;
global using Volo.Abp.MultiTenancy;
global using Volo.Abp.Settings;
global using Volo.Abp.TenantManagement;
global using Volo.Abp.Timing;
global using Volo.Abp.Users;

26
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Lion.AbpPro.BasicManagement.Application.csproj

@ -0,0 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>Lion.AbpPro.BasicManagement</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AutoMapper" />
<PackageReference Include="Volo.Abp.Ddd.Application" />
<PackageReference Include="Volo.Abp.Account.Application" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" />
<PackageReference Include="Volo.Abp.Identity.Application" />
<PackageReference Include="Volo.Abp.Identity.AspNetCore" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" />
<PackageReference Include="Volo.Abp.TenantManagement.Application" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application" />
<PackageReference Include="Volo.Abp.SettingManagement.Application" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" />
<PackageReference Include="IdentityModel" />
<ProjectReference Include="..\Lion.AbpPro.BasicManagement.Application.Contracts\Lion.AbpPro.BasicManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\Lion.AbpPro.BasicManagement.Domain\Lion.AbpPro.BasicManagement.Domain.csproj" />
</ItemGroup>
</Project>

26
aspnet-core/services/src/Lion.AbpPro.Application/OrganizationUnits/OrganizationUnitAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/OrganizationUnits/OrganizationUnitAppService.cs

@ -1,7 +1,7 @@
namespace Lion.AbpPro.OrganizationUnits;
namespace Lion.AbpPro.BasicManagement.OrganizationUnits;
[Authorize]
public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitAppService
public class OrganizationUnitAppService : BasicManagementAppService, IOrganizationUnitAppService
{
private readonly OrganizationUnitManager _organizationUnitManager;
private readonly IdentityUserManager _identityUserManager;
@ -24,7 +24,7 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
return ConvertToTree(organizationUnitDtos);
}
[Authorize(AbpProPermissions.SystemManagement.OrganizationUnitManagement.Create)]
[Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create)]
public async Task CreateAsync(CreateOrganizationUnitInput input)
{
var entity = new OrganizationUnit
@ -37,13 +37,13 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
await _organizationUnitManager.CreateAsync(entity);
}
[Authorize(AbpProPermissions.SystemManagement.OrganizationUnitManagement.Delete)]
[Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete)]
public Task DeleteAsync(IdInput input)
{
return _organizationUnitManager.DeleteAsync(input.Id);
}
[Authorize(AbpProPermissions.SystemManagement.OrganizationUnitManagement.Update)]
[Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Update)]
public async Task UpdateAsync(UpdateOrganizationUnitInput input)
{
var entity = await _organizationUnitRepository.FindAsync(input.Id);
@ -54,7 +54,7 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
}
}
[Authorize(AbpProPermissions.SystemManagement.OrganizationUnitManagement.Create)]
[Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create)]
public async Task AddRoleToOrganizationUnitAsync(AddRoleToOrganizationUnitInput input)
{
foreach (var roleId in input.RoleId)
@ -63,13 +63,13 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
}
}
[Authorize(AbpProPermissions.SystemManagement.OrganizationUnitManagement.Delete)]
[Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete)]
public async Task RemoveRoleFromOrganizationUnitAsync(RemoveRoleToOrganizationUnitInput input)
{
await _organizationUnitManager.RemoveRoleFromOrganizationUnitAsync(input.RoleId, input.OrganizationUnitId);
}
[Authorize(AbpProPermissions.SystemManagement.OrganizationUnitManagement.Create)]
[Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create)]
public async Task AddUserToOrganizationUnitAsync(AddUserToOrganizationUnitInput input)
{
foreach (var userId in input.UserId)
@ -78,7 +78,7 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
}
}
[Authorize(AbpProPermissions.SystemManagement.OrganizationUnitManagement.Delete)]
[Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete)]
public async Task RemoveUserFromOrganizationUnitAsync(RemoveUserToOrganizationUnitInput input)
{
await _identityUserManager.RemoveFromOrganizationUnitAsync(input.UserId, input.OrganizationUnitId);
@ -88,7 +88,7 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
{
var listResult = new List<GetOrganizationUnitUserOutput>();
var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId);
if (organizationUnit == null) throw new BusinessException(AbpProDomainErrorCodes.OrganizationUnitNotExist);
if (organizationUnit == null) throw new BusinessException(BasicManagementErrorCodes.OrganizationUnitNotExist);
var count = await _organizationUnitRepository.GetMembersCountAsync(organizationUnit, filter: input.Filter);
if (count > 0)
@ -110,7 +110,7 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
{
var listResult = new List<GetUnAddUserOutput>();
var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId);
if (organizationUnit == null) throw new BusinessException(AbpProDomainErrorCodes.OrganizationUnitNotExist);
if (organizationUnit == null) throw new BusinessException(BasicManagementErrorCodes.OrganizationUnitNotExist);
var count = await _organizationUnitRepository.GetUnaddedUsersCountAsync(organizationUnit, input.Filter);
if (count > 0)
{
@ -131,7 +131,7 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
{
var listResult = new List<GetOrganizationUnitRoleOutput>();
var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId);
if (organizationUnit == null) throw new BusinessException(AbpProDomainErrorCodes.OrganizationUnitNotExist);
if (organizationUnit == null) throw new BusinessException(BasicManagementErrorCodes.OrganizationUnitNotExist);
var count = await _organizationUnitRepository.GetRolesCountAsync(organizationUnit);
if (count > 0)
@ -147,7 +147,7 @@ public class OrganizationUnitAppService : AbpProAppService, IOrganizationUnitApp
{
var listResult = new List<GetUnAddRoleOutput>();
var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId);
if (organizationUnit == null) throw new BusinessException(AbpProDomainErrorCodes.OrganizationUnitNotExist);
if (organizationUnit == null) throw new BusinessException(BasicManagementErrorCodes.OrganizationUnitNotExist);
var count = await _organizationUnitRepository.GetUnaddedRolesCountAsync(organizationUnit, input.Filter);
if (count > 0)
{

12
aspnet-core/services/src/Lion.AbpPro.Application/Roles/RoleAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RoleAppService.cs

@ -1,7 +1,9 @@
namespace Lion.AbpPro.Roles
using Lion.AbpPro.BasicManagement.Roles.Dtos;
namespace Lion.AbpPro.BasicManagement.Roles
{
[Authorize]
public class RoleAppService : AbpProAppService, IRoleAppService
public class RoleAppService : BasicManagementAppService, IRoleAppService
{
private readonly IIdentityRoleAppService _identityRoleAppService;
@ -26,7 +28,7 @@ namespace Lion.AbpPro.Roles
await _roleRepository.GetListAsync()
.ConfigureAwait(continueOnCapturedContext: false);
return new ListResultDto<IdentityRoleDto>(
base.ObjectMapper.Map<List<IdentityRole>, List<IdentityRoleDto>>(source));
ObjectMapper.Map<List<IdentityRole>, List<IdentityRoleDto>>(source));
}
/// <summary>
@ -48,7 +50,7 @@ namespace Lion.AbpPro.Roles
return new PagedResultDto<IdentityRoleDto>(
await _roleRepository.GetCountAsync(request.Filter)
.ConfigureAwait(continueOnCapturedContext: false),
base.ObjectMapper.Map<List<IdentityRole>, List<IdentityRoleDto>>(list));
ObjectMapper.Map<List<IdentityRole>, List<IdentityRoleDto>>(list));
}
@ -66,8 +68,6 @@ namespace Lion.AbpPro.Roles
/// <summary>
/// 更新角色
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(IdentityPermissions.Roles.Update)]
public async Task<IdentityRoleDto> UpdateAsync(UpdateRoleInput input)
{

7
aspnet-core/services/src/Lion.AbpPro.Application/Roles/RolePermissionAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RolePermissionAppService.cs

@ -1,7 +1,10 @@
namespace Lion.AbpPro.Roles
using Lion.AbpPro.BasicManagement.Roles.Dtos;
using Volo.Abp.PermissionManagement;
namespace Lion.AbpPro.BasicManagement.Roles
{
[Authorize]
public class RolePermissionAppService : AbpProAppService, IRolePermissionAppService
public class RolePermissionAppService : BasicManagementAppService, IRolePermissionAppService
{
private readonly IPermissionAppService _rolePermissionAppService;
private readonly PermissionOptions _permissionOptions;

19
aspnet-core/services/src/Lion.AbpPro.Application/Settings/SettingAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Settings/SettingAppService.cs

@ -1,7 +1,10 @@
namespace Lion.AbpPro.Settings
using Lion.AbpPro.BasicManagement.Settings.Dtos;
using Volo.Abp.SettingManagement;
namespace Lion.AbpPro.BasicManagement.Settings
{
[Authorize(policy: AbpProPermissions.SystemManagement.Setting)]
public class SettingAppService : AbpProAppService, ISettingAppService
[Authorize(policy: BasicManagementPermissions.SystemManagement.Setting)]
public class SettingAppService : BasicManagementAppService, ISettingAppService
{
private readonly ISettingDefinitionManager _settingDefinitionManager;
private readonly ISettingManager _settingManager;
@ -21,10 +24,10 @@ namespace Lion.AbpPro.Settings
{
var allSettings = _settingDefinitionManager.GetAll().ToList();
var settings = allSettings
.Where(e => e.Properties.ContainsKey(AbpProSettings.Group.Default)).ToList();
.Where(e => e.Properties.ContainsKey(BasicManagementSettings.Group.Default)).ToList();
var settingOutput = settings
.GroupBy(e => e.Properties[AbpProSettings.Group.Default].ToString()).Select(s =>
.GroupBy(e => e.Properties[BasicManagementSettings.Group.Default].ToString()).Select(s =>
new SettingOutput
{
Group = s.Key,
@ -38,7 +41,7 @@ namespace Lion.AbpPro.Settings
{
var value = await SettingProvider.GetOrNullAsync(itemDefinition.Name);
var type = itemDefinition.Properties
.FirstOrDefault(f => f.Key == AbpProSettings.ControlType.Default).Value
.FirstOrDefault(f => f.Key == BasicManagementSettings.ControlType.Default).Value
.ToString();
item.SettingItemOutput.Add(new SettingItemOutput(
@ -59,12 +62,12 @@ namespace Lion.AbpPro.Settings
{
// The key of the settingValues is in camel_Case, like "setting_Abp_Localization_DefaultLanguage",
// change it to "Abp.Localization.DefaultLanguage" form
if (!kv.Key.StartsWith(AbpProSettings.Prefix))
if (!kv.Key.StartsWith(BasicManagementSettings.Prefix))
{
continue;
}
string name = kv.Key.RemovePreFix(AbpProSettings.Prefix);
string name = kv.Key.RemovePreFix(BasicManagementSettings.Prefix);
var setting = _settingDefinitionManager.GetOrNull(name);
if (setting == null)
{

4
aspnet-core/services/src/Lion.AbpPro.Application/Tenants/VoloTenantAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Tenants/VoloTenantAppService.cs

@ -1,7 +1,7 @@
namespace Lion.AbpPro.Tenants
namespace Lion.AbpPro.BasicManagement.Tenants
{
[Authorize]
public class VoloTenantAppService : AbpProAppService, IVoloTenantAppService
public class VoloTenantAppService : BasicManagementAppService, IVoloTenantAppService
{
private readonly IAbpTenantAppService _abpTenantAppService;
private readonly ITenantAppService _tenantAppService;

24
aspnet-core/services/src/Lion.AbpPro.Application/Users/AccountAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/AccountAppService.cs

@ -1,24 +1,15 @@
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Linq;
using System.Net.Http;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using IdentityModel;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Options;
using Lion.AbpPro.BasicManagement.ConfigurationOptions;
using Lion.AbpPro.BasicManagement.Users.Dtos;
using Microsoft.IdentityModel.Tokens;
using Volo.Abp;
using Volo.Abp.Identity;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Security.Claims;
namespace Lion.AbpPro.Users
namespace Lion.AbpPro.BasicManagement.Users
{
public class AccountAppService : AbpProAppService, IAccountAppService
public class AccountAppService : BasicManagementAppService, IAccountAppService
{
private readonly IdentityUserManager _userManager;
private readonly JwtOptions _jwtOptions;
@ -38,14 +29,15 @@ namespace Lion.AbpPro.Users
public async Task<LoginOutput> LoginAsync(LoginInput input)
{
var result = await _signInManager.PasswordSignInAsync(input.Name, input.Password, false, true);
if (result.IsNotAllowed)
{
throw new BusinessException(AbpProDomainErrorCodes.UserLockedOut);
throw new BusinessException(BasicManagementErrorCodes.UserLockedOut);
}
if (!result.Succeeded)
{
throw new BusinessException(AbpProDomainErrorCodes.UserOrPasswordMismatch);
throw new BusinessException(BasicManagementErrorCodes.UserOrPasswordMismatch);
}
var user = await _userManager.FindByNameAsync(input.Name);
@ -57,7 +49,7 @@ namespace Lion.AbpPro.Users
private async Task<LoginOutput> BuildResult(IdentityUser user)
{
if (!user.IsActive) throw new BusinessException(AbpProDomainErrorCodes.UserLockedOut);
if (!user.IsActive) throw new BusinessException(BasicManagementErrorCodes.UserLockedOut);
var roles = await _userManager.GetRolesAsync(user);
if (roles == null || roles.Count == 0) throw new AbpAuthorizationException();
var token = GenerateJwt(user.Id, user.UserName, user.Name, user.Email,

15
aspnet-core/services/src/Lion.AbpPro.Application/Users/UserAppService.cs → aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs

@ -1,7 +1,14 @@
namespace Lion.AbpPro.Users
using Lion.AbpPro.BasicManagement.Users.Dtos;
using Magicodes.ExporterAndImporter.Excel;
using Magicodes.ExporterAndImporter.Excel.AspNetCore;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Account;
namespace Lion.AbpPro.BasicManagement.Users
{
[Authorize]
public class UserAppService : AbpProAppService, IUserAppService
public class UserAppService : BasicManagementAppService, IUserAppService
{
private readonly IIdentityUserAppService _identityUserAppService;
private readonly IdentityUserManager _userManager;
@ -47,7 +54,7 @@ namespace Lion.AbpPro.Users
/// 用户导出列表
/// </summary>
/// <returns></returns>
[Authorize(AbpProPermissions.SystemManagement.UserExport)]
[Authorize(BasicManagementPermissions.SystemManagement.UserExport)]
public async Task<ActionResult> ExportAsync(PagingUserListInput input)
{
var request = new GetIdentityUsersInput
@ -136,7 +143,7 @@ namespace Lion.AbpPro.Users
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(AbpProPermissions.SystemManagement.UserEnable)]
[Authorize(BasicManagementPermissions.SystemManagement.UserEnable)]
public async Task LockAsync(LockUserInput input)
{
var identityUser = await _userManager.GetByIdAsync(input.UserId);

9
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementConsts.cs

@ -0,0 +1,9 @@
namespace Lion.AbpPro.BasicManagement;
public static class BasicManagementConsts
{
/// <summary>名称空间</summary>
public const string NameSpace = "Lion.AbpPro.BasicManagement";
/// <summary>默认语言</summary>
public const string DefaultCultureName = "zh-Hans";
}

39
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementDomainSharedModule.cs

@ -0,0 +1,39 @@
namespace Lion.AbpPro.BasicManagement;
[DependsOn(
typeof(AbpAuditLoggingDomainSharedModule),
typeof(AbpBackgroundJobsDomainSharedModule),
typeof(AbpFeatureManagementDomainSharedModule),
typeof(AbpIdentityDomainSharedModule),
typeof(AbpPermissionManagementDomainSharedModule),
typeof(AbpSettingManagementDomainSharedModule),
typeof(AbpTenantManagementDomainSharedModule)
)]
public class BasicManagementDomainSharedModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<BasicManagementDomainSharedModule>(BasicManagementConsts.NameSpace);
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<BasicManagementResource>(BasicManagementConsts.DefaultCultureName)
.AddVirtualJson("/Localization/BasicManagement")
.AddBaseTypes(typeof(IdentityResource))
.AddBaseTypes(typeof(AbpValidationResource))
.AddBaseTypes(typeof(AbpLocalizationResource))
.AddBaseTypes(typeof(AbpSettingManagementResource));
options.DefaultResourceType = typeof(BasicManagementResource);
});
Configure<AbpExceptionLocalizationOptions>(options =>
{
options.MapCodeNamespace(BasicManagementConsts.NameSpace, typeof(BasicManagementResource));
});
}
}

8
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementErrorCodes.cs

@ -0,0 +1,8 @@
namespace Lion.AbpPro.BasicManagement;
public static class BasicManagementErrorCodes
{
public const string OrganizationUnitNotExist =BasicManagementConsts.NameSpace+ ":100001";
public const string UserLockedOut =BasicManagementConsts.NameSpace+ ":100002";
public const string UserOrPasswordMismatch =BasicManagementConsts.NameSpace+ ":100003";
}

3
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/FodyWeavers.xml

@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<ConfigureAwait ContinueOnCapturedContext="false" />
</Weavers>

30
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/FodyWeavers.xsd

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
<xs:element name="Weavers">
<xs:complexType>
<xs:all>
<xs:element name="ConfigureAwait" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="ContinueOnCapturedContext" type="xs:boolean" />
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="VerifyAssembly" type="xs:boolean">
<xs:annotation>
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
<xs:annotation>
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="GenerateXsd" type="xs:boolean">
<xs:annotation>
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

19
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/GlobalUsings.cs

@ -0,0 +1,19 @@
// Global using directives
global using Lion.AbpPro.BasicManagement.Localization;
global using Volo.Abp.AuditLogging;
global using Volo.Abp.BackgroundJobs;
global using Volo.Abp.FeatureManagement;
global using Volo.Abp.Identity;
global using Volo.Abp.Identity.Localization;
global using Volo.Abp.Localization;
global using Volo.Abp.Localization.ExceptionHandling;
global using Volo.Abp.Localization.Resources.AbpLocalization;
global using Volo.Abp.Modularity;
global using Volo.Abp.PermissionManagement;
global using Volo.Abp.SettingManagement;
global using Volo.Abp.SettingManagement.Localization;
global using Volo.Abp.TenantManagement;
global using Volo.Abp.Validation;
global using Volo.Abp.Validation.Localization;
global using Volo.Abp.VirtualFileSystem;

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save