Automated Action 4cfde1a74a Add enhanced authentication features
- Add role-based access control (admin/user roles)
- Implement refresh token functionality
- Add token revocation (logout) capability
- Create admin-only endpoints
- Add role validation middleware
- Update documentation
2025-06-17 02:22:22 +00:00

39 lines
741 B
Python

from datetime import datetime
from typing import Optional
from pydantic import BaseModel
class Token(BaseModel):
access_token: str
token_type: str
refresh_token: Optional[str] = None
expires_at: Optional[datetime] = None
class TokenPayload(BaseModel):
sub: Optional[int] = None
exp: Optional[datetime] = None
type: Optional[str] = "access"
class RefreshTokenCreate(BaseModel):
token: str
expires_at: datetime
user_id: int
class RefreshTokenUpdate(BaseModel):
revoked: Optional[bool] = None
class RefreshTokenInDB(BaseModel):
id: int
token: str
expires_at: datetime
created_at: datetime
revoked: bool
user_id: int
class Config:
from_attributes = True