
    HCi.                        d dl mZ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mZmZ d dlmZ d dlmZ d dlmZ  ed	d
g      Zej3                  deej4                  d       ee
      fdefd       Zej9                  deej4                  d       ee       ee
      fdededefd       Zej=                  dej4                  d       ee       ee
      fdededefd       Zej9                  deej4                  d       ed       ee       ee
      fdededefd       Z ej9                  d ej4                  d!       ee       ee
      fdededefd"       Z!y#)$    )	APIRouterDepends
UploadFileFilestatusHTTPException)Session)get_current_user)get_session)UserRead
UserUpdateUserEmailChangeUserPasswordChange)UserService)User)ERR_USER_NOT_FOUNDz
/api/usersUsers)prefixtagsz/mezGet current user)response_modelstatus_codesummarycurrent_userc                     | S )z2
    Return the authenticated user's profile.
     )r   s    F/var/www/html/story-book/Story-Book-python-api/app/api/routes/users.pyget_mer      s
    
     z/updatezUpdate current userdatasessionc                 0    t        j                  || |      S )zj
    Update allowed profile fields (first_name, last_name, phone).
    Partial updates are supported.
    )r   update_user)r   r    r   s      r   update_profiler#      s     ""<w??r   z/change-emailz,Change user email (forces logout everywhere))r   r   bodyc                 D    t        j                  || j                  |      S )N)r   change_email	new_emailr$   r    r   s      r   r&   r&   "   s     ##L$..'JJr   z/upload-profile-imagezUpload profile image.filec                 0    t        j                  || |      S )zC
    Upload and set the user's profile image after validation.
    )r   update_profile_image)r)   r    r   s      r   upload_profile_imager,   *   s     ++L$HHr   z/change-passwordzChange passwordc                 Z    t        j                  || j                  | j                  |      S )zP
    Change the current user's password (requires old password validation).
    )r   change_passwordold_passwordnew_passwordr(   s      r   r.   r.   5   s(     &&|T5F5FHYHY[bccr   N)"fastapir   r   r   r   r   r   sqlmodelr	   app.api.depsr
   app.db.sessionr   app.schemas.userr   r   r   r   app.services.user_servicer   app.models.userr   app.core.constantsr   routergetHTTP_200_OKr   patchr#   postr&   r,   r.   r   r   r   <module>r>      s   O O  ) & V V 1   
,gY	7E(8J8JTfg '(8 9   h if>P>PZop {+ !12	@
	@	@ 	@ q	@ _&*<*<Ftu {+ !12K
KK K vK %hFL^L^h~Cy{+ !12I
II I @I  f.@.@J[\ {+ !12d
dd d ]dr   