
    OjU                         S r SSKJr  SSKJrJrJrJrJrJrJ	r	  SSK
Jr  SSKJr   " S S\5      r " S S	\5      r " S
 S\5      rg)z5
models.py

SQLAlchemy ORM models for LeafDoctor AI.
    )datetime)ColumnDateTimeFloat
ForeignKeyIntegerStringText)relationship)Basec                       \ rS rSrSrSr\" \SSS9r\" \SSSS9r	\" \
" S5      SS	9r\" \
" S5      SS	9r\" \
" S5      SS	9r\" \
" S5      SS	9r\" \\R"                  SS
9r\" SSSSS9rS rSrg)ProtectionLabel   z 
Master disease/problem labels.
protection_labelsTprimary_keyindexF)uniquenullabler      r   defaultr   TreatmentMappinglabelzall, delete-orphanselectin)back_populatescascadelazyc                 <    SU R                    SU R                   S3$ )Nz<ProtectionLabel(class_id=z	, label='')>)class_idlabel_name_enselfs    &/var/www/html/leaf-doctor-v1/models.py__repr__ProtectionLabel.__repr__5   s-     '(().	
     N)__name__
__module____qualname____firstlineno____doc____tablename__r   r   idr"   r	   r#   label_name_bnprimary_category_enprimary_category_bnr   r   utcnow
created_atr   
treatmentsr'   __static_attributes__r*   r)   r&   r   r      s     (M	T	6BgdU$GH6#;7M6#;6M t< t<J $	J
r)   r   c                   N   \ rS rSrSrSr\" \SSS9r\" \\	" S5      SSS9r
\" \" S	5      SS
9r\" \" S	5      SS
9r\" \" S5      SS
9r\" \" S5      SS
9r\" \SS
9r\" \" S5      SS
9r\" \SS
9r\" \SS
9r\" \SS
9r\" \\R0                  SS9r\" SSSS9r\" SSSS9rS rSrg)r   =   z%
Crop specific recommendation table.
treatment_mappingTr   zprotection_labels.class_idFr   r      r   r   r   r   r7   joinedr   r   DiagnosisHistory	treatmentr   c                 <    SU R                    SU R                   S3$ )Nz<TreatmentMapping(class_id=z, crop='r!   )r"   crop_enr$   s    r&   r'   TreatmentMapping.__repr__m   s*     '\\N#'	
r)   r*   N)r+   r,   r-   r.   r/   r0   r   r   r1   r   r"   r	   rC   crop_bnproblem_type_enproblem_type_bnr
   chemicalchemical_typedosagesms_ensms_bnr   r   r5   r6   r   r   	diagnosesr'   r8   r*   r)   r&   r   r   =   s     (M	T	6B/0	H VC[51GVC[40GVC[48OVC[48OdT*H6#;6MD4(FD4(FD4(FJ #E "I
r)   r   c                   X   \ rS rSrSrSr\" \SSS9r\" \	" S5      SS9r
\" \	" S	5      SS9r\" \	" S	5      SS9r\" \SS9r\" \SS9r\" \\" S
5      SSS9r\" \	" S5      SS9r\" \SS9r\" \	" S	5      SS9r\" \	" S	5      SS9r\" \SS9r\" \\R4                  SS9r\" SSSS9rS rSrg)r@   u   z
Diagnosis history.
diagnosis_historyTr   i  Fr   r   ztreatment_mapping.idr<   d   r   r   rM   r>   r?   c                 V    SU R                    SU R                   SU R                   S3$ )Nz<DiagnosisHistory(id=z, class_id=z, confidence=z)>)r1   r"   
confidencer$   s    r&   r'   DiagnosisHistory.__repr__   s9    ''  '//*".	
r)   r*   N) r+   r,   r-   r.   r/   r0   r   r   r1   r	   
image_pathcrop_detectedpredicted_labelr"   r   rS   r   treatment_idgemini_modelr
   raw_responseverified_labelverified_byr   verified_atr   r5   r6   r   rA   r'   r8   r*   r)   r&   r@   r@   u   s     (M	T	6Bse4J6#;7MVC[59Og.H.J)*	L &+6L$.LF3K$7Nt4KD1KJ "I
r)   r@   N)r/   r   
sqlalchemyr   r   r   r   r   r	   r
   sqlalchemy.ormr   databaser   r   r   r@   r*   r)   r&   <module>ra      sL       ( #
d #
L5
t 5
p4
t 4
r)   