
    Xh                         d dl mZmZ d dlmZ d dlmZmZ d dlm	Z	m
Z
mZmZ d dlZd dlmZmZ d dlmZ d dlmZ d dlZ ed	      Z ed
gd      Z ee      fdefdZ ee      fde	fdZd Zd Zy)    )OAuth2PasswordBearerOAuth2PasswordRequestForm)CryptContext)HTTPExceptionDepends)	UserModelEmployeeModelEmployeeLaborDatumModelJobPositionModelN)jwtJWTError)get_db)Sessionz/login_users/tokenbcryptauto)schemes
deprecatedtokenc                 :   	 t        j                  | t        j                  d   t        j                  d   g      }|j	                  d      }|t        ddddi	      	 t        |      }|t        ddddi	      |S # t        $ r t        ddddi	      w xY w)
N
SECRET_KEY	ALGORITHM)
algorithmssubi  zCould not validate credentialszWWW-AuthenticateBearer)status_codedetailheaders)r   decodeosenvirongetr   r   get_user)r   decoded_tokenusernameusers       F/var/www/intrajisbackend.com/public_html/app/backend/auth/auth_user.pyget_current_userr'      s    ~

5"**\*BPRPZPZ[fPgOhi $$U+C8Xcuw  cA  B  B 
 HD|4T_qs{^|}}K  ~4T_qs{^|}}~s   AB   Bcurrent_userc                     | S )N )r(   s    r&   get_current_active_userr+      s        c                     t        t                     }|j                  t              j	                  t        j
                  | k(        j                         }|sy|S )N )nextr   queryr   filterrutfirst)r2   dbr%   s      r&   r"   r"       sE    vx.B88IF9==C/0EG 	 Kr,   c                 |    | j                  d      }t        j                         }t        j                  ||      }|S )Nzutf-8)encoder   gensalthashpw)input_stringencoded_stringsalthashed_strings       r&   generate_bcrypt_hashr=   +   s4    !((1N>>DMM.$7Mr,   )fastapi.securityr   r   passlib.contextr   fastapir   r   app.backend.db.modelsr   r	   r
   r   r   joser   r   app.backend.db.databaser   sqlalchemy.ormr   r   oauth2_schemepwd_contextstrr'   r+   r"   r=   r*   r,   r&   <module>rH      sq    L ( * e e 	  * " $%9:H:&A")-"8 C  7>>N6O ) 	r,   