Ejemplo n.º 1
0
def register():
    response_object = {'status': 'fail', 'message': 'Invalid data!'}
    data = request.get_json()
    if not data:
        return jsonify(response_object), 400
    username = data.get('username')
    password = data.get('password')
    try:
        user = User.query.filter_by(username=username).first()
        if user:
            response_object['message'] = f'username {username} exists!'
            return jsonify(response_object), 400

        new_user = User(username=username, password=password)
        db.session.add(new_user)
        db.session.commit()
        auth_token = new_user.encode_auth_token()
        response_object['status'] = 'success'
        response_object['message'] = 'Successfully registered.'
        response_object['auth_token'] = auth_token.decode()
        response_object['username'] = new_user.username
        return jsonify(response_object), 201
    except (exc.IntegrityError, ValueError):
        db.session.rollback()
        return jsonify(response_object), 400
Ejemplo n.º 2
0
 def post(self):
     # get the post data
     post_data = request.get_json()
     email = post_data.get('email')
     password = post_data.get('password')
     # check if user already exists
     user = User.query.filter_by(email=email).first()
     if not user:
         try:
             user = User(email=email, password=password)
             # insert the user
             db.session.add(user)
             db.session.commit()
             # generate the auth token
             auth_token = user.encode_auth_token(user.id)
             response_object = {
                 'status': 'success',
                 'message': 'Successfully registered.',
                 'auth_token': auth_token.decode()
             }
             return make_response(jsonify(response_object), 201)
         except Exception as e:
             response_object = {
                 'status': 'fail',
                 'message': 'Error:{}'.format(str(e))
             }
             return make_response(jsonify(response_object), 401)
     else:
         response_object = {
             'status': 'fail',
             'message': 'User already exists. Please Log in.',
         }
         return make_response(jsonify(response_object), 202)
Ejemplo n.º 3
0
    def post(self):
        # get the post data
        post_data = request.get_json()
        # check if user already exists
        user = User.query.filter_by(email=post_data.get('email')).first()
        if not user:
            try:
                user = User(
                    email=post_data.get('email'),
                    password=post_data.get('password')
                )

                # insert the user
                db.session.add(user)
                db.session.commit()
                # generate the auth token
                auth_token = user.encode_auth_token(user.id)
                responseObject = {
                    'status': 'success',
                    'message': 'Successfully registered.',
                    'auth_token': auth_token.decode()
                }
                return make_response(jsonify(responseObject)), 201
            except Exception as e:
                print("#########")
                print(e)
                print("#########")
                responseObject = {
                    'status': 'fail',
                    'message': 'Some error occurred. Please try again.'
                }
                return make_response(jsonify(responseObject)), 401
        else:
            responseObject = {
                'status': 'fail',
                'message': 'User already exists. Please Log in.',
            }
            return make_response(jsonify(responseObject)), 202
Ejemplo n.º 4
0
def add_new_user(api, user_id=None):
    if user_id:
        admin = User.query.with_entities(
            User.admin).filter_by(id=user_id).first()[0]
        if not admin:
            api.abort(401, "Insufficient permissions", status="fail")

    email = api.payload["email"]
    password = api.payload["password"]

    user = User.query.filter_by(email=email).first()
    if user:
        api.abort(409, "User already exists", status="fail")

    new_user = User(email=email, password=password)
    save_changes(new_user)

    auth_token = new_user.encode_auth_token(new_user.id).decode()
    return {
        "status": "success",
        "data": new_user,
        "auth_token": auth_token
    }, 201