orchestrator-core 3.1.2rc4__py3-none-any.whl → 3.2.0__py3-none-any.whl
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.
- orchestrator/__init__.py +1 -1
- orchestrator/api/api_v1/endpoints/processes.py +6 -9
- orchestrator/cli/generator/generator/workflow.py +13 -1
- orchestrator/cli/generator/templates/modify_product.j2 +9 -0
- orchestrator/db/__init__.py +2 -0
- orchestrator/db/loaders.py +51 -3
- orchestrator/db/models.py +13 -0
- orchestrator/db/queries/__init__.py +0 -0
- orchestrator/db/queries/subscription.py +85 -0
- orchestrator/db/queries/subscription_instance.py +28 -0
- orchestrator/domain/base.py +162 -44
- orchestrator/domain/context_cache.py +62 -0
- orchestrator/domain/helpers.py +41 -1
- orchestrator/domain/subscription_instance_transform.py +114 -0
- orchestrator/graphql/resolvers/process.py +3 -3
- orchestrator/graphql/resolvers/product.py +2 -2
- orchestrator/graphql/resolvers/product_block.py +2 -2
- orchestrator/graphql/resolvers/resource_type.py +2 -2
- orchestrator/graphql/resolvers/workflow.py +2 -2
- orchestrator/graphql/utils/get_query_loaders.py +6 -48
- orchestrator/graphql/utils/get_subscription_product_blocks.py +8 -1
- orchestrator/migrations/versions/schema/2025-03-06_42b3d076a85b_subscription_instance_as_json_function.py +33 -0
- orchestrator/migrations/versions/schema/2025-03-06_42b3d076a85b_subscription_instance_as_json_function.sql +40 -0
- orchestrator/migrations/versions/schema/2025-04-09_fc5c993a4b4a_add_cascade_constraint_on_processes_.py +44 -0
- orchestrator/services/processes.py +28 -9
- orchestrator/services/subscriptions.py +36 -6
- orchestrator/settings.py +3 -0
- orchestrator/utils/functional.py +9 -0
- orchestrator/utils/redis.py +6 -0
- orchestrator/workflow.py +29 -6
- orchestrator/workflows/utils.py +40 -5
- {orchestrator_core-3.1.2rc4.dist-info → orchestrator_core-3.2.0.dist-info}/METADATA +9 -8
- {orchestrator_core-3.1.2rc4.dist-info → orchestrator_core-3.2.0.dist-info}/RECORD +36 -28
- /orchestrator/migrations/versions/schema/{2025-10-19_4fjdn13f83ga_add_validate_product_type_task.py → 2025-01-19_4fjdn13f83ga_add_validate_product_type_task.py} +0 -0
- {orchestrator_core-3.1.2rc4.dist-info → orchestrator_core-3.2.0.dist-info}/WHEEL +0 -0
- {orchestrator_core-3.1.2rc4.dist-info → orchestrator_core-3.2.0.dist-info}/licenses/LICENSE +0 -0
orchestrator/workflows/utils.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2019-
|
|
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
|
|
@@ -20,6 +20,7 @@ from more_itertools import first_true
|
|
|
20
20
|
from pydantic import field_validator, model_validator
|
|
21
21
|
from sqlalchemy import select
|
|
22
22
|
|
|
23
|
+
from oauth2_lib.fastapi import OIDCUserModel
|
|
23
24
|
from orchestrator.db import ProductTable, SubscriptionTable, db
|
|
24
25
|
from orchestrator.forms.validators import ProductId
|
|
25
26
|
from orchestrator.services import subscriptions
|
|
@@ -30,7 +31,7 @@ from orchestrator.utils.errors import StaleDataError
|
|
|
30
31
|
from orchestrator.utils.redis import caching_models_enabled
|
|
31
32
|
from orchestrator.utils.state import form_inject_args
|
|
32
33
|
from orchestrator.utils.validate_data_version import validate_data_version
|
|
33
|
-
from orchestrator.workflow import StepList, Workflow, conditional, done, init, make_workflow, step
|
|
34
|
+
from orchestrator.workflow import Step, StepList, Workflow, begin, conditional, done, init, make_workflow, step
|
|
34
35
|
from orchestrator.workflows.steps import (
|
|
35
36
|
cache_domain_models,
|
|
36
37
|
refresh_subscription_search_index,
|
|
@@ -205,6 +206,7 @@ def create_workflow(
|
|
|
205
206
|
initial_input_form: InputStepFunc | None = None,
|
|
206
207
|
status: SubscriptionLifecycle = SubscriptionLifecycle.ACTIVE,
|
|
207
208
|
additional_steps: StepList | None = None,
|
|
209
|
+
authorize_callback: Callable[[OIDCUserModel | None], bool] | None = None,
|
|
208
210
|
) -> Callable[[Callable[[], StepList]], Workflow]:
|
|
209
211
|
"""Transform an initial_input_form and a step list into a workflow with a target=Target.CREATE.
|
|
210
212
|
|
|
@@ -231,7 +233,14 @@ def create_workflow(
|
|
|
231
233
|
>> done
|
|
232
234
|
)
|
|
233
235
|
|
|
234
|
-
return make_workflow(
|
|
236
|
+
return make_workflow(
|
|
237
|
+
f,
|
|
238
|
+
description,
|
|
239
|
+
create_initial_input_form_generator,
|
|
240
|
+
Target.CREATE,
|
|
241
|
+
steplist,
|
|
242
|
+
authorize_callback=authorize_callback,
|
|
243
|
+
)
|
|
235
244
|
|
|
236
245
|
return _create_workflow
|
|
237
246
|
|
|
@@ -240,6 +249,7 @@ def modify_workflow(
|
|
|
240
249
|
description: str,
|
|
241
250
|
initial_input_form: InputStepFunc | None = None,
|
|
242
251
|
additional_steps: StepList | None = None,
|
|
252
|
+
authorize_callback: Callable[[OIDCUserModel | None], bool] | None = None,
|
|
243
253
|
) -> Callable[[Callable[[], StepList]], Workflow]:
|
|
244
254
|
"""Transform an initial_input_form and a step list into a workflow.
|
|
245
255
|
|
|
@@ -269,7 +279,14 @@ def modify_workflow(
|
|
|
269
279
|
>> done
|
|
270
280
|
)
|
|
271
281
|
|
|
272
|
-
return make_workflow(
|
|
282
|
+
return make_workflow(
|
|
283
|
+
f,
|
|
284
|
+
description,
|
|
285
|
+
wrapped_modify_initial_input_form_generator,
|
|
286
|
+
Target.MODIFY,
|
|
287
|
+
steplist,
|
|
288
|
+
authorize_callback=authorize_callback,
|
|
289
|
+
)
|
|
273
290
|
|
|
274
291
|
return _modify_workflow
|
|
275
292
|
|
|
@@ -278,6 +295,7 @@ def terminate_workflow(
|
|
|
278
295
|
description: str,
|
|
279
296
|
initial_input_form: InputStepFunc | None = None,
|
|
280
297
|
additional_steps: StepList | None = None,
|
|
298
|
+
authorize_callback: Callable[[OIDCUserModel | None], bool] | None = None,
|
|
281
299
|
) -> Callable[[Callable[[], StepList]], Workflow]:
|
|
282
300
|
"""Transform an initial_input_form and a step list into a workflow.
|
|
283
301
|
|
|
@@ -308,7 +326,14 @@ def terminate_workflow(
|
|
|
308
326
|
>> done
|
|
309
327
|
)
|
|
310
328
|
|
|
311
|
-
return make_workflow(
|
|
329
|
+
return make_workflow(
|
|
330
|
+
f,
|
|
331
|
+
description,
|
|
332
|
+
wrapped_terminate_initial_input_form_generator,
|
|
333
|
+
Target.TERMINATE,
|
|
334
|
+
steplist,
|
|
335
|
+
authorize_callback=authorize_callback,
|
|
336
|
+
)
|
|
312
337
|
|
|
313
338
|
return _terminate_workflow
|
|
314
339
|
|
|
@@ -344,6 +369,16 @@ def validate_workflow(description: str) -> Callable[[Callable[[], StepList]], Wo
|
|
|
344
369
|
return _validate_workflow
|
|
345
370
|
|
|
346
371
|
|
|
372
|
+
def ensure_provisioning_status(modify_steps: Step | StepList) -> StepList:
|
|
373
|
+
"""Decorator to ensure subscription modifications are executed only during Provisioning status."""
|
|
374
|
+
return (
|
|
375
|
+
begin
|
|
376
|
+
>> set_status(SubscriptionLifecycle.PROVISIONING)
|
|
377
|
+
>> modify_steps
|
|
378
|
+
>> set_status(SubscriptionLifecycle.ACTIVE)
|
|
379
|
+
)
|
|
380
|
+
|
|
381
|
+
|
|
347
382
|
@step("Equalize workflow step count")
|
|
348
383
|
def obsolete_step() -> None:
|
|
349
384
|
"""Equalize workflow step counts.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: orchestrator-core
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2.0
|
|
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.15.
|
|
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
|
|
@@ -38,17 +38,18 @@ Requires-Dist: fastapi-etag==0.4.0
|
|
|
38
38
|
Requires-Dist: more-itertools~=10.6.0
|
|
39
39
|
Requires-Dist: itsdangerous
|
|
40
40
|
Requires-Dist: Jinja2==3.1.6
|
|
41
|
-
Requires-Dist: orjson==3.10.
|
|
41
|
+
Requires-Dist: orjson==3.10.16
|
|
42
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.
|
|
47
|
+
Requires-Dist: pytz==2025.2
|
|
48
48
|
Requires-Dist: redis==5.1.1
|
|
49
49
|
Requires-Dist: schedule==1.1.0
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
50
|
+
Requires-Dist: semver==3.0.4
|
|
51
|
+
Requires-Dist: sentry-sdk[fastapi]~=2.25.1
|
|
52
|
+
Requires-Dist: SQLAlchemy==2.0.40
|
|
52
53
|
Requires-Dist: SQLAlchemy-Utils==0.41.2
|
|
53
54
|
Requires-Dist: structlog
|
|
54
55
|
Requires-Dist: typer==0.15.2
|
|
@@ -57,8 +58,8 @@ Requires-Dist: nwa-stdlib~=1.9.0
|
|
|
57
58
|
Requires-Dist: oauth2-lib~=2.4.0
|
|
58
59
|
Requires-Dist: tabulate==0.9.0
|
|
59
60
|
Requires-Dist: strawberry-graphql>=0.246.2
|
|
60
|
-
Requires-Dist: pydantic-forms
|
|
61
|
-
Requires-Dist: celery~=5.
|
|
61
|
+
Requires-Dist: pydantic-forms>=1.4.0, <=2.0.0
|
|
62
|
+
Requires-Dist: celery~=5.5.1 ; extra == "celery"
|
|
62
63
|
Requires-Dist: toml ; extra == "dev"
|
|
63
64
|
Requires-Dist: bumpversion ; extra == "dev"
|
|
64
65
|
Requires-Dist: mypy_extensions ; extra == "dev"
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
orchestrator/__init__.py,sha256=
|
|
1
|
+
orchestrator/__init__.py,sha256=TCyrSdbf4mhPx4P_xYUldcMYH6uf35NxAd0z2pbXbcE,1063
|
|
2
2
|
orchestrator/app.py,sha256=VN54_Zsx5x_3ym8aFadATg67a4J5lv8H-pxnPlR3RkM,11668
|
|
3
3
|
orchestrator/exception_handlers.py,sha256=UsW3dw8q0QQlNLcV359bIotah8DYjMsj2Ts1LfX4ClY,1268
|
|
4
4
|
orchestrator/log_config.py,sha256=1tPRX5q65e57a6a_zEii_PFK8SzWT0mnA5w2sKg4hh8,1853
|
|
5
5
|
orchestrator/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
orchestrator/security.py,sha256=iXFxGxab54aav7oHEKLAVkTgrQMJGHy6IYLojEnD7gI,2422
|
|
7
|
-
orchestrator/settings.py,sha256=
|
|
7
|
+
orchestrator/settings.py,sha256=MTG7gnmbQYwUjAnhvX4Y3MEqmX8vIpAEC0lhDafa1zw,4039
|
|
8
8
|
orchestrator/targets.py,sha256=ykjTGK7CozFaltNaxQcK90P4Cc1Qvf-W8dFztxtZhRQ,776
|
|
9
9
|
orchestrator/types.py,sha256=qzs7xx5AYRmKbpYRyJJP3wuDb0W0bcAzefCN0RWLAco,15459
|
|
10
10
|
orchestrator/version.py,sha256=b58e08lxs47wUNXv0jXFO_ykpksmytuzEXD4La4W-NQ,1366
|
|
11
|
-
orchestrator/workflow.py,sha256=
|
|
11
|
+
orchestrator/workflow.py,sha256=T_3Z1PrlF70C16ehAthKRF1hd3jpwV-MREDVxSLfxOw,44063
|
|
12
12
|
orchestrator/api/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
13
13
|
orchestrator/api/error_handling.py,sha256=YrPCxSa-DSa9KwqIMlXI-KGBGnbGIW5ukOPiikUH9E4,1502
|
|
14
14
|
orchestrator/api/helpers.py,sha256=s0QRHYw8AvEmlkmRhuEzz9xixaZKUF3YuPzUVHkcoXk,6933
|
|
@@ -17,7 +17,7 @@ orchestrator/api/api_v1/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n
|
|
|
17
17
|
orchestrator/api/api_v1/api.py,sha256=m4iDktsSpzxUDaudkdgXeZ83a6B4wfc3pczQsa-Pb-8,2866
|
|
18
18
|
orchestrator/api/api_v1/endpoints/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
19
19
|
orchestrator/api/api_v1/endpoints/health.py,sha256=iaxs1XX1_250_gKNsspuULCV2GEMBjbtjsmfQTOvMAI,1284
|
|
20
|
-
orchestrator/api/api_v1/endpoints/processes.py,sha256=
|
|
20
|
+
orchestrator/api/api_v1/endpoints/processes.py,sha256=UDYr7c9ypY_GS3jL_6vL1sRpTDCCSRyBa0XkgRVGZJs,13570
|
|
21
21
|
orchestrator/api/api_v1/endpoints/product_blocks.py,sha256=kZ6ywIOsS_S2qGq7RvZ4KzjvaS1LmwbGWR37AKRvWOw,2146
|
|
22
22
|
orchestrator/api/api_v1/endpoints/products.py,sha256=BfFtwu9dZXEQbtKxYj9icc73GKGvAGMR5ytyf41nQlQ,3081
|
|
23
23
|
orchestrator/api/api_v1/endpoints/resource_types.py,sha256=gGyuaDyOD0TAVoeFGaGmjDGnQ8eQQArOxKrrk4MaDzA,2145
|
|
@@ -65,7 +65,7 @@ orchestrator/cli/generator/generator/settings.py,sha256=_IhRnQ7bpGjqYtFo-OiLky25
|
|
|
65
65
|
orchestrator/cli/generator/generator/translations.py,sha256=ip0RghW2bY7CoemEab9SxSgjizI44G35AoNHuBsgvrU,1878
|
|
66
66
|
orchestrator/cli/generator/generator/unittest.py,sha256=cLbPRjBQyKFLDNABoTR3WQ21EisAodHs5Q3EGx4VQ6c,4541
|
|
67
67
|
orchestrator/cli/generator/generator/validations.py,sha256=yLv_S_ZBOc_z5DNjz4JY50A4ErWeOk8rk5orty9hwbM,1815
|
|
68
|
-
orchestrator/cli/generator/generator/workflow.py,sha256=
|
|
68
|
+
orchestrator/cli/generator/generator/workflow.py,sha256=8mkb0a2zisb6iUFq8ICrOm2D3I_6fxxrit_LPxViSzk,8406
|
|
69
69
|
orchestrator/cli/generator/products/workshop/circuit.yaml,sha256=AyRUWj61GUBoW9k9z1yfn9vZYXy52PiDMOayAr_FUdE,759
|
|
70
70
|
orchestrator/cli/generator/products/workshop/node.yaml,sha256=4498iAjH6wHQAiRqsvczpgjJnyO8iCLokT6MgKwlxXQ,538
|
|
71
71
|
orchestrator/cli/generator/products/workshop/user.yaml,sha256=92VrWlU1-C6KI8iONO-LGWt-U45rbZpCxhzF2Ags3iw,532
|
|
@@ -82,7 +82,7 @@ orchestrator/cli/generator/templates/enums.j2,sha256=pmx7_DeoE4X9u83_In18C97XqZP
|
|
|
82
82
|
orchestrator/cli/generator/templates/lazy_workflow_instance.j2,sha256=BYB6LwE19OarY7_7Ovej5rqppZWtjiDkG7TDK5dYU7Y,523
|
|
83
83
|
orchestrator/cli/generator/templates/list_definitions.j2,sha256=XS-F5XXy4HOdsZ-xahprwxfhU0UaiF4VeopkIxfoado,277
|
|
84
84
|
orchestrator/cli/generator/templates/macros.j2,sha256=fEODRym4gLfL40w9OelXFMDtAjtzmN5nccWDk86oTNI,904
|
|
85
|
-
orchestrator/cli/generator/templates/modify_product.j2,sha256=
|
|
85
|
+
orchestrator/cli/generator/templates/modify_product.j2,sha256=M1WDMmPwfXpUcuZUa-H5GnlKAr1t_xCQliLa66FI-YU,5057
|
|
86
86
|
orchestrator/cli/generator/templates/new_product_migration.j2,sha256=d67I9haNkKdzWzNT0f1S6-UhG86fOWEohF0Al7NmXmA,3023
|
|
87
87
|
orchestrator/cli/generator/templates/product.j2,sha256=gcN1poWRuGWbsLrQv0Z8SXO6MGuXBHBr33UvQtqsF8E,1241
|
|
88
88
|
orchestrator/cli/generator/templates/product_block.j2,sha256=X5ynyBG39UiYekPHms7IkSHmxq2j-2OrhAYsFaRqktU,2454
|
|
@@ -101,12 +101,12 @@ orchestrator/cli/helpers/input_helpers.py,sha256=pv5GTMuIWLzBE_bKNhn1XD_gxoqB0s1
|
|
|
101
101
|
orchestrator/cli/helpers/print_helpers.py,sha256=b3ePg6HfBLKPYBBVr5XOA__JnFEMI5HBjbjov3CP8Po,859
|
|
102
102
|
orchestrator/config/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
103
103
|
orchestrator/config/assignee.py,sha256=9mFFe9hoi2NCkXFOKL2pU2aveBzcZhljSvqUnh55vrk,780
|
|
104
|
-
orchestrator/db/__init__.py,sha256=
|
|
104
|
+
orchestrator/db/__init__.py,sha256=41_v-oeX5SMnwH2uIeBzscoST3FRXdpkEFDE5AoQR1E,3498
|
|
105
105
|
orchestrator/db/database.py,sha256=MU_w_e95ho2dVb2JDnt_KFYholx___XDkiQXbc8wCkI,10269
|
|
106
106
|
orchestrator/db/helpers.py,sha256=L8kEdnSSNGnUpZhdeGx2arCodakWN8vSpKdfjoLuHdY,831
|
|
107
107
|
orchestrator/db/listeners.py,sha256=UBPYcH0FE3a7aZQu_D0O_JMXpXIRYXC0gjSAvlv5GZo,1142
|
|
108
|
-
orchestrator/db/loaders.py,sha256=
|
|
109
|
-
orchestrator/db/models.py,sha256=
|
|
108
|
+
orchestrator/db/loaders.py,sha256=ez6JzQ3IKVkC_oLAkVlIIiI8Do7hXbdcPKCvUSLxRog,7962
|
|
109
|
+
orchestrator/db/models.py,sha256=V7m-XOVzo_Kj_B-M46Ybr1zlbfXjbN64sQ3C-rz7PQE,27217
|
|
110
110
|
orchestrator/db/filters/__init__.py,sha256=RUj6P0XxEBhYj0SN5wH5-Vf_Wt_ilZR_n9DSar5m9oM,371
|
|
111
111
|
orchestrator/db/filters/filters.py,sha256=55RtpQwM2rhrk4A6CCSeSXoo-BT9GnQoNTryA8CtLEg,5020
|
|
112
112
|
orchestrator/db/filters/process.py,sha256=xvGhyfo_MZ1xhLvFC6yULjcT4mJk0fKc1glJIYgsWLE,4018
|
|
@@ -117,6 +117,9 @@ orchestrator/db/filters/subscription.py,sha256=IV7ur7yyKFNUQRx0gZPelcMLHjuUPU0Rx
|
|
|
117
117
|
orchestrator/db/filters/workflow.py,sha256=osyyEmOFuev6q5lizHeUvgxf1Nji3fZtlbf2_lzSNao,1276
|
|
118
118
|
orchestrator/db/filters/search_filters/__init__.py,sha256=a7yfEAA-qpD_PHZH5LeqSjrLeGAvQrDsJp7mzVwDMwo,562
|
|
119
119
|
orchestrator/db/filters/search_filters/inferred_filter.py,sha256=LTRrcLY7hTu8Dr18-xLVMdge9_MNCvtfcCH0CbaJc2Y,5711
|
|
120
|
+
orchestrator/db/queries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
|
+
orchestrator/db/queries/subscription.py,sha256=JCL91QfBpr1WlJUhrYMZJKeZMx8yFy9p8GVnrqTs7hI,3587
|
|
122
|
+
orchestrator/db/queries/subscription_instance.py,sha256=zYK3qFDHlm72o3GBdVfSUY16l_hGLc-ia5ROHPlNWfQ,1178
|
|
120
123
|
orchestrator/db/range/__init__.py,sha256=mAOCJrQLMMeks0zTK5resf5t-01GrlFN8nIT1gNbqEQ,162
|
|
121
124
|
orchestrator/db/range/range.py,sha256=sOSzkRqvLXvoTYxOd_Q0OWQ9lSqrXTnwXh4DVLGGSK0,2175
|
|
122
125
|
orchestrator/db/sorting/__init__.py,sha256=d33YUS6uAI75l35Mpb-GB9t9sd03jCxq0V-kLmijVOc,353
|
|
@@ -139,10 +142,12 @@ orchestrator/distlock/managers/__init__.py,sha256=ImIkNsrXcyE7-NgRWqEhUXUuUzda9K
|
|
|
139
142
|
orchestrator/distlock/managers/memory_distlock_manager.py,sha256=HWQafcVKBF-Cka_wukZZ1GM69AWPVOpJPje3quIebQ8,3114
|
|
140
143
|
orchestrator/distlock/managers/redis_distlock_manager.py,sha256=DXtMhC8qtxiFO6xU9qYXHZQnCLjlmGBpeyfLA0vbRP0,3369
|
|
141
144
|
orchestrator/domain/__init__.py,sha256=20DhXQPKY0g3rTgCkRlNDY58sLviToOVF8NPoex9WJc,936
|
|
142
|
-
orchestrator/domain/base.py,sha256=
|
|
145
|
+
orchestrator/domain/base.py,sha256=26UbHKXqI99w8SyS-Kjj4DF8IbgPNOh8iDPP6e3GEsA,70996
|
|
146
|
+
orchestrator/domain/context_cache.py,sha256=eIOP0xESBdNSPw3DMWxxSOzpUzVVgnMMyMhGkl99-Xc,2228
|
|
143
147
|
orchestrator/domain/customer_description.py,sha256=v7o6TTN4oc6bWHZU-jCT-fUYvkeYahbpXOwlKXofuI8,3360
|
|
144
|
-
orchestrator/domain/helpers.py,sha256=
|
|
148
|
+
orchestrator/domain/helpers.py,sha256=D9O2duhCAZGmm39u-9ggvU-X2JsCbIS607kF77-r8QM,2549
|
|
145
149
|
orchestrator/domain/lifecycle.py,sha256=kGR0AFVOSUBlzdhgRr11CUnF26wbBYIjz8uKb_qPCg0,2922
|
|
150
|
+
orchestrator/domain/subscription_instance_transform.py,sha256=j_d49dFcSss0dl-BHS-ev2faLbE0y8hLvCfrzui6C74,4360
|
|
146
151
|
orchestrator/forms/__init__.py,sha256=bw_1238HKy_T0gvfA5oEjJFwkALzvWU4O_VJ0xE8UyU,1168
|
|
147
152
|
orchestrator/forms/validators/__init__.py,sha256=2T7w429dQhChsAbnQDeyp2BrM_iKj6-nkNrz27RZatY,1906
|
|
148
153
|
orchestrator/forms/validators/customer_contact_list.py,sha256=61A7FpXBjWhurIAGzJcLVlZSWajm41QWgFZP-rUT_5o,1508
|
|
@@ -164,14 +169,14 @@ orchestrator/graphql/mutations/start_process.py,sha256=8vLVvmBwL1ujbZJoI_8YE3VAg
|
|
|
164
169
|
orchestrator/graphql/resolvers/__init__.py,sha256=EEw9NO4LAryfrpkLlgsNQ9rytKd0usBDx95OURRV6sg,1031
|
|
165
170
|
orchestrator/graphql/resolvers/customer.py,sha256=tq06MtMoaqFwqn3YQvSv0VmROW7QJZRJp1ykO4tUhck,934
|
|
166
171
|
orchestrator/graphql/resolvers/helpers.py,sha256=8NeuiJD9CPus4BhRK9nDsSMhb2LhW1W7nrEpyj_J3M4,771
|
|
167
|
-
orchestrator/graphql/resolvers/process.py,sha256=
|
|
168
|
-
orchestrator/graphql/resolvers/product.py,sha256=
|
|
169
|
-
orchestrator/graphql/resolvers/product_block.py,sha256=
|
|
170
|
-
orchestrator/graphql/resolvers/resource_type.py,sha256=
|
|
172
|
+
orchestrator/graphql/resolvers/process.py,sha256=Hqs1F7-gw0yO_ioHjh2eLAyxrK2WSuL3VJ0y2ouNcLA,5010
|
|
173
|
+
orchestrator/graphql/resolvers/product.py,sha256=uPBmYwMdau-zUqNjoDl-LDn927u3aCFW5JQ4A_it8q0,2772
|
|
174
|
+
orchestrator/graphql/resolvers/product_block.py,sha256=Ker1CpxGab5h2BZujOHHwRUj8W4uphRr3WSpQGk2PnI,2939
|
|
175
|
+
orchestrator/graphql/resolvers/resource_type.py,sha256=SREZXjkLYpuo4nCM8DqVeImIrZcP3xDiWr_gq4wWaxQ,2956
|
|
171
176
|
orchestrator/graphql/resolvers/settings.py,sha256=xVYqxo-EWQ24F4hUHm9OZeN9vsqQXJzIJ1_HF4Ci9Cs,3777
|
|
172
177
|
orchestrator/graphql/resolvers/subscription.py,sha256=57niFv-JCro_wm0peJ5Ne04F2WIPuJ-Lx2h8yd9qubA,6541
|
|
173
178
|
orchestrator/graphql/resolvers/version.py,sha256=qgwe1msPOexeg3RHCscJ8s45vNfMhYh9ZKyCZ3MNw30,809
|
|
174
|
-
orchestrator/graphql/resolvers/workflow.py,sha256=
|
|
179
|
+
orchestrator/graphql/resolvers/workflow.py,sha256=RKN-mI9Rg_4vVURXr943AHaftM6G3vpcRdeGgwy-uoc,2806
|
|
175
180
|
orchestrator/graphql/schemas/__init__.py,sha256=dWG4DNzWq5akQ3v5tSAvT03HLxPWXa09Gx8rTz_MHmk,940
|
|
176
181
|
orchestrator/graphql/schemas/customer.py,sha256=ZptVFG0qauZaoy29KDrh6k5xAnacNCTavmQrZMH8czc,147
|
|
177
182
|
orchestrator/graphql/schemas/customer_description.py,sha256=fize71IMpkvk_rTzcqCYxazR5WBI652ZZ3eGvd8QqhQ,213
|
|
@@ -189,10 +194,10 @@ orchestrator/graphql/schemas/version.py,sha256=HSzVg_y4Sjd5_H5rRUtu3FJKOG_8ifhvB
|
|
|
189
194
|
orchestrator/graphql/schemas/workflow.py,sha256=0UWU0HGTiAC_5Wzh16clBd74JoYHrr38YIGV86q-si0,1276
|
|
190
195
|
orchestrator/graphql/utils/__init__.py,sha256=1JvenzEVW1CBa1sGVI9I8IWnnoXIkb1hneDqph9EEZY,524
|
|
191
196
|
orchestrator/graphql/utils/create_resolver_error_handler.py,sha256=PpQMVwGrE9t0nZ12TwoxPxksXxEwQM7lSNPeh7qW3vk,1233
|
|
192
|
-
orchestrator/graphql/utils/get_query_loaders.py,sha256=
|
|
197
|
+
orchestrator/graphql/utils/get_query_loaders.py,sha256=abS_HJ7K9een78gMiGq3IhwGwxQXHvZygExe0h_t9ns,815
|
|
193
198
|
orchestrator/graphql/utils/get_selected_fields.py,sha256=0hBcQkU-7TNVO_KG-MmLItKm0O3gmbqoxXNkLHO-wHo,1002
|
|
194
199
|
orchestrator/graphql/utils/get_selected_paths.py,sha256=H0btESeOr3_VB7zy5Cx25OS0uzBcg2Y1I-arAmSOnsQ,1382
|
|
195
|
-
orchestrator/graphql/utils/get_subscription_product_blocks.py,sha256=
|
|
200
|
+
orchestrator/graphql/utils/get_subscription_product_blocks.py,sha256=U_WJfi1GWTIK373q8qLVPfYD1zhso-TjyMk3awizx3A,4818
|
|
196
201
|
orchestrator/graphql/utils/is_query_detailed.py,sha256=ESQiM8OyhGF5vEE__cLV61oEIfnFvznoNCxi02rMTsE,2156
|
|
197
202
|
orchestrator/graphql/utils/override_class.py,sha256=blwPXVHxLyXQga3KjiDzWozmMhHEWNrhLL_GDmoj6y0,1373
|
|
198
203
|
orchestrator/graphql/utils/to_graphql_result_page.py,sha256=8ObkJP8reVf-TQOQVPKv1mNdfmSEMS1sG7s_-T7-pUU,902
|
|
@@ -223,8 +228,11 @@ orchestrator/migrations/versions/schema/2023-12-06_048219045729_add_workflow_id_
|
|
|
223
228
|
orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.py,sha256=GzHBzOwOc6FaO1kYwoSNIhb8sKstXo8Cfxdqy3Rmeg4,972
|
|
224
229
|
orchestrator/migrations/versions/schema/2024-09-27_460ec6748e37_add_uuid_search_workaround.sql,sha256=mhPnqjG5H3W8_BD7w5tYzXUQSxFOM7Rahn_MudEPTIE,5383
|
|
225
230
|
orchestrator/migrations/versions/schema/2025-01-08_4c5859620539_add_version_column_to_subscription.py,sha256=xAhe74U0ZiVRo9Z8Uq7491RBbATMMUnYpTBjbG-BYL0,1690
|
|
231
|
+
orchestrator/migrations/versions/schema/2025-01-19_4fjdn13f83ga_add_validate_product_type_task.py,sha256=O0GfCISIDnyohGf3Ot_2HKedGRbMqLVox6t7Wd3PMvo,894
|
|
226
232
|
orchestrator/migrations/versions/schema/2025-02-12_bac6be6f2b4f_added_input_state_table.py,sha256=0vBDGltmOs_gcTTYlWBNOgItzqCXm8qqT02jZfTpL5c,1753
|
|
227
|
-
orchestrator/migrations/versions/schema/2025-
|
|
233
|
+
orchestrator/migrations/versions/schema/2025-03-06_42b3d076a85b_subscription_instance_as_json_function.py,sha256=jtwDFOh-NlE31aH5dFmbynb23TZN6Mkzevxx-KLP7KE,776
|
|
234
|
+
orchestrator/migrations/versions/schema/2025-03-06_42b3d076a85b_subscription_instance_as_json_function.sql,sha256=hPldk0DAesUbHv3Qd_N7U-cAk-t1wIgxt4FOA120gQ8,1776
|
|
235
|
+
orchestrator/migrations/versions/schema/2025-04-09_fc5c993a4b4a_add_cascade_constraint_on_processes_.py,sha256=6kHRNSZxUze2jy7b8uRvkt5mzsax10Z-Z3lsACtPLRM,1067
|
|
228
236
|
orchestrator/schedules/__init__.py,sha256=JnnaglfK1qYUBKI6Dd9taV-tCZIPlAdAkHtnkJDMXxY,1066
|
|
229
237
|
orchestrator/schedules/resume_workflows.py,sha256=kSotzTAXjX7p9fpSYiGOpuxuTQfv54eRFAe0YSG0DHc,832
|
|
230
238
|
orchestrator/schedules/scheduling.py,sha256=ehtwgpbvMOk1jhn-hHgVzg_9wLJkI6l3mRY3DcO9ZVY,1526
|
|
@@ -248,12 +256,12 @@ orchestrator/services/celery.py,sha256=W37UNc4hbUS2SKjVmawsnF5wukmEfIdipsTESv_EO
|
|
|
248
256
|
orchestrator/services/fixed_inputs.py,sha256=kyz7s2HLzyDulvcq-ZqefTw1om86COvyvTjz0_5CmgI,876
|
|
249
257
|
orchestrator/services/input_state.py,sha256=HF7wl9fWdaAW8pdCCqbuYoKyNj8dY0g8Ff8vXis8z5A,2211
|
|
250
258
|
orchestrator/services/process_broadcast_thread.py,sha256=D44YbjF8mRqGuznkRUV4SoRn1J0lfy_x1H508GnSVlU,4649
|
|
251
|
-
orchestrator/services/processes.py,sha256=
|
|
259
|
+
orchestrator/services/processes.py,sha256=8-2qPGil8G8b8UU49H_ty1nGbCAWNPK2raDgRkgXtP0,30586
|
|
252
260
|
orchestrator/services/products.py,sha256=BP4KyE8zO-8z7Trrs5T6zKBOw53S9BfBJnHWI3p6u5Y,1943
|
|
253
261
|
orchestrator/services/resource_types.py,sha256=_QBy_JOW_X3aSTqH0CuLrq4zBJL0p7Q-UDJUcuK2_qc,884
|
|
254
262
|
orchestrator/services/settings.py,sha256=u-834F4KWloXS8zi7R9mp-D3cjl-rbVjKJRU35IqhXo,2723
|
|
255
263
|
orchestrator/services/subscription_relations.py,sha256=9C126TUfFvyBe7y4x007kH_dvxJ9pZ1zSnaWeH6HC5k,12261
|
|
256
|
-
orchestrator/services/subscriptions.py,sha256=
|
|
264
|
+
orchestrator/services/subscriptions.py,sha256=Mb1GvtpU5QQkyxB4leh5xMkbuBdKWr-CVNNbHyUj5qE,27845
|
|
257
265
|
orchestrator/services/tasks.py,sha256=NjPkuauQoh9UJDcjA7OcKFgPk0i6NoKdDO7HlpGbBJ8,6575
|
|
258
266
|
orchestrator/services/translations.py,sha256=GyP8soUFGej8AS8uulBsk10CCK6Kwfjv9AHMFm3ElQY,1713
|
|
259
267
|
orchestrator/services/workflows.py,sha256=oH7klit4kv2NGo-BACWA0ZtajVMSJAxG5m-kM6TXIMI,3742
|
|
@@ -265,12 +273,12 @@ orchestrator/utils/docs.py,sha256=GbyD61oKn1yVYaphUKHCBvrWEWJDTQfRc_VEbVb-zgU,61
|
|
|
265
273
|
orchestrator/utils/enrich_process.py,sha256=o_QSy5Q4wn1SMHhzVOw6bp7uhDXr7GhAIWRDDMWUVO4,4699
|
|
266
274
|
orchestrator/utils/errors.py,sha256=6FxvXrITmRjP5bYnJJ3CxjAwA5meNjRAVYouz4TWKkU,4653
|
|
267
275
|
orchestrator/utils/fixed_inputs.py,sha256=pnL6I_19VMp_Bny8SYjSzVFNvTFDyeCxFFOWGhTnDiQ,2665
|
|
268
|
-
orchestrator/utils/functional.py,sha256=
|
|
276
|
+
orchestrator/utils/functional.py,sha256=X1MDNwHmkU3-8mFb21m31HGlcfc5TygliXR0sXN3-rU,8304
|
|
269
277
|
orchestrator/utils/get_subscription_dict.py,sha256=fkgDM54hn5YGUP9_2MOcJApJK1Z6c_Rl6sJERsrOy6M,686
|
|
270
278
|
orchestrator/utils/get_updated_properties.py,sha256=egVZ0R5LNJ4e51Z8SXlU8cmb4tXxG-xb1d7OKwh-7xI,1322
|
|
271
279
|
orchestrator/utils/helpers.py,sha256=NjUF3IvWdnLulliP8-JQvGGGpHrh0vs0Vm092ynw-ss,3212
|
|
272
280
|
orchestrator/utils/json.py,sha256=7386sdqkrKYyy4sbn5NscwctH_v1hLyw5172P__rU3g,8341
|
|
273
|
-
orchestrator/utils/redis.py,sha256=
|
|
281
|
+
orchestrator/utils/redis.py,sha256=AGWVPt83fjRz0If0PLMlEshUYiDaJXKJdiocIr5__1s,7300
|
|
274
282
|
orchestrator/utils/redis_client.py,sha256=9rhsvedjK_CyClAjUicQyge0mVIViATqKFGZyjBY3XA,1384
|
|
275
283
|
orchestrator/utils/search_query.py,sha256=ji5LHtrzohGz6b1IG41cnPdpWXzLEzz4SGWgHly_yfU,16205
|
|
276
284
|
orchestrator/utils/state.py,sha256=RYKVlvKDBfsBdDk9wHjZKBTlQJbV4SqtCotAlTA2-bI,14021
|
|
@@ -284,14 +292,14 @@ orchestrator/workflows/__init__.py,sha256=NzIGGI-8SNAwCk2YqH6sHhEWbgAY457ntDwjO1
|
|
|
284
292
|
orchestrator/workflows/modify_note.py,sha256=X70qQtC0ITp5IE5OR8j5Op57k3ol1S9txnhDbZTICao,2416
|
|
285
293
|
orchestrator/workflows/removed_workflow.py,sha256=V0Da5TEdfLdZZKD38ig-MTp3_IuE7VGqzHHzvPYQmLI,909
|
|
286
294
|
orchestrator/workflows/steps.py,sha256=yAb6XZaRhR2mKV4_yo-4hSYMTknbMD27-pNGMfjVzi0,9802
|
|
287
|
-
orchestrator/workflows/utils.py,sha256=
|
|
295
|
+
orchestrator/workflows/utils.py,sha256=fLayx_oggM8PdYnyukHSJE3R9u-X2zYY1WRMCELUY74,14545
|
|
288
296
|
orchestrator/workflows/tasks/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
|
|
289
297
|
orchestrator/workflows/tasks/cleanup_tasks_log.py,sha256=BfWYbPXhnLAHUJ0mlODDnjZnQQAvKCZJDVTwbwOWI04,1624
|
|
290
298
|
orchestrator/workflows/tasks/resume_workflows.py,sha256=MzJqlSXUvKStkT7NGzxZyRlfAer_ezYm-kjUqaZi0yc,2359
|
|
291
299
|
orchestrator/workflows/tasks/validate_product_type.py,sha256=UVX_6Kh8ueQs8ujLawnKVDdNc8UhWp_u69aNA8okR_w,3184
|
|
292
300
|
orchestrator/workflows/tasks/validate_products.py,sha256=i6jQME9N8sZZWo4pkNOS1Zgwh3eB2w66DnJi9k93yNk,8521
|
|
293
301
|
orchestrator/workflows/translations/en-GB.json,sha256=ST53HxkphFLTMjFHonykDBOZ7-P_KxksktZU3GbxLt0,846
|
|
294
|
-
orchestrator_core-3.
|
|
295
|
-
orchestrator_core-3.
|
|
296
|
-
orchestrator_core-3.
|
|
297
|
-
orchestrator_core-3.
|
|
302
|
+
orchestrator_core-3.2.0.dist-info/licenses/LICENSE,sha256=b-aA5OZQuuBATmLKo_mln8CQrDPPhg3ghLzjPjLn4Tg,11409
|
|
303
|
+
orchestrator_core-3.2.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
304
|
+
orchestrator_core-3.2.0.dist-info/METADATA,sha256=pbmOC-Bx7W_ZmBMIZ3iMd6UmxGZmWyIkMnx60mA8CgI,5029
|
|
305
|
+
orchestrator_core-3.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|