Beispiel #1
0
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'})
Beispiel #2
0
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."})
Beispiel #3
0
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!"})
Beispiel #4
0
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'})
Beispiel #5
0
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!"})