Skip to content

Commit c64c8ae

Browse files
add api_base_url
1 parent 891685d commit c64c8ae

File tree

5 files changed

+58
-11
lines changed

5 files changed

+58
-11
lines changed

services/web/server/src/simcore_service_webserver/projects/_controller/projects_rest.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
from ...security.api import check_user_permission
3636
from ...security.decorators import permission_required
3737
from ...users.api import get_user_fullname
38-
from ...utils_aiohttp import envelope_json_response
38+
from ...utils_aiohttp import envelope_json_response, get_api_base_url
3939
from .. import _crud_api_create, _crud_api_read, _projects_service
4040
from .._permalink_service import update_or_pop_permalink_in_project
4141
from ..models import ProjectDict
@@ -116,6 +116,7 @@ async def create_project(request: web.Request):
116116
copy_data=query_params.copy_data,
117117
user_id=req_ctx.user_id,
118118
product_name=req_ctx.product_name,
119+
product_api_base_url=get_api_base_url(request),
119120
simcore_user_agent=header_params.simcore_user_agent,
120121
predefined_project=predefined_project,
121122
parent_project_uuid=header_params.parent_project_uuid,
@@ -452,6 +453,7 @@ async def clone_project(request: web.Request):
452453
copy_data=True,
453454
user_id=req_ctx.user_id,
454455
product_name=req_ctx.product_name,
456+
product_api_base_url=get_api_base_url(request),
455457
simcore_user_agent=request.headers.get(
456458
X_SIMCORE_USER_AGENT, UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE
457459
),

services/web/server/src/simcore_service_webserver/projects/_crud_api_create.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ async def create_project( # pylint: disable=too-many-arguments,too-many-branche
258258
copy_data: bool,
259259
user_id: UserID,
260260
product_name: str,
261+
product_api_base_url: str,
261262
predefined_project: ProjectDict | None,
262263
simcore_user_agent: str,
263264
parent_project_uuid: ProjectID | None,
@@ -411,7 +412,11 @@ async def create_project( # pylint: disable=too-many-arguments,too-many-branche
411412

412413
# This is a new project and every new graph needs to be reflected in the pipeline tables
413414
await director_v2_service.create_or_update_pipeline(
414-
request.app, user_id, new_project["uuid"], product_name
415+
request.app,
416+
user_id,
417+
new_project["uuid"],
418+
product_name,
419+
product_api_base_url,
415420
)
416421
# get the latest state of the project (lastChangeDate for instance)
417422
new_project, _ = await _projects_repository.get_project_dict_and_type(

services/web/server/src/simcore_service_webserver/projects/_projects_service.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -869,7 +869,11 @@ async def add_project_node(
869869
# also ensure the project is updated by director-v2 since services
870870
# are due to access comp_tasks at some point see [https://github.com/ITISFoundation/osparc-simcore/issues/3216]
871871
await director_v2_service.create_or_update_pipeline(
872-
request.app, user_id, project["uuid"], product_name
872+
request.app,
873+
user_id,
874+
project["uuid"],
875+
product_name,
876+
product_api_base_url,
873877
)
874878
await dynamic_scheduler_service.update_projects_networks(
875879
request.app, project_id=ProjectID(project["uuid"])
@@ -952,6 +956,7 @@ async def delete_project_node(
952956
user_id: UserID,
953957
node_uuid: NodeIDStr,
954958
product_name: ProductName,
959+
product_api_base_url: str,
955960
) -> None:
956961
log.debug(
957962
"deleting node %s in project %s for user %s", node_uuid, project_uuid, user_id
@@ -997,7 +1002,7 @@ async def delete_project_node(
9971002
# also ensure the project is updated by director-v2 since services
9981003
product_name = products_web.get_product_name(request)
9991004
await director_v2_service.create_or_update_pipeline(
1000-
request.app, user_id, project_uuid, product_name
1005+
request.app, user_id, project_uuid, product_name, product_api_base_url
10011006
)
10021007
await dynamic_scheduler_service.update_projects_networks(
10031008
request.app, project_id=project_uuid
@@ -1069,6 +1074,7 @@ async def patch_project_node(
10691074
app: web.Application,
10701075
*,
10711076
product_name: ProductName,
1077+
product_api_base_url: str,
10721078
user_id: UserID,
10731079
project_id: ProjectID,
10741080
node_id: NodeID,
@@ -1127,7 +1133,11 @@ async def patch_project_node(
11271133

11281134
# 4. Make calls to director-v2 to keep data in sync (ex. comp_tasks DB table)
11291135
await director_v2_service.create_or_update_pipeline(
1130-
app, user_id, project_id, product_name=product_name
1136+
app,
1137+
user_id,
1138+
project_id,
1139+
product_name=product_name,
1140+
product_api_base_url=product_api_base_url,
11311141
)
11321142
if _node_patch_exclude_unset.get("label"):
11331143
await dynamic_scheduler_service.update_projects_networks(

services/web/server/src/simcore_service_webserver/studies_dispatcher/_projects.py

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,12 @@ def _create_project_with_filepicker_and_service(
183183

184184

185185
async def _add_new_project(
186-
app: web.Application, project: Project, user: UserInfo, *, product_name: str
186+
app: web.Application,
187+
project: Project,
188+
user: UserInfo,
189+
*,
190+
product_name: str,
191+
product_api_base_url: str,
187192
):
188193
# TODO: move this to projects_api
189194
# TODO: this piece was taken from the end of projects.projects_handlers.create_projects
@@ -212,7 +217,9 @@ async def _add_new_project(
212217
#
213218
# TODO: Ensure this user has access to these services!
214219
#
215-
await create_or_update_pipeline(app, user.id, project.uuid, product_name)
220+
await create_or_update_pipeline(
221+
app, user.id, project.uuid, product_name, product_api_base_url
222+
)
216223

217224

218225
async def _project_exists(
@@ -245,6 +252,7 @@ async def get_or_create_project_with_file_and_service(
245252
download_link: HttpUrl,
246253
*,
247254
product_name: str,
255+
product_api_base_url: str,
248256
) -> ProjectNodePair:
249257
#
250258
# Generate one project per user + download_link + viewer
@@ -292,7 +300,13 @@ async def get_or_create_project_with_file_and_service(
292300
viewer,
293301
)
294302

295-
await _add_new_project(app, project, user, product_name=product_name)
303+
await _add_new_project(
304+
app,
305+
project,
306+
user,
307+
product_name=product_name,
308+
product_api_base_url=product_api_base_url,
309+
)
296310

297311
return ProjectNodePair(project_uid=project_uid, node_uid=service_id)
298312

@@ -304,6 +318,7 @@ async def get_or_create_project_with_service(
304318
service_info: ServiceInfo,
305319
*,
306320
product_name: str,
321+
product_api_base_url: str,
307322
) -> ProjectNodePair:
308323
project_uid: ProjectID = compose_uuid_from(user.id, service_info.footprint)
309324
_, service_id = _generate_nodeids(project_uid)
@@ -322,7 +337,13 @@ async def get_or_create_project_with_service(
322337
owner=user,
323338
service_info=service_info,
324339
)
325-
await _add_new_project(app, project, user, product_name=product_name)
340+
await _add_new_project(
341+
app,
342+
project,
343+
user,
344+
product_name=product_name,
345+
product_api_base_url=product_api_base_url,
346+
)
326347

327348
return ProjectNodePair(project_uid=project_uid, node_uid=service_id)
328349

@@ -335,6 +356,7 @@ async def get_or_create_project_with_file(
335356
*,
336357
project_thumbnail: HttpUrl,
337358
product_name: str,
359+
product_api_base_url: str,
338360
) -> ProjectNodePair:
339361
project_uid: ProjectID = compose_uuid_from(user.id, file_params.footprint)
340362
file_picker_id, _ = _generate_nodeids(project_uid)
@@ -364,6 +386,12 @@ async def get_or_create_project_with_file(
364386
},
365387
)
366388

367-
await _add_new_project(app, project, user, product_name=product_name)
389+
await _add_new_project(
390+
app,
391+
project,
392+
user,
393+
product_name=product_name,
394+
product_api_base_url=product_api_base_url,
395+
)
368396

369397
return ProjectNodePair(project_uid=project_uid, node_uid=file_picker_id)

services/web/server/src/simcore_service_webserver/studies_dispatcher/_redirects_handlers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from ..dynamic_scheduler import api as dynamic_scheduler_service
2020
from ..products import products_web
2121
from ..utils import compose_support_error_msg
22-
from ..utils_aiohttp import create_redirect_to_page_response
22+
from ..utils_aiohttp import create_redirect_to_page_response, get_api_base_url
2323
from ._catalog import ValidService, validate_requested_service
2424
from ._constants import MSG_UNEXPECTED_DISPATCH_ERROR
2525
from ._core import validate_requested_file, validate_requested_viewer
@@ -249,6 +249,7 @@ async def get_redirection_to_viewer(request: web.Request):
249249
viewer,
250250
file_params.download_link,
251251
product_name=products_web.get_product_name(request),
252+
product_api_base_url=get_api_base_url(request),
252253
)
253254
await dynamic_scheduler_service.update_projects_networks(
254255
request.app, project_id=project_id
@@ -280,6 +281,7 @@ async def get_redirection_to_viewer(request: web.Request):
280281
user,
281282
service_info=_create_service_info_from(valid_service),
282283
product_name=products_web.get_product_name(request),
284+
product_api_base_url=get_api_base_url(request),
283285
)
284286
await dynamic_scheduler_service.update_projects_networks(
285287
request.app, project_id=project_id

0 commit comments

Comments
 (0)