def post_message(): email = request.form["email"] message = request.form["message"] user_email = request.form["user_email"] time_stamp = request.form["time"] blob = message + user_email + email if check_hash(blob, email, request.form["hash"], time_stamp): return json.dumps({ 'success': False, 'message': 'You are trying to hack a user. You should be ashamed of yourself!' }) if database_helper.check_email(user_email) is False: return json.dumps({ 'success': False, 'message': 'User does not exist!' }) token = database_helper.get_token(email) if token is None: return json.dumps({ 'success': False, 'message': 'User is not logged in' }) else: if message is "": return json.dumps({ 'success': False, 'message': 'Message cannot be empty' }) else: database_helper.post_message(email, user_email, message) return json.dumps({'success': True, 'message': 'Message posted'})
def sign_up(): # if request.method == 'POST': email = request.form["emailSign"] password = request.form["passwordSign"] firstname = request.form["firstName"] familyname = request.form["familyName"] gender = request.form["gender"] city = request.form["city"] country = request.form["country"] if ( (database_helper.check_email(email) == True) and len(password) >= 6 and (database_helper.check_gender(gender)) and len(firstname) > 0 and len(familyname) > 0 and len(city) > 0 and len(country) > 0 ): signUp = database_helper.insert_user(email, password, firstname, familyname, gender, city, country) if signUp: return json.dumps({"success": True, "message": "Successfully created a new user."}) else: return json.dumps({"success": False, "message": "Form data missing or incorrect type."}) else: return json.dumps({"success": False, "message": "Form data missing or incorrect type."})
def sign_in(): email = request.form['email'] password = request.form['password'] if database_helper.check_email(email, password): userToken = str(uuid.uuid4()) logged_in_users[userToken] = email return jsonify({"success": True, "message": "Signed in", "data": userToken}) else: return jsonify({"success": False, "message": "Wrong credentials!"})
def signup(): firstname = request.form['firnam'] familyname = request.form['famnam'] email = request.form['email'] gender = request.form['gender'] country = request.form['country'] city = request.form['city'] password = request.form['password'] # We hash the password before we store it so that we don't store plain text hashed_password = bcrypt.generate_password_hash(password) if (firstname == "" or familyname == "" or email == "" or gender == "" or country == "" or city == ""): return json.dumps({ 'success': False, 'message': 'Not all fields are filled' }) if (gender != "Male" and gender != "Female"): return json.dumps({ 'success': False, 'message': 'The gender is not valid' }) res = re.search( "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$", email) if (not res): return json.dumps({ 'success': False, 'message': 'That is not a valid email address' }) if len(password) < 8: return json.dumps({ 'success': False, 'message': 'The password is too short' }) if database_helper.check_email(email): return json.dumps({ 'success': False, 'message': 'A user with that email already exists' }) database_helper.create_user(firstname, familyname, email, gender, country, city, hashed_password) for user in wslist: send_message( wslist[user], json.dumps({ 'messageType': 'loggedInStats', 'message': [ database_helper.getLoggedInUsersCount(), database_helper.getAllUserCount() ] })) return json.dumps({'success': True, 'message': 'All went well'})
def sign_in(): email = request.form['email'] password = request.form['password'] if database_helper.check_email(email, password): userToken = str(uuid.uuid4()) logged_in_users[userToken] = email tempdata = { "type": "curruseronline", "usersonline": len(logged_in_users) } for s in active_sockets: active_sockets[s].send(json.dumps(tempdata)) return jsonify({"success": True, "message": "Signed in", "data": userToken}) else: return jsonify({"success": False, "message": "Wrong credentials!"})