
    4!jZ              
          d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZ  ed	d
g      Zej+                  d       ee       ee      fdedede
fd       Zej/                  d       edd       ee       ee      fdedee   dede
fd       Zej7                  d       ee       ee      fdededede
fd       Zy)    )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           	      >  K   	 t        | d      r| j                         n| j                         }t        |      }|j	                  |      }t        |t              rC|j                  d      dk(  r/t        t        j                  d|j                  dd      dd	      S t        t        j                  d
|j                  dd      d|j                  d      id	      S # t        $ r2}t        t        j                  dt        |      dd	      cY d}~S d}~ww xY ww)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          E/var/www/pie360backend.cl/public_html/app/backend/routes/fur_forms.pystore_fur_formr-      s    
'.t\'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                   K   	 t        |      }|j                  | |      }t        |t              rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      dd	      S t        t        j                  d
d|d	      S # t        $ r2}t        t        j                  dt        |      dd	      cY d}~S d}~ww xY ww)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A0B 4C5B C	C'C
CC
CCz/{id}r   c           	      <  K   	 t        |d      r|j                         n|j                         }t        |      }|j	                  | |      }t        |t              rB|j                  d      dk(  r.t        t        j                  d|j                  dd      d      S t        t        j                  d	|j                  dd
      d|j                  d      id      S # t        $ r1}t        t        j                  dt        |      d      cY d}~S d}~ww xY ww)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$//#		r"G,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   