Skip to content

Commit 9471862

Browse files
fix: search result schema
1 parent 8dd2b47 commit 9471862

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import datetime
2+
3+
from models_library.projects import ProjectID
4+
from pydantic import BaseModel
5+
6+
7+
class SearchResult(BaseModel):
8+
name: str
9+
project_id: ProjectID | None
10+
created_at: datetime.datetime
11+
modified_at: datetime.datetime
12+
is_directory: bool

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

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from aws_library.s3._models import S3ObjectKey
66
from celery import Task # type: ignore[import-untyped]
77
from celery_library.utils import get_app_server
8+
from models_library.api_schemas_storage.search_async_jobs import SearchResult
89
from models_library.api_schemas_storage.storage_schemas import (
910
FoldersBody,
1011
LinkType,
@@ -21,7 +22,6 @@
2122
from servicelib.progress_bar import ProgressBarData
2223

2324
from ...dsm import get_dsm_provider
24-
from ...models import FileMetaData
2525
from ...simcore_s3_dsm import SimcoreS3DataManager
2626

2727
_logger = logging.getLogger(__name__)
@@ -139,7 +139,7 @@ async def search(
139139
user_id: UserID,
140140
project_id: ProjectID | None,
141141
name_pattern: str,
142-
) -> list[FileMetaData]:
142+
) -> list[SearchResult]:
143143
with log_context(
144144
_logger,
145145
logging.INFO,
@@ -151,13 +151,24 @@ async def search(
151151

152152
assert isinstance(dsm, SimcoreS3DataManager) # nosec
153153

154-
pages = []
154+
pages: list[SearchResult] = []
155155
async for page in dsm.search(
156156
user_id=user_id,
157157
project_id=project_id,
158158
name_pattern=name_pattern,
159159
):
160160
# TODO: publish temporary result
161-
pages.extend(page)
161+
pages.extend(
162+
[
163+
SearchResult(
164+
name=item.file_name,
165+
project_id=item.project_id,
166+
created_at=item.created_at,
167+
modified_at=item.last_modified,
168+
is_directory=item.is_directory,
169+
)
170+
for item in page
171+
]
172+
)
162173

163174
return pages

0 commit comments

Comments
 (0)