From 195da5a62a0799bb147cc7edac4cded9402cd6af Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 16 Jan 2021 12:43:48 +0100
Subject: [PATCH] route for fetching api version

---
 src/main.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/main.py b/src/main.py
index 00ee4dd..612933a 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'])
-- 
GitLab