Skip to content

Commit 954528d

Browse files
committed
models
1 parent b6657f0 commit 954528d

File tree

8 files changed

+68
-71
lines changed

8 files changed

+68
-71
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from botocore.exceptions import ClientError
2+
from fastapi import FastAPI
3+
from fastapi.encoders import jsonable_encoder
4+
from servicelib.fastapi.http_error import set_app_default_http_error_handlers
5+
from starlette.requests import Request
6+
from starlette.responses import JSONResponse
7+
from starlette.status import HTTP_401_UNAUTHORIZED, HTTP_500_INTERNAL_SERVER_ERROR
8+
9+
10+
async def botocore_exceptions_handler(
11+
_: Request,
12+
exc: Exception,
13+
) -> JSONResponse:
14+
assert isinstance(exc, ClientError) # nosec
15+
assert "Error" in exc.response # nosec
16+
assert "Code" in exc.response["Error"] # nosec
17+
error_content = {"errors": [f"{exc}"]}
18+
if exc.response["Error"]["Code"] == "NotAuthorizedException":
19+
return JSONResponse(
20+
content=jsonable_encoder({"error": error_content}),
21+
status_code=HTTP_401_UNAUTHORIZED,
22+
)
23+
return JSONResponse(
24+
content=jsonable_encoder({"error": error_content}),
25+
status_code=HTTP_500_INTERNAL_SERVER_ERROR,
26+
)
27+
28+
29+
def set_exception_handlers(app: FastAPI) -> None:
30+
set_app_default_http_error_handlers(app)
31+
32+
app.add_exception_handler(ClientError, botocore_exceptions_handler)

services/datcore-adapter/src/simcore_service_datcore_adapter/models/domains/datasets.py

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

services/datcore-adapter/src/simcore_service_datcore_adapter/models/domains/files.py

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import datetime
2+
from pathlib import Path
3+
from typing import Annotated
4+
5+
from models_library.api_schemas_datcore_adapter.datasets import PackageMetaData
6+
from pydantic import AnyUrl, BaseModel, ByteSize, Field
7+
8+
9+
class FileDownloadOut(BaseModel):
10+
link: AnyUrl
11+
12+
13+
class DatCorePackageMetaData(BaseModel):
14+
id: int
15+
path: Path
16+
display_path: Path
17+
package_id: Annotated[str, Field(alias="packageId")]
18+
name: str
19+
filename: str
20+
s3_bucket: Annotated[str, Field(alias="s3bucket")]
21+
size: ByteSize
22+
created_at: Annotated[datetime.datetime, Field(alias="createdAt")]
23+
updated_at: Annotated[datetime.datetime, Field(alias="updatedAt")]
24+
25+
def to_api_model(self) -> PackageMetaData:
26+
return PackageMetaData(
27+
path=self.path,
28+
display_path=self.display_path,
29+
package_id=self.package_id,
30+
name=self.name,
31+
filename=self.filename,
32+
s3_bucket=self.s3_bucket,
33+
size=self.size,
34+
created_at=self.created_at,
35+
updated_at=self.updated_at,
36+
)

services/datcore-adapter/src/simcore_service_datcore_adapter/models/schemas/__init__.py

Whitespace-only changes.

services/datcore-adapter/src/simcore_service_datcore_adapter/models/schemas/datasets.py

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

0 commit comments

Comments
 (0)