動作
Feature #168
進行中
SC
SC
管理員使用者管理系統(角色權限、帳號 CRUD、密碼重設)
Feature #168:
管理員使用者管理系統(角色權限、帳號 CRUD、密碼重設)
開始日期:
2026-02-12
完成日期:
2026-02-12 (逾期 50 天)
完成比例:
100%
預估工時:
1:00 小時
概述
h1. Backend
- User model 新增 role(admin/user)與 is_active 欄位,含 SQLite ALTER TABLE 自動遷移
- 新增 require_admin 依賴注入,驗證 Admin 權限
- 登入與 get_current_user 攔截已停用帳號(is_active=false 回傳 403)
- 新增 5 個 Admin API:
- GET /admin/users — 列出所有使用者
- POST /admin/users — 建立使用者(指定角色)
- PUT /admin/users/{id} — 修改角色 / 啟停用
- DELETE /admin/users/{id} — 刪除使用者(含關聯病歷與模板)
- PUT /admin/users/{id}/reset-password — 重設密碼
- 支援環境變數 ADMIN_USERNAME / ADMIN_PASSWORD 自動建立初始 Admin
- 新增 create_admin.py 命令列工具
h1. Frontend
- auth-context.tsx User 型別加入 role、is_active
- 頂部列 Admin 使用者旁顯示 Admin 標籤
- 設定 Modal 新增「使用者管理」頁籤(僅 Admin 可見):
- 使用者列表(帳號、角色標籤、啟停用 Switch、操作按鈕)
- 行內重設密碼 UI
- 新增使用者表單(帳號、密碼、角色選擇)
- 刪除使用者(含確認對話框)
- Admin 不可修改/刪除自己的帳號
沒有任何資料可供顯示
動作