"""Movie application DTOs.""" from dataclasses import dataclass from typing import Optional @dataclass class SearchMovieResponse: """Response from searching for a movie.""" status: str imdb_id: Optional[str] = None title: Optional[str] = None media_type: Optional[str] = None tmdb_id: Optional[int] = None overview: Optional[str] = None release_date: Optional[str] = None vote_average: Optional[float] = None error: Optional[str] = None message: Optional[str] = None def to_dict(self): """Convert to dict for agent compatibility.""" result = {"status": self.status} if self.error: result["error"] = self.error result["message"] = self.message else: if self.imdb_id: result["imdb_id"] = self.imdb_id if self.title: result["title"] = self.title if self.media_type: result["media_type"] = self.media_type if self.tmdb_id: result["tmdb_id"] = self.tmdb_id if self.overview: result["overview"] = self.overview if self.release_date: result["release_date"] = self.release_date if self.vote_average: result["vote_average"] = self.vote_average return result