Skip to content

Commit b64e985

Browse files
committed
api model
1 parent 76367ca commit b64e985

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed

packages/models-library/src/models_library/storage_schemas.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,8 +372,14 @@ class SoftCopyBody(BaseModel):
372372

373373

374374
class PathMetaDataGet(BaseModel):
375-
path: Path
375+
path: Annotated[Path, Field(description="the path to the current path")]
376+
display_path: Annotated[
377+
Path, Field(description="the path to display with UUID replaced")
378+
]
376379
created_at: datetime
377380
last_modified: datetime
378381

379-
file_meta_data: FileMetaDataGet | None
382+
file_meta_data: Annotated[
383+
FileMetaDataGet | None,
384+
Field(description="if filled, this is the file meta data of the s3 object"),
385+
]

services/storage/src/simcore_service_storage/api/rest/_paths.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,6 @@ async def list_paths(
3636
limit=page_params.limit,
3737
offset=page_params.offset,
3838
)
39-
return create_page(items, total=total_number, params=page_params)
39+
return create_page(
40+
[_.to_api_model() for _ in items], total=total_number, params=page_params
41+
)

services/storage/src/simcore_service_storage/models.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
ETag,
2828
FileMetaDataGet,
2929
LinkType,
30+
PathMetaDataGet,
3031
S3BucketName,
3132
)
3233
from models_library.users import UserID
@@ -44,6 +45,7 @@
4445
model_validator,
4546
validate_call,
4647
)
48+
from simcore_postgres_database.models import file_meta_data
4749

4850

4951
class DatasetMetaData(DatasetMetaDataGet):
@@ -329,3 +331,12 @@ class PathMetaData(BaseModel):
329331
file_meta_data: FileMetaData | None
330332

331333
model_config = ConfigDict(from_attributes=True)
334+
335+
def to_api_model(self) -> PathMetaDataGet:
336+
return PathMetaDataGet.model_construct(
337+
path=self.path,
338+
display_path=self.path,
339+
created_at=self.created_at,
340+
last_modified=self.last_modified,
341+
file_meta_data=self.file_meta_data,
342+
)

0 commit comments

Comments
 (0)