
    CgEi!                     L   d Z ddlmZmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZmZmZ ddlmZmZ dd	lmZ  e       Z G d
 de      Zej3                  d       ee	      fdedefd       Zej7                  dee          ee       ee	      fdedefd       Zy)z7
Endpoints d'authentification pour les administrateurs
    )	APIRouterDependsHTTPExceptionstatus)Session)get_db)User)UserResponse)verify_passwordcreate_access_tokenget_current_admin)	BaseModelEmailStr)Listc                   "    e Zd ZU eed<   eed<   y)
AdminLoginemailpasswordN)__name__
__module____qualname__r   __annotations__str     G/home/www/lebenam.kofcorporation.com/app/api/v1/endpoints/admin/auth.pyr   r      s    OMr   r   z/logincredentialsdbc                   K   |j                  t              j                  t        j                  | j                  k(  t        j                  dk(  t        j
                  dk(        j                         }|r t        | j                  |j                        st        t        j                  d      t        t        |j                        dd      }d|dt        j                   |      dS w)	u:   
    Connexion d'un administrateur à l'interface web
    Tz=Email ou mot de passe incorrect, ou compte non administrateur)status_codedetailadmin)subtype)databearer)r   access_token
token_typeuser)queryr	   filterr   	is_activeis_adminfirstr   r   r   r   HTTP_401_UNAUTHORIZEDr   r   idr
   from_orm)r   r   r)   r'   s       r   admin_loginr2      s      88D>  

k'''$ eg	 	 {';';T]]K44R
 	
 '\73L
 $%%d+	 s   C+C-z/users)response_modelcurrent_adminc                    K   |j                  t              j                  t        j                  dk(        j	                         }|S w)uU   
    Récupère la liste de tous les utilisateurs mobiles (non-administrateurs).
    F)r*   r	   r+   r-   all)r4   r   userss      r   get_mobile_usersr8   4   s7      HHTN!!$--5"89==?ELs   AAN)__doc__fastapir   r   r   r   sqlalchemy.ormr   app.db.sessionr   app.models.userr	   app.schemas.userr
   app.core.securityr   r   r   pydanticr   r   typingr   routerr   postr2   getr8   r   r   r   <module>rE      s    > = " !   ) U U ( 	  X &/ > HT,%78!"34&/ 9r   