コード例 #1
0
 def test_search_team(self):
     filters = {
         "user_id": 123,
         "team_name_filter": "TM3-validators",
         "team_role_filter": "MAPPER",
         "member_filter": 123,
         "member_request_filter": 123,
         "manager_filter": 123,
         "organisation_filter": 1,
         "omit_members": False,
     }
     result = TeamService.get_all_teams(**filters)
     self.assertEqual(result.to_primitive(), {"teams": []})
コード例 #2
0
    def get(self):
        """
        Gets all teams
        ---
        tags:
          - teams
        produces:
          - application/json
        parameters:
            - in: header
              name: Authorization
              description: Base64 encoded session token
              required: true
              type: string
              default: Token sessionTokenHere==
            - in: query
              name: team_name
              description: name of the team to filter by
              type: str
              default: null
            - in: query
              name: member
              description: user ID to filter teams that the users belongs to, user must be active.
              type: str
              default: null
            - in: query
              name: manager
              description: user ID to filter teams that the users has MANAGER role
              type: str
              default: null
            - in: query
              name: member_request
              description: user ID to filter teams that the user has send invite request to
              type: str
              default: null
            - in: query
              name: team_role
              description: team role for project
              type: str
              default: null
            - in: query
              name: organisation
              description: organisation ID to filter teams
              type: str
              default: null
        responses:
            201:
                description: Team list returned successfully
            400:
                description: Client Error - Invalid Request
            401:
                description: Unauthorized - Invalid credentials
            500:
                description: Internal Server Error
        """
        try:
            user_id = token_auth.current_user()
        except Exception as e:
            error_msg = f"Teams GET - unhandled error: {str(e)}"
            current_app.logger.critical(error_msg)
            return {"Error": error_msg}, 500

        filters = {}

        filters["user_id"] = user_id
        filters["team_name_filter"] = request.args.get("team_name")
        try:
            member_filter = request.args.get("member")
            filters["member_filter"] = int(
                member_filter) if member_filter else None

            manager_filter = request.args.get("manager")
            filters["manager_filter"] = int(
                manager_filter) if manager_filter else None

            role_filter = request.args.get("team_role")
            filters["team_role_filter"] = role_filter

            member_request_filter = request.args.get("member_request")
            filters["member_request_filter"] = (
                int(member_request_filter) if member_request_filter else None)

            organisation_filter = request.args.get("organisation")
            filters["organisation_filter"] = (int(organisation_filter)
                                              if organisation_filter else None)

            teams = TeamService.get_all_teams(**filters)
            return teams.to_primitive(), 200
        except Exception as e:
            error_msg = f"User GET - unhandled error: {str(e)}"
            current_app.logger.critical(error_msg)
            return {"Error": error_msg}, 500