Giao diện
@digiforce-nc/plugin-disable-pm-add
Plugin vô hiệu hóa thêm plugin — chặn việc cài đặt plugin mới qua Plugin Manager, dùng cho môi trường production cần kiểm soát chặt chẽ.
Plugin này làm gì?
Trong môi trường production, admin không nên tự ý cài plugin mới (có thể gây lỗi, bảo mật, hoặc không tương thích). Plugin này vô hiệu hóa nút "Add new" trong Plugin Manager và chặn API cài đặt — chỉ cho phép bật/tắt plugin đã cài sẵn.
Bốn nhiệm vụ chính
| # | Nhiệm vụ | Chi tiết |
|---|---|---|
| 1 | Ẩn nút UI | Ẩn nút "Add new" trong Plugin Manager |
| 2 | Chặn API | Middleware chặn endpoint pm:add trả về 403 |
| 3 | Giữ toggle | Vẫn cho phép bật/tắt plugin đã cài |
| 4 | Override | Hỗ trợ env var ALLOW_PM_ADD=true cho trường hợp khẩn cấp |
Kiến trúc
Hai lớp bảo vệ
Plugin hoạt động ở hai tầng — đảm bảo không thể bypass bằng cách gọi API trực tiếp:
Cấu hình override
Khi cần cài plugin khẩn cấp mà không muốn gỡ plugin này, set biến môi trường:
bash
ALLOW_PM_ADD=trueSau khi cài xong, bỏ biến môi trường và restart server để khôi phục bảo vệ.
Vòng đời plugin
Không có API endpoint hay database
Plugin này không tạo endpoint hay bảng nào — nó chỉ chặn endpoint hiện có (pm:add) và ẩn UI component.
Thành phần client
| Thành phần | Mô tả |
|---|---|
DisableAddOverride | Override component ẩn nút "Add new" trong Plugin Manager |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/server | Server framework — middleware chặn API |
@digiforce-nc/client | Client UI framework — override component |
Mục lục chi tiết
(Xem trang tổng quan ở trên)