Skip to content

Commit 0425414

Browse files
committed
Revert "only require project_uuid to get project_marked as job"
This reverts commit 6cecc0f.
1 parent ffce9cd commit 0425414

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ async def get_project_marked_as_job(
128128
product_name: ProductName,
129129
user_id: UserID,
130130
project_uuid: ProjectID,
131+
job_parent_resource_name: str,
131132
) -> ProjectJobRpcGet:
132133

133134
try:
@@ -136,6 +137,7 @@ async def get_project_marked_as_job(
136137
product_name=product_name,
137138
user_id=user_id,
138139
project_uuid=project_uuid,
140+
job_parent_resource_name=job_parent_resource_name,
139141
)
140142
except ProjectInvalidRightsError as err:
141143
raise ProjectForbiddenRpcError.from_domain_error(err) from err

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ async def get_project_marked_as_job(
213213
connection: AsyncConnection | None = None,
214214
*,
215215
project_uuid: ProjectID,
216+
job_parent_resource_name: str,
216217
) -> ProjectJobDBGet | None:
217218
"""
218219
Returns the project associated with the given project_uuid and job_parent_resource_name
@@ -232,6 +233,7 @@ async def get_project_marked_as_job(
232233
)
233234
.where(
234235
projects_to_jobs.c.project_uuid == f"{project_uuid}",
236+
projects_to_jobs.c.job_parent_resource_name == job_parent_resource_name,
235237
projects.c.workspace_id.is_(None),
236238
)
237239
.limit(1)

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ async def get_project_marked_as_job(
9191
product_name: ProductName,
9292
user_id: UserID,
9393
project_uuid: ProjectID,
94+
job_parent_resource_name: Annotated[
95+
str, AfterValidator(_validate_job_parent_resource_name)
96+
],
9497
) -> ProjectJobDBGet:
9598
"""
9699
Retrieves the project associated with the given project_uuid and job_parent_resource_name.
@@ -107,6 +110,7 @@ async def get_project_marked_as_job(
107110
repo = ProjectJobsRepository.create_from_app(app)
108111
project_id = await repo.get_project_marked_as_job(
109112
project_uuid=project_uuid,
113+
job_parent_resource_name=job_parent_resource_name,
110114
)
111115
if not project_id:
112116
raise ProjectNotFoundError(

services/web/server/tests/unit/with_dbs/02/test_projects_rpc.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ async def test_rpc_client_get_project_marked_as_job_found(
341341
product_name=product_name,
342342
user_id=user_id,
343343
project_uuid=project_uuid,
344+
job_parent_resource_name=job_parent_resource_name,
344345
)
345346
assert project_job.uuid == project_uuid
346347
assert project_job.job_parent_resource_name == job_parent_resource_name
@@ -359,6 +360,7 @@ async def test_rpc_client_get_project_marked_as_job_not_found(
359360

360361
project_uuid = ProjectID(user_project["uuid"])
361362
user_id = logged_user["id"]
363+
job_parent_resource_name = "solvers/solver123/version/1.2.3"
362364

363365
# Do NOT mark the project as a job, so it should not be found
364366
with pytest.raises(ProjectNotFoundRpcError):
@@ -367,6 +369,7 @@ async def test_rpc_client_get_project_marked_as_job_not_found(
367369
product_name=product_name,
368370
user_id=user_id,
369371
project_uuid=project_uuid,
372+
job_parent_resource_name=job_parent_resource_name,
370373
)
371374

372375

@@ -400,6 +403,7 @@ async def test_rpc_client_get_project_marked_as_job_forbidden(
400403
product_name=product_name,
401404
user_id=other_user["id"],
402405
project_uuid=project_uuid,
406+
job_parent_resource_name=job_parent_resource_name,
403407
)
404408

405409

@@ -433,6 +437,7 @@ async def test_mark_and_get_project_job_storage_data_deleted(
433437
product_name=product_name,
434438
user_id=user_id,
435439
project_uuid=project_uuid,
440+
job_parent_resource_name=job_parent_resource_name,
436441
)
437442
assert project_job.storage_data_deleted is True
438443

@@ -452,5 +457,6 @@ async def test_mark_and_get_project_job_storage_data_deleted(
452457
product_name=product_name,
453458
user_id=user_id,
454459
project_uuid=project_uuid,
460+
job_parent_resource_name=job_parent_resource_name,
455461
)
456462
assert project_job.storage_data_deleted is False

0 commit comments

Comments
 (0)