2025-05-07 21:05:59 +00:00

31 lines
1.2 KiB
Python

from pydantic import BaseModel, Field
from typing import Optional
from datetime import datetime
import uuid
class MovieBase(BaseModel):
title: str = Field(..., description="Movie title")
description: Optional[str] = Field(None, description="Movie description")
release_year: int = Field(..., description="Movie release year")
runtime: Optional[int] = Field(None, description="Movie runtime in minutes")
rating: Optional[int] = Field(None, description="Movie rating")
director_id: uuid.UUID = Field(..., description="ID of the movie director")
class MovieCreate(MovieBase):
pass
class MovieUpdate(MovieBase):
title: Optional[str] = Field(None, description="Movie title")
description: Optional[str] = Field(None, description="Movie description")
release_year: Optional[int] = Field(None, description="Movie release year")
runtime: Optional[int] = Field(None, description="Movie runtime in minutes")
rating: Optional[int] = Field(None, description="Movie rating")
director_id: Optional[uuid.UUID] = Field(None, description="ID of the movie director")
class MovieSchema(MovieBase):
id: uuid.UUID
created_at: datetime
updated_at: datetime
class Config:
orm_mode = True