icm/schemas.py

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