from __future__ import annotations from typing import Optional from pydantic import BaseModel class PlantCreate(BaseModel): common_name: str latin_binomial: Optional[str] = None variety: Optional[str] = None location_id: Optional[int] = None planting_date: Optional[str] = None rootstock: Optional[str] = None scion_source: Optional[str] = None graft_date: Optional[str] = None days_to_maturity: Optional[int] = None notes: Optional[str] = None class PlantUpdate(BaseModel): common_name: Optional[str] = None latin_binomial: Optional[str] = None variety: Optional[str] = None location_id: Optional[int] = None planting_date: Optional[str] = None rootstock: Optional[str] = None scion_source: Optional[str] = None graft_date: Optional[str] = None days_to_maturity: Optional[int] = None notes: Optional[str] = None class PlantOut(BaseModel): id: int common_name: str latin_binomial: Optional[str] variety: Optional[str] location_id: Optional[int] planting_date: Optional[str] rootstock: Optional[str] scion_source: Optional[str] graft_date: Optional[str] days_to_maturity: Optional[int] notes: Optional[str] created_at: str updated_at: str