+
    i	                         R t ^ RIHt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# )u2   
Schémas Pydantic pour la validation des clients
)	BaseModelFieldEmailStr)Optional)datetimec                   4  a  ] tR t^	t o Rt]! R^^R7      tRt]! R^R7      t]! R^R7      t	]! R^^R7      t
]! R^^
R7      t]! R^^dR7      t]! R^dR7      tRtRt]! R^dR7      t]! R^
^R7      tRtRt]! R^dR7      t]! R	^ ^dR
7      tRtRtV 3R ltRtV tR# )
ClientBaseu   Schéma de base pour un client.)
min_length
max_lengthN)r
   France)defaultr
   z30 jours fin de moisg        )r   gelec                  < V ^8  d   Qh/ S[ ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[S[ ,          ;R	&   S[S[ ,          ;R
&   S[S[ ,          ;R&   S[ ;R&   S[S[,          ;R&   S[S[ ,          ;R&   S[ ;R&   S[;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   # )   raison_socialeforme_juridiquesiret
numero_tvaadressecode_postalvillepayscivilite_contactprenom_contactnom_contact	telephoneemailposte_contactdelai_paiementremise_pourcentagenotes_commercialesconsignes_chargement)strr   r   float)format__classdict__s   "dC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\app\schemas\client.py__annotate__ClientBase.__annotate__	   s    B  c])  C=5	 
 :  ;  >  9  7  sm*  SM(  #<  =   H$! " C='# & O' ( @) * !,+ , #3-.-      )__name__
__module____qualname____firstlineno____doc__r   r   r   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     (cBN%)O "5E %dr :Js;GSQ2>KsqS9Eh37D&*$(N!&t!<K32"=I $E#'M(>3ON %caC @(,*.-  r*   r   c                       ] tR t^"tRtRtR# )ClientCreateu   Schéma pour créer un clientr+   N)r,   r-   r.   r/   r0   r2   r+   r*   r'   r6   r6   "   s    'r*   r6   c                   |   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RtRtV 3R ltRtV tR# )ClientUpdateuB   Schéma pour mettre à jour un client (tous les champs optionnels)Nc                .  < 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&   S[ S[,          ;R&   S[ S[,          ;R&   # )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   actif)r   r#   r   r$   int)r%   r&   s   "r'   r(   ClientUpdate.__annotate__'   sG    SM(  c])  C=	 
 $  c]!  #%  C=  3-  sm*  SM(  #%  }#  H$  C='   SM(! " !.# $ !,% & #3-.' ( C=) r*   r+   )r,   r-   r.   r/   r0   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r:   r1   r2   r3   r4   s   @r'   r8   r8   '   sr     L$(N%)OE $J!G!%KED&*$(N!%K#I $E#'M$(N*.(,*.E)  r*   r8   c                   D   a  ] tR t^>t o Rt ! R R4      tV 3R ltRtV tR# )ClientResponseu"   Schéma de réponse pour un clientc                       ] tR t^JtRtRtR# )ClientResponse.ConfigTr+   N)r,   r-   r.   r/   from_attributesr2   r+   r*   r'   Configr@   J   s    r*   rB   c                n   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[ ;R&   S[;R&   S[;R&   # )r   idnombre_projetsdate_creationdate_modificationr:   nom_complet_contactville_complete)r;   r   r#   )r%   r&   s   "r'   r(   ClientResponse.__annotate__>   s\     G    	 
    J     r*   r+   N)	r,   r-   r.   r/   r0   rB   r1   r2   r3   r4   s   @r'   r>   r>   >   s     ,   r*   r>   N)r0   pydanticr   r   r   typingr   r   r   r6   r8   r>   r+   r*   r'   <module>rM      sH    0 /  / /2	: 	
 9  .Z r*   