
    eu
                        d dl 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 d dlmZ  ed	d
g          Ze                    d           e             ee          fdedefd            Ze                    d           e             ee          fdedefd            Ze                    d           ee          fdedefd            Ze                    d           ee          fdedefd            ZdS )    )	APIRouterDepends)OAuth2PasswordRequestForm)get_db)Session)AuthenticationClass)ForgotPasswordUpdatePassWord)	timedelta)DropboxClassz/login_users	LoginUser)prefixtagsz/token	form_datadbc                    t          |                              | j        | j                  }t	          d          }t          |                              dt          |j                  i|          }t          |          	                    dt          |j
                            }||j        |j        |j        |j        |j        |j        |j        |j        |j        |j        ||j        |j        dz   |j        z   dz   |j        z   ddS )N   minutessubz/signatures/ bearer)access_tokenrut	status_id
visual_rutrol_idnicknamenamesfather_lastnamemother_lastnameentrance_companyjob_position	signaturesignature_type_id	full_name
token_type)r   authenticate_userusernamepasswordr   create_tokenstrr   r   getr$   r   r   r   r   r   r    r!   r"   r#   r%   )r   r   useraccess_token_expiresaccess_token_jwtr$   s         iC:\Users\jesus\OneDrive\Desktop\escritorio\erp_jis_project\master_backend\app\backend\auth\login_users.pyloginr2      s    r""44Y5GI[\\D$R000*2..;;UCMM<RThiiR  $$^S5H5HIII(x^o+M// 1)!3Z_d&::C?AUU      z/logoutc                 $   t          |                              | j        | j                  }t	          d          }t          |                              dt          |j                  i|          }||j        |j        |j	        |j
        ddS )Nr   r   r   r   )r   r   r   r   r   r'   )r   r(   r)   r*   r   r+   r,   r   r   r   r   )r   r   r.   r/   r0   s        r1   logoutr5   '   s    r""44Y5GI[\\D$R000*2..;;UCMM<RThii )xo+M  r3   z/forgotemployee_inputsc                 N    t          |                              |           }d|iS Nmessage)r   forgot)r6   r   datas      r1   r:   r:   6   s0     r""))/::D 	4 r3   z/update_passworduser_inputsc                 N    t          |                              |           }d|iS r8   )r   update_password)r<   r   r;   s      r1   r>   r>   ?   s0     r""22;??D 	4 r3   N)fastapir   r   fastapi.securityr   app.backend.db.databaser   sqlalchemy.ormr   (app.backend.classes.authentication_classr   app.backend.schemasr	   r
   datetimer   !app.backend.classes.dropbox_classr   login_userspostr2   r5   r:   patchr>    r3   r1   <module>rK      s   & & & & & & & & 6 6 6 6 6 6 * * * * * * " " " " " " H H H H H H > > > > > > > >       : : : : : :i
  
 (18''RX//  .     . )29'))77SY??  /      ):A'&//  N      %&&?Fwv   W    '&  r3   