
    h		              
       j   d dl Z d dlmZ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mZ d dlmZ d dlmZ  e       Z e         e j*                  d	d
      Zej/                  de       ee      fdefd       Zej5                  d       ed       ed       ee      fdedededefd       Zy)    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                     | \  }}|j                  t              j                  t        j                  |j                  k(  t        j                  t
        j                  k(        j                         }|S )N)queryr
   filteridstater	   ACTIVEfirst)r   dbuserdb_users       d/Users/theessential/Documents/Github/KofAcademy/kof-academy-backend/app/routers/students/profiles.py	read_userr      sO    HBhhtn##DGGtww$6

iFVFV8VW]]_GN    z/me{user_id}.user_id	user_dataavatarc           
        K   |\  }}t        j                  |      }	 |j                  t              j	                  t        j
                  | k(  t        j                  t        j                  k(        j                         }|t        dd      |j                         j                         D ]  \  }}	|		t        |||	        |r|j                  j                  d      d   }
t         j"                  j%                  t&        t)        d       d|
       }t+        |d      5 }|j-                  |j/                          d {          d d d        ||_        |j3                          |j5                  |       dd	|j
                  |j6                  |j8                  |j:                  |j<                  |j>                  |j0                  d
dS 7 # 1 sw Y   xY w# t@        $ r}dtC        |      dcY d }~S d }~ww xY ww)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+,-(GN
		


7 >** **((]]]]LLnn

 	
 ,- -,  
1v
 	

sg   HBG 7A-G $GG
GBG HGGG 	G?'G:4G?5H:G??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 ; ,	 " $BII17;  E(+$+,@$A E  , N59#YUYZ^U_,34H,I+
s +
s +

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