
    KCjW                         d Z ddlmZmZ  G d de      Z G d de      Z G d de      Z G d	 d
e      Z G d de      Zy)u   
Schemas for crop plans (saved planning scenarios) and notifications
(in-app/email alerts) — the data the SaaS dashboard reads and writes
beyond the core analysis flow.
    )	BaseModelFieldc                       e Zd ZU  eddd      Zeed<    eddd      Zeed<    eddd	      Zeed
<    eddd      Z	e
ed<    edd      Zeed<   y)CropPlanCreateRequest.      
min_length
max_lengthname   2   cropd   location   )geleplanting_monthmoderate^(low|moderate|high)$patternrisk_toleranceN)__name__
__module____qualname__r   r   str__annotations__r   r   r   intr        BC:\Crop_Prediction\Backend\crop-ai-system\app\schemas\crop_plan.pyr   r   
   s`    caC8D#8caB7D#7#!<Hc<b1NC1
4KLNCLr"   r   c                   l    e Zd ZU  eddd      Zedz  ed<    edd      Zedz  ed<   dZe	dz  ed	<   y)
CropPlanUpdateRequestNr   r   r	   r   r   r   r   is_archived)
r   r   r   r   r   r   r   r   r&   boolr!   r"   r#   r%   r%      s=    TaC@D#*@!&t5L!MNC$JM#K#r"   r%   c                       e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed	<   d
Zed
z  ed<   d
Zed
z  ed<   y
)CropPlanResponseidr   r   r   r   r   r&   
created_at
updated_atNlatest_feasibility_labellatest_analysis_at)	r   r   r   r   r   r    r'   r-   r.   r!   r"   r#   r)   r)      sP    G
I
IMOO+/cDj/%)d
)r"   r)   c                   Z    e Zd ZU eed<   eed<   eed<   eed<   edz  ed<   eed<   eed<   y)	NotificationResponser*   titlemessageseverityNrelated_crop_plan_idis_readr+   )r   r   r   r   r   r'   r!   r"   r#   r0   r0   &   s*    GJLM*$MOr"   r0   c                   (    e Zd ZU ee   ed<   eed<   y)NotificationListResponsenotificationsunread_countN)r   r   r   listr0   r   r    r!   r"   r#   r7   r7   0   s    ,--r"   r7   N)	__doc__pydanticr   r   r   r%   r)   r0   r7   r!   r"   r#   <module>r=      sM    &MI M$I $*y *9 y r"   