Files
loom/backend/app/schemas/lobster_config.py
T
2026-04-24 17:46:03 +08:00

39 lines
1.0 KiB
Python

from __future__ import annotations
from pydantic import BaseModel, Field
class LobsterConfigUpdate(BaseModel):
"""所有字段可选;传值则覆盖 DB(空串 = 清除回落 .env);不传 = 保持不变。"""
api_base: str | None = None
api_key: str | None = None
callback_secret: str | None = None
timeout_seconds: int | None = Field(default=None, ge=1, le=600)
poll_interval_seconds: int | None = Field(default=None, ge=1, le=60)
note: str | None = None
class LobsterConfigRead(BaseModel):
"""回读。api_key / callback_secret 只返回掩码与是否配置标记;原文永不出口。"""
api_base: str
api_base_source: str # "db" | "env" | "unset"
api_key_mask: str
api_key_source: str
has_api_key: bool
callback_secret_mask: str
callback_secret_source: str
has_callback_secret: bool
timeout_seconds: int
timeout_source: str
poll_interval_seconds: int
poll_interval_source: str
mode: str # "real" / "mock"
note: str | None = None