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)
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)
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)
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)
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)
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
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)
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