
    h[	              
       l   S SK r S SKJrJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJr  S SKJr  S SKJr  \" 5       r\" 5         \ R*                  " S	S
5      r\R/                  S\S9\" \5      4S\4S jj5       r\R5                  S5      \" S5      \" S5      \" \5      4S\S\S\S\4S jj5       rg)    N)	APIRouterDependsHTTPExceptionFile
UploadFile)"disable_installed_extensions_check)	UserState)User)UserBase
UserUpdate)check_token_validity)get_random_intFILE_STORAGE_PATHfilesz/me)response_modeldependenciesc                     U u  pUR                  [        5      R                  [        R                  UR                  :H  [        R                  [
        R                  :H  5      R                  5       nU$ )N)queryr
   filteridstater	   ACTIVEfirst)r   dbuserdb_users       FD:\kofCorporation\kof-academy-backend\app\routers\students\profiles.py	read_userr      sM    HBhhtn##DGGtww$6

iFVFV8VW]]_GN    z/me{user_id}.user_id	user_dataavatarc           
        #    Uu  pE[         R                  " U5      n UR                  [        5      R	                  [        R
                  U :H  [        R                  [        R                  :H  5      R                  5       nUc
  [        SSS9eUR                  5       R                  5        H  u  pU	c  M
  [        XxU	5        M     U(       a  UR                  R                  S5      S   n
[         R"                  R%                  [&        [)        S5       SU
 35      n[+        US5       nUR-                  UR/                  5       I S h  vN 5        S S S 5        Xl        UR3                  5         UR5                  U5        SS	UR
                  UR6                  UR8                  UR:                  UR<                  UR>                  UR0                  S
.S.$  N! , (       d  f       N= f! [@         a  nS[C        U5      S.s S nA$ S nAff = f7f)Ni  zUser not found)status_codedetail.
   wbTu%   Utilisateur mis à jour avec succès!)r   	firstnamelastnameemailphoneroler"   )statusmessager!   F)r/   r0   )"r   model_validate_jsonr   r
   r   r   r   r	   r   r   r   
model_dumpitemssetattrfilenamesplitospathjoinr   r   openwritereadr"   commitrefreshr*   r+   r,   r-   r.   	Exceptionstr)r    r!   r"   r   r   r   user_updater   keyvaluefile_extensionavatar_pathfes                 r   update_userrH   %   s     HB00;K&
((4.''7(:DJJ)JZJZ<Z[aac?C8HII%00288:JC e, ; #__2237;N'',,'8^B=O<PPQR`Qa:bcKk4(Afkkm+, )(N
		


7 >** **((]]]]LLnn

 	
 , )(,  
1v
 	

sg   HBG' 6A3G' )GG
	GBG' HG
G$ G' '
H	1H>H	?HH		H)r7   fastapir   r   r   r   r   fastapi_pagination.utilsr   app.enums.user_stater	   app.models.baser
   app.schemas.userr   r   app.utils.authentificationr   app.utils.helpersr   routergetenvr   gettupler   putr@   rH    r   r   <module>rV      s    	 H G G +
 ! 1 ; ,	 " $II17;  E(+$+,@$A E  , N59#YUYZ^U_,34H,I+
s +
s +

 +
$)+
 +
r   