Story #7231
Updated by bmbouter over 4 years ago
## Background Users need to: * List all users * View a single user * View group membership for that user * View user and group permissions for that user ## URL * `GET /pulp/api/v3/users/` - the list view * `GET /pulp/api/v3/users/:uuid/` - the detail view * `GET /pulp/api/v3/users/:uuid/permissions/` - list all permissions view ## The model This is defined by Django: https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L321-L356 ## `/pulp/api/v3/users/:uuid/` Serializer fields * username - https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L330-L339 * first_name - https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L340 * last_name - https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L341 * email - https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L342 * is_staff - https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L343-L347 * is_active - https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L348-L355 * date_joined - https://github.com/django/django/blob/7af8f4127397279d19ef7c7899e93018274e2f9b/django/contrib/auth/models.py#L356 * groups - a list-style URL Field to the groups the user is a member of for example: A list of entries like: ``` { "group_name": "foo", "pulp_href": "/pulp/api/v3/groups/<UUID_HERE>/" } ``` ## `/pulp/api/v3/users/:uuid/permissions/` Serializer Each permission entry for model-level permission should have: ``` { "name": "file.view_fileremote", "obj": None } ``` Each permission entry for the object-level permission should have: ``` { "name": "file.view_fileremote", "obj": "/pulp/api/v3/remotes/file/file/<UUID_HERE/" } ```