orchestrator-core 3.1.0rc1__tar.gz → 3.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (647) hide show
  1. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.bumpversion.cfg +1 -1
  2. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/run-codspeed-tests.yml +2 -2
  3. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/run-linting-tests.yml +2 -2
  4. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/run-unit-tests.yml +3 -1
  5. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.pre-commit-config.yaml +3 -4
  6. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/PKG-INFO +13 -13
  7. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/getting-started/versions.md +1 -1
  8. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/app/scaling.md +106 -0
  9. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/workflows/callbacks.md +8 -0
  10. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/macos.md +3 -3
  11. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/__init__.py +2 -2
  12. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/api.py +1 -1
  13. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/processes.py +29 -9
  14. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/settings.py +1 -1
  15. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/subscriptions.py +1 -1
  16. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/app.py +1 -1
  17. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/database.py +1 -1
  18. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/migration.py +2 -5
  19. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/migrate_tasks.py +13 -0
  20. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/config/assignee.py +1 -1
  21. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/__init__.py +2 -0
  22. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/models.py +6 -4
  23. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/devtools/populator.py +1 -1
  24. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/domain/__init__.py +2 -3
  25. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/domain/base.py +74 -5
  26. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/domain/lifecycle.py +1 -1
  27. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schema.py +1 -1
  28. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/types.py +1 -1
  29. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/get_subscription_product_blocks.py +13 -0
  30. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/env.py +15 -2
  31. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/helpers.py +6 -6
  32. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2020-10-19_c112305b07d3_initial_schema_migration.py +1 -1
  33. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-05-25_b1970225392d_add_subscription_metadata_workflow.py +1 -1
  34. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2025-02-12_bac6be6f2b4f_added_input_state_table.py +1 -1
  35. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/engine_settings.py +1 -1
  36. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/subscription.py +1 -1
  37. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/security.py +1 -1
  38. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/celery.py +1 -1
  39. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/processes.py +99 -18
  40. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/products.py +1 -1
  41. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/subscriptions.py +1 -1
  42. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/tasks.py +1 -1
  43. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/settings.py +2 -23
  44. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/targets.py +1 -1
  45. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/types.py +1 -1
  46. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/errors.py +1 -1
  47. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/state.py +74 -54
  48. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/websocket/websocket_manager.py +1 -1
  49. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflow.py +20 -4
  50. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/modify_note.py +1 -1
  51. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/steps.py +1 -1
  52. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/tasks/cleanup_tasks_log.py +1 -1
  53. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/tasks/resume_workflows.py +1 -1
  54. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/tasks/validate_product_type.py +1 -1
  55. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/tasks/validate_products.py +1 -1
  56. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/utils.py +40 -5
  57. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/pyproject.toml +12 -12
  58. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/devtools/populator/test_product_populator.py +1 -1
  59. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/workflows/create_test_product.py +1 -1
  60. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_processes.py +14 -0
  61. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_subscriptions.py +14 -6
  62. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/shared.py +1 -1
  63. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/conftest.py +41 -17
  64. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/domain/test_base.py +154 -2
  65. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/domain/test_base_performance.py +42 -7
  66. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_subscription.py +18 -6
  67. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_subscriptions.py +16 -4
  68. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/helpers.py +1 -1
  69. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/services/test_input_state.py +1 -2
  70. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_state.py +190 -1
  71. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/test_async_workflow.py +116 -0
  72. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/test_generic_workflow_steps.py +1 -1
  73. orchestrator_core-3.1.2/test/unit_tests/workflows/test_lifecycle_status_manager.py +64 -0
  74. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.coveragerc +0 -0
  75. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  76. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/ISSUE_TEMPLATE/feature-request.yml +0 -0
  77. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/dependabot.yml +0 -0
  78. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/README.md +0 -0
  79. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/build-push-container.yml +0 -0
  80. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/changelog.yml +0 -0
  81. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/codeql-analysis.yml +0 -0
  82. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/gh-pages.yml +0 -0
  83. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/issues.yml +0 -0
  84. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/publish-package.yml +0 -0
  85. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.github/workflows/scheduled-build.yml +0 -0
  86. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.gitignore +0 -0
  87. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/.stignore +0 -0
  88. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/CHANGELOG.md +0 -0
  89. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/Dockerfile +0 -0
  90. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/LICENSE +0 -0
  91. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/NOTICE +0 -0
  92. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/README.md +0 -0
  93. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/codecov.yml +0 -0
  94. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/application/domainmodels.md +0 -0
  95. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/application/forms-frontend.md +0 -0
  96. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/application/tasks.md +0 -0
  97. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/application/workflow.md +0 -0
  98. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/framework.md +0 -0
  99. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/img/base-orchestrator-setup.png +0 -0
  100. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/img/custom-orchestrator-setup.png +0 -0
  101. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/orchestration/img/Custom-orchestrator-ui-using-override.png +0 -0
  102. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/orchestration/img/Standard-orchestrator-ui.png +0 -0
  103. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/orchestration/orchestrator-ui.md +0 -0
  104. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/orchestration/philosophy.md +0 -0
  105. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/backfilling.md +0 -0
  106. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/context.md +0 -0
  107. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/imports.md +0 -0
  108. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/introduction.md +0 -0
  109. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/ip_static.md +0 -0
  110. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/ip_static.png +0 -0
  111. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/l2_point_to_point.md +0 -0
  112. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/l2_point_to_point.png +0 -0
  113. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/l2_vpn.md +0 -0
  114. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/l2_vpn.png +0 -0
  115. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/modelling.md +0 -0
  116. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/node.md +0 -0
  117. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/node.png +0 -0
  118. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/port.md +0 -0
  119. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/port.png +0 -0
  120. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/product_block_graph.md +0 -0
  121. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/product_block_graph.png +0 -0
  122. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/standards.md +0 -0
  123. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/product_modelling/terminology.md +0 -0
  124. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/architecture/tldr.md +0 -0
  125. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/contributing/development.md +0 -0
  126. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/contributing/guidelines.md +0 -0
  127. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/contributing/testing.md +0 -0
  128. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/css/custom.css +0 -0
  129. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/css/style.css +0 -0
  130. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/css/termynal.css +0 -0
  131. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/getting-started/base.md +0 -0
  132. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/getting-started/docker.md +0 -0
  133. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/getting-started/orchestration-ui.md +0 -0
  134. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/getting-started/prepare-source-folder.md +0 -0
  135. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/img/WFO-Emblem-White.png +0 -0
  136. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/img/favicon.ico +0 -0
  137. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/index.md +0 -0
  138. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/js/custom.js +0 -0
  139. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/js/termynal.js +0 -0
  140. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/migration-guide/2.0.md +0 -0
  141. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/migration-guide/3.0.md +0 -0
  142. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/api.md +0 -0
  143. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/app/app.md +0 -0
  144. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/auth-backend-and-frontend.md +0 -0
  145. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/cli.md +0 -0
  146. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/database.md +0 -0
  147. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/generator.md +0 -0
  148. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/instantiating.md +0 -0
  149. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/model_attributes.md +0 -0
  150. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/overview.md +0 -0
  151. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/product_blocks.md +0 -0
  152. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/product_types.md +0 -0
  153. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/properties.md +0 -0
  154. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/pydantic_hooks.md +0 -0
  155. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/type_casting.md +0 -0
  156. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/union_types.md +0 -0
  157. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/domain_models/validation.md +0 -0
  158. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/forms.md +0 -0
  159. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/graphql.md +0 -0
  160. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/python.md +0 -0
  161. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/search.md +0 -0
  162. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/search_overview.png +0 -0
  163. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/serialization.md +0 -0
  164. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/tasks.md +0 -0
  165. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/tests.md +0 -0
  166. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/tldr.md +0 -0
  167. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/websockets.md +0 -0
  168. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/workflows/workflow-lifecycles.md +0 -0
  169. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/reference-docs/workflows/workflow-steps.md +0 -0
  170. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/bootstrap.md +0 -0
  171. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/create-your-own.md +0 -0
  172. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/docker-installation.md +0 -0
  173. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/domain-models.md +0 -0
  174. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/execute-workflows.md +0 -0
  175. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/generator.md +0 -0
  176. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/l2_point_to_point.png +0 -0
  177. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/node-create.md +0 -0
  178. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/node-modify.md +0 -0
  179. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/node-terminate.md +0 -0
  180. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/node-validate.md +0 -0
  181. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/overview.md +0 -0
  182. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/scenario.md +0 -0
  183. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/workflow-basics.md +0 -0
  184. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/advanced/workflow-introduction.md +0 -0
  185. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/create-user-group.md +0 -0
  186. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/create-user.md +0 -0
  187. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/database-migration.md +0 -0
  188. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/debian.md +0 -0
  189. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/docker.md +0 -0
  190. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/domain-models.md +0 -0
  191. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/explore.md +0 -0
  192. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/input-forms.md +0 -0
  193. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/modify-user-group.md +0 -0
  194. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/modify-user.md +0 -0
  195. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/register-workflows.md +0 -0
  196. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/start-applications.md +0 -0
  197. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/terminate-user-group.md +0 -0
  198. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/terminate-user.md +0 -0
  199. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/workflow-introduction.md +0 -0
  200. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/beginner/workshop-overview.md +0 -0
  201. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/images/Software-topology.drawio.png +0 -0
  202. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/images/clab_topology.png +0 -0
  203. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/images/metadata_products.png +0 -0
  204. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/images/netbox_devices_active.png +0 -0
  205. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/images/subscriptions.png +0 -0
  206. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/docs/workshops/images/topology.drawio.png +0 -0
  207. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/includes/abbreviations.md +0 -0
  208. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/mkdocs.yml +0 -0
  209. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/nitpick-style.toml +0 -0
  210. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/__init__.py +0 -0
  211. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/__init__.py +0 -0
  212. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/__init__.py +0 -0
  213. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/health.py +0 -0
  214. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/product_blocks.py +0 -0
  215. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/products.py +0 -0
  216. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/resource_types.py +0 -0
  217. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/subscription_customer_descriptions.py +0 -0
  218. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/translations.py +0 -0
  219. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/user.py +0 -0
  220. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/workflows.py +0 -0
  221. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/api_v1/endpoints/ws.py +0 -0
  222. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/error_handling.py +0 -0
  223. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/helpers.py +0 -0
  224. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/api/models.py +0 -0
  225. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/__init__.py +0 -0
  226. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/domain_gen_helpers/__init__.py +0 -0
  227. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/domain_gen_helpers/fixed_input_helpers.py +0 -0
  228. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/domain_gen_helpers/helpers.py +0 -0
  229. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/domain_gen_helpers/product_block_helpers.py +0 -0
  230. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/domain_gen_helpers/product_helpers.py +0 -0
  231. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/domain_gen_helpers/resource_type_helpers.py +0 -0
  232. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/domain_gen_helpers/types.py +0 -0
  233. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generate.py +0 -0
  234. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/__init__.py +0 -0
  235. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/README +0 -0
  236. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_create_imports.j2 +0 -0
  237. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_create_input_fields.j2 +0 -0
  238. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_create_steps.j2 +0 -0
  239. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_modify_imports.j2 +0 -0
  240. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_modify_input_fields.j2 +0 -0
  241. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_modify_steps.j2 +0 -0
  242. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_terminate_imports.j2 +0 -0
  243. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_terminate_input_fields.j2 +0 -0
  244. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/custom_templates/additional_terminate_steps.j2 +0 -0
  245. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/__init__.py +0 -0
  246. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/enums.py +0 -0
  247. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/helpers.py +0 -0
  248. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/product.py +0 -0
  249. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/product_block.py +0 -0
  250. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/settings.py +0 -0
  251. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/translations.py +0 -0
  252. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/unittest.py +0 -0
  253. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/validations.py +0 -0
  254. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/generator/workflow.py +0 -0
  255. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/products/workshop/circuit.yaml +0 -0
  256. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/products/workshop/node.yaml +0 -0
  257. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/products/workshop/user.yaml +0 -0
  258. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/products/workshop/user_group.yaml +0 -0
  259. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/additional_create_imports.j2 +0 -0
  260. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/additional_create_steps.j2 +0 -0
  261. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/additional_modify_imports.j2 +0 -0
  262. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/additional_modify_steps.j2 +0 -0
  263. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/additional_terminate_steps.j2 +0 -0
  264. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/constrained_int_definitions.j2 +0 -0
  265. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/create_data_head.j2 +0 -0
  266. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/create_product.j2 +0 -0
  267. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/enums.j2 +0 -0
  268. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/lazy_workflow_instance.j2 +0 -0
  269. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/list_definitions.j2 +0 -0
  270. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/macros.j2 +0 -0
  271. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/modify_product.j2 +0 -0
  272. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/new_product_migration.j2 +0 -0
  273. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/product.j2 +0 -0
  274. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/product_block.j2 +0 -0
  275. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/shared_forms.j2 +0 -0
  276. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/shared_workflows.j2 +0 -0
  277. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/subscription_model_registry.j2 +0 -0
  278. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/terminate_product.j2 +0 -0
  279. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/test_create_workflow.j2 +0 -0
  280. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/test_modify_workflow.j2 +0 -0
  281. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/test_product_type.j2 +0 -0
  282. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/test_terminate_workflow.j2 +0 -0
  283. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/test_validate_workflow.j2 +0 -0
  284. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/generator/templates/validate_product.j2 +0 -0
  285. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/helpers/__init__.py +0 -0
  286. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/helpers/input_helpers.py +0 -0
  287. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/helpers/print_helpers.py +0 -0
  288. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/main.py +0 -0
  289. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/migrate_domain_models.py +0 -0
  290. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/migrate_workflows.py +0 -0
  291. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/migration_helpers.py +0 -0
  292. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/cli/scheduler.py +0 -0
  293. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/config/__init__.py +0 -0
  294. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/database.py +0 -0
  295. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/__init__.py +0 -0
  296. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/filters.py +0 -0
  297. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/process.py +0 -0
  298. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/product.py +0 -0
  299. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/product_block.py +0 -0
  300. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/resource_type.py +0 -0
  301. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/search_filters/__init__.py +0 -0
  302. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/search_filters/inferred_filter.py +0 -0
  303. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/subscription.py +0 -0
  304. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/filters/workflow.py +0 -0
  305. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/helpers.py +0 -0
  306. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/listeners.py +0 -0
  307. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/loaders.py +0 -0
  308. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/range/__init__.py +0 -0
  309. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/range/range.py +0 -0
  310. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/__init__.py +0 -0
  311. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/process.py +0 -0
  312. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/product.py +0 -0
  313. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/product_block.py +0 -0
  314. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/resource_type.py +0 -0
  315. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/sorting.py +0 -0
  316. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/subscription.py +0 -0
  317. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/db/sorting/workflow.py +0 -0
  318. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/devtools/__init__.py +0 -0
  319. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/devtools/scripts/__init__.py +0 -0
  320. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/devtools/scripts/migrate_20.py +0 -0
  321. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/devtools/scripts/migrate_30.py +0 -0
  322. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/devtools/scripts/shared.py +0 -0
  323. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/distlock/__init__.py +0 -0
  324. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/distlock/distlock_manager.py +0 -0
  325. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/distlock/managers/__init__.py +0 -0
  326. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/distlock/managers/memory_distlock_manager.py +0 -0
  327. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/distlock/managers/redis_distlock_manager.py +0 -0
  328. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/domain/customer_description.py +0 -0
  329. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/domain/helpers.py +0 -0
  330. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/exception_handlers.py +0 -0
  331. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/forms/__init__.py +0 -0
  332. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/forms/validators/__init__.py +0 -0
  333. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/forms/validators/customer_contact_list.py +0 -0
  334. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/forms/validators/customer_id.py +0 -0
  335. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/forms/validators/display_subscription.py +0 -0
  336. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/forms/validators/network_type_validators.py +0 -0
  337. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/forms/validators/product_id.py +0 -0
  338. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/__init__.py +0 -0
  339. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/autoregistration.py +0 -0
  340. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/extensions/__init__.py +0 -0
  341. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/extensions/stats.py +0 -0
  342. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/loaders/__init__.py +0 -0
  343. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/loaders/subscriptions.py +0 -0
  344. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/mutations/customer_description.py +0 -0
  345. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/mutations/start_process.py +0 -0
  346. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/pagination.py +0 -0
  347. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/__init__.py +0 -0
  348. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/customer.py +0 -0
  349. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/helpers.py +0 -0
  350. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/process.py +0 -0
  351. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/product.py +0 -0
  352. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/product_block.py +0 -0
  353. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/resource_type.py +0 -0
  354. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/settings.py +0 -0
  355. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/subscription.py +0 -0
  356. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/version.py +0 -0
  357. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/resolvers/workflow.py +0 -0
  358. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/__init__.py +0 -0
  359. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/customer.py +0 -0
  360. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/customer_description.py +0 -0
  361. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/errors.py +0 -0
  362. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/fixed_input.py +0 -0
  363. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/helpers.py +0 -0
  364. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/process.py +0 -0
  365. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/product.py +0 -0
  366. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/product_block.py +0 -0
  367. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/resource_type.py +0 -0
  368. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/settings.py +0 -0
  369. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/strawberry_pydantic_patch.py +0 -0
  370. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/subscription.py +0 -0
  371. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/version.py +0 -0
  372. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/schemas/workflow.py +0 -0
  373. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/__init__.py +0 -0
  374. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/create_resolver_error_handler.py +0 -0
  375. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/get_query_loaders.py +0 -0
  376. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/get_selected_fields.py +0 -0
  377. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/get_selected_paths.py +0 -0
  378. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/is_query_detailed.py +0 -0
  379. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/override_class.py +0 -0
  380. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/graphql/utils/to_graphql_result_page.py +0 -0
  381. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/log_config.py +0 -0
  382. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/README +0 -0
  383. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/alembic.ini +0 -0
  384. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/script.py.mako +0 -0
  385. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/templates/alembic.ini.j2 +0 -0
  386. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/templates/env.py.j2 +0 -0
  387. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/templates/helpers.py.j2 +0 -0
  388. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2020-10-19_3323bcb934e7_fix_tsv_triggers.py +0 -0
  389. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2020-10-19_a76b9185b334_add_generic_workflows_to_core.py +0 -0
  390. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2021-04-06_3c8b9185c221_add_validate_products_task.py +0 -0
  391. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2021-07-01_6896a54e9483_add_product_block_relations.py +0 -0
  392. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2021-11-17_19cdd3ab86f6_fix_parse_websearch.py +0 -0
  393. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2022-02-16_bed6bc0b197a_rename_parent_and_child_block_relations.py +0 -0
  394. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-03-06_e05bb1967eff_add_subscriptions_search_view.py +0 -0
  395. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-06-28_a09ac125ea73_add_throttling_to_refresh_subscriptions.py +0 -0
  396. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-06-28_a09ac125ea73_add_throttling_to_refresh_subscriptions.sql +0 -0
  397. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-07-17_165303a20fb1_customer_id_to_varchar.py +0 -0
  398. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-07-17_165303a20fb1_customer_id_to_varchar.sql +0 -0
  399. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-09-25_da5c9f4cce1c_add_subscription_metadata_to_fulltext_.py +0 -0
  400. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-09-25_da5c9f4cce1c_add_subscription_metadata_to_fulltext_.sql +0 -0
  401. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2023-12-06_048219045729_add_workflow_id_to_processes_table.py +0 -0
  402. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.py +0 -0
  403. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.sql +0 -0
  404. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2025-01-08_4c5859620539_add_version_column_to_subscription.py +0 -0
  405. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/migrations/versions/schema/2025-10-19_4fjdn13f83ga_add_validate_product_type_task.py +0 -0
  406. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/py.typed +0 -0
  407. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schedules/__init__.py +0 -0
  408. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schedules/resume_workflows.py +0 -0
  409. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schedules/scheduling.py +0 -0
  410. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schedules/task_vacuum.py +0 -0
  411. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schedules/validate_products.py +0 -0
  412. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schedules/validate_subscriptions.py +0 -0
  413. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/__init__.py +0 -0
  414. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/base.py +0 -0
  415. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/fixed_input.py +0 -0
  416. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/problem_detail.py +0 -0
  417. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/process.py +0 -0
  418. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/product.py +0 -0
  419. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/product_block.py +0 -0
  420. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/resource_type.py +0 -0
  421. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/subscription_descriptions.py +0 -0
  422. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/schemas/workflow.py +0 -0
  423. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/__init__.py +0 -0
  424. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/fixed_inputs.py +0 -0
  425. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/input_state.py +0 -0
  426. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/process_broadcast_thread.py +0 -0
  427. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/resource_types.py +0 -0
  428. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/settings.py +0 -0
  429. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/subscription_relations.py +0 -0
  430. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/translations.py +0 -0
  431. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/services/workflows.py +0 -0
  432. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/__init__.py +0 -0
  433. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/crypt.py +0 -0
  434. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/datetime.py +0 -0
  435. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/deprecation_logger.py +0 -0
  436. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/docs.py +0 -0
  437. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/enrich_process.py +0 -0
  438. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/fixed_inputs.py +0 -0
  439. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/functional.py +0 -0
  440. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/get_subscription_dict.py +0 -0
  441. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/get_updated_properties.py +0 -0
  442. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/helpers.py +0 -0
  443. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/json.py +0 -0
  444. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/redis.py +0 -0
  445. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/redis_client.py +0 -0
  446. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/search_query.py +0 -0
  447. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/strings.py +0 -0
  448. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/utils/validate_data_version.py +0 -0
  449. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/version.py +0 -0
  450. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/websocket/__init__.py +0 -0
  451. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/websocket/managers/broadcast_websocket_manager.py +0 -0
  452. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/websocket/managers/memory_websocket_manager.py +0 -0
  453. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/__init__.py +0 -0
  454. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/removed_workflow.py +0 -0
  455. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/tasks/__init__.py +0 -0
  456. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/orchestrator/workflows/translations/en-GB.json +0 -0
  457. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/setup.cfg +0 -0
  458. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/setup.py +0 -0
  459. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/__init__.py +0 -0
  460. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/__init__.py +0 -0
  461. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/conftest.py +0 -0
  462. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/__init__.py +0 -0
  463. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/devtools/populator/__init__.py +0 -0
  464. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/main.py +0 -0
  465. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/product_blocks/__init__.py +0 -0
  466. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/product_blocks/test_product_blocks.py +0 -0
  467. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/products/__init__.py +0 -0
  468. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/products/test_product.py +0 -0
  469. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/fixtures/test_orchestrator/workflows/__init__.py +0 -0
  470. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/acceptance_tests/test_test_product.py +0 -0
  471. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/__init__.py +0 -0
  472. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/__init__.py +0 -0
  473. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_caching.py +0 -0
  474. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_health.py +0 -0
  475. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_helpers.py +0 -0
  476. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_models.py +0 -0
  477. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_processes_ws.py +0 -0
  478. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_product_blocks.py +0 -0
  479. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_products.py +0 -0
  480. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_resource_types.py +0 -0
  481. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_settings.py +0 -0
  482. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_subscription_customer_descriptions.py +0 -0
  483. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_workflows.py +0 -0
  484. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/api/test_ws.py +0 -0
  485. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/__init__.py +0 -0
  486. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/conftest.py +0 -0
  487. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/alembic.ini +0 -0
  488. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/main.py +0 -0
  489. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/migrations/env.py +0 -0
  490. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/migrations/helpers.py +0 -0
  491. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/migrations/script.py.mako +0 -0
  492. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_59e1199aff7f_create_data_head.py +0 -0
  493. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_85be1c80731c_add_example2.py +0 -0
  494. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-02-20_ea9e6c9de75c_add_example1.py +0 -0
  495. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/migrations/versions/schema/2024-06-07_380a5b0c928c_add_example4.py +0 -0
  496. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/__init__.py +0 -0
  497. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_blocks/__init__.py +0 -0
  498. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_blocks/example1.py +0 -0
  499. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_blocks/example2.py +0 -0
  500. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_blocks/example4.py +0 -0
  501. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_blocks/example4sub.py +0 -0
  502. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_types/__init__.py +0 -0
  503. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_types/example1.py +0 -0
  504. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_types/example2.py +0 -0
  505. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/products/product_types/example4.py +0 -0
  506. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example1.py +0 -0
  507. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example2.py +0 -0
  508. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/domain/product_types/test_example4.py +0 -0
  509. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_create_example1.py +0 -0
  510. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_modify_example1.py +0 -0
  511. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_terminate_example1.py +0 -0
  512. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example1/test_validate_example1.py +0 -0
  513. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_create_example2.py +0 -0
  514. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_modify_example2.py +0 -0
  515. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_terminate_example2.py +0 -0
  516. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example2/test_validate_example2.py +0 -0
  517. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_create_example4.py +0 -0
  518. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_modify_example4.py +0 -0
  519. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_terminate_example4.py +0 -0
  520. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/test/unit_tests/workflows/example4/test_validate_example4.py +0 -0
  521. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/translations/en-GB.json +0 -0
  522. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/__init__.py +0 -0
  523. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example1/create_example1.py +0 -0
  524. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example1/modify_example1.py +0 -0
  525. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example1/shared/forms.py +0 -0
  526. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example1/terminate_example1.py +0 -0
  527. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example1/validate_example1.py +0 -0
  528. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example2/create_example2.py +0 -0
  529. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example2/modify_example2.py +0 -0
  530. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example2/shared/forms.py +0 -0
  531. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example2/terminate_example2.py +0 -0
  532. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example4/create_example4.py +0 -0
  533. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example4/modify_example4.py +0 -0
  534. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example4/shared/forms.py +0 -0
  535. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate/workflows/example4/terminate_example4.py +0 -0
  536. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/generate.sh +0 -0
  537. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/invalid_product_config1.yaml +0 -0
  538. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/invalid_product_config2.yaml +0 -0
  539. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/product_config1.yaml +0 -0
  540. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/product_config2.yaml +0 -0
  541. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/product_config3.yaml +0 -0
  542. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/data/product_config4.yaml +0 -0
  543. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/generator/__init__.py +0 -0
  544. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/generator/test_enums.py +0 -0
  545. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/helpers.py +0 -0
  546. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/test_cli_generate.py +0 -0
  547. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/test_config_validation.py +0 -0
  548. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/test_generate_code.py +0 -0
  549. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/test_migrate_domain_models_with_instances.py +0 -0
  550. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/cli/test_migrate_domain_models_without_instances.py +0 -0
  551. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/config.py +0 -0
  552. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/db/__init__.py +0 -0
  553. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/db/test_listeners.py +0 -0
  554. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/domain/__init__.py +0 -0
  555. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/domain/test_base_multiple.py +0 -0
  556. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/domain/test_base_with_list_union.py +0 -0
  557. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/domain/test_base_with_union.py +0 -0
  558. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/domain/test_lifecycle.py +0 -0
  559. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/__init__.py +0 -0
  560. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/processes.py +0 -0
  561. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/__init__.py +0 -0
  562. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/__init__.py +0 -0
  563. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/product_block_list_nested.py +0 -0
  564. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/product_block_one.py +0 -0
  565. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/product_block_one_nested.py +0 -0
  566. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/product_block_with_list_union.py +0 -0
  567. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/product_block_with_union.py +0 -0
  568. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/product_sub_block_one.py +0 -0
  569. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_blocks/product_sub_block_two.py +0 -0
  570. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/__init__.py +0 -0
  571. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_list_nested.py +0 -0
  572. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_list_union.py +0 -0
  573. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_list_union_overlap.py +0 -0
  574. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_one.py +0 -0
  575. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_one_nested.py +0 -0
  576. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_sub_list_union.py +0 -0
  577. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_sub_one.py +0 -0
  578. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_sub_two.py +0 -0
  579. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_sub_union.py +0 -0
  580. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/product_type_union.py +0 -0
  581. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/product_types/subscription_relations.py +0 -0
  582. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/products/resource_types.py +0 -0
  583. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/fixtures/workflows.py +0 -0
  584. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/forms/__init__.py +0 -0
  585. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/forms/test_customer_contact_list.py +0 -0
  586. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/forms/test_customer_id.py +0 -0
  587. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/forms/test_display_subscription.py +0 -0
  588. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/forms/test_generic_validators.py +0 -0
  589. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/__init__.py +0 -0
  590. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/conftest.py +0 -0
  591. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/extensions/__init__.py +0 -0
  592. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/extensions/test_stats.py +0 -0
  593. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/mutations/helpers.py +0 -0
  594. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/mutations/test_customer_description.py +0 -0
  595. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/mutations/test_start_process.py +0 -0
  596. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_customer.py +0 -0
  597. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_process.py +0 -0
  598. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_processes.py +0 -0
  599. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_product.py +0 -0
  600. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_product_blocks.py +0 -0
  601. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_resource_types.py +0 -0
  602. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_settings.py +0 -0
  603. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_sort_and_filter_fields.py +0 -0
  604. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_subscription_relations.py +0 -0
  605. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_version.py +0 -0
  606. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/test_workflows.py +0 -0
  607. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/__init__.py +0 -0
  608. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/fixtures.py +0 -0
  609. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/test_autoregistration.py +0 -0
  610. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/test_get_query_loaders.py +0 -0
  611. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/test_get_selected_paths.py +0 -0
  612. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/test_is_query_detailed.py +0 -0
  613. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/test_is_querying_page_data.py +0 -0
  614. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/graphql/utils/test_override_class.py +0 -0
  615. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/schedules/__init__.py +0 -0
  616. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/schedules/test_scheduling.py +0 -0
  617. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/services/__init__.py +0 -0
  618. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/services/test_processes.py +0 -0
  619. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/services/test_products.py +0 -0
  620. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/services/test_subscription_relations.py +0 -0
  621. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/services/test_subscriptions.py +0 -0
  622. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/services/test_translations.py +0 -0
  623. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/test_db.py +0 -0
  624. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/test_types.py +0 -0
  625. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/test_workflow.py +0 -0
  626. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/__init__.py +0 -0
  627. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/get_subscription_dict.py +0 -0
  628. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_datetime.py +0 -0
  629. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_errors.py +0 -0
  630. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_functional.py +0 -0
  631. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_get_updated_properties.py +0 -0
  632. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_json.py +0 -0
  633. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_search_query.py +0 -0
  634. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/utils/test_strings.py +0 -0
  635. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/websocket/__init__.py +0 -0
  636. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/websocket/test_broadcast.py +0 -0
  637. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/__init__.py +0 -0
  638. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/conftest.py +0 -0
  639. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/shared/__init__.py +0 -0
  640. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/shared/test_validate_subscriptions.py +0 -0
  641. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/tasks/__init__.py +0 -0
  642. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/tasks/test_clean_up_task_log.py +0 -0
  643. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/tasks/test_resume_workflows.py +0 -0
  644. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/tasks/test_validate_product_type.py +0 -0
  645. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/tasks/test_validate_products.py +0 -0
  646. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/test_config_db_code.py +0 -0
  647. {orchestrator_core-3.1.0rc1 → orchestrator_core-3.1.2}/test/unit_tests/workflows/test_modify_note.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 3.1.0rc1
2
+ current_version = 3.1.2
3
3
  commit = False
4
4
  tag = False
5
5
  parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(rc(?P<build>\d+))?
@@ -11,7 +11,7 @@ jobs:
11
11
  name: Run benchmarks
12
12
  runs-on: ubuntu-latest
13
13
  container:
14
- image: python:3.11
14
+ image: python:3.13
15
15
  options: --privileged
16
16
  services:
17
17
  postgres:
@@ -61,7 +61,7 @@ jobs:
61
61
 
62
62
  - uses: CodSpeedHQ/action@v3
63
63
  with:
64
- run: CACHE_URI=redis://redis DATABASE_URI=postgresql+psycopg://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB pytest test/unit_tests --codspeed
64
+ run: CACHE_URI=redis://redis DATABASE_URI=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB pytest test/unit_tests --codspeed
65
65
  token: ${{ secrets.CODSPEED_TOKEN }}
66
66
  env:
67
67
  POSTGRES_DB: orchestrator-core-test
@@ -5,9 +5,9 @@ name: Linting tests
5
5
 
6
6
  on:
7
7
  push:
8
- pull_request:
9
- branches: [master]
8
+ branches: [ main ]
10
9
  workflow_call:
10
+ pull_request:
11
11
 
12
12
  jobs:
13
13
  build:
@@ -1,7 +1,9 @@
1
1
  name: Unit tests
2
2
  on:
3
3
  push:
4
+ branches: [ main ]
4
5
  workflow_call:
6
+ pull_request:
5
7
 
6
8
  jobs:
7
9
  container_job:
@@ -51,7 +53,7 @@ jobs:
51
53
  env:
52
54
  FLIT_ROOT_INSTALL: 1
53
55
  - name: Run Unit tests
54
- run: CACHE_URI=redis://redis DATABASE_URI=postgresql+psycopg://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB pytest --cov-branch --cov=orchestrator --cov-report=xml --ignore=test --ignore=orchestrator/devtools --ignore=examples --ignore=docs --ignore=orchestrator/vendor
56
+ run: CACHE_URI=redis://redis DATABASE_URI=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB pytest --cov-branch --cov=orchestrator --cov-report=xml --ignore=test --ignore=orchestrator/devtools --ignore=examples --ignore=docs --ignore=orchestrator/vendor
55
57
  env:
56
58
  POSTGRES_DB: orchestrator-core-test
57
59
  POSTGRES_USER: nwa
@@ -17,13 +17,12 @@ repos:
17
17
  rev: v0.9.6
18
18
  hooks:
19
19
  - id: ruff
20
- args: [ --fix, --exit-non-zero-on-fix, --show-fixes ]
20
+ args: [--fix, --exit-non-zero-on-fix, --show-fixes]
21
21
  - repo: https://github.com/pre-commit/pre-commit-hooks
22
22
  rev: v5.0.0
23
23
  hooks:
24
24
  - id: trailing-whitespace
25
- exclude:
26
- .bumpversion.cfg
25
+ exclude: .bumpversion.cfg
27
26
  args: [--markdown-linebreak-ext=md]
28
27
  - id: end-of-file-fixer
29
28
  - id: check-docstring-first
@@ -62,7 +61,7 @@ repos:
62
61
  name: mypy
63
62
  language: system
64
63
  entry: "mypy"
65
- types: [ python ]
64
+ types: [python]
66
65
  require_serial: true
67
66
  verbose: true
68
67
  args:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orchestrator-core
3
- Version: 3.1.0rc1
3
+ Version: 3.1.2
4
4
  Summary: This is the orchestrator workflow engine.
5
5
  Requires-Python: >=3.11,<3.14
6
6
  Classifier: Intended Audience :: Information Technology
@@ -28,7 +28,7 @@ Classifier: Programming Language :: Python :: 3.11
28
28
  Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
29
29
  Classifier: Topic :: Internet :: WWW/HTTP
30
30
  License-File: LICENSE
31
- Requires-Dist: alembic==1.14.1
31
+ Requires-Dist: alembic==1.15.2
32
32
  Requires-Dist: anyio>=3.7.0
33
33
  Requires-Dist: click==8.*
34
34
  Requires-Dist: deprecated
@@ -37,27 +37,27 @@ Requires-Dist: fastapi~=0.115.2
37
37
  Requires-Dist: fastapi-etag==0.4.0
38
38
  Requires-Dist: more-itertools~=10.6.0
39
39
  Requires-Dist: itsdangerous
40
- Requires-Dist: Jinja2==3.1.5
41
- Requires-Dist: orjson==3.10.15
42
- Requires-Dist: psycopg[binary]==3.2.5
40
+ Requires-Dist: Jinja2==3.1.6
41
+ Requires-Dist: orjson==3.10.16
42
+ Requires-Dist: psycopg2-binary==2.9.10
43
43
  Requires-Dist: pydantic[email]~=2.8.2
44
44
  Requires-Dist: pydantic-settings~=2.8.0
45
45
  Requires-Dist: python-dateutil==2.8.2
46
46
  Requires-Dist: python-rapidjson>=1.18,<1.21
47
- Requires-Dist: pytz==2025.1
48
- Requires-Dist: redis==5.0.3
47
+ Requires-Dist: pytz==2025.2
48
+ Requires-Dist: redis==5.1.1
49
49
  Requires-Dist: schedule==1.1.0
50
- Requires-Dist: sentry-sdk[fastapi]~=2.22.0
51
- Requires-Dist: SQLAlchemy==2.0.38
50
+ Requires-Dist: sentry-sdk[fastapi]~=2.25.1
51
+ Requires-Dist: SQLAlchemy==2.0.40
52
52
  Requires-Dist: SQLAlchemy-Utils==0.41.2
53
53
  Requires-Dist: structlog
54
- Requires-Dist: typer==0.15.1
55
- Requires-Dist: uvicorn[standard]~=0.32.0
54
+ Requires-Dist: typer==0.15.2
55
+ Requires-Dist: uvicorn[standard]~=0.34.0
56
56
  Requires-Dist: nwa-stdlib~=1.9.0
57
57
  Requires-Dist: oauth2-lib~=2.4.0
58
58
  Requires-Dist: tabulate==0.9.0
59
59
  Requires-Dist: strawberry-graphql>=0.246.2
60
- Requires-Dist: pydantic-forms~=1.3.0
60
+ Requires-Dist: pydantic-forms~=1.4.0
61
61
  Requires-Dist: celery~=5.4.0 ; extra == "celery"
62
62
  Requires-Dist: toml ; extra == "dev"
63
63
  Requires-Dist: bumpversion ; extra == "dev"
@@ -82,7 +82,7 @@ Requires-Dist: dirty-equals ; extra == "test"
82
82
  Requires-Dist: jsonref ; extra == "test"
83
83
  Requires-Dist: mypy==1.9 ; extra == "test"
84
84
  Requires-Dist: pyinstrument ; extra == "test"
85
- Requires-Dist: pytest==8.3.4 ; extra == "test"
85
+ Requires-Dist: pytest==8.3.5 ; extra == "test"
86
86
  Requires-Dist: pytest-asyncio==0.21.2 ; extra == "test"
87
87
  Requires-Dist: pytest-codspeed ; extra == "test"
88
88
  Requires-Dist: pytest-cov ; extra == "test"
@@ -5,7 +5,7 @@ The orchestrator backend has the following requirements
5
5
  For the backend you need the following packages:
6
6
 
7
7
  * Python >= 3.11
8
- * Postgres >= 14
8
+ * Postgres >= 15
9
9
 
10
10
  ### Optional dependencies
11
11
  * Redis
@@ -108,6 +108,112 @@ The code above sets our local Celery instance (which initializes the workflows)
108
108
  going to be used by the orchestrator-core. Without this code, the orchestrator-core would be only aware of a limited
109
109
  set of workflows that are part of orchestrator-core itself.
110
110
 
111
+ ### An example implementation
112
+
113
+ When using Celery and Websockets you can use the following example and change it to your needs.
114
+
115
+ ```python
116
+ """This module contains functions and classes necessary for celery worker processes.
117
+
118
+ When the orchestrator-core's thread process executor is specified as "celery", the `OrchestratorCore` FastAPI
119
+ application registers celery-specific task functions and `start_process` and `resume_process` now defer to the
120
+ celery task queue.
121
+
122
+ Celery's task queue enables features like nightly validations by providing a task queue and workers to execute
123
+ workflows that are all started in parallel, which would crash a single-threaded orchestrator-core.
124
+
125
+ The application flow looks like this when "celery" is the executor (and websockets are enabled):
126
+
127
+ - FastAPI application validates form input, and places a task on celery queue (create new process).
128
+ - If websockets are enabled, a connection should exist already b/t the client and backend.
129
+ - FastAPI application begins watching redis pubsub channel for process updates from celery.
130
+ - Celery worker picks up task from queue and begins executing.
131
+ - On each step completion, it publishes state information to redis pubsub channel.
132
+ - FastAPI application grabs this information and publishes it to the client websocket connection.
133
+
134
+ A celery worker container will start by calling this module instead of `main.py` like so:
135
+ ```sh
136
+ celery -A esnetorch.celery_worker worker -E -l INFO -Q new_tasks,resume_tasks,new_workflows,resume_workflows
137
+ ```
138
+
139
+ * `-A` points to this module where the worker class is defined
140
+ * `-E` sends task-related events (capturable and monitorable)
141
+ * `-l` is the short flag for --loglevel
142
+ * `-Q` specifies the queues which the worker should watch for new tasks
143
+
144
+ See https://workfloworchestrator.org/orchestrator-core/reference-docs/app/scaling for more information.
145
+ """
146
+
147
+ from uuid import UUID
148
+
149
+ from celery import Celery
150
+ from celery.signals import worker_shutting_down
151
+ from orchestrator.db import init_database
152
+ from orchestrator.domain import SUBSCRIPTION_MODEL_REGISTRY
153
+ from orchestrator.services.tasks import initialise_celery
154
+ from orchestrator.types import BroadcastFunc
155
+ from orchestrator.websocket import broadcast_process_update_to_websocket, init_websocket_manager
156
+ from orchestrator.websocket.websocket_manager import WebSocketManager
157
+ from orchestrator.workflows import ALL_WORKFLOWS
158
+ from structlog import get_logger
159
+
160
+ from esnetorch.settings import app_settings
161
+
162
+
163
+ logger = get_logger(__name__)
164
+
165
+
166
+ def process_broadcast_fn(process_id: UUID) -> None:
167
+ # Catch all exceptions as broadcasting failure is noncritical to workflow completion
168
+ try:
169
+ broadcast_process_update_to_websocket(process_id)
170
+ except Exception as e:
171
+ logger.exception(e)
172
+
173
+
174
+ class OrchestratorWorker(Celery):
175
+ websocket_manager: WebSocketManager
176
+ process_broadcast_fn: BroadcastFunc
177
+
178
+ def on_init(self) -> None:
179
+ init_database(app_settings)
180
+
181
+ # Prepare the wrapped_websocket_manager
182
+ # Note: cannot prepare the redis connections here as broadcasting is async
183
+ self.websocket_manager = init_websocket_manager(app_settings)
184
+ self.process_broadcast_fn = process_broadcast_fn
185
+
186
+ # Load the products and load the workflows
187
+ import esnetorch.products # noqa: F401 Side-effects
188
+ import esnetorch.workflows # noqa: F401 Side-effects
189
+
190
+ logger.info(
191
+ "Loaded the workflows and products",
192
+ workflows=len(ALL_WORKFLOWS.values()),
193
+ products=len(SUBSCRIPTION_MODEL_REGISTRY.values()),
194
+ )
195
+
196
+ def close(self) -> None:
197
+ super().close()
198
+
199
+
200
+ celery = OrchestratorWorker(
201
+ f"{app_settings.SERVICE_NAME}-worker", broker=str(app_settings.CACHE_URI), include=["orchestrator.services.tasks"]
202
+ )
203
+
204
+ if app_settings.TESTING:
205
+ celery.conf.update(backend=str(app_settings.CACHE_URI), task_ignore_result=False)
206
+ else:
207
+ celery.conf.update(task_ignore_result=True)
208
+
209
+ celery.conf.update(
210
+ result_expires=3600,
211
+ worker_prefetch_multiplier=1,
212
+ worker_send_task_event=True,
213
+ task_send_sent_event=True,
214
+ )
215
+ ```
216
+
111
217
  ### Running locally
112
218
 
113
219
  If you want to test your application locally you have to start both the orchestrator-api and one or more workers.
@@ -168,3 +168,11 @@ def create_l2vpn() -> StepList:
168
168
  >> set_status(SubscriptionLifecycle.ACTIVE)
169
169
  )
170
170
  ```
171
+
172
+ ## Callback progress during execution
173
+
174
+ For long-running jobs, such as executing Terraform or Ansible playbooks, the Orchestrator allows callback jobs to send real-time progress updates which can be used to provide operators with feedback on the progress of the running task.
175
+
176
+ Progress updates should be delivered to `{callback_route}/progress`, where `"/progress"` is a fixed endpoint appended to the callback URL.
177
+
178
+ The remote service should send a JSON or plain string payload with each progress callback, this replaces the previous progress update and refreshes the UI. Once the final callback is triggered and the job completes, progress updates are removed, leaving only the callback result. Therefore, all troubleshooting or diagnostic information must be included in the final callback payload, as progress updates are not retained for debugging.
@@ -10,14 +10,14 @@ This installation instruction assumes the use of [Homebrew](https://brew.sh/).
10
10
  The following software dependencies need to be installed:
11
11
 
12
12
  * Python 3.11
13
- * PostgreSQL (version >=11)
13
+ * Postgres >= 15
14
14
  * virtualenvwrapper (or use any other tool to create virtual Python
15
15
  environments)
16
16
  * Node.js (version 14)
17
17
  * yarn
18
18
 
19
19
  ``` shell
20
- brew install python@3.11 postgresql@13 virtualenvwrapper node@14 yarn
20
+ brew install python@3.11 postgresql@15 virtualenvwrapper node@14 yarn
21
21
  ```
22
22
 
23
23
  ### Step 2 - Database setup
@@ -26,7 +26,7 @@ Start the database server and create the database with the following commands,
26
26
  use `nwa` as password:
27
27
 
28
28
  ``` shell
29
- brew services start postgresql@13
29
+ brew services start postgresql@15
30
30
  createuser -sP nwa
31
31
  createdb orchestrator-core -O nwa
32
32
  ```
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2025 SURF, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -13,7 +13,7 @@
13
13
 
14
14
  """This is the orchestrator workflow engine."""
15
15
 
16
- __version__ = "3.1.0rc1"
16
+ __version__ = "3.1.2"
17
17
 
18
18
  from orchestrator.app import OrchestratorCore
19
19
  from orchestrator.settings import app_settings
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2020 SURF, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2025 SURF, GÉANT, ESnet.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -40,13 +40,7 @@ from orchestrator.db.filters import Filter
40
40
  from orchestrator.db.filters.process import filter_processes
41
41
  from orchestrator.db.sorting import Sort, SortOrder
42
42
  from orchestrator.db.sorting.process import sort_processes
43
- from orchestrator.schemas import (
44
- ProcessIdSchema,
45
- ProcessResumeAllSchema,
46
- ProcessSchema,
47
- ProcessStatusCounts,
48
- Reporter,
49
- )
43
+ from orchestrator.schemas import ProcessIdSchema, ProcessResumeAllSchema, ProcessSchema, ProcessStatusCounts, Reporter
50
44
  from orchestrator.security import authenticate
51
45
  from orchestrator.services.process_broadcast_thread import api_broadcast_process_data
52
46
  from orchestrator.services.processes import (
@@ -58,6 +52,7 @@ from orchestrator.services.processes import (
58
52
  load_process,
59
53
  resume_process,
60
54
  start_process,
55
+ update_awaiting_process_progress,
61
56
  )
62
57
  from orchestrator.services.settings import get_engine_settings
63
58
  from orchestrator.settings import app_settings
@@ -138,9 +133,12 @@ async def new_process(
138
133
  request: Request,
139
134
  json_data: list[dict[str, Any]] | None = Body(...),
140
135
  user: str = Depends(user_name),
136
+ user_model: OIDCUserModel | None = Depends(authenticate),
141
137
  ) -> dict[str, UUID]:
142
138
  broadcast_func = api_broadcast_process_data(request)
143
- process_id = start_process(workflow_key, user_inputs=json_data, user=user, broadcast_func=broadcast_func)
139
+ process_id = start_process(
140
+ workflow_key, user_inputs=json_data, user_model=user_model, user=user, broadcast_func=broadcast_func
141
+ )
144
142
 
145
143
  return {"id": process_id}
146
144
 
@@ -197,6 +195,28 @@ def continue_awaiting_process_endpoint(
197
195
  raise_status(HTTPStatus.NOT_FOUND, str(e))
198
196
 
199
197
 
198
+ @router.post(
199
+ "/{process_id}/callback/{token}/progress",
200
+ response_model=None,
201
+ status_code=HTTPStatus.OK,
202
+ dependencies=[Depends(check_global_lock, use_cache=False)],
203
+ )
204
+ def update_progress_on_awaiting_process_endpoint(
205
+ process_id: UUID,
206
+ token: str,
207
+ data: str | State = Body(...),
208
+ ) -> None:
209
+ process = _get_process(process_id)
210
+
211
+ if process.last_status != ProcessStatus.AWAITING_CALLBACK:
212
+ raise_status(HTTPStatus.CONFLICT, "This process is not in an awaiting state.")
213
+
214
+ try:
215
+ update_awaiting_process_progress(process, token=token, data=data)
216
+ except AssertionError as exc:
217
+ raise_status(HTTPStatus.NOT_FOUND, str(exc))
218
+
219
+
200
220
  @router.put(
201
221
  "/resume-all", response_model=ProcessResumeAllSchema, dependencies=[Depends(check_global_lock, use_cache=False)]
202
222
  )
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2020 SURF, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2020 SURF, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -5,7 +5,7 @@ This module contains the main `OrchestratorCore` class for the `FastAPI` backend
5
5
  provides the ability to run the CLI.
6
6
  """
7
7
 
8
- # Copyright 2019-2020 SURF, ESnet
8
+ # Copyright 2019-2020 SURF, ESnet, GÉANT.
9
9
  # Licensed under the Apache License, Version 2.0 (the "License");
10
10
  # you may not use this file except in compliance with the License.
11
11
  # You may obtain a copy of the License at
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF, ESnet
1
+ # Copyright 2019-2025 SURF, ESnet, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -31,16 +31,13 @@ from orchestrator.cli.generator.generator.helpers import (
31
31
  sort_product_blocks_by_dependencies,
32
32
  )
33
33
  from orchestrator.cli.generator.generator.settings import product_generator_settings as settings
34
- from orchestrator.settings import convert_database_uri
35
34
 
36
35
  logger = structlog.getLogger(__name__)
37
36
 
38
37
 
39
38
  def create_migration_file(message: str, head: str) -> Path | None:
40
- if environ.get("DATABASE_URI"):
41
- environ.update({"DATABASE_URI": convert_database_uri(environ["DATABASE_URI"])})
42
- else:
43
- environ.update({"DATABASE_URI": "postgresql+psycopg://nwa:nwa@localhost/orchestrator-core"})
39
+ if not environ.get("DATABASE_URI"):
40
+ environ.update({"DATABASE_URI": "postgresql://nwa:nwa@localhost/orchestrator-core"})
44
41
  if not environ.get("PYTHONPATH"):
45
42
  environ.update({"PYTHONPATH": "."})
46
43
  logger.info(
@@ -1,3 +1,16 @@
1
+ # Copyright 2019-2025 SURF, GÉANT.
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ #
8
+ # Unless required by applicable law or agreed to in writing, software
9
+ # distributed under the License is distributed on an "AS IS" BASIS,
10
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ # See the License for the specific language governing permissions and
12
+ # limitations under the License.
13
+
1
14
  import itertools
2
15
  import operator
3
16
  from collections.abc import Iterable
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2025 SURF, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -19,6 +19,7 @@ from orchestrator.db.database import Database, transactional
19
19
  from orchestrator.db.models import ( # noqa: F401
20
20
  EngineSettingsTable,
21
21
  FixedInputTable,
22
+ InputStateTable,
22
23
  ProcessStepTable,
23
24
  ProcessSubscriptionTable,
24
25
  ProcessTable,
@@ -85,6 +86,7 @@ __all__ = [
85
86
  "SubscriptionMetadataTable",
86
87
  "ResourceTypeTable",
87
88
  "FixedInputTable",
89
+ "InputStateTable",
88
90
  "EngineSettingsTable",
89
91
  "WorkflowTable",
90
92
  "SubscriptionCustomerDescriptionTable",
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2020 SURF, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -92,7 +92,7 @@ class InputStateTable(BaseModel):
92
92
 
93
93
  input_state_id = mapped_column(UUIDType, primary_key=True, server_default=text("uuid_generate_v4()"), index=True)
94
94
  process_id = mapped_column("pid", UUIDType, ForeignKey("processes.pid"), nullable=False)
95
- input_state = mapped_column(pg.JSONB(), nullable=False) # type: ignore
95
+ input_state = mapped_column(pg.JSONB(), nullable=False)
96
96
  input_time = mapped_column(UtcTimestamp, server_default=text("current_timestamp()"), nullable=False)
97
97
  input_type = mapped_column(Enum(InputType), nullable=False)
98
98
 
@@ -137,7 +137,7 @@ class ProcessStepTable(BaseModel):
137
137
  )
138
138
  name = mapped_column(String(), nullable=False)
139
139
  status = mapped_column(String(50), nullable=False)
140
- state = mapped_column(pg.JSONB(), nullable=False) # type: ignore
140
+ state = mapped_column(pg.JSONB(), nullable=False)
141
141
  created_by = mapped_column(String(255), nullable=True)
142
142
  executed_at = mapped_column(UtcTimestamp, server_default=text("statement_timestamp()"), nullable=False)
143
143
  commit_hash = mapped_column(String(40), nullable=True, default=GIT_COMMIT_HASH)
@@ -642,7 +642,7 @@ class SubscriptionMetadataTable(BaseModel):
642
642
  primary_key=True,
643
643
  index=True,
644
644
  )
645
- metadata_ = mapped_column("metadata", pg.JSONB(), nullable=False) # type: ignore
645
+ metadata_ = mapped_column("metadata", pg.JSONB(), nullable=False)
646
646
 
647
647
  @staticmethod
648
648
  def find_by_subscription_id(subscription_id: str) -> SubscriptionMetadataTable | None:
@@ -651,6 +651,8 @@ class SubscriptionMetadataTable(BaseModel):
651
651
 
652
652
  class SubscriptionSearchView(BaseModel):
653
653
  __tablename__ = "subscriptions_search"
654
+ __table_args__ = {"info": {"materialized_view": True}}
655
+
654
656
  subscription_id = mapped_column(
655
657
  UUIDType, ForeignKey("subscriptions.subscription_id"), nullable=False, index=True, primary_key=True
656
658
  )
@@ -1,4 +1,4 @@
1
- # Copyright 2019-2020 SURF.
1
+ # Copyright 2019-2020 SURF, GÉANT.
2
2
  # Licensed under the Apache License, Version 2.0 (the "License");
3
3
  # you may not use this file except in compliance with the License.
4
4
  # You may obtain a copy of the License at
@@ -11,11 +11,10 @@
11
11
  # See the License for the specific language governing permissions and
12
12
  # limitations under the License.
13
13
 
14
-
15
- from orchestrator.domain.base import SubscriptionModel
14
+ from orchestrator.domain.base import SubscriptionModel, SubscriptionModelRegistry
16
15
  from orchestrator.utils.docs import make_product_type_index_doc
17
16
 
18
- SUBSCRIPTION_MODEL_REGISTRY: dict[str, type[SubscriptionModel]] = {}
17
+ SUBSCRIPTION_MODEL_REGISTRY: SubscriptionModelRegistry = SubscriptionModelRegistry()
19
18
 
20
19
  __doc__ = make_product_type_index_doc(SUBSCRIPTION_MODEL_REGISTRY)
21
20