2주차 과제 - 김현수

필수 과제 제출합니다. 추가 과제는 도전 중입니다.

근데 이렇게 하는게 맞을까요? identity_client 객체를 통해 요청해서 User같은 객체를 받는게 더 직관적인 것 같은데.. 명세를 찾기가 쉽지 않네요.

take_action()에 추가하여 구현하였습니다.


        columns: tuple[str, ...] = (
            'id',
            'name',
            'status',
            'project_name',  # added
            'user_name',  # added
        )
        column_headers: tuple[str, ...] = (
            'ID',
            'Name',
            'Status',
            'Project Name',  # added
            'User Name',  # added
        )

        try:
            auth_ref = identity_client.users.api.session.auth.auth_ref
            current_username = auth_ref.username
            print(f"Current authenticated user: {current_username}")
        except Exception as e:
            print(f"Failed to get current user: {e}")
            current_username = "Unknown"

        for s in data:
            # Project Name - location.project.name 사용
            if hasattr(s, 'location') and s.location and hasattr(s.location, 'project'):
                s.project_name = s.location.project.name
            else:
                s.project_name = getattr(s, 'tenant_id', 'N/A')

            # User Name - 현재 사용자명 사용
            user_id = getattr(s, 'user_id', None)
            if user_id == auth_ref.user_id:
                s.user_name = current_username
            else:
                # 다른 사용자의 서버인 경우 ID만 표시
                s.user_name = user_id if user_id else 'N/A'