Skip to content
Snippets Groups Projects

Resolve "admin endpoint"

Merged Herman Andersen Dyrkorn requested to merge 29-admin-endpoint into master
1 file
+ 48
0
Compare changes
  • Side-by-side
  • Inline
+ 48
0
from flask import request, jsonify
from flask_restful import Resource
from api.models.dbmodels import User
from api import db
from flask_jwt_extended import get_jwt_identity, jwt_required
class AdminPendingUsers(Resource):
@staticmethod
@jwt_required
def get():
user_id = get_jwt_identity()
user = db.session.query(User).filter_by(id=user_id).first()
if user.admin:
user_list = []
users = db.session.query(User).filter_by(accepted=0).all()
for pr_user in users:
ret = {"email": pr_user.email, "id": pr_user.id}
user_list.append(ret)
return jsonify({"users": user_list, "status": 200})
else:
return jsonify({"message": "no access", "status": 400})
@staticmethod
@jwt_required
def post():
data = request.form
user_id = get_jwt_identity()
user = db.session.query(User).filter_by(id=user_id).first()
if user.admin:
if "id" in data and "email" in data and "accepted" in data:
update_user = db.session.query(User).filter_by(id=data['id']).first()
if update_user and data['accepted'] == "1" and update_user.email == data['email']:
update_user.accepted = True
db.session.commit()
return jsonify({"message": "user approved", "status": 200})
elif update_user and data['accepted'] == "0" and update_user.email == data['email']:
db.session.delete(update_user)
db.session.commit()
return jsonify({"message": "user deleted", "status": 200})
else:
return jsonify({"message": "user does not exist", "status": 400})
else:
return jsonify({"message": "wrong data", "status": 400})
else:
return jsonify({"message": "no access", "status": 400})
Loading