sync/identity/2026-09-25-be-identity-company-group.md · Xem trên GitHub

Nhóm gốc Công ty chứa mọi nhân viên

Đang mở normal feature
Module
identity
Từ
BE
Người raise
ThaiThanhLuan
Ngày tạo
2026-09-25
Refs
IDENTITY-020
Bên nhận
FE pendingMobile n/a

Tóm tắt

Mỗi tổ chức có đúng 1 nhóm "Công ty" (type: "company") chứa mọi nhân viên; nhân viên mới tự vào. Kết hợp role cho nhóm (IDENTITY-033): gán role cho nhóm Công ty = cấp quyền chung cho toàn bộ nhân viên.

Chi tiết

  • Migration tạo nhóm Công ty (slug company) cho tổ chức chưa có và đưa toàn bộ nhân viên hiện có vào.
  • POST /users (nhân viên) → tự thêm vào nhóm Công ty. Khách thì không.
  • POST /groups { type: "company" } → 400 identity.group.company_reserved (chỉ tạo được nhóm custom).
  • DELETE /groups/<nhóm Công ty>/members/:userId → 409 identity.group.company_membership_locked.
  • Thêm khách vào nhóm Công ty → 409 identity.group.company_employees_only.

Contract (trước → sau)

Trước Sau
POST /groups type: "company" 201 400 identity.group.company_reserved
Xoá thành viên nhóm Công ty 204 409
Nhân viên mới không thuộc nhóm nào thuộc nhóm Công ty

Việc bên nhận cần làm

  • FE: form tạo nhóm bỏ lựa chọn loại "Toàn công ty" (chỉ custom).
  • FE: ẩn nút "Xoá khỏi nhóm" ở nhóm Công ty; đánh dấu nhóm này là nhóm hệ thống.

Cách kiểm tra

GET /groups → có đúng 1 nhóm type: "company"; tạo user mới → GET /groups/<company>/members có user đó.

Thảo luận