Browse Source

修复单体项目事务不一致问题

pull/990/head
colin 1 year ago
parent
commit
0ad300ac07
  1. 10
      apps/flutter/account/.flutter-plugins
  2. 2
      apps/flutter/account/.flutter-plugins-dependencies
  3. 4
      apps/flutter/account/android/local.properties
  4. 2
      apps/flutter/account/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
  5. 10
      apps/flutter/account_core/.flutter-plugins
  6. 2
      apps/flutter/account_core/.flutter-plugins-dependencies
  7. 4
      apps/flutter/account_core/android/local.properties
  8. 2
      apps/flutter/account_core/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
  9. 10
      apps/flutter/components/.flutter-plugins
  10. 2
      apps/flutter/components/.flutter-plugins-dependencies
  11. 4
      apps/flutter/components/android/local.properties
  12. 2
      apps/flutter/components/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
  13. 10
      apps/flutter/core/.flutter-plugins
  14. 2
      apps/flutter/core/.flutter-plugins-dependencies
  15. 4
      apps/flutter/core/android/local.properties
  16. 2
      apps/flutter/core/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
  17. 86
      apps/flutter/dev_app/pubspec.lock
  18. 7
      apps/flutter/dev_app/windows/flutter/CMakeLists.txt
  19. 5
      apps/flutter/dev_app/windows/runner/flutter_window.cpp
  20. 24
      apps/flutter/notifications/.flutter-plugins
  21. 2
      apps/flutter/notifications/.flutter-plugins-dependencies
  22. 4
      apps/flutter/notifications/android/local.properties
  23. 6
      apps/flutter/notifications/ios/Runner/GeneratedPluginRegistrant.m
  24. 2
      apps/flutter/notifications/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
  25. 2
      apps/flutter/notifications/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux
  26. 10
      apps/flutter/oauth/.flutter-plugins
  27. 2
      apps/flutter/oauth/.flutter-plugins-dependencies
  28. 4
      apps/flutter/oauth/android/local.properties
  29. 2
      apps/flutter/oauth/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
  30. 4
      apps/flutter/platform/android/local.properties
  31. 2
      apps/flutter/platform/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
  32. 4
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN/Abp/Identity/Session/IIdentitySessionStore.cs
  33. 24
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN/Abp/Identity/Session/IdentitySessionManager.cs
  34. 10
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN/Abp/Identity/Session/IdentitySessionStore.cs
  35. 2
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Portal/LINGYUN/Abp/IdentityServer/Portal/PortalGrantValidator.cs
  36. 6
      aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/AbpOpenIddictAspNetCoreSessionModule.cs
  37. 11
      aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/AbpOpenIddictAspNetCoreSessionOptions.cs
  38. 10
      aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/ProcessSignInIdentitySession.cs
  39. 11
      aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/RevocationIdentitySession.cs
  40. 13
      aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/UserinfoIdentitySession.cs
  41. 2
      aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.Portal/LINGYUN/Abp/OpenIddict/Portal/PortalTokenExtensionGrant.cs
  42. 15
      aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.Configure.cs
  43. 3
      aspnet-core/services/LY.MicroService.Applications.Single/Program.cs
  44. 18
      aspnet-core/services/LY.MicroService.AuthServer/AuthServerModule.Configure.cs
  45. 18
      kubernetes/mysql-config.yaml
  46. 11
      kubernetes/mysql-dbdata.yaml
  47. 43
      kubernetes/mysql-deployment.yaml
  48. 13
      kubernetes/mysql-service.yaml
  49. 3
      kubernetes/mysql/Dockerfile
  50. 10
      kubernetes/mysql/conf.d/my.cnf
  51. 3
      kubernetes/mysql/docker-entrypoint-initdb.d/agile-initial.sql
  52. 317
      kubernetes/mysql/docker-entrypoint-initdb.d/elsa-migrations-initial.sql
  53. 10
      kubernetes/mysql/my.cnf

10
apps/flutter/account/.flutter-plugins

@ -1,6 +1,6 @@
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
path_provider=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.0.15\\ path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.1.3\\
path_provider_android=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.0.27\\ path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.2.4\\
path_provider_foundation=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.2.3\\ path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.4.0\\
path_provider_linux=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.1.11\\ path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.2.1\\
path_provider_windows=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.1.7\\ path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.2.1\\

2
apps/flutter/account/.flutter-plugins-dependencies

@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.3\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.3\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.11\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.1.7\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-07-17 09:32:14.474983","version":"3.10.5"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2024-05-13 09:19:18.166260","version":"3.19.0"}

4
apps/flutter/account/android/local.properties

@ -1,2 +1,2 @@
sdk.dir=C:\\Users\\eddlevol\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\Sdk\\Flutter flutter.sdk=C:\\Program Files\\flutter

2
apps/flutter/account/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.1.11/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/

10
apps/flutter/account_core/.flutter-plugins

@ -1,6 +1,6 @@
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
path_provider=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.0.15\\ path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.1.3\\
path_provider_android=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.0.27\\ path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.2.4\\
path_provider_foundation=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.2.4\\ path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.4.0\\
path_provider_linux=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.1.11\\ path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.2.1\\
path_provider_windows=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.1.7\\ path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.2.1\\

2
apps/flutter/account_core/.flutter-plugins-dependencies

@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.11\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.1.7\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-07-18 08:33:58.742879","version":"3.10.5"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2024-05-13 09:19:19.951989","version":"3.19.0"}

4
apps/flutter/account_core/android/local.properties

@ -1,2 +1,2 @@
sdk.dir=C:\\Users\\eddlevol\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\Sdk\\Flutter flutter.sdk=C:\\Program Files\\flutter

2
apps/flutter/account_core/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.1.11/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/

10
apps/flutter/components/.flutter-plugins

@ -1,6 +1,6 @@
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
path_provider=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.0.15\\ path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.1.3\\
path_provider_android=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.0.27\\ path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.2.4\\
path_provider_foundation=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.2.3\\ path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.4.0\\
path_provider_linux=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.1.11\\ path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.2.1\\
path_provider_windows=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.1.7\\ path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.2.1\\

2
apps/flutter/components/.flutter-plugins-dependencies

@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.3\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.3\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.11\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.1.7\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-07-17 09:32:19.079179","version":"3.10.5"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2024-05-13 09:19:21.448699","version":"3.19.0"}

4
apps/flutter/components/android/local.properties

@ -1,2 +1,2 @@
sdk.dir=C:\\Users\\eddlevol\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\Sdk\\Flutter flutter.sdk=C:\\Program Files\\flutter

2
apps/flutter/components/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.1.11/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/

10
apps/flutter/core/.flutter-plugins

@ -1,6 +1,6 @@
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
path_provider=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.0.15\\ path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.1.3\\
path_provider_android=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.0.27\\ path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.2.4\\
path_provider_foundation=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.2.3\\ path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.4.0\\
path_provider_linux=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.1.11\\ path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.2.1\\
path_provider_windows=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.1.7\\ path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.2.1\\

2
apps/flutter/core/.flutter-plugins-dependencies

@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.3\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.3\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.11\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.1.7\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-07-19 11:21:40.892667","version":"3.10.5"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2024-05-13 09:19:23.136459","version":"3.19.0"}

4
apps/flutter/core/android/local.properties

@ -1,2 +1,2 @@
sdk.dir=C:\\Users\\eddlevol\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\Sdk\\Flutter flutter.sdk=C:\\Program Files\\flutter

2
apps/flutter/core/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.1.11/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/

86
apps/flutter/dev_app/pubspec.lock

@ -164,10 +164,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.17.1" version: "1.18.0"
components: components:
dependency: "direct main" dependency: "direct main"
description: description:
@ -218,10 +218,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: dart_internal name: dart_internal
sha256: dae3976f383beddcfcd07ad5291a422df2c8c0a8a03c52cda63ac7b4f26e0f4e sha256: "17ad5e3da43df562bb98ca0d88e9f32aeb16c97ec33dee822b21c3b2d0875726"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.2.8" version: "0.2.12"
dart_style: dart_style:
dependency: transitive dependency: transitive
description: description:
@ -376,6 +376,14 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_logs:
dependency: "direct main"
description:
name: flutter_logs
sha256: e13f1ca8ce76849b40aaf25a40bb58748e47093f1f36efd6b454e25e8e34e65f
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.12"
flutter_picker: flutter_picker:
dependency: "direct main" dependency: "direct main"
description: description:
@ -478,10 +486,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: intl name: intl
sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.18.0" version: "0.18.1"
io: io:
dependency: transitive dependency: transitive
description: description:
@ -514,6 +522,30 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.7.1" version: "6.7.1"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
url: "https://pub.flutter-io.cn"
source: hosted
version: "10.0.0"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.1"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.1"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -566,18 +598,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.12.15" version: "0.12.16+1"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.2.0" version: "0.8.0"
message_pack_dart: message_pack_dart:
dependency: transitive dependency: transitive
description: description:
@ -590,10 +622,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.9.1" version: "1.11.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -636,10 +668,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path name: path
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.8.3" version: "1.9.0"
path_drawing: path_drawing:
dependency: transitive dependency: transitive
description: description:
@ -848,10 +880,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
sse_client: sse_client:
dependency: transitive dependency: transitive
description: description:
@ -864,18 +896,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.11.0" version: "1.11.1"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
stream_transform: stream_transform:
dependency: transitive dependency: transitive
description: description:
@ -904,10 +936,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.5.1" version: "0.6.1"
timezone: timezone:
dependency: transitive dependency: transitive
description: description:
@ -1020,6 +1052,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.4.0+2" version: "0.4.0+2"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
url: "https://pub.flutter-io.cn"
source: hosted
version: "13.0.0"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
@ -1069,5 +1109,5 @@ packages:
source: hosted source: hosted
version: "3.1.2" version: "3.1.2"
sdks: sdks:
dart: ">=3.0.5 <3.2.0" dart: ">=3.2.0-0 <3.6.0"
flutter: ">=3.10.0" flutter: ">=3.10.0"

7
apps/flutter/dev_app/windows/flutter/CMakeLists.txt

@ -10,6 +10,11 @@ include(${EPHEMERAL_DIR}/generated_config.cmake)
# https://github.com/flutter/flutter/issues/57146. # https://github.com/flutter/flutter/issues/57146.
set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper")
# Set fallback configurations for older versions of the flutter tool.
if (NOT DEFINED FLUTTER_TARGET_PLATFORM)
set(FLUTTER_TARGET_PLATFORM "windows-x64")
endif()
# === Flutter Library === # === Flutter Library ===
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll")
@ -92,7 +97,7 @@ add_custom_command(
COMMAND ${CMAKE_COMMAND} -E env COMMAND ${CMAKE_COMMAND} -E env
${FLUTTER_TOOL_ENVIRONMENT} ${FLUTTER_TOOL_ENVIRONMENT}
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat"
windows-x64 $<CONFIG> ${FLUTTER_TARGET_PLATFORM} $<CONFIG>
VERBATIM VERBATIM
) )
add_custom_target(flutter_assemble DEPENDS add_custom_target(flutter_assemble DEPENDS

5
apps/flutter/dev_app/windows/runner/flutter_window.cpp

@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() {
this->Show(); this->Show();
}); });
// Flutter can complete the first frame before the "show window" callback is
// registered. The following call ensures a frame is pending to ensure the
// window is shown. It is a no-op if the first frame hasn't completed yet.
flutter_controller_->ForceRedraw();
return true; return true;
} }

24
apps/flutter/notifications/.flutter-plugins

@ -1,13 +1,13 @@
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
path_provider=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.0.15\\ path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.1.3\\
path_provider_android=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.0.27\\ path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.2.4\\
path_provider_foundation=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.2.4\\ path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.4.0\\
path_provider_linux=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.1.11\\ path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.2.1\\
path_provider_windows=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.1.7\\ path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.2.1\\
url_launcher=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher-6.1.12\\ url_launcher=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher-6.2.6\\
url_launcher_android=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_android-6.0.36\\ url_launcher_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_android-6.3.0\\
url_launcher_ios=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_ios-6.1.4\\ url_launcher_ios=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_ios-6.3.0\\
url_launcher_linux=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_linux-3.0.5\\ url_launcher_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_linux-3.1.1\\
url_launcher_macos=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_macos-3.0.6\\ url_launcher_macos=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_macos-3.2.0\\
url_launcher_web=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_web-2.0.18\\ url_launcher_web=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_web-2.3.0\\
url_launcher_windows=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_windows-3.0.7\\ url_launcher_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\url_launcher_windows-3.1.1\\

2
apps/flutter/notifications/.flutter-plugins-dependencies

@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_ios-6.1.4\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_android-6.0.36\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_macos-3.0.6\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.11\\\\","native_build":false,"dependencies":[]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_linux-3.0.5\\\\","native_build":true,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.1.7\\\\","native_build":false,"dependencies":[]},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_windows-3.0.7\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"url_launcher_web","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_web-2.0.18\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2023-07-20 08:38:12.016329","version":"3.10.5"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_ios-6.3.0\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_android-6.3.0\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_macos-3.2.0\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_linux-3.1.1\\\\","native_build":true,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_windows-3.1.1\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"url_launcher_web","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\url_launcher_web-2.3.0\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2024-05-13 09:19:46.089870","version":"3.19.0"}

4
apps/flutter/notifications/android/local.properties

@ -1,2 +1,2 @@
sdk.dir=C:\\Users\\eddlevol\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\Sdk\\Flutter flutter.sdk=C:\\Program Files\\flutter

6
apps/flutter/notifications/ios/Runner/GeneratedPluginRegistrant.m

@ -12,8 +12,8 @@
@import path_provider_foundation; @import path_provider_foundation;
#endif #endif
#if __has_include(<url_launcher_ios/FLTURLLauncherPlugin.h>) #if __has_include(<url_launcher_ios/URLLauncherPlugin.h>)
#import <url_launcher_ios/FLTURLLauncherPlugin.h> #import <url_launcher_ios/URLLauncherPlugin.h>
#else #else
@import url_launcher_ios; @import url_launcher_ios;
#endif #endif
@ -22,7 +22,7 @@
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry { + (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {
[PathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"PathProviderPlugin"]]; [PathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"PathProviderPlugin"]];
[FLTURLLauncherPlugin registerWithRegistrar:[registry registrarForPlugin:@"FLTURLLauncherPlugin"]]; [URLLauncherPlugin registerWithRegistrar:[registry registrarForPlugin:@"URLLauncherPlugin"]];
} }
@end @end

2
apps/flutter/notifications/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.1.11/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/

2
apps/flutter/notifications/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.0.5/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/url_launcher_linux-3.1.1/

10
apps/flutter/oauth/.flutter-plugins

@ -1,6 +1,6 @@
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
path_provider=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.0.15\\ path_provider=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider-2.1.3\\
path_provider_android=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.0.27\\ path_provider_android=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_android-2.2.4\\
path_provider_foundation=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.2.4\\ path_provider_foundation=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_foundation-2.4.0\\
path_provider_linux=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.1.11\\ path_provider_linux=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_linux-2.2.1\\
path_provider_windows=C:\\Users\\eddlevol\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.1.7\\ path_provider_windows=C:\\Users\\Administrator\\AppData\\Local\\Pub\\Cache\\hosted\\pub.flutter-io.cn\\path_provider_windows-2.2.1\\

2
apps/flutter/oauth/.flutter-plugins-dependencies

@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.0.27\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.2.4\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.1.11\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\eddlevol\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.1.7\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-07-19 17:25:01.623054","version":"3.10.5"} {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Administrator\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.flutter-io.cn\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2024-05-13 09:19:49.008940","version":"3.19.0"}

4
apps/flutter/oauth/android/local.properties

@ -1,2 +1,2 @@
sdk.dir=C:\\Users\\eddlevol\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\Sdk\\Flutter flutter.sdk=C:\\Program Files\\flutter

2
apps/flutter/oauth/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.1.11/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/

4
apps/flutter/platform/android/local.properties

@ -1,2 +1,2 @@
sdk.dir=C:\\Users\\eddlevol\\AppData\\Local\\Android\\sdk sdk.dir=C:\\Users\\Administrator\\AppData\\Local\\Android\\sdk
flutter.sdk=D:\\Sdk\\Flutter flutter.sdk=C:\\Program Files\\flutter

2
apps/flutter/platform/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux

@ -1 +1 @@
C:/Users/eddlevol/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.1.11/ C:/Users/Administrator/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/path_provider_linux-2.2.1/

4
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN/Abp/Identity/Session/IIdentitySessionStore.cs

@ -19,6 +19,8 @@ public interface IIdentitySessionStore
/// <param name="userId">用户id</param> /// <param name="userId">用户id</param>
/// <param name="clientId">客户端id</param> /// <param name="clientId">客户端id</param>
/// <param name="ipAddresses">ip地址</param> /// <param name="ipAddresses">ip地址</param>
/// <param name="signedIn">登录时间</param>
/// <param name="lastAccessed">上次访问时间</param>
/// <param name="tenantId">租户id</param> /// <param name="tenantId">租户id</param>
/// <param name="cancellationToken"></param> /// <param name="cancellationToken"></param>
/// <returns>创建完成的 <seealso cref="IdentitySession"/></returns> /// <returns>创建完成的 <seealso cref="IdentitySession"/></returns>
@ -29,6 +31,8 @@ public interface IIdentitySessionStore
Guid userId, Guid userId,
string clientId, string clientId,
string ipAddresses, string ipAddresses,
DateTime signedIn,
DateTime? lastAccessed = null,
Guid? tenantId = null, Guid? tenantId = null,
CancellationToken cancellationToken = default); CancellationToken cancellationToken = default);
/// <summary> /// <summary>

24
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN/Abp/Identity/Session/IdentitySessionManager.cs

@ -7,20 +7,24 @@ using System.Threading.Tasks;
using Volo.Abp.Auditing; using Volo.Abp.Auditing;
using Volo.Abp.Domain.Services; using Volo.Abp.Domain.Services;
using Volo.Abp.Identity; using Volo.Abp.Identity;
using Volo.Abp.Timing;
namespace LINGYUN.Abp.Identity.Session; namespace LINGYUN.Abp.Identity.Session;
public class IdentitySessionManager : DomainService, IIdentitySessionManager public class IdentitySessionManager : DomainService, IIdentitySessionManager
{ {
protected IDeviceInfoProvider DeviceInfoProvider { get; } protected IDeviceInfoProvider DeviceInfoProvider { get; }
protected IIdentitySessionCache IdentitySessionCache { get; }
protected IIdentitySessionStore IdentitySessionStore { get; } protected IIdentitySessionStore IdentitySessionStore { get; }
protected IdentityDynamicClaimsPrincipalContributorCache IdentityDynamicClaimsPrincipalContributorCache { get; } protected IdentityDynamicClaimsPrincipalContributorCache IdentityDynamicClaimsPrincipalContributorCache { get; }
public IdentitySessionManager( public IdentitySessionManager(
IDeviceInfoProvider deviceInfoProvider, IDeviceInfoProvider deviceInfoProvider,
IIdentitySessionCache identitySessionCache,
IIdentitySessionStore identitySessionStore, IIdentitySessionStore identitySessionStore,
IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache) IdentityDynamicClaimsPrincipalContributorCache identityDynamicClaimsPrincipalContributorCache)
{ {
DeviceInfoProvider = deviceInfoProvider; DeviceInfoProvider = deviceInfoProvider;
IdentitySessionCache = identitySessionCache;
IdentitySessionStore = identitySessionStore; IdentitySessionStore = identitySessionStore;
IdentityDynamicClaimsPrincipalContributorCache = identityDynamicClaimsPrincipalContributorCache; IdentityDynamicClaimsPrincipalContributorCache = identityDynamicClaimsPrincipalContributorCache;
} }
@ -33,6 +37,10 @@ public class IdentitySessionManager : DomainService, IIdentitySessionManager
if (claimsPrincipal != null) if (claimsPrincipal != null)
{ {
var userId = claimsPrincipal.FindUserId(); var userId = claimsPrincipal.FindUserId();
var tenantId = claimsPrincipal.FindTenantId();
using (CurrentTenant.Change(tenantId))
{
var sessionId = claimsPrincipal.FindSessionId(); var sessionId = claimsPrincipal.FindSessionId();
if (!userId.HasValue || sessionId.IsNullOrWhiteSpace()) if (!userId.HasValue || sessionId.IsNullOrWhiteSpace())
{ {
@ -48,7 +56,6 @@ public class IdentitySessionManager : DomainService, IIdentitySessionManager
var deviceDesc = deviceInfo.Description; var deviceDesc = deviceInfo.Description;
var clientIpAddress = deviceInfo.ClientIpAddress; var clientIpAddress = deviceInfo.ClientIpAddress;
var tenantId = claimsPrincipal.FindTenantId();
var clientId = claimsPrincipal.FindClientId(); var clientId = claimsPrincipal.FindClientId();
Logger.LogDebug($"Save user session for user: {userId}, session: {sessionId}"); Logger.LogDebug($"Save user session for user: {userId}, session: {sessionId}");
@ -60,11 +67,26 @@ public class IdentitySessionManager : DomainService, IIdentitySessionManager
userId.Value, userId.Value,
clientId, clientId,
clientIpAddress, clientIpAddress,
Clock.Now,
Clock.Now,
tenantId, tenantId,
cancellationToken); cancellationToken);
Logger.LogDebug($"Remove dynamic claims cache for user: {userId}"); Logger.LogDebug($"Remove dynamic claims cache for user: {userId}");
await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(userId.Value, tenantId); await IdentityDynamicClaimsPrincipalContributorCache.ClearAsync(userId.Value, tenantId);
await IdentitySessionCache.RefreshAsync(sessionId,
new IdentitySessionCacheItem(
device,
deviceDesc,
userId.Value,
sessionId,
clientId,
clientIpAddress,
Clock.Now,
Clock.Now));
}
} }
} }

10
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN/Abp/Identity/Session/IdentitySessionStore.cs

@ -7,24 +7,20 @@ using Volo.Abp;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.Identity; using Volo.Abp.Identity;
using Volo.Abp.Timing;
using Volo.Abp.Users; using Volo.Abp.Users;
namespace LINGYUN.Abp.Identity.Session; namespace LINGYUN.Abp.Identity.Session;
public class IdentitySessionStore : IIdentitySessionStore, ITransientDependency public class IdentitySessionStore : IIdentitySessionStore, ITransientDependency
{ {
protected IClock Clock { get; }
protected ICurrentUser CurrentUser { get; } protected ICurrentUser CurrentUser { get; }
protected IGuidGenerator GuidGenerator { get; } protected IGuidGenerator GuidGenerator { get; }
protected IIdentitySessionRepository IdentitySessionRepository { get; } protected IIdentitySessionRepository IdentitySessionRepository { get; }
public IdentitySessionStore( public IdentitySessionStore(
IClock clock,
ICurrentUser currentUser, ICurrentUser currentUser,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
IIdentitySessionRepository identitySessionRepository) IIdentitySessionRepository identitySessionRepository)
{ {
Clock = clock;
CurrentUser = currentUser; CurrentUser = currentUser;
GuidGenerator = guidGenerator; GuidGenerator = guidGenerator;
IdentitySessionRepository = identitySessionRepository; IdentitySessionRepository = identitySessionRepository;
@ -37,6 +33,8 @@ public class IdentitySessionStore : IIdentitySessionStore, ITransientDependency
Guid userId, Guid userId,
string clientId, string clientId,
string ipAddresses, string ipAddresses,
DateTime signedIn,
DateTime? lastAccessed = null,
Guid? tenantId = null, Guid? tenantId = null,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
@ -52,8 +50,8 @@ public class IdentitySessionStore : IIdentitySessionStore, ITransientDependency
tenantId, tenantId,
clientId, clientId,
ipAddresses, ipAddresses,
Clock.Now, signedIn,
Clock.Now lastAccessed
); );
identitySession = await IdentitySessionRepository.InsertAsync(identitySession, cancellationToken: cancellationToken); identitySession = await IdentitySessionRepository.InsertAsync(identitySession, cancellationToken: cancellationToken);

2
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Portal/LINGYUN/Abp/IdentityServer/Portal/PortalGrantValidator.cs

@ -89,7 +89,7 @@ public class PortalGrantValidator : IExtensionGrantValidator
Guid? tenantId = null; Guid? tenantId = null;
using (_currentTenant.Change(null)) using (_currentTenant.Change(null))
{ {
var enterprise = parameters.Get("EnterpriseId"); var enterprise = parameters.Get("enterpriseId") ?? parameters.Get("EnterpriseId");
if (enterprise.IsNullOrWhiteSpace() || !Guid.TryParse(enterprise, out var enterpriseId)) if (enterprise.IsNullOrWhiteSpace() || !Guid.TryParse(enterprise, out var enterpriseId))
{ {
// TODO: configurabled // TODO: configurabled

6
aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/AbpOpenIddictAspNetCoreSessionModule.cs

@ -4,6 +4,7 @@ using LINGYUN.Abp.Identity.Session.AspNetCore;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.OpenIddict; using Volo.Abp.OpenIddict;
using static OpenIddict.Abstractions.OpenIddictConstants;
namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session; namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session;
@ -31,5 +32,10 @@ public class AbpOpenIddictAspNetCoreSessionModule : AbpModule
options.SignInSessionEnabled = true; options.SignInSessionEnabled = true;
options.SignOutSessionEnabled = true; options.SignOutSessionEnabled = true;
}); });
Configure<AbpOpenIddictAspNetCoreSessionOptions>(options =>
{
options.PersistentSessionGrantTypes.Add(GrantTypes.Password);
});
} }
} }

11
aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/AbpOpenIddictAspNetCoreSessionOptions.cs

@ -0,0 +1,11 @@
using System.Collections.Generic;
namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session;
public class AbpOpenIddictAspNetCoreSessionOptions
{
public List<string> PersistentSessionGrantTypes { get; set; }
public AbpOpenIddictAspNetCoreSessionOptions()
{
PersistentSessionGrantTypes = new List<string>();
}
}

10
aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/ProcessSignInIdentitySession.cs

@ -1,4 +1,5 @@
using LINGYUN.Abp.Identity.Session; using LINGYUN.Abp.Identity.Session;
using Microsoft.Extensions.Options;
using OpenIddict.Abstractions; using OpenIddict.Abstractions;
using OpenIddict.Server; using OpenIddict.Server;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -10,6 +11,7 @@ namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session;
public class ProcessSignInIdentitySession : IOpenIddictServerHandler<OpenIddictServerEvents.ProcessSignInContext> public class ProcessSignInIdentitySession : IOpenIddictServerHandler<OpenIddictServerEvents.ProcessSignInContext>
{ {
protected IIdentitySessionManager IdentitySessionManager { get; } protected IIdentitySessionManager IdentitySessionManager { get; }
protected AbpOpenIddictAspNetCoreSessionOptions AbpOpenIddictAspNetCoreSessionOptions { get; }
public static OpenIddictServerHandlerDescriptor Descriptor { get; } public static OpenIddictServerHandlerDescriptor Descriptor { get; }
= OpenIddictServerHandlerDescriptor.CreateBuilder<OpenIddictServerEvents.ProcessSignInContext>() = OpenIddictServerHandlerDescriptor.CreateBuilder<OpenIddictServerEvents.ProcessSignInContext>()
@ -19,14 +21,18 @@ public class ProcessSignInIdentitySession : IOpenIddictServerHandler<OpenIddictS
.SetType(OpenIddictServerHandlerType.Custom) .SetType(OpenIddictServerHandlerType.Custom)
.Build(); .Build();
public ProcessSignInIdentitySession(IIdentitySessionManager identitySessionManager) public ProcessSignInIdentitySession(
IIdentitySessionManager identitySessionManager,
IOptions<AbpOpenIddictAspNetCoreSessionOptions> abpOpenIddictAspNetCoreSessionOptions)
{ {
IdentitySessionManager = identitySessionManager; IdentitySessionManager = identitySessionManager;
AbpOpenIddictAspNetCoreSessionOptions = abpOpenIddictAspNetCoreSessionOptions.Value;
} }
public async virtual ValueTask HandleAsync(OpenIddictServerEvents.ProcessSignInContext context) public async virtual ValueTask HandleAsync(OpenIddictServerEvents.ProcessSignInContext context)
{ {
if (context.Request.IsPasswordGrantType() && context.Principal != null) if (AbpOpenIddictAspNetCoreSessionOptions.PersistentSessionGrantTypes.Contains(context.Request.GrantType) &&
context.Principal != null)
{ {
await IdentitySessionManager.SaveSessionAsync(context.Principal, context.CancellationToken); await IdentitySessionManager.SaveSessionAsync(context.Principal, context.CancellationToken);
} }

11
aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/RevocationIdentitySession.cs

@ -3,6 +3,7 @@ using OpenIddict.Server;
using System; using System;
using System.Security.Principal; using System.Security.Principal;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.MultiTenancy;
namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session; namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session;
/// <summary> /// <summary>
@ -10,6 +11,7 @@ namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session;
/// </summary> /// </summary>
public class RevocationIdentitySession : IOpenIddictServerHandler<OpenIddictServerEvents.HandleRevocationRequestContext> public class RevocationIdentitySession : IOpenIddictServerHandler<OpenIddictServerEvents.HandleRevocationRequestContext>
{ {
protected ICurrentTenant CurrentTenant { get; }
protected IIdentitySessionManager IdentitySessionManager { get; } protected IIdentitySessionManager IdentitySessionManager { get; }
public static OpenIddictServerHandlerDescriptor Descriptor { get; } public static OpenIddictServerHandlerDescriptor Descriptor { get; }
@ -20,17 +22,24 @@ public class RevocationIdentitySession : IOpenIddictServerHandler<OpenIddictServ
.SetType(OpenIddictServerHandlerType.Custom) .SetType(OpenIddictServerHandlerType.Custom)
.Build(); .Build();
public RevocationIdentitySession(IIdentitySessionManager identitySessionManager) public RevocationIdentitySession(
ICurrentTenant currentTenant,
IIdentitySessionManager identitySessionManager)
{ {
CurrentTenant = currentTenant;
IdentitySessionManager = identitySessionManager; IdentitySessionManager = identitySessionManager;
} }
public async virtual ValueTask HandleAsync(OpenIddictServerEvents.HandleRevocationRequestContext context) public async virtual ValueTask HandleAsync(OpenIddictServerEvents.HandleRevocationRequestContext context)
{ {
var tenantId = context.Principal.FindTenantId();
var sessionId = context.Principal.FindSessionId(); var sessionId = context.Principal.FindSessionId();
using (CurrentTenant.Change(tenantId))
{
if (!sessionId.IsNullOrWhiteSpace()) if (!sessionId.IsNullOrWhiteSpace())
{ {
await IdentitySessionManager.RevokeSessionAsync(sessionId); await IdentitySessionManager.RevokeSessionAsync(sessionId);
} }
} }
}
} }

13
aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.AspNetCore.Session/LINGYUN/Abp/OpenIddict/AspNetCore/Session/UserinfoIdentitySession.cs

@ -3,6 +3,7 @@ using OpenIddict.Server;
using System; using System;
using System.Security.Principal; using System.Security.Principal;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.MultiTenancy;
using static OpenIddict.Abstractions.OpenIddictConstants; using static OpenIddict.Abstractions.OpenIddictConstants;
using static OpenIddict.Server.OpenIddictServerHandlers.Userinfo; using static OpenIddict.Server.OpenIddictServerHandlers.Userinfo;
@ -12,24 +13,31 @@ namespace LINGYUN.Abp.OpenIddict.AspNetCore.Session;
/// </summary> /// </summary>
public class UserinfoIdentitySession : IOpenIddictServerHandler<OpenIddictServerEvents.HandleUserinfoRequestContext> public class UserinfoIdentitySession : IOpenIddictServerHandler<OpenIddictServerEvents.HandleUserinfoRequestContext>
{ {
protected ICurrentTenant CurrentTenant { get; }
protected IIdentitySessionChecker IdentitySessionChecker { get; } protected IIdentitySessionChecker IdentitySessionChecker { get; }
public static OpenIddictServerHandlerDescriptor Descriptor { get; } public static OpenIddictServerHandlerDescriptor Descriptor { get; }
= OpenIddictServerHandlerDescriptor.CreateBuilder<OpenIddictServerEvents.HandleUserinfoRequestContext>() = OpenIddictServerHandlerDescriptor.CreateBuilder<OpenIddictServerEvents.HandleUserinfoRequestContext>()
.AddFilter<OpenIddictServerHandlerFilters.RequireUserinfoRequest>() .AddFilter<OpenIddictServerHandlerFilters.RequireUserinfoRequest>()
.UseScopedHandler<UserinfoIdentitySession>() .UseScopedHandler<UserinfoIdentitySession>()
.SetOrder(ValidateAccessTokenParameter.Descriptor.Order + 2_000) .SetOrder(ValidateUserinfoRequest.Descriptor.Order + 2_000)
.SetType(OpenIddictServerHandlerType.Custom) .SetType(OpenIddictServerHandlerType.Custom)
.Build(); .Build();
public UserinfoIdentitySession(IIdentitySessionChecker identitySessionChecker) public UserinfoIdentitySession(
ICurrentTenant currentTenant,
IIdentitySessionChecker identitySessionChecker)
{ {
CurrentTenant = currentTenant;
IdentitySessionChecker = identitySessionChecker; IdentitySessionChecker = identitySessionChecker;
} }
public async virtual ValueTask HandleAsync(OpenIddictServerEvents.HandleUserinfoRequestContext context) public async virtual ValueTask HandleAsync(OpenIddictServerEvents.HandleUserinfoRequestContext context)
{ {
var tenantId = context.Principal.FindTenantId();
var sessionId = context.Principal.FindSessionId(); var sessionId = context.Principal.FindSessionId();
using (CurrentTenant.Change(tenantId))
{
if (sessionId.IsNullOrWhiteSpace() || if (sessionId.IsNullOrWhiteSpace() ||
!await IdentitySessionChecker.ValidateSessionAsync(sessionId)) !await IdentitySessionChecker.ValidateSessionAsync(sessionId))
{ {
@ -38,4 +46,5 @@ public class UserinfoIdentitySession : IOpenIddictServerHandler<OpenIddictServer
context.Reject(Errors.InvalidToken, "The user session has expired."); context.Reject(Errors.InvalidToken, "The user session has expired.");
} }
} }
}
} }

2
aspnet-core/modules/openIddict/LINGYUN.Abp.OpenIddict.Portal/LINGYUN/Abp/OpenIddict/Portal/PortalTokenExtensionGrant.cs

@ -52,7 +52,7 @@ public class PortalTokenExtensionGrant : ITokenExtensionGrant
{ {
LazyServiceProvider = context.HttpContext.RequestServices.GetRequiredService<IAbpLazyServiceProvider>(); LazyServiceProvider = context.HttpContext.RequestServices.GetRequiredService<IAbpLazyServiceProvider>();
var enterprise = context.Request.GetParameter("EnterpriseId")?.ToString(); var enterprise = context.Request.GetParameter("enterpriseId")?.ToString() ?? context.Request.GetParameter("EnterpriseId")?.ToString();
Guid? tenantId = null; Guid? tenantId = null;
using (CurrentTenant.Change(null)) using (CurrentTenant.Change(null))

15
aspnet-core/services/LY.MicroService.Applications.Single/MicroServiceApplicationsSingleModule.Configure.cs

@ -9,7 +9,12 @@ using LINGYUN.Abp.Identity.Session;
using LINGYUN.Abp.IdentityServer.IdentityResources; using LINGYUN.Abp.IdentityServer.IdentityResources;
using LINGYUN.Abp.Localization.CultureMap; using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.Notifications; using LINGYUN.Abp.Notifications;
using LINGYUN.Abp.OpenIddict.AspNetCore.Session;
using LINGYUN.Abp.OpenIddict.LinkUser;
using LINGYUN.Abp.OpenIddict.Permissions; using LINGYUN.Abp.OpenIddict.Permissions;
using LINGYUN.Abp.OpenIddict.Portal;
using LINGYUN.Abp.OpenIddict.Sms;
using LINGYUN.Abp.OpenIddict.WeChat;
using LINGYUN.Abp.Saas; using LINGYUN.Abp.Saas;
using LINGYUN.Abp.Serilog.Enrichers.Application; using LINGYUN.Abp.Serilog.Enrichers.Application;
using LINGYUN.Abp.Serilog.Enrichers.UniqueId; using LINGYUN.Abp.Serilog.Enrichers.UniqueId;
@ -18,6 +23,7 @@ using LINGYUN.Abp.TextTemplating;
using LINGYUN.Abp.WebhooksManagement; using LINGYUN.Abp.WebhooksManagement;
using LINGYUN.Abp.WeChat.Common.Messages.Handlers; using LINGYUN.Abp.WeChat.Common.Messages.Handlers;
using LINGYUN.Abp.WeChat.Localization; using LINGYUN.Abp.WeChat.Localization;
using LINGYUN.Abp.WeChat.Work;
using LINGYUN.Abp.Wrapper; using LINGYUN.Abp.Wrapper;
using LINGYUN.Platform.Localization; using LINGYUN.Platform.Localization;
using LY.MicroService.Applications.Single.Authentication; using LY.MicroService.Applications.Single.Authentication;
@ -311,6 +317,15 @@ public partial class MicroServiceApplicationsSingleModule
options.RefreshTokenReuseLeeway = lifetime.GetValue("RefreshTokenReuseLeeway", options.RefreshTokenReuseLeeway); options.RefreshTokenReuseLeeway = lifetime.GetValue("RefreshTokenReuseLeeway", options.RefreshTokenReuseLeeway);
options.UserCodeLifetime = lifetime.GetValue("UserCode", options.UserCodeLifetime); options.UserCodeLifetime = lifetime.GetValue("UserCode", options.UserCodeLifetime);
}); });
Configure<AbpOpenIddictAspNetCoreSessionOptions>(options =>
{
options.PersistentSessionGrantTypes.Add(SmsTokenExtensionGrantConsts.GrantType);
options.PersistentSessionGrantTypes.Add(PortalTokenExtensionGrantConsts.GrantType);
options.PersistentSessionGrantTypes.Add(LinkUserTokenExtensionGrantConsts.GrantType);
options.PersistentSessionGrantTypes.Add(WeChatTokenExtensionGrantConsts.OfficialGrantType);
options.PersistentSessionGrantTypes.Add(WeChatTokenExtensionGrantConsts.MiniProgramGrantType);
options.PersistentSessionGrantTypes.Add(AbpWeChatWorkGlobalConsts.GrantType);
});
} }
private void ConfigureEndpoints(IServiceCollection services) private void ConfigureEndpoints(IServiceCollection services)

3
aspnet-core/services/LY.MicroService.Applications.Single/Program.cs

@ -65,10 +65,11 @@ app.UseStaticFiles();
app.UseRouting(); app.UseRouting();
app.UseCors(); app.UseCors();
app.UseAuthentication(); app.UseAuthentication();
app.UseMultiTenancy();
app.UseUnitOfWork();
app.UseAbpOpenIddictValidation(); app.UseAbpOpenIddictValidation();
app.UseAbpSession(); app.UseAbpSession();
app.UseDynamicClaims(); app.UseDynamicClaims();
app.UseMultiTenancy();
app.UseAuthorization(); app.UseAuthorization();
app.UseSwagger(); app.UseSwagger();
app.UseSwaggerUI(options => app.UseSwaggerUI(options =>

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

@ -1,7 +1,13 @@
using DotNetCore.CAP; using DotNetCore.CAP;
using LINGYUN.Abp.Localization.CultureMap; using LINGYUN.Abp.Localization.CultureMap;
using LINGYUN.Abp.OpenIddict.AspNetCore.Session;
using LINGYUN.Abp.OpenIddict.LinkUser;
using LINGYUN.Abp.OpenIddict.Portal;
using LINGYUN.Abp.OpenIddict.Sms;
using LINGYUN.Abp.OpenIddict.WeChat;
using LINGYUN.Abp.Serilog.Enrichers.Application; using LINGYUN.Abp.Serilog.Enrichers.Application;
using LINGYUN.Abp.Serilog.Enrichers.UniqueId; using LINGYUN.Abp.Serilog.Enrichers.UniqueId;
using LINGYUN.Abp.WeChat.Work;
using LY.MicroService.AuthServer.Authentication; using LY.MicroService.AuthServer.Authentication;
using Medallion.Threading; using Medallion.Threading;
using Medallion.Threading.Redis; using Medallion.Threading.Redis;
@ -10,7 +16,6 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.Caching.StackExchangeRedis; using Microsoft.Extensions.Caching.StackExchangeRedis;
@ -19,7 +24,6 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Microsoft.IdentityModel.Logging; using Microsoft.IdentityModel.Logging;
using OpenIddict.Validation.AspNetCore;
using OpenTelemetry.Metrics; using OpenTelemetry.Metrics;
using OpenTelemetry.Resources; using OpenTelemetry.Resources;
using OpenTelemetry.Trace; using OpenTelemetry.Trace;
@ -334,6 +338,16 @@ public partial class AuthServerModule
options.IsDynamicClaimsEnabled = true; options.IsDynamicClaimsEnabled = true;
options.IsRemoteRefreshEnabled = false; options.IsRemoteRefreshEnabled = false;
}); });
Configure<AbpOpenIddictAspNetCoreSessionOptions>(options =>
{
options.PersistentSessionGrantTypes.Add(SmsTokenExtensionGrantConsts.GrantType);
options.PersistentSessionGrantTypes.Add(PortalTokenExtensionGrantConsts.GrantType);
options.PersistentSessionGrantTypes.Add(LinkUserTokenExtensionGrantConsts.GrantType);
options.PersistentSessionGrantTypes.Add(WeChatTokenExtensionGrantConsts.OfficialGrantType);
options.PersistentSessionGrantTypes.Add(WeChatTokenExtensionGrantConsts.MiniProgramGrantType);
options.PersistentSessionGrantTypes.Add(AbpWeChatWorkGlobalConsts.GrantType);
});
} }
private void ConfigureVirtualFileSystem() private void ConfigureVirtualFileSystem()
{ {

18
kubernetes/mysql-config.yaml

@ -0,0 +1,18 @@
kind: ConfigMap
apiVersion: v1
metadata:
name: mysql-config
namespace: abp
data:
my.cnf: |-
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
default-authentication-plugin=mysql_native_password
collation-server=utf8mb4_general_ci
lower_case_table_names=1
max_connections = 2000
secure_file_priv=/var/lib/mysql
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

11
kubernetes/mysql-dbdata.yaml

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-data
namespace: abp
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi

43
kubernetes/mysql-deployment.yaml

@ -0,0 +1,43 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: mysql
namespace: abp
spec:
selector:
matchLabels:
app: mysql
replicas: 1
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: abp-mysql:latest
imagePullPolicy: Never
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
- name: MYSQL_ROOT_HOST
value: "%"
- name: MYSQL_LOWER_CASE_TABLE_NAMES
value: "1"
- name: TZ
value: Asia/Shanghai
volumeMounts:
- name: dbdata
mountPath: /var/lib/mysql
- name: config
mountPath: /etc/mysql/my.cnf
subPath: my.cnf
volumes:
- name: dbdata
persistentVolumeClaim:
claimName: mysql-data
- name: config
configMap:
name: mysql-config

13
kubernetes/mysql-service.yaml

@ -0,0 +1,13 @@
kind: Service
apiVersion: v1
metadata:
name: mysql
namespace: abp
spec:
type: NodePort
selector:
app: mysql
ports:
- protocol: TCP
port: 3306
targetPort: 3306

3
kubernetes/mysql/Dockerfile

@ -0,0 +1,3 @@
FROM mysql:latest
COPY ./docker-entrypoint-initdb.d /docker-entrypoint-initdb.d
EXPOSE 3306

10
kubernetes/mysql/conf.d/my.cnf

@ -0,0 +1,10 @@
[mysqld]
default-authentication-plugin=mysql_native_password
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
lower_case_table_names=1
max_connections=1024
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql

3
kubernetes/mysql/docker-entrypoint-initdb.d/agile-initial.sql

@ -0,0 +1,3 @@
-- basic script
CREATE DATABASE `agile` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';

317
kubernetes/mysql/docker-entrypoint-initdb.d/elsa-migrations-initial.sql

@ -0,0 +1,317 @@
-- basic script
CREATE DATABASE `Workflow-V70` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
USE `Workflow-V70`;
CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` (
`MigrationId` varchar(150) CHARACTER SET utf8mb4 NOT NULL,
`ProductVersion` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK___EFMigrationsHistory` PRIMARY KEY (`MigrationId`)
) CHARACTER SET utf8mb4;
START TRANSACTION;
ALTER DATABASE CHARACTER SET utf8mb4;
CREATE TABLE `Bookmarks` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Hash` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Model` longtext CHARACTER SET utf8mb4 NOT NULL,
`ModelType` longtext CHARACTER SET utf8mb4 NOT NULL,
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`CorrelationId` varchar(255) CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_Bookmarks` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowDefinitions` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`DefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 NULL,
`DisplayName` longtext CHARACTER SET utf8mb4 NULL,
`Description` longtext CHARACTER SET utf8mb4 NULL,
`Version` int NOT NULL,
`IsSingleton` tinyint(1) NOT NULL,
`PersistenceBehavior` int NOT NULL,
`DeleteCompletedInstances` tinyint(1) NOT NULL,
`IsPublished` tinyint(1) NOT NULL,
`IsLatest` tinyint(1) NOT NULL,
`Tag` varchar(255) CHARACTER SET utf8mb4 NULL,
`Data` longtext CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowDefinitions` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowExecutionLogRecords` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`WorkflowInstanceId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Timestamp` datetime(6) NOT NULL,
`EventName` longtext CHARACTER SET utf8mb4 NULL,
`Message` longtext CHARACTER SET utf8mb4 NULL,
`Source` longtext CHARACTER SET utf8mb4 NULL,
`Data` longtext CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowExecutionLogRecords` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowInstances` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`DefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Version` int NOT NULL,
`WorkflowStatus` int NOT NULL,
`CorrelationId` varchar(255) CHARACTER SET utf8mb4 NULL,
`ContextType` varchar(255) CHARACTER SET utf8mb4 NULL,
`ContextId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 NULL,
`CreatedAt` datetime(6) NOT NULL,
`LastExecutedAt` datetime(6) NULL,
`FinishedAt` datetime(6) NULL,
`CancelledAt` datetime(6) NULL,
`FaultedAt` datetime(6) NULL,
`Data` longtext CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowInstances` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_Bookmark_ActivityId` ON `Bookmarks` (`ActivityId`);
CREATE INDEX `IX_Bookmark_ActivityType` ON `Bookmarks` (`ActivityType`);
CREATE INDEX `IX_Bookmark_ActivityType_TenantId_Hash` ON `Bookmarks` (`ActivityType`, `TenantId`, `Hash`);
CREATE INDEX `IX_Bookmark_CorrelationId` ON `Bookmarks` (`CorrelationId`);
CREATE INDEX `IX_Bookmark_Hash` ON `Bookmarks` (`Hash`);
CREATE INDEX `IX_Bookmark_Hash_CorrelationId_TenantId` ON `Bookmarks` (`Hash`, `CorrelationId`, `TenantId`);
CREATE INDEX `IX_Bookmark_TenantId` ON `Bookmarks` (`TenantId`);
CREATE INDEX `IX_Bookmark_WorkflowInstanceId` ON `Bookmarks` (`WorkflowInstanceId`);
CREATE UNIQUE INDEX `IX_WorkflowDefinition_DefinitionId_VersionId` ON `WorkflowDefinitions` (`DefinitionId`, `Version`);
CREATE INDEX `IX_WorkflowDefinition_IsLatest` ON `WorkflowDefinitions` (`IsLatest`);
CREATE INDEX `IX_WorkflowDefinition_IsPublished` ON `WorkflowDefinitions` (`IsPublished`);
CREATE INDEX `IX_WorkflowDefinition_Name` ON `WorkflowDefinitions` (`Name`);
CREATE INDEX `IX_WorkflowDefinition_Tag` ON `WorkflowDefinitions` (`Tag`);
CREATE INDEX `IX_WorkflowDefinition_TenantId` ON `WorkflowDefinitions` (`TenantId`);
CREATE INDEX `IX_WorkflowDefinition_Version` ON `WorkflowDefinitions` (`Version`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityId` ON `WorkflowExecutionLogRecords` (`ActivityId`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_ActivityType` ON `WorkflowExecutionLogRecords` (`ActivityType`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_TenantId` ON `WorkflowExecutionLogRecords` (`TenantId`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_Timestamp` ON `WorkflowExecutionLogRecords` (`Timestamp`);
CREATE INDEX `IX_WorkflowExecutionLogRecord_WorkflowInstanceId` ON `WorkflowExecutionLogRecords` (`WorkflowInstanceId`);
CREATE INDEX `IX_WorkflowInstance_ContextId` ON `WorkflowInstances` (`ContextId`);
CREATE INDEX `IX_WorkflowInstance_ContextType` ON `WorkflowInstances` (`ContextType`);
CREATE INDEX `IX_WorkflowInstance_CorrelationId` ON `WorkflowInstances` (`CorrelationId`);
CREATE INDEX `IX_WorkflowInstance_CreatedAt` ON `WorkflowInstances` (`CreatedAt`);
CREATE INDEX `IX_WorkflowInstance_DefinitionId` ON `WorkflowInstances` (`DefinitionId`);
CREATE INDEX `IX_WorkflowInstance_FaultedAt` ON `WorkflowInstances` (`FaultedAt`);
CREATE INDEX `IX_WorkflowInstance_FinishedAt` ON `WorkflowInstances` (`FinishedAt`);
CREATE INDEX `IX_WorkflowInstance_LastExecutedAt` ON `WorkflowInstances` (`LastExecutedAt`);
CREATE INDEX `IX_WorkflowInstance_Name` ON `WorkflowInstances` (`Name`);
CREATE INDEX `IX_WorkflowInstance_TenantId` ON `WorkflowInstances` (`TenantId`);
CREATE INDEX `IX_WorkflowInstance_WorkflowStatus` ON `WorkflowInstances` (`WorkflowStatus`);
CREATE INDEX `IX_WorkflowInstance_WorkflowStatus_DefinitionId` ON `WorkflowInstances` (`WorkflowStatus`, `DefinitionId`);
CREATE INDEX `IX_WorkflowInstance_WorkflowStatus_DefinitionId_Version` ON `WorkflowInstances` (`WorkflowStatus`, `DefinitionId`, `Version`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210523093427_Initial', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowInstances` MODIFY COLUMN `CorrelationId` varchar(255) CHARACTER SET utf8mb4 NOT NULL DEFAULT '';
ALTER TABLE `WorkflowInstances` ADD `LastExecutedActivityId` longtext CHARACTER SET utf8mb4 NULL;
ALTER TABLE `WorkflowDefinitions` ADD `OutputStorageProviderName` longtext CHARACTER SET utf8mb4 NULL;
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210611200027_Update21', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowDefinitions` DROP COLUMN `OutputStorageProviderName`;
ALTER TABLE `WorkflowInstances` RENAME `WorkflowInstances`;
ALTER TABLE `WorkflowExecutionLogRecords` RENAME `WorkflowExecutionLogRecords`;
ALTER TABLE `WorkflowDefinitions` RENAME `WorkflowDefinitions`;
ALTER TABLE `Bookmarks` RENAME `Bookmarks`;
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210923112211_Update23', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowInstances` ADD `DefinitionVersionId` longtext CHARACTER SET utf8mb4 NOT NULL;
ALTER TABLE `Bookmarks` MODIFY COLUMN `CorrelationId` varchar(255) CHARACTER SET utf8mb4 NOT NULL DEFAULT '';
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20211215100204_Update24', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowInstances` MODIFY COLUMN `DefinitionVersionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL;
CREATE INDEX `IX_WorkflowInstance_DefinitionVersionId` ON `WorkflowInstances` (`DefinitionVersionId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20220120170050_Update241', '5.0.10');
COMMIT;
START TRANSACTION;
CREATE TABLE `Triggers` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Hash` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Model` longtext CHARACTER SET utf8mb4 NOT NULL,
`ModelType` longtext CHARACTER SET utf8mb4 NOT NULL,
`ActivityType` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`ActivityId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`WorkflowDefinitionId` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK_Triggers` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_Trigger_ActivityId` ON `Triggers` (`ActivityId`);
CREATE INDEX `IX_Trigger_ActivityType` ON `Triggers` (`ActivityType`);
CREATE INDEX `IX_Trigger_ActivityType_TenantId_Hash` ON `Triggers` (`ActivityType`, `TenantId`, `Hash`);
CREATE INDEX `IX_Trigger_Hash` ON `Triggers` (`Hash`);
CREATE INDEX `IX_Trigger_Hash_TenantId` ON `Triggers` (`Hash`, `TenantId`);
CREATE INDEX `IX_Trigger_TenantId` ON `Triggers` (`TenantId`);
CREATE INDEX `IX_Trigger_WorkflowDefinitionId` ON `Triggers` (`WorkflowDefinitionId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20220120204150_Update25', '5.0.10');
COMMIT;
START TRANSACTION;
ALTER TABLE `WorkflowDefinitions` ADD `CreatedAt` datetime(6) NOT NULL DEFAULT '0001-01-01 00:00:00';
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20220512203646_Update28', '5.0.10');
COMMIT;
-- webhooks
CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` (
`MigrationId` varchar(150) CHARACTER SET utf8mb4 NOT NULL,
`ProductVersion` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK___EFMigrationsHistory` PRIMARY KEY (`MigrationId`)
) CHARACTER SET utf8mb4;
START TRANSACTION;
ALTER DATABASE CHARACTER SET utf8mb4;
CREATE TABLE `WebhookDefinitions` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`TenantId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Name` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Path` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`Description` varchar(255) CHARACTER SET utf8mb4 NULL,
`PayloadTypeName` varchar(255) CHARACTER SET utf8mb4 NULL,
`IsEnabled` tinyint(1) NOT NULL,
CONSTRAINT `PK_WebhookDefinitions` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_WebhookDefinition_Description` ON `WebhookDefinitions` (`Description`);
CREATE INDEX `IX_WebhookDefinition_IsEnabled` ON `WebhookDefinitions` (`IsEnabled`);
CREATE INDEX `IX_WebhookDefinition_Name` ON `WebhookDefinitions` (`Name`);
CREATE INDEX `IX_WebhookDefinition_Path` ON `WebhookDefinitions` (`Path`);
CREATE INDEX `IX_WebhookDefinition_PayloadTypeName` ON `WebhookDefinitions` (`PayloadTypeName`);
CREATE INDEX `IX_WebhookDefinition_TenantId` ON `WebhookDefinitions` (`TenantId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210604065041_Initial', '5.0.10');
COMMIT;
-- workflow-settings
CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` (
`MigrationId` varchar(150) CHARACTER SET utf8mb4 NOT NULL,
`ProductVersion` varchar(32) CHARACTER SET utf8mb4 NOT NULL,
CONSTRAINT `PK___EFMigrationsHistory` PRIMARY KEY (`MigrationId`)
) CHARACTER SET utf8mb4;
START TRANSACTION;
ALTER DATABASE CHARACTER SET utf8mb4;
CREATE TABLE `WorkflowSettings` (
`Id` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
`WorkflowBlueprintId` varchar(255) CHARACTER SET utf8mb4 NULL,
`Key` varchar(255) CHARACTER SET utf8mb4 NULL,
`Value` varchar(255) CHARACTER SET utf8mb4 NULL,
CONSTRAINT `PK_WorkflowSettings` PRIMARY KEY (`Id`)
) CHARACTER SET utf8mb4;
CREATE INDEX `IX_WorkflowSetting_Key` ON `WorkflowSettings` (`Key`);
CREATE INDEX `IX_WorkflowSetting_Value` ON `WorkflowSettings` (`Value`);
CREATE INDEX `IX_WorkflowSetting_WorkflowBlueprintId` ON `WorkflowSettings` (`WorkflowBlueprintId`);
INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`)
VALUES ('20210730112043_Initial', '5.0.10');
COMMIT;

10
kubernetes/mysql/my.cnf

@ -0,0 +1,10 @@
[mysqld]
default-authentication-plugin=mysql_native_password
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
lower_case_table_names=1
max_connections=1024
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
Loading…
Cancel
Save