+
    i_                         R t ^ RIHtHt ^ RIHt ^ RIHt  ! R R]4      t ! R R]4      t ! R R	]4      t	 ! R
 R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )u2   
Schémas Pydantic pour la validation des projets
)	BaseModelField)Optional)datetimec                      a  ] tR t^	t o Rt]! R^^2R7      t]! R^^R7      t]! RRR7      t]! RR7      t	R	t
R	tR	tR	tR	t]! R^^
R7      t]! R^^dR7      tR	tR	tR	tR	tR	tV 3R
 ltRtV tR	# )
ProjetBaseu   Schéma de base pour un projet.)
min_length
max_lengthz#4facfez^#[0-9A-Fa-f]{6}$)defaultpatternen_cours)r
   Nc                  < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[S[,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R	&   S[ ;R
&   S[ ;R&   S[ ;R&   S[S[,          ;R&   S[S[ ,          ;R&   S[S[,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   # )   numero_affairenomcouleurstatut	client_idcontact_projet_nomcontact_projet_telcontact_chantier_nomcontact_chantier_teladresse_chantiercode_postal_chantierville_chantierdate_reception_armatures
armaturierdate_livraison_chantierconsignes_chargement)strr   intr   )format__classdict__s   "dC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\app\schemas\projet.py__annotate__ProjetBase.__annotate__	   s
    A  
7  I	 
 +  }#  !,  !,  #3-.  #3-.    G   B! $ 'x07% & $' ( &h/6) * #3-.+ , #3-.-      )__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __annotate_func____static_attributes____classdictcell__r"   s   @r#   r   r   	   s     (bANSQ37C4HIG
+F#I(,(,*.*. !&caB GcBN37 $J26*.*.-  r&   r   c                       ] tR t^"tRtRtR# )ProjetCreateu   Schéma pour créer un projetr'   N)r(   r)   r*   r+   r,   r.   r'   r&   r#   r2   r2   "   s    'r&   r2   c                   t   a  ] tR t^'t o RtRtRtRtRtRt	Rt
RtRtRtRtRtRtRtRtRtRtRtV 3R ltRtV tR# )ProjetUpdateu%   Schéma pour mettre à jour un projetNc                  < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R	&   S[ S[,          ;R
&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   # )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   actifr   r   r    r   )r!   r"   s   "r#   r$   ProjetUpdate.__annotate__'   s&    SM(  
#  c]!	 
 SM   }#  !,  !,  #3-.  #3-.  sm*  #3-.  SM(  'x07  $   &h/6! " #3-.# $ C=% r&   r'   )r(   r)   r*   r+   r,   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r-   r.   r/   r0   s   @r#   r4   r4   '   sm     /$(NC!G F#I(,(,*.*.&**.$(N37 $J26*.E%  r&   r4   c                   L   a  ] tR t^<t o RtRtRt ! R R4      tV 3R ltRt	V t
R# )ProjetResponseu"   Schéma de réponse pour un projetN
en_attentec                       ] tR t^HtRtRtR# )ProjetResponse.ConfigTr'   Nr(   r)   r*   r+   from_attributesr.   r'   r&   r#   Configr=   H       r&   r@   c                   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R&   S[ ;R&   S[S[,          ;R	&   # )
r   idpoids_totalnb_transportsconvoi_exceptionneldate_creationdate_modificationdate_archivager6   statut_realisation)r    floatboolr   r   r   )r!   r"   s   "r#   r$   ProjetResponse.__annotate__<   s     G    	 
        X&-  J  !4 r&   r'   )r(   r)   r*   r+   r,   rI   rJ   r@   r-   r.   r/   r0   s   @r#   r:   r:   <   s&     , *.N(4   r&   r:   c                   @   a  ] tR t^Kt o ^ tRtRtRtRtV 3R lt	Rt
V tR# )
NiveauBaseNc                   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[S[,          ;R&   S[S[ ,          ;R&   S[S[,          ;R&   S[S[ ,          ;R&   # r   r   ordrer   r   r   r   )r   r    r   r   )r!   r"   s   "r#   r$   NiveauBase.__annotate__K   s_     	H N  'x07  $	 
 &h/6  #3-. r&   r'   )r(   r)   r*   r+   rR   r   r   r   r   r-   r.   r/   r0   s   @r#   rO   rO   K   s(     E37 $J26*.  r&   rO   c                   ,   a  ] tR t^St o V 3R ltRtV tR# )NiveauCreatec                &   < V ^8  d   Qh/ S[ ;R&   # )r   	projet_id)r    )r!   r"   s   "r#   r$   NiveauCreate.__annotate__S   s     N r&   r'   N)r(   r)   r*   r+   r-   r.   r/   r0   s   @r#   rU   rU   S   s      r&   rU   c                   D   a  ] tR t^Vt o RtRtRtRtRtRt	V 3R lt
RtV tR# )NiveauUpdateNc                   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   # rQ   r7   )r!   r"   s   "r#   r$   NiveauUpdate.__annotate__V   si     	# C=  'x07  $	 
 &h/6  #3-. r&   r'   )r(   r)   r*   r+   r   rR   r   r   r   r   r-   r.   r/   r0   s   @r#   rZ   rZ   V   s-     CE37 $J26*.  r&   rZ   c                   @   a  ] tR t^^t o  ! R R4      tV 3R ltRtV tR# )NiveauResponsec                       ] tR t^btRtRtR# )NiveauResponse.ConfigTr'   Nr>   r'   r&   r#   r@   r`   b   rA   r&   r@   c                >   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   # )r   rC   rW   rG   )r    r   )r!   r"   s   "r#   r$   NiveauResponse.__annotate__^   s&     G N   r&   r'   N)r(   r)   r*   r+   r@   r-   r.   r/   r0   s   @r#   r^   r^   ^   s      	  r&   r^   N)r,   pydanticr   r   typingr   r   r   r2   r4   r:   rO   rU   rZ   r^   r'   r&   r#   <module>re      su    &  / /2	: 	
 9  *Z / /: /9 /Z r&   