removed old dB code and continued on group and user mgmt
This commit is contained in:
@@ -101,7 +101,7 @@ def create_or_retrieve_user_from_userinfo(userinfo):
|
||||
|
||||
user = User(email=email, first_name=userinfo.get("given_name", ""),
|
||||
last_name=userinfo.get("family_name", ""), external_user=True,
|
||||
groups=userinfo.get("memberOf", []))
|
||||
groups=user_groups)
|
||||
|
||||
app.logger.info("creating new user")
|
||||
|
||||
|
||||
@@ -10,12 +10,16 @@ from flask_restplus import fields, Resource
|
||||
|
||||
from backend import db
|
||||
from backend.api import api_group
|
||||
from backend.models.user_model import User, Group
|
||||
from backend.models.user_model import Group
|
||||
|
||||
|
||||
group_model = api_group.model('Group', {
|
||||
'id': fields.String(required=False, description='The group\'s identifier'),
|
||||
'name': fields.String(required=True, description='The group\'s name'),
|
||||
'description': fields.String(required=False, description='The group\'s description'),
|
||||
'users': fields.List(fields.Nested(
|
||||
{'id': fields.Integer(), 'first_name': fields.String(), 'last_name': fields.String()}),
|
||||
required=False, description='Group members.')
|
||||
})
|
||||
|
||||
|
||||
@@ -57,7 +61,7 @@ class GroupResource(Resource):
|
||||
return group
|
||||
api_group.abort(404)
|
||||
|
||||
@api_group.route('/')
|
||||
@api_group.route('')
|
||||
class GroupList(Resource):
|
||||
@jwt_required
|
||||
@api_group.doc('groups')
|
||||
@@ -70,7 +74,7 @@ class GroupList(Resource):
|
||||
return Group.get_all()
|
||||
|
||||
@jwt_required
|
||||
@api_group.doc('create_todo')
|
||||
@api_group.doc('create_group')
|
||||
@api_group.expect(group_model)
|
||||
@api_group.marshal_with(group_model, code=201)
|
||||
def post(self):
|
||||
|
||||
@@ -16,16 +16,22 @@ from backend.api import api_bp, api_user
|
||||
from backend.auth import oidc_auth
|
||||
from backend.models.user_model import User, Group
|
||||
|
||||
user = api_user.model('User', {
|
||||
|
||||
|
||||
user_model = api_user.model('User', {
|
||||
'id': fields.String(required=True, description='The user\'s identifier'),
|
||||
'first_name': fields.String(required=True, description='The user\'s first name'),
|
||||
'last_name': fields.String(required=True, description='The user\'s last name'),
|
||||
'email': fields.String(required=True, description='The user\'s email address'),
|
||||
'nickname': fields.String(required=False, description='The user\'s nick name'),
|
||||
'groups': fields.List(fields.Nested({'name': fields.String()}), required=False, description='Group memberships.'),
|
||||
})
|
||||
|
||||
|
||||
@api_user.route('/profile', methods=['GET'])
|
||||
class Profile(Resource):
|
||||
@jwt_auth.login_required
|
||||
@api_user.marshal_list_with(user)
|
||||
@api_user.marshal_list_with(user_model)
|
||||
def get(self):
|
||||
"""Get infos about logged in user."""
|
||||
current_user_id = get_jwt_identity()
|
||||
@@ -33,7 +39,7 @@ class Profile(Resource):
|
||||
return User.get_by_identifier(current_user_id)
|
||||
|
||||
|
||||
@api_user.route('/')
|
||||
@api_user.route('')
|
||||
class UserList(Resource):
|
||||
"""
|
||||
This is a test class.
|
||||
@@ -41,7 +47,7 @@ class UserList(Resource):
|
||||
#@jwt_auth.login_required
|
||||
@jwt_required
|
||||
@api_user.doc('users')
|
||||
@api_user.marshal_list_with(user)
|
||||
@api_user.marshal_list_with(user_model)
|
||||
def get(self):
|
||||
"""
|
||||
just a test!
|
||||
@@ -51,6 +57,16 @@ class UserList(Resource):
|
||||
app.logger.info(current_user)
|
||||
return User.get_all()
|
||||
|
||||
@jwt_required
|
||||
@api_user.doc('create_group')
|
||||
@api_user.expect(user_model)
|
||||
@api_user.marshal_with(user_model, code=201)
|
||||
def post(self):
|
||||
user = User(**api_user.payload)
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
return user
|
||||
|
||||
|
||||
@api_user.route('/<id>')
|
||||
@api_user.param('id', 'The user identifier')
|
||||
@@ -58,7 +74,7 @@ class UserList(Resource):
|
||||
class UserResource(Resource):
|
||||
@jwt_auth.login_required
|
||||
@api_user.doc('get_user')
|
||||
@api_user.marshal_with(user)
|
||||
@api_user.marshal_with(user_model)
|
||||
def get(self, id):
|
||||
"""Fetch a user given its identifier"""
|
||||
user = User.get_by_id(id)
|
||||
|
||||
Reference in New Issue
Block a user