Guest User

Untitled

a guest
Jun 22nd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #/src/views/UserView
  2.  
  3. from flask import request, json, Response, Blueprint
  4. from ..models.UserModel import UserModel, UserSchema
  5. from ..shared.Authentication import Auth
  6.  
  7. user_api = Blueprint('users', __name__)
  8. user_schema = UserSchema()
  9.  
  10. @user_api.route('/', methods=['POST'])
  11. def create():
  12. """
  13. Create User Function
  14. """
  15. req_data = request.get_json()
  16. data, error = user_schema.load(req_data)
  17.  
  18. if error:
  19. return custom_response(error, 400)
  20.  
  21. # check if user already exist in the db
  22. user_in_db = UserModel.get_user_by_email(data.get('email'))
  23. if user_in_db:
  24. message = {'error': 'User already exist, please supply another email address'}
  25. return custom_response(message, 400)
  26.  
  27. user = UserModel(data)
  28. user.save()
  29.  
  30. ser_data = user_schema.dump(user).data
  31.  
  32. token = Auth.generate_token(ser_data.get('id'))
  33.  
  34. return custom_response({'jwt_token': token}, 201)
  35.  
  36.  
  37. def custom_response(res, status_code):
  38. """
  39. Custom Response Function
  40. """
  41. return Response(
  42. mimetype="application/json",
  43. response=json.dumps(res),
  44. status=status_code
  45. )
Add Comment
Please, Sign In to add comment