專案

一般

配置概況

動作

Feature #168

進行中
SC SC

管理員使用者管理系統(角色權限、帳號 CRUD、密碼重設)

Feature #168: 管理員使用者管理系統(角色權限、帳號 CRUD、密碼重設)

是由 Sashiba Chou約 2 個月 前加入.

狀態:
New
優先權:
Normal
被分派者:
開始日期:
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 不可修改/刪除自己的帳號

沒有任何資料可供顯示

動作

匯出至 PDF Atom