from datetime import date, datetime from typing import Optional from sqlmodel import Field, SQLModel class Task(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) titre: str description: Optional[str] = None garden_id: Optional[int] = Field(default=None, foreign_key="garden.id") planting_id: Optional[int] = Field(default=None, foreign_key="planting.id") priorite: str = "normale" # basse | normale | haute echeance: Optional[date] = None recurrence: Optional[str] = None # quotidien | hebdomadaire | mensuel statut: str = "a_faire" # a_faire | en_cours | fait | annule created_at: datetime = Field(default_factory=datetime.utcnow) updated_at: datetime = Field(default_factory=datetime.utcnow)