Skip to content

Commit cf94f98

Browse files
committed
renaming and refactoring
1 parent 2f22837 commit cf94f98

File tree

6 files changed

+27
-34
lines changed

6 files changed

+27
-34
lines changed

services/web/server/src/simcore_service_webserver/dynamic_scheduler/api.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
from models_library.services import ServicePortKey
2525
from models_library.users import UserID
2626
from pydantic import NonNegativeInt
27-
from pydantic.types import PositiveInt
2827
from servicelib.progress_bar import ProgressBarData
2928
from servicelib.rabbitmq import RabbitMQClient, RPCServerError
3029
from servicelib.rabbitmq.rpc_interfaces.dynamic_scheduler import services
@@ -94,13 +93,13 @@ async def stop_dynamic_service(
9493

9594
async def _post_progress_message(
9695
rabbitmq_client: RabbitMQClient,
97-
user_id: PositiveInt,
98-
project_id: str,
96+
user_id: UserID,
97+
project_id: ProjectID,
9998
report: ProgressReport,
10099
) -> None:
101100
progress_message = ProgressRabbitMessageProject(
102101
user_id=user_id,
103-
project_id=ProjectID(project_id),
102+
project_id=project_id,
104103
progress_type=ProgressType.PROJECT_CLOSING,
105104
report=report,
106105
)
@@ -111,14 +110,14 @@ async def _post_progress_message(
111110
async def stop_dynamic_services_in_project(
112111
app: web.Application,
113112
*,
114-
user_id: PositiveInt,
115-
project_id: str,
113+
user_id: UserID,
114+
project_id: ProjectID,
116115
simcore_user_agent: str,
117116
save_state: bool,
118117
) -> None:
119118
"""Stops all dynamic services in the project"""
120119
running_dynamic_services = await list_dynamic_services(
121-
app, user_id=user_id, project_id=ProjectID(project_id)
120+
app, user_id=user_id, project_id=project_id
122121
)
123122

124123
async with AsyncExitStack() as stack:

services/web/server/src/simcore_service_webserver/garbage_collector/_core_disconnected.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import logging
22

33
from aiohttp import web
4+
from models_library.projects import ProjectID
5+
from pydantic import TypeAdapter
46
from servicelib.common_headers import UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE
57
from servicelib.utils import logged_gather
68

@@ -84,9 +86,9 @@ async def remove_disconnected_user_resources(
8486
_logger.info(
8587
"Closing project '%s' of user %s", resource_value, user_id
8688
)
87-
await _projects_service.try_close_project_for_user(
89+
await _projects_service.close_project_for_user(
8890
user_id,
89-
f"{resource_value}",
91+
TypeAdapter(ProjectID).validate_python(f"{resource_value}"),
9092
dead_session["client_session_id"],
9193
app,
9294
simcore_user_agent=UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE,

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ async def open_project(request: web.Request) -> web.Response:
174174
except DirectorV2ServiceError as exc:
175175
# there was an issue while accessing the director-v2/director-v0
176176
# ensure the project is closed again
177-
await _projects_service.try_close_project_for_user(
177+
await _projects_service.close_project_for_user(
178178
user_id=req_ctx.user_id,
179-
project_uuid=f"{path_params.project_id}",
179+
project_uuid=path_params.project_id,
180180
client_session_id=client_session_id,
181181
app=request.app,
182182
simcore_user_agent=request.headers.get(
@@ -214,9 +214,9 @@ async def close_project(request: web.Request) -> web.Response:
214214
user_id=req_ctx.user_id,
215215
include_state=False,
216216
)
217-
await _projects_service.try_close_project_for_user(
217+
await _projects_service.close_project_for_user(
218218
req_ctx.user_id,
219-
f"{path_params.project_id}",
219+
path_params.project_id,
220220
client_session_id,
221221
request.app,
222222
simcore_user_agent=request.headers.get(

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
from ..director_v2 import director_v2_service
1919
from ..storage.api import delete_data_folders_of_project
2020
from ..users.exceptions import UserNotFoundError
21-
from ..users.users_service import FullNameDict
2221
from . import _projects_repository
2322
from ._access_rights_service import check_user_project_permission
2423
from ._projects_repository_legacy import ProjectDBAPI
@@ -40,13 +39,12 @@ class RemoveProjectServicesCallable(Protocol):
4039
# NOTE: this function was tmp added here to avoid refactoring all projects_api in a single PR
4140
async def __call__(
4241
self,
43-
user_id: int,
44-
project_uuid: str,
42+
user_id: UserID,
43+
project_uuid: ProjectID,
4544
app: web.Application,
4645
simcore_user_agent: str,
4746
*,
4847
notify_users: bool = True,
49-
user_name: FullNameDict | None = None,
5048
) -> None: ...
5149

5250

@@ -109,7 +107,7 @@ async def delete_project(
109107
# - raises ProjectNotFoundError, UserNotFoundError, ProjectLockError
110108
await remove_project_dynamic_services(
111109
user_id=user_id,
112-
project_uuid=f"{project_uuid}",
110+
project_uuid=project_uuid,
113111
app=app,
114112
simcore_user_agent=simcore_user_agent,
115113
notify_users=False,

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

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1580,9 +1580,9 @@ async def _open_project() -> bool:
15801580
return False
15811581

15821582

1583-
async def try_close_project_for_user(
1584-
user_id: int,
1585-
project_uuid: str,
1583+
async def close_project_for_user(
1584+
user_id: UserID,
1585+
project_uuid: ProjectID,
15861586
client_session_id: str,
15871587
app: web.Application,
15881588
simcore_user_agent: str,
@@ -1592,18 +1592,12 @@ async def try_close_project_for_user(
15921592
with managed_resource(user_id, client_session_id, app) as user_session:
15931593
current_user_session = user_session.get_id()
15941594
all_user_sessions_with_project = await user_session.find_users_of_resource(
1595-
app, key=PROJECT_ID_KEY, value=project_uuid
1595+
app, key=PROJECT_ID_KEY, value=f"{project_uuid}"
15961596
)
15971597

15981598
# first check whether other sessions registered this project
15991599
if current_user_session not in all_user_sessions_with_project:
16001600
# nothing to do, I do not have this project registered
1601-
log.warning(
1602-
"%s is not registered as resource of %s. Skipping close project",
1603-
f"{project_uuid=}",
1604-
f"{user_id}",
1605-
extra=get_log_record_extra(user_id=user_id),
1606-
)
16071601
return
16081602

16091603
# remove the project from our list of opened ones
@@ -1629,7 +1623,7 @@ async def try_close_project_for_user(
16291623
# notify users that project is now closed
16301624
project = await get_project_for_user(
16311625
app,
1632-
project_uuid,
1626+
f"{project_uuid}",
16331627
user_id,
16341628
include_state=True,
16351629
)
@@ -1973,8 +1967,8 @@ async def run_project_dynamic_services(
19731967

19741968

19751969
async def remove_project_dynamic_services(
1976-
user_id: int,
1977-
project_uuid: str,
1970+
user_id: UserID,
1971+
project_uuid: ProjectID,
19781972
app: web.Application,
19791973
simcore_user_agent: str,
19801974
*,
@@ -2001,7 +1995,7 @@ async def remove_project_dynamic_services(
20011995
user_role = None
20021996

20031997
save_state = await has_user_project_access_rights(
2004-
app, project_id=ProjectID(project_uuid), user_id=user_id, permission="write"
1998+
app, project_id=project_uuid, user_id=user_id, permission="write"
20051999
)
20062000
if user_role is None or user_role <= UserRole.GUEST:
20072001
save_state = False
@@ -2013,7 +2007,7 @@ async def remove_project_dynamic_services(
20132007
status=ProjectStatus.CLOSING,
20142008
owner=Owner(user_id=user_id),
20152009
notification_cb=(
2016-
create_user_notification_cb(user_id, ProjectID(project_uuid), app)
2010+
create_user_notification_cb(user_id, project_uuid, app)
20172011
if notify_users
20182012
else None
20192013
),

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ async def batch_stop_services_in_project(
4848
),
4949
_projects_service.remove_project_dynamic_services(
5050
user_id=user_id,
51-
project_uuid=f"{project_uuid}",
51+
project_uuid=project_uuid,
5252
app=app,
5353
simcore_user_agent=UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE,
5454
notify_users=False,

0 commit comments

Comments
 (0)