
    2j              
          S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJr  S SKJr  \" S	S
/S9r\R+                  S5      \" \5      \" \5      4S\S\S\
4S jj5       r\R/                  S5      \" SSS9\" \5      \" \5      4S\S\\   S\S\
4S jj5       r\R7                  S5      \" \5      \" \5      4S\S\S\S\
4S jj5       rg)    )Optional)	APIRouterDependsQuerystatus)JSONResponse)Session)get_db)get_current_active_user)	UserLoginStoreFurForm)FurFormClassz
/fur_formsz	FUR Forms)prefixtagsz/storedatasession_userdbc           	      D  #     [        U S5      (       a  U R                  5       OU R                  5       n[        U5      nUR	                  U5      n[        U[        5      (       aA  UR                  S5      S:X  a,  [        [        R                  SUR                  SS5      SS.S	9$ [        [        R                  S
UR                  SS5      SUR                  S5      0S.S	9$ ! [         a/  n[        [        R                  S[        U5      SS.S	9s SnA$ SnAff = f7f)z Crea un nuevo FUR (Documento 6).
model_dumpr   error  messagezError guardando FURNr   r   r   status_codecontent   zFormulario FUR guardado.id)hasattrr   dictr   store
isinstancegetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED	Exceptionstr)r   r   r   payloadserviceresultes          NC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routes\fur_forms.pystore_fur_formr-      s    
'.t\'B'B$//#		r"w'fd##

8(<(G"AA#&6::iI^3_imn  //"vzz)E_/`koqwq{q{  }A  rB  kC  D
 	
  
=="s1vtD
 	

sA   D B"C$ &D '<C$ #D $
D.$DDD DD z/student/{student_id}NzVariante FUR, ej. dea)description
student_idfur_variantc                   #     [        U5      nUR                  XS9n[        U[        5      (       aA  UR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      SS.S	9$ [        [        R                  S
SUS.S	9$ ! [         a/  n[        [        R                  S[        U5      SS.S	9s SnA$ SnAff = f7f)uC   Obtiene el último FUR por estudiante (opcionalmente por variante).)r0   r   r     r   FUR no encontrado.Nr   r      OKr   )r   get_by_student_idr"   r    r#   r   r   HTTP_404_NOT_FOUNDHTTP_200_OKr&   r$   r'   )r/   r0   r   r   r)   r*   r+   s          r,   get_fur_form_by_studentr9   +   s     
r"**:*Ofd##

8(<(G"55#&6::iI]3^hlm  (:(:s_cmsDtuu 
=="s1vtD
 	

sA   CA/B 3C4B C
C	$C>C	?CC		Cz/{id}r   c           	      @  #     [        US5      (       a  UR                  5       OUR                  5       n[        U5      nUR	                  X5      n[        U[        5      (       a@  UR                  S5      S:X  a+  [        [        R                  SUR                  SS5      S.S9$ [        [        R                  S	UR                  SS
5      SUR                  S5      0S.S9$ ! [         a.  n[        [        R                  S[        U5      S.S9s SnA$ SnAff = f7f)zActualiza un FUR existente.r   r   r   r2   r   r3   )r   r   r   r4   r5   r   r   r   N)r   r   r    r   updater"   r#   r   r   r7   r8   r&   r$   r'   )r   r   r   r   r(   r)   r*   r+   s           r,   update_fur_formr<   C   s     {'.t\'B'B$//#		r",fd##

8(<(G"55#&6::iI]3^_  **"vzz)T/JUY[a[e[efj[kTlm
 	
  {(M(MberuvwrxWyzz{sA   DB!C# %D&<C# "D#
D-#DDDDD)typingr   fastapir   r   r   r   fastapi.responsesr   sqlalchemy.ormr	   app.backend.db.databaser
   app.backend.auth.auth_userr   app.backend.schemasr   r   "app.backend.classes.fur_form_classr   	fur_formspostr-   r#   intr'   r9   putr<        r,   <module>rK      s7    5 5 * " * > 7 ;
	  &&=>&/



 	
 
4 &' "'t9P!Q%&=>&/	

#
 
 		
 (
. w &&=>&/	{{
{ { 		{ {rJ   