Files
chat/backend/app/schemas/admin.py
T
2026-06-12 23:14:12 +08:00

67 lines
1.2 KiB
Python

"""管理后台 Schema"""
from datetime import datetime
from pydantic import BaseModel
class AdminLoginRequest(BaseModel):
password: str
class AdminLoginResponse(BaseModel):
access_token: str
token_type: str = "bearer"
class DashboardStats(BaseModel):
total_users: int
online_users: int
total_messages: int
today_messages: int
total_conversations: int
new_users_7d: int
class TrendDataPoint(BaseModel):
date: str
value: int
class UserAdminRead(BaseModel):
id: str
username: str
email: str
avatar_url: str | None = None
status: str
is_banned: bool
banned_reason: str | None = None
last_seen_at: datetime | None = None
created_at: datetime
model_config = {"from_attributes": True}
class UserBanRequest(BaseModel):
is_banned: bool
reason: str | None = None
class SystemConfigRead(BaseModel):
key: str
value: str
model_config = {"from_attributes": True}
class SystemConfigUpdate(BaseModel):
configs: dict[str, str]
class AdminMessageFilter(BaseModel):
user_id: str | None = None
conversation_id: str | None = None
keyword: str | None = None
date_from: str | None = None
date_to: str | None = None