Spaces:
Running
Running
| """Authentication models.""" | |
| from __future__ import annotations | |
| from datetime import datetime | |
| from pydantic import BaseModel, Field | |
| class TokenResponse(BaseModel): | |
| """JWT issuance response.""" | |
| token: str = Field(..., description="JWT access token") | |
| token_type: str = Field("bearer", description="Token type (always bearer)") | |
| expires_at: datetime = Field(..., description="Expiration timestamp") | |
| class JWTPayload(BaseModel): | |
| """JWT claims payload.""" | |
| sub: str = Field(..., description="Subject (user_id)") | |
| iat: int = Field(..., description="Issued at timestamp") | |
| exp: int = Field(..., description="Expiration timestamp") | |
| __all__ = ["TokenResponse", "JWTPayload"] | |