
    i+                         d dl mZmZ d dlmZ d dlmZmZ d dl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)	UserModelN)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       XC:\Users\jesus\OneDrive\Escritorio\proyecto_pie360\backend\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	                  t        j                  dk(        j                         }|sy|S )Nr    )nextr   queryr   filterrutdeleted_status_idfirst)r/   dbr"   s      r#   r   r       sZ    vx.B88IF9==C/0F966!;<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   joser	   r
   app.backend.db.databaser   sqlalchemy.ormr   r   oauth2_schemepwd_contextstrr$   r(   r   r;   r'   r)   r#   <module>rF      sn    L ( * + 	  * " $%9:H:&A")-"8 C  7>>N6O ) 
r)   