from dataclasses import dataclass from ..config import get_settings from ..models import PageContext @dataclass(frozen=True) class PageCredentials: page_context: PageContext page_id: str page_token: str page_name: str def get_page_credentials(page_context: PageContext) -> PageCredentials: s = get_settings() slug = page_context.value page_id = s.page_env(slug, "id") page_token = s.page_env(slug, "token") page_name = s.page_env(slug, "name") or slug if not page_id or not page_token: raise ValueError(f"Meta page credentials are not configured for page_context: {slug}") return PageCredentials(page_context, page_id, page_token, page_name)