
    fu
                        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j'                  d       e        ee      fdedefd       Zej'                  d       e        ee      fdedefd       Zej'                  d       ee      fdedefd       Zej/                  d       ee      fdedefd       Zy)    )	APIRouterDepends)OAuth2PasswordRequestForm)get_db)Session)AuthenticationClass)ForgotPasswordUpdatePassWord)	timedelta)DropboxClassz/login_users	LoginUser)prefixtagsz/token	form_datadbc                    t        |      j                  | j                  | j                        }t	        d      }t        |      j                  dt        |j                        i|      }t        |      j                  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         QC:\Users\jesus\OneDrive\Desktop\escritorio\newerp\app\backend\auth\login_users.pyloginr2      s   r"44Y5G5GI[I[\D$R0*2.;;UCM<RThiR $$^S5HII(xx^^oo++MM//// 11))!33ZZ_d&:&::C?AUAUU     z/logoutc                 :   t        |      j                  | j                  | j                        }t	        d      }t        |      j                  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4Y5G5GI[I[\D$R0*2.;;UCM<RThi )xxoo++MM r3   z/forgotemployee_inputsc                 >    t        |      j                  |       }d|iS Nmessage)r   forgot)r6   r   datas      r1   r:   r:   6   s*     r"))/:D 	4 r3   z/update_passworduser_inputsc                 >    t        |      j                  |       }d|iS r8   )r   update_password)r<   r   r;   s      r1   r>   r>   ?   s*     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 * " H >  :

 (18'RX/ .   . )29)7SY? /    ):A&/ N    %&?Fv  W  'r3   