+
    i                        R t ^ RIHtHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHtHt ]! RR	.R
7      t ! R R]4      t ! R R]4      t]P)                  R4      ]! ]4      3R R ll4       t]P-                  R4      ]! ]4      3R R ll4       t]P1                  R4      ]! ]4      3R R ll4       t]P5                  R4      ]! ]4      3R R ll4       t]P)                  R4      ]! ]4      3R R ll4       t]P)                  R4      ]! ]4      3R R ll4       t]P-                  R4      ]! ]4      3R  R! ll4       t]P5                  R"4      ]! ]4      3R# R$ ll4       tR%# )&u%   
Routes FastAPI pour les opérateurs
)	APIRouterDependsHTTPExceptionSession)	BaseModel)Optional)datetime)get_db)	OperateurAbsenceOperateurz/api/operateurs
operateurs)prefixtagsc                   8   a  ] tR t^t o RtRtRtV 3R ltRtV t	R# )OperateurCreateNz#4facfe
productionc                   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   # )   nomprenompostecouleur	categorie)strr   )format__classdict__s   "gC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\app\routes\operateurs.py__annotate__OperateurCreate.__annotate__   sL     	H K  C=  c]&	 
 }+      )
__name__
__module____qualname____firstlineno__r   r   r   __annotate_func____static_attributes____classdictcell__r   s   @r   r   r      s       E&G+I  r    r   c                   0   a  ] tR t^t o RtV 3R ltRtV tR# )AbsenceCreateNc                f   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R&   # )r   operateur_idtype
date_debutdate_fincommentaire)intr   r   )r   r   s   "r   r   AbsenceCreate.__annotate__   sC      
I  O  M	 
 #% r    r!   )r"   r#   r$   r%   r1   r&   r'   r(   r)   s   @r   r+   r+      s     
 "&K  r    r+   /c                $    V ^8  d   QhR\         /# r   dbr   )r   s   "r   r   r   !   s     [ [ [r    c                 Z   V P                  \        4      P                  \        P                  ^8H  4      P	                  4       pV Uu. uFW  pRVP
                  RVP                  RVP                  RVP                  RVP                  RVP                  ;'       g    R/NKY  	  up# u upi )   idr   r   r   r   r   r   )queryr   filteractifallr:   r   r   r   r   r   )r7   opsos   &  r   liste_operateursrA       s    
((9

$
$Y__%9
:
>
>
@C WZ  [  WZ  RST144x7AGGYXYXaXacnpqp{p{  qL  qL  @L  M  WZ  [  [  [s   AB(B(c                0    V ^8  d   QhR\         R\        /# r   datar7   )r   r   )r   s   "r   r   r   '   s      / w r    c                    \        V P                  V P                  V P                  V P                  \
        P                  ! 4       P                  4       R 7      pVP                  V4       VP                  4        VP                  V4       V# ))r   r   r   r   date_creation)r   r   r   r   r   r	   utcnow	isoformataddcommitrefresh)rD   r7   ops   && r   creer_operateurrM   &   sa    	HH{{jjoo'113
B FF2JIIKJJrNIr    z/{op_id}c                <    V ^8  d   QhR\         R\        R\        /# )r   op_idrD   r7   )r2   r   r   )r   s   "r   r   r   6   s!     
 
c 
 
g 
r    c                    VP                  \        4      P                  \        P                  V 8H  4      P	                  4       pV'       g   \        R R4      hVP                  Vn        VP                  Vn        VP                  Vn        VP                  Vn	        VP                  ;'       g    RVn
        VP                  4        V# )     Opérateur introuvabler   )r;   r   r<   r:   firstr   r   r   r   r   r   rJ   )rO   rD   r7   rL   s   &&& r   modifier_operateurrT   5   s    	)		#	#ILLE$9	:	@	@	BBC!9::XXBFBIzzBHBJ>>11\BLIIKIr    c                0    V ^8  d   QhR\         R\        /# r   rO   r7   r2   r   )r   s   "r   r   r   D   s      s  r    c                     VP                  \        4      P                  \        P                  V 8H  4      P	                  4       pV'       g   \        R R4      h^ Vn        VP                  4        RR/# )rQ   rR   okT)r;   r   r<   r:   rS   r   r=   rJ   )rO   r7   rL   s   && r   supprimer_operateurrZ   C   sX    	)		#	#ILLE$9	:	@	@	BBC!9::BHIIK$<r    z/{op_id}/absencesc                0    V ^8  d   QhR\         R\        /# rV   rW   )r   s   "r   r   r   N   s      # 7 r    c                     VP                  \        4      P                  \        P                  V 8H  4      P	                  4       # N)r;   r   r<   r-   r>   )rO   r7   s   &&r   liste_absencesr^   M   s4    88$%,,%%.	cer    z/absences/allc                $    V ^8  d   QhR\         /# r6   r   )r   s   "r   r   r   U   s     , , ,r    c                 H    V P                  \        4      P                  4       # r]   )r;   r   r>   )r7   s   &r   toutes_absencesra   T   s    88$%))++r    z
/absences/c                0    V ^8  d   QhR\         R\        /# rC   )r+   r   )r   s   "r   r   r   Z   s       7 r    c                     \        V P                  V P                  V P                  V P                  V P
                  R 7      pVP                  V4       VP                  4        VP                  V4       V# ))r-   r.   r/   r0   r1   )	r   r-   r.   r/   r0   r1   rI   rJ   rK   )rD   r7   absences   && r   creer_absencere   Y   sZ    &&YY??$$G FF7OIIKJJwNr    z/absences/{absence_id}c                0    V ^8  d   QhR\         R\        /# )r   
absence_idr7   rW   )r   s   "r   r   r   i   s      # 7 r    c                     VP                  \        4      P                  \        P                  V 8H  4      P	                  4       pV'       g   \        R R4      hVP                  V4       VP                  4        RR/# )rQ   zAbsence introuvablerY   T)r;   r   r<   r:   rS   r   deleterJ   )rg   r7   rd   s   && r   supprimer_absencerj   h   sa    hh'(//0@0C0Cz0QRXXZGC!677IIgIIK$<r    N) __doc__fastapir   r   r   sqlalchemy.ormr   pydanticr   typingr   r	   app.databaser
   app.models.operateurr   r   routerr   r+   getrA   postrM   putrT   ri   rZ   r^   ra   re   rj   r!   r    r   <module>rv      so   6 5 "     <	+<.	A,i ,&I & C#*6? [ [
 S9@   JHOPV 
 
 z29&/    -4V_  ! O")&/ , , \5<V_   '(5<V_  )r    