portal-auth P4(#24 #25):admin 帳號+庫管理頁+last-admin 鎖死保護(不 merge,待總管審) #53
Reference in New Issue
Block a user
Delete Branch "portal-auth-p4-admin-ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
portal-auth SDD 最後一棒(P1 #50 / P2 #51 / P3 #52 之後)。不 merge,待總管審(B 類流程)。
範圍(design §5/§6、tasks.md P4)
PATCH /portal/admin/users/:id停用或降級「最後一個 active admin」→ 409。另一個 admin 是disabled不算數。只在「目標是 active admin 且 patch 會使其失格」時才多打一次 list(平時零成本)。/portal管理頁 UI(admin-only nav;前端藏=UX,真閘=/portal/admin/*role 閘 403):generatePassword一次性密碼只在畫面顯示一次,otpbox 關閉即逝)+停用/啟用+重設密碼+每帳號勾選可查庫(含["*"]全庫選項,勾選連動停用個別庫框;可勾清單=庫目錄啟用中 ∪ general ∪ 該帳號既有授權)graph_source圖譜來源標記(D-4;API P3 已有,本波補 UI)紅線自查
{tenant}::portal驗收證據表
generated_password16 碼;回應無password_hash;KBDB body 無明碼(單元+e2e)/kbdb//零 X-Arcrun-API-Key/零 Mira測試:新增
tests/portal-admin.test.ts14 項;cypher 全套 168/169(唯一失敗=executor「不存在的零件」pre-existing,P2/P3 同筆);kbdb 20/20;兩包 tsc exit 0;wrangler deploy --dry-run打包過;inline JS 求值後node --check過(mistakes #24 手法)。端到端:本機隔離雙 worker(kbdb 9790/cypher 9791,
wrangler.test.toml+KBDB_BASE_URL覆蓋,獨立 persist)41/41 全綠。部署備忘(隨 T6-cloud 排練)
沿 P1 部署清單:Vectorize
librarymetadata index+POST /embed/backfill {"reindex":true};gated leo21c wrangler 直推。本 PR 無新 var/secret(PORTAL_SESSION_TTL/PORTAL_SHOW_WORKFLOWSP2/P3 已進 toml)。portal-auth SDD P1-P4 全完成,tasks.md 全 [x]、wiki status 已更新。
🤖 Generated with Claude Code