Bỏ qua

User Story 7 – Quản lý Người dùng (User Management)

Mã tài liệu: EZD-PRD-ADM-US-07 Phiên bản: 1.0
Epic liên quan: Quản lý Truy cập & Phân quyền Hệ thống Persona: Super Admin
Ngày hiệu lực: 19/09/2025 Người tạo: John
Tài liệu Flow: EZD-PJT-FLW, mục 3.2 Người phê duyệt: Stephen

1. Mô tả

Với vai trò là một Super Admin, Tôi muốn có thể quản lý danh sách người dùng hệ thống (tạo mới, gán vai trò, reset mật khẩu, xóa), Để tôi có thể cấp tài khoản TENANT_ADMIN cho đối tác và đảm bảo hệ thống luôn vận hành an toàn.

⚠️ Phạm vi MVP: Chỉ Super Admin được truy cập màn hình này. Tenant Admin (Anh Phong) chỉ đăng nhập bằng tài khoản được cấp, không có chức năng quản lý người dùng.


2. Luồng Người dùng (User Flow)

2.1. Happy Path – Quản lý người dùng thành công

graph TD
    A(LOGIN-01: Đăng nhập với Super Admin) --> B(USR-01: Vào module Người dùng);
    B --> C(USR-02: Nhấn 'Thêm người dùng mới');
    C --> D(USR-03: Nhập email, tên, chọn role SUPER_ADMIN/TENANT_ADMIN);
    D --> E(USR-04: Lưu & gửi invite email);
    E --> F(USR-05: User nhận email & đăng nhập lần đầu);
    F --> G(USR-06: Chọn user để reset mật khẩu);
    G --> H(USR-07: Hệ thống gửi email reset);
    H --> I(USR-08: Chọn user để xóa);
    I --> J(USR-09: Xác nhận & xóa user thành công);

2.2. Fail Path 1 – Email trùng / không hợp lệ

graph TD
    A(USR-03: Nhập email) --> B(USR-ERR-01: Email trùng hoặc không hợp lệ);
    B --> C(MSG-01: Hiển thị 'Email đã tồn tại hoặc không hợp lệ');
    C --> D(RETRY-01: Người dùng nhập lại email đúng);

Acceptance: Không cho phép lưu khi email không hợp lệ hoặc đã tồn tại.

2.3. Fail Path 2 – Xóa Super Admin cuối cùng

graph TD
    A(USR-08: Chọn user để xóa) --> B(USR-ERR-02: User là Super Admin duy nhất);
    B --> C(MSG-02: 'Không thể xóa Super Admin cuối cùng');
    C --> D(RETRY-02: Người dùng chọn account khác);

Acceptance: Không cho phép xóa Super Admin cuối cùng.


3. Guardrails Định lượng

  • User create success rate: ≥ 98%.
  • Invite email delivery rate: ≥ 95% gửi thành công trong ≤ 1 phút.
  • User update latency: ≤ 1 phút để role/permission có hiệu lực.
  • Invalid email save: = 0.
  • Delete propagation: 100% user bị xóa không còn truy cập sau ≤ 1 phút.

4. Tiêu chí Chấp nhận Tổng thể

  • Chỉ Super Admin có thể truy cập module này.
  • Có thể tạo/sửa/xóa/reset mật khẩu/gán role (SUPER_ADMIN, TENANT_ADMIN).
  • Không cho phép lưu user thiếu email hoặc role.
  • Không cho phép xóa Super Admin cuối cùng.
  • Có cơ chế retry nếu API lỗi.

5. Checklist ISO 9001

STT Tiêu chí Kiểm tra Tiêu chí Chấp nhận Nguồn tham chiếu Kết quả Evidence
1 Tạo user với email hợp lệ Không cho phép email trùng hoặc sai định dạng EZD-PRD-ADM Epic [ ] ✔ / [ ] ✘
2 Gửi invite email thành công ≥ 95% delivery rate trong ≤ 1 phút EZD-PJT-FLW 3.2 [ ] ✔ / [ ] ✘
3 Update role phản ánh tức thì Booth/tenant sync ≤ 1 phút EZD-PJT-FLW 3.2 [ ] ✔ / [ ] ✘
4 Không xóa Super Admin cuối cùng Hệ thống chặn hành động, hiển thị cảnh báo EZD-QMS-P01 [ ] ✔ / [ ] ✘
5 Delete propagation User xóa không còn quyền truy cập ≤ 1 phút EZD-PJT-FLW 3.2 [ ] ✔ / [ ] ✘