Exemple #1
0
 def get(self):
     """
     Gets a list of all users
     ---
     tags:
       - admin - users
     produces:
       - application/json
     parameters:
       - in: header
         name: Authorization
         description: Base64 encoded session token
         required: true
         type: string
     responses:
       200:
         description: Users found
       401:
         description: Unauthorized, credentials are invalid
       500:
         description: Internal Server Error
     """
     try:
         user_dto = UserService.get_all_users()
         return user_dto.to_primitive(), 200
     except Exception as e:
         error_msg = f'User list GET - unhandled error: {str(e)}'
         current_app.logger.critical(error_msg)
         return {"error": error_msg}, 500
Exemple #2
0
    def get(self):
        """
        Gets paged list of all usernames
        ---
        tags:
          - user
        produces:
          - application/json
        parameters:
            - in: query
              name: page
              description: Page of results user requested
              type: integer
            - in: query
              name: username
              description: Full or part username
              type: integer
            - in: query
              name: role
              description: Role of User, eg ADMIN, PROJECT_MANAGER
              type: string
            - in: query
              name: level
              description: Level of User, eg BEGINNER
              type: string
        responses:
            200:
                description: Users found
            500:
                description: Internal Server Error
        """
        try:
            query = UserSearchQuery()
            query.page = int(
                request.args.get('page')) if request.args.get('page') else 1
            query.username = request.args.get('username')
            query.mapping_level = request.args.get('level')
            query.role = request.args.get('role')
            query.validate()
        except DataError as e:
            current_app.logger.error(f'Error validating request: {str(e)}')
            return str(e), 400

        try:
            users_dto = UserService.get_all_users(query)
            return users_dto.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