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)
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)
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)
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)
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
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)
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
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
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
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
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
def getGroupAdminInfo(self, gid): dao = GroupsDAO() admin = dao.getGroupAdminINFO(gid) result = self.build_user_dict(admin) return jsonify(Admin=result)