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)
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)
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)
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)
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)
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)
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)
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)
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)
def is_connected(): token = get_param_or_default("token") success("User connected", db.is_connected(token)) return json.dumps(output)