Browse Source

rename LINGYUN.Abp.FileManagement.* to LINGYUN.Abp.OssManagement.*

pull/216/head
cKey 5 years ago
parent
commit
9e7d3badd7
  1. 28
      aspnet-core/LINGYUN.MicroService.All.sln
  2. 18
      aspnet-core/LINGYUN.MicroService.BackendAdmin.sln
  3. 54
      aspnet-core/LINGYUN.MicroService.Platform.sln
  4. 22
      aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md
  5. 12
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationContractsModule.cs
  6. 49
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureDefinitionProvider.cs
  7. 23
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureNames.cs
  8. 34
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissionDefinitionProvider.cs
  9. 44
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissions.cs
  10. 23
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationModule.cs
  11. 13
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/FileManagementApplicationServiceBase.cs
  12. 9
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/AbpFileManagementResource.cs
  13. 9
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementContainer.cs
  14. 15
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementDomainModule.cs
  15. 18
      aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssProviderArgs.cs
  16. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN.Abp.OssManagement.Aliyun.csproj
  17. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AbpOssManagementAliyunModule.cs
  18. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainer.cs
  19. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainerFactory.cs
  20. 0
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/README.md
  21. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN.Abp.OssManagement.Application.Contracts.csproj
  22. 12
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationContractsModule.cs
  23. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/BulkDeleteOssObjectInput.cs
  24. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/CreateOssObjectInput.cs
  25. 73
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureDefinitionProvider.cs
  26. 41
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureNames.cs
  27. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssContainersInput.cs
  28. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectInput.cs
  29. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectsInput.cs
  30. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetStaticFileInput.cs
  31. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssContainerAppService.cs
  32. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssObjectAppService.cs
  33. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IStaticFilesAppService.cs
  34. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainerDto.cs
  35. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainersResultDto.cs
  36. 7
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssManagementRemoteServiceConsts.cs
  37. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectDto.cs
  38. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectsResultDto.cs
  39. 27
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissionDefinitionProvider.cs
  40. 27
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissions.cs
  41. 4
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN.Abp.OssManagement.Application.csproj
  42. 23
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationModule.cs
  43. 11
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssContainerAppService.cs
  44. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationAutoMapperProfile.cs
  45. 14
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationServiceBase.cs
  46. 27
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssObjectAppService.cs
  47. 14
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/StaticFilesAppService.cs
  48. 8
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN.Abp.OssManagement.Domain.Shared.csproj
  49. 14
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/AbpOssManagementDomainSharedModule.cs
  50. 9
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/AbpOssManagementResource.cs
  51. 33
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/en.json
  52. 37
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/zh-Hans.json
  53. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/OssManagementErrorCodes.cs
  54. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingDefinitionProvider.cs
  55. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingNames.cs
  56. 0
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/System/IO/StreamExtensions.cs
  57. 3
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN.Abp.OssManagement.Domain.csproj
  58. 9
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementContainer.cs
  59. 17
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementDomainModule.cs
  60. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/BulkDeleteObjectRequest.cs
  61. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/CreateOssObjectRequest.cs
  62. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersRequest.cs
  63. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersResponse.cs
  64. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectRequest.cs
  65. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsRequest.cs
  66. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsResponse.cs
  67. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainer.cs
  68. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerExtensions.cs
  69. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerFactory.cs
  70. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssContainer.cs
  71. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObject.cs
  72. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObjectComparer.cs
  73. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj
  74. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/AbpOssManagementFileSystemImageSharpModule.cs
  75. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/ImageSharpFileSystemOssObjectProcesser.cs
  76. 4
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/README.md
  77. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN.Abp.OssManagement.FileSystem.csproj
  78. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/AbpOssManagementFileSystemModule.cs
  79. 24
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainer.cs
  80. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainerFactory.cs
  81. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssObjectContext.cs
  82. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptions.cs
  83. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptionsExtensions.cs
  84. 5
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/IFileSystemOssObjectProcesserContributor.cs
  85. 5
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/NoneFileSystemOssObjectProcesser.cs
  86. 0
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/README.md
  87. 4
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN.Abp.OssManagement.HttpApi.csproj
  88. 8
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/AbpOssManagementHttpApiModule.cs
  89. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/FileValidater.cs
  90. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/IFileValidater.cs
  91. 9
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssContainerController.cs
  92. 13
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssObjectController.cs
  93. 16
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/StaticFilesController.cs
  94. 2
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/UploadOssObjectInput.cs
  95. 20
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/AbpOssManagementSettingManagementModule.cs
  96. 18
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN.Abp.OssManagement.SettingManagement.csproj
  97. 13
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/IOssManagementSettingAppService.cs
  98. 73
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/OssManagementSettingAppService.cs
  99. 37
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/OssManagementSettingController.cs
  100. 1
      aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj

28
aspnet-core/LINGYUN.MicroService.All.sln

@ -177,17 +177,20 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.HttpAp
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.HttpApi.Client", "modules\identity\LINGYUN.Abp.Identity.HttpApi.Client\LINGYUN.Abp.Identity.HttpApi.Client.csproj", "{7DDEAEA9-E392-469C-ACB6-908C5BAD669E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "file-management", "file-management", "{B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "oss-management", "oss-management", "{B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}"
ProjectSection(SolutionItems) = preProject
modules\cloud-aliyun\LINGYUN.Abp.Aliyun\README.md = modules\cloud-aliyun\LINGYUN.Abp.Aliyun\README.md
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application", "modules\file-management\LINGYUN.Abp.FileManagement.Application\LINGYUN.Abp.FileManagement.Application.csproj", "{F3D50E3E-34D2-48C1-AB0D-ADCF92DC07D0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application", "modules\oss-management\LINGYUN.Abp.OssManagement.Application\LINGYUN.Abp.OssManagement.Application.csproj", "{F3D50E3E-34D2-48C1-AB0D-ADCF92DC07D0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application.Contracts", "modules\file-management\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj", "{86A67B8C-EFA0-4103-B60F-312F07C15A7A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application.Contracts", "modules\oss-management\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj", "{86A67B8C-EFA0-4103-B60F-312F07C15A7A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.HttpApi", "modules\file-management\LINGYUN.Abp.FileManagement.HttpApi\LINGYUN.Abp.FileManagement.HttpApi.csproj", "{854E1A42-FEA4-420E-9E83-0A39EE03F1ED}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.HttpApi", "modules\oss-management\LINGYUN.Abp.OssManagement.HttpApi\LINGYUN.Abp.OssManagement.HttpApi.csproj", "{854E1A42-FEA4-420E-9E83-0A39EE03F1ED}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain.Shared", "modules\file-management\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj", "{21FCEF89-9A3F-476E-833A-A9C2131B2AE6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain.Shared", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj", "{21FCEF89-9A3F-476E-833A-A9C2131B2AE6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain", "modules\file-management\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj", "{14ECCFD6-2DC1-4124-BE26-15E8D28E3E90}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj", "{14ECCFD6-2DC1-4124-BE26-15E8D28E3E90}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.HttpApi.Host", "services\platform\LINGYUN.Platform.HttpApi.Host\LINGYUN.Platform.HttpApi.Host.csproj", "{372123C3-3AFD-42C8-BB80-778322EA72C3}"
EndProject
@ -273,11 +276,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.SettingM
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.Tests", "tests\LINGYUN.Abp.Aliyun.Tests\LINGYUN.Abp.Aliyun.Tests.csproj", "{B86EBB6F-A27F-4277-8265-937951A9DCB0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Aliyun", "modules\file-management\LINGYUN.Abp.FileManagement.Aliyun\LINGYUN.Abp.FileManagement.Aliyun.csproj", "{35B17218-9FB6-439E-AF73-9A1454BC923C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Aliyun", "modules\oss-management\LINGYUN.Abp.OssManagement.Aliyun\LINGYUN.Abp.OssManagement.Aliyun.csproj", "{35B17218-9FB6-439E-AF73-9A1454BC923C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.FileSystem", "modules\file-management\LINGYUN.Abp.FileManagement.FileSystem\LINGYUN.Abp.FileManagement.FileSystem.csproj", "{D5036D3F-1C53-47EE-BA50-AD290AE062D7}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.FileSystem", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem\LINGYUN.Abp.OssManagement.FileSystem.csproj", "{D5036D3F-1C53-47EE-BA50-AD290AE062D7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FileManagement.FileSystem.ImageSharp", "modules\file-management\LINGYUN.Abp.FileManagement.FileSystem.ImageSharp\LINGYUN.Abp.FileManagement.FileSystem.ImageSharp.csproj", "{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.FileSystem.ImageSharp", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj", "{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.SettingManagement", "modules\oss-management\LINGYUN.Abp.OssManagement.SettingManagement\LINGYUN.Abp.OssManagement.SettingManagement.csproj", "{BD74BE00-54E4-4979-8797-E8027695F396}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -737,6 +742,10 @@ Global
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F}.Release|Any CPU.Build.0 = Release|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD74BE00-54E4-4979-8797-E8027695F396}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -877,6 +886,7 @@ Global
{35B17218-9FB6-439E-AF73-9A1454BC923C} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
{D5036D3F-1C53-47EE-BA50-AD290AE062D7} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
{3E5EBCEC-78C9-4A1A-BF04-A216AA6A921F} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
{BD74BE00-54E4-4979-8797-E8027695F396} = {B05CB08F-C088-4D6D-97EE-A94A5D1AE4A6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C95FDF91-16F2-4A8B-A4BE-0E62D1B66718}

18
aspnet-core/LINGYUN.MicroService.BackendAdmin.sln

@ -43,9 +43,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "permissions-management", "p
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Domain", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Domain\LINGYUN.Abp.PermissionManagement.Domain.csproj", "{7521486D-2144-4AFA-86AD-8E8021479DE6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "file-management", "file-management", "{8F972C8E-F047-4883-A4BF-3423A2BAED36}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain.Shared", "modules\file-management\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj", "{49F8CD24-85EA-479A-A376-CC31A0618AE7}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "oss-management", "oss-management", "{8F972C8E-F047-4883-A4BF-3423A2BAED36}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "account", "account", "{9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770}"
EndProject
@ -67,7 +65,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.MiniProg
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.Official", "modules\wechat\LINGYUN.Abp.WeChat.Official\LINGYUN.Abp.WeChat.Official.csproj", "{EAD2F955-88CA-4570-AB81-31FB2FF02605}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.WeChat.SettingManagement", "modules\wechat\LINGYUN.Abp.WeChat.SettingManagement\LINGYUN.Abp.WeChat.SettingManagement.csproj", "{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.SettingManagement", "modules\wechat\LINGYUN.Abp.WeChat.SettingManagement\LINGYUN.Abp.WeChat.SettingManagement.csproj", "{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application.Contracts", "modules\oss-management\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj", "{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -127,10 +127,6 @@ Global
{7521486D-2144-4AFA-86AD-8E8021479DE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7521486D-2144-4AFA-86AD-8E8021479DE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7521486D-2144-4AFA-86AD-8E8021479DE6}.Release|Any CPU.Build.0 = Release|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{49F8CD24-85EA-479A-A376-CC31A0618AE7}.Release|Any CPU.Build.0 = Release|Any CPU
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -167,6 +163,10 @@ Global
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB}.Release|Any CPU.Build.0 = Release|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -191,7 +191,6 @@ Global
{D25C4814-71AB-4A9D-8C76-298A7DE1A747} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C}
{7521486D-2144-4AFA-86AD-8E8021479DE6} = {D25C4814-71AB-4A9D-8C76-298A7DE1A747}
{8F972C8E-F047-4883-A4BF-3423A2BAED36} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C}
{49F8CD24-85EA-479A-A376-CC31A0618AE7} = {8F972C8E-F047-4883-A4BF-3423A2BAED36}
{9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770} = {ED23B2F3-87C1-44B6-8906-9DE739422C2C}
{AA2F7243-976C-47F3-9B4E-20CC22F8FCF4} = {9DAD2CA8-16B6-4006-BD8E-EE3E9BAA3770}
{E758D3A7-DB93-4EAC-A2ED-C2322D4F7D67} = {2F56344F-6E06-4F9B-A0F2-8A6F0AEB096A}
@ -203,6 +202,7 @@ Global
{D42CE0F0-331F-4E5C-92CD-6B4DD6854E69} = {B36F627B-FD7D-4357-A623-F01AFF78B80D}
{EAD2F955-88CA-4570-AB81-31FB2FF02605} = {B36F627B-FD7D-4357-A623-F01AFF78B80D}
{3FD9C35C-3A8D-49F5-B7C5-4828AA3407AB} = {B36F627B-FD7D-4357-A623-F01AFF78B80D}
{5C3D0A48-4EE3-4968-9826-5F52ADDC22C4} = {8F972C8E-F047-4883-A4BF-3423A2BAED36}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1573B900-87BA-4AD3-B785-6DD78127ADEF}

54
aspnet-core/LINGYUN.MicroService.Platform.sln

@ -23,17 +23,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.HttpApi.Ho
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "platform", "platform", "{4096EC6A-EEAD-4E5B-B087-393D7A4E5874}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "file-management", "file-management", "{C7D0EB39-3418-4A7C-AD94-FAB76F023E88}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "oss-management", "oss-management", "{C7D0EB39-3418-4A7C-AD94-FAB76F023E88}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain.Shared", "modules\file-management\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj", "{4D3C1EBD-1A4A-4300-A889-72DA0E082BAE}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain.Shared", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj", "{4D3C1EBD-1A4A-4300-A889-72DA0E082BAE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Domain", "modules\file-management\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj", "{D6D4C667-B58C-4266-9929-AFE54C8F0FBA}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Domain", "modules\oss-management\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj", "{D6D4C667-B58C-4266-9929-AFE54C8F0FBA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application.Contracts", "modules\file-management\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj", "{A1561B9D-2EAB-4C6A-AE62-9D517A450D4D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application.Contracts", "modules\oss-management\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj", "{A1561B9D-2EAB-4C6A-AE62-9D517A450D4D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.Application", "modules\file-management\LINGYUN.Abp.FileManagement.Application\LINGYUN.Abp.FileManagement.Application.csproj", "{1C3A25AF-9A59-4532-88A4-E57BECFA7E96}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.Application", "modules\oss-management\LINGYUN.Abp.OssManagement.Application\LINGYUN.Abp.OssManagement.Application.csproj", "{1C3A25AF-9A59-4532-88A4-E57BECFA7E96}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FileManagement.HttpApi", "modules\file-management\LINGYUN.Abp.FileManagement.HttpApi\LINGYUN.Abp.FileManagement.HttpApi.csproj", "{C616C167-E5DF-4141-98BE-F98C58890122}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.HttpApi", "modules\oss-management\LINGYUN.Abp.OssManagement.HttpApi\LINGYUN.Abp.OssManagement.HttpApi.csproj", "{C616C167-E5DF-4141-98BE-F98C58890122}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tenants", "tenants", "{8CDB2F58-9541-4FB2-8A37-079C5E6A1689}"
EndProject
@ -49,7 +49,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.EntityFram
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Platform.Domain.Tests", "tests\LINGYUN.Platform.Domain.Tests\LINGYUN.Platform.Domain.Tests.csproj", "{C60A06F2-0F4C-483F-BE2B-B103F0D726CE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FileManagement.Aliyun", "modules\file-management\LINGYUN.Abp.FileManagement.Aliyun\LINGYUN.Abp.FileManagement.Aliyun.csproj", "{104EDC09-0CEA-4AB0-BFF5-B009D4679419}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.OssManagement.Aliyun", "modules\oss-management\LINGYUN.Abp.OssManagement.Aliyun\LINGYUN.Abp.OssManagement.Aliyun.csproj", "{104EDC09-0CEA-4AB0-BFF5-B009D4679419}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{265D5E44-682B-49BC-984A-BDD8CA45E60E}"
EndProject
@ -57,7 +57,19 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun", "modul
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.BlobStoring.Aliyun", "modules\common\LINGYUN.Abp.BlobStoring.Aliyun\LINGYUN.Abp.BlobStoring.Aliyun.csproj", "{95E0D070-ACFB-40DF-A4EC-FC75EA5AF6B0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FileManagement.FileSystem", "modules\file-management\LINGYUN.Abp.FileManagement.FileSystem\LINGYUN.Abp.FileManagement.FileSystem.csproj", "{B5569DCD-445E-445B-87E7-D8D4E03F0F76}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.OssManagement.FileSystem", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem\LINGYUN.Abp.OssManagement.FileSystem.csproj", "{B5569DCD-445E-445B-87E7-D8D4E03F0F76}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.OssManagement.FileSystem.ImageSharp", "modules\oss-management\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp\LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj", "{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Features.LimitValidation", "modules\common\LINGYUN.Abp.Features.LimitValidation\LINGYUN.Abp.Features.LimitValidation.csproj", "{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Features.LimitValidation.Redis", "modules\common\LINGYUN.Abp.Features.LimitValidation.Redis\LINGYUN.Abp.Features.LimitValidation.Redis.csproj", "{644F2582-D655-43B5-9EA4-D010C94B33AF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "setting-management", "setting-management", "{3855CE63-91CF-4F96-97F6-BEAB444B25CB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.SettingManagement.Application.Contracts", "modules\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj", "{D1D288D1-3178-439F-8EFD-E29D6F66E673}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.OssManagement.SettingManagement", "modules\oss-management\LINGYUN.Abp.OssManagement.SettingManagement\LINGYUN.Abp.OssManagement.SettingManagement.csproj", "{07D1B07A-3C95-40A8-AA53-619EC067FD45}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -149,6 +161,26 @@ Global
{B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B5569DCD-445E-445B-87E7-D8D4E03F0F76}.Release|Any CPU.Build.0 = Release|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1}.Release|Any CPU.Build.0 = Release|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC}.Release|Any CPU.Build.0 = Release|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{644F2582-D655-43B5-9EA4-D010C94B33AF}.Release|Any CPU.Build.0 = Release|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1D288D1-3178-439F-8EFD-E29D6F66E673}.Release|Any CPU.Build.0 = Release|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Debug|Any CPU.Build.0 = Debug|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Release|Any CPU.ActiveCfg = Release|Any CPU
{07D1B07A-3C95-40A8-AA53-619EC067FD45}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -179,6 +211,12 @@ Global
{8A393F7F-85A2-48ED-9B56-9CEFF3BDE34A} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{95E0D070-ACFB-40DF-A4EC-FC75EA5AF6B0} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{B5569DCD-445E-445B-87E7-D8D4E03F0F76} = {C7D0EB39-3418-4A7C-AD94-FAB76F023E88}
{1AA232B1-5999-43AE-A5C8-7973AFCC8BD1} = {C7D0EB39-3418-4A7C-AD94-FAB76F023E88}
{D121A3CF-7A7F-4349-ACCA-BED9433AFFEC} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{644F2582-D655-43B5-9EA4-D010C94B33AF} = {265D5E44-682B-49BC-984A-BDD8CA45E60E}
{3855CE63-91CF-4F96-97F6-BEAB444B25CB} = {15BDA03E-DE8E-46E4-96A8-CA3F2872E812}
{D1D288D1-3178-439F-8EFD-E29D6F66E673} = {3855CE63-91CF-4F96-97F6-BEAB444B25CB}
{07D1B07A-3C95-40A8-AA53-619EC067FD45} = {C7D0EB39-3418-4A7C-AD94-FAB76F023E88}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {03D3B66F-8926-4C00-B7AB-A21761EC859E}

22
aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md

@ -1,3 +1,25 @@
# Oss-Management
File-Management更名为Oss-Management
## 模块说明
### 基础模块
* LINGYUN.Abp.OssManagement.Domain.Shared 领域层公共模块,定义了错误代码、本地化、模块设置
* LINGYUN.Abp.OssManagement.Domain 领域层模块,定义了抽象的Oss容器与对象管理接口
* LINGYUN.Abp.OssManagement.Application.Contracts 应用服务层公共模块,定义了管理Oss的外部接口、权限、功能限制策略
* LINGYUN.Abp.OssManagement.Application 应用服务层实现,实现了Oss管理接口
* LINGYUN.Abp.OssManagement.HttpApi RestApi实现,实现了独立的对外RestApi接口
* LINGYUN.Abp.OssManagement.SettingManagement 设置管理模块,对外暴露自身的设置管理,用于网关聚合
### 高阶模块
* LINGYUN.Abp.OssManagement.Aliyun Oss管理的阿里云实现,实现了部分阿里云Oss服务的容器与对象管理
* LINGYUN.Abp.OssManagement.FileSystem Oss管理的本地文件系统实现,实现了部分本地文件系统的容器(目录)与对象(文件/目录)管理
* LINGYUN.Abp.OssManagement.FileSystem.ImageSharp Oss本地对象的ImageSharp扩展,当前端传递需求处理对象时,此模块用于实现基于图形文件流的处理
## 更新日志
*【2021-03-10】 变更FileManagement命名空间为OssManagement

12
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationContractsModule.cs

@ -1,12 +0,0 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement
{
[DependsOn(
typeof(AbpFileManagementDomainSharedModule),
typeof(AbpDddApplicationModule))]
public class AbpFileManagementApplicationContractsModule : AbpModule
{
}
}

49
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureDefinitionProvider.cs

@ -1,49 +0,0 @@
using LINGYUN.Abp.FileManagement.Localization;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;
namespace LINGYUN.Abp.FileManagement.Features
{
public class AbpFileManagementFeatureDefinitionProvider : FeatureDefinitionProvider
{
public override void Define(IFeatureDefinitionContext context)
{
var featureGroup = context.AddGroup(
name: AbpFileManagementFeatureNames.GroupName,
displayName: L("Features:FileManagement"));
var fileSystemFeature = featureGroup.AddFeature(
name: AbpFileManagementFeatureNames.FileSystem.Default,
displayName: L("Features:DisplayName:FileSystem"),
description: L("Features:Description:FileSystem"));
fileSystemFeature.CreateChild(
name: AbpFileManagementFeatureNames.FileSystem.DownloadFile,
defaultValue: false.ToString(),
displayName: L("Features:DisplayName:DownloadFile"),
description: L("Features:Description:DownloadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
fileSystemFeature.CreateChild(
name: AbpFileManagementFeatureNames.FileSystem.UploadFile,
defaultValue: true.ToString(),
displayName: L("Features:DisplayName:UploadFile"),
description: L("Features:Description:UploadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
// TODO: 此功能需要控制器协同,暂时不实现
fileSystemFeature.CreateChild(
name: AbpFileManagementFeatureNames.FileSystem.MaxUploadFileCount,
defaultValue: 1.ToString(),
displayName: L("Features:DisplayName:MaxUploadFileCount"),
description: L("Features:Description:MaxUploadFileCount"),
valueType: new FreeTextStringValueType(new NumericValueValidator(1, 10)));
}
protected ILocalizableString L(string name)
{
return LocalizableString.Create<AbpFileManagementResource>(name);
}
}
}

23
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Features/AbpFileManagementFeatureNames.cs

@ -1,23 +0,0 @@
namespace LINGYUN.Abp.FileManagement.Features
{
public class AbpFileManagementFeatureNames
{
public const string GroupName = "Abp.FileManagement";
public class FileSystem
{
public const string Default = GroupName + ".FileSystem";
/// <summary>
/// 下载文件功能
/// </summary>
public const string DownloadFile = Default + ".DownloadFile";
/// <summary>
/// 上传文件功能
/// </summary>
public const string UploadFile = Default + ".UploadFile";
/// <summary>
/// 最大上传文件
/// </summary>
public const string MaxUploadFileCount = Default + ".MaxUploadFileCount";
}
}
}

34
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissionDefinitionProvider.cs

@ -1,34 +0,0 @@
using LINGYUN.Abp.FileManagement.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace LINGYUN.Abp.FileManagement.Permissions
{
public class AbpFileManagementPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var fileManagement = context.AddGroup(AbpFileManagementPermissions.GroupName, L("Permission:FileManagement"));
var fileSystem = fileManagement.AddPermission(AbpFileManagementPermissions.FileSystem.Default, L("Permission:FileSystem"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Create, L("Permission:CreateFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Delete, L("Permission:DeleteFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Update, L("Permission:UpdateFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Copy, L("Permission:CopyFolder"));
fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.Move, L("Permission:MoveFolder"));
var fileManager = fileSystem.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Default, L("Permission:FileManager"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Create, L("Permission:AppendFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Update, L("Permission:UpdateFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Delete, L("Permission:DeleteFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Copy, L("Permission:CopyFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Move, L("Permission:MoveFile"));
fileManager.AddChild(AbpFileManagementPermissions.FileSystem.FileManager.Download, L("Permission:DownloadFile"));
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<AbpFileManagementResource>(name);
}
}
}

44
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/Permissions/AbpFileManagementPermissions.cs

@ -1,44 +0,0 @@
namespace LINGYUN.Abp.FileManagement.Permissions
{
public class AbpFileManagementPermissions
{
public const string GroupName = "AbpFileManagement";
/// <summary>
/// 文件系统
/// </summary>
public class FileSystem
{
public const string Default = GroupName + ".FileSystem";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
public const string Update = Default + ".Update";
public const string Copy = Default + ".Copy";
public const string Move = Default + ".Move";
/// <summary>
/// 文件管理
/// </summary>
public class FileManager
{
public const string Default = FileSystem.Default + ".FileManager";
public const string Create = Default + ".Create";
public const string Copy = Default + ".Copy";
public const string Delete = Default + ".Delete";
public const string Update = Default + ".Update";
public const string Move = Default + ".Move";
public const string Download = Default + ".Download";
}
}
}
}

23
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/AbpFileManagementApplicationModule.cs

@ -1,23 +0,0 @@
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Microsoft.Extensions.DependencyInjection;
namespace LINGYUN.Abp.FileManagement
{
[DependsOn(
typeof(AbpAutoMapperModule),
typeof(AbpFileManagementDomainModule),
typeof(AbpFileManagementApplicationContractsModule))]
public class AbpFileManagementApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<AbpFileManagementApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<FileManagementApplicationAutoMapperProfile>(validate: true);
});
}
}
}

13
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/FileManagementApplicationServiceBase.cs

@ -1,13 +0,0 @@
using LINGYUN.Abp.FileManagement.Localization;
using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
{
public class FileManagementApplicationServiceBase : ApplicationService
{
protected FileManagementApplicationServiceBase()
{
LocalizationResource = typeof(AbpFileManagementResource);
}
}
}

9
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/AbpFileManagementResource.cs

@ -1,9 +0,0 @@
using Volo.Abp.Localization;
namespace LINGYUN.Abp.FileManagement.Localization
{
[LocalizationResourceName("AbpFileManagement")]
public class AbpFileManagementResource
{
}
}

9
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementContainer.cs

@ -1,9 +0,0 @@
using Volo.Abp.BlobStoring;
namespace LINGYUN.Abp.FileManagement
{
[BlobContainerName("abp-file-management")]
public class AbpFileManagementContainer
{
}
}

15
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/AbpFileManagementDomainModule.cs

@ -1,15 +0,0 @@
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement
{
[DependsOn(
typeof(AbpDddDomainModule),
typeof(AbpMultiTenancyModule),
typeof(AbpFileManagementDomainSharedModule)
)]
public class AbpFileManagementDomainModule : AbpModule
{
}
}

18
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssProviderArgs.cs

@ -1,18 +0,0 @@
using System.Threading;
using Volo.Abp.BlobStoring;
namespace LINGYUN.Abp.FileManagement.FileSystem
{
public class FileSystemOssProviderArgs : BlobProviderArgs
{
public FileSystemOssProviderArgs(
string containerName,
BlobContainerConfiguration configuration,
string blobName,
CancellationToken cancellationToken = default)
: base(containerName, configuration, blobName, cancellationToken)
{
}
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN.Abp.FileManagement.Aliyun.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN.Abp.OssManagement.Aliyun.csproj

@ -7,7 +7,7 @@
<ItemGroup>
<ProjectReference Include="..\..\common\LINGYUN.Abp.BlobStoring.Aliyun\LINGYUN.Abp.BlobStoring.Aliyun.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup>
</Project>

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN/Abp/FileManagement/Aliyun/AbpFileManagementAliyunModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AbpOssManagementAliyunModule.cs

@ -2,12 +2,12 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement.Aliyun
namespace LINGYUN.Abp.OssManagement.Aliyun
{
[DependsOn(
typeof(AbpBlobStoringAliyunModule),
typeof(AbpFileManagementDomainModule))]
public class AbpFileManagementAliyunModule : AbpModule
typeof(AbpOssManagementDomainModule))]
public class AbpOssManagementAliyunModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN/Abp/FileManagement/Aliyun/AliyunOssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainer.cs

@ -8,7 +8,7 @@ using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.Aliyun
namespace LINGYUN.Abp.OssManagement.Aliyun
{
/// <summary>
/// Oss容器的阿里云实现
@ -40,7 +40,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (BucketExists(ossClient, name))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerAlreadyExists);
throw new BusinessException(code: OssManagementErrorCodes.ContainerAlreadyExists);
}
var bucket = ossClient.CreateBucket(name);
@ -69,7 +69,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (ObjectExists(ossClient, request.Bucket, objectName))
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectAlreadyExists);
throw new BusinessException(code: OssManagementErrorCodes.ObjectAlreadyExists);
}
// 当一个对象名称是以 / 结尾时,不论该对象是否存有数据,都以目录的形式存在
@ -151,7 +151,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (objectListing.CommonPrefixes.Any() ||
objectListing.ObjectSummaries.Any())
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectDeleteWithNotEmpty);
throw new BusinessException(code: OssManagementErrorCodes.ObjectDeleteWithNotEmpty);
// throw new ObjectDeleteWithNotEmptyException("00201", $"Can't not delete oss object {request.Object}, because it is not empty!");
}
ossClient.DeleteObject(request.Bucket, objectName);
@ -170,7 +170,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
var ossClient = await CreateClientAsync();
if (!BucketExists(ossClient, name))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {name} in aliyun blob storing");
}
var bucket = ossClient.GetBucketInfo(name);
@ -192,7 +192,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
var ossClient = await CreateClientAsync();
if (!BucketExists(ossClient, request.Bucket))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {request.Bucket} in aliyun blob storing");
}
@ -203,7 +203,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
if (!ObjectExists(ossClient, request.Bucket, objectName))
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ObjectNotFound);
// throw new ContainerNotFoundException($"Can't not found object {objectName} in container {request.Bucket} with aliyun blob storing");
}
@ -363,7 +363,7 @@ namespace LINGYUN.Abp.FileManagement.Aliyun
protected virtual async Task<IOss> CreateClientAsync()
{
return await OssClientFactory.CreateAsync<AbpFileManagementContainer>();
return await OssClientFactory.CreateAsync<AbpOssManagementContainer>();
}
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/LINGYUN/Abp/FileManagement/Aliyun/AliyunOssContainerFactory.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/LINGYUN/Abp/OssManagement/Aliyun/AliyunOssContainerFactory.cs

@ -1,7 +1,7 @@
using LINGYUN.Abp.BlobStoring.Aliyun;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.Aliyun
namespace LINGYUN.Abp.OssManagement.Aliyun
{
public class AliyunOssContainerFactory : IOssContainerFactory
{

0
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Aliyun/README.md → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Aliyun/README.md

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN.Abp.FileManagement.Application.Contracts.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN.Abp.OssManagement.Application.Contracts.csproj

@ -12,7 +12,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj" />
</ItemGroup>
</Project>

12
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationContractsModule.cs

@ -0,0 +1,12 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpOssManagementDomainSharedModule),
typeof(AbpDddApplicationModule))]
public class AbpOssManagementApplicationContractsModule : AbpModule
{
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/BulkDeleteOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/BulkDeleteOssObjectInput.cs

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class BulkDeleteOssObjectInput
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/CreateOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/CreateOssObjectInput.cs

@ -3,7 +3,7 @@ using System.IO;
using Volo.Abp.Auditing;
using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class CreateOssObjectInput
{

73
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureDefinitionProvider.cs

@ -0,0 +1,73 @@
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Validation.StringValues;
namespace LINGYUN.Abp.OssManagement.Features
{
public class AbpOssManagementFeatureDefinitionProvider : FeatureDefinitionProvider
{
public override void Define(IFeatureDefinitionContext context)
{
var featureGroup = context.AddGroup(
name: AbpOssManagementFeatureNames.GroupName,
displayName: L("Features:OssManagement"));
var ossFeature = featureGroup.AddFeature(
name: AbpOssManagementFeatureNames.OssObject.Default,
displayName: L("Features:DisplayName:OssObject"),
description: L("Features:Description:OssObject"));
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.DownloadFile,
defaultValue: false.ToString(),
displayName: L("Features:DisplayName:DownloadFile"),
description: L("Features:Description:DownloadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.DownloadLimit,
defaultValue: "1000",
displayName: L("Features:DisplayName:DownloadLimit"),
description: L("Features:Description:DownloadLimit"),
valueType: new FreeTextStringValueType(new NumericValueValidator(0, 100_0000))); // 上限100万次调用
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.DownloadInterval,
defaultValue: "1",
displayName: L("Features:DisplayName:DownloadInterval"),
description: L("Features:Description:DownloadInterval"),
valueType: new FreeTextStringValueType(new NumericValueValidator(1, 12))); // 上限12月
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.UploadFile,
defaultValue: true.ToString(),
displayName: L("Features:DisplayName:UploadFile"),
description: L("Features:Description:UploadFile"),
valueType: new ToggleStringValueType(new BooleanValueValidator()));
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.UploadLimit,
defaultValue: "1000",
displayName: L("Features:DisplayName:UploadLimit"),
description: L("Features:Description:UploadLimit"),
valueType: new FreeTextStringValueType(new NumericValueValidator(0, 100_0000))); // 上限100万次调用
ossFeature.CreateChild(
name: AbpOssManagementFeatureNames.OssObject.UploadInterval,
defaultValue: "1",
displayName: L("Features:DisplayName:UploadInterval"),
description: L("Features:Description:UploadInterval"),
valueType: new FreeTextStringValueType(new NumericValueValidator(1, 12))); // 上限12月
// TODO: 此功能需要控制器协同,暂时不实现
//fileSystemFeature.CreateChild(
// name: AbpOssManagementFeatureNames.OssObject.MaxUploadFileCount,
// defaultValue: 1.ToString(),
// displayName: L("Features:DisplayName:MaxUploadFileCount"),
// description: L("Features:Description:MaxUploadFileCount"),
// valueType: new FreeTextStringValueType(new NumericValueValidator(1, 10)));
}
protected ILocalizableString L(string name)
{
return LocalizableString.Create<AbpOssManagementResource>(name);
}
}
}

41
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Features/AbpOssManagementFeatureNames.cs

@ -0,0 +1,41 @@
namespace LINGYUN.Abp.OssManagement.Features
{
public class AbpOssManagementFeatureNames
{
public const string GroupName = "AbpOssManagement";
public class OssObject
{
public const string Default = GroupName + ".OssObject";
/// <summary>
/// 下载文件功能
/// </summary>
public const string DownloadFile = Default + ".DownloadFile";
/// <summary>
/// 下载文件功能限制次数
/// </summary>
public const string DownloadLimit = Default + ".DownloadLimit";
/// <summary>
/// 下载文件功能限制次数周期
/// </summary>
public const string DownloadInterval = Default + ".DownloadInterval";
/// <summary>
/// 上传文件功能
/// </summary>
public const string UploadFile = Default + ".UploadFile";
/// <summary>
/// 上传文件功能限制次数
/// </summary>
public const string UploadLimit = Default + ".UploadLimit";
/// <summary>
/// 上传文件功能限制次数周期
/// </summary>
public const string UploadInterval = Default + ".UploadInterval";
/// <summary>
/// 最大上传文件
/// </summary>
public const string MaxUploadFileCount = Default + ".MaxUploadFileCount";
}
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetOssContainersInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssContainersInput.cs

@ -1,6 +1,6 @@
using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssContainersInput : PagedAndSortedResultRequestDto
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectInput.cs

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssObjectInput
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetOssObjectsInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetOssObjectsInput.cs

@ -1,6 +1,6 @@
using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssObjectsInput : PagedAndSortedResultRequestDto
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/GetStaticFileInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/GetStaticFileInput.cs

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetStaticFileInput
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/IOssContainerAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssContainerAppService.cs

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public interface IOssContainerAppService: IApplicationService
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/IOssObjectAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IOssObjectAppService.cs

@ -1,7 +1,7 @@
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public interface IOssObjectAppService : IApplicationService
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/IStaticFilesAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/IStaticFilesAppService.cs

@ -2,7 +2,7 @@
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public interface IStaticFilesAppService: IApplicationService
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssContainerDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainerDto.cs

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class OssContainerDto
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssContainersResultDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssContainersResultDto.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class OssContainersResultDto
{

7
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssManagementRemoteServiceConsts.cs

@ -0,0 +1,7 @@
namespace LINGYUN.Abp.OssManagement
{
public static class OssManagementRemoteServiceConsts
{
public const string RemoteServiceName = "AbpOssManagement";
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssObjectDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectDto.cs

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class OssObjectDto
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application.Contracts/LINGYUN/Abp/FileManagement/OssObjectsResultDto.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/OssObjectsResultDto.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class OssObjectsResultDto
{

27
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissionDefinitionProvider.cs

@ -0,0 +1,27 @@
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace LINGYUN.Abp.OssManagement.Permissions
{
public class AbpOssManagementPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var ossManagement = context.AddGroup(AbpOssManagementPermissions.GroupName, L("Permission:OssManagement"));
var container = ossManagement.AddPermission(AbpOssManagementPermissions.Container.Default, L("Permission:Container"));
container.AddChild(AbpOssManagementPermissions.Container.Create, L("Permission:Create"));
container.AddChild(AbpOssManagementPermissions.Container.Delete, L("Permission:Delete"));
var ossobject = ossManagement.AddPermission(AbpOssManagementPermissions.OssObject.Default, L("Permission:OssObject"));
ossobject.AddChild(AbpOssManagementPermissions.OssObject.Create, L("Permission:Create"));
ossobject.AddChild(AbpOssManagementPermissions.OssObject.Delete, L("Permission:Delete"));
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<AbpOssManagementResource>(name);
}
}
}

27
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application.Contracts/LINGYUN/Abp/OssManagement/Permissions/AbpOssManagementPermissions.cs

@ -0,0 +1,27 @@
namespace LINGYUN.Abp.OssManagement.Permissions
{
public class AbpOssManagementPermissions
{
public const string GroupName = "AbpOssManagement";
public class Container
{
public const string Default = GroupName + ".Container";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
}
public class OssObject
{
public const string Default = GroupName + ".OssObject";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
public const string Download = Default + ".Download";
}
}
}

4
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN.Abp.FileManagement.Application.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN.Abp.OssManagement.Application.csproj

@ -12,8 +12,8 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup>
</Project>

23
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/AbpOssManagementApplicationModule.cs

@ -0,0 +1,23 @@
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Microsoft.Extensions.DependencyInjection;
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpAutoMapperModule),
typeof(AbpOssManagementDomainModule),
typeof(AbpOssManagementApplicationContractsModule))]
public class AbpOssManagementApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<AbpOssManagementApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<OssManagementApplicationAutoMapperProfile>(validate: true);
});
}
}
}

11
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/OssContainerAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssContainerAppService.cs

@ -1,10 +1,11 @@
using System.Collections.Generic;
using LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class OssContainerAppService : FileManagementApplicationServiceBase, IOssContainerAppService
[Authorize(AbpOssManagementPermissions.Container.Default)]
public class OssContainerAppService : OssManagementApplicationServiceBase, IOssContainerAppService
{
protected IOssContainerFactory OssContainerFactory { get; }
@ -14,6 +15,7 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory;
}
[Authorize(AbpOssManagementPermissions.Container.Create)]
public virtual async Task<OssContainerDto> CreateAsync(string name)
{
var oss = CreateOssContainer();
@ -22,6 +24,7 @@ namespace LINGYUN.Abp.FileManagement
return ObjectMapper.Map<OssContainer, OssContainerDto>(container);
}
[Authorize(AbpOssManagementPermissions.Container.Delete)]
public virtual async Task DeleteAsync(string name)
{
var oss = CreateOssContainer();

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/FileManagementApplicationAutoMapperProfile.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationAutoMapperProfile.cs

@ -1,10 +1,10 @@
using AutoMapper;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class FileManagementApplicationAutoMapperProfile : Profile
public class OssManagementApplicationAutoMapperProfile : Profile
{
public FileManagementApplicationAutoMapperProfile()
public OssManagementApplicationAutoMapperProfile()
{
CreateMap<OssContainer, OssContainerDto>();
CreateMap<OssObject, OssObjectDto>()

14
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssManagementApplicationServiceBase.cs

@ -0,0 +1,14 @@
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Application.Services;
namespace LINGYUN.Abp.OssManagement
{
public class OssManagementApplicationServiceBase : ApplicationService
{
protected OssManagementApplicationServiceBase()
{
LocalizationResource = typeof(AbpOssManagementResource);
ObjectMapperContext = typeof(AbpOssManagementApplicationModule);
}
}
}

27
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/OssObjectAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/OssObjectAppService.cs

@ -1,18 +1,23 @@
using LINGYUN.Abp.FileManagement.Settings;
using LINGYUN.Abp.Features.LimitValidation;
using LINGYUN.Abp.OssManagement.Features;
using LINGYUN.Abp.OssManagement.Permissions;
using LINGYUN.Abp.OssManagement.Settings;
using Microsoft.AspNetCore.Authorization;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Features;
using Volo.Abp.IO;
using Volo.Abp.Settings;
using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class OssObjectAppService : FileManagementApplicationServiceBase, IOssObjectAppService
[Authorize(AbpOssManagementPermissions.OssObject.Default)]
public class OssObjectAppService : OssManagementApplicationServiceBase, IOssObjectAppService
{
protected IOssContainerFactory OssContainerFactory { get; }
@ -22,6 +27,12 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory;
}
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
[RequiresFeature(AbpOssManagementFeatureNames.OssObject.UploadFile)]
[RequiresLimitFeature(
AbpOssManagementFeatureNames.OssObject.UploadLimit,
AbpOssManagementFeatureNames.OssObject.UploadInterval,
LimitPolicy.Month)]
public virtual async Task<OssObjectDto> CreateAsync(CreateOssObjectInput input)
{
if (!input.Content.IsNullOrEmpty())
@ -29,8 +40,8 @@ namespace LINGYUN.Abp.FileManagement
// 检查文件大小
var fileSizeLimited = await SettingProvider
.GetAsync(
AbpFileManagementSettingNames.FileLimitLength,
AbpFileManagementSettingNames.DefaultFileLimitLength);
AbpOssManagementSettingNames.FileLimitLength,
AbpOssManagementSettingNames.DefaultFileLimitLength);
if (fileSizeLimited * 1024 * 1024 < input.Content.Length)
{
ThrowValidationException(L["UploadFileSizeBeyondLimit", fileSizeLimited], nameof(input.Content));
@ -38,7 +49,7 @@ namespace LINGYUN.Abp.FileManagement
// 文件扩展名
var fileExtensionName = FileHelper.GetExtension(input.Object);
var fileAllowExtension = await SettingProvider.GetOrNullAsync(AbpFileManagementSettingNames.AllowFileExtensions);
var fileAllowExtension = await SettingProvider.GetOrNullAsync(AbpOssManagementSettingNames.AllowFileExtensions);
// 检查文件扩展名
if (!fileAllowExtension.Split(',')
.Any(fe => fe.Equals(fileExtensionName, StringComparison.CurrentCultureIgnoreCase)))
@ -60,6 +71,7 @@ namespace LINGYUN.Abp.FileManagement
return ObjectMapper.Map<OssObject, OssObjectDto>(ossObject);
}
[Authorize(AbpOssManagementPermissions.OssObject.Delete)]
public virtual async Task BulkDeleteAsync(BulkDeleteOssObjectInput input)
{
var oss = CreateOssContainer();
@ -67,6 +79,7 @@ namespace LINGYUN.Abp.FileManagement
await oss.BulkDeleteObjectsAsync(input.Bucket, input.Objects, input.Path);
}
[Authorize(AbpOssManagementPermissions.OssObject.Delete)]
public virtual async Task DeleteAsync(GetOssObjectInput input)
{
var oss = CreateOssContainer();

14
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Application/LINGYUN/Abp/FileManagement/StaticFilesAppService.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Application/LINGYUN/Abp/OssManagement/StaticFilesAppService.cs

@ -1,10 +1,13 @@
using System.IO;
using LINGYUN.Abp.Features.LimitValidation;
using LINGYUN.Abp.OssManagement.Features;
using System.IO;
using System.Threading.Tasks;
using System.Web;
using Volo.Abp.Features;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class StaticFilesAppService : FileManagementApplicationServiceBase, IStaticFilesAppService
public class StaticFilesAppService : OssManagementApplicationServiceBase, IStaticFilesAppService
{
protected IOssContainerFactory OssContainerFactory { get; }
@ -14,6 +17,11 @@ namespace LINGYUN.Abp.FileManagement
OssContainerFactory = ossContainerFactory;
}
[RequiresFeature(AbpOssManagementFeatureNames.OssObject.DownloadFile)]
[RequiresLimitFeature(
AbpOssManagementFeatureNames.OssObject.DownloadLimit,
AbpOssManagementFeatureNames.OssObject.DownloadInterval,
LimitPolicy.Month)]
public virtual async Task<Stream> GetAsync(GetStaticFileInput input)
{
var ossObjectRequest = new GetOssObjectRequest(

8
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN.Abp.FileManagement.Domain.Shared.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN.Abp.OssManagement.Domain.Shared.csproj

@ -8,13 +8,13 @@
</PropertyGroup>
<ItemGroup>
<None Remove="LINGYUN\Abp\FileManagement\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\FileManagement\Localization\Resources\zh-Hans.json" />
<None Remove="LINGYUN\Abp\OssManagement\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\OssManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\FileManagement\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\FileManagement\Localization\Resources\zh-Hans.json" />
<EmbeddedResource Include="LINGYUN\Abp\OssManagement\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\OssManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup>
<ItemGroup>

14
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/AbpFileManagementDomainSharedModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/AbpOssManagementDomainSharedModule.cs

@ -1,4 +1,4 @@
using LINGYUN.Abp.FileManagement.Localization;
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Modularity;
@ -6,30 +6,30 @@ using Volo.Abp.Validation;
using Volo.Abp.Validation.Localization;
using Volo.Abp.VirtualFileSystem;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(typeof(AbpValidationModule))]
public class AbpFileManagementDomainSharedModule : AbpModule
public class AbpOssManagementDomainSharedModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpFileManagementDomainSharedModule>();
options.FileSets.AddEmbedded<AbpOssManagementDomainSharedModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<AbpFileManagementResource>("en")
.Add<AbpOssManagementResource>("en")
.AddBaseTypes(
typeof(AbpValidationResource)
).AddVirtualJson("/LINGYUN/Abp/FileManagement/Localization/Resources");
).AddVirtualJson("/LINGYUN/Abp/OssManagement/Localization/Resources");
});
Configure<AbpExceptionLocalizationOptions>(options =>
{
options.MapCodeNamespace(FileManagementErrorCodes.Namespace, typeof(AbpFileManagementResource));
options.MapCodeNamespace(OssManagementErrorCodes.Namespace, typeof(AbpOssManagementResource));
});
}
}

9
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/AbpOssManagementResource.cs

@ -0,0 +1,9 @@
using Volo.Abp.Localization;
namespace LINGYUN.Abp.OssManagement.Localization
{
[LocalizationResourceName("AbpOssManagement")]
public class AbpOssManagementResource
{
}
}

33
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/Resources/en.json → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/en.json

@ -8,20 +8,13 @@
"Abp.FileManagement:020402": "The object name already exists!",
"Abp.FileManagement:020404": "The queried object could not be found!",
"Abp.FileManagement:000405": "The path object name has exceeded the allowable maximum length and cannot continue to create a new object!",
"Permission:FileManagement": "File management",
"Permission:FileSystem": "File system",
"Permission:FileManager": "Files",
"Permission:CreateFolder": "Create directory",
"Permission:DeleteFolder": "Delete directory",
"Permission:UpdateFolder": "Edit directory",
"Permission:MoveFolder": "Change directory",
"Permission:CopyFolder": "Copy directory",
"Permission:AppendFile": "Add files",
"Permission:UpdateFile": "Change file",
"Permission:DeleteFile": "Delete file",
"Permission:CopyFile": "Copy file",
"Permission:MoveFile": "Move file",
"Permission:DownloadFile": "Download file",
"Permission:OssManagement": "Object Storage",
"Permission:Container": "Containers",
"Permission:OssObject": "Objects",
"Permission:Create": "Create",
"Permission:Delete": "Delete",
"Permission:Upload": "Upload",
"Permission:Download": "Download",
"FileNotFound": "The specified file does not exist!",
"PathNotFound": "The specified directory does not exist!",
"FilePathNotFound": "The file or directory does not exist!",
@ -30,6 +23,10 @@
"FilePathAlreadyExists": "The same file or directory already exists in the specified path!",
"UploadFileSizeBeyondLimit": "Upload file size cannot exceed {0} MB!",
"NotAllowedFileExtensionName": "Not allowed file extension: {0}!",
"DisplayName:OssManagement": "Object Storage",
"Description:OssManagement": "Object Storage",
"DisplayName:OssObject": "Objects",
"Description:OssObject": "Objects",
"DisplayName:FileLimitLength": "File limit size",
"Description:FileLimitLength": "Limit size of uploaded file in MB",
"DisplayName:AllowFileExtensions": "File extension",
@ -38,8 +35,16 @@
"Features:DisplayName:FileSystem": "File system",
"Features:DisplayName:DownloadFile": "Download file",
"Features:Description:DownloadFile": "Whether to allow users to download files",
"Features:DisplayName:DownloadLimit": "Limit Of Downloads",
"Features:Description:DownloadLimit": "Limits the total number of times a file is downloaded within a specified period",
"Features:DisplayName:DownloadInterval": "Limit Downloads Interval",
"Features:Description:DownloadInterval": "The update period that limits the number of files downloaded. The time scale is: month. Default: 1",
"Features:DisplayName:UploadFile": "Upload file",
"Features:Description:UploadFile": "Whether to allow users to upload files",
"Features:DisplayName:UploadLimit": "Limit Of Uploads",
"Features:Description:UploadLimit": "Limits the total number of file uploads within a specified period",
"Features:DisplayName:UploadInterval": "Limit Uploads Interval",
"Features:Description:UploadInterval": "The update period that limits the number of files uploaded. The time scale is: month. Default: 1",
"Features:DisplayName:MaxUploadFileCount": "Maximum number of upload files",
"Features:Description:MaxUploadFileCount": "Limit the number of files a user uploads at a time"
}

37
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Localization/Resources/zh-Hans.json → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Localization/Resources/zh-Hans.json

@ -8,20 +8,13 @@
"Abp.FileManagement:020402": "对象名称已经存在!",
"Abp.FileManagement:020404": "未能找到查询的对象!",
"Abp.FileManagement:000405": "此路径对象名称已超出允许的最大长度,无法继续创建新对象!",
"Permission:FileManagement": "文件管理",
"Permission:FileSystem": "文件系统",
"Permission:FileManager": "文件",
"Permission:CreateFolder": "创建目录",
"Permission:DeleteFolder": "删除目录",
"Permission:UpdateFolder": "修改目录",
"Permission:MoveFolder": "变更目录",
"Permission:CopyFolder": "复制目录",
"Permission:AppendFile": "添加文件",
"Permission:UpdateFile": "变更文件",
"Permission:DeleteFile": "删除文件",
"Permission:CopyFile": "复制文件",
"Permission:MoveFile": "移动文件",
"Permission:DownloadFile": "下载文件",
"Permission:OssManagement": "对象存储",
"Permission:Container": "容器管理",
"Permission:OssObject": "对象管理",
"Permission:Create": "新增",
"Permission:Delete": "删除",
"Permission:Upload": "上传",
"Permission:Download": "下载",
"FileNotFound": "指定的文件不存在!",
"PathNotFound": "指定的目录不存在!",
"FilePathNotFound": "文件或目录不存在!",
@ -30,16 +23,28 @@
"FilePathAlreadyExists": "指定的路径中已经有相同的文件或目录存在!",
"UploadFileSizeBeyondLimit": "上传文件大小不能超过 {0} MB!",
"NotAllowedFileExtensionName": "不被允许的文件扩展名: {0}!",
"DisplayName:OssManagement": "对象存储",
"Description:OssManagement": "对象存储",
"DisplayName:OssObject": "Oss对象",
"Description:OssObject": "Oss对象",
"DisplayName:FileLimitLength": "文件限制大小",
"Description:FileLimitLength": "上传文件的限制大小,单位(MB)",
"DisplayName:AllowFileExtensions": "文件扩展名",
"Description:AllowFileExtensions": "允许的上传文件扩展名列表,多个扩展名以,分隔,无需输入.符号",
"Features:FileManagement": "文件管理",
"Features:DisplayName:FileSystem": "文件系统",
"Features:OssManagement": "对象存储",
"Features:DisplayName:OssObject": "Oss管理",
"Features:DisplayName:DownloadFile": "下载文件",
"Features:Description:DownloadFile": "是否允许用户下载文件",
"Features:DisplayName:DownloadLimit": "限制下载文件次数",
"Features:Description:DownloadLimit": "在指定的周期内限制下载文件的总次数",
"Features:DisplayName:DownloadInterval": "限制下载文件周期",
"Features:Description:DownloadInterval": "限制下载文件次数的更新周期,时间刻度为:月,默认:1",
"Features:DisplayName:UploadFile": "上传文件",
"Features:Description:UploadFile": "是否允许用户上传文件",
"Features:DisplayName:UploadLimit": "限制上传文件次数",
"Features:Description:UploadLimit": "在指定的周期内限制上传文件的总次数",
"Features:DisplayName:UploadInterval": "限制上传文件周期",
"Features:Description:UploadInterval": "限制上传文件次数的更新周期,时间刻度为:月,默认:1",
"Features:DisplayName:MaxUploadFileCount": "上传文件数量",
"Features:Description:MaxUploadFileCount": "用户单次上传文件的限制数量"
}

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/FileManagementErrorCodes.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/OssManagementErrorCodes.cs

@ -1,8 +1,8 @@
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public static class FileManagementErrorCodes
public static class OssManagementErrorCodes
{
public const string Namespace = "Abp.FileManagement";
public const string Namespace = "Abp.OssManagement";
public const string ContainerDeleteWithNotEmpty = Namespace + ":010001";
public const string ContainerAlreadyExists = Namespace + ":010402";

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Settings/AbpFileManagementSettingDefinitionProvider.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingDefinitionProvider.cs

@ -1,10 +1,10 @@
using LINGYUN.Abp.FileManagement.Localization;
using LINGYUN.Abp.OssManagement.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Settings;
namespace LINGYUN.Abp.FileManagement.Settings
namespace LINGYUN.Abp.OssManagement.Settings
{
public class AbpFileManagementSettingDefinitionProvider : SettingDefinitionProvider
public class AbpOssManagementSettingDefinitionProvider : SettingDefinitionProvider
{
public override void Define(ISettingDefinitionContext context)
{
@ -16,8 +16,8 @@ namespace LINGYUN.Abp.FileManagement.Settings
return new SettingDefinition[]
{
new SettingDefinition(
name: AbpFileManagementSettingNames.FileLimitLength,
defaultValue: AbpFileManagementSettingNames.DefaultFileLimitLength.ToString(),
name: AbpOssManagementSettingNames.FileLimitLength,
defaultValue: AbpOssManagementSettingNames.DefaultFileLimitLength.ToString(),
displayName: L("DisplayName:FileLimitLength"),
description: L("Description:FileLimitLength"),
isVisibleToClients: true)
@ -25,8 +25,8 @@ namespace LINGYUN.Abp.FileManagement.Settings
GlobalSettingValueProvider.ProviderName,
TenantSettingValueProvider.ProviderName),
new SettingDefinition(
name: AbpFileManagementSettingNames.AllowFileExtensions,
defaultValue: AbpFileManagementSettingNames.DefaultAllowFileExtensions,
name: AbpOssManagementSettingNames.AllowFileExtensions,
defaultValue: AbpOssManagementSettingNames.DefaultAllowFileExtensions,
displayName: L("DisplayName:AllowFileExtensions"),
description: L("Description:AllowFileExtensions"),
isVisibleToClients: true)
@ -38,7 +38,7 @@ namespace LINGYUN.Abp.FileManagement.Settings
protected LocalizableString L(string name)
{
return LocalizableString.Create<AbpFileManagementResource>(name);
return LocalizableString.Create<AbpOssManagementResource>(name);
}
}
}

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/LINGYUN/Abp/FileManagement/Settings/AbpFileManagementSettingNames.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/LINGYUN/Abp/OssManagement/Settings/AbpOssManagementSettingNames.cs

@ -1,8 +1,8 @@
namespace LINGYUN.Abp.FileManagement.Settings
namespace LINGYUN.Abp.OssManagement.Settings
{
public class AbpFileManagementSettingNames
public class AbpOssManagementSettingNames
{
public const string GroupName = "Abp.FileManagement";
public const string GroupName = "Abp.OssManagement";
/// <summary>
/// 下载分包大小
/// </summary>

0
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain.Shared/System/IO/StreamExtensions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain.Shared/System/IO/StreamExtensions.cs

3
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN.Abp.FileManagement.Domain.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN.Abp.OssManagement.Domain.csproj

@ -13,7 +13,8 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj" />
<ProjectReference Include="..\..\common\LINGYUN.Abp.Features.LimitValidation\LINGYUN.Abp.Features.LimitValidation.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain.Shared\LINGYUN.Abp.OssManagement.Domain.Shared.csproj" />
</ItemGroup>
</Project>

9
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementContainer.cs

@ -0,0 +1,9 @@
using Volo.Abp.BlobStoring;
namespace LINGYUN.Abp.OssManagement
{
[BlobContainerName("abp-oss-management")]
public class AbpOssManagementContainer
{
}
}

17
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/AbpOssManagementDomainModule.cs

@ -0,0 +1,17 @@
using LINGYUN.Abp.Features.LimitValidation;
using Volo.Abp.Domain;
using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpDddDomainModule),
typeof(AbpMultiTenancyModule),
typeof(AbpFeaturesLimitValidationModule),
typeof(AbpOssManagementDomainSharedModule)
)]
public class AbpOssManagementDomainModule : AbpModule
{
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/BulkDeleteObjectRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/BulkDeleteObjectRequest.cs

@ -2,7 +2,7 @@
using System.Collections.Generic;
using Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class BulkDeleteObjectRequest
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/CreateOssObjectRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/CreateOssObjectRequest.cs

@ -3,7 +3,7 @@ using System;
using System.IO;
using Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class CreateOssObjectRequest
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssContainersRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersRequest.cs

@ -1,4 +1,4 @@
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssContainersRequest
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssContainersResponse.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssContainersResponse.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssContainersResponse
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssObjectRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectRequest.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations;
using Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssObjectRequest
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssObjectsRequest.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsRequest.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations;
using Volo.Abp;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssObjectsRequest
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/GetOssObjectsResponse.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/GetOssObjectsResponse.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class GetOssObjectsResponse
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/IOssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainer.cs

@ -1,6 +1,6 @@
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
/// <summary>
/// Oss容器

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/IOssContainerExtensions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerExtensions.cs

@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public static class IOssContainerExtensions
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/IOssContainerFactory.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/IOssContainerFactory.cs

@ -1,4 +1,4 @@
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
/// <summary>
/// Oss容器构建工厂

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/OssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssContainer.cs

@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
/// <summary>
/// 描述了一个容器的状态信息

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/OssObject.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObject.cs

@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.IO;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
/// <summary>
/// 描述了一个对象的状态信息

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.Domain/LINGYUN/Abp/FileManagement/OssObjectComparer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Domain/LINGYUN/Abp/OssManagement/OssObjectComparer.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class OssObjectComparer : IComparer<OssObject>
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp.csproj

@ -10,7 +10,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.FileSystem\LINGYUN.Abp.FileManagement.FileSystem.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.FileSystem\LINGYUN.Abp.OssManagement.FileSystem.csproj" />
</ItemGroup>
</Project>

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/LINGYUN/Abp/FileManagement/FileSystem/ImageSharp/AbpFileManagementFileSystemImageSharpModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/AbpOssManagementFileSystemImageSharpModule.cs

@ -1,9 +1,9 @@
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement.FileSystem.ImageSharp
namespace LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
{
[DependsOn(typeof(AbpFileManagementFileSystemModule))]
public class AbpFileManagementFileSystemImageSharpModule : AbpModule
[DependsOn(typeof(AbpOssManagementFileSystemModule))]
public class AbpOssManagementFileSystemImageSharpModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/LINGYUN/Abp/FileManagement/FileSystem/ImageSharp/ImageSharpFileSystemOssObjectProcesser.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/LINGYUN/Abp/OssManagement/FileSystem/ImageSharp/ImageSharpFileSystemOssObjectProcesser.cs

@ -10,7 +10,7 @@ using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement.FileSystem.ImageSharp
namespace LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
{
public class ImageSharpProcesserContributor : IFileSystemOssObjectProcesserContributor
{

4
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem.ImageSharp/README.md → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem.ImageSharp/README.md

@ -1,4 +1,4 @@
# LINGYUN.Abp.FileManagement.FileSystem.ImageSharp
# LINGYUN.Abp.OssManagement.FileSystem.ImageSharp
本地文件系统oss对象ImageSharp图形处理接口
@ -7,7 +7,7 @@
模块按需引用
```csharp
[DependsOn(typeof(AbpFileManagementFileSystemImageSharpModule))]
[DependsOn(typeof(AbpOssManagementFileSystemImageSharpModule))]
public class YouProjectModule : AbpModule
{
// other

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN.Abp.FileManagement.FileSystem.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN.Abp.OssManagement.FileSystem.csproj

@ -11,7 +11,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Domain\LINGYUN.Abp.FileManagement.Domain.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Domain\LINGYUN.Abp.OssManagement.Domain.csproj" />
</ItemGroup>
</Project>

6
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/AbpFileManagementFileSystemModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/AbpOssManagementFileSystemModule.cs

@ -2,12 +2,12 @@
using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
[DependsOn(
typeof(AbpBlobStoringFileSystemModule),
typeof(AbpFileManagementDomainModule))]
public class AbpFileManagementFileSystemModule : AbpModule
typeof(AbpOssManagementDomainModule))]
public class AbpOssManagementFileSystemModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{

24
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssContainer.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainer.cs

@ -12,7 +12,7 @@ using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.IO;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
/// <summary>
/// Oss容器的本地文件系统实现
@ -55,7 +55,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{
if (Directory.GetFileSystemEntries(file).Length > 0)
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerDeleteWithNotEmpty);
throw new BusinessException(code: OssManagementErrorCodes.ContainerDeleteWithNotEmpty);
// throw new ContainerDeleteWithNotEmptyException("00101", $"Can't not delete container {name}, because it is not empty!");
}
Directory.Delete(file);
@ -108,7 +108,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
if (File.Exists(filePath))
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectAlreadyExists);
throw new BusinessException(code: OssManagementErrorCodes.ObjectAlreadyExists);
// throw new OssObjectAlreadyExistsException($"Can't not put object {objectName} in container {request.Bucket}, Because a file with the same name already exists in the directory!");
}
@ -144,7 +144,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
ThrowOfPathHasTooLong(filePath);
if (Directory.Exists(filePath))
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectAlreadyExists);
throw new BusinessException(code: OssManagementErrorCodes.ObjectAlreadyExists);
// throw new OssObjectAlreadyExistsException($"Can't not put object {objectName} in container {request.Bucket}, Because a file with the same name already exists in the directory!");
}
Directory.CreateDirectory(filePath);
@ -175,12 +175,12 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(name);
if (!Directory.Exists(filePath))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
}
// 非空目录无法删除
if (Directory.GetFileSystemEntries(filePath).Length > 0)
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerDeleteWithNotEmpty);
throw new BusinessException(code: OssManagementErrorCodes.ContainerDeleteWithNotEmpty);
// throw new ContainerDeleteWithNotEmptyException("00101", $"Can't not delete container {name}, because it is not empty!");
}
Directory.Delete(filePath);
@ -202,7 +202,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{
if (Directory.GetFileSystemEntries(filePath).Length > 0)
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectDeleteWithNotEmpty);
throw new BusinessException(code: OssManagementErrorCodes.ObjectDeleteWithNotEmpty);
}
Directory.Delete(filePath);
}
@ -222,7 +222,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(name);
if (!Directory.Exists(filePath))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {name} in file system");
}
@ -254,7 +254,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
{
if (!Directory.Exists(filePath))
{
throw new BusinessException(code: FileManagementErrorCodes.ObjectNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ObjectNotFound);
// throw new ContainerNotFoundException($"Can't not found object {objectName} in container {request.Bucket} with file system");
}
var directoryInfo = new DirectoryInfo(filePath);
@ -388,7 +388,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
var filePath = CalculateFilePath(request.BucketName, request.Prefix);
if (!Directory.Exists(filePath))
{
throw new BusinessException(code: FileManagementErrorCodes.ContainerNotFound);
throw new BusinessException(code: OssManagementErrorCodes.ContainerNotFound);
// throw new ContainerNotFoundException($"Can't not found container {request.BucketName} in file system");
}
// 目录也属于Oss对象,需要抽象的文件系统集合来存储
@ -494,7 +494,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
protected virtual FileSystemBlobProviderConfiguration GetFileSystemConfiguration()
{
var configuration = ConfigurationProvider.Get<AbpFileManagementContainer>();
var configuration = ConfigurationProvider.Get<AbpOssManagementContainer>();
var fileSystemConfiguration = configuration.GetFileSystemConfiguration();
return fileSystemConfiguration;
}
@ -532,7 +532,7 @@ namespace LINGYUN.Abp.FileManagement.FileSystem
// Linux 255 4096
//if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && path.Length >= 255) // 预留5位
//{
// throw new BusinessException(code: FileManagementErrorCodes.OssNameHasTooLong);
// throw new BusinessException(code: OssManagementErrorCodes.OssNameHasTooLong);
//}
}
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssContainerFactory.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssContainerFactory.cs

@ -5,7 +5,7 @@ using Volo.Abp.BlobStoring;
using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
public class FileSystemOssContainerFactory : IOssContainerFactory
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssObjectContext.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssObjectContext.cs

@ -2,7 +2,7 @@
using System.IO;
using Volo.Abp.DependencyInjection;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
public class FileSystemOssObjectContext : IServiceProviderAccessor
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssOptions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptions.cs

@ -1,7 +1,7 @@
using JetBrains.Annotations;
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
public class FileSystemOssOptions
{

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/FileSystemOssOptionsExtensions.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/FileSystemOssOptionsExtensions.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
public static class FileSystemOssOptionsExtensions
{

5
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/IFileSystemOssObjectProcesserContributor.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/IFileSystemOssObjectProcesserContributor.cs

@ -1,7 +1,6 @@
using System.IO;
using System.Threading.Tasks;
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
public interface IFileSystemOssObjectProcesserContributor
{

5
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/LINGYUN/Abp/FileManagement/FileSystem/NoneFileSystemOssObjectProcesser.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/LINGYUN/Abp/OssManagement/FileSystem/NoneFileSystemOssObjectProcesser.cs

@ -1,7 +1,6 @@
using System.IO;
using System.Threading.Tasks;
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement.FileSystem
namespace LINGYUN.Abp.OssManagement.FileSystem
{
public class NoneFileSystemOssObjectProcesser : IFileSystemOssObjectProcesserContributor
{

0
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.FileSystem/README.md → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.FileSystem/README.md

4
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN.Abp.FileManagement.HttpApi.csproj → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN.Abp.OssManagement.HttpApi.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" />
@ -13,7 +13,7 @@
<ItemGroup>
<ProjectReference Include="..\..\common\LINGYUN.Abp.Settings\LINGYUN.Abp.Settings.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.FileManagement.Application.Contracts\LINGYUN.Abp.FileManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj" />
</ItemGroup>
</Project>

8
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/AbpFileManagementHttpApiModule.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/AbpOssManagementHttpApiModule.cs

@ -2,19 +2,19 @@
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[DependsOn(
typeof(AbpFileManagementApplicationContractsModule),
typeof(AbpOssManagementApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule)
)]
public class AbpFileManagementHttpApiModule : AbpModule
public class AbpOssManagementHttpApiModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpFileManagementHttpApiModule).Assembly);
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpOssManagementHttpApiModule).Assembly);
});
}
}

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/FileValidater.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/FileValidater.cs

@ -1,5 +1,7 @@
using LINGYUN.Abp.FileManagement.Settings;
using LINGYUN.Abp.OssManagement.Localization;
using LINGYUN.Abp.OssManagement.Settings;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Localization;
using System;
using System.Linq;
using System.Threading.Tasks;
@ -7,10 +9,8 @@ using Volo.Abp;
using Volo.Abp.DependencyInjection;
using Volo.Abp.IO;
using Volo.Abp.Settings;
using Microsoft.Extensions.Localization;
using LINGYUN.Abp.FileManagement.Localization;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class FileValidater : IFileValidater, ISingletonDependency
{
@ -23,7 +23,7 @@ namespace LINGYUN.Abp.FileManagement
IMemoryCache cache,
ISettingProvider settingProvider,
IServiceProvider serviceProvider,
IStringLocalizer<AbpFileManagementResource> stringLocalizer)
IStringLocalizer<AbpOssManagementResource> stringLocalizer)
{
_cache = cache;
_settingProvider = settingProvider;
@ -66,10 +66,10 @@ namespace LINGYUN.Abp.FileManagement
{
var fileSizeLimited = await _settingProvider
.GetAsync(
AbpFileManagementSettingNames.FileLimitLength,
AbpFileManagementSettingNames.DefaultFileLimitLength);
AbpOssManagementSettingNames.FileLimitLength,
AbpOssManagementSettingNames.DefaultFileLimitLength);
var fileAllowExtension = await _settingProvider
.GetOrDefaultAsync(AbpFileManagementSettingNames.AllowFileExtensions, _serviceProvider);
.GetOrDefaultAsync(AbpOssManagementSettingNames.AllowFileExtensions, _serviceProvider);
return new FileValidation(fileSizeLimited, fileAllowExtension.Split(','));
}

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/IFileValidater.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/IFileValidater.cs

@ -1,6 +1,6 @@
using System.Threading.Tasks;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public interface IFileValidater
{

9
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/OssContainerController.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssContainerController.cs

@ -1,14 +1,13 @@
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[RemoteService(Name = "AbpFileManagement")]
[Area("file-management")]
[Route("api/file-management/containes")]
[RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("oss-management")]
[Route("api/oss-management/containes")]
public class OssContainerController : AbpController, IOssContainerAppService
{
protected IOssContainerAppService OssContainerAppService { get; }

13
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/OssObjectController.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/OssObjectController.cs

@ -1,4 +1,5 @@
using LINGYUN.Abp.FileManagement.Settings;
using LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
@ -10,14 +11,13 @@ using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Auditing;
using Volo.Abp.IO;
using Volo.Abp.Settings;
using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[RemoteService(Name = "AbpFileManagement")]
[Area("file-management")]
[Route("api/file-management/objects")]
[RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("oss-management")]
[Route("api/oss-management/objects")]
public class OssObjectController : AbpController, IOssObjectAppService
{
protected IFileValidater FileValidater { get; }
@ -40,6 +40,7 @@ namespace LINGYUN.Abp.FileManagement
[HttpPost]
[Route("upload")]
[DisableAuditing]
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task UploadAsync([FromForm] UploadOssObjectInput input)
{
await FileValidater.ValidationAsync(input);

16
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/StaticFilesController.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/StaticFilesController.cs

@ -1,18 +1,21 @@
using Microsoft.AspNetCore.Http;
using LINGYUN.Abp.OssManagement.Permissions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Threading.Tasks;
using System.Web;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Http;
using Volo.Abp.Validation;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
[RemoteService(Name = "AbpFileManagement")]
[Area("file-management")]
[RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("oss-management")]
[Route("api/files/static")]
public class StaticFilesController : AbpController
{
@ -30,6 +33,7 @@ namespace LINGYUN.Abp.FileManagement
[HttpPost]
[Route("{bucket}")]
[Route("{bucket}/{path}")]
[Authorize(AbpOssManagementPermissions.OssObject.Create)]
public virtual async Task<OssObjectDto> UploadAsync(string bucket, string path, [FromForm] IFormFile file)
{
if (file == null || file.Length <= 0)
@ -39,8 +43,8 @@ namespace LINGYUN.Abp.FileManagement
var createOssObjectInput = new CreateOssObjectInput
{
Bucket = bucket,
Path = path,
Bucket = HttpUtility.UrlDecode(bucket),
Path = HttpUtility.UrlDecode(path),
Object = file.FileName,
Content = file.OpenReadStream()
};

2
aspnet-core/modules/file-management/LINGYUN.Abp.FileManagement.HttpApi/LINGYUN/Abp/FileManagement/UploadOssObjectInput.cs → aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi/LINGYUN/Abp/OssManagement/UploadOssObjectInput.cs

@ -1,7 +1,7 @@
using Microsoft.AspNetCore.Http;
using System.ComponentModel.DataAnnotations;
namespace LINGYUN.Abp.FileManagement
namespace LINGYUN.Abp.OssManagement
{
public class UploadOssObjectInput
{

20
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/AbpOssManagementSettingManagementModule.cs

@ -0,0 +1,20 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.OssManagement.SettingManagement
{
[DependsOn(
typeof(AbpOssManagementApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule))]
public class AbpOssManagementSettingManagementModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IMvcBuilder>(mvcBuilder =>
{
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpOssManagementSettingManagementModule).Assembly);
});
}
}
}

18
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN.Abp.OssManagement.SettingManagement.csproj

@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.2.1" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="4.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.OssManagement.Application.Contracts\LINGYUN.Abp.OssManagement.Application.Contracts.csproj" />
</ItemGroup>
</Project>

13
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/IOssManagementSettingAppService.cs

@ -0,0 +1,13 @@
using LINGYUN.Abp.SettingManagement;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.OssManagement.SettingManagement
{
public interface IOssManagementSettingAppService
{
Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync();
Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync();
}
}

73
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/OssManagementSettingAppService.cs

@ -0,0 +1,73 @@
using LINGYUN.Abp.OssManagement.Localization;
using LINGYUN.Abp.OssManagement.Permissions;
using LINGYUN.Abp.OssManagement.Settings;
using LINGYUN.Abp.SettingManagement;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.MultiTenancy;
using Volo.Abp.SettingManagement;
using Volo.Abp.Settings;
using ValueType = LINGYUN.Abp.SettingManagement.ValueType;
namespace LINGYUN.Abp.OssManagement.SettingManagement
{
public class OssManagementSettingAppService : ApplicationService, IOssManagementSettingAppService
{
protected ISettingManager SettingManager { get; }
protected IPermissionChecker PermissionChecker { get; }
protected ISettingDefinitionManager SettingDefinitionManager { get; }
public OssManagementSettingAppService(
ISettingManager settingManager,
IPermissionChecker permissionChecker,
ISettingDefinitionManager settingDefinitionManager)
{
SettingManager = settingManager;
PermissionChecker = permissionChecker;
SettingDefinitionManager = settingDefinitionManager;
LocalizationResource = typeof(AbpOssManagementResource);
}
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync()
{
return await GetAllForProviderAsync(TenantSettingValueProvider.ProviderName, CurrentTenant.GetId().ToString());
}
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync()
{
return await GetAllForProviderAsync(GlobalSettingValueProvider.ProviderName, null);
}
protected virtual async Task<ListResultDto<SettingGroupDto>> GetAllForProviderAsync(string providerName, string providerKey)
{
var settingGroups = new List<SettingGroupDto>();
// 无权限返回空结果,直接报错的话,网关聚合会抛出异常
if (await PermissionChecker.IsGrantedAsync(AbpOssManagementPermissions.OssObject.Default))
{
var ossSettingGroup = new SettingGroupDto(L["DisplayName:OssManagement"], L["Description:OssManagement"]);
var ossObjectSetting = ossSettingGroup.AddSetting(L["DisplayName:OssObject"], L["Description:OssObject"]);
ossObjectSetting.AddDetail(
SettingDefinitionManager.Get(AbpOssManagementSettingNames.FileLimitLength),
StringLocalizerFactory,
await SettingManager.GetOrNullAsync(AbpOssManagementSettingNames.FileLimitLength, providerName, providerKey),
ValueType.Number);
ossObjectSetting.AddDetail(
SettingDefinitionManager.Get(AbpOssManagementSettingNames.AllowFileExtensions),
StringLocalizerFactory,
await SettingManager.GetOrNullAsync(AbpOssManagementSettingNames.AllowFileExtensions, providerName, providerKey),
ValueType.String);
settingGroups.Add(ossSettingGroup);
}
return new ListResultDto<SettingGroupDto>(settingGroups);
}
}
}

37
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.SettingManagement/LINGYUN/Abp/OssManagement/SettingManagement/OssManagementSettingController.cs

@ -0,0 +1,37 @@
using LINGYUN.Abp.SettingManagement;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc;
namespace LINGYUN.Abp.OssManagement.SettingManagement
{
[RemoteService(Name = OssManagementRemoteServiceConsts.RemoteServiceName)]
[Area("settingManagement")]
[Route("api/setting-management/oss-management")]
public class OssManagementSettingController : AbpController, IOssManagementSettingAppService
{
protected IOssManagementSettingAppService WeChatSettingAppService { get; }
public OssManagementSettingController(
IOssManagementSettingAppService weChatSettingAppService)
{
WeChatSettingAppService = weChatSettingAppService;
}
[HttpGet]
[Route("by-current-tenant")]
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync()
{
return await WeChatSettingAppService.GetAllForCurrentTenantAsync();
}
[HttpGet]
[Route("by-global")]
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync()
{
return await WeChatSettingAppService.GetAllForGlobalAsync();
}
}
}

1
aspnet-core/modules/settings/LINGYUN.Abp.SettingManagement.Application/LINGYUN.Abp.SettingManagement.Application.csproj

@ -13,7 +13,6 @@
<ItemGroup>
<ProjectReference Include="..\..\account\LINGYUN.Abp.Account.Application.Contracts\LINGYUN.Abp.Account.Application.Contracts.csproj" />
<ProjectReference Include="..\..\file-management\LINGYUN.Abp.FileManagement.Domain.Shared\LINGYUN.Abp.FileManagement.Domain.Shared.csproj" />
<ProjectReference Include="..\..\identity\LINGYUN.Abp.Identity.Domain.Shared\LINGYUN.Abp.Identity.Domain.Shared.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj" />
</ItemGroup>

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

Loading…
Cancel
Save