openwisp / openwisp-notifications

Notifications module of OpenWISP
http://openwisp.org
GNU General Public License v3.0
39 stars 41 forks source link

[feature] Add REST API to manage notification preferences of other users #255

Open nemesifier opened 1 year ago

nemesifier commented 1 year ago

We need a REST API endpoint which will allow administrators to change the notification settings of other users.

The API endpoint path could be: /api/v1/users/user/{id}/notification-setting/ or if that proves to be hard to implement due to the modular structure of OpenWISP, we could use /api/v1/notification/user/{id}/setting/.

Only the following users can access this endpoint:

The logic of this API endpoint must be shared with the logic of the existing /api/v1/notification/user-settings/ and avoid duplication.

We need to return the organization name in the API output (let's make sure we use select_related() to avoid generating too many queries when loading this data from the DB).

battleboy-cxx commented 3 months ago

We need a REST API endpoint which will allow administrators to change the notification settings of other users.

The API endpoint path could be: /api/v1/users/user/{id}/notification-setting/ or if that proves to be hard to implement due to the modular structure of OpenWISP, we could use /api/v1/notification/user/{id}/setting/ (althought the former is preferred).

Only superusers shall be able to use this API endpoint.

The logic of this API endpoint must be shared with the logic of the existing /api/v1/notification/user-settings/ and avoid duplication.

Just to make it more explicit. I am writing the GSOC proposal and trying to catch up the instruction, in the instruction text, the below two apis path should be corrected.

/api/v1/notification/user/{id}/setting/ => /api/v1/notifications/notification/user/{id}/setting/ /api/v1/notification/user-settings/ => /api/v1/notifications/notification/user-setting/ no 's' in the end.