Skip to content

Commit cd53a4a

Browse files
committed
moving requestcontext
1 parent dc839a3 commit cd53a4a

File tree

4 files changed

+19
-18
lines changed

4 files changed

+19
-18
lines changed

services/web/server/src/simcore_service_webserver/director_v2/_handlers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from .._meta import API_VTAG as VTAG
2727
from ..db.plugin import get_database_engine
2828
from ..login.decorators import login_required
29+
from ..models import RequestContext
2930
from ..products import api as products_api
3031
from ..security.decorators import permission_required
3132
from ..users.exceptions import UserDefaultWalletNotFoundError

services/web/server/src/simcore_service_webserver/long_running_tasks.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,16 @@
11
from functools import wraps
22

33
from aiohttp import web
4-
from models_library.rest_base import RequestParameters
5-
from models_library.users import UserID
64
from models_library.utils.fastapi_encoders import jsonable_encoder
7-
from pydantic import Field
85
from servicelib.aiohttp.long_running_tasks._constants import (
96
RQT_LONG_RUNNING_TASKS_CONTEXT_KEY,
107
)
118
from servicelib.aiohttp.long_running_tasks.server import setup
129
from servicelib.aiohttp.typing_extension import Handler
13-
from servicelib.request_keys import RQT_USERID_KEY
1410

15-
from ._constants import RQ_PRODUCT_KEY
1611
from ._meta import API_VTAG
1712
from .login.decorators import login_required
18-
19-
20-
class _RequestContext(RequestParameters):
21-
user_id: UserID = Field(..., alias=RQT_USERID_KEY) # type: ignore[literal-required]
22-
product_name: str = Field(..., alias=RQ_PRODUCT_KEY) # type: ignore[literal-required]
13+
from .models import RequestContext
2314

2415

2516
def _webserver_request_context_decorator(handler: Handler):
@@ -28,7 +19,7 @@ async def _test_task_context_decorator(
2819
request: web.Request,
2920
) -> web.StreamResponse:
3021
"""this task context callback tries to get the user_id from the query if available"""
31-
req_ctx = _RequestContext.parse_obj(request)
22+
req_ctx = RequestContext.parse_obj(request)
3223
request[RQT_LONG_RUNNING_TASKS_CONTEXT_KEY] = jsonable_encoder(req_ctx)
3324
return await handler(request)
3425

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from models_library.rest_base import RequestParameters
2+
from models_library.users import UserID
3+
from pydantic import Field
4+
from servicelib.request_keys import RQT_USERID_KEY
5+
6+
from ._constants import RQ_PRODUCT_KEY
7+
8+
9+
class RequestContext(RequestParameters):
10+
user_id: UserID = Field(..., alias=RQT_USERID_KEY) # type: ignore[literal-required]
11+
product_name: str = Field(..., alias=RQ_PRODUCT_KEY) # type: ignore[literal-required]

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,11 @@
55
"""
66

77
from models_library.projects import ProjectID
8-
from models_library.users import UserID
98
from pydantic import BaseModel, Extra, Field
10-
from servicelib.request_keys import RQT_USERID_KEY
119

12-
from .._constants import RQ_PRODUCT_KEY
10+
from ..models import RequestContext
1311

14-
15-
class RequestContext(BaseModel):
16-
user_id: UserID = Field(..., alias=RQT_USERID_KEY) # type: ignore[literal-required]
17-
product_name: str = Field(..., alias=RQ_PRODUCT_KEY) # type: ignore[literal-required]
12+
assert RequestContext # nosec
1813

1914

2015
class ProjectPathParams(BaseModel):
@@ -29,3 +24,6 @@ class RemoveQueryParams(BaseModel):
2924
force: bool = Field(
3025
default=False, description="Force removal (even if resource is active)"
3126
)
27+
28+
29+
__all__: tuple[str, ...] = ("RequestContext",)

0 commit comments

Comments
 (0)