def getAllReplies(self): replyDAO = ReplyDAO() dao1 = MessageDAO() dao2 = MessageDAO() sentDAO = SentDAO() messagesDAO = MessagesDAO() result = replyDAO.getAllReplies() # get all messages that are replies mapped_result = [] #store all replies mapped for r in result: reply_info = [] owner_message = dao1.getMessageById(r[0]) # original message info reply_message = dao2.getMessageById(r[1]) # reply message info reply_info.append(reply_message[1]) # append reply text reply_info.append(owner_message[1]) # append original message replyer_name = sentDAO.getUserByMessageId( reply_message[0]) # get replyer name reply_info.append(replyer_name[1] + ' ' + replyer_name[2]) # append name chat_name = messagesDAO.getChatByMessageId( r[0]) # what group was the reply sent reply_info.append(chat_name[1]) # append group chat name reply_info.append(reply_message[2]) # append reply_date reply_info.append(owner_message[2]) # append original_message_date mapped_result.append(self.mapToDict(reply_info)) return jsonify(Replies=mapped_result)
def getAllReplies(self): dao = ReplyDAO() dao1 = MessageDAO() dao2 = MessageDAO() userDAO = UserDAO() chatDAO = ChatDAO() result = dao.getAllReplies() mapped_result = [] for r in result: reply_info = [] result1 = dao1.getMessageById(r[0]) # array de mensaje-reply result2 = dao2.getMessageById(r[1]) # array de mensaje original reply_info.append(result1[1]) #replyer_text reply_info.append(result2[1]) #original_text # buscar user con user id # result1[3] - replyer_id replyer = userDAO.getUserById(result1[3]) reply_info.append(replyer[1] + ' ' +replyer[2]) # buscar chat con chat id # result1[4] - chat_id chat_name = chatDAO.getChatById(result1[4]) reply_info.append(chat_name[1]) reply_info.append(result1[2]) #reply_date reply_info.append(result2[2]) #original_message_date mapped_result.append(self.mapToDict(reply_info)) return jsonify(Replies=mapped_result)
def deleteMessage(self, mid): dao = MessageDAO() if not dao.getMessageById(mid): return jsonify(Error="Message not found."), 404 else: dao.deleteMessage(mid) return jsonify(DeleteStatus="OK"), 200
def getMessageById(self, mid): dao = MessageDAO() row = dao.getMessageById(mid) if not row: return jsonify(Error="User Not Found"), 404 else: message = self.build_message_dict(row) return jsonify(Message=message)
def getMessageByID(self, id): dao = MessageDAO() result = dao.getMessageById(id) if result == None: return jsonify(Error="MESSAGE NOT FOUND") else: mapped = self.mapToDict(result) return jsonify(Message=mapped)
def getMessageById(self, mID): dao = MessageDAO() result = dao.getMessageById(int(mID)) if not result: dao.closeDB() return jsonify(Error="Message NOT FOUND"), 404 else: mapped = mapMessageToDict(result) dao.closeDB() return jsonify(Messages=mapped)
def getNumofLikesbyMessageID(self, mID): dao = MessageDAO() results = [] if not dao.getMessageById(mID): dao.closeDB() return jsonify(Error="Message NOT FOUND"), 404 result = dao.getNumofLikesbyMessageID(mID) mapped = {} mapped['mID'] = mID mapped['total'] = result[0] dao.closeDB() return jsonify(NumOfLikes=mapped)
def getAllReactions(self): dao = ReactionDAO() dao1 = MessageDAO() dao2 = UserDAO() result = dao.getAllReactions() mapped_result = [] for r in result: r[0] = dao1.getMessageById(r[0])[1] r[1] = dao2.getUserById(r[1])[1] + ' ' + dao2.getUserById(r[1])[2] mapped_result.append(self.mapToDict(r)) return jsonify(Reactions=mapped_result)
def getAllReplies2(self): dao = ReplyDAO() dao1 = UserDAO() dao2 = MessageDAO() result = dao.getAllReplies() mapped_result = [] for r in result: result1 = dao1.getUserById(r[1]) result2 = dao2.getMessageById(r[2]) r[1] = result1[1] + " " + result1[2] r[2] = result2[1] mapped_result.append(self.mapToDict2(r)) return jsonify(Replies=mapped_result)
def getOriginalMessageByReplyID(self, rID): dao = MessageDAO() if not dao.getMessageById(rID): dao.closeDB() return jsonify(Error="Reply NOT FOUND"), 404 result = dao.getOriginalMessageByReplyID(rID) if not result: dao.closeDB() return jsonify(Error="Original Message NOT FOUND"), 404 else: result = mapMessageToDict(result) dao.closeDB() return jsonify(Messages=result)
def getHashTagsByMessageID(self, mID): dao = MessageDAO() result = dao.getMessageById(mID) if not result: dao.closeDB() return jsonify(Error="Message NOT FOUND"), 404 dao.closeDB() dao = HashTagDAO() result = dao.getHashTagList(mID) mapped_result = [] for r in result: mapped_result.append(mapHashTagToDict(r)) dao.closeDB() return jsonify(HashTags=mapped_result)
def getReplyByID2(self, id): dao = ReplyDAO() dao1 = UserDAO() dao2 = MessageDAO() result = dao.getReplyById(id) if result == None: return jsonify(Error="REPLY NOT FOUND") else: result1 = dao1.getUserById(result[1]) result2 = dao2.getMessageById(result[2]) result[1] = result1[1] + " " + result1[2] result[2] = result2[1] mapped = self.mapToDict2(result) return jsonify(Reply=mapped)
def reply(self, form, message_id, users_id, group_id): if len(form) != 1: return jsonify(Error="Malformed post request"), 400 else: message_text = form['message_text'] print(message_text) if message_text: dao = MessageDAO() sDao = SentDAO() mDao = MessagesDAO() hasDao = HasTagDAO() hashtagDao = HashtagDAO() rDAO = ReplyDAO() og_message_text = dao.getMessageById(message_id) new_message = " 'RE:" + og_message_text[1] + "' " + message_text original_message = new_message print(new_message) reply_id = dao.insert( new_message) # insert message to table, returns message id print(users_id) print(message_id) sent = sDao.insert(users_id, reply_id) # link to user who sent message messages = mDao.insert( reply_id, group_id) # link to which group the message was posted to reply = rDAO.insert(message_id, reply_id) # get message hashtags message_text.strip("#") for message_text in message_text.split(): if message_text.startswith("#"): print(message_text) hashtag_id = hashtagDao.insert( message_text ) # returns hashtag_id insert to hashtag table hasDao.insert(reply_id, hashtag_id) result = self.reply_attributes(original_message) return jsonify(users=result), 201 else: return jsonify( Error="Unexpected attributes in post request"), 400
def getReactionsByUserID(self, uid): dao = ReactionDAO() dao1 = MessageDAO() dao2 = UserDAO() result = dao.getReactionByUserId(uid) if result == None: return jsonify(Error="REACTION NOT FOUND") else: mapped_result = [] for r in result: r[0] = dao1.getMessageById(r[0])[1] r[1] = dao2.getUserById(r[1])[1] + ' ' + dao2.getUserById( r[1])[2] mapped_result.append(self.mapToDict(r)) return jsonify(Reaction=mapped_result)
def getRepliesByMessageID(self, mID): dao = MessageDAO() if not dao.getMessageById(mID): dao.closeDB() return jsonify(Error="Message NOT FOUND"), 404 reply_list = dao.getRepliesByMessageID(mID) if not reply_list: dao.closeDB() return jsonify(Error="Reply NOT FOUND"), 404 results = [] for row in reply_list: result = mapMessageToDict(row) results.append(result) dao.closeDB() return jsonify(Messages=results)
def getHashtagsFromMessage(self, message_id): hashtagDAO = HashtagDAO() hasTagDAO = HasTagDAO() messageDAO = MessageDAO() result = hasTagDAO.getHashtagsInMessage(message_id) message = messageDAO.getMessageById(message_id) mapped = [] if result == None: return jsonify(Error="HASHTAG NOT FOUND") else: for r in result: r[0] = message[1] r[1] = hashtagDAO.getHashtagById(r[1])[0] mapped.append(self.mapToDict(r)) return jsonify(Hashtags=mapped)
def getAllReactions(self): dao = ReactionDAO() dao1 = MessageDAO() dao2 = UsersDAO() result = dao.getAllReactions() mapped_result = [] for r in result: mapped_info = [] user = dao2.getUserById(r[0]) message = dao1.getMessageById(r[1]) mapped_info.append(message[1]) # message text in which it reacted mapped_info.append(user[1] + ' ' + user[2]) mapped_info.append(r[2]) mapped_result.append(self.mapToDict(mapped_info)) return jsonify(Reactions=mapped_result)
def findMessagesReplies2(self, message_id): dao = ReplyDAO() dao1 = UserDAO() dao2 = MessageDAO() result = dao.findReplyByMessageId(message_id) if result == None: return jsonify(Error="MESSAGE NOT FOUND") else: mapped_result = [] for r in result: result1 = dao1.getUserById(r[1]) result2 = dao2.getMessageById(r[2]) r[1] = result1[1] + " " + result1[2] r[2] = result2[1] mapped_result.append(self.mapToDict2(r)) return jsonify(Replies=mapped_result)
def getMessagesWithHashtag(self, hashtag_id): hashtagDAO = HashtagDAO() hasTagDAO = HasTagDAO() messageDAO = MessageDAO() result = hasTagDAO.getMessagesWithHashtag(hashtag_id) hashtag = hashtagDAO.getHashtagById(hashtag_id) mapped = [] if result == None: return jsonify(Error="MESSAGE NOT FOUND") else: for r in result: r[0] = messageDAO.getMessageById(r[0])[1] r[1] = hashtag[0] mapped.append(self.mapToDict(r)) return jsonify(Messages=mapped)
def findByOwnerID2(self, user_id): dao = ReplyDAO() dao1 = UserDAO() dao2 = MessageDAO() result = dao.searchByOwnerId(user_id) if result == None: return jsonify(Error="OWNER NOT FOUND") else: mapped_result = [] for r in result: result1 = dao1.getUserById(r[1]) result2 = dao2.getMessageById(r[2]) r[1] = result1[1] + " " + result1[2] r[2] = result2[1] mapped_result.append(self.mapToDict2(r)) return jsonify(Replies=mapped_result)
def getMessageDislikesCount(self, message_id): dao = ReactionDAO() dao1 = MessageDAO() dao2 = UsersDAO() result = dao.getDislikesCountToMessageId(message_id) # returns count if result == None: return jsonify(Error="REACTION NOT FOUND") else: mapped_result = [] for r in result: mapped_info = [] message = dao1.getMessageById(message_id) mapped_info.append( message[1]) # message text in which it reacted mapped_info.append(r[0]) # count mapped_result.append(self.mapToDict3(mapped_info)) return jsonify(Reaction=mapped_result)
def getReactionsByUserID(self, users_id): dao = ReactionDAO() dao1 = MessageDAO() dao2 = UsersDAO() result = dao.getReactionsByUserId(users_id) if result == None: return jsonify(Error="REACTION NOT FOUND") else: mapped_result = [] for r in result: mapped_info = [] user = dao2.getUserById(r[0]) message = dao1.getMessageById(r[1]) mapped_info.append( message[1]) # message text in which it reacted mapped_info.append(user[1] + ' ' + user[2]) mapped_info.append(r[2]) mapped_result.append(self.mapToDict(mapped_info)) return jsonify(Reactions=mapped_result)
def getMessagesPostedByPersoninGroupID(self, mID, gID): dao = MessageDAO() dao1 = GroupDAO() results = [] if not dao.getMessageById(mID): dao.closeDB() dao1.closeDB() return jsonify(Error="Message NOT FOUND"), 404 if not dao1.getGroupById(gID): dao.closeDB() dao1.closeDB() return jsonify(Error="Group NOT FOUND"), 404 message_list = dao.getMessagesPostedByPersoninGroupID(mID, gID) for row in message_list: result = mapMessageToDict(row) results.append(result) dao.closeDB() dao1.closeDB() return jsonify(Messages=results)
def getHashtagsFromMessage(self, message_id): hashtagDAO = HashtagDAO() hasTagDAO = HasTagDAO() messageDAO = MessageDAO() result = hasTagDAO.getHashtagsInMessage(message_id) if result == None: return jsonify(Error="MESSAGE NOT FOUND") else: mapped = [] for r in result: results_info = [] message_text = messageDAO.getMessageById(message_id) results_info.append(message_text[1]) # append message text hashtag_text = hashtagDAO.getHashtagById(r[1]) results_info.append(hashtag_text[0][1]) # append hashtag text mapped.append(self.mapToDict1(results_info)) return jsonify(Hashtags=mapped)
def getPersonWhoDisikedMessageID(self, mID): dao = MessageDAO() if not dao.getMessageById(mID): dao.closeDB() return jsonify(Error="Message NOT FOUND"), 404 persons_list = dao.getPersonWhoDislikedMessageID(mID) if not persons_list: dao.closeDB() return jsonify(Error="Person NOT FOUND"), 404 results = [] for row in persons_list: result = {} result['pID'] = row[0] result['pFirstName'] = row[1] result['pLastName'] = row[2] result['username'] = row[3] result['pEmail'] = row[4] results.append(result) dao.closeDB() return jsonify(Persons=results)
def updateMessage(self, mid, form): """Only update message content. Form should have new content""" dao = MessageDAO() if not dao.getMessageById(mid): return jsonify(Error="Part not found."), 404 else: if len(form) != 1: return jsonify(Error="Malformed update request"), 400 else: content = form['content'] pid = form['pid'] gid = form['gid'] if content: dao.updateMessage(mid, content) result = self.build_message_attributes_without_date( mid, content, pid, gid) return jsonify(new_Message=result), 200 else: return jsonify( Error="Unexpected attributes in update request"), 400
def getMessagesWithHashtag(self, hashtag_id): hashtagDAO = HashtagDAO() hasTagDAO = HasTagDAO() messageDAO = MessageDAO() result = hasTagDAO.getMessagesWithHashtagID(hashtag_id) mapped = [] if result == None: return jsonify(Error="HASHTAG NOT FOUND") else: for r in result: results_info = [] message_text = messageDAO.getMessageById(r[0]) results_info.append(message_text[1]) # append message text hashtag_text = hashtagDAO.getHashtagById(r[1]) results_info.append(hashtag_text[1]) # append hashtag text mapped.append(self.mapToDict1(results_info)) return jsonify(Messages=mapped)
def addReplyMessage(self, gid, mid, json): if len(json) != 2: return jsonify(Error="Malformed post request"), 400 else: content = json['content'] pid = json['pid'] if content and pid: validate = GroupsDAO().userIsMember(pid, gid) if validate: dao = MessageDAO() original_message = dao.getMessageById(mid) reply_message = '"RE: ' + original_message[ 1] + '" ' + content mid_date = dao.insertMessage(reply_message, pid, gid) dao.insertReply(mid, mid_date[0]) result = self.build_message_attributes_with_date( mid_date[0], reply_message, pid, gid, mid_date[1]) return jsonify(Message=result), 201 else: return jsonify(Error="You must be a member to post"), 400 else: return jsonify( Error="Unexpected attributes in post request"), 400