1
0
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:
jeremystretch
2021-06-11 15:14:19 -04:00
parent d87ec82fe3
commit 48b4bf1683
8 changed files with 108 additions and 6 deletions

View File

@ -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
#