async def _generate_account_entities(
        self, client: httpx.AsyncClient
    ) -> AsyncGenerator[ChunkEntity, None]:
        """Generate Dropbox account-level entities using the Dropbox API.

        Args:
            client: The HTTPX client instance.

        Yields:
            Account-level entities containing user information from Dropbox.
        """
        # Call the get_current_account endpoint to get account information
        url = "https://api.dropboxapi.com/2/users/get_current_account"

        try:
            # Get account details - pass None instead of {} to send no request body
            account_data = await self._post_with_auth(client, url, None)

            # Process name information
            name_data = account_data.get("name", {})

            # Create and yield the account entity
            yield DropboxAccountEntity(
                # Required ChunkEntity fields
                entity_id=account_data.get("account_id", "dropbox-account"),
                breadcrumbs=[],  # Top-level entity, no breadcrumbs
                # Core identification fields
                account_id=account_data.get("account_id"),
                # Name information
                name=name_data.get("display_name", "Dropbox Account"),
                abbreviated_name=name_data.get("abbreviated_name"),
                familiar_name=name_data.get("familiar_name"),
                given_name=name_data.get("given_name"),
                surname=name_data.get("surname"),
                # Account status and details
                email=account_data.get("email"),
                email_verified=account_data.get("email_verified", False),
                disabled=account_data.get("disabled", False),
                # Account type and relationships
                account_type=(
                    account_data.get("account_type", {}).get(".tag")
                    if account_data.get("account_type")
                    else None
                ),
                is_teammate=account_data.get("is_teammate", False),
                is_paired=account_data.get("is_paired", False),
                team_member_id=account_data.get("team_member_id"),
                # Regional and language settings
                locale=account_data.get("locale"),
                country=account_data.get("country"),
                # URLs and external references
                profile_photo_url=account_data.get("profile_photo_url"),
                referral_link=account_data.get("referral_link"),
                # Team information - keep whole object for reference
                team_info=account_data.get("team"),
                # Root information - keep whole object for reference
                root_info=account_data.get("root_info"),
            )

        except Exception as e:
            # Log error and yield a minimal fallback entity
            logger.error(f"Error fetching Dropbox account info: {str(e)}")
            raise
Generate Dropbox account-level entities using the Dropbox API.

        Args:
            client: The HTTPX client instance.

        Yields:
            Account-level entities containing user information from Dropbox.
        
backend/airweave/platform/sources/dropbox.py