
    zi9                         d Z ddlmZmZmZ ddlmZ  G d de      Z G d de      Z G d d	e      Z	 G d
 de      Z
y)u(   
認證(登入 / Token)相關 schema。
    )	BaseModelEmailStrField)
UserPublicc                   :    e Zd ZU dZeed<    edd      Zeed<   y)LoginRequestu&   POST /api/auth/login 的請求 body。email.   )
min_lengthpasswordN)	__name__
__module____qualname____doc__r   __annotations__r   r   str     4/volume1/homes/robertsu/coba/app/app/schemas/auth.pyr   r      s    0O#!,Hc,r   r   c                       e Zd ZU dZeed<   y)RefreshRequestu(   POST /api/auth/refresh 的請求 body。refresh_tokenN)r   r   r   r   r   r   r   r   r   r   r      s    2r   r   c                   4    e Zd ZU dZeed<   eed<   dZeed<   y)	TokenPairu   登入 / refresh 成功時回傳的 token 組合。

    access_token  : 短效(15 分鐘),用來呼叫 API
    refresh_token : 長效(7 天),用來換新的 access_token
    token_type    : 固定 "bearer",前端塞 Authorization: Bearer <token>
    access_tokenr   bearer
token_typeN)r   r   r   r   r   r   r   r   r   r   r   r      s     Jr   r   c                   "    e Zd ZU eed<   eed<   y)LoginResponsetokensuserN)r   r   r   r   r   r   r   r   r   r   r   (   s    
r   r   N)r   pydanticr   r   r   app.schemas.userr   r   r   r   r   r   r   r   <module>r$      sE    0 / '-9 -Y 
	 
I r   