
    o>i8                        d dl mZ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 d dlmZmZ d dlmZ  ed	
      Z ee      fdefdZ ee       ee      fdede
defdZ ee       ee      fdede
defdZy)    )DependsHTTPExceptionstatus)OAuth2PasswordBearer)JWTErrorjwt)Session)settings)get_db)CompanyAdmin)	TokenDatazapi/v1/auth/company/login)tokenUrltokenc                 >  K   t        t        j                  dddi      }	 t        j                  | t
        j                  t
        j                  g      }|j                  d      }|j                  d      }|||t        ||      }|S # t        $ r |w xY ww)	Nz&Impossible de valider les identifiantszWWW-AuthenticateBearer)status_codedetailheaders)
algorithmssubrole)r   r   )r   r   HTTP_401_UNAUTHORIZEDr   decoder
   
SECRET_KEY	ALGORITHMgetr   r   )r   credentials_exceptionpayloadr   r   
token_datas         8/home/www/utuvibe.miabetepe.com/app/auth/dependencies.pyget_current_user_tokenr"      s     )007#X.
$**UH$7$7XEWEWDXY;;u%KK';$,''3T2
   $##$s   BA*B BBBr    dbreturnc                 B  K   | j                   dk7  rt        dd      |j                  t              j	                  t        j
                  t        | j                        k(        j                         }|t        dd      |j                  st        dd      |S w)	Ncompany  u#   Non autorisé en tant qu'entrepriser   r     u   Entreprise non trouvéei  zEntreprise inactive)
r   r   queryr   filteridintr   first	is_active)r    r#   r&   s      r!   get_current_companyr0      s      )#5Z[	[hhw&&wzzS5H'HIOOQG4MNN4IJJNs   BBc                   K   | j                   dk7  rt        dd      |j                  t              j	                  t        j
                  t        | j                        k(        j                         }|t        dd      |S w)Nadminr'   u'   Non autorisé en tant qu'administrateurr(   r)   u   Administrateur non trouvé)	r   r   r*   r   r+   r,   r-   r   r.   )r    r#   r2   s      r!   get_current_adminr3   *   sm      '!5^_	_HHUO""588s:>>/B#BCIIKE}4PQQLs   BBN)fastapir   r   r   fastapi.securityr   joser   r   sqlalchemy.ormr	   app.core.configr
   app.core.databaser   
app.modelsr   r   app.auth.schemasr   oauth2_schemestrr"   r0   r3        r!   <module>r@      s    2 2 1  " $ $ % &$.IJ.5m.D  $ $$:;&/  $$:;&/			 	r?   