from pydantic import BaseModel from datetime import datetime from typing import Optional from .user import User from .destination import Destination class TripBase(BaseModel): title: str description: Optional[str] = None destination_id: int start_date: datetime end_date: datetime budget: Optional[float] = None status: Optional[str] = "planned" class TripCreate(TripBase): pass class TripUpdate(BaseModel): title: Optional[str] = None description: Optional[str] = None destination_id: Optional[int] = None start_date: Optional[datetime] = None end_date: Optional[datetime] = None budget: Optional[float] = None status: Optional[str] = None class Trip(TripBase): id: int user_id: int created_at: datetime updated_at: Optional[datetime] = None user: Optional[User] = None destination: Optional[Destination] = None class Config: from_attributes = True