diff --git a/src/main.py b/src/StorageLeaf.py similarity index 93% rename from src/main.py rename to src/StorageLeaf.py index 5732f36ff26e14f956dcb97a242fe1c20062a85d..36ec3249b07d83e2650b8f48760c96e9d6f9d2fc 100644 --- a/src/main.py +++ b/src/StorageLeaf.py @@ -7,7 +7,7 @@ from starlette.responses import RedirectResponse, JSONResponse from Settings import SETTINGS from logic import Constants -from logic.databaseNew import Models +from logic.databaseNew import Models, Schemas from logic.databaseNew.Database import engine from routers import DeviceRouter, SensorRouter, MeasurementRouter @@ -32,9 +32,10 @@ async def root(): @app.get('/version', summary='Gets information about the server version', - tags=['general']) + tags=['general'], + response_model=Schemas.Version) async def version(): - return JSONResponse(content=VERSION) + return Schemas.Version(**VERSION) app.include_router(DeviceRouter.router) diff --git a/src/logic/databaseNew/Schemas.py b/src/logic/databaseNew/Schemas.py index e42c49a4a963ae638eea7a898387ed3aa70ff495..4a535eb659ebda2b0557b234c789fe47394a4243 100644 --- a/src/logic/databaseNew/Schemas.py +++ b/src/logic/databaseNew/Schemas.py @@ -3,10 +3,27 @@ from typing import List from pydantic import BaseModel +# ===== special ===== + class Status(BaseModel): message: str +class Version(BaseModel): + name: str + code: int + date: str + + class Config: + schema_extra = { + 'example': { + 'name': 'v1.0.0', + 'code': 1, + 'date': '28.12.20', + } + } + + class MinMax(BaseModel): min: float or None max: float or None