
    gh                         d dl mZmZmZ 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mZ d dlmZ  e       Z e       Z ee       ee      fded	ed
efdZy)    )DependsHTTPExceptionstatus)
HTTPBearerHTTPAuthorizationCredentials)Session)JWTErrorjwt)get_db)User)get_settingscredentialsdbreturnc                    t        t        j                  dddi      }	 t        j                  | j
                  t        j                  dg      }|j                  d      }||t        |      }|j                  t              j                  t        j                  |k(        j!                         }|||S # t        t        f$ r |w xY w)NzCould not validate credentialszWWW-AuthenticateBearer)status_codedetailheadersHS256)
algorithmssub)r   r   HTTP_401_UNAUTHORIZEDr
   decoder   settings
SECRET_KEYgetintr	   
ValueErrorqueryr   filteridfirst)r   r   credentials_exceptionpayloaduser_idusers         &/var/www/notifications/app/api/deps.pyget_current_userr)      s     *00/#X.$**[44h6I6IW^V_`{{5)?''g, 88D>  G!34::<D|##K j! $##$s   AB: :CN)fastapir   r   r   fastapi.securityr   r   sqlalchemy.ormr   joser	   r
   app.db.sessionr   app.db.modelsr   app.core.configr   r   securityr)        r(   <module>r4      s[    2 2 E "  !  (>< 180A&/- 
r3   