
    Fvh                     >   d dl Z d dlmZ d dlZd dlZd dlmZ d dlZ e         e j                  d      Z	 e j                  d      Z
 e j                  d      Z e j                  d      Z e j                  d      Zd	 Zdd
efdZdefdZdedefdZdedefdZy)    N)load_dotenv)JsonDB_HOSTDB_PORTDB_NAMEDB_USERDB_PASSWORDc            	         	 t        j                  t        j                  d      t        j                  d      t        j                  d      t        j                  d      t        j                  d            } | j	                         5 }|j                  dt        j                  d       d	       d d d        | S # 1 sw Y   | S xY w# t        $ r}t        d
|       Y d }~y d }~ww xY w)Nr   r   r   r   r	   )hostportdbnameuserpasswordzSET search_path TO CURRENT_SCHEMA;u   Error en la conexión:)psycopg2connectosgetenvcursorexecute	Exceptionprint)connr   es      ./opt/face_recognition/connection/connection.pyobtener_conexionr      s    9%9%99 9%YY}-
 [[] 	QfNN0;K1L0MQOP	Q	Q &*s6   B	C )B>4	C >CC C 	C*C%%C*sqlc                    t               }|sy 	 |j                         5 }|j                  | |       |j                  r)|j	                         cd d d        |j                          S |j                          d d d        |j                          y # 1 sw Y   xY w# t        $ r}t        d|       Y d }~7d }~ww xY w# |j                          w xY w)NzError al ejecutar consulta:)	r   r   r   descriptionfetchallclosecommitr   r   )r   paramsr   r   r   s        r   ejecutar_consultar%   &   s    D	[[] 	fNN3'!!(	 	 	

	 KKM		 	

	 	
  0+Q//0 	

sL   B .B	B 'B7B BB 	B;%B61B> 6B;;B> >Cdatac           
      J   d}| j                  d      | j                  d      | j                  d      t        j                  | j                  d            | j                  d      | j                  d      | j                  d      | j                  d	      f}t        ||       y )
Nz
    INSERT INTO auditoria (
        ip_cliente, metodo_http, url, headers, cuerpo, usuario, estado_respuesta, mensaje
    )
    VALUES (%s, %s, %s, %s, %s, %s, %s, %s);
    
ip_clientemetodo_httpurlheaderscuerpousuarioestado_respuestamensaje)getjsondumpsr%   )r&   r   r$   s      r   insertar_auditoriar3   6   s    C 	

488I&'#$	F c6"    returnc                 v    K   t        j                         } fd}|j                  d |       d {   S 7 w)Nc                     t               } | j                         }|j                  dj                  d      j                  d      j                  d      j                  d      j                  d      t	        j                  d            f       |j                         d   }| j                          | j                          |S )	Nz
            INSERT INTO face_recognition.consumo_tokens (
                modelo, tokens_utilizados, costo_aproximado, cedula, endpoint, respuesta_modelo
            ) VALUES (%s, %s, %s, %s, %s, %s)
            RETURNING id;
        modelotokens_utilizadoscosto_aproximadocedulaendpointrespuesta_modelor   )r   r   r   r0   r   fetchoner#   r"   r   r   
consumo_idr&   s      r   _insertz(insertar_consumo_tokens.<locals>._insertK   s    !  HHXHH()HH'(HHXHHZ ,-.
	 __&q)


r4   asyncioget_running_looprun_in_executor)r&   looprA   s   `  r   insertar_consumo_tokensrG   I   s5     ##%D* %%dG4444s   /979r@   c                 |    K   t        j                         } fd}|j                  d |       d {    y 7 w)Nc            
      R   t               } | j                         }|j                  dj                  d      j                  d      t	        j                  d            j                  d      j                  d      f       | j                          | j                          y )Nz
            INSERT INTO face_recognition.resultado_prueba_vida (
                cedula, video_base64, resultado_json, estado, tipo_error, consumo_tokens_id
            ) VALUES (%s, %s, %s, %s, %s, %s);
        r;   video_base64resultado_jsonestado
tipo_error)r   r   r   r0   r   r#   r"   r?   s     r   rA   z/insertar_resultado_prueba_vida.<locals>._insertd   s    ! 
 HHXHH^$*+,HHXHH\"
		 	

r4   rB   )r&   r@   rF   rA   s   ``  r   insertar_resultado_prueba_vidarN   b   s2     ##%D" 

tW
---s   0<:<)N)r   dotenvr   r   r1   psycopg2.extrasr   rC   r   r   r   r   r   r	   r   strr%   dictr3   intrG   rN    r4   r   <module>rU      s    	        "))I

"))I

"))I

"))I
bii&(3  #T #&5 5 52.t . .r4   