Files
member-platform/docs/ORG_MEMBER_MANAGEMENT_PLAN.md

2.7 KiB
Raw Blame History

組織與會員管理規劃(給前端/後端協作)

1. 目前狀態(你現在看到空白是正常)

  • 已完成:
    • Authentik 登入
    • /me 基本個人資料
    • 權限 grant/revoke 與 snapshot
  • 尚未完成:
    • 公司組織OrganizationCRUD
    • 會員Member清單/新增/編輯/停用
    • 會員與組織關聯管理

2. 建議產品資訊架構IA

  • 我的資料:目前登入者基本資訊、登出
  • 我的權限:目前登入者權限快照
  • 組織管理:公司清單、建立公司、編輯公司、狀態切換
  • 會員管理:會員清單、邀請/建立會員、編輯會員、停用會員、指派組織
  • 權限管理:保留現有 grant/revoke可作為管理員進階頁

3. 建議後端 APIv1

Organization

  • GET /admin/organizations
  • POST /admin/organizations
  • GET /admin/organizations/{org_id}
  • PATCH /admin/organizations/{org_id}
  • POST /admin/organizations/{org_id}/activate
  • POST /admin/organizations/{org_id}/deactivate

Member

  • GET /admin/members
  • POST /admin/members
  • GET /admin/members/{member_id}
  • PATCH /admin/members/{member_id}
  • POST /admin/members/{member_id}/activate
  • POST /admin/members/{member_id}/deactivate

Member x Organization

  • GET /admin/members/{member_id}/organizations
  • POST /admin/members/{member_id}/organizations/{org_id}
  • DELETE /admin/members/{member_id}/organizations/{org_id}

4. 建議資料表(最小可行)

  • organizations
    • id (uuid)
    • org_code (unique)
    • name
    • tax_id (nullable)
    • status (active|inactive)
    • created_at, updated_at
  • members
    • id (uuid)
    • authentik_sub (unique)
    • email
    • display_name
    • status (active|inactive)
    • created_at, updated_at
  • member_organizations
    • member_id
    • organization_id
    • unique(member_id, organization_id)

5. 前端頁面需求(給另一個 AI

  • /admin/organizations
    • 表格 + 查詢 + 新增 Dialog + 編輯 Dialog + 啟停用
  • /admin/members
    • 表格 + 查詢 + 新增 Dialog + 編輯 Dialog + 啟停用
  • /admin/members/:id/organizations
    • 左側會員資訊,右側組織綁定清單 + 加入/移除

6. 權限模型(建議)

  • org.manage:組織管理
  • member.manage:會員管理
  • permission.manage:權限管理

可映射到現有權限欄位:

  • scope_type=global
  • scope_id=member-center
  • module=organization|member|permission
  • action=view|create|update|deactivate|grant|revoke

7. 驗收標準

  • 可以建立/修改/停用組織
  • 可以建立/修改/停用會員
  • 可以將會員加入/移出組織
  • UI 顯示成功/失敗訊息,並可重新整理資料
  • 所有管理 API 都有管理員金鑰驗證(X-Client-Key + X-API-Key