sync/identity/2026-09-24-be-notification-create-admin-only.md · Xem trên GitHub

POST /notifications chỉ cho owner/system_admin, kiểm tra người nhận

Đã đóng low breaking
Module
identity
Từ
BE
Người raise
ThaiThanhLuan
Ngày tạo
2026-09-24
Refs
IDENTITY-024
Bên nhận
FE n/aMobile n/a

Tóm tắt

POST /notifications giờ chỉ owner/system_admin gọi được, và recipientId phải là user của cùng tổ chức. Trước đây mọi user đã đăng nhập đều gửi được thông báo + email với nội dung tuỳ ý cho đồng nghiệp. FE hiện không gọi endpoint này, nên nhiều khả năng không phải sửa gì — note để FE biết trước khi định dùng nó.

Chi tiết

  • Các module nghiệp vụ không dùng endpoint này để gửi thông báo; chúng phát qua outbox (IDENTITY-023).
  • 403 đến từ RolesGuard dùng chung nên không có code trong body (giống mọi endpoint @Roles khác).

Contract (trước → sau)

Trước Sau
Endpoint POST /notifications không đổi
Request { recipientId, sourceAppId, type, actionCategory, title, body? } không đổi
Response 201 { data: Notification } không đổi
Lỗi — 403 nếu không phải owner/system_admin; 404 common.entity_not_found nếu recipientId không thuộc tổ chức

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

  • FE: xác nhận không có màn hình nào gọi POST /notifications cho user thường (hiện notifications.api.ts không có hàm tạo) rồi đặt applied/n/a.

Cách kiểm tra

Gọi POST /notifications bằng token member → 403; bằng token owner với recipientId không tồn tại → 404.

Thảo luận

[BE] 2026-09-24 @ThaiThanhLuan — raised

Mobile n/a: mobile/ chưa có code.

[FE] 2026-09-24 @NinelXram — n/a

FE không gọi POST /notifications (notificationsApi không có hàm tạo); không màn hình nào bị ảnh hưởng.