Project

Profile

Help

Story #7231

Updated by bmbouter over 3 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/" 
 } 
 ``` 

Back