示例#1
0
 def getAllGroupsAdminByUser(self, pid):
     dao = GroupsDAO()
     group_list = dao.getAllGroupsAdminByUserINFO(pid)
     result_list = []
     for row in group_list:
         result_list.append(self.build_group_dict(row))
     return jsonify(Groups=result_list)
示例#2
0
 def getGroupMembersINFO(self, gid):
     dao = GroupsDAO()
     member_list = dao.getGroupMembersINFO(gid)
     result_list = []
     for row in member_list:
         result_list.append(self.build_user_dict(row))
     return jsonify(Members=result_list)
示例#3
0
 def getGroupByGroupNameINFO(self, gname):
     dao = GroupsDAO()
     group_list = dao.getGroupByGroupNameINFO(gname)
     result_list = []
     for row in group_list:
         result_list.append(self.build_group_dict(row))
     return jsonify(Groups=result_list)
示例#4
0
 def getAllGroupsINFO(self):
     dao = GroupsDAO()
     group_list = dao.getAllGroupsINFO()
     result_list = []
     for row in group_list:
         result_list.append(self.build_group_dict(row))
     return jsonify(Groups=result_list)
示例#5
0
 def delete(self, gid):
     dao = GroupsDAO()
     if not dao.getGroupByIdINFO(gid):
         return jsonify(Error="User not found."), 404
     else:
         dao.delete(gid)
         return jsonify(DeleteStatus="OK"), 200
示例#6
0
 def getGroupByIdINFO(self, gid):
     dao = GroupsDAO()
     row = dao.getGroupByIdINFO(gid)
     if not row:
         return jsonify(Error="Group Not Found"), 404
     else:
         group = self.build_group_dict(row)
         return jsonify(Group=group)
示例#7
0
 def createGroup(self, pid, json):
     if len(json) != 1:
         return jsonify(Error="Malformed post request"), 400
     else:
         gname = json['gname']
         if gname:
             dao = GroupsDAO()
             gid = dao.insertGroup(gname, pid)
             result = self.build_group_attributes(gid, gname, pid)
             return jsonify(new_Group=result), 201
         else:
             return jsonify(
                 Error="Unexpected attributes in post request"), 400
示例#8
0
 def insertGroup(self, form):
     if len(form) != 2:
         return jsonify(Error="Malformed post request"), 400
     else:
         gname = form['gname']
         pid = form['pid']
         if gname and pid:
             dao = GroupsDAO()
             gid = dao.insertGroup(gname, pid)
             result = self.build_group_attributes(gid, gname, pid)
             return jsonify(Group=result), 201
         else:
             return jsonify(
                 Error="Unexpected attributes in post request"), 400
示例#9
0
    def addMember(self, pid, json):
        if len(json) != 2:
            return jsonify(Error="Malformed post request"), 400
        else:
            gid = json['gid']
            username = json['username']

            if username and gid:
                member_dao = MembersDAO()
                user_dao = UserDAO()
                group_dao = GroupsDAO()
                if group_dao.getAllGroupsAdminByUserINFO(pid):
                    if gid in group_dao.getAllGroupsAdminByUserINFO(pid)[0]:
                        if user_dao.getUserByUsername(username):
                            user_id = user_dao.getUserByUsername(username)[0]
                            if not user_dao.getUserGroups(user_id):
                                member_dao.insertMember(gid, user_id)
                                result = self.build_member_attributes(
                                    gid, user_id)
                                return jsonify(new_Member=result), 201
                            elif gid not in user_dao.getUserGroups(user_id)[0]:
                                member_dao.insertMember(gid, user_id)
                                result = self.build_member_attributes(
                                    gid, user_id)
                                return jsonify(new_Member=result), 201
                            else:
                                return jsonify(
                                    Error="User is already a member"), 400
                        else:
                            return jsonify(Error="User does not exist"), 400
                    else:
                        return jsonify(
                            Error="You are not administrator of group"), 400
            else:
                return jsonify(
                    Error="Unexpected attributes in post request"), 400
示例#10
0
 def addMessage(self, gid, 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:
                 message_dao = MessageDAO()
                 mid_date = message_dao.insertMessage(content, pid, gid)
                 result = self.build_message_attributes_with_date(
                     mid_date[0], content, 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
示例#11
0
 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
示例#12
0
 def getGroupAdminInfo(self, gid):
     dao = GroupsDAO()
     admin = dao.getGroupAdminINFO(gid)
     result = self.build_user_dict(admin)
     return jsonify(Admin=result)