Add API(v2) to get all task info 97/37897/1
authorchenjiankun <chenjiankun1@huawei.com>
Fri, 21 Jul 2017 03:18:02 +0000 (03:18 +0000)
committerchenjiankun <chenjiankun1@huawei.com>
Fri, 21 Jul 2017 03:18:02 +0000 (03:18 +0000)
JIRA: YARDSTICK-754

API: /api/v2/yardstick/tasks
METHOD: GET

Change-Id: I556b0880674d78d67e0a556c4d95f902131cd027
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
api/database/v2/handlers.py
api/resources/v2/tasks.py

index 44c14df..1bc32bf 100644 (file)
@@ -173,6 +173,9 @@ class V2ProjectHandler(object):
 
 class V2TaskHandler(object):
 
+    def list_all(self):
+        return V2Task.query.all()
+
     def insert(self, kwargs):
         task = V2Task(**kwargs)
         db_session.add(task)
index 0eb9577..9790d76 100644 (file)
@@ -21,6 +21,16 @@ LOG.setLevel(logging.DEBUG)
 
 class V2Tasks(ApiResource):
 
+    def get(self):
+        task_handler = V2TaskHandler()
+        tasks = [change_obj_to_dict(t) for t in task_handler.list_all()]
+
+        for t in tasks:
+            result = t['result']
+            t['result'] = jsonutils.loads(result) if result else None
+
+        return result_handler(consts.API_SUCCESS, {'tasks': tasks})
+
     def post(self):
         return self._dispatch_post()