refactor: rename idp fields to provider naming

This commit is contained in:
Chris
2026-04-03 01:05:01 +08:00
parent 467f2b4867
commit ef27162903
35 changed files with 239 additions and 235 deletions

View File

@@ -8,7 +8,7 @@
- `company_key` TEXT NOT NULL UNIQUE
- `display_name` TEXT NOT NULL
- `legal_name` TEXT
- `idp_group_id` TEXT
- `provider_group_id` TEXT
- `status` VARCHAR(16) NOT NULL default `'active'`
- `created_at` TIMESTAMPTZ NOT NULL default `now()`
- `updated_at` TIMESTAMPTZ NOT NULL default `now()`
@@ -19,7 +19,7 @@
- `company_id` UUID NOT NULL FK -> `companies(id)` ON DELETE CASCADE
- `display_name` TEXT NOT NULL
- `domain` TEXT
- `idp_group_id` TEXT
- `provider_group_id` TEXT
- `status` VARCHAR(16) NOT NULL default `'active'`
- `created_at` TIMESTAMPTZ NOT NULL default `now()`
- `updated_at` TIMESTAMPTZ NOT NULL default `now()`
@@ -28,7 +28,7 @@
- `id` UUID PK default `gen_random_uuid()`
- `system_key` TEXT NOT NULL UNIQUE
- `name` TEXT NOT NULL
- `idp_client_id` TEXT NOT NULL UNIQUE
- `provider_client_id` TEXT NOT NULL UNIQUE
- `status` VARCHAR(16) NOT NULL default `'active'`
- `created_at` TIMESTAMPTZ NOT NULL default `now()`
- `updated_at` TIMESTAMPTZ NOT NULL default `now()`
@@ -39,11 +39,11 @@
- `system_id` UUID NOT NULL FK -> `systems(id)` ON DELETE CASCADE
- `name` TEXT NOT NULL
- `description` TEXT
- `idp_role_name` TEXT NOT NULL
- `provider_role_name` TEXT NOT NULL
- `status` VARCHAR(16) NOT NULL default `'active'`
- `created_at` TIMESTAMPTZ NOT NULL default `now()`
- `updated_at` TIMESTAMPTZ NOT NULL default `now()`
- UNIQUE(`system_id`, `idp_role_name`)
- UNIQUE(`system_id`, `provider_role_name`)
## 5) site_roles
- `id` UUID PK default `gen_random_uuid()`
@@ -55,7 +55,7 @@
## 6) users
- `id` UUID PK default `gen_random_uuid()`
- `user_sub` TEXT NOT NULL UNIQUE
- `idp_user_id` TEXT UNIQUE
- `provider_user_id` TEXT UNIQUE
- `username` TEXT UNIQUE
- `email` TEXT UNIQUE
- `display_name` TEXT

View File

@@ -15,12 +15,12 @@
- 此站台包含的 `users`
3. 系統管理(唯讀 + 同步)
- 欄位:`system_key`, `name`, `idp_client_id`, `status`
- 欄位:`system_key`, `name`, `provider_client_id`, `status`
- 系統詳情需顯示底下 `roles` 列表
- 建立/修改/刪除在 Keycloak 處理member 後台提供「同步 Keycloak」按鈕
4. 角色管理DB 關聯為主)
- 欄位:`role_key`, `system_key`, `name`, `description`, `idp_role_name`, `status`
- 欄位:`role_key`, `system_key`, `name`, `description`, `provider_role_name`, `status`
- 關聯操作:指派到 Site新增/刪除 `site_roles`
5. 會員管理CRUD

View File

@@ -22,8 +22,9 @@
6. `POST /internal/users/upsert-by-sub`
7. `GET /internal/users/{user_sub}/roles`
8. `GET /internal/permissions/{user_sub}/snapshot`(相容路徑,回 role 聚合資料)
9. `POST /internal/idp/users/ensure`
10. `POST /internal/keycloak/users/ensure`
9. `POST /internal/provider/users/ensure`
10. `POST /internal/idp/users/ensure`(舊路徑相容,不建議新串接使用)
11. `POST /internal/keycloak/users/ensure`(舊路徑相容,不建議新串接使用)
## 角色聚合回應(`GET /internal/users/{user_sub}/roles`
```json
@@ -39,7 +40,7 @@
"system_name": "Marketing",
"role_key": "RL20260402X0002",
"role_name": "campaign_edit",
"idp_role_name": "campaign_edit"
"provider_role_name": "campaign_edit"
}
]
}

View File

@@ -37,7 +37,7 @@ npm run dev
2. 前端按「前往 Keycloak 登入」應可成功導轉與回跳。
3. `GET /me` 登入後應有資料。
4. 非 admin 群組帳號打 `/admin/*` 應為 403。
5. `POST /admin/sync/from-keycloak?force=true` 可手動觸發全量補齊同步。
5. `POST /admin/sync/from-provider?force=true` 可手動觸發全量補齊同步。
## 6) 新模型驗收路徑
1. 新增 Company、Site。