feat: Cloudflare多账号子资产管理(zone/worker/r2/tunnel/mail子资产模型+模态框)

This commit is contained in:
gouki
2026-08-02 23:41:49 +00:00
parent dd2638601a
commit af17294f24
5 changed files with 73 additions and 4 deletions
+28
View File
@@ -162,3 +162,31 @@ class AIAccount(SQLModel, table=True):
last_synced_at: Optional[datetime] = Field(
default=None, description="最近一次自动同步余额/用量的时间"
)
class CloudflareDetail(SQLModel, table=True):
"""Cloudflare 子资产详情(一对一关联 Asset)
一个 Cloudflare 账号可有多个子资产(zone/worker/r2/tunnel/mail)。
每个子资产是一个 Asset(asset_type=cloudflare) + CloudflareDetail。
"""
__tablename__ = "cloudflare_details"
id: Optional[int] = Field(default=None, primary_key=True)
asset_id: int = Field(
foreign_key="assets.id", unique=True, index=True, description="关联资产 ID"
)
account_email: Optional[str] = Field(
default=None, index=True, description="Cloudflare 账号邮箱(区分多账号)"
)
sub_type: str = Field(
default="zone", index=True, description="子资产类型:zone/worker/r2/tunnel/mail/dns_record/other"
)
sub_name: Optional[str] = Field(
default=None, description="子资产名称(如 worker 名、bucket 名)"
)
zone_name: Optional[str] = Field(
default=None, index=True, description="关联的 zone/域名"
)
status: Optional[str] = Field(default=None, description="子资产状态")