
    {2i6                        d dl mZmZ d dl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mZmZ d d	lmZmZ d d
lmZ  e       Zej3                  dd       ee       ee      fdede
defd       Zej3                  dd       ee      fdee e       f   de
fd       Zej9                  dd       ee       ee      fde
defd       Zej3                  dd       ee       ee      fde
defd       Zej=                  dd       ee       ee      fdede
defd       Zej3                  d       ee      fdedede
fd       Z ej3                  d       ee      fdede
fd       Z!ej3                  d        ee      fdede
fd!       Z!ej9                  d"d       ee       ee      fde
defd#       Z"ej9                  d$d       ee       ee      fde
defd%       Z#ej9                  d&d       ee       ee      fd'e$de
defd(       Z%ej9                  d)d       ee       ee      fd*e&de
defd+       Z'ej3                  d,d      d- ee       ee      fd.e$d/e$deejP                     de
def
d0       Z)ej9                  d1d       ee       ee      fde
defd2       Z*y-)3    )	AnnotatedOptional)	APIRouterBackgroundTasksDepends)OAuth2PasswordRequestForm)Session)service)get_db   )ForgotPasswordRequest
UserCreateUserPassUpdateVerifyOTPRequestNewPass)get_current_userJWTPayloadSchema)schemasz/userT)response_model_exclude_nonerequestdbtokenc                 h   K   t        j                  ||      j                  |        d {   S 7 wN)r
   UserServicecreate_userr   r   r   s      :/var/www/html/retail-simulation-api/app/api/user/router.pyr   r      s*     $$R.::7CCCC   )202z/user/logincredentialsc                 ^   K   t         j                  j                  | |       d {   S 7 wr   )r
   r   
user_login)r    r   s     r   
login_userr#      s%     $$//R@@@@s   $-+-z/superadmin/get/all/adminc                 f   K   t        j                  | |      j                          d {   S 7 wr   )r
   r   superadmin_get_all_adminr   r   s     r   getr'      s(     $$R/HHJJJJ   (1/1z/user/logoutc                 f   K   t        j                  | |      j                          d {   S 7 wr   )r
   r   logoutr&   s     r   logout_userr+      s(     $$R.557777r(   z/user_change_pass/updatec                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r
   r   update_passr   s      r   update_adminr.   !   s*     $$R/;;GDDDDr   z/forgot-passwordbackground_tasksc                 L   K   t        j                  || |       d {   S 7 wr   )r
   forgot_password_service)r   r/   r   s      r   forgot_passwordr2   -   s"     00G=MNNNNs   $"$z/reset-passwordc                 .    t        j                  ||       S r   )r
   reset_password_servicer   r   s     r   reset_passwordr6   1   s    ))"W55    z/new-passwordc                 .    t        j                  ||       S r   )r
   new_password_servicer5   s     r   r6   r6   5   s    ''733r7   z
/get_adminc                 f   K   t        j                  | |      j                          d {   S 7 wr   )r
   r   	get_adminr&   s     r   r;   r;   9   s(     $$R.88::::r(   z/superadmin_get_all_adminc                 f   K   t        j                  | |      j                          d {   S 7 wr   )r
   r   get_all_adminr&   s     r   get_all_adminsr>   =   s(     $$R.<<>>>>r(   z/get_admin_institutionuser_idc                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r
   r   get_admin_institution)r?   r   r   s      r   get_admins_institutionrB   A   s*     $$R.DDWMMMMr   z/simulation/{status}statusc                 h   K   t        j                  ||      j                  |        d {   S 7 wr   )r
   r   
simulation)rC   r   r   s      r   rE   rE   E   s*     $$R/::6BBBBr   z/admin_linkNadmin_idsimulation_idc                 l   K   t        j                  ||      j                  | ||       d {   S 7 wr   )r
   r   
admin_link)rF   rG   r   r   r   s        r   rI   rI   I   s/     $$R/::8MSZ[[[[s   +424z/get_user_detailsc                 f   K   t        j                  | |      j                          d {   S 7 wr   )r
   r   get_user_detailsr&   s     r   rK   rK   M   s(     $$R.??AAAAr(   )+typingr   r   fastapir   r   r   fastapi.securityr   sqlalchemy.ormr	   app.api.userr
   app.database.main.mysqlr   r   r   r   r   r   r   app.dependency.authanticationr   r   user_routerpostr   r#   r'   r+   putr.   r2   r6   r;   r>   intrB   strrE   UserCreateLinkrI   rK    r7   r   <module>rZ      sD   & 7 7 6 "   * a a L  k
 't<8?bijzb{ Dz Dg DO_ D =D -DA`ghn`o A),Ewy,P"Q AV] A BA ,$O#FOwO_G` K' K4D K PK .TB$+FOwWgOh 8' 8<L 8 C8 +N=DV_gno  hA E E7 ETd E OE $%krsykz O#8 OO Oah O &O #$<CFO 6, 6' 6 %6 /"3:6? 4G 4 4 #4 4@")&/WUeMf ; ;:J ; A; ,$O'.vRYZjRk ?W ??O ? P? )tL<CFOgno  hA N N' NTd N MN 'DI/6vZabrZs CC CW CGW C JC -TBaeu|  ~D  vE  ah  iy  az \c \ \hwG]G]>^ \kr \  N^ \ C\ $$G)0T[\lTm Bw BAQ B HBr7   