Something went wrong while setting issue due date.
Room moderators
Allow room owners to select multiple users as moderators.
Proposal:
- Add a new property
moderators
of typeList<String>
which will contain user IDs toRoom
entity for internal use/persistence only. - Add new API endpoints:
-
GET /room/<Room ID>/moderators
Response body:[{"userId": "<User ID>", "roles": ["<Role>"]}]
-
PUT /room/<Room ID>/moderators/<User ID>
Request body:{}
(adds default roleEXECUTIVE_MODERATOR
) or{"roles": ["<Role>"]}
DELETE /room/<Room ID>/moderators/<User ID>
-
- Add new
UserFindQuerySerivce
to lookup user ID by login ID. - Moderators have the same permissions as the owner but cannot delete the room.
- Adding different roles for moderators might be useful
but I wouldn't include this in an initial implementation. - Roles:
-
EDITING_MODERATOR
has almost all permissions the owner has (cannot delete room). -
EXECUTIVE_MODERATOR
has moderating permissions (delete comments/answers).
(NYI for comment micro service, 07.07.19)
-
@cthl58 @lmas60 @tksl38: Any thoughts?
Edit (03.06.): Frontend-Workflow to add new mods:
- Room owner enters
loginId
of the new mod - FE looks up
userId
via POST request to/user/find
:{ "properties": { "loginId": "..." } }
- FE receives list of users (
loginId
alone is not unique) - FE sends PUT request to
/room/<room ID>/moderator/<user ID>