from datetime import datetime from typing import Optional from pydantic import BaseModel # Shared properties class RentalItemBase(BaseModel): name: str description: Optional[str] = None daily_rate: float is_available: bool = True category_id: int # Properties to receive on rental item creation class RentalItemCreate(RentalItemBase): pass # Properties to receive on rental item update class RentalItemUpdate(RentalItemBase): name: Optional[str] = None description: Optional[str] = None daily_rate: Optional[float] = None is_available: Optional[bool] = None category_id: Optional[int] = None # Properties shared by models stored in DB class RentalItemInDBBase(RentalItemBase): id: int created_at: datetime updated_at: datetime class Config: from_attributes = True # Properties to return to client class RentalItem(RentalItemInDBBase): pass