跳至主要内容

排班主管 · 09

移除主管

移除指定 scope 的 manager 權限,同時保留主管帳號與其他門市權限。

完成結果林小米店長不再管理台北信義店,但帳號與台北中正店的 manager 權限都繼續保留。

實際案例​

林小米店長目前同時管理台北信義店與台北中正店。這次只移除信義店權限,不能把整份 roles 清空,也不是刪除主管帳號。

資料流​

  1. 1取得目前完整角色找到 0dab2cd6-702a-4e94-876d-4a91c514a76e,確認同時具有信義與中正 Merchant role。GET /v1/managers
  2. 2定位要移除的 scope比對 unit=merchant、scope=tkfv5t、role=manager。role match
  3. 3送出移除變更只提供 oldRole,代表移除該 scope 的既有權限。PUT /v1/manager/{id}/roles
  4. 4回讀角色確認信義店消失、中正店仍保留。GET /v1/managers

欄位 mapping​

欄位移除項目應保留項目
unitmerchantmerchant
scopetkfv5ttlcoej
rolemanagermanager

Request​

PUT /v1/manager/0dab2cd6-702a-4e94-876d-4a91c514a76e/roles
Content-Type: application/json

{
"roles": [
{
"scope": "tkfv5t",
"unit": "merchant",
"oldRole": "manager"
}
]
}

預期回讀 Response​

managers.json 保留操作前的雙店權限;下列為移除後應以 GET /v1/managers 驗證的預期狀態:

{
"data": [
{
"id": "0dab2cd6-702a-4e94-876d-4a91c514a76e",
"email": "manager.lin@example.com",
"title": "門市店長",
"name": "林小米店長",
"nickname": "Happy",
"portrait": "https://example.com/portraits/manager-lin-001.png",
"roles": [
{"scope": "tlcoej", "role": "manager", "unit": "merchant"}
]
}
]
}

驗收結果​

  • 主管帳號 0dab2cd6-702a-4e94-876d-4a91c514a76e 仍存在。
  • roles 不再包含 merchant/tkfv5t/manager。
  • merchant/tlcoej/manager 完整保留。
關鍵提醒

每個 role item 都是一筆權限變更,不是要送回的完整角色快照。移除時只提供 oldRole;同一人若仍有其他 Organization、Merchant 或 Squad scope,不要一併移除。