test_task_crm/app/models/token.py

31 lines
532 B
Python

"""Token-related Pydantic schemas."""
from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel, EmailStr
class TokenPayload(BaseModel):
sub: str
exp: datetime
email: EmailStr | None = None
class TokenResponse(BaseModel):
access_token: str
refresh_token: str
token_type: str = "bearer"
expires_in: int
refresh_expires_in: int
class LoginRequest(BaseModel):
email: EmailStr
password: str
class RefreshRequest(BaseModel):
refresh_token: str