
    Rh$                     v   d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlZ G d deej
                  Z G d d	eej
                  Z G d
 deej
                  Z G d deej
                  Z G d deej
                  Z G d deej
                  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 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#d d&l m$Z$  e$d'ej%         ed(e ed)          d*+           ed,e ed-          d*+           ed.ed/0           ed1 ed*2           ej&                    3                    Z' G d4 d5e          Z(dS )6    )ColumnIntegerStringFloatDateTimeTextBoolean
ForeignKeyForeignKeyConstraintEnumJSON)relationship)func)BaseNc                       e Zd ZdZdZdZdS )ProjectStatusdraftopenclosedN)__name__
__module____qualname__DRAFTOPENCLOSED      /home/runner/workspace/models.pyr   r      s        EDFFFr   r   c                       e Zd ZdZdZdZdS )CandidateStatusactivearchivedblacklistedN)r   r   r   ACTIVEARCHIVEDBLACKLISTEDr   r   r   r    r       s        FHKKKr   r    c                   "    e Zd ZdZdZdZdZdZdS )ApplicationStatusnew	in_review	interviewrejectedadmittedN)r   r   r   NEW	IN_REVIEW	INTERVIEWREJECTEDADMITTEDr   r   r   r(   r(      s'        
CIIHHHHr   r(   c                       e Zd ZdZdZdZdZdS )DocumentTypecv
transcriptcover_letterotherN)r   r   r   CV
TRANSCRIPTCOVER_LETTEROTHERr   r   r   r4   r4      s"        	BJ!LEEEr   r4   c                       e Zd ZdZdZdZdS )CommunicationTypeemailsmsplatformN)r   r   r   EMAILSMSPLATFORMr   r   r   r>   r>      s        E
CHHHr   r>   c                       e Zd ZdZdZdS )UserRoleadminstaffN)r   r   r   ADMINSTAFFr   r   r   rF   rF   $   s        EEEEr   rF   c                   h   e Zd ZdZ eedd          Z eeddd          Z eed          Z	 eed          Z
 e ee          ej        d          Z eed          Z e ed	           ej                    
          Z edd          Z edd          Z edd          ZdS )UserusersTprimary_keyindexFuniquerP   nullablerS   )defaultrS   rU   timezoneserver_defaultProjectownerback_populatesNoteuserCommunicationN)r   r   r   __tablename__r   r   idr   r?   hashed_password	full_namer   rF   rJ   roler	   	is_activer   r   now
created_atr   projectsnotescommunicationsr   r   r   rL   rL   )   s       M	T	6	6	6BF6$dUCCCEfVe444Ov...I6$$x..(.5IIIDw---I$///

KKKJ |Ig>>>HL777E!\/&IIINNNr   rL   c                      e Zd ZdZ eedd          Z eed          Z ee	          Z
 e ee          ej                  Z e ed           ej                              Z e ed           ej                    	          Z ee ed
          d          Z edd          Z eddd          Z edd          Z eddd          ZdS )r[   rj   TrN   FrT   rV   rW   rY   onupdateusers.idrL   r]   	Criterionprojectall, delete-orphanr^   cascadeApplication	SoftSkillproject_soft_skills	secondaryr^   N)r   r   r   rb   r   r   rc   r   titler   descriptionr   r   r   statusr   r   rh   ri   
updated_atr
   owner_idr   r\   criteriaapplicationssoft_skillsr   r   r   r[   r[   :   s6       M	T	6	6	6BF6E***E&,,KVDD''1DEEEF$///

KKKJ$///($(**EEEJvgzz*55FFFH L
;;;E|K	K_```H<iHHHL,{6K\fgggKKKr   r[   c                   8   e Zd ZdZ eedd          Z eed          Z eed          Z	 eeddd          Z
 ee          Z e ee          ej                  Z e ed           ej                    	          Z e ed           ej                    
          Z ee          Z ee          Z ee          Z ee          Z ee          Z edd          Z eddd          Z eddd          Z eddd          ZdS )	Candidate
candidatesTrN   FrT   rQ   rV   rW   rY   rn   rv   	candidater]   Documentrs   rt   r_   ra   N) r   r   r   rb   r   r   rc   r   
first_name	last_namer?   phoner   r    r$   status_overallr   r   rh   ri   r~   
birth_dater   addressnationalityacademic_backgroundwork_experiencer   r   	documentsrk   rl   r   r   r   r   r   L   s        M	T	6	6	6B///Jv...IF6$dUCCCEF6NNEVDD11?;QRRRN$///

KKKJ$///($(**EEEJ !!JfTllG&..K &,,fTllO  <kJJJLZMabbbILEYZZZE!\/+WklllNNNr   r   c                      e Zd ZdZ ee ed          d          Z ee ed          d          Z e e	e
          e
j                  Z e ed           ej                              Z e ed           ej                    	          Z ee          Z ee          Z ed
d          Z edd          ZdS )rv   r   candidates.idTrO   projects.idrV   rW   rY   rn   r   r]   r[   N)r   r   r   rb   r   r   r
   candidate_id
project_idr   r(   r.   r}   r   r   rh   
applied_atr~   r   motivation_letteradditional_infor   r   rr   r   r   r   rv   rv   f   s       "M6'::o#>#>DQQQLM!:!:MMMJVDD*++5F5JKKKF$///

KKKJ$///($(**EEEJ tfTllO [HHHIl9^DDDGGGr   rv   c                   4   e Zd ZdZ eedd          Z ee ed          d          Z ee	d          Z
 ee	d          Z e ee          d          Z ee          Z e ed           ej                              Z ed	d
          ZdS )r   r   TrN   r   FrT   rW   rY   r   r]   N)r   r   r   rb   r   r   rc   r
   r   r   	file_name	file_pathr   r4   document_type	file_sizer   r   rh   uploaded_atr   r   r   r   r   r   r   x   s        M	T	6	6	6B6'::o#>#>OOOLv...Iv...IF44-->>>MwI&4000LLLK [EEEIIIr   r   c                   :   e Zd ZdZ eedd          Z ee ed          d          Z ee ed          d          Z	 ee
d          Z eed          Z e ed	           ej                    
          Z edd          Z edd          ZdS )r_   rk   TrN   r   FrT   rp   rV   rW   rY   r   r]   rL   N)r   r   r   rb   r   r   rc   r
   r   user_idr   contentr	   is_importantr   r   rh   ri   r   r   r`   r   r   r   r_   r_      s        M	T	6	6	6B6'::o#>#>OOOLfWjj44uEEEGfTE***G6'5111L$///

KKKJ [AAAI<w777DDDr   r_   c                      e Zd ZdZ eedd          Z ee ed          d          Z ee ed          d          Z	 ee
d          Z eed          Z e ee          ej                  Z e ed	           ej                    
          Z eed          Z ee
          Z edd          Z edd          ZdS )ra   rl   TrN   r   FrT   rp   rV   rW   rY   r   r]   rL   N)r   r   r   rb   r   r   rc   r
   r   r   r   subjectr   bodyr   r>   rB   typer   r   rh   sent_atr	   is_templatetemplate_namer   r   r`   r   r   r   ra   ra      s*       $M	T	6	6	6B6'::o#>#>OOOLfWjj44tDDDGfVe,,,G6$'''D6$$())3D3JKKKDfXXt,,,XTXZZHHHG&%000KF6NNM [9IJJJI</?@@@DDDr   ra   c                   $   e Zd ZdZ eedd          Z eed          Z eed          Z ee	          Z
 ee          Z ee          Z ee          Z e ed           ej                              Z edd	gd
dg          fZdS )AIAssessmentai_assessmentsTrN   FrT   rW   rY   r   r   zapplications.candidate_idzapplications.project_idN)r   r   r   rb   r   r   rc   r   r   r   scorer   summaryr   detailsr   model_versionr   r   rh   generated_atr   __table_args__r   r   r   r   r      s        $M	T	6	6	6B6'E222L%000JF5MMEfTllGfTllGF6NNM6((D111($(**MMML 	nl;8:ST	V 	VNNNr   r   c                      e Zd ZdZ eedd          Z ee ed          d          Z ee	d          Z
 eed          Z eed          Z e ed	           ej                    
          Z edd          ZdS )rq   r   TrN   r   FrT   g      ?rV   rW   rY   r[   r]   N)r   r   r   rb   r   r   rc   r
   r   r   r|   r   weightr	   is_mandatoryr   r   rh   ri   r   rr   r   r   r   rq   rq      s        M	T	6	6	6BM!:!:UKKKJ&%000KVE3'''F6'5111L$///

KKKJ l9Z@@@GGGr   rq   c                       e Zd ZdZ eedd          Z eedd          Z ee	          Z
 e ed           ej                              Z edd	d
          ZdS )rw   r   TrN   F)rR   rS   rW   rY   r[   rx   ry   N)r   r   r   rb   r   r   rc   r   namer   r|   r   r   rh   ri   r   rj   r   r   r   rw   rw      s        !M	T	6	6	6B6&666D&,,K$///

KKKJ |I1FWdeeeHHHr   rw   )Tablerx   r   r   Tr   soft_skill_idzsoft_skills.idrequired_level   rV   ri   rW   rY   c                      e Zd ZdZ eedd          Z eed          Z eed          Z	 ee
d          Z e ee          ej                  Z eed          Z ee ed          d          Z e ed           ej                    	          Z e ed           ej                    
          ZdS )CommunicationTemplatecommunication_templatesTrN   FrT   rV   rp   rW   rY   rn   N)r   r   r   rb   r   r   rc   r   r   r   r   r   r   r>   rB   r   r	   rg   r
   
created_byr   r   rh   ri   r~   r   r   r   r   r      s       -M	T	6	6	6B6&5)))DfVe,,,G6$'''D6$$())3D3JKKKDw---IJ!7!7%HHHJ$///

KKKJ$///($(**EEEJJJr   r   ))
sqlalchemyr   r   r   r   r   r   r	   r
   r   r   r   sqlalchemy.ormr   sqlalchemy.sqlr   databaser   enumstrr   r    r(   r4   r>   rF   rL   r[   r   rv   r   r_   ra   r   rq   rw   r   metadatarh   rx   r   r   r   r   <module>r      su   | | | | | | | | | | | | | | | | | | | | | | | | | | ' ' ' ' ' '                 C   
         c49      
    TY       3	       TY   
    sDI   
J J J J J4 J J J"h h h h hd h h h$m m m m m m m m4E E E E E$ E E E$F F F F Ft F F F8 8 8 8 84 8 8 8A A A A AD A A A$    4   &A A A A A A A A	f 	f 	f 	f 	f 	f 	f 	f      eM
F<**]";";NNN
F?GZZ0@%A%AtTTT
FWa000
F<4000LLL  F F F F FD F F F F Fr   