Beispiel #1
0
def sign_in():
	global num_onlineuser
	try:
		email = request.json['email']
		password = request.json['password']
	except:
		return json.dumps({"success": False, "message":"Json key error."}),400
	
	db_password = database_helper.get_UserPW(email)
	if password != db_password:
		return json.dumps({"success": False, "message":"Wrong username or password."}),404
	
	tmp_token = database_helper.get_tokenByEmail(email)
	# Allow second login for auto-sign out scenario
	if tmp_token:
		database_helper.delete_token(tmp_token[0])
		#return json.dumps({"success": False, "message":"User already signed in."}),501
	
	token = ""
	letters = "abcdefghiklmnopqrstuvwwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"  
	for i in range(0,36):
		index = random.randint(0,len(letters)-1)
		token += letters[index]
	
	database_helper.add_token(email, token)
	# Update no. of online users
	num_onlineuser += 1
	
	return json.dumps({"success": True, "message":"Successfully signed in.", "data": token}),200
Beispiel #2
0
def sign_out():
    token = request.headers.get("token")
    if database_helper.get_loggedinuser(token) != None:
        email = database_helper.get_loggedinuser(token)['email']
        database_helper.delete_token(token)
        del activeSessions[email]
        return jsonify({"success": True, "msg": "User succesfully signed out"})
    else:
        return jsonify({"success": False, "msg": "User is not signed in"})
Beispiel #3
0
def sign_out():
    token = request.json['token']
    res = database_helper.delete_token(token)
    if res:
        return json.dumps({'success':True, 'message':"You successfully signed out", 'data':""})
    else:
        return json.dumps({'success':False, 'message':"Your are not signed in", 'data':""})
Beispiel #4
0
def sign_out():
    
    token = request.json['token']
    response = {}
    email = database_helper.get_email_by_token(token)
    if email is not None:
        response['success'] = True
        response['message'] = 'Successfully signed out.'
        database_helper.delete_token(token)
        if email in connected_users:
            connected_users[email].close()
            connected_users.pop(email, None)
        send_live_data()
    else:   
        response['success'] = False
        response['message'] = 'You are not signed in.'
    return json.dumps(response) 
Beispiel #5
0
def sign_out():
	global num_onlineuser
	try:
		token = request.json['token']
	except:
		return json.dumps({"success": False, "message":"Json key error."}),400

	email = database_helper.get_emailByToken(token)
	
	if not email:
		return json.dumps({"success": False, "message":"You are not signed in"}),403

	database_helper.delete_token(token)

	# For live data update
	num_onlineuser -= 1
	loggedUsers[email] = ""
	send_num_onlineuser()

	return json.dumps({"success": True, "message":"Successfully signed out"}),200
Beispiel #6
0
def api():
    print(activeSessions)
    if request.environ.get('wsgi.websocket'):
        ws = request.environ['wsgi.websocket']
        token = ws.receive()
        email = database_helper.get_loggedinuser(token)['email']
        if email in activeSessions:
            #activeSessions[email].send(json.dumps("signout"))
            database_helper.delete_token(activeSessions[email])
            del activeSessions[email]
            activeSessions[email] = token
            print("active websocket replaced")
            print(activeSessions)
        else:
            activeSessions[email] = token
            print("new active websocket added")
            print(activeSessions)
        while True:
            message = ws.receive()
            print(message)
            ws.send(message)
        return ""
Beispiel #7
0
def sign_out():
    token = request.json['token']
    email = database_helper.get_email_by_token(token)
    res = database_helper.delete_token(token)
    if res:
        del ws_dic[email]
        for user in ws_dic.keys():
            print user
            print len(ws_dic.keys())
            ws_dic[user].send(
                str(len(ws_dic.keys())) + ":" +
                str(database_helper.number_of_messages(user)) + ":" +
                str(database_helper.registered_users()))
        return json.dumps({
            'success': True,
            'message': "You successfully signed out",
            'data': ""
        })
    else:
        return json.dumps({
            'success': False,
            'message': "Your are not signed in",
            'data': ""
        })