Skip to content

Commit c40198c

Browse files
committed
refactoring routes
1 parent 500e97d commit c40198c

File tree

5 files changed

+41
-47
lines changed

5 files changed

+41
-47
lines changed

services/datcore-adapter/src/simcore_service_datcore_adapter/api/module_setup.py

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

services/datcore-adapter/src/simcore_service_datcore_adapter/api/rest/datasets.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@
66
from fastapi_pagination import Page, Params
77
from fastapi_pagination.api import create_page, resolve_params
88
from fastapi_pagination.bases import RawParams
9+
from models_library.api_schemas_datcore_adapter.datasets import (
10+
DatasetMetaData,
11+
FileMetaData,
12+
)
913
from servicelib.fastapi.requests_decorators import cancel_on_disconnect
1014
from starlette import status
1115

12-
from ...models.domains.datasets import DatasetsOut, FileMetaDataOut
1316
from ...modules.pennsieve import PennsieveApiClient
1417
from ..dependencies.pennsieve import get_pennsieve_api_client
1518

@@ -26,7 +29,7 @@
2629
"/datasets",
2730
summary="list datasets",
2831
status_code=status.HTTP_200_OK,
29-
response_model=Page[DatasetsOut],
32+
response_model=Page[DatasetMetaData],
3033
)
3134
@cancel_on_disconnect
3235
@cached(
@@ -39,7 +42,7 @@ async def list_datasets(
3942
x_datcore_api_secret: Annotated[str, Header(..., description="Datcore API Secret")],
4043
pennsieve_client: Annotated[PennsieveApiClient, Depends(get_pennsieve_api_client)],
4144
params: Annotated[Params, Depends()],
42-
) -> Page[DatasetsOut]:
45+
) -> Page[DatasetMetaData]:
4346
assert request # nosec
4447
raw_params: RawParams = resolve_params(params).to_raw_params()
4548
assert raw_params.limit is not None # nosec
@@ -57,7 +60,7 @@ async def list_datasets(
5760
"/datasets/{dataset_id}/files",
5861
summary="list top level files/folders in a dataset",
5962
status_code=status.HTTP_200_OK,
60-
response_model=Page[FileMetaDataOut],
63+
response_model=Page[FileMetaData],
6164
)
6265
@cancel_on_disconnect
6366
@cached(
@@ -71,7 +74,7 @@ async def list_dataset_top_level_files(
7174
x_datcore_api_secret: Annotated[str, Header(..., description="Datcore API Secret")],
7275
pennsieve_client: Annotated[PennsieveApiClient, Depends(get_pennsieve_api_client)],
7376
params: Annotated[Params, Depends()],
74-
) -> Page[FileMetaDataOut]:
77+
) -> Page[FileMetaData]:
7578
assert request # nosec
7679
raw_params: RawParams = resolve_params(params).to_raw_params()
7780

@@ -91,7 +94,7 @@ async def list_dataset_top_level_files(
9194
"/datasets/{dataset_id}/files/{collection_id}",
9295
summary="list top level files/folders in a collection in a dataset",
9396
status_code=status.HTTP_200_OK,
94-
response_model=Page[FileMetaDataOut],
97+
response_model=Page[FileMetaData],
9598
)
9699
@cancel_on_disconnect
97100
@cached(
@@ -106,7 +109,7 @@ async def list_dataset_collection_files(
106109
x_datcore_api_secret: Annotated[str, Header(..., description="Datcore API Secret")],
107110
pennsieve_client: Annotated[PennsieveApiClient, Depends(get_pennsieve_api_client)],
108111
params: Annotated[Params, Depends()],
109-
) -> Page[FileMetaDataOut]:
112+
) -> Page[FileMetaData]:
110113
assert request # nosec
111114
raw_params: RawParams = resolve_params(params).to_raw_params()
112115
assert raw_params.limit is not None # nosec
@@ -126,7 +129,7 @@ async def list_dataset_collection_files(
126129
"/datasets/{dataset_id}/files_legacy",
127130
summary="list all file meta data in dataset",
128131
status_code=status.HTTP_200_OK,
129-
response_model=list[FileMetaDataOut],
132+
response_model=list[FileMetaData],
130133
)
131134
@cancel_on_disconnect
132135
@cached(
@@ -139,7 +142,7 @@ async def list_dataset_files_legacy(
139142
x_datcore_api_key: Annotated[str, Header(..., description="Datcore API Key")],
140143
x_datcore_api_secret: Annotated[str, Header(..., description="Datcore API Secret")],
141144
pennsieve_client: Annotated[PennsieveApiClient, Depends(get_pennsieve_api_client)],
142-
) -> list[FileMetaDataOut]:
145+
) -> list[FileMetaData]:
143146
assert request # nosec
144147
return await pennsieve_client.list_all_dataset_files(
145148
api_key=x_datcore_api_key,

services/datcore-adapter/src/simcore_service_datcore_adapter/api/rest/files.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
import logging
2-
from typing import Annotated, Any
2+
from typing import Annotated
33

44
from fastapi import APIRouter, Depends, Header, Request
5+
from models_library.api_schemas_datcore_adapter.datasets import PackageMetaData
56
from pydantic import AnyUrl, TypeAdapter
67
from servicelib.fastapi.requests_decorators import cancel_on_disconnect
78
from starlette import status
89

9-
from ...models.domains.files import FileDownloadOut
10+
from ...models.files import FileDownloadOut
1011
from ...modules.pennsieve import PennsieveApiClient
1112
from ..dependencies.pennsieve import get_pennsieve_api_client
1213

1314
router = APIRouter()
14-
log = logging.getLogger(__file__)
15+
_logger = logging.getLogger(__file__)
1516

1617

1718
@router.get(
@@ -62,7 +63,7 @@ async def delete_file(
6263
"/packages/{package_id}/files",
6364
summary="returns a package (i.e. a file)",
6465
status_code=status.HTTP_200_OK,
65-
response_model=list[dict[str, Any]],
66+
response_model=list[PackageMetaData],
6667
)
6768
@cancel_on_disconnect
6869
async def get_package(
@@ -71,12 +72,15 @@ async def get_package(
7172
x_datcore_api_key: Annotated[str, Header(..., description="Datcore API Key")],
7273
x_datcore_api_secret: Annotated[str, Header(..., description="Datcore API Secret")],
7374
pennsieve_client: Annotated[PennsieveApiClient, Depends(get_pennsieve_api_client)],
74-
) -> list[dict[str, Any]]:
75+
) -> list[PackageMetaData]:
7576
assert request # nosec
76-
return await pennsieve_client.get_package_files(
77+
78+
data = await pennsieve_client.get_package_files(
7779
api_key=x_datcore_api_key,
7880
api_secret=x_datcore_api_secret,
7981
package_id=package_id,
8082
limit=1,
8183
offset=0,
84+
fill_path=True,
8285
)
86+
return [_.to_api_model() for _ in data]

services/datcore-adapter/src/simcore_service_datcore_adapter/api/rest/user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from servicelib.fastapi.requests_decorators import cancel_on_disconnect
66
from starlette import status
77

8-
from ...models.domains.user import Profile
8+
from ...models.user import Profile
99
from ...modules.pennsieve import PennsieveApiClient
1010
from ..dependencies.pennsieve import get_pennsieve_api_client
1111

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""
2+
api app module
3+
"""
4+
5+
from fastapi import APIRouter, FastAPI
6+
7+
from .._meta import API_VTAG
8+
from .rest import datasets, files, health, user
9+
10+
11+
def setup_rest_api_routes(app: FastAPI) -> None:
12+
router = APIRouter()
13+
14+
app.include_router(router, prefix=f"/{API_VTAG}")
15+
app.include_router(health.router, tags=["healthcheck"], prefix=f"/{API_VTAG}")
16+
app.include_router(user.router, tags=["user"], prefix=f"/{API_VTAG}")
17+
app.include_router(datasets.router, tags=["datasets"], prefix=f"/{API_VTAG}")
18+
app.include_router(files.router, tags=["files"], prefix=f"/{API_VTAG}")

0 commit comments

Comments
 (0)