
    i                         d dl mZmZmZmZ d dlmZmZ dedz  defdZ	 ed      fdedz  dedz  fd	Z
 ee
      fd
edz  defdZ ee      fd
edefdZg dZy)    )DependsHeaderHTTPExceptionstatus)SessionIdentityget_tenant_store	raw_valueNreturnc                     | y| j                         }|j                         j                  d      r#|j                  dd      d   j                         S |S )N zbearer     )striplower
startswithsplit)r	   values     2/var/www/html_bkp/apps/backend-hub/app/api/deps.py_normalize_tokenr      sO    OOE{{}	*{{3"1%++--L    )defaultauthorizationc                 P    t        |       }|sy t               j                  |      S )N)r   r   get_session)r   tokens     r   get_optional_sessionr      s&    ]+E))%00r   sessionc                 @    | t        t        j                  d      | S )NzSessione non valida o assentestatus_codedetail)r   r   HTTP_401_UNAUTHORIZEDr   s    r   require_sessionr$      s     (D(DMlmmNr   c                 Z    | j                   dk7  rt        t        j                  d      | S )Nsuper_adminz#Operazione riservata al super adminr   )roler   r   HTTP_403_FORBIDDENr#   s    r   require_super_adminr)       s'    ||}$(A(AJoppNr   )r   r$   r)   )fastapir   r   r   r   app.services.tenant_storer   r   strr   r   r$   r)   __all__ r   r   <module>r/      s    : : Gd
 s  6<D5I 1d
 1o`dNd 1 7>>R6S _t3 Xg  4;?3K  P_  Mr   