39 lines
828 B
Python
39 lines
828 B
Python
|
|
import uuid
|
||
|
|
from datetime import date, datetime
|
||
|
|
from decimal import Decimal
|
||
|
|
|
||
|
|
from pydantic import BaseModel
|
||
|
|
|
||
|
|
from app.schemas.plant import PlantRead
|
||
|
|
|
||
|
|
|
||
|
|
class PlantingBase(BaseModel):
|
||
|
|
plant_id: uuid.UUID
|
||
|
|
area_m2: Decimal | None = None
|
||
|
|
count: int | None = None
|
||
|
|
planted_date: date | None = None
|
||
|
|
removed_date: date | None = None
|
||
|
|
notes: str | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class PlantingCreate(PlantingBase):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class PlantingUpdate(BaseModel):
|
||
|
|
plant_id: uuid.UUID | None = None
|
||
|
|
area_m2: Decimal | None = None
|
||
|
|
count: int | None = None
|
||
|
|
planted_date: date | None = None
|
||
|
|
removed_date: date | None = None
|
||
|
|
notes: str | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class PlantingRead(PlantingBase):
|
||
|
|
model_config = {"from_attributes": True}
|
||
|
|
|
||
|
|
id: uuid.UUID
|
||
|
|
bed_id: uuid.UUID
|
||
|
|
plant: PlantRead
|
||
|
|
created_at: datetime
|