Example #1
0
 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
Example #2
0
 def getAllMessagesInGroupBySender(self, gid, pid):
     dao = MessageDAO()
     result = dao.getAllMessagesInGroupBySenderINFO(gid, pid)
     mapped_results = []
     for m in result:
         mapped_results.append(self.build_message_dict(m))
     return jsonify(Message_by=mapped_results)
Example #3
0
 def getAllMessagesInGroupWithHashtag(self, gid, hid):
     dao = MessageDAO()
     message_list = dao.getAllMessagesInGroupWithHashtagINFO(gid, hid)
     result_list = []
     for row in message_list:
         result_list.append(self.build_tagged_message_dict(row))
     return jsonify(Messages=result_list)
Example #4
0
 def getMessagesPerDay(self):
     dao = MessageDAO()
     result = dao.getMessagePerDay()
     mapped_result = []
     for r in result:
         mapped_result.append(self.mapToDict3(r))
     return jsonify(Messages=mapped_result)
Example #5
0
 def getAllMessages(self):
     dao = MessageDAO()
     result = dao.getAllMessagesINFO()
     mapped_results = []
     for m in result:
         mapped_results.append(self.build_message_dict(m))
     return jsonify(Messages=mapped_results)
Example #6
0
 def getAllGroupMessages(self, gid):
     dao = MessageDAO()
     result = dao.getAllGroupMessagesINFO(gid)
     mapped_results = []
     for m in result:
         mapped_results.append(self.build_message_dict(m))
     return jsonify(Messages_in_group=mapped_results)
Example #7
0
 def getDislikesPerDay(self):
     dao = MessageDAO()
     result = dao.getDislikesPerDay()
     mapped_result = []
     for r in result:
         mapped_result.append(self.mapMessageDays(r))
     return jsonify(Dislikes_Per_Day=mapped_result)
Example #8
0
     def sendMessage(self, form, users_id, group_id):

         if len(form) != 1:
             return jsonify(Error="Malformed post request"), 400
         else:
             message_text = form['message_text']
             original_message = message_text
             print(message_text)


             if message_text:

                 dao = MessageDAO()
                 mDao = MemberDAO()
                 sDao = SentDAO()
                 mDao = MessagesDAO()
                 hasDao = HasTagDAO()
                 hashtagDao = HashtagDAO()

                 message_id = dao.insert(message_text) # insert message to table, returns message id
                 sent = sDao.insert(users_id,message_id) # link to user who sent message
                 messages = mDao.insert(message_id,group_id) #link to which group the message was posted to

                 # 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(message_id,hashtag_id)

                 result = self.message_attributes(original_message)
                 return jsonify(users=result), 201
             else:
                 return jsonify(Error="Unexpected attributes in post request"), 400
Example #9
0
 def getAllMessages(self):
     dao = MessageDAO()
     result = dao.getAllMessages()
     mapped_result = []
     for r in result:
         mapped_result.append(self.mapToDict2(r))
     return jsonify(Messages=mapped_result)
Example #10
0
 def getReplies(self, mid):
     dao = MessageDAO()
     replies = dao.getReplies(mid)
     result_list = []
     for row in replies:
         result_list.append(self.build_message_dict(row))
     return jsonify(Replies=result_list)
Example #11
0
 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)
Example #12
0
 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)
Example #13
0
 def dislikeMessage(self, pID, mID):
     dao = MessageDAO()
     pid, mid, rType = dao.dislikeMessage(pID, mID)
     result = {}
     result['pid'] = pid
     result['mid'] = mid
     result['rType'] = rType
     dao.closeDB()
     return jsonify(Disliked=result), 201
Example #14
0
 def getAllMessageLikesByMID(self, mid):
     dao = MessageDAO()
     result = dao.getAllMessageLikesByMID(mid)
     mapped_result = []
     if len(result) == 0:
         return jsonify(Error="Not Found"), 404
     for r in result:
         mapped_result.append(self.mapMsgReactionToDict(r))
     return jsonify(MessageLikes=mapped_result)
Example #15
0
 def getAllMessagesByUser(self, uid):
     dao = MessageDAO()
     result = dao.getAllMessagesByUser(uid)
     mapped_result = []
     if len(result) == 0:
         return jsonify(Error="Not Found"), 404
     for r in result:
         mapped_result.append(self.mapUserMsgToDict(r))
     return jsonify(Messages=mapped_result)
Example #16
0
 def getUsersThatDislikedMessageByMID(self, mid):
     dao = MessageDAO()
     result = dao.getUsersThatDislikedMessageByMID(mid)
     mapped_result = []
     if not result:
         return jsonify(Error="Not Found"), 404
     for row in result:
         mapped_result.append(self.mapUserToDict(row))
     return jsonify(Users=mapped_result)
Example #17
0
 def findUserMessages(self, user_id):
     dao = MessageDAO()
     result = dao.searchByUserId(user_id)
     if result == None:
         return jsonify(Error="CHAT NOT FOUND")
     else:
         mapped_result = []
         for r in result:
             mapped_result.append(self.mapToDict(r))
         return jsonify(Messages=mapped_result)
Example #18
0
 def findGroupMessages(self, group_id):
     dao = MessageDAO()
     result = dao.searchMessagesByGroupId2(group_id)
     if result == None:
         return jsonify(Error="CHAT NOT FOUND")
     else:
         mapped_result = []
         for r in result:
             mapped_result.append(self.mapToDict2(r))
         return jsonify(Messages=mapped_result)
Example #19
0
 def getNumOfActiveUsersPerDay(self):
     dao = MessageDAO()
     results = dao.getNumOfActiveUsersPerDay()
     mapped_results = []
     for result in results:
         dict = {}
         dict['day'] = result[0]
         dict['count'] = result[1]
         mapped_results.append(dict)
     dao.closeDB()
     return jsonify(NumOfActiveUsersPerDay=mapped_results)
Example #20
0
    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)
Example #21
0
 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)
Example #22
0
 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)
Example #23
0
 def searchMessages(self, args):
     username = args.get("username")
     hashtag = args.get("hashtag")
     dao = MessageDAO()
     if (len(args) == 1) and username:
         message_list = dao.getAllMessagesByUsername(username)
     elif (len(args) == 1) and hashtag:
         message_list = dao.getAllMessagesWithHashtagINFO(hashtag)
     else:
         return jsonify(Error="Malformed query string"), 400
     result_list = []
     for row in message_list:
         result_list.append(self.build_message_dict(row))
     return jsonify(Message_list=result_list)
Example #24
0
    def findGroupMessagesByUser(self, group_id, user_id):

        dao = MessageDAO()
        results = dao.searchByUser_And_GroupID(group_id, user_id)

        if results == None:
            return jsonify(Error="NO DATA FOUND")
        else:

            mapped_result = []
            for r in results:
                mapped_result.append(self.mapToDict(r))

            return jsonify(Messages=mapped_result)
Example #25
0
 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)
Example #26
0
    def insertMessageDislikeJson(self, json):
        uid = json["uid"]
        mid = json["mid"]
        mrtimestamp = json["mrtimestamp"]
        mrlike = "false"

        if uid != None and mid != None and mrtimestamp != None:
            dao = MessageDAO()
            dao.insertLikeDislike(uid, mid, mrlike, mrtimestamp)
            result = self.buildLikeDislikeAttributes(uid, mid, mrlike,
                                                     mrtimestamp)
            return jsonify(Dislike=result), 201
        else:
            return jsonify(Error="Unexpected attributes in post request"), 400
Example #27
0
    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
Example #28
0
 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)
Example #29
0
 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)
Example #30
0
    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)