feat(compute): 引擎用户对账同步(用户=平台总用户)

- compute_client.ensure_user(幂等建号, 存在不抛)
- 新增 POST /admin/compute/sync-users: 遍历平台全部用户→建引擎账号(幂等)+缺令牌签PAT, 保证 engine用户=平台用户
- 解决已有平台用户未回填导致引擎≠平台(此前仅新用户同步)
This commit is contained in:
Pine
2026-08-25 15:31:32 +08:00
parent e5e9d265bf
commit 2675e3776a
2 changed files with 39 additions and 0 deletions
+8
View File
@@ -119,6 +119,14 @@ async def issue_user_token(username: str, name: str = "") -> dict:
return data.get("data") or {}
async def ensure_user(username: str) -> dict:
"""幂等建引擎用户:已存在(409/4xx)视为成功,不抛。"""
try:
return await create_user(username)
except ComputeError:
return {"username": username, "already": True}
async def list_models(status: int = 1) -> list[dict]:
"""列出引擎 admin 模型(models 表)。返回分页 items 列表。"""
data = await _request(