コード例 #1
0
 def post(self, team_id):
     """
     Removes a user from a team
     ---
     tags:
       - teams
     produces:
       - application/json
     parameters:
         - in: header
           name: Authorization
           description: Base64 encoded session token
           required: true
           type: string
           default: Token sessionTokenHere==
         - name: team_id
           in: path
           description: Unique team ID
           required: true
           type: integer
           default: 1
         - in: body
           name: body
           required: true
           description: JSON object to remove user from team
           schema:
             properties:
                 username:
                     type: string
                     default: 1
                     required: true
     responses:
         200:
             description: Member deleted
         403:
             description: Forbidden, if user attempting to ready other messages
         404:
             description: Not found
         500:
             description: Internal Server Error
     """
     try:
         authenticated_user_id = token_auth.current_user()
         username = request.get_json(force=True)["username"]
         request_user = User.get_by_id(authenticated_user_id)
         if (TeamService.is_user_team_manager(team_id,
                                              authenticated_user_id)
                 or request_user.username == username):
             TeamService.leave_team(team_id, username)
             return {"Success": "User removed from the team"}, 200
         else:
             return (
                 {
                     "Error":
                     "You don't have permissions to remove {} from this team."
                     .format(username)
                 },
                 403,
             )
     except NotFound:
         return {"Error": "No team member found"}, 404
     except Exception as e:
         error_msg = f"TeamMembers DELETE - unhandled error: {str(e)}"
         current_app.logger.critical(error_msg)
         return {"Error": error_msg}, 500
コード例 #2
0
 def test_leave_team(self):
     team_id = 1
     username = "******"
     with self.assertRaises(NotFound):
         TeamService.leave_team(team_id, username)