"""Admin 认证 schemas。""" from __future__ import annotations from datetime import datetime from pydantic import BaseModel, ConfigDict, Field class AdminLoginRequest(BaseModel): username: str = Field(..., min_length=1, max_length=64) password: str = Field(..., min_length=1, max_length=128) class AdminOut(BaseModel): model_config = ConfigDict(from_attributes=True) id: int username: str role: str status: str created_at: datetime last_login_at: datetime | None = None class AdminLoginResponse(BaseModel): access_token: str token_type: str = "Bearer" expires_in: int = Field(..., description="access_token 剩余秒数(过期重新登录)") admin: AdminOut