31 lines
575 B
Python
31 lines
575 B
Python
from pydantic import BaseModel
|
|
|
|
|
|
class MoviePayload(BaseModel):
|
|
title: str
|
|
|
|
vote_count: int | None = 0
|
|
vote_average: float | None = None
|
|
|
|
genres: list[str] = []
|
|
description: str = ""
|
|
release_date: str | None = None # Use custom formatted string validation
|
|
|
|
|
|
class MovieObject(MoviePayload):
|
|
id: int | str
|
|
|
|
|
|
class Paginated(BaseModel):
|
|
next_page: str | int | None
|
|
previous_page: str | int | None
|
|
|
|
|
|
class MovieObjectsOut(BaseModel):
|
|
movies: list[MovieObject]
|
|
count: int
|
|
|
|
|
|
class PaginatedMovies(MovieObjectsOut, Paginated):
|
|
pass
|