Browse Source

Merge pull request #766 from colinin/upt-7.0.1

upgrade abp framework to 7.0.1
pull/786/head
yx lin 3 years ago
committed by GitHub
parent
commit
bf256ba787
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      .github/workflows/release.yml
  2. 8
      aspnet-core/Directory.Build.props
  3. 32
      aspnet-core/LINGYUN.MicroService.Common.sln
  4. 23
      aspnet-core/LINGYUN.MicroService.Workflow.sln
  5. 2
      aspnet-core/common.props
  6. 29
      aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/Commands/GenerateProxyCommand.cs
  7. 7
      aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/ServiceProxying/CSharp/CSharpServiceProxyGenerator.cs
  8. 4
      aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/ServiceProxying/GenerateProxyArgs.cs
  9. 25
      aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/ServiceProxying/TypeScript/TypeScriptServiceProxyGenerator.cs
  10. 12
      aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.Mvc.Client/Properties/launchSettings.json
  11. 31
      aspnet-core/modules/common/LINGYUN.Abp.Notifications.Core/LINGYUN/Abp/Notifications/NotificationKeywords.cs
  12. 9
      aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN/Abp/Notifications/AbpNotificationsPublishOptions.cs
  13. 3
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN/Abp/Dapr/Actors/AbpDaprActorProxyOptions.cs
  14. 2
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN/Abp/Dapr/Actors/DaprRemoteServiceConfigurationExtensions.cs
  15. 2
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/BlobExists.cs
  16. 2
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/DeleteBlob.cs
  17. 2
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/ReadBlob.cs
  18. 2
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/WriteBlob.cs
  19. 3
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Emailing/LINGYUN/Abp/Elsa/Activities/Emailing/Activities/SendEmailing.cs
  20. 8
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.IM/LINGYUN/Abp/Elsa/Activities/IM/Activities/SendMessage.cs
  21. 9
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Notifications/LINGYUN/Abp/Elsa/Activities/Notifications/Activities/SendNotification.cs
  22. 5
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Sms/LINGYUN/Abp/Elsa/Activities/Sms/Activities/SendSms.cs
  23. 9
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Webhooks/LINGYUN/Abp/Elsa/Activities/Webhooks/Activities/PublishWebhook.cs
  24. 8
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpActivity.cs
  25. 24
      aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpActivityExtensions.cs
  26. 1
      aspnet-core/modules/localization/LINGYUN.Abp.Localization.Persistence/LINGYUN.Abp.Localization.Persistence.csproj
  27. 6
      aspnet-core/modules/notifications/LINGYUN.Abp.Notifications.Application/LINGYUN/Abp/Notifications/NotificationAppService.cs
  28. 5
      aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzJobCreator.cs
  29. 2
      aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/IJobStore.cs
  30. 14
      aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/BackgroundCleaningJob.cs
  31. 5
      aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/BackgroundPollingJob.cs
  32. 7
      aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/InMemoryJobStore.cs
  33. 13
      aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/JobExecutedEvent.cs
  34. 8
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain/LINGYUN/Abp/TaskManagement/BackgroundJobStore.cs
  35. 6
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.EntityFrameworkCore/LINGYUN/Abp/TaskManagement/EntityFrameworkCore/EfCoreBackgroundJobInfoRepository.cs
  36. 8
      aspnet-core/modules/tui-juhe/LINGYUN.Abp.Notifications.TuiJuhe/LINGYUN/Abp/Notifications/TuiJuhe/TuiJuheNotificationPublishProvider.cs
  37. 2
      aspnet-core/modules/tui-juhe/LINGYUN.Abp.TuiJuhe/LINGYUN.Abp.TuiJuhe.csproj
  38. 10
      aspnet-core/modules/tui-juhe/LINGYUN.Abp.TuiJuhe/LINGYUN/Abp/TuiJuhe/AbpTuiJuheModule.cs
  39. 1
      aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks.Identity/LINGYUN/Abp/Webhooks/Identity/OrganizationUnitWebHooker.cs
  40. 2
      aspnet-core/services/LY.MicroService.AuthServer.HttpApi.Host/AuthServerHttpApiHostModule.Configure.cs
  41. 2
      aspnet-core/services/LY.MicroService.AuthServer/AuthServerModule.Configure.cs
  42. 2
      aspnet-core/services/LY.MicroService.BackendAdmin.HttpApi.Host/BackendAdminHttpApiHostModule.Configure.cs
  43. 2
      aspnet-core/services/LY.MicroService.LocalizationManagement.HttpApi.Host/LocalizationManagementHttpApiHostModule.Configure.cs
  44. 2
      aspnet-core/services/LY.MicroService.PlatformManagement.HttpApi.Host/PlatformManagementHttpApiHostModule.Configure.cs
  45. 11
      aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/EventBus/Distributed/NotificationEventHandler.cs
  46. 2
      aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/RealtimeMessageHttpApiHostModule.Configure.cs
  47. 2
      aspnet-core/services/LY.MicroService.identityServer.HttpApi.Host/IdentityServerHttpApiHostModule.Configure.cs
  48. 2
      aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs
  49. 7
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/AbpElsaActivitiesWebhooksTests.cs
  50. 30
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/AbpElsaActivitiesWebhooksTestsModule.cs
  51. 29
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests.csproj
  52. 66
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/MemoryWebhookPublisher.cs
  53. 7
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/PublishWebhookData.cs
  54. 21
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/PublishWebhookTests.cs
  55. 26
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/PublishWebhookWorkflow.cs
  56. 2
      aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/Usings.cs
  57. 8
      aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/AbpElsaTests.cs
  58. 12
      aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/AbpElsaTestsModule.cs
  59. 28
      aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/LINGYUN.Abp.Elsa.Tests.csproj
  60. 2
      aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/Usings.cs
  61. 6
      gateways/Directory.Build.props
  62. 2
      gateways/common.props

17
.github/workflows/release.yml

@ -0,0 +1,17 @@
name: "Tagged Release"
on:
push:
branches: [ master ]
jobs:
tagged-release:
name: "Tagged Release"
runs-on: "ubuntu-latest"
steps:
- name: "Auto release"
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
automatic_release_tag: "7.0.1"

8
aspnet-core/Directory.Build.props

@ -1,11 +1,11 @@
<Project>
<PropertyGroup>
<VoloAbpPackageVersion>7.0.0</VoloAbpPackageVersion>
<LINGYUNAbpPackageVersion>7.0.0</LINGYUNAbpPackageVersion>
<VoloAbpPackageVersion>7.0.1</VoloAbpPackageVersion>
<LINGYUNAbpPackageVersion>7.0.1</LINGYUNAbpPackageVersion>
<DaprPackageVersion>1.9.0</DaprPackageVersion>
<DistributedLockRedisPackageVersion>1.0.2</DistributedLockRedisPackageVersion>
<DotNetCoreCAPPackageVersion>7.0.0</DotNetCoreCAPPackageVersion>
<ElsaPackageVersion>2.10.0-rc2</ElsaPackageVersion>
<DotNetCoreCAPPackageVersion>7.0.2</DotNetCoreCAPPackageVersion>
<ElsaPackageVersion>2.10.1</ElsaPackageVersion>
<AliyunSDKPackageVersion>1.5.10</AliyunSDKPackageVersion>
<AliyunOSSSDKPackageVersion>2.13.0</AliyunOSSSDKPackageVersion>
<TencentCloudSDKPackageVersion>3.0.434</TencentCloudSDKPackageVersion>

32
aspnet-core/LINGYUN.MicroService.Common.sln

@ -168,8 +168,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Logging.Serilog
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Serilog.Enrichers.Application", "modules\logging\LINGYUN.Abp.Serilog.Enrichers.Application\LINGYUN.Abp.Serilog.Enrichers.Application.csproj", "{CCB4AE25-7059-4CA0-A3AB-CBB863A3F672}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Localization.Dynamic", "modules\common\LINGYUN.Abp.Localization.Dynamic\LINGYUN.Abp.Localization.Dynamic.csproj", "{4635BDFB-B647-43E2-BAA5-D3C17899AF24}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Data.DbMigrator", "modules\common\LINGYUN.Abp.Data.DbMigrator\LINGYUN.Abp.Data.DbMigrator.csproj", "{3993A315-B250-4C5D-98C7-90FD06841B66}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "data-protection", "data-protection", "{A0910407-CE69-4DC8-9721-F4324C22EEA8}"
@ -294,9 +292,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Dynamic.Queryab
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Dynamic.Queryable.HttpApi", "modules\dynamic-queryable\LINGYUN.Abp.Dynamic.Queryable.HttpApi\LINGYUN.Abp.Dynamic.Queryable.HttpApi.csproj", "{F515E8FA-449F-4D54-98A7-0F7DF1AA3C94}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Linq.Dynamic.Queryable.Tests", "tests\LINGYUN.Linq.Dynamic.Queryable.Tests\LINGYUN.Linq.Dynamic.Queryable.Tests.csproj", "{E9AD81CA-D992-4F74-BD23-680CF98BE262}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Linq.Dynamic.Queryable.Tests", "tests\LINGYUN.Linq.Dynamic.Queryable.Tests\LINGYUN.Linq.Dynamic.Queryable.Tests.csproj", "{E9AD81CA-D992-4F74-BD23-680CF98BE262}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.DynamicQueryable.EntityFrameworkCore.Tests", "tests\LINGYUN.Abp.DynamicQueryable.EntityFrameworkCore.Tests\LINGYUN.Abp.DynamicQueryable.EntityFrameworkCore.Tests.csproj", "{2E29FBF7-CECB-4DF9-9E02-5AFB704DDD10}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Localization.CultureMap", "modules\localization\LINGYUN.Abp.Localization.CultureMap\LINGYUN.Abp.Localization.CultureMap.csproj", "{1206B9FC-0177-4061-A06E-F82B2CC01ACE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Localization.Persistence", "modules\localization\LINGYUN.Abp.Localization.Persistence\LINGYUN.Abp.Localization.Persistence.csproj", "{E097FAEC-5015-4159-BC00-A737483EFA80}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.DynamicQueryable.EntityFrameworkCore.Tests", "tests\LINGYUN.Abp.DynamicQueryable.EntityFrameworkCore.Tests\LINGYUN.Abp.DynamicQueryable.EntityFrameworkCore.Tests.csproj", "{2E29FBF7-CECB-4DF9-9E02-5AFB704DDD10}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.AspNetCore.Mvc.Localization", "modules\localization\LINGYUN.Abp.AspNetCore.Mvc.Localization\LINGYUN.Abp.AspNetCore.Mvc.Localization.csproj", "{809C86E9-0C70-41E4-B26D-D9AFF34F03D0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -560,10 +564,6 @@ Global
{CCB4AE25-7059-4CA0-A3AB-CBB863A3F672}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CCB4AE25-7059-4CA0-A3AB-CBB863A3F672}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CCB4AE25-7059-4CA0-A3AB-CBB863A3F672}.Release|Any CPU.Build.0 = Release|Any CPU
{4635BDFB-B647-43E2-BAA5-D3C17899AF24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4635BDFB-B647-43E2-BAA5-D3C17899AF24}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4635BDFB-B647-43E2-BAA5-D3C17899AF24}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4635BDFB-B647-43E2-BAA5-D3C17899AF24}.Release|Any CPU.Build.0 = Release|Any CPU
{3993A315-B250-4C5D-98C7-90FD06841B66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3993A315-B250-4C5D-98C7-90FD06841B66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3993A315-B250-4C5D-98C7-90FD06841B66}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -772,6 +772,18 @@ Global
{2E29FBF7-CECB-4DF9-9E02-5AFB704DDD10}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2E29FBF7-CECB-4DF9-9E02-5AFB704DDD10}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2E29FBF7-CECB-4DF9-9E02-5AFB704DDD10}.Release|Any CPU.Build.0 = Release|Any CPU
{1206B9FC-0177-4061-A06E-F82B2CC01ACE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1206B9FC-0177-4061-A06E-F82B2CC01ACE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1206B9FC-0177-4061-A06E-F82B2CC01ACE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1206B9FC-0177-4061-A06E-F82B2CC01ACE}.Release|Any CPU.Build.0 = Release|Any CPU
{E097FAEC-5015-4159-BC00-A737483EFA80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E097FAEC-5015-4159-BC00-A737483EFA80}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E097FAEC-5015-4159-BC00-A737483EFA80}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E097FAEC-5015-4159-BC00-A737483EFA80}.Release|Any CPU.Build.0 = Release|Any CPU
{809C86E9-0C70-41E4-B26D-D9AFF34F03D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{809C86E9-0C70-41E4-B26D-D9AFF34F03D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{809C86E9-0C70-41E4-B26D-D9AFF34F03D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{809C86E9-0C70-41E4-B26D-D9AFF34F03D0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -856,7 +868,6 @@ Global
{CE7E525F-8628-4076-8A2E-B615B944D140} = {23F4260D-87C1-4AA6-A302-0A8A76D53BA1}
{CD556F2A-A96B-43A2-8BB3-6C0EBA27EB02} = {23F4260D-87C1-4AA6-A302-0A8A76D53BA1}
{CCB4AE25-7059-4CA0-A3AB-CBB863A3F672} = {23F4260D-87C1-4AA6-A302-0A8A76D53BA1}
{4635BDFB-B647-43E2-BAA5-D3C17899AF24} = {E73A0F8B-2B4B-4CED-82A4-1EE5E0B89744}
{3993A315-B250-4C5D-98C7-90FD06841B66} = {086BE5BE-8594-4DA7-8819-935FEF76DABD}
{A0910407-CE69-4DC8-9721-F4324C22EEA8} = {02EA4E78-5891-43BC-944F-3E52FEE032E4}
{519BF5DA-30E4-40CF-829A-93F526E2AED8} = {A0910407-CE69-4DC8-9721-F4324C22EEA8}
@ -920,6 +931,9 @@ Global
{F515E8FA-449F-4D54-98A7-0F7DF1AA3C94} = {3975D028-3672-4D23-BF77-B7F4A445D44E}
{E9AD81CA-D992-4F74-BD23-680CF98BE262} = {B86C21A4-73B7-471E-B73A-B4B905EC9435}
{2E29FBF7-CECB-4DF9-9E02-5AFB704DDD10} = {B86C21A4-73B7-471E-B73A-B4B905EC9435}
{1206B9FC-0177-4061-A06E-F82B2CC01ACE} = {E73A0F8B-2B4B-4CED-82A4-1EE5E0B89744}
{E097FAEC-5015-4159-BC00-A737483EFA80} = {E73A0F8B-2B4B-4CED-82A4-1EE5E0B89744}
{809C86E9-0C70-41E4-B26D-D9AFF34F03D0} = {E73A0F8B-2B4B-4CED-82A4-1EE5E0B89744}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {06C707C6-02C0-411A-AD3B-2D0E13787CB8}

23
aspnet-core/LINGYUN.MicroService.Workflow.sln

@ -47,6 +47,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Webhooks.EventB
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql", "modules\elsa\LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql\LINGYUN.Abp.Elsa.EntityFrameworkCore.MySql.csproj", "{4B20572A-10E7-4414-943A-974F275677B4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{035B86BF-DD63-4A78-B8CE-29994860C948}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa.Tests", "tests\LINGYUN.Abp.Elsa.Tests\LINGYUN.Abp.Elsa.Tests.csproj", "{9F96F261-93F7-47C0-8F07-72CE39CE20A3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.TestsBase", "tests\LINGYUN.Abp.TestBase\LINGYUN.Abp.TestsBase.csproj", "{8395DA41-AF40-4B0D-B36D-FA8A56E75AED}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa.Activities.Webhooks.Tests", "tests\LINGYUN.Abp.Elsa.Activities.Webhooks.Tests\LINGYUN.Abp.Elsa.Activities.Webhooks.Tests.csproj", "{B3C2AFCC-EE59-4CB4-AB62-B90D60335632}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -129,6 +137,18 @@ Global
{4B20572A-10E7-4414-943A-974F275677B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B20572A-10E7-4414-943A-974F275677B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B20572A-10E7-4414-943A-974F275677B4}.Release|Any CPU.Build.0 = Release|Any CPU
{9F96F261-93F7-47C0-8F07-72CE39CE20A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9F96F261-93F7-47C0-8F07-72CE39CE20A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9F96F261-93F7-47C0-8F07-72CE39CE20A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9F96F261-93F7-47C0-8F07-72CE39CE20A3}.Release|Any CPU.Build.0 = Release|Any CPU
{8395DA41-AF40-4B0D-B36D-FA8A56E75AED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8395DA41-AF40-4B0D-B36D-FA8A56E75AED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8395DA41-AF40-4B0D-B36D-FA8A56E75AED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8395DA41-AF40-4B0D-B36D-FA8A56E75AED}.Release|Any CPU.Build.0 = Release|Any CPU
{B3C2AFCC-EE59-4CB4-AB62-B90D60335632}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B3C2AFCC-EE59-4CB4-AB62-B90D60335632}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B3C2AFCC-EE59-4CB4-AB62-B90D60335632}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B3C2AFCC-EE59-4CB4-AB62-B90D60335632}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -153,6 +173,9 @@ Global
{6489B162-2B28-42B9-9AD4-EB5CCBB8AE85} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A}
{B6246B7A-4095-433A-B981-5D1E43CDF712} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A}
{4B20572A-10E7-4414-943A-974F275677B4} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC}
{9F96F261-93F7-47C0-8F07-72CE39CE20A3} = {035B86BF-DD63-4A78-B8CE-29994860C948}
{8395DA41-AF40-4B0D-B36D-FA8A56E75AED} = {035B86BF-DD63-4A78-B8CE-29994860C948}
{B3C2AFCC-EE59-4CB4-AB62-B90D60335632} = {035B86BF-DD63-4A78-B8CE-29994860C948}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6BB7A5DE-DA12-44DC-BC9B-0F6CA524346F}

2
aspnet-core/common.props

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Version>7.0.0</Version>
<Version>7.0.1</Version>
<Authors>colin</Authors>
<NoWarn>$(NoWarn);CS1591;CS0436;CS8618;NU1803</NoWarn>
<PackageProjectUrl>https://github.com/colinin/abp-next-admin</PackageProjectUrl>

29
aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/Commands/GenerateProxyCommand.cs

@ -13,6 +13,7 @@ using Volo.Abp.DependencyInjection;
using AbpCliServiceProxyOptions = Volo.Abp.Cli.ServiceProxying.AbpCliServiceProxyOptions;
using IServiceProxyGenerator = Volo.Abp.Cli.ServiceProxying.IServiceProxyGenerator;
using VoloGenerateProxyArgs = Volo.Abp.Cli.ServiceProxying.GenerateProxyArgs;
using ServiceType = Volo.Abp.Cli.ServiceProxying.ServiceType;
namespace LINGYUN.Abp.Cli.Commands;
@ -65,6 +66,20 @@ public class GenerateProxyCommand : IConsoleCommand, ITransientDependency
var source = commandLineArgs.Options.GetOrNull(Options.Source.Short, Options.Source.Long);
var workDirectory = commandLineArgs.Options.GetOrNull(Options.WorkDirectory.Short, Options.WorkDirectory.Long) ?? Directory.GetCurrentDirectory();
var folder = commandLineArgs.Options.GetOrNull(Options.Folder.Long);
var serviceTypeArg = commandLineArgs.Options.GetOrNull(Options.Module.Short, Options.ServiceType.Long);
ServiceType? serviceType = null;
if (!serviceTypeArg.IsNullOrWhiteSpace())
{
serviceType = serviceTypeArg.ToLower() == "application"
? ServiceType.Application
: serviceTypeArg.ToLower() == "integration"
? ServiceType.Integration
: null;
}
var withoutContracts = commandLineArgs.Options.ContainsKey(Options.WithoutContracts.Short) ||
commandLineArgs.Options.ContainsKey(Options.WithoutContracts.Long);
return new GenerateProxyArgs(
CommandName,
@ -78,6 +93,8 @@ public class GenerateProxyCommand : IConsoleCommand, ITransientDependency
folder,
provider,
apiScriptProxy,
serviceType,
withoutContracts,
commandLineArgs.Options);
}
@ -192,5 +209,17 @@ public class GenerateProxyCommand : IConsoleCommand, ITransientDependency
public const string Short = "wd";
public const string Long = "working-directory";
}
public static class ServiceType
{
public const string Short = "st";
public const string Long = "service-type";
}
public static class WithoutContracts
{
public const string Short = "c";
public const string Long = "without-contracts";
}
}
}

7
aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/ServiceProxying/CSharp/CSharpServiceProxyGenerator.cs

@ -428,5 +428,10 @@ public class CSharpServiceProxyGenerator : ServiceProxyGeneratorBase<CSharpServi
{
throw new CliUsageException("Option folder should be a directory.");
}
}
}
protected override ServiceType? GetDefaultServiceType(VoloGenerateProxyArgs args)
{
return ServiceType.Application;
}
}

4
aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/ServiceProxying/GenerateProxyArgs.cs

@ -21,8 +21,10 @@ public class GenerateProxyArgs : Volo.Abp.Cli.ServiceProxying.GenerateProxyArgs
string folder,
string provider,
string apiScriptProxy,
Volo.Abp.Cli.ServiceProxying.ServiceType? serviceType,
bool withoutContracts,
Dictionary<string, string> extraProperties = null)
: base(commandName, workDirectory, module, url, output, target, apiName, source, folder, extraProperties)
: base(commandName, workDirectory, module, url, output, target, apiName, source, folder, serviceType, withoutContracts, extraProperties)
{
ApiScriptProxy = apiScriptProxy;
Provider = provider;

25
aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/ServiceProxying/TypeScript/TypeScriptServiceProxyGenerator.cs

@ -2,14 +2,11 @@
using Microsoft.Extensions.Options;
using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Cli;
using Volo.Abp.Cli.Http;
using Volo.Abp.Cli.ServiceProxying;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Http.Modeling;
using Volo.Abp.IO;
using Volo.Abp.Json;
@ -111,26 +108,8 @@ public class TypeScriptServiceProxyGenerator : ServiceProxyGeneratorBase<TypeScr
Logger.LogInformation($"Generate type script proxy has completed.");
}
protected async override Task<ApplicationApiDescriptionModel> GetApplicationApiDescriptionModelAsync(Volo.Abp.Cli.ServiceProxying.GenerateProxyArgs args)
protected override ServiceType? GetDefaultServiceType(Volo.Abp.Cli.ServiceProxying.GenerateProxyArgs args)
{
Check.NotNull(args.Url, nameof(args.Url));
var client = CliHttpClientFactory.CreateClient();
var url = CliUrls.GetApiDefinitionUrl(args.Url);
var apiDefinitionResult = await client.GetStringAsync(url + "?includeTypes=true");
var apiDefinition = JsonSerializer.Deserialize<ApplicationApiDescriptionModel>(apiDefinitionResult);
var moduleDefinition = apiDefinition.Modules.FirstOrDefault(x => string.Equals(x.Key, args.Module, StringComparison.CurrentCultureIgnoreCase)).Value;
if (moduleDefinition == null)
{
throw new CliUsageException($"Module name: {args.Module} is invalid");
}
var apiDescriptionModel = ApplicationApiDescriptionModel.Create();
apiDescriptionModel.AddModule(moduleDefinition);
apiDescriptionModel.Types = apiDefinition.Types;
return apiDescriptionModel;
return ServiceType.Application;
}
}

12
aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.Mvc.Client/Properties/launchSettings.json

@ -0,0 +1,12 @@
{
"profiles": {
"LINGYUN.Abp.AspNetCore.Mvc.Client": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:52376;http://localhost:52377"
}
}
}

31
aspnet-core/modules/common/LINGYUN.Abp.Notifications.Core/LINGYUN/Abp/Notifications/NotificationKeywords.cs

@ -0,0 +1,31 @@
namespace LINGYUN.Abp.Notifications;
/// <summary>
/// 通知类关键字,请勿随意占用
/// </summary>
public static class NotificationKeywords
{
/// <summary>
/// 通知标识,全局唯一标识,long类型字段
/// </summary>
public const string Id = "notificationId";
/// <summary>
/// 通知名称
/// </summary>
public const string Name = "notification";
/// <summary>
/// 来源用户标识
/// </summary>
public const string FormUser = "formUser";
/// <summary>
/// 目标用户标识
/// </summary>
public const string ToUser = "toUser";
/// <summary>
/// 通知标题
/// </summary>
public const string Title = "title";
/// <summary>
/// 创建时间
/// </summary>
public const string CreationTime = "creationTime";
}

9
aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN/Abp/Notifications/AbpNotificationsPublishOptions.cs

@ -5,6 +5,7 @@ namespace LINGYUN.Abp.Notifications;
public class AbpNotificationsPublishOptions
{
public const string DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
/// <summary>
/// 自定义通知发布提供者集合
/// </summary>
@ -18,11 +19,19 @@ public class AbpNotificationsPublishOptions
/// 默认60天
/// </summary>
public TimeSpan ExpirationTime { get; set; }
/// <summary>
/// 默认时间日期序列化格式
/// </summary>
/// <remarks>
/// 默认: yyyy-MM-dd HH:mm:ss
/// </remarks>
public string DateTimeFormat { get; set; }
public AbpNotificationsPublishOptions()
{
PublishProviders = new TypeList<INotificationPublishProvider>();
NotificationDataMappings = new NotificationDataMappingDictionary();
ExpirationTime = TimeSpan.FromDays(60);
DateTimeFormat = DefaultDateTimeFormat;
}
}

3
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN/Abp/Dapr/Actors/AbpDaprActorProxyOptions.cs

@ -1,9 +1,6 @@
using LINGYUN.Abp.Dapr.Actors.DynamicProxying;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LINGYUN.Abp.Dapr.Actors
{

2
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN/Abp/Dapr/Actors/DaprRemoteServiceConfigurationExtensions.cs

@ -32,7 +32,7 @@ public static class DaprRemoteServiceConfigurationExtensions
{
Check.NotNullOrEmpty(configuration, nameof(configuration));
configuration.TryGetValue("DaprTimeout", out var timeOutValue);
configuration.TryGetValue(RequestTimeOut, out var timeOutValue);
if (!int.TryParse(timeOutValue ?? "30000", out var timeOut))
{
timeOut = 30000;

2
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/BlobExists.cs

@ -18,7 +18,7 @@ public class BlobExists : BlobActivity
{
}
protected async override ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
var exists = await BlobContainer.ExistsAsync(Path, context.CancellationToken);
if (exists)

2
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/DeleteBlob.cs

@ -18,7 +18,7 @@ public class DeleteBlob : BlobActivity
{
}
protected async override ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
await BlobContainer.DeleteAsync(Path, context.CancellationToken);

2
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/ReadBlob.cs

@ -21,7 +21,7 @@ public class ReadBlob : BlobActivity
{
}
protected async override ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
Output = await BlobContainer.GetAllBytesAsync(Path, context.CancellationToken);

2
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.BlobStoring/LINGYUN/Abp/Elsa/Activities/BlobStoring/Activities/WriteBlob.cs

@ -28,7 +28,7 @@ public class WriteBlob : BlobActivity
{
}
protected async override ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
await BlobContainer.SaveAsync(Path, Bytes, Overwrite, context.CancellationToken);

3
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Emailing/LINGYUN/Abp/Elsa/Activities/Emailing/Activities/SendEmailing.cs

@ -4,7 +4,6 @@ using Elsa.Attributes;
using Elsa.Design;
using Elsa.Expressions;
using Elsa.Providers.WorkflowStorage;
using Elsa.Services;
using Elsa.Services.Models;
using System;
using System.Collections.Generic;
@ -61,7 +60,7 @@ public class SendEmailing : AbpActivity
)]
public object? Model { get; set; }
protected async override ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
var to = To.JoinAsString(";");
var content = Body;

8
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.IM/LINGYUN/Abp/Elsa/Activities/IM/Activities/SendMessage.cs

@ -5,7 +5,6 @@ using Elsa.Services.Models;
using LINGYUN.Abp.IM.Messages;
using System;
using System.Threading.Tasks;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Timing;
namespace LINGYUN.Abp.Elsa.Activities.IM;
@ -50,10 +49,9 @@ public class SendMessage : AbpActivity
}
protected async override ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
ChatMessage? chatMessage = null;
var currentTenant = context.GetService<ICurrentTenant>();
if (!GroupId.IsNullOrWhiteSpace())
{
@ -66,7 +64,7 @@ public class SendMessage : AbpActivity
false,
MessageType.Text,
MessageSourceType.User,
currentTenant.Id);
TenantId);
}
else if (To.HasValue)
{
@ -79,7 +77,7 @@ public class SendMessage : AbpActivity
false,
MessageType.Text,
MessageSourceType.User,
currentTenant.Id);
TenantId);
}
if (chatMessage != null)

9
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Notifications/LINGYUN/Abp/Elsa/Activities/Notifications/Activities/SendNotification.cs

@ -4,14 +4,12 @@ using Elsa.Attributes;
using Elsa.Design;
using Elsa.Expressions;
using Elsa.Providers.WorkflowStorage;
using Elsa.Services;
using Elsa.Services.Models;
using LINGYUN.Abp.Notifications;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.Elsa.Activities.Notifications;
@ -54,9 +52,8 @@ public class SendNotification : AbpActivity
}
protected async override ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
var currentTenant = context.GetService<ICurrentTenant>();
switch (NotificationData)
{
case NotificationData data:
@ -64,7 +61,7 @@ public class SendNotification : AbpActivity
NotificationName,
data,
GetUserIdentifiers(),
currentTenant.Id,
TenantId,
Severity);
return Done();
case NotificationTemplate template:
@ -72,7 +69,7 @@ public class SendNotification : AbpActivity
NotificationName,
template,
GetUserIdentifiers(),
currentTenant.Id,
TenantId,
Severity);
return Done();
}

5
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Sms/LINGYUN/Abp/Elsa/Activities/Sms/Activities/SendSms.cs

@ -3,7 +3,6 @@ using Elsa.ActivityResults;
using Elsa.Attributes;
using Elsa.Design;
using Elsa.Expressions;
using Elsa.Services;
using Elsa.Services.Models;
using System;
using System.Collections.Generic;
@ -16,7 +15,7 @@ namespace LINGYUN.Abp.Elsa.Activities.Sms;
Category = "Sms",
Description = "Send an sms message.",
Outcomes = new[] { OutcomeNames.Done })]
public class SendSms : Activity
public class SendSms : AbpActivity
{
private readonly ISmsSender _smsSender;
@ -44,7 +43,7 @@ public class SendSms : Activity
)]
public Dictionary<string, string> Properties { get; set; } = new();
protected async override ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
var smsMessage = new SmsMessage(To.JoinAsString(";"), Message);
foreach (var prop in Properties)

9
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa.Activities.Webhooks/LINGYUN/Abp/Elsa/Activities/Webhooks/Activities/PublishWebhook.cs

@ -4,7 +4,6 @@ using Elsa.Attributes;
using Elsa.Design;
using Elsa.Expressions;
using Elsa.Providers.WorkflowStorage;
using Elsa.Services;
using Elsa.Services.Models;
using LINGYUN.Abp.Webhooks;
using System;
@ -17,7 +16,7 @@ namespace LINGYUN.Abp.Elsa.Activities.Webhooks;
Category = "PublishWebhook",
Description = "Sends webhooks to subscriptions.",
Outcomes = new[] { OutcomeNames.Done })]
public class PublishWebhook : Activity
public class PublishWebhook : AbpActivity
{
private readonly IWebhookPublisher _webhookPublisher;
@ -59,14 +58,12 @@ public class PublishWebhook : Activity
}
protected async override ValueTask<IActivityExecutionResult> OnExecuteAsync(ActivityExecutionContext context)
protected async override ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
var tenantId = context.GetTenantId();
await _webhookPublisher.PublishAsync(
WebhooName,
WebhookData,
tenantId,
TenantId,
SendExactSameData,
new WebhookHeader
{

8
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpActivity.cs

@ -18,7 +18,7 @@ public abstract class AbpActivity : Activity, IMultiTenantActivitySupport
var currentTenant = context.GetService<ICurrentTenant>();
using (currentTenant.Change(TenantId ?? context.GetTenantId() ?? currentTenant.Id))
{
return OnActivitCanExecuteAsync(context);
return OnActivityCanExecuteAsync(context);
}
}
@ -27,16 +27,16 @@ public abstract class AbpActivity : Activity, IMultiTenantActivitySupport
var currentTenant = context.GetService<ICurrentTenant>();
using (currentTenant.Change(TenantId ?? context.GetTenantId() ?? currentTenant.Id))
{
return OnActivitExecuteAsync(context);
return OnActivityExecuteAsync(context);
}
}
protected virtual ValueTask<bool> OnActivitCanExecuteAsync(ActivityExecutionContext context)
protected virtual ValueTask<bool> OnActivityCanExecuteAsync(ActivityExecutionContext context)
{
return new ValueTask<bool>(OnCanExecute(context));
}
protected virtual ValueTask<IActivityExecutionResult> OnActivitExecuteAsync(ActivityExecutionContext context)
protected virtual ValueTask<IActivityExecutionResult> OnActivityExecuteAsync(ActivityExecutionContext context)
{
return new ValueTask<IActivityExecutionResult>(OnExecute(context));
}

24
aspnet-core/modules/elsa/LINGYUN.Abp.Elsa/LINGYUN/Abp/Elsa/AbpActivityExtensions.cs

@ -7,19 +7,19 @@ namespace LINGYUN.Abp.Elsa;
public static class AbpActivityExtensions
{
public static ISetupActivity<AbpActivity> WithTenantId(
this ISetupActivity<AbpActivity> activity,
Func<ActivityExecutionContext, ValueTask<Guid?>> value) => activity.Set(x => x.TenantId, value);
public static ISetupActivity<TActivity> WithTenantId<TActivity>(
this ISetupActivity<TActivity> activity,
Func<ActivityExecutionContext, ValueTask<Guid?>> value) where TActivity : AbpActivity => activity.Set(x => x.TenantId, value);
public static ISetupActivity<AbpActivity> WithTenantId(
this ISetupActivity<AbpActivity> activity,
Func<ActivityExecutionContext, Guid?> value) => activity.Set(x => x.TenantId, value);
public static ISetupActivity<TActivity> WithTenantId<TActivity>(
this ISetupActivity<TActivity> activity,
Func<ActivityExecutionContext, Guid?> value) where TActivity : AbpActivity => activity.Set(x => x.TenantId, value);
public static ISetupActivity<AbpActivity> WithTenantId(
this ISetupActivity<AbpActivity> activity,
Func<Guid?> value) => activity.Set(x => x.TenantId, value);
public static ISetupActivity<TActivity> WithTenantId<TActivity>(
this ISetupActivity<TActivity> activity,
Func<Guid?> value) where TActivity : AbpActivity => activity.Set(x => x.TenantId, value);
public static ISetupActivity<AbpActivity> WithTenantId(
this ISetupActivity<AbpActivity> activity,
Guid? value) => activity.Set(x => x.TenantId, value);
public static ISetupActivity<TActivity> WithTenantId<TActivity>(
this ISetupActivity<TActivity> activity,
Guid? value) where TActivity : AbpActivity => activity.Set(x => x.TenantId, value);
}

1
aspnet-core/modules/localization/LINGYUN.Abp.Localization.Persistence/LINGYUN.Abp.Localization.Persistence.csproj

@ -10,7 +10,6 @@
<ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="$(VoloAbpPackageVersion)" />
<PackageReference Include="Polly" Version="$(PollyPackageVersion)" />
</ItemGroup>
</Project>

6
aspnet-core/modules/notifications/LINGYUN.Abp.Notifications.Application/LINGYUN/Abp/Notifications/NotificationAppService.cs

@ -38,7 +38,6 @@ public class NotificationAppService : ApplicationService, INotificationAppServic
if (!group.AllowSubscriptionToClients)
{
continue;
}
var notificationGroup = new NotificationGroupDto
{
@ -81,6 +80,11 @@ public class NotificationAppService : ApplicationService, INotificationAppServic
foreach (var notification in notifications)
{
if (!notification.AllowSubscriptionToClients)
{
continue;
}
templates.Add(
new NotificationTemplateDto
{

5
aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzJobCreator.cs

@ -47,6 +47,11 @@ public class QuartzJobCreator : IQuartzJobCreator, ISingletonDependency
}
}
if (jobType == null)
{
return null;
}
// 改为 JobId作为名称
var jobBuilder = JobBuilder.Create(jobType)
.WithIdentity(KeyBuilder.CreateJobKey(job))

2
aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/IJobStore.cs

@ -28,7 +28,7 @@ public interface IJobStore
string jobId,
CancellationToken cancellationToken = default);
Task CleanupAsync(
Task<List<JobInfo>> CleanupAsync(
int maxResultCount,
TimeSpan jobExpiratime,
CancellationToken cancellationToken = default);

14
aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/BackgroundCleaningJob.cs

@ -1,5 +1,6 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Auditing;
using Volo.Abp.MultiTenancy;
@ -20,9 +21,18 @@ public class BackgroundCleaningJob : IJobRunnable
using (currentTenant.Change(tenantId))
{
await store.CleanupAsync(
var expiredJobs = await store.CleanupAsync(
options.MaxJobCleanCount,
options.JobExpiratime);
options.JobExpiratime,
context.CancellationToken);
var jobScheduler = context.ServiceProvider.GetRequiredService<IJobScheduler>();
foreach (var expiredJob in expiredJobs)
{
// 从队列强制移除作业
await jobScheduler.RemoveAsync(expiredJob, context.CancellationToken);
}
}
}
}

5
aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/BackgroundPollingJob.cs

@ -21,7 +21,8 @@ public class BackgroundPollingJob : IJobRunnable
using (currentTenant.Change(tenantId))
{
var waitingJobs = await store.GetWaitingListAsync(options.MaxJobFetchCount);
var waitingJobs = await store.GetWaitingListAsync(
options.MaxJobFetchCount, context.CancellationToken);
if (!waitingJobs.Any())
{
@ -32,7 +33,7 @@ public class BackgroundPollingJob : IJobRunnable
foreach (var job in waitingJobs)
{
await jobPublisher.PublishAsync(job);
await jobPublisher.PublishAsync(job, context.CancellationToken);
}
}
}

7
aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/InMemoryJobStore.cs

@ -106,7 +106,7 @@ internal class InMemoryJobStore : IJobStore, ISingletonDependency
return Task.CompletedTask;
}
public Task CleanupAsync(int maxResultCount, TimeSpan jobExpiratime, CancellationToken cancellationToken = default)
public Task<List<JobInfo>> CleanupAsync(int maxResultCount, TimeSpan jobExpiratime, CancellationToken cancellationToken = default)
{
cancellationToken.ThrowIfCancellationRequested();
@ -115,10 +115,11 @@ internal class InMemoryJobStore : IJobStore, ISingletonDependency
var expriaJobs = _memoryJobStore
.Where(x => x.Status == JobStatus.Completed &&
expiratime.CompareTo(x.LastRunTime ?? x.EndTime ?? x.CreationTime) <= 0)
.Take(maxResultCount);
.Take(maxResultCount)
.ToList();
_memoryJobStore.RemoveAll(expriaJobs);
return Task.CompletedTask;
return Task.FromResult(expriaJobs);
}
}

13
aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/Internal/JobExecutedEvent.cs

@ -73,9 +73,22 @@ public class JobExecutedEvent : JobEventBase<JobExecutedEvent>, ITransientDepend
{
// 成功一次重置重试次数
job.TryCount = 0;
var jobCompleted = false;
// 尝试达到上限则标记已完成
if (job.Status == JobStatus.FailedRetry &&
job.TryCount >= job.MaxTryCount)
{
jobCompleted = true;
}
// 所有任务达到上限则标记已完成
if (job.MaxCount > 0 && job.TriggerCount >= job.MaxCount)
{
jobCompleted = true;
}
if (jobCompleted)
{
job.Status = JobStatus.Completed;
job.NextRunTime = null;

8
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain/LINGYUN/Abp/TaskManagement/BackgroundJobStore.cs

@ -158,7 +158,7 @@ public class BackgroundJobStore : IJobStore, ITransientDependency
}
}
public async virtual Task CleanupAsync(
public async virtual Task<List<JobInfo>> CleanupAsync(
int maxResultCount,
TimeSpan jobExpiratime,
CancellationToken cancellationToken = default)
@ -169,9 +169,13 @@ public class BackgroundJobStore : IJobStore, ITransientDependency
jobExpiratime,
cancellationToken);
var expiredJobs = ObjectMapper.Map<List<BackgroundJobInfo>, List<JobInfo>>(jobs);
await JobInfoRepository.DeleteManyAsync(jobs, cancellationToken: cancellationToken);
await unitOfWork.SaveChangesAsync();
await unitOfWork.SaveChangesAsync(cancellationToken);
return expiredJobs;
}
protected virtual Exception GetSourceException(Exception exception)

6
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.EntityFrameworkCore/LINGYUN/Abp/TaskManagement/EntityFrameworkCore/EfCoreBackgroundJobInfoRepository.cs

@ -80,11 +80,10 @@ public class EfCoreBackgroundJobInfoRepository :
TimeSpan jobExpiratime,
CancellationToken cancellationToken = default)
{
var expiratime = Clock.Now - jobExpiratime;
var expiratime = Clock.Now.Subtract(jobExpiratime);
return await (await GetDbSetAsync())
.Where(x => x.Status == JobStatus.Completed &&
DateTime.Compare(x.LastRunTime.Value, expiratime) <= 0)
.Where(x => x.Status == JobStatus.Completed && x.LastRunTime <= expiratime)
.OrderBy(x => x.CreationTime)
.Take(maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
@ -122,7 +121,6 @@ public class EfCoreBackgroundJobInfoRepository :
int maxResultCount,
CancellationToken cancellationToken = default)
{
var now = Clock.Now;
var status = new JobStatus[] { JobStatus.Running, JobStatus.FailedRetry };
return await (await GetDbSetAsync())

8
aspnet-core/modules/tui-juhe/LINGYUN.Abp.Notifications.TuiJuhe/LINGYUN/Abp/Notifications/TuiJuhe/TuiJuheNotificationPublishProvider.cs

@ -92,11 +92,13 @@ public class TuiJuheNotificationPublishProvider : NotificationPublishProvider
{
var titleInfo = notification.Data.TryGetData("title").As<LocalizableStringInfo>();
var titleResource = GetResource(titleInfo.ResourceName);
var title = LocalizerFactory.Create(titleResource.ResourceType)[titleInfo.Name, titleInfo.Values].Value;
var titleLocalizer = await LocalizerFactory.CreateByResourceNameAsync(titleResource.ResourceName);
var title = titleLocalizer[titleInfo.Name, titleInfo.Values].Value;
var messageInfo = notification.Data.TryGetData("message").As<LocalizableStringInfo>();
var messageResource = GetResource(messageInfo.ResourceName);
var message = LocalizerFactory.Create(messageResource.ResourceType)[messageInfo.Name, messageInfo.Values].Value;
var messageLocalizer = await LocalizerFactory.CreateByResourceNameAsync(messageResource.ResourceName);
var message = messageLocalizer[messageInfo.Name, messageInfo.Values].Value;
await TuiJuheMessageSender.SendAsync(
title: title,
@ -107,7 +109,7 @@ public class TuiJuheNotificationPublishProvider : NotificationPublishProvider
}
}
private LocalizationResource GetResource(string resourceName)
private LocalizationResourceBase GetResource(string resourceName)
{
return LocalizationOptions.Resources.Values
.First(x => x.ResourceName.Equals(resourceName));

2
aspnet-core/modules/tui-juhe/LINGYUN.Abp.TuiJuhe/LINGYUN.Abp.TuiJuhe.csproj

@ -18,7 +18,7 @@
<ItemGroup>
<PackageReference Include="Volo.Abp.Caching" Version="$(VoloAbpPackageVersion)" />
<PackageReference Include="Volo.Abp.Json" Version="$(VoloAbpPackageVersion)" />
<PackageReference Include="Volo.Abp.Json.Newtonsoft" Version="$(VoloAbpPackageVersion)" />
<PackageReference Include="Microsoft.Extensions.Http" Version="$(MicrosoftPackageVersion)" />
</ItemGroup>

10
aspnet-core/modules/tui-juhe/LINGYUN.Abp.TuiJuhe/LINGYUN/Abp/TuiJuhe/AbpTuiJuheModule.cs

@ -2,8 +2,7 @@
using LINGYUN.Abp.TuiJuhe.Localization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Caching;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson;
using Volo.Abp.Json.Newtonsoft;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Settings;
@ -12,7 +11,7 @@ using Volo.Abp.VirtualFileSystem;
namespace LINGYUN.Abp.TuiJuhe;
[DependsOn(
typeof(AbpJsonModule),
typeof(AbpJsonNewtonsoftModule),
typeof(AbpSettingsModule),
typeof(AbpCachingModule),
typeof(AbpFeaturesLimitValidationModule))]
@ -22,11 +21,6 @@ public class AbpTuiJuheModule : AbpModule
{
context.Services.AddTuiJuheClient();
Configure<AbpSystemTextJsonSerializerOptions>(options =>
{
});
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpTuiJuheModule>();

1
aspnet-core/modules/webhooks/LINGYUN.Abp.Webhooks.Identity/LINGYUN/Abp/Webhooks/Identity/OrganizationUnitWebHooker.cs

@ -42,6 +42,7 @@ public class OrganizationUnitWebhooker :
new OrganizationUnitWto
{
Id = eto.Id,
Code = eto.Code,
DisplayName = eto.DisplayName
},
eto.TenantId);

2
aspnet-core/services/LY.MicroService.AuthServer.HttpApi.Host/AuthServerHttpApiHostModule.Configure.cs

@ -104,7 +104,7 @@ public partial class AuthServerHttpApiHostModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

2
aspnet-core/services/LY.MicroService.AuthServer/AuthServerModule.Configure.cs

@ -186,7 +186,7 @@ public partial class AuthServerModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

2
aspnet-core/services/LY.MicroService.BackendAdmin.HttpApi.Host/BackendAdminHttpApiHostModule.Configure.cs

@ -106,7 +106,7 @@ public partial class BackendAdminHttpApiHostModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

2
aspnet-core/services/LY.MicroService.LocalizationManagement.HttpApi.Host/LocalizationManagementHttpApiHostModule.Configure.cs

@ -98,7 +98,7 @@ public partial class LocalizationManagementHttpApiHostModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

2
aspnet-core/services/LY.MicroService.PlatformManagement.HttpApi.Host/PlatformManagementHttpApiHostModule.Configure.cs

@ -102,7 +102,7 @@ public partial class PlatformManagementHttpApiHostModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

11
aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/EventBus/Distributed/NotificationEventHandler.cs

@ -212,11 +212,12 @@ namespace LY.MicroService.RealtimeMessage.EventBus.Distributed
cultureName: eventData.Data.Culture,
globalContext: new Dictionary<string, object>
{
{ "$notification", notification.Name },
{ "$formUser", eventData.Data.FormUser },
{ "$notificationId", eventData.Id },
{ "$title", title.ToString() },
{ "$creationTime", eventData.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") },
// 模板不支持 $ 字符, 改为普通关键字
{ NotificationKeywords.Name, notification.Name },
{ NotificationKeywords.FormUser, eventData.Data.FormUser },
{ NotificationKeywords.Id, eventData.Id },
{ NotificationKeywords.Title, title.ToString() },
{ NotificationKeywords.CreationTime, eventData.CreationTime.ToString(Options.DateTimeFormat) },
});
}
catch(Exception ex)

2
aspnet-core/services/LY.MicroService.RealtimeMessage.HttpApi.Host/RealtimeMessageHttpApiHostModule.Configure.cs

@ -141,7 +141,7 @@ public partial class RealtimeMessageHttpApiHostModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

2
aspnet-core/services/LY.MicroService.identityServer.HttpApi.Host/IdentityServerHttpApiHostModule.Configure.cs

@ -103,7 +103,7 @@ public partial class IdentityServerHttpApiHostModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

2
aspnet-core/services/LY.MicroService.identityServer/IdentityServerModule.Configure.cs

@ -134,7 +134,7 @@ public partial class IdentityServerModule
// 统一时间日期格式
Configure<AbpJsonOptions>(options =>
{
// options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
});
// 中文序列化的编码问题
Configure<AbpSystemTextJsonSerializerOptions>(options =>

7
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/AbpElsaActivitiesWebhooksTests.cs

@ -0,0 +1,7 @@
using LINGYUN.Abp.Tests;
namespace LINGYUN.Abp.Elsa.Activities.Webhooks.Tests;
public abstract class AbpElsaActivitiesWebhooksTests : AbpTestsBase<AbpElsaActivitiesWebhooksTestsModule>
{
}

30
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/AbpElsaActivitiesWebhooksTestsModule.cs

@ -0,0 +1,30 @@
using Elsa.Options;
using LINGYUN.Abp.Elsa.Tests;
using LINGYUN.Abp.Webhooks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.Elsa.Activities.Webhooks.Tests;
[DependsOn(
typeof(AbpElsaTestsModule),
typeof(AbpElsaActivitiesWebhooksModule)
)]
public class AbpElsaActivitiesWebhooksTestsModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<ElsaOptionsBuilder>(builder =>
{
builder
.AddWebhooksActivities()
.AddWorkflow<PublishWebhookWorkflow>();
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.Replace(ServiceDescriptor.Singleton<IWebhookPublisher, MemoryWebhookPublisher>());
}
}

29
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests.csproj

@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\modules\elsa\LINGYUN.Abp.Elsa.Activities.Webhooks\LINGYUN.Abp.Elsa.Activities.Webhooks.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.Elsa.Tests\LINGYUN.Abp.Elsa.Tests.csproj" />
</ItemGroup>
</Project>

66
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/MemoryWebhookPublisher.cs

@ -0,0 +1,66 @@
using LINGYUN.Abp.Webhooks;
namespace LINGYUN.Abp.Elsa.Activities.Webhooks.Tests;
internal class MemoryWebhookPublisher : IWebhookPublisher
{
public static readonly IDictionary<string, WebhookData> WebHooks = new Dictionary<string, WebhookData>();
public Task PublishAsync(string webhookName, object data, bool sendExactSameData = false, WebhookHeader? headers = null)
{
if (!WebHooks.ContainsKey(webhookName))
{
WebHooks.Add(webhookName,
new WebhookData(webhookName, data, sendExactSameData, headers));
}
return Task.CompletedTask;
}
public Task PublishAsync(string webhookName, object data, Guid? tenantId, bool sendExactSameData = false, WebhookHeader? headers = null)
{
if (!WebHooks.ContainsKey(webhookName))
{
Guid?[] tenantIds = new Guid?[] { tenantId };
var webhook = new WebhookData(webhookName, data, sendExactSameData, headers, tenantIds);
WebHooks.Add(webhookName, webhook);
}
return Task.CompletedTask;
}
public Task PublishAsync(Guid?[] tenantIds, string webhookName, object data, bool sendExactSameData = false, WebhookHeader? headers = null)
{
if (!WebHooks.ContainsKey(webhookName))
{
var webhook = new WebhookData(webhookName, data, sendExactSameData, headers, tenantIds);
WebHooks.Add(webhookName, webhook);
}
return Task.CompletedTask;
}
}
internal class WebhookData
{
public string Name { get; set; }
public object Data { get; set; }
public bool SendExactSameData { get; set; }
public WebhookHeader? Headers { get; set; }
public Guid?[]? TenantIds { get; set; }
public WebhookData(
string name,
object data,
bool sendExactSameData = false,
WebhookHeader? headers = null,
Guid?[]? tenantIds = null)
{
Name = name;
Data = data;
SendExactSameData = sendExactSameData;
Headers = headers;
TenantIds = tenantIds;
}
}

7
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/PublishWebhookData.cs

@ -0,0 +1,7 @@
namespace LINGYUN.Abp.Elsa.Activities.Webhooks.Tests;
internal static class PublishWebhookData
{
public readonly static string Name = "Send by xUnit test";
public readonly static object SendData = "Test data";
public readonly static Guid? TenantId = Guid.NewGuid();
}

21
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/PublishWebhookTests.cs

@ -0,0 +1,21 @@
using Elsa.Services;
namespace LINGYUN.Abp.Elsa.Activities.Webhooks.Tests;
public class PublishWebhookTests : AbpElsaActivitiesWebhooksTests
{
private readonly IBuildsAndStartsWorkflow _workflowRunner;
public PublishWebhookTests()
{
_workflowRunner = GetRequiredService<IBuildsAndStartsWorkflow>();
}
[Fact]
public async Task Push_Webhook()
{
await _workflowRunner.BuildAndStartWorkflowAsync<PublishWebhookWorkflow>();
MemoryWebhookPublisher.WebHooks.ShouldContainKey(PublishWebhookData.Name);
}
}

26
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/PublishWebhookWorkflow.cs

@ -0,0 +1,26 @@
using Elsa.Activities.Console;
using Elsa.Activities.ControlFlow;
using Elsa.Builders;
namespace LINGYUN.Abp.Elsa.Activities.Webhooks.Tests;
public class PublishWebhookWorkflow : IWorkflow
{
public void Build(IWorkflowBuilder builder)
{
builder
.WriteLine("This a simple workflow with publish webhook.")
.PublishWebhook(
setup: activity =>
activity.WithWebhooName(PublishWebhookData.Name)
.WithWebhookData(PublishWebhookData.SendData)
.WithSendExactSameData(true)
.WithUseOnlyGivenHeaders(false)
.WithHeaders(new Dictionary<string, string>
{
{ "X-With", "Test" }
})
.WithTenantId(PublishWebhookData.TenantId))
.WriteLine("Workflow finished.");
}
}

2
aspnet-core/tests/LINGYUN.Abp.Elsa.Activities.Webhooks.Tests/Usings.cs

@ -0,0 +1,2 @@
global using Xunit;
global using Shouldly;

8
aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/AbpElsaTests.cs

@ -0,0 +1,8 @@
using LINGYUN.Abp.Tests;
namespace LINGYUN.Abp.Elsa.Tests
{
public abstract class AbpElsaTests : AbpTestsBase<AbpElsaTestsModule>
{
}
}

12
aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/AbpElsaTestsModule.cs

@ -0,0 +1,12 @@
using LINGYUN.Abp.Tests;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.Elsa.Tests
{
[DependsOn(
typeof(AbpTestsBaseModule)
)]
public class AbpElsaTestsModule : AbpModule
{
}
}

28
aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/LINGYUN.Abp.Elsa.Tests.csproj

@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
<PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.TestBase\LINGYUN.Abp.TestsBase.csproj" />
</ItemGroup>
</Project>

2
aspnet-core/tests/LINGYUN.Abp.Elsa.Tests/Usings.cs

@ -0,0 +1,2 @@
global using Xunit;
global using Shouldly;

6
gateways/Directory.Build.props

@ -1,9 +1,9 @@
<Project>
<PropertyGroup>
<VoloAbpPackageVersion>6.0.2</VoloAbpPackageVersion>
<LINGYUNAbpPackageVersion>6.0.1</LINGYUNAbpPackageVersion>
<VoloAbpPackageVersion>7.0.1</VoloAbpPackageVersion>
<LINGYUNAbpPackageVersion>7.0.1</LINGYUNAbpPackageVersion>
<DaprPackageVersion>1.8.0</DaprPackageVersion>
<DotNetCoreCAPPackageVersion>6.0.1</DotNetCoreCAPPackageVersion>
<DotNetCoreCAPPackageVersion>7.0.2</DotNetCoreCAPPackageVersion>
<AliyunSDKPackageVersion>1.5.10</AliyunSDKPackageVersion>
<AliyunOSSSDKPackageVersion>2.13.0</AliyunOSSSDKPackageVersion>
<AgileConfigClientPackageVersion>1.2.1.5</AgileConfigClientPackageVersion>

2
gateways/common.props

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Version>6.0.1</Version>
<Version>7.0.1</Version>
<Authors>colin</Authors>
<NoWarn>$(NoWarn);CS1591;CS0436;CS8618;NU1803</NoWarn>
<PackageProjectUrl>https://github.com/colinin/abp-next-admin</PackageProjectUrl>

Loading…
Cancel
Save