o
    @h                  
   @   s  d dl 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 e Zejd
ddeeeefdede	defddZejdddeefdeee f de	fddZejdeddeeeefde	defddZejdddeeeefde	defddZejdddeeeefdede	defddZed eeeefded!ede	defd"d#Z ed$eeeefdede	defd%d&Z!d'S )(    )	Annotated)	APIRouterBackgroundTasksDepends)OAuth2PasswordRequestForm)Session)service)get_db   )ForgotPasswordRequest
UserCreateUserPassUpdateUserResponseVerifyOTPRequest)get_current_userJWTPayloadSchemaz/userT)response_model_exclude_nonerequestdbtokenc                       t ||| I d H S N)r   UserServicecreate_userr   r   r    r   G/var/www/html/RetailApiNew/retail-simulation-api/app/api/user/router.pyr         r   z/user/logincredentialsc                    s   t j| |I d H S r   )r   r   
user_login)r   r   r   r   r   
login_user   s   r    z
/user-info)response_modelr   c                       t | | I d H S r   )r   r   get_demo_userr   r   r   r   r   r#         r#   z/user/logoutc                    r"   r   )r   r   logoutr$   r   r   r   logout_user   r%   r'   z/user_change_pass/updatec                    r   r   )r   r   update_passr   r   r   r   update_admin   r   r)   z/forgot-passwordbackground_tasksc                    s   t ||| |I d H S r   )r   r   forgot_password_service)r   r*   r   r   r   r   r   forgot_password+   s   r,   z/reset-passwordc                 C   s   t ||| S r   )r   r   reset_password_servicer   r   r   r   reset_password/   s   r.   N)"typingr   fastapir   r   r   fastapi.securityr   sqlalchemy.ormr   app.api.userr   app.database.main.mysqlr	   schemasr   r   r   r   r   app.dependency.authanticationr   r   user_routerpostr   r    getr#   r'   putr)   r,   r.   r   r   r   r   <module>   s.    &&""&**