We have a need to manipulate site groups via EB vis: update groups with new ids, delete users from groups.
The currently supported method is a GET which is a custom action in the Memberships Provider. We would like to expand this to include more RESTful actions.
Proposed URL scheme for updating memberships:
GET /direct/membership/group/groupid - gets current membership for the given groupid (current behaviour)
POST /direct/membership/group/groupid - update the membership for the given groupid
Parameters for the POST: action=(update|add|remove) followed by list of userids. If update, replace the current membership with the provided list. If add, add the list to the existing membership, if remove, remove the list from the existing membership.
Proposed URL scheme for managing groups (add a new group in a site, delete a group, get and update group metadata):
GET /direct/site/siteid/groups - get a list of groups (group metadata, i.e. title, description) but not membership
GET /direct/site/siteid/group/groupid - get metadata for group but not membership
POST /direct/site/siteid/group/groupid - update metadata for group but not membership
PUT /direct/site/siteid/group/new - create a new group in the site (returns group id). Params include title, description, optionally initial list of members
DELETE /direct/site/siteid/group - delete an existing group in the site.