def auth_error(status): if status == 401: return error_response(status, 'Your login token is invalid') elif status == 403: return error_response(status, "You don't have permission to access this page") else: return error_response(status, "Token error")
def update_customer(id): customer = User.query.filter_by(id=id).first().customer if not customer: error_response(404, 'Customer does not exist') data = request.get_json() or {} if data: customer.from_dict(data, update_by=token_auth.current_user().email) db.session.commit() return customer.to_dict()
def add_user(): if request.content_type == 'application/json': user_info = request.json errors = user_schema.validate(user_info) if errors: return error_response(status_code=400, message=errors) try: user = user_schema.load(user_info) db.session.add(user) db.session.commit() except InvalidRequestError as err: return error_response(status_code=400, message=[e for e in err.args]) return jsonify(user.id), 201
def add_message(): msg_info = request.get_json() chat = Chat.query.get_or_404(msg_info.get('chat')) author = User.query.get_or_404(msg_info.get('author')) try: msg = msg_schema.load(msg_info) db.session.add(msg) db.session.commit() except ArgumentError as err: return error_response(status_code=404, message=[e for e in err.args]) except InvalidRequestError as err: return error_response(status_code=400, message=[e for e in err.args]) except ValidationError as err: return error_response(status_code=400, message=[e for e in err.args]) return msg_schema.jsonify(msg), 201
def forgot_password(email): user = User.query.filter_by(email=email).first() if user: if send_forgotpwd_email(user): return '', 204 else: return error_response(502, 'unable to send email') else: return bad_request("email doesn't exist")
def get_messages(): chat_info = request.get_json() if not chat_info.get('chat'): return error_response(status_code=400, message="missing chat id") try: chat_id = int(chat_info.get('chat')) except ValueError: return jsonify({"errors": "chat id must be an integer"}), 400 chat = Chat.query.get_or_404(chat_id) return msgs_schema.jsonify(chat.messages), 200
def reset_password(token): user = User.verify_temp_token(token) if not user: return error_response(401, 'token is not valid') data = request.get_json() or {} if 'password' not in data: return bad_request("password is missing") user.set_password(data['password']) db.session.add(user) db.session.commit() return '', 204
def basic_auth_error(): return error_response(401)
def basic_auth_error(status): return error_response(status, 'You have entered incorrect login credentials')
def internal_error(error): return error_response(401)
def not_found_error(error): return error_response(405)
def get_customer(id): customer = User.query.filter_by(id=id).first().customer if not customer: return error_response(404, 'Customer does not exist') return customer.to_dict()