Closed
Description
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/notifications/user/{id}/setting/
.
Only the following users can access this endpoint:
- superusers
- org manager (load only notification settings of the orgs managed which match the orgs the user is member of, if the user being viewed is not member of any organization managed by the org manager, return 403)
- authenticated users who match the user id (any user wishing to change their own preferences).
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).