Module manifest-only (không code): khai permission cho năng lực hạ tầng vào taxonomy 4 cấp để RBAC gán được — route thật ở core. Nguyên tắc: thêm năng lực core mới = thêm 1 dòng permission ở system.
| Feature | BO chính | Action |
|---|---|---|
| modules | Quản lý ứng dụng (cài/gỡ/bật/tắt) | viewinstalldelete |
| backup | Backup per-WS (gắn P3 review) | viewrestore |
| audit | Nhật ký hệ thống (khi có audit platform) | viewexport |
| health | Tình trạng module / kết nối | view |
| notify-channel | Cấu hình kênh gửi (Zalo OA/SMS) | viewconfigure |
Permission key theo convention system.<group>.<feature>.<action>. fields/scopeVars theo plan data-scope (manifest v1.1).
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| modules.view / install / delete | permission | ✔ | Đã có — routes/modules.js |
| backup.view / restore | permission | ✔ | Thêm cùng P3 (pg_dump per-WS) |
| audit.view / export | permission | — | Thêm khi có audit platform |
| health.view | permission | — | Health-check module sau mount |
| notify-channel.configure | permission | — | Cấu hình Zalo OA/SMS tách khỏi QTHT chung |
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Permission key | system.admin. | ✔ | Cùng format module thường |
| Đăng ký | stub từ manifest | ✔ | runtime-core — không models/routes |
| Gán mặc định | role owner/QTHT | ✔ | Không rơi vào role nghiệp vụ |
Vai trò theo WS0. R xem · W tạo/sửa · A duyệt · — không có quyền.
| Feature | QTHT | GIAM_DOC | QL_DAO_TAO | TUYEN_SINH | GIAO_VU | GIAO_VIEN | KE_TOAN | NHAN_SU |
|---|---|---|---|---|---|---|---|---|
| modules | W | R | — | — | — | — | — | — |
| backup | W | R | — | — | — | — | — | — |
| audit | R | R | — | — | — | — | — | — |
| health | R | R | — | — | — | — | — | — |
| notify-channel | W | — | — | — | — | — | — | — |
¹ chỉ bản ghi mình phụ trách · ² chỉ của chính mình · W·A = tạo/sửa + duyệt