def get(self): admins = AdminModel.query_for_admin() if admins: admin = admins[0] user_id = admin.id user = UserModel.find_by_id(user_id) if user: return admin.get_admin(user), 200 abort(404, message="no super admin exist.")
def customized_jwt_response(access_token, identity): admins = AdminModel.query_for_admin() if (len(admins) > 0): if admins[0].user_id == identity.id: return jsonify({ 'access_token': access_token.decode('utf-8'), 'user_id': identity.id, 'isAdmin': True, 'admin_id': admins[0].id }) else: return jsonify({ 'access_token': access_token.decode('utf-8'), 'user_id': identity.id, 'isAdmin': False, 'admin_id': None })
def post(self): existing_admin = AdminModel.query_for_admin() if existing_admin: abort(404, message="Super Admin already exist.") data = AdminController.parser.parse_args() user = UserModel(**data) user = user.hash_password() admin = AdminModel() user.admin_id = admin # Save to database try: db.session.add(user) db.session.add(admin) db.session.commit() except (ArgumentError, DataError): abort(500, message="Server internal error due to invalid argument.") return {"message": "Successfully created super admin."}, 201