예제 #1
0
def sign_out():
    token = get_param_or_default("token")
    if db.is_connected(token):
        db.logout_user(token)
        success(SUC_USER_LOGGED_OUT)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #2
0
def delete_message():
    token = get_param_or_default("token")
    message_id = get_param_or_default("id")
    if (db.is_connected(token)):
        db.delete_message(message_id)
        success(SUC_MESSAGE_DELETED)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #3
0
def get_user_data_by_token():
    token = get_param_or_default("token")
    if db.is_connected(token):
        user_data = db.find_user(db.get_email(token)[0])
        user_data = json.loads(user_data)
        user_data.pop("password",None)
        success(SUC_GET_USER_DATA,user_data)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #4
0
def remove_user():
    token = get_param_or_default("token")
    if db.is_connected(token):
        email = db.get_email(token)[0]
        db.logout_user(token)
        db.remove_user(email)
        success(SUC_USER_DELETED)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #5
0
def get_user_messages_by_token():
    token = get_param_or_default("token")
    if db.is_connected(token):
        messages = []
        for message_id, message, sender in db.get_user_messages_by_token(token):
            messageObject = {"id" : message_id, "content" : message, "writer" : sender}
            messages.append(messageObject)
        success(SUC_GET_USER_DATA,messages)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #6
0
def get_user_messages_by_email():
    token = get_param_or_default("token")
    email = get_param_or_default("email")
    if db.is_connected(token):
        if db.find_user(email) != None:
            success(SUC_GET_USER_DATA,
                    db.get_user_messages_by_email(token, email))
        else:
            err(ERR_USER_NOT_FOUND)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #7
0
def connect():
    #send message to client with the token
    if request.environ.get('wsgi.websocket'):
        ws = request.environ['wsgi.websocket']
        while True:
            user_token = ws.receive()
            if user_token != None:
                if (db.is_connected(user_token)):
                    email = db.get_email(user_token)[0]
                    if email in socket_dict:
                        db.update_token(email, user_token)
                        socket_dict[email].close()
                    socket_dict[email] = ws
    success("Socket closed")
    return json.dumps(output)
예제 #8
0
def post_message():
    token = get_param_or_default("token")
    receiver = get_param_or_default("email")
    message = get_param_or_default("message")
    if db.is_connected(token):
        sender = db.get_email(token)[0]
        if db.find_user(receiver) != None:
            if message != "":
                db.post_message(sender, receiver, message)
                success(SUC_MESSAGE_POSTED)
            else:
                err(ERR_EMPTY_MESSAGE)
        else:
            err(ERR_USER_NOT_FOUND)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #9
0
def get_user_messages_by_email():
    token = get_param_or_default("token")
    email = get_param_or_default("email")
    if db.is_connected(token):
        if db.find_user(email) != None:
            messages = []
            for message_id, message, sender, media, media_name, media_type in db.get_user_messages_by_email(
                    email):
                messageObject = {
                    "id": message_id,
                    "content": message,
                    "writer": sender,
                    "media": media,
                    "media_name": media_name,
                    "media_type": media_type
                }
                messages.append(messageObject)
            success(SUC_GET_USER_DATA, messages)
        else:
            err(ERR_USER_NOT_FOUND)
    else:
        err(ERR_USER_NOT_CONNECTED)
    return json.dumps(output)
예제 #10
0
def is_connected():
    token = get_param_or_default("token")
    success("User connected", db.is_connected(token))
    return json.dumps(output)