
    bUh                     f   d dl mZmZmZ d dlmZmZ d dlmZ d dlm	Z	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e          Z G d de          Z G d de          Z G d de          Z G d dee          Z G d de          Z G d de          Z G d dee          Z G d de          Z G d d e          Z G d! d"e          Z G d# d$ee          Z G d% d&e          Z G d' d(e          Z G d) d*e          Zd+S ),    )	BaseModelEmailStr
ConfigDict)OptionalList)datetime)CandidateStatusApplicationStatusDocumentTypec                   &    e Zd Z ed          ZdS )
BaseSchemaT)from_attributesN)__name__
__module____qualname__r   model_config     //home/runner/workspace/app/schemas/candidate.pyr   r      s         :d333LLLr   r   c                       e Zd ZU eed<   eed<   eed<   dZee         ed<   dZee	         ed<   dZ
ee         ed<   dZee         ed<   dZee         ed	<   dZee         ed
<   dS )CandidateBase
first_name	last_nameemailNphone
birth_dateaddressnationalityacademic_backgroundwork_experience)r   r   r   str__annotations__r   r   r   r   r   r   r   r   r    r   r   r   r   r      s         OOONNNOOOE8C=%)J")))!GXc]!!!!%K#%%%)-#---%)OXc])))))r   r   c                       e Zd ZdS )CandidateCreateNr   r   r   r   r   r   r$   r$              Dr   r$   c                      e Zd ZU dZee         ed<   dZee         ed<   dZee	         ed<   dZ
ee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed	<   dZee         ed
<   dZee         ed<   dS )CandidateUpdateNr   r   r   r   r   r   r   r   r    status_overall)r   r   r   r   r   r!   r"   r   r   r   r   r   r   r   r   r   r    r)   r	   r   r   r   r(   r(      s          $J$$$#Ix}### $E8H$$$E8C=%)J")))!GXc]!!!!%K#%%%)-#---%)OXc])))04NH_-44444r   r(   c                   H    e Zd ZU eed<   eed<   eed<   dZee         ed<   dS )CandidateResponseidr)   
created_atN
updated_at)	r   r   r   intr"   r	   r   r.   r   r   r   r   r+   r+   %   sH         GGG####%)J")))))r   r+   c                   D    e Zd ZU dZee         ed<   dZee         ed<   dS )ApplicationBaseNmotivation_letteradditional_info)r   r   r   r2   r   r!   r"   r3   r   r   r   r1   r1   ,   s;         '+x}+++%)OXc])))))r   r1   c                   $    e Zd ZU eed<   eed<   dS )ApplicationCreate
project_idcandidate_idNr   r   r   r/   r"   r   r   r   r5   r5   0   s'         OOOr   r5   c                   ^    e Zd ZU dZee         ed<   dZee         ed<   dZ	ee         ed<   dS )ApplicationUpdateNstatusr2   r3   )
r   r   r   r;   r   r
   r"   r2   r!   r3   r   r   r   r:   r:   4   sQ         *.FH&'...'+x}+++%)OXc])))))r   r:   c                   R    e Zd ZU eed<   eed<   eed<   eed<   dZee         ed<   dS )ApplicationResponser7   r6   r;   
applied_atNr.   )	r   r   r   r/   r"   r
   r   r.   r   r   r   r   r=   r=   9   sT         OOO%)J")))))r   r=   c                   $    e Zd ZU eed<   eed<   dS )DocumentBase	file_namedocument_typeN)r   r   r   r!   r"   r   r   r   r   r@   r@   A   s'         NNNr   r@   c                       e Zd ZdS )DocumentCreateNr%   r   r   r   rD   rD   E   r&   r   rD   c                   R    e Zd ZU eed<   eed<   eed<   dZee         ed<   eed<   dS )DocumentResponser,   r7   	file_pathN	file_sizeuploaded_at)	r   r   r   r/   r"   r!   rH   r   r   r   r   r   rF   rF   H   sP         GGGNNN#Ix}###r   rF   c                   (    e Zd ZU eed<   dZeed<   dS )NoteBasecontentFis_importantN)r   r   r   r!   r"   rM   boolr   r   r   rK   rK   P   s+         LLLL$r   rK   c                       e Zd ZU eed<   dS )
NoteCreater7   Nr8   r   r   r   rP   rP   T   s         r   rP   c                   D    e Zd ZU dZee         ed<   dZee         ed<   dS )
NoteUpdateNrL   rM   )	r   r   r   rL   r   r!   r"   rM   rN   r   r   r   rR   rR   W   s:         !GXc]!!!#'L(4.'''''r   rR   c                   8    e Zd ZU eed<   eed<   eed<   eed<   dS )NoteResponser,   r7   user_idr-   N)r   r   r   r/   r"   r   r   r   r   rT   rT   [   s<         GGGLLLr   rT   c                   ^    e Zd ZU dZee         ed<   dZee         ed<   dZ	ee
         ed<   dS )CandidateFilterNr;   searchr6   )r   r   r   r;   r   r	   r"   rX   r!   r6   r/   r   r   r   rW   rW   b   sO         (,FH_%,,, FHSM    $J$$$$$r   rW   c                   ^    e Zd ZU dZee         ed<   dZee         ed<   dZ	ee         ed<   dS )ApplicationFilterNr;   r6   r7   )
r   r   r   r;   r   r
   r"   r6   r/   r7   r   r   r   rZ   rZ   g   sP         *.FH&'... $J$$$"&L(3-&&&&&r   rZ   c                   $    e Zd ZU eed<   eed<   dS )AICandidateAssessRequestr7   r6   Nr8   r   r   r   r\   r\   m   s%         OOOOOr   r\   N)pydanticr   r   r   typingr   r   r   app.models.baser	   r
   r   r   r   r$   r(   r+   r1   r5   r:   r=   r@   rD   rF   rK   rP   rR   rT   rW   rZ   r\   r   r   r   <module>r`      s   4 4 4 4 4 4 4 4 4 4 ! ! ! ! ! ! ! !       L L L L L L L L L L4 4 4 4 4 4 4 4	* 	* 	* 	* 	*I 	* 	* 	*	 	 	 	 	m 	 	 	
5 
5 
5 
5 
5i 
5 
5 
5* * * * *
M * * ** * * * *i * * *       * * * * *	 * * *
* * * * **o * * *         9      	 	 	 	 	\ 	 	 	    z<       y          ( ( ( ( ( ( ( (    :x   % % % % %i % % %
' ' ' ' '	 ' ' '    y     r   