removed old dB code and continued on group and user mgmt

This commit is contained in:
2019-04-11 16:18:46 +02:00
parent 2451a56403
commit cbc269edf2
13 changed files with 42 additions and 104 deletions

View File

@@ -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")

View File

@@ -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):

View File

@@ -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)