
    4df                         d dl Z d dlmZ d dlmZ d dlZddlmZmZm	Z	m
Z
 ddlmZmZ  e       Z eddgd	d
dii      Zej!                  d      defd       Zej!                  d      defd       Zy)    N)	APIRouter)JSONResponse   )MONGODB_DATABASEmongodb_connectencode_auth_tokendecode_auth_token)LoginResetPasswordz/authauth  descriptionz	Not found)prefixtags	responsesz/loginloginc                   K   | j                   dk(  r/t        t           d   j                  d| j                   iddi      }n/t        t           d   j                  | j                   ddddi      }|sdd	d
d}t	        |d      S |d   dk(  rdd	dd}t	        |d      S d|vrdd	dd}t	        |d      S t        j                  | j                  j                  d      |d   j                  d            sdd	dd}t	        |d      S t        |d   d      }t        |      }|d   }|d   }dd||d   |d   ||d}d |v r|d    |d <   |S w)!z Login a userrootusersr   _idr   T)emailactiveerrorr
   z-Erreur, l'utilisateu n'existe pas ou inactivestatusendpointmessager   contentstatus_codeverifiedFfailedzErreur, account not verifiedi  hashed_passwordu)   Erreur, réinitialisez votre mot de passeutf8zutf-8zErreur, mot de passe incorrectesubi ' iatexpsuccessu   Authentification réussie.roles)r   r   r   r%   r)   	timestamp
expirationsite)r   mongodb_clientr   find_oner   bcryptcheckpwpasswordencoder   r	   )r   user_cursorresponseObject
auth_tokenpayloadr&   r'   s          NC:\Users\ChattiNader\Documents\EpsilonGroupe\api-vastappli\app\routers\auth.pyr   r      s     {{f$%56w?HHekk"AJ

 %%56w?HH AJ
 F

 NDD:%'5

 NDD+B

 NDD>>	 !23::7C
 8

 NDD"EN,J
+G
%.C
%.C/5!W%N !,V!4vs   EEz/password/resetreset_passwordc                    K   	 t         t           d   j                  d| j                  i      }|sdddd}t	        |d      S t        j                         }t        j                  | j                  j                  d	      |      }t         t           d   j                  d| j                  id
d|j                  d	      ii       dddd}t	        |d      S # t        $ r)}dddt        |       d}t	        |d      cY d}~S d}~ww xY ww)zReset passwordr   r   r   r   z"Erreur, l'utilisateur n'existe pasr   r   r   r$   z$setr#   r(   u)   Mot de passe réinitialisé avec succès.   u5   Erreur lors de la réinitialisation du mot de passe: i  N)r-   r   r.   r   r   r/   gensalthashpwr1   r2   
update_onedecode	Exceptionstr)r8   r3   r4   saltr#   es         r7   r   r   X   s&     E$%56w?HHn**+-!+?N
  CHH~~ --##**62D: 	'(1<<n**+')?)?)GHI	

  'B

 NDD E'NsSTvhW

 NDDEsA   D?C DBC D	D"D DDDD)uuidfastapir   fastapi.responsesr   r/   utilsr   r   r   r	   models.authr
   r   r-   routerpostr        r7   <module>rL      s      *  [ [ . "	
]K01
 XBu B BJ "E "E  "ErK   