from __future__ import annotations from dataclasses import dataclass, field from pathlib import Path from typing import Any from racing_reports.reports.bundle import ReportBundle @dataclass(frozen=True) class ReportRequest: league: str season: str home_team: str away_team: str report_types: list[str] match_id: str = "" match_date: str = "" # fecha del partido (para resolver el matchId si no vino) settings: dict[str, dict[str, Any]] = field(default_factory=dict) @dataclass(frozen=True) class ReportResult: output_dir: Path html_paths: dict[str, Path] manifest_path: Path bundles: dict[str, ReportBundle] = field(default_factory=dict) @dataclass(frozen=True) class MatchInfo: match_id: str date: str league: str season: str home_team: str away_team: str home_team_id: str away_team_id: str