
    ;yi                        S SK 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  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      \" \5      4S\S\S\4S jj5       r\R/                  S5      S SS\" \5      \" \5      4S\S\S\	\   S\S\4
S jj5       rg)    )	APIRouterDependsstatus)JSONResponse)Session)Optional)get_db)
AuditClass)
StoreAudit	AuditList)get_current_active_user)	UserLoginz/auditsAudits)prefixtags auditsession_userdbc           	        #     [        U5      nUR                  U R                  U R                  S9nUR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      SS.S	9$ [        [        R                  S
SUR	                  S5      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 un nuevo registro de auditoría (login).
)user_idrol_idr   error  messageu%   Error al crear registro de auditoríaNr   r   datastatus_codecontent   u*   Registro de auditoría creado exitosamente
audit_data  u&   Error creando registro de auditoría: )r
   storer   r   getr   r   HTTP_400_BAD_REQUESTHTTP_201_CREATED	ExceptionHTTP_500_INTERNAL_SERVER_ERRORstr)r   r   r   audit_serviceresultes         LC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\audits.pystore_auditr/      s     "
"2$$MM<< % 

 ::h7*"77!%zz)5\]   //G

<0
 	
  
==CCF8L
 	

sA   CA/B 3C4*B C
C)'CCCCCz/{audit_id}audit_idc           	        #     [        U5      nUR                  U 5      nUR                  S5      S:X  a,  [        [        R                  SUR                  SS5      SS.S9$ [        [        R
                  S	S
UR                  S5      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.   
Obtiene un registro de auditoría por su ID.
r   r   i  r   u$   Registro de auditoría no encontradoNr   r      u!   Registro de auditoría encontrador"   r#   u)   Error obteniendo registro de auditoría: )	r
   r%   r   r   HTTP_404_NOT_FOUNDHTTP_200_OKr(   r)   r*   )r0   r   r   r+   r,   r-   s         r.   	get_auditr5   =   s     
"2""8,::h7*"55!%zz)5[\   **>

<0
 	
  
==Fs1vhO
 	

sA   CAB  C!*B C
C'C=C>CCC
   Npageper_pager   c           	        #     [        U5      nUR                  X U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$ ! [         a2  n[        [        R                  SS[        U5       3SS.S	9s SnA$ SnAff = f7f)uQ   
Obtiene todos los registros de auditoría, opcionalmente filtrados por user_id.
)r   r7   items_per_pager   r   r   r   u(   Error al obtener registros de auditoríaNr   r   r2   u.   Registros de auditoría obtenidos exitosamenter#   u*   Error obteniendo registros de auditoría: )r
   get_all
isinstancedictr%   r   r   r&   r4   r(   r)   r*   )r7   r8   r   r   r   r+   r,   r-   s           r.   get_all_auditsr>   g   s     
"2&&wRZ&[fd##

8(<(G"77!%zz)5_`   **K
 	
  
==GAxP
 	

sA   CA0B 4C5B C
C'CCCCC)fastapir   r   r   fastapi.responsesr   sqlalchemy.ormr   typingr   app.backend.db.databaser	   app.backend.classes.audit_classr
   app.backend.schemasr   r   app.backend.auth.auth_userr   r   auditspostr/   r%   intr5   r>        r.   <module>rL      s/   . . * "  * 6 5 > )	


 R &&=>&/*
*
*
 	*
 *
X M &&=>&/'
'
'
 	'
 '
R B!%&=>&/)

)
)
 c])
 	)

 	)
 )
rK   