# memberapi.ose.tw 後端架構(公司/品牌站台/會員) ## 核心主檔(對齊 DB Schema) - `users`:會員 - `companies`:公司 - `sites`:品牌站台(隸屬 company) - `systems`:系統層(member/mkt/...) - `modules`:模組(使用 `system.module` key) ## 權限模型 - 直接權限:`user_scope_permissions` - 群組權限:`permission_groups` + `permission_group_members` + `permission_group_permissions` - Snapshot 回傳:合併「user 直接 + group」去重 ## 授權層級 - `system` 必填 - `module` 選填 - 有值:`{system}.{module}`(例:`mkt.campaign`) - 無值:系統層權限,使用 `system.__system__` ## 主要 API - `GET /me` - `GET /me/permissions/snapshot` - `POST /admin/permissions/grant|revoke` - `GET|POST /admin/systems` - `GET|POST /admin/modules` - `GET|POST /admin/companies` - `GET|POST /admin/sites` - `GET /admin/members` - `GET|POST /admin/permission-groups` - `POST|DELETE /admin/permission-groups/{group_key}/members/{authentik_sub}` - `POST /admin/permission-groups/{group_key}/permissions/grant|revoke` - `GET /internal/systems|modules|companies|sites|members` ## DB Migration - 初始化:`backend/scripts/init_schema.sql` - 舊庫補齊:`backend/scripts/migrate_align_company_site_member_system.sql`