From e01249c3ae8af6e39e7d897cc43dd674b26c5c46 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sat, 16 Jan 2021 19:24:04 +0100 Subject: [PATCH] improved response schema for version route --- src/{main.py => StorageLeaf.py} | 7 ++++--- src/logic/databaseNew/Schemas.py | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) rename src/{main.py => StorageLeaf.py} (93%) diff --git a/src/main.py b/src/StorageLeaf.py similarity index 93% rename from src/main.py rename to src/StorageLeaf.py index 5732f36..36ec324 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 e42c49a..4a535eb 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 -- GitLab