配置 SSOT(TOML + .env) 统一错误契约 Auth 与事务边界 Redis / Celery 可靠性:业务 Redis(DB/0)与 Celery broker/backend(DB/1)显式拆分;连接池、sync client 可观测性(OpenTelemetry + LGTM)
31 lines
656 B
Python
31 lines
656 B
Python
from pydantic import BaseModel
|
|
|
|
|
|
class PlanResponse(BaseModel):
|
|
id: str
|
|
name: str
|
|
display_name: str
|
|
price: float
|
|
currency: str
|
|
features: list[str]
|
|
max_conversations: int | None = None
|
|
max_chapters: int | None = None
|
|
max_words: int | None = None
|
|
is_popular: bool = False
|
|
|
|
|
|
class PlanUsageResponse(BaseModel):
|
|
conversations: int
|
|
chapters: int
|
|
max_conversations: int | None = None
|
|
max_chapters: int | None = None
|
|
|
|
|
|
class CurrentPlanResponse(BaseModel):
|
|
plan_id: str
|
|
plan_name: str
|
|
subscription_type: str
|
|
expires_at: str | None = None
|
|
features: list[str]
|
|
usage: PlanUsageResponse
|