Note

This is a public alpha release, and therefore features and functionality may change and the software and documentation may contain technical bugs or other issues. If you discover any issues please consider registering a GitHub issue.

api.permissions module

Permission check classes to be used with djangorestframework API.

class api.permissions.BaseUserPermission[source]

Bases: rest_framework.permissions.BasePermission

Base permission check. Permissions should override the permission_level property.

has_object_permission(request, view, obj)[source]

Return True if permission is granted, False otherwise.

message = 'You do not have permission to access this resource.'
permission_level = 0
class api.permissions.DataPermission[source]

Bases: api.permissions.BaseUserPermission

Assert that a user has the models.UserPermissionLevels.DATA permission.

message = 'You do not have permission to access the data of this resource.'
permission_level = 3
class api.permissions.DataPushPermission[source]

Bases: rest_framework.permissions.BasePermission

Permission mixin to prevent access to POST and PUT methods by users who do not have the correct permission flag.

has_object_permission(request, view, obj)[source]

Return True if permission is granted, False otherwise.

message = 'You do not have permission to push data to this resource.'
class api.permissions.IsAdminOrReadOnly[source]

Bases: rest_framework.permissions.BasePermission

Grant admins write access - all others get read-only.

has_permission(request, view)[source]

Return True if permission is granted, False otherwise.

class api.permissions.IsOwnerOrReadOnly[source]

Bases: rest_framework.permissions.BasePermission

Grant owner and admins write access - all others get read-only.

has_permission(request, view)[source]

Return True if permission is granted, False otherwise.

message = 'You do not have permission to access this resource.'
class api.permissions.MetadataPermission[source]

Bases: api.permissions.BaseUserPermission

Assert that a user has the models.UserPermissionLevels.META permission.

message = 'You do not have permission to access the metadata of this resource.'
permission_level = 2
class api.permissions.ProvPermission[source]

Bases: api.permissions.BaseUserPermission

Assert that a user has the models.UserPermissionLevels.PROV permission.

message = 'You do not have permission to access the prov data of this resource.'
permission_level = 4
class api.permissions.ViewPermission[source]

Bases: api.permissions.BaseUserPermission

Assert that a user has the models.UserPermissionLevels.VIEW permission.

message = 'You do not have permission to access this resource.'
permission_level = 1