控制台改为选项卡,并支持封禁节点与下发计算任务。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-11 01:33:44 +08:00
parent 80d46dcd5d
commit f0b35e6b34
18 changed files with 933 additions and 300 deletions
+26
View File
@@ -93,6 +93,7 @@ class NodeOut(APIModel):
generation_locked: bool = False
recoverable_stake_amount: MoneyText | None = None
is_whitelist: bool = False
is_banned: bool = False
client_ip: str | None = None
hardware_fingerprint: str | None = None
@@ -144,6 +145,27 @@ class TaskReportIn(APIModel):
success: bool
nonce: str = Field(min_length=8, max_length=128)
token: str | None = Field(default=None, max_length=128)
result: dict | None = None
class TaskCreate(APIModel):
task_type: str = Field(min_length=1, max_length=32)
target_node_sn: str | None = Field(default=None, max_length=64)
payload: dict = Field(default_factory=dict)
class AdminTaskOut(APIModel):
task_id: str
task_type: str
target_node_sn: str
display_node_id: int
status: TaskStatus
payload: dict
result: dict | None = None
result_preview: str = ""
dispatched_at: datetime
deadline_at: datetime
responded_at: datetime | None = None
class ContributionOut(APIModel):
@@ -293,6 +315,10 @@ class WhitelistToggle(APIModel):
is_whitelist: bool
class BanToggle(APIModel):
is_banned: bool
class IPWhitelistCreate(APIModel):
ip_address: str = Field(min_length=3, max_length=64)
note: str | None = Field(default=None, max_length=128)