|
18 | 18 | from models_library.projects_nodes_io import DownloadLink, NodeID, PortLink |
19 | 19 | from models_library.projects_ui import StudyUI |
20 | 20 | from models_library.services import ServiceKey, ServiceVersion |
| 21 | +from models_library.services_resources import ServiceResourcesDictHelpers |
21 | 22 | from pydantic import AnyUrl, HttpUrl, TypeAdapter |
22 | 23 | from servicelib.logging_utils import log_decorator |
| 24 | +from simcore_postgres_database.utils_projects_nodes import ProjectNodeCreate |
23 | 25 |
|
24 | 26 | from ..projects.db import ProjectDBAPI |
25 | 27 | from ..projects.exceptions import ProjectInvalidRightsError, ProjectNotFoundError |
@@ -195,14 +197,23 @@ async def _add_new_project( |
195 | 197 | ) |
196 | 198 |
|
197 | 199 | # update metadata (uuid, timestamps, ownership) and save |
198 | | - project_in.pop("workbench", {}) |
| 200 | + workbench = project_in.pop("workbench", {}) |
199 | 201 | assert project_in.get("workbench", None) == None # nosec |
200 | 202 | _project_db: dict = await db.insert_project( |
201 | 203 | project_in, |
202 | 204 | user.id, |
203 | 205 | product_name=product_name, |
204 | 206 | force_as_template=False, |
205 | | - project_nodes=None, |
| 207 | + project_nodes={ |
| 208 | + NodeID(node_id): ProjectNodeCreate( |
| 209 | + node_id=NodeID(node_id), |
| 210 | + required_resources=ServiceResourcesDictHelpers.model_config[ |
| 211 | + "json_schema_extra" |
| 212 | + ]["examples"][0], |
| 213 | + **node_info, |
| 214 | + ) |
| 215 | + for node_id, node_info in workbench.items() |
| 216 | + }, |
206 | 217 | ) |
207 | 218 | assert _project_db["uuid"] == str(project.uuid) # nosec |
208 | 219 |
|
|
0 commit comments