82426b1941
新增侧栏「宝塔面板」菜单、代理 API 与连接配置页;通过 SSH 读写子机 api.json 自动写入凭据,5 分钟后台重试,含审计修复、检测缓存与并发锁。 Co-authored-by: Cursor <cursoragent@cursor.com>
91 lines
2.0 KiB
Python
91 lines
2.0 KiB
Python
"""Pydantic models for Baota panel API."""
|
|
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class BtPanelConfigUpdate(BaseModel):
|
|
base_url: Optional[str] = Field(None, max_length=500)
|
|
api_key: Optional[str] = Field(None, max_length=256)
|
|
verify_ssl: Optional[bool] = None
|
|
auto_bootstrap: Optional[bool] = None
|
|
|
|
|
|
class BtPanelGlobalSettingsUpdate(BaseModel):
|
|
bt_panel_source_ip: Optional[str] = Field(None, max_length=64)
|
|
bt_panel_auto_bootstrap_enabled: Optional[bool] = None
|
|
|
|
|
|
class BtPanelBatchBootstrap(BaseModel):
|
|
server_ids: list[int] = Field(..., min_length=1, max_length=500)
|
|
|
|
|
|
class BtPanelSiteAction(BaseModel):
|
|
site_id: int
|
|
name: str = Field(..., min_length=1, max_length=255)
|
|
|
|
|
|
class BtPanelCreateSite(BaseModel):
|
|
webname: str = Field(..., min_length=1)
|
|
path: str = Field(..., min_length=1)
|
|
type_id: int = 0
|
|
type: str = "PHP"
|
|
version: str = "74"
|
|
port: str = "80"
|
|
ps: str = ""
|
|
ftp: bool = False
|
|
sql: bool = False
|
|
|
|
|
|
class BtPanelDomainAdd(BaseModel):
|
|
id: int
|
|
webname: str
|
|
domain: str
|
|
port: str = "80"
|
|
|
|
|
|
class BtPanelDomainDelete(BaseModel):
|
|
id: int
|
|
webname: str
|
|
domain: str
|
|
port: str = "80"
|
|
|
|
|
|
class BtPanelSetSsl(BaseModel):
|
|
siteName: str
|
|
key: str
|
|
csr: str
|
|
|
|
|
|
class BtPanelApplyCert(BaseModel):
|
|
domains: str
|
|
auth_type: str = "http"
|
|
id: int
|
|
|
|
|
|
class BtPanelCreateDatabase(BaseModel):
|
|
name: str = Field(..., min_length=1, max_length=64)
|
|
codeing: str = "utf8mb4"
|
|
db_user: str = ""
|
|
password: str = ""
|
|
ps: str = ""
|
|
dtype: str = "MySQL"
|
|
dataAccess: str = "127.0.0.1"
|
|
address: str = "127.0.0.1"
|
|
|
|
|
|
class BtPanelDbPassword(BaseModel):
|
|
id: int
|
|
name: str
|
|
password: str = Field(..., min_length=6)
|
|
|
|
|
|
class BtPanelDbBackup(BaseModel):
|
|
id: int
|
|
|
|
|
|
class BtPanelServiceAction(BaseModel):
|
|
name: str = Field(..., min_length=1, max_length=64)
|
|
type: str = Field(..., pattern=r"^(start|stop|restart|reload)$")
|