
    7gyi                        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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      \" \
5      4S\S\4S jj5       r\R/                  S5      S\" \
5      4S\\   S\4S jj5       rg)    )	APIRouterstatusDependsBody)JSONResponse)HealthEvaluationClass)get_db)get_current_active_user)	UserLoginStoreHealthEvaluation)Optional)Sessionz/health_evaluationszHealth Evaluations)prefixtagsz/storeevaluation_datasession_userdbc           	        #     [        U5      nUR                  U R                  5       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$ ! [         a2  n[        [        R                  SS[        U5       3SS.S9s SnA$ SnAff = f7f)u&   
Crea una nueva evaluación de salud.
r   error  messageu$   Error guardando evaluación de saludNr   r   datastatus_codecontent   u(   Evaluación de salud creada exitosamenteidu$   Error creando evaluación de salud: )r   storedict
isinstancegetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED	Exceptionstr)r   r   r   health_evaluation_serviceresultes         XC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\health_evaluations.pystore_health_evaluationr+      s     !
$9"$=!*001E1E1GHfd##

8(<(G"AA!%zz)5[\   //!::i1[\&**T*	
 		
  
==A#a&J
 	

sA   D A?C D <C  D 
C='C82C=3D 8C==D z/{student_id}
student_idc           	        #     [        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	S
US.S9$ ! [         a2  n[        [        R                  SS[        U5       3SS.S9s SnA$ SnAff = f7f)uU   
Obtiene la evaluación de salud más reciente para un estudiante por su student_id.
r   r   i  r   u7   Evaluación de salud no encontrada para este estudianteNr   r      u   Evaluación de salud encontradar   u'   Error obteniendo evaluación de salud: )r   get_by_student_idr!   r    r"   r   r   HTTP_404_NOT_FOUNDHTTP_200_OKr%   r#   r&   )r,   r   r'   r(   r)   s        r*   get_health_evaluationr2   ;   s     
$9"$=!*<<ZHfd##

8(<(G"55!%zz)5no   **<
 	
  
==DSVHM
 	

sA   CA1B 5C6B C
C'C	CC	CCz/listNc           	        #     [        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(       a  S
OSUS.S9$ ! [         a2  n[        [        R                  SS[        U5       3SS.S9s SnA$ SnAff = f7f)zN
Lista las evaluaciones de salud almacenadas.
Puede filtrarse por student_id.
r   r   r   r   z$Error listando evaluaciones de saludNr   r   r.   z!Evaluaciones de salud encontradasz(No hay evaluaciones de salud registradasz&Error listando evaluaciones de salud: )r   get_allr!   r    r"   r   r   r#   r1   r%   r&   )r,   r   r'   r   r)   s        r*   list_health_evaluationsr5   d   s     
$9"$=!(00<dD!!dhhx&8G&C"AA!#xx	3YZ   **BF>Lv
 	
  
==CCF8L
 	

sA   CA1B 5C6$B C
C%'CCCCC)fastapir   r   r   r   fastapi.responsesr   +app.backend.classes.health_evaluation_classr   app.backend.db.databaser	   app.backend.auth.auth_userr
   app.backend.schemasr   r   typingr   sqlalchemy.ormr   health_evaluationspostr+   r"   intr2   r5        r*   <module>rC      s    4 4 * M * > @  " 
	 
 " &&=>&/)
*)
)
 	)
 #)
V ( &/&
&
&
 )&
P   $&/'
'
'
 !'
rB   