Skip to content

Basic CRUD Operations and Public Groups (Phase 1) #1295

@keithmanville

Description

@keithmanville

The first phase implements minimal functionality in order to enable basic “namespacing” within Dioptra. It would allow us to benefit in multi-user deployments so users can avoid conflicting resources with other users. At this point no permissions are enabled and users will have access to all groups that are created.

REST API:

Enable basic CRUD operations on groups
POST /groups/
PUT /groups/{id}
DELETE /groups/{id}
What should this mean? All resources inaccessible? Cascading locks?
When a user is created, they are added to all groups
When a group is created, all members are added
The creator is added as the GroupManager Owner role
This is done for tracking purposes only, so that groups can be managed once additional features are added
When a group is created, the basic parameter types are added
The public group that is created by default is special and cannot be deleted or modified
Consider implementing this with a “public” boolean on the group instead of managing users.
Constrain group names by “user id” + “name” which can be displayed as “username:groupname”

Frontend:

The frontend will be updated to include filtering by group by default. The user will have a current “group context” under which all of their actions will take place. This will be selected using the existing Groups dropdown in the top right. The current group context should be saved as a cookie.
All forms will be updated to remove group drop down selectors.
The Groups page will allow users to create groups.
There should be a warning stating that all future users have access to the group.

Blockers:

None

Metadata

Metadata

Assignees

Labels

featureNew feature to add to project
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions