from typing import Optional from datetime import datetime from pydantic import BaseModel # Shared properties class GiftBase(BaseModel): recipient_name: str relationship_to_user: Optional[str] = None occasion: Optional[str] = None name: str description: Optional[str] = None price: Optional[float] = None purchase_url: Optional[str] = None purchased: Optional[bool] = False # Properties to receive via API on creation class GiftCreate(GiftBase): pass # Properties to receive via API on update class GiftUpdate(GiftBase): recipient_name: Optional[str] = None name: Optional[str] = None class GiftInDBBase(GiftBase): id: int user_id: int created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True # Additional properties to return via API class Gift(GiftInDBBase): pass