diff --git a/src/main.py b/src/main.py index 00ee4dd65198e3b43e8ec67dc1e7f0dbd9202ce2..612933a939e0855ab4c62170430759ba13e594d5 100644 --- a/src/main.py +++ b/src/main.py @@ -2,7 +2,7 @@ import json import uvicorn from fastapi import FastAPI -from starlette.responses import RedirectResponse +from starlette.responses import RedirectResponse, JSONResponse from logic import Constants from logic.databaseNew import Models @@ -13,7 +13,7 @@ from routers import DeviceRouter Models.Base.metadata.create_all(bind=engine) with open('version.json', 'r', encoding='UTF-8') as f: - version = json.load(f)['version'] + versionInfo = json.load(f)['version'] with open('../settings.json', 'r', encoding='UTF-8') as f: settings = json.load(f) @@ -21,7 +21,7 @@ with open('../settings.json', 'r', encoding='UTF-8') as f: API_KEY = settings['api']['key'] app = FastAPI(title=Constants.APP_NAME, - version=version['name'], + version=versionInfo['name'], description='The StorageLeaf API') app.include_router(DeviceRouter.router) @@ -30,5 +30,10 @@ app.include_router(DeviceRouter.router) async def root(): return RedirectResponse(url='/docs') + +@app.get('/version') +async def version(): + return JSONResponse(content=versionInfo) + if __name__ == '__main__': uvicorn.run(app, host=settings['server']['listen'], port=settings['server']['port'])