fractal-server 2.17.1a1__py3-none-any.whl → 2.18.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.
Files changed (225) hide show
  1. fractal_server/__init__.py +1 -1
  2. fractal_server/__main__.py +21 -19
  3. fractal_server/app/db/__init__.py +3 -3
  4. fractal_server/app/models/__init__.py +1 -0
  5. fractal_server/app/models/linkuserproject.py +43 -1
  6. fractal_server/app/models/security.py +28 -8
  7. fractal_server/app/models/v2/__init__.py +3 -1
  8. fractal_server/app/models/v2/accounting.py +9 -1
  9. fractal_server/app/models/v2/dataset.py +5 -1
  10. fractal_server/app/models/v2/history.py +15 -1
  11. fractal_server/app/models/v2/job.py +17 -2
  12. fractal_server/app/models/v2/profile.py +29 -0
  13. fractal_server/app/models/v2/project.py +4 -10
  14. fractal_server/app/models/v2/resource.py +17 -0
  15. fractal_server/app/models/v2/task_group.py +4 -3
  16. fractal_server/app/models/v2/workflow.py +2 -1
  17. fractal_server/app/routes/admin/v2/__init__.py +12 -13
  18. fractal_server/app/routes/admin/v2/accounting.py +3 -3
  19. fractal_server/app/routes/admin/v2/job.py +35 -24
  20. fractal_server/app/routes/admin/v2/profile.py +3 -2
  21. fractal_server/app/routes/admin/v2/resource.py +5 -5
  22. fractal_server/app/routes/admin/v2/sharing.py +103 -0
  23. fractal_server/app/routes/admin/v2/task.py +37 -26
  24. fractal_server/app/routes/admin/v2/task_group.py +94 -17
  25. fractal_server/app/routes/admin/v2/task_group_lifecycle.py +21 -22
  26. fractal_server/app/routes/api/__init__.py +1 -9
  27. fractal_server/app/routes/api/v2/__init__.py +49 -50
  28. fractal_server/app/routes/api/v2/_aux_functions.py +132 -124
  29. fractal_server/app/routes/api/v2/_aux_functions_history.py +51 -23
  30. fractal_server/app/routes/api/v2/_aux_functions_sharing.py +97 -0
  31. fractal_server/app/routes/api/v2/_aux_functions_task_lifecycle.py +6 -8
  32. fractal_server/app/routes/api/v2/_aux_functions_tasks.py +7 -9
  33. fractal_server/app/routes/api/v2/_aux_task_group_disambiguation.py +1 -2
  34. fractal_server/app/routes/api/v2/dataset.py +95 -102
  35. fractal_server/app/routes/api/v2/history.py +59 -33
  36. fractal_server/app/routes/api/v2/images.py +24 -9
  37. fractal_server/app/routes/api/v2/job.py +52 -33
  38. fractal_server/app/routes/api/v2/pre_submission_checks.py +16 -8
  39. fractal_server/app/routes/api/v2/project.py +65 -37
  40. fractal_server/app/routes/api/v2/sharing.py +311 -0
  41. fractal_server/app/routes/api/v2/status_legacy.py +31 -41
  42. fractal_server/app/routes/api/v2/submit.py +82 -78
  43. fractal_server/app/routes/api/v2/task.py +19 -20
  44. fractal_server/app/routes/api/v2/task_collection.py +41 -43
  45. fractal_server/app/routes/api/v2/task_collection_custom.py +19 -20
  46. fractal_server/app/routes/api/v2/task_collection_pixi.py +10 -11
  47. fractal_server/app/routes/api/v2/task_group.py +25 -24
  48. fractal_server/app/routes/api/v2/task_group_lifecycle.py +32 -32
  49. fractal_server/app/routes/api/v2/task_version_update.py +23 -19
  50. fractal_server/app/routes/api/v2/workflow.py +50 -55
  51. fractal_server/app/routes/api/v2/workflow_import.py +37 -37
  52. fractal_server/app/routes/api/v2/workflowtask.py +32 -26
  53. fractal_server/app/routes/auth/__init__.py +1 -3
  54. fractal_server/app/routes/auth/_aux_auth.py +101 -2
  55. fractal_server/app/routes/auth/current_user.py +2 -66
  56. fractal_server/app/routes/auth/group.py +8 -35
  57. fractal_server/app/routes/auth/login.py +1 -0
  58. fractal_server/app/routes/auth/oauth.py +4 -3
  59. fractal_server/app/routes/auth/register.py +4 -2
  60. fractal_server/app/routes/auth/router.py +2 -0
  61. fractal_server/app/routes/auth/users.py +19 -10
  62. fractal_server/app/routes/auth/viewer_paths.py +43 -0
  63. fractal_server/app/routes/aux/_job.py +1 -1
  64. fractal_server/app/routes/aux/_runner.py +2 -2
  65. fractal_server/app/routes/pagination.py +1 -1
  66. fractal_server/app/schemas/user.py +29 -12
  67. fractal_server/app/schemas/user_group.py +0 -15
  68. fractal_server/app/schemas/v2/__init__.py +55 -48
  69. fractal_server/app/schemas/v2/accounting.py +11 -0
  70. fractal_server/app/schemas/v2/dataset.py +57 -11
  71. fractal_server/app/schemas/v2/dumps.py +10 -9
  72. fractal_server/app/schemas/v2/job.py +11 -11
  73. fractal_server/app/schemas/v2/manifest.py +4 -3
  74. fractal_server/app/schemas/v2/profile.py +53 -2
  75. fractal_server/app/schemas/v2/project.py +3 -3
  76. fractal_server/app/schemas/v2/resource.py +121 -16
  77. fractal_server/app/schemas/v2/sharing.py +99 -0
  78. fractal_server/app/schemas/v2/status_legacy.py +3 -3
  79. fractal_server/app/schemas/v2/task.py +6 -7
  80. fractal_server/app/schemas/v2/task_collection.py +5 -5
  81. fractal_server/app/schemas/v2/task_group.py +16 -16
  82. fractal_server/app/schemas/v2/workflow.py +16 -16
  83. fractal_server/app/schemas/v2/workflowtask.py +16 -15
  84. fractal_server/app/security/__init__.py +5 -8
  85. fractal_server/app/security/signup_email.py +4 -5
  86. fractal_server/app/shutdown.py +6 -6
  87. fractal_server/config/__init__.py +0 -6
  88. fractal_server/config/_data.py +0 -68
  89. fractal_server/config/_database.py +19 -20
  90. fractal_server/config/_email.py +30 -38
  91. fractal_server/config/_main.py +38 -52
  92. fractal_server/config/_oauth.py +17 -21
  93. fractal_server/data_migrations/2_18_0.py +30 -0
  94. fractal_server/exceptions.py +4 -0
  95. fractal_server/images/models.py +4 -5
  96. fractal_server/images/status_tools.py +4 -2
  97. fractal_server/logger.py +1 -1
  98. fractal_server/main.py +75 -13
  99. fractal_server/migrations/versions/034a469ec2eb_task_groups.py +4 -8
  100. fractal_server/migrations/versions/091b01f51f88_add_usergroup_and_linkusergroup_table.py +1 -1
  101. fractal_server/migrations/versions/0f5f85bb2ae7_add_pre_pinned_packages.py +1 -0
  102. fractal_server/migrations/versions/19eca0dd47a9_user_settings_project_dir.py +1 -1
  103. fractal_server/migrations/versions/1a83a5260664_rename.py +1 -1
  104. fractal_server/migrations/versions/1eac13a26c83_drop_v1_tables.py +1 -0
  105. fractal_server/migrations/versions/316140ff7ee1_remove_usersettings_cache_dir.py +1 -1
  106. fractal_server/migrations/versions/40d6d6511b20_add_index_to_history_models.py +47 -0
  107. fractal_server/migrations/versions/45fbb391d7af_make_resource_id_fk_non_nullable.py +1 -1
  108. fractal_server/migrations/versions/47351f8c7ebc_drop_dataset_filters.py +1 -0
  109. fractal_server/migrations/versions/49d0856e9569_drop_table.py +2 -3
  110. fractal_server/migrations/versions/4c308bcaea2b_add_task_args_schema_and_task_args_.py +1 -1
  111. fractal_server/migrations/versions/4cedeb448a53_workflowtask_foreign_keys_not_nullables.py +1 -1
  112. fractal_server/migrations/versions/501961cfcd85_remove_link_between_v1_and_v2_tasks_.py +2 -1
  113. fractal_server/migrations/versions/50a13d6138fd_initial_schema.py +7 -19
  114. fractal_server/migrations/versions/5bf02391cfef_v2.py +4 -10
  115. fractal_server/migrations/versions/70e77f1c38b0_add_applyworkflow_first_task_index_and_.py +1 -0
  116. fractal_server/migrations/versions/71eefd1dd202_add_slurm_accounts.py +1 -1
  117. fractal_server/migrations/versions/7673fe18c05d_remove_project_dir_server_default.py +1 -1
  118. fractal_server/migrations/versions/7910eed4cf97_user_project_dirs_and_usergroup_viewer_.py +60 -0
  119. fractal_server/migrations/versions/791ce783d3d8_add_indices.py +1 -1
  120. fractal_server/migrations/versions/83bc2ad3ffcc_2_17_0.py +1 -0
  121. fractal_server/migrations/versions/84bf0fffde30_add_dumps_to_applyworkflow.py +1 -0
  122. fractal_server/migrations/versions/88270f589c9b_add_prevent_new_submissions.py +39 -0
  123. fractal_server/migrations/versions/8e8f227a3e36_update_taskv2_post_2_7_0.py +2 -4
  124. fractal_server/migrations/versions/8f79bd162e35_add_docs_info_and_docs_link_to_task_.py +1 -1
  125. fractal_server/migrations/versions/94a47ea2d3ff_remove_cache_dir_slurm_user_and_slurm_.py +1 -0
  126. fractal_server/migrations/versions/969d84257cac_add_historyrun_task_id.py +1 -1
  127. fractal_server/migrations/versions/97f444d47249_add_applyworkflow_project_dump.py +1 -1
  128. fractal_server/migrations/versions/981d588fe248_add_executor_error_log.py +1 -1
  129. fractal_server/migrations/versions/99ea79d9e5d2_add_dataset_history.py +2 -4
  130. fractal_server/migrations/versions/9c5ae74c9b98_add_user_settings_table.py +1 -1
  131. fractal_server/migrations/versions/9db60297b8b2_set_ondelete.py +1 -1
  132. fractal_server/migrations/versions/9fd26a2b0de4_add_workflow_timestamp_created.py +1 -1
  133. fractal_server/migrations/versions/a7f4d6137b53_add_workflow_dump_to_applyworkflow.py +1 -1
  134. fractal_server/migrations/versions/af1ef1c83c9b_add_accounting_tables.py +1 -0
  135. fractal_server/migrations/versions/af8673379a5c_drop_old_filter_columns.py +1 -0
  136. fractal_server/migrations/versions/b1e7f7a1ff71_task_group_for_pixi.py +1 -1
  137. fractal_server/migrations/versions/b3ffb095f973_json_to_jsonb.py +1 -0
  138. fractal_server/migrations/versions/bc0e8b3327a7_project_sharing.py +72 -0
  139. fractal_server/migrations/versions/c90a7c76e996_job_id_in_history_run.py +1 -1
  140. fractal_server/migrations/versions/caba9fb1ea5e_drop_useroauth_user_settings_id.py +1 -1
  141. fractal_server/migrations/versions/d256a7379ab8_taskgroup_activity_and_venv_info_to_.py +4 -9
  142. fractal_server/migrations/versions/d4fe3708d309_make_applyworkflow_workflow_dump_non_.py +1 -0
  143. fractal_server/migrations/versions/da2cb2ac4255_user_group_viewer_paths.py +1 -1
  144. fractal_server/migrations/versions/db09233ad13a_split_filters_and_keep_old_columns.py +1 -0
  145. fractal_server/migrations/versions/e0e717ae2f26_delete_linkuserproject_ondelete_project.py +50 -0
  146. fractal_server/migrations/versions/e75cac726012_make_applyworkflow_start_timestamp_not_.py +1 -0
  147. fractal_server/migrations/versions/e81103413827_add_job_type_filters.py +1 -1
  148. fractal_server/migrations/versions/efa89c30e0a4_add_project_timestamp_created.py +1 -0
  149. fractal_server/migrations/versions/f0702066b007_one_submitted_job_per_dataset.py +40 -0
  150. fractal_server/migrations/versions/f37aceb45062_make_historyunit_logfile_required.py +1 -1
  151. fractal_server/migrations/versions/f384e1c0cf5d_drop_task_default_args_columns.py +1 -0
  152. fractal_server/migrations/versions/fbce16ff4e47_new_history_items.py +4 -9
  153. fractal_server/runner/config/_local.py +8 -5
  154. fractal_server/runner/config/_slurm.py +39 -33
  155. fractal_server/runner/config/slurm_mem_to_MB.py +0 -1
  156. fractal_server/runner/executors/base_runner.py +29 -4
  157. fractal_server/runner/executors/local/get_local_config.py +1 -0
  158. fractal_server/runner/executors/local/runner.py +14 -13
  159. fractal_server/runner/executors/slurm_common/_batching.py +9 -20
  160. fractal_server/runner/executors/slurm_common/base_slurm_runner.py +53 -27
  161. fractal_server/runner/executors/slurm_common/get_slurm_config.py +14 -7
  162. fractal_server/runner/executors/slurm_common/remote.py +3 -1
  163. fractal_server/runner/executors/slurm_common/slurm_config.py +2 -0
  164. fractal_server/runner/executors/slurm_common/slurm_job_task_models.py +1 -3
  165. fractal_server/runner/executors/slurm_ssh/runner.py +16 -11
  166. fractal_server/runner/executors/slurm_ssh/tar_commands.py +1 -0
  167. fractal_server/runner/executors/slurm_sudo/_subprocess_run_as_user.py +1 -0
  168. fractal_server/runner/executors/slurm_sudo/runner.py +16 -11
  169. fractal_server/runner/task_files.py +9 -3
  170. fractal_server/runner/v2/_local.py +12 -6
  171. fractal_server/runner/v2/_slurm_ssh.py +14 -7
  172. fractal_server/runner/v2/_slurm_sudo.py +14 -7
  173. fractal_server/runner/v2/db_tools.py +0 -1
  174. fractal_server/runner/v2/deduplicate_list.py +2 -1
  175. fractal_server/runner/v2/runner.py +44 -28
  176. fractal_server/runner/v2/runner_functions.py +22 -28
  177. fractal_server/runner/v2/submit_workflow.py +29 -15
  178. fractal_server/ssh/_fabric.py +6 -13
  179. fractal_server/string_tools.py +0 -1
  180. fractal_server/syringe.py +1 -1
  181. fractal_server/tasks/config/_pixi.py +1 -1
  182. fractal_server/tasks/config/_python.py +16 -9
  183. fractal_server/tasks/utils.py +0 -1
  184. fractal_server/tasks/v2/local/_utils.py +3 -3
  185. fractal_server/tasks/v2/local/collect.py +15 -18
  186. fractal_server/tasks/v2/local/collect_pixi.py +14 -16
  187. fractal_server/tasks/v2/local/deactivate.py +14 -15
  188. fractal_server/tasks/v2/local/deactivate_pixi.py +7 -7
  189. fractal_server/tasks/v2/local/delete.py +6 -8
  190. fractal_server/tasks/v2/local/reactivate.py +12 -12
  191. fractal_server/tasks/v2/local/reactivate_pixi.py +12 -12
  192. fractal_server/tasks/v2/ssh/_utils.py +3 -3
  193. fractal_server/tasks/v2/ssh/collect.py +19 -24
  194. fractal_server/tasks/v2/ssh/collect_pixi.py +22 -24
  195. fractal_server/tasks/v2/ssh/deactivate.py +17 -15
  196. fractal_server/tasks/v2/ssh/deactivate_pixi.py +8 -7
  197. fractal_server/tasks/v2/ssh/delete.py +12 -10
  198. fractal_server/tasks/v2/ssh/reactivate.py +16 -16
  199. fractal_server/tasks/v2/ssh/reactivate_pixi.py +13 -14
  200. fractal_server/tasks/v2/templates/1_create_venv.sh +2 -0
  201. fractal_server/tasks/v2/templates/2_pip_install.sh +2 -0
  202. fractal_server/tasks/v2/templates/3_pip_freeze.sh +2 -0
  203. fractal_server/tasks/v2/templates/4_pip_show.sh +2 -0
  204. fractal_server/tasks/v2/templates/5_get_venv_size_and_file_number.sh +3 -1
  205. fractal_server/tasks/v2/templates/6_pip_install_from_freeze.sh +2 -0
  206. fractal_server/tasks/v2/templates/pixi_1_extract.sh +2 -0
  207. fractal_server/tasks/v2/templates/pixi_2_install.sh +2 -0
  208. fractal_server/tasks/v2/templates/pixi_3_post_install.sh +2 -0
  209. fractal_server/tasks/v2/utils_background.py +10 -10
  210. fractal_server/tasks/v2/utils_database.py +5 -5
  211. fractal_server/tasks/v2/utils_package_names.py +1 -2
  212. fractal_server/tasks/v2/utils_pixi.py +1 -3
  213. fractal_server/types/__init__.py +98 -1
  214. fractal_server/types/validators/__init__.py +3 -0
  215. fractal_server/types/validators/_common_validators.py +33 -3
  216. fractal_server/types/validators/_workflow_task_arguments_validators.py +1 -2
  217. fractal_server/utils.py +1 -0
  218. fractal_server/zip_tools.py +34 -0
  219. {fractal_server-2.17.1a1.dist-info → fractal_server-2.18.0.dist-info}/METADATA +3 -2
  220. fractal_server-2.18.0.dist-info/RECORD +275 -0
  221. fractal_server/app/routes/admin/v2/project.py +0 -41
  222. fractal_server-2.17.1a1.dist-info/RECORD +0 -264
  223. {fractal_server-2.17.1a1.dist-info → fractal_server-2.18.0.dist-info}/WHEEL +0 -0
  224. {fractal_server-2.17.1a1.dist-info → fractal_server-2.18.0.dist-info}/entry_points.txt +0 -0
  225. {fractal_server-2.17.1a1.dist-info → fractal_server-2.18.0.dist-info}/licenses/LICENSE +0 -0
@@ -26,10 +26,10 @@ from fractal_server.app.routes.aux.validate_user_profile import (
26
26
  validate_user_profile,
27
27
  )
28
28
  from fractal_server.app.schemas.v2 import ResourceType
29
- from fractal_server.app.schemas.v2 import TaskGroupActivityActionV2
30
- from fractal_server.app.schemas.v2 import TaskGroupActivityStatusV2
31
- from fractal_server.app.schemas.v2 import TaskGroupActivityV2Read
32
- from fractal_server.app.schemas.v2 import TaskGroupV2OriginEnum
29
+ from fractal_server.app.schemas.v2 import TaskGroupActivityAction
30
+ from fractal_server.app.schemas.v2 import TaskGroupActivityRead
31
+ from fractal_server.app.schemas.v2 import TaskGroupActivityStatus
32
+ from fractal_server.app.schemas.v2 import TaskGroupOriginEnum
33
33
  from fractal_server.logger import set_logger
34
34
  from fractal_server.tasks.v2.local import deactivate_local
35
35
  from fractal_server.tasks.v2.local import delete_local
@@ -46,7 +46,7 @@ logger = set_logger(__name__)
46
46
 
47
47
  @router.post(
48
48
  "/{task_group_id}/deactivate/",
49
- response_model=TaskGroupActivityV2Read,
49
+ response_model=TaskGroupActivityRead,
50
50
  )
51
51
  async def deactivate_task_group(
52
52
  task_group_id: int,
@@ -54,7 +54,7 @@ async def deactivate_task_group(
54
54
  response: Response,
55
55
  superuser: UserOAuth = Depends(current_superuser_act),
56
56
  db: AsyncSession = Depends(get_async_db),
57
- ) -> TaskGroupActivityV2Read:
57
+ ) -> TaskGroupActivityRead:
58
58
  """
59
59
  Deactivate task-group venv
60
60
  """
@@ -78,13 +78,13 @@ async def deactivate_task_group(
78
78
  await check_no_submitted_job(task_group_id=task_group.id, db=db)
79
79
 
80
80
  # Shortcut for task-group with origin="other"
81
- if task_group.origin == TaskGroupV2OriginEnum.OTHER:
81
+ if task_group.origin == TaskGroupOriginEnum.OTHER:
82
82
  task_group.active = False
83
83
  task_group_activity = TaskGroupActivityV2(
84
84
  user_id=task_group.user_id,
85
85
  taskgroupv2_id=task_group.id,
86
- status=TaskGroupActivityStatusV2.OK,
87
- action=TaskGroupActivityActionV2.DEACTIVATE,
86
+ status=TaskGroupActivityStatus.OK,
87
+ action=TaskGroupActivityAction.DEACTIVATE,
88
88
  pkg_name=task_group.pkg_name,
89
89
  version=(task_group.version or "N/A"),
90
90
  log=(
@@ -103,8 +103,8 @@ async def deactivate_task_group(
103
103
  task_group_activity = TaskGroupActivityV2(
104
104
  user_id=task_group.user_id,
105
105
  taskgroupv2_id=task_group.id,
106
- status=TaskGroupActivityStatusV2.PENDING,
107
- action=TaskGroupActivityActionV2.DEACTIVATE,
106
+ status=TaskGroupActivityStatus.PENDING,
107
+ action=TaskGroupActivityAction.DEACTIVATE,
108
108
  pkg_name=task_group.pkg_name,
109
109
  version=task_group.version,
110
110
  timestamp_started=get_timestamp(),
@@ -140,7 +140,7 @@ async def deactivate_task_group(
140
140
 
141
141
  @router.post(
142
142
  "/{task_group_id}/reactivate/",
143
- response_model=TaskGroupActivityV2Read,
143
+ response_model=TaskGroupActivityRead,
144
144
  )
145
145
  async def reactivate_task_group(
146
146
  task_group_id: int,
@@ -148,7 +148,7 @@ async def reactivate_task_group(
148
148
  response: Response,
149
149
  superuser: UserOAuth = Depends(current_superuser_act),
150
150
  db: AsyncSession = Depends(get_async_db),
151
- ) -> TaskGroupActivityV2Read:
151
+ ) -> TaskGroupActivityRead:
152
152
  """
153
153
  Deactivate task-group venv
154
154
  """
@@ -173,13 +173,13 @@ async def reactivate_task_group(
173
173
  await check_no_submitted_job(task_group_id=task_group.id, db=db)
174
174
 
175
175
  # Shortcut for task-group with origin="other"
176
- if task_group.origin == TaskGroupV2OriginEnum.OTHER:
176
+ if task_group.origin == TaskGroupOriginEnum.OTHER:
177
177
  task_group.active = True
178
178
  task_group_activity = TaskGroupActivityV2(
179
179
  user_id=task_group.user_id,
180
180
  taskgroupv2_id=task_group.id,
181
- status=TaskGroupActivityStatusV2.OK,
182
- action=TaskGroupActivityActionV2.REACTIVATE,
181
+ status=TaskGroupActivityStatus.OK,
182
+ action=TaskGroupActivityAction.REACTIVATE,
183
183
  pkg_name=task_group.pkg_name,
184
184
  version=(task_group.version or "N/A"),
185
185
  log=(
@@ -199,16 +199,15 @@ async def reactivate_task_group(
199
199
  raise HTTPException(
200
200
  status_code=status.HTTP_422_UNPROCESSABLE_CONTENT,
201
201
  detail=(
202
- "Cannot reactivate a task group with "
203
- f"{task_group.env_info=}."
202
+ f"Cannot reactivate a task group with {task_group.env_info=}."
204
203
  ),
205
204
  )
206
205
 
207
206
  task_group_activity = TaskGroupActivityV2(
208
207
  user_id=task_group.user_id,
209
208
  taskgroupv2_id=task_group.id,
210
- status=TaskGroupActivityStatusV2.PENDING,
211
- action=TaskGroupActivityActionV2.REACTIVATE,
209
+ status=TaskGroupActivityStatus.PENDING,
210
+ action=TaskGroupActivityAction.REACTIVATE,
212
211
  pkg_name=task_group.pkg_name,
213
212
  version=task_group.version,
214
213
  timestamp_started=get_timestamp(),
@@ -260,8 +259,8 @@ async def delete_task_group(
260
259
  task_group_activity = TaskGroupActivityV2(
261
260
  user_id=task_group.user_id,
262
261
  taskgroupv2_id=task_group.id,
263
- status=TaskGroupActivityStatusV2.PENDING,
264
- action=TaskGroupActivityActionV2.DELETE,
262
+ status=TaskGroupActivityStatus.PENDING,
263
+ action=TaskGroupActivityAction.DELETE,
265
264
  pkg_name=task_group.pkg_name,
266
265
  version=(task_group.version or "N/A"),
267
266
  timestamp_started=get_timestamp(),
@@ -1,13 +1,13 @@
1
1
  """
2
2
  `api` module
3
3
  """
4
+
4
5
  from fastapi import APIRouter
5
6
  from fastapi import Depends
6
7
 
7
8
  import fractal_server
8
9
  from fractal_server.app.models import UserOAuth
9
10
  from fractal_server.app.routes.auth import current_superuser_act
10
- from fractal_server.config import get_data_settings
11
11
  from fractal_server.config import get_db_settings
12
12
  from fractal_server.config import get_email_settings
13
13
  from fractal_server.config import get_oauth_settings
@@ -49,14 +49,6 @@ async def view_email_settings(
49
49
  return settings.model_dump()
50
50
 
51
51
 
52
- @router_api.get("/settings/data/")
53
- async def view_data_settings(
54
- user: UserOAuth = Depends(current_superuser_act),
55
- ):
56
- settings = Inject(get_data_settings)
57
- return settings.model_dump()
58
-
59
-
60
52
  @router_api.get("/settings/oauth/")
61
53
  async def view_oauth_settings(
62
54
  user: UserOAuth = Depends(current_superuser_act),
@@ -1,73 +1,72 @@
1
1
  """
2
2
  `api/v2` module
3
3
  """
4
+
4
5
  from fastapi import APIRouter
5
6
 
6
- from .dataset import router as dataset_router_v2
7
- from .history import router as history_router_v2
8
- from .images import router as images_routes_v2
9
- from .job import router as job_router_v2
10
- from .pre_submission_checks import router as pre_submission_checks_router
11
- from .project import router as project_router_v2
12
- from .status_legacy import router as status_legacy_router_v2
13
- from .submit import router as submit_job_router_v2
14
- from .task import router as task_router_v2
15
- from .task_collection import router as task_collection_router_v2
16
- from .task_collection_custom import router as task_collection_router_v2_custom
17
- from .task_collection_pixi import router as task_collection_pixi_router_v2
18
- from .task_group import router as task_group_router_v2
19
- from .task_group_lifecycle import router as task_group_lifecycle_router_v2
20
- from .task_version_update import router as task_version_update_router_v2
21
- from .workflow import router as workflow_router_v2
22
- from .workflow_import import router as workflow_import_router_v2
23
- from .workflowtask import router as workflowtask_router_v2
24
7
  from fractal_server.config import get_settings
25
8
  from fractal_server.syringe import Inject
26
9
 
10
+ from .dataset import router as dataset_router
11
+ from .history import router as history_router
12
+ from .images import router as images_routes
13
+ from .job import router as job_router
14
+ from .pre_submission_checks import router as pre_submission_checks_router
15
+ from .project import router as project_router
16
+ from .sharing import router as sharing_router
17
+ from .status_legacy import router as status_legacy_router
18
+ from .submit import router as submit_job_router
19
+ from .task import router as task_router
20
+ from .task_collection import router as task_collection_router
21
+ from .task_collection_custom import router as task_collection_router_custom
22
+ from .task_collection_pixi import router as task_collection_pixi_router
23
+ from .task_group import router as task_group_router
24
+ from .task_group_lifecycle import router as task_group_lifecycle_router
25
+ from .task_version_update import router as task_version_update_router
26
+ from .workflow import router as workflow_router
27
+ from .workflow_import import router as workflow_import_router
28
+ from .workflowtask import router as workflowtask_router
27
29
 
28
- router_api_v2 = APIRouter()
30
+ router_api = APIRouter()
29
31
 
30
- router_api_v2.include_router(dataset_router_v2, tags=["V2 Dataset"])
31
- router_api_v2.include_router(pre_submission_checks_router, tags=["V2 Job"])
32
- router_api_v2.include_router(job_router_v2, tags=["V2 Job"])
33
- router_api_v2.include_router(images_routes_v2, tags=["V2 Images"])
34
- router_api_v2.include_router(project_router_v2, tags=["V2 Project"])
35
- router_api_v2.include_router(submit_job_router_v2, tags=["V2 Job"])
36
- router_api_v2.include_router(history_router_v2, tags=["V2 History"])
37
- router_api_v2.include_router(
38
- status_legacy_router_v2, tags=["V2 Status Legacy"]
39
- )
32
+ router_api.include_router(dataset_router, tags=["Dataset"])
33
+ router_api.include_router(pre_submission_checks_router, tags=["Job"])
34
+ router_api.include_router(job_router, tags=["Job"])
35
+ router_api.include_router(images_routes, tags=["Images"])
36
+ router_api.include_router(sharing_router, tags=["Project Sharing"])
37
+ router_api.include_router(project_router, tags=["Project"])
38
+ router_api.include_router(submit_job_router, tags=["Job"])
39
+ router_api.include_router(history_router, tags=["History"])
40
+ router_api.include_router(status_legacy_router, tags=["Status Legacy"])
40
41
 
41
42
 
42
43
  settings = Inject(get_settings)
43
- router_api_v2.include_router(
44
- task_collection_router_v2,
44
+ router_api.include_router(
45
+ task_collection_router,
45
46
  prefix="/task",
46
- tags=["V2 Task Lifecycle"],
47
+ tags=["Task Lifecycle"],
47
48
  )
48
- router_api_v2.include_router(
49
- task_collection_router_v2_custom,
49
+ router_api.include_router(
50
+ task_collection_router_custom,
50
51
  prefix="/task",
51
- tags=["V2 Task Lifecycle"],
52
+ tags=["Task Lifecycle"],
52
53
  )
53
- router_api_v2.include_router(
54
- task_collection_pixi_router_v2,
54
+ router_api.include_router(
55
+ task_collection_pixi_router,
55
56
  prefix="/task",
56
- tags=["V2 Task Lifecycle"],
57
+ tags=["Task Lifecycle"],
57
58
  )
58
- router_api_v2.include_router(
59
- task_group_lifecycle_router_v2,
59
+ router_api.include_router(
60
+ task_group_lifecycle_router,
60
61
  prefix="/task-group",
61
- tags=["V2 Task Lifecycle"],
62
+ tags=["Task Lifecycle"],
62
63
  )
63
64
 
64
- router_api_v2.include_router(task_router_v2, prefix="/task", tags=["V2 Task"])
65
- router_api_v2.include_router(task_version_update_router_v2, tags=["V2 Task"])
66
- router_api_v2.include_router(
67
- task_group_router_v2, prefix="/task-group", tags=["V2 TaskGroup"]
68
- )
69
- router_api_v2.include_router(workflow_router_v2, tags=["V2 Workflow"])
70
- router_api_v2.include_router(
71
- workflow_import_router_v2, tags=["V2 Workflow Import"]
65
+ router_api.include_router(task_router, prefix="/task", tags=["Task"])
66
+ router_api.include_router(task_version_update_router, tags=["Task"])
67
+ router_api.include_router(
68
+ task_group_router, prefix="/task-group", tags=["TaskGroup"]
72
69
  )
73
- router_api_v2.include_router(workflowtask_router_v2, tags=["V2 WorkflowTask"])
70
+ router_api.include_router(workflow_router, tags=["Workflow"])
71
+ router_api.include_router(workflow_import_router, tags=["Workflow Import"])
72
+ router_api.include_router(workflowtask_router, tags=["WorkflowTask"])