
    i                        d dl mZmZmZmZmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlmZmZ d dlmZ  eddg	      Zej)                  d
e       ee
      fdedededefd       Zej)                  d       ee       edd       ee
      fdededededz  def
d       Zej1                  de       ee      fdefd       Zy)    )	APIRouterCookieDependsRequestResponse)Session)get_dbget_current_user)UserAccount)LoginRequestUserResponse)AuthServicez/api/v1/authauth)prefixtagsz/login)response_modelbodyrequestresponsedbc                    t        |      }|j                  r|j                  j                  nd }|j                  | j                  | j
                  |      \  }}|j                  j                  dk(  }|j                  d|d|dd       |S )NhttpssessionTlaxiQ )keyvaluehttponlysecuresamesitemax_age)	r   clienthostloginusernamepasswordurlscheme
set_cookie)	r   r   r   r   serviceipusertokenis_httpss	            E/Users/manta/Documents/Projects/TheRoad-I1/backend/app/api/v1/auth.pyr#   r#      s    "oG '		DB--t}}bAKD%{{!!W,H   K    z/logoutNr   )defaultaliascurrent_usersession_tokenc                     t        |      }| j                  r| j                  j                  nd }|j                  ||j                  |       |j                  d       ddiS )Nr   )r   okT)r   r!   r"   logoutiddelete_cookie)r   r   r2   r3   r   r)   r*   s          r.   r6   r6      sS     "oG '		DBNN=,//26y)$<r/   z/mec                     | S )N )r2   s    r.   mer;   ,   s    r/   )fastapir   r   r   r   r   sqlalchemy.ormr   
OrmSessionapp.api.depsr	   r
   app.models.catalogr   app.schemas.authr   r   app.services.auth_servicer   routerpostr#   strr6   getr;   r:   r/   r.   <module>rG      s
   A A 0 1 * 7 1	.x	8 Xl3U\]cUd  w ( 
  4  Y !((8 9 &t9 EV_  :	
 	  E,/#*+;#< [  0r/   