Skip to content

Commit 0380294

Browse files
fix: refactoring
1 parent 3d3e42d commit 0380294

File tree

8 files changed

+28
-29
lines changed

8 files changed

+28
-29
lines changed

packages/models-library/src/models_library/api_schemas_webserver/storage.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from pathlib import Path
2-
from typing import Annotated
2+
from typing import Annotated, Final
33

44
from models_library.utils.common_validators import (
55
MIN_NON_WILDCARD_CHARS,
@@ -16,6 +16,9 @@
1616
from ..rest_pagination import CursorQueryParameters
1717
from ._base import InputSchema
1818

19+
MAX_SEARCH_ITEMS_PER_PAGE: Final[int] = 25
20+
DEFAULT_MAX_SEARCH_ITEMS_PER_PAGE: Final[int] = 50
21+
1922

2023
class StorageLocationPathParams(BaseModel):
2124
location_id: LocationID
@@ -57,11 +60,11 @@ class SearchBodyParams(InputSchema):
5760
description=f"Name pattern with wildcard support {tuple(WILDCARD_CHARS)}. Minimum of {MIN_NON_WILDCARD_CHARS} non-wildcard characters required.",
5861
),
5962
]
60-
items_per_page: Annotated[
63+
max_items_per_page: Annotated[
6164
int,
6265
Field(
63-
description="Number of items per page",
66+
description="Max number of items per page",
6467
ge=1,
65-
le=MAX_NUMBER_OF_PATHS_PER_PAGE,
68+
le=MAX_SEARCH_ITEMS_PER_PAGE,
6669
),
67-
] = DEFAULT_NUMBER_OF_PATHS_PER_PAGE
70+
] = DEFAULT_MAX_SEARCH_ITEMS_PER_PAGE

packages/service-library/src/servicelib/rabbitmq/rpc_interfaces/storage/simcore_s3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,14 @@ async def start_search(
5252
*,
5353
job_filter: AsyncJobFilter,
5454
name_pattern: str,
55-
items_per_page: int,
55+
max_items_per_page: int,
5656
) -> tuple[AsyncJobGet, AsyncJobFilter]:
5757
async_job_rpc_get = await submit(
5858
rabbitmq_rpc_client,
5959
rpc_namespace=STORAGE_RPC_NAMESPACE,
6060
method_name=TypeAdapter(RPCMethodName).validate_python("start_search"),
6161
job_filter=job_filter,
6262
name_pattern=name_pattern,
63-
items_per_page=items_per_page,
63+
max_items_per_page=max_items_per_page,
6464
)
6565
return async_job_rpc_get, job_filter

packages/service-library/src/servicelib/sse/__init__.py

Whitespace-only changes.

packages/service-library/src/servicelib/sse.py renamed to packages/service-library/src/servicelib/sse/models.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
from typing import Annotated
22

3-
from pydantic import BaseModel, BeforeValidator
3+
from pydantic import BaseModel, BeforeValidator, Field
4+
5+
6+
class SSEHeaders(BaseModel):
7+
last_event_id: Annotated[
8+
str | None,
9+
Field(
10+
description="Optional last event ID",
11+
alias="Last-Event-ID",
12+
),
13+
] = None
414

515

616
def _normalize_data(v: str | list[str]) -> list[str]:

services/storage/src/simcore_service_storage/api/_worker_tasks/_simcore_s3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ async def search(
139139
user_id: UserID,
140140
project_id: ProjectID | None,
141141
name_pattern: str,
142-
items_per_page: int,
142+
max_items_per_page: int,
143143
) -> None:
144144
with log_context(
145145
_logger,
@@ -157,7 +157,7 @@ async def search(
157157
user_id=user_id,
158158
project_id=project_id,
159159
name_pattern=name_pattern,
160-
items_per_page=items_per_page,
160+
items_per_page=max_items_per_page,
161161
):
162162
data = [
163163
SearchResult(

services/storage/src/simcore_service_storage/api/rpc/_simcore_s3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ async def start_search(
7272
task_manager: TaskManager,
7373
job_filter: AsyncJobFilter,
7474
name_pattern: str,
75-
items_per_page: int,
75+
max_items_per_page: int,
7676
project_id: str | None = None,
7777
) -> AsyncJobGet:
7878
task_name = search.__name__
@@ -85,6 +85,6 @@ async def start_search(
8585
user_id=job_filter.user_id,
8686
project_id=project_id,
8787
name_pattern=name_pattern,
88-
items_per_page=items_per_page,
88+
max_items_per_page=max_items_per_page,
8989
)
9090
return AsyncJobGet(job_id=task_uuid, job_name=task_name)

services/web/server/src/simcore_service_webserver/storage/_rest.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,8 @@
6767
)
6868
from servicelib.request_keys import RQT_USERID_KEY
6969
from servicelib.rest_responses import unwrap_envelope
70-
from servicelib.sse import SSEEvent
70+
from servicelib.sse.models import SSEEvent, SSEHeaders
7171
from simcore_service_webserver.celery import get_task_manager
72-
from simcore_service_webserver.storage._rest_schemas import StreamHeaders
7372
from yarl import URL
7473

7574
from .._meta import API_VTAG
@@ -571,7 +570,7 @@ class _PathParams(BaseModel):
571570
product_name=_req_ctx.product_name,
572571
),
573572
name_pattern=search_body.name_pattern,
574-
items_per_page=search_body.items_per_page,
573+
max_items_per_page=search_body.max_items_per_page,
575574
)
576575
_job_id = f"{async_job_rpc_get.job_id}"
577576
return create_data_response(
@@ -599,7 +598,7 @@ class _PathParams(BaseModel):
599598

600599
_req_ctx = AuthenticatedRequestContext.model_validate(request)
601600
path_params = parse_request_path_parameters_as(_PathParams, request)
602-
header_params = parse_request_headers_as(StreamHeaders, request)
601+
header_params = parse_request_headers_as(SSEHeaders, request)
603602

604603
task_manager = get_task_manager(request.app)
605604
task_filter = get_job_filter(

services/web/server/src/simcore_service_webserver/storage/_rest_schemas.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)