Browse Source

add api /api/space/:id/members

meolu 6 years ago
parent
commit
62cf30d1ea
3 changed files with 26 additions and 10 deletions
  1. 22 7
      walle/api/space.py
  2. 1 3
      walle/model/user.py
  3. 3 0
      walle/service/deployer.py

+ 22 - 7
walle/api/space.py

@@ -8,17 +8,20 @@
     :author: wushuiyong@walle-web.io
     :author: wushuiyong@walle-web.io
 """
 """
 
 
-from flask import request, current_app, session
+import json
+
+from flask import request, abort
 from walle.api.api import SecurityResource
 from walle.api.api import SecurityResource
 from walle.form.space import SpaceForm
 from walle.form.space import SpaceForm
 from walle.model.user import SpaceModel, MemberModel, UserModel
 from walle.model.user import SpaceModel, MemberModel, UserModel
-import json
-from walle.service.rbac.role import *
 from walle.service.extensions import permission
 from walle.service.extensions import permission
+from walle.service.rbac.role import *
+
 
 
 class SpaceAPI(SecurityResource):
 class SpaceAPI(SecurityResource):
+    actions = ['members', 'item', 'list']
 
 
-    def get(self, space_id=None):
+    def get(self, space_id=None, action=None):
         """
         """
         fetch space list or one item
         fetch space list or one item
         /space/<int:space_id>
         /space/<int:space_id>
@@ -26,10 +29,16 @@ class SpaceAPI(SecurityResource):
         :return:
         :return:
         """
         """
         super(SpaceAPI, self).get()
         super(SpaceAPI, self).get()
+        if action is None:
+            action = 'item' if space_id else 'list'
 
 
-        return self.item(space_id) if space_id else self.list()
+        if action in self.actions:
+            self_action = getattr(self, action.lower(), None)
+            return self_action(space_id)
+        else:
+            abort(404)
 
 
-    def list(self):
+    def list(self, space_id=None):
         """
         """
         fetch space list
         fetch space list
 
 
@@ -133,4 +142,10 @@ class SpaceAPI(SecurityResource):
         current_user.last_space = space_id
         current_user.last_space = space_id
         current_user.save()
         current_user.save()
         UserModel.fresh_session()
         UserModel.fresh_session()
-        return self.render_json()
+        return self.render_json()
+
+    def members(self, space_id):
+        page = int(request.args.get('page', 1))
+        size = int(request.args.get('size', 10))
+        members = MemberModel(group_id=space_id).members(page=page, size=size)
+        return self.render_json(data=members)

+ 1 - 3
walle/model/user.py

@@ -701,7 +701,7 @@ class MemberModel(SurrogatePK, Model):
 
 
         return ret
         return ret
 
 
-    def members(self, group_id=None, project_id=None):
+    def members(self, group_id=None, project_id=None, page=1, size=10):
         """
         """
         获取单条记录
         获取单条记录
         :param role_id:
         :param role_id:
@@ -718,8 +718,6 @@ class MemberModel(SurrogatePK, Model):
         }
         }
 
 
         # TODO
         # TODO
-        page = 1
-        size = 10
         groups, count = MemberModel.query_paginate(page=page, limit=size, filter_name_dict=filters)
         groups, count = MemberModel.query_paginate(page=page, limit=size, filter_name_dict=filters)
 
 
         user_ids = []
         user_ids = []

+ 3 - 0
walle/service/deployer.py

@@ -75,6 +75,9 @@ class Deployer:
             self.project_id = project_id
             self.project_id = project_id
             self.project_info = ProjectModel(id=project_id).item()
             self.project_info = ProjectModel(id=project_id).item()
 
 
+        # start to deploy
+
+
     def config(self):
     def config(self):
         return {'task_id': self.task_id, 'user_id': self.user_id, 'stage': self.stage, 'sequence': self.sequence, 'console': self.console}
         return {'task_id': self.task_id, 'user_id': self.user_id, 'stage': self.stage, 'sequence': self.sequence, 'console': self.console}