
    h                        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	 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 y,)-    )	BaseModelEmailStr
ConfigDict)OptionalList)UUID)datetime)CandidateStatusApplicationStatusDocumentTypec                       e Zd Z ed      Zy)
BaseSchemaT)from_attributesN)__name__
__module____qualname__r   model_config     B/home/www/40-admission.kofcorporation.com/app/schemas/candidate.pyr   r      s    d3Lr   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
<   y)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      sg    ONOE8C=%)J")!GXc]!!%K#%)-#-%)OXc])r   r   c                       e Zd Zy)CandidateCreateNr   r   r   r   r   r   r%   r%          r   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<   y)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_-4r   r)   c                   @    e Zd ZU eed<   eed<   eed<   dZee   ed<   y)CandidateResponseidr*   
created_atN
updated_at)	r   r   r   intr#   r
   r	   r/   r   r   r   r   r,   r,   &   s"    G##%)J")r   r,   c                   6    e Zd ZU dZee   ed<   dZee   ed<   y)ApplicationBaseNmotivation_letteradditional_info)r   r   r   r3   r   r"   r#   r4   r   r   r   r2   r2   -   s    '+x}+%)OXc])r   r2   c                   "    e Zd ZU eed<   eed<   y)ApplicationCreate
project_idcandidate_idNr   r   r   r0   r#   r   r   r   r6   r6   1   s    Or   r6   c                   J    e Zd ZU dZee   ed<   dZee   ed<   dZ	ee   ed<   y)ApplicationUpdateNstatusr3   r4   )
r   r   r   r<   r   r   r#   r3   r"   r4   r   r   r   r;   r;   5   s/    *.FH&'.'+x}+%)OXc])r   r;   c                   J    e Zd ZU eed<   eed<   eed<   eed<   dZee   ed<   y)ApplicationResponser8   r7   r<   
applied_atNr/   )	r   r   r   r0   r#   r   r	   r/   r   r   r   r   r>   r>   :   s(    O%)J")r   r>   c                   "    e Zd ZU eed<   eed<   y)DocumentBase	file_namedocument_typeN)r   r   r   r"   r#   r   r   r   r   rA   rA   B   s    Nr   rA   c                       e Zd Zy)DocumentCreateNr&   r   r   r   rE   rE   F   r'   r   rE   c                   J    e Zd ZU eed<   eed<   eed<   dZee   ed<   eed<   y)DocumentResponser-   r8   	file_pathN	file_sizeuploaded_at)	r   r   r   r0   r#   r"   rI   r   r	   r   r   r   rG   rG   I   s&    GN#Ix}#r   rG   c                   &    e Zd ZU eed<   dZeed<   y)NoteBasecontentFis_importantN)r   r   r   r"   r#   rN   boolr   r   r   rL   rL   Q   s    LL$r   rL   c                       e Zd ZU eed<   y)
NoteCreater8   Nr9   r   r   r   rQ   rQ   U   s    r   rQ   c                   6    e Zd ZU dZee   ed<   dZee   ed<   y)
NoteUpdateNrM   rN   )	r   r   r   rM   r   r"   r#   rN   rO   r   r   r   rS   rS   X   s    !GXc]!#'L(4.'r   rS   c                   6    e Zd ZU eed<   eed<   eed<   eed<   y)NoteResponser-   r8   user_idr.   N)r   r   r   r0   r#   r   r	   r   r   r   rU   rU   \   s    GMr   rU   c                   J    e Zd ZU dZee   ed<   dZee   ed<   dZ	ee
   ed<   y)CandidateFilterNr<   searchr7   )r   r   r   r<   r   r
   r#   rY   r"   r7   r0   r   r   r   rX   rX   c   s-    (,FH_%, FHSM  $J$r   rX   c                   J    e Zd ZU dZee   ed<   dZee   ed<   dZ	ee   ed<   y)ApplicationFilterNr<   r7   r8   )
r   r   r   r<   r   r   r#   r7   r0   r8   r   r   r   r[   r[   h   s.    *.FH&'. $J$"&L(3-&r   r[   c                   "    e Zd ZU eed<   eed<   y)AICandidateAssessRequestr8   r7   Nr9   r   r   r   r]   r]   n   s    Or   r]   N)!pydanticr   r   r   typingr   r   uuidr   r	   app.models.baser
   r   r   r   r   r%   r)   r,   r2   r6   r;   r>   rA   rE   rG   rL   rQ   rS   rU   rX   r[   r]   r   r   r   <module>rb      s   4 4 !   L L4 4	*I 	*	m 	
5i 
5*
M **i * *	 *
**o * 9  	\ 	z< y  ( (:x %i %
'	 'y r   