mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Initial work on REST API endpoint for tokens
This commit is contained in:
@ -7,7 +7,7 @@ from rest_framework.viewsets import ViewSet
|
||||
|
||||
from netbox.api.views import ModelViewSet
|
||||
from users import filtersets
|
||||
from users.models import ObjectPermission, UserConfig
|
||||
from users.models import ObjectPermission, Token, UserConfig
|
||||
from utilities.querysets import RestrictedQuerySet
|
||||
from utilities.utils import deepmerge
|
||||
from . import serializers
|
||||
@ -37,6 +37,25 @@ class GroupViewSet(ModelViewSet):
|
||||
filterset_class = filtersets.GroupFilterSet
|
||||
|
||||
|
||||
#
|
||||
# REST API tokens
|
||||
#
|
||||
|
||||
class TokenViewSet(ModelViewSet):
|
||||
queryset = RestrictedQuerySet(model=Token).prefetch_related('user')
|
||||
serializer_class = serializers.TokenSerializer
|
||||
filterset_class = filtersets.TokenFilterSet
|
||||
|
||||
def get_queryset(self):
|
||||
"""
|
||||
Limit the non-superusers to their own Tokens.
|
||||
"""
|
||||
queryset = super().get_queryset()
|
||||
if self.request.user.is_superuser:
|
||||
return queryset
|
||||
return queryset.filter(user=self.request.user)
|
||||
|
||||
|
||||
#
|
||||
# ObjectPermissions
|
||||
#
|
||||
|
Reference in New Issue
Block a user