Esempio n. 1
0
 def delete(self, username):
     try:
         user = User.get_user(username)
         user.delete()
         return None, 204
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 2
0
 def delete(self, team_name):
     try:
         team = Team.get_team(team_name)
         team.delete()
         return None, 204
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 3
0
 def get(self, username):
     try:
         user = User.get_user(username)
         result = user_schema.dump(user)
         return Success(result).to_json(), 200
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 4
0
 def get(self, team_name):
     try:
         team = Team.get_team(team_name)
         result = team_schema.dump(team)
         return Success(result).to_json(), 200
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 5
0
    def patch(self, team_name):
        try:
            team = Team.get_team(team_name)
            data = team_patch_schema.load(request.get_json())
            board_position = data.get("board_position")
            status = data.get("status")

            if board_position is not None:
                team.set_board_position(board_position)

            if team.board_position is not None and status is not None:
                team.status = status
                whiteboard.set_status(team.board_position, status)
            team.save()
            return None, 204
        except ValidationError as err:
            return Error(str(err)).to_json(), 400
        except whiteboard.WhiteboardError as err:
            return Error(str(err)).to_json(), 400
Esempio n. 6
0
 def put(self, team_name):
     try:
         team = Team.get_team(team_name)
         data = team_put_schema.load(request.get_json())
         for k, v in data.items():
             setattr(team, k, v)
         team.save()
         return None, 204
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 7
0
 def patch(self, username):
     try:
         user = User.get_user(username)
         teams = user_patch_schema.load(request.get_json())["teams"]
         current_app.logger.debug(teams)
         for t in teams:
             team_name = t["name"]
             team = Team.get_team(team_name)
             user._teams.append(team)
         user.save()
         return None, 204
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 8
0
 def delete(self, team_name, user_name):
     try:
         team = Team.get_team(team_name)
         user = User.get_user(user_name)
         team._members.remove(user)
         team.save()
         return None, 204
     except ValueError:
         return (
             Fail(f"User: {user_name} not found on Team: {team_name}").
             to_json(),
             404,
         )
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 9
0
 def post(self):
     try:
         data = post_team_schema.load(request.get_json())
         Team.validate_non_existance(data["name"])
         position = data.get("board_position")
         team = Team()
         team.name = data.get("name")
         team.location = data.get("location")
         if position is not None:
             Team.is_team_at_board_position(position)
             team.board_position = position
         team.save()
         return Success(f"Team {team.name} created").to_json(), 204
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 10
0
 def post(self):
     try:
         data = users_post_schema.load(request.get_json())
         username = data["username"]
         User.validate_non_existance(username)
         new_user = User(username=username)
         teams = data.get("teams")
         if teams is not None and len(teams) > 0:
             for t in teams:
                 team_name = t["name"]
                 team = Team.get_team(team_name)
                 new_user._teams.append(team)
         new_user.save()
         return Success(
             f"user {username} created successfully").to_json(), 201
     except ValidationError as err:
         return Error(str(err)).to_json(), 400
Esempio n. 11
0
 def put(self, username):
     try:
         user = User.get_user(username)
         user._teams = []
         teams = user_put_schema.load(request.get_json())["teams"]
         current_app.logger.debug(teams)
         for t in teams:
             team_name = t["name"]
             team = Team.get_team(team_name)
             if team is None:
                 return Fail(
                     f"Team {team_name} does not exist").to_json(), 400
             user._teams.append(team)
         user.save()
         return None, 204
     except ValidationError as err:
         return Error(str(err)).to_json(), 400