Exemplo n.º 1
0
def login():
    if request.method == 'POST':
        app.logger.info("Request: %s" % request.get_json())
        user_details = request.get_json()
        user = User(user_details)
        status_code = 200
        try:
            authenticated_user = user.authenticate_user()
            if authenticated_user:
                authenticated_user.update({
                    'authorized': True,
                    'token': get_jwt(authenticated_user)
                })
                response = authenticated_user
            else:
                status_code = 401
                response = {
                    'authorized': False,
                    'message': 'Wrong credentials'
                }
        except UserCreateError as e:
            status_code = 500
            response = {
                'authorized': False,
                'message': str(e),
            }
        except UserFindError as e:
            status_code = 500
            response = {
                'authorized': False,
                'message': str(e),
            }

    else:
        app.logger.info('No idea what this request is')
        status_code = 400
        response = {'authorized': False}
    return jsonify(response), status_code