def get(self, invitation_unid): invitation = TeamInvite.get_by_unid(invitation_unid) if not invitation: return {'status': 'false', 'message': 'No invitation found'}, 404 return {'invitation': invitation.serialize()},200
def get(self): args = self.get_invites_parser.parse_args() user_unid = args['user_unid'] team_unid = args['team_unid'] if team_unid: team = get_team(team_unid) result = TeamInvite.get_by_team_unid(team_unid) else: result = TeamInvite.get_invites() if user_unid: user = get_user(user_unid) team_invites = result.filter_by(invite_user_unid=user_unid) else: team_invites = result invites_serialized = [invite.serialize() for invite in team_invites] return { 'invites': invites_serialized }, 200
def post(self, invitation_unid): args = self.update_parser.parse_args() status = args['status'].lower() invitation = TeamInvite.get_by_unid(invitation_unid) if invitation is None: return {'status': 'false', 'message': 'No invitation found'}, 404 if status == 'accept': user_team = UserTeam(invitation.invite_user_unid, invitation.invite_team_unid, 1) invitation.delete(soft=False) Team.add_participant(invitation.invite_team_unid) return {'status': 'true', 'message': 'Invite accepted'}, 201 elif status in ('decline', 'revoke'): invitation.delete(soft=False) return {'status': 'true', 'message': 'Invitation processed'}, 201 else: return {'status': 'true', 'message': 'Invalid status'}, 400