From f52ed4864e2688c4282abc7c5e45c66c4333143c Mon Sep 17 00:00:00 2001
From: nagem <meganhenning@flywheel.io>
Date: Wed, 23 Mar 2016 14:32:30 -0500
Subject: [PATCH] Add version endpoint to API

---
 api/api.py      | 8 +++++++-
 api/config.py   | 3 +++
 bin/database.py | 2 +-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/api/api.py b/api/api.py
index 11589df1..b49689eb 100644
--- a/api/api.py
+++ b/api/api.py
@@ -32,6 +32,11 @@ class Config(base.RequestHandler):
             ';'
         )
 
+class Version(base.RequestHandler):
+
+    def get(self):
+        return config.get_version()
+
 #regexes used in routing table:
 routing_regexes = {
     # group id regex
@@ -77,7 +82,8 @@ routes = [
         webapp2.Route(r'/sites',            centralclient.CentralClient, handler_method='sites', methods=['GET']),
         webapp2.Route(r'/register',         centralclient.CentralClient, handler_method='register', methods=['POST']),
         webapp2.Route(r'/config',           Config, methods=['GET']),
-        webapp2.Route(r'/config.js',        Config, handler_method='get_js', methods=['GET'])
+        webapp2.Route(r'/config.js',        Config, handler_method='get_js', methods=['GET']),
+        webapp2.Route(r'/version',          Version, methods=['GET']),
     ]),
     webapp2.Route(r'/api/users',            userhandler.UserHandler, handler_method='get_all', methods=['GET']),
     webapp2.Route(r'/api/users',            userhandler.UserHandler, methods=['POST']),
diff --git a/api/config.py b/api/config.py
index 6ca252b2..8d670008 100644
--- a/api/config.py
+++ b/api/config.py
@@ -133,5 +133,8 @@ def get_public_config():
         'auth': __config.get('auth'),
     }
 
+def get_version():
+    return db.version.find_one({"_id": "version"}, {"_id":0})
+
 def get_item(outer, inner):
     return get_config()[outer][inner]
diff --git a/bin/database.py b/bin/database.py
index 141ef452..b046f2ba 100755
--- a/bin/database.py
+++ b/bin/database.py
@@ -8,7 +8,7 @@ CURRENT_DATABASE_VERSION = 1 # An int that is bumped when a new schema change is
 
 def get_db_version():
 
-    version = config.db.version.find_one({"_id": "version"})
+    version = config.get_version()
     if version is None or version.get('database', None) is None:
         return 0
     else:
-- 
GitLab