示例#1
0
def register():
    print("REGSITER NEW USER")
    print(request.form, "\n\n")
    username = request.form.get('username')
    email = request.form.get('email')
    passwordRaw = request.form.get('password')
    passwordHashed = User.generate_hash(passwordRaw)

    rawUser = {
        'username': username,
        'email': email,
        'password': passwordHashed
    }

    print("what's email?")
    print(email, "\n")

    userExist = User.query.filter_by(email=email).first()

    if (userExist is not None):
        abort(400)
    else:
        user = User(rawUser)
        user.save()

        newUser = User.query.filter_by(email=email).first()
        newUser1 = User.as_dict(newUser)

        response['status'] = 201
        response['message'] = 'REGISTER SUCCESS'
        response['result'] = newUser1

        return jsonify(response)
示例#2
0
def update_propic():
    print("TRYING TO UPDATE PROPIC \n\n")

    token = request.headers.get('access_token')

    if (token in [None, '', ' ', " ", ""]):
        abort(401)

    payload = decode_token(token)['identity']

    user = User.query.get_or_404(payload['userid'])

    print("\n REALITY CHECK \n")

    propicNewRaw = request.files['propic_new']

    print(propicNewRaw)

    newPropicPath = save_picture(propicNewRaw)

    print("ISIT NEW? \n")
    print(newPropicPath)

    user.image_file = newPropicPath
    user.save()

    userJSON = User.as_dict(user)

    response['status'] = 200
    response['message'] = 'SUCCESS: UPDATE PROPIC'
    response['result'] = userJSON

    return jsonify(response)
示例#3
0
def change_username():

    token = request.headers.get('access_token')

    if (token in [None, '', ' ', " ", ""]):
        abort(401)

    payload = decode_token(token)['identity']

    currentUsername = request.form.get('current_username')
    newUsername = request.form.get('new_username')

    print("\n REALITY CHECK \n")
    print(currentUsername, newUsername)

    if (currentUsername == payload['username']):
        user = User.query.get_or_404(payload['userid'])
        user.username = newUsername

        user.save()

        userJSON = User.as_dict(user)

        response['status'] = 200
        response['message'] = 'SUCCESS: UPDATE USERNAME'
        response['result'] = userJSON

        return jsonify(response)
        # return "OK"

    else:
        abort(400)
示例#4
0
def login():
    print("HELLO LADIES. LOGIN HERE. \n\n")

    email = request.form.get('email')
    passwordRaw = request.form.get('password')

    # CHECK WHETHER USER EXISTS OR NOT
    user2Check = User.query.filter_by(email=email).first_or_404()
    user2CheckJSON = User.as_dict(user2Check)

    # NOW, CHECK IF PASSWORD MATCH
    # passwordMatchFlag = bcrypt.check_password_hash(user2CheckJSON['password'], passwordRaw)
    passwordMatchFlag = User.check_hash(user2CheckJSON['password'],
                                        passwordRaw)

    if (passwordMatchFlag == True):

        payload = {
            'email': user2CheckJSON['email'],
            'username': user2CheckJSON['username'],
            'userid': user2CheckJSON['id'],
            'propic': user2CheckJSON['image_file']
        }

        access_token = create_access_token(identity=payload)

        return jsonify(access_token=access_token), 200

    else:
        abort(401)
示例#5
0
def getOneByUsername(username):
    user = User.query.filter_by(username=username).first_or_404()

    # print("GETTING ONE USERNAME BY USERNAME \n")
    # print(user)

    userJSON = User.as_dict(user)

    response['status'] = 200
    response['message'] = 'SUCCESS: GET BY USERNAME'
    response['result'] = userJSON

    return jsonify(response)
示例#6
0
文件: user.py 项目: fltrbbl/fltrbbl
    def put(self):
        email = request.json.get('email')
        password = request.json.get('password')

        if email is None or password is None:
            abort(400)  # missing arguments
        if User.objects(email=email).first() is not None:
            abort(400)  # existing user

        user = User(email=email)
        user.hash_password(password)
        user.save()

        return user.as_dict(), 201
示例#7
0
def getAll():
    print("GETTING ALL USER @ USER ROUTES")
    listUsers = User.get_all()

    newUserList = []

    # SERIALIZE EACH OBJECT INSIDE A LIST
    for user in listUsers:
        userJSON = User.as_dict(user)
        newUserList.append(userJSON)

    # print("HELLO LADIES! LET'S SEE USERS' LIST \n\n")
    # print(newUserList)

    response['status'] = 200
    response['message'] = 'FETCH ALL SUCCESS'
    response['result'] = newUserList

    return jsonify(response)
示例#8
0
def create_user():
    if request.method == 'POST':
        if not request.json:
            return create_error('Bad Request', 400, ['no json sent']), 400
        username = request.json.get('username')
        password = request.json.get('password')
        isrefiller = request.json.get('isrefiller')
        if username is None or password is None:
            error = 'missing either username or password'
        elif not wordRe.fullmatch(username):
            error = 'invalid username (3 to 12 chars, alphanumeric, dashes and underscores)'
        elif User.query.filter_by(username=username).first() is not None:
            error = 'username already in use on another account'
        else:
            new_user = User(username=username,
                            password=hash_password(password),
                            isrefiller=isrefiller)
            db.session.add(new_user)
            db.session.commit()
            return {'message': 'OK', 'data': new_user.as_dict()}, 201
        return create_error('Bad Request', 400, [error]), 400