
    iY                     H    S SK Jr  S SKJrJrJr  S rS rS rS rS r	S r
g	)
    )get_connection)datetime	timedeltatimezonec           	          Sn[        5        nUR                  5       nUR                  X45        UR                  5       nU(       a[  US   nUS   nUS:X  a  US    SUS    SUS    SUS	    3nO$US
;   a  US   nO[	        SU 35         S S S 5        g XvS.sS S S 5        $ [	        SU  35         S S S 5        g ! , (       d  f       g = f! [
         a  n[	        SU 35        e S nAff = f)Nz
            SELECT RequestTypeID, FirstName, MiddleName, LastName, SecondLastName, BusinessName, Email 
            FROM Profiles WHERE USERID = ?
        r      EMPLEADO             )DISCANDISEUAu   DISMÉXu   CLIMÉXCLIEXT   zRequestTypeID desconocido: )NombreEmailu$   No se encontró perfil para UserID: Error: r   cursorexecutefetchoneprint	Exception)	UserIDcheck_user_queryconnr   datarequest_type_idr   r   es	            eC:\Users\victor.barrera\Documents\proyectos\elepV3\Elep\src\Consultas_SQL\Security\UserPasswordSQL.pyconsultar_profiler#      s   $ [[]FNN+Y7??$D"&q'Q"j0 $Qy$q'!DG9Ad1gYGF %(ZZ!!WF 77HIJ) * #)9+ 0 <VHEF3 :  smsM   C A?B;C B;	C #B;2C ;
C	C 	C 
C*C%%C*c                     Sn[         R                  " 5       [        SS9-   n[        5        nUR	                  5       nUR                  X /5        UR                  5       nU(       d  [        SU  S35         S S S 5        g SnXU4nUR                  Xx5        UR                  5       S   n	UR                  5         U	sS S S 5        $ ! , (       d  f       g = f! [         a  n
[        SU
 35        e S n
A
ff = f)	NzA
            SELECT COUNT(*) FROM Users WHERE UserID = ?
        i  )minuteszError: El UserID z no existe en la tabla Usersz
                INSERT INTO ActivationTokens (UserID, Token, CreatedAt, ExpiresAt, IsUsed)
                OUTPUT INSERTED.ActivationTokenID
                VALUES (?, ?, GETDATE(), ?, 0);
            r   zError guardando token: )r   utcnowr   r   r   r   fetchvalr   r   commitr   )r   Tokenr   
expires_atr   r   
user_countinsert_queryvaluestoken_idr!   s              r"   
save_Tokenr/   /   s    * __&4)@@
[[]F NN+X6*J)&1MNO L Z0F NN<0(+HKKM7 :  's+,sA   +C A
C7C  ;C;	C 
CC C 
C4 C//C4c                    SSK nUR                  S5      n U (       d  [        S5      eU R                  5       nSn[	        5        nUR                  5       nUR                  XC45        UR                  5       nSSS5        W(       d!  SU 3nUR                  U5        [        U5      eU$ ! , (       d  f       N8= f! [         a    e [         a  n	UR                  SU  SU	 35        e Sn	A	ff = f)	u   
Busca el módulo correspondiente a la ruta proporcionada.
Retorna una tupla (ModuleID, CompanyID, DivisionID, DepartamentID)
o lanza LookupError si no se encuentra.
r   Nuser_accessu2   Ruta vacía o nula proporcionada a get_ModuleID().z
            SELECT ModuleID, CompanyID, DivisionID, DepartamentID
            FROM Modules
            WHERE LOWER(RutaPython) = LOWER(?)
        u*   Módulo no encontrado en BD para la ruta: zError en get_ModuleID(z): )logging	getLogger
ValueErrorstripr   r   r   r   warningLookupErrorr   error)
rutar2   loggerruta_limpiaLoduleID_queryr   r   r   msgr!   s
             r"   get_ModuleIDr>   \   s     }-F QRR jjl [[]FNN>>:??$D  >{mLCNN3c""    -dV3qc:;s/   .B; 3B*81B; *
B84B; ;C,C''C,c                      Sn[        5        nUR                  5       nUR                  X45        UR                  5       nUsS S S 5        $ ! , (       d  f       g = f! [         a  n[        SU 35        e S nAff = f)Nz^
            SELECT CompanyID,DivisionID,DepartamentID FROM Profiles WHERE UserID = ?
        r   r   r   r   r   r   r   )r   r<   r   r   r   r!   s         r"   .get_CompanyID_DivisionID_DepartamentID_ProfilerA      sn     [[]FNN>95??$D   sms4   A 4A	A 
AA A 
A;'A66A;c                     Sn[        5        nUR                  5       nUR                  X45        UR                  5       nUS   n[	        SU5        UsS S S 5        $ ! , (       d  f       g = f! [
         a  n[	        SU 35        e S nAff = f)NzD
            Select RoleID from UserRoles where UserID  = ?
        r   z------------------------>r   r   )useridRoleID_queryr   r   r   RoleIDr!   s          r"   
get_RoleIDrF      s     [[]FNN<3??$D!WF-f5   sms5   A. AA	A. 
A+'A. +A. .
B8BBc                     Sn[        5        nUR                  5       nUR                  X U45        UR                  5       nUS   nUsS S S 5        $ ! , (       d  f       g = f! [         a  n[        SU 35        e S nAff = f)NzX
            Select count(*) from RoleModules where RoleID = ? AND ModuleID = ?
        r   r   r@   )rE   ModuloIDpermiso_queryr   r   r   permisor!   s           r"   get_permisorK      sz     [[]FNN=(*<=??$D1gG   sms4   A# :A	A# 
A A#  A# #
B-A<<BN)Consultas_SQL.conexionr   r   r   r   r#   r/   r>   rA   rF   rK        r"   <module>rO      s1   
 2 2 2%P+Z)X "rN   