More realistic change to resole issue with netboxusers-list

This commit is contained in:
Daniel Sheppard 2024-01-24 11:07:53 -06:00
parent 3ab8caa615
commit 15df8082aa
2 changed files with 9 additions and 1 deletions

View File

@ -9,6 +9,7 @@ router.APIRootView = views.UsersRootView
# Users and groups # Users and groups
router.register('users', views.UserViewSet) router.register('users', views.UserViewSet)
router.register('netboxusers', views.NetBoxUserViewSet)
router.register('groups', views.GroupViewSet) router.register('groups', views.GroupViewSet)
# Tokens # Tokens

View File

@ -5,6 +5,7 @@ from django.contrib.auth.models import Group
from django.db.models import Count from django.db.models import Count
from drf_spectacular.utils import extend_schema from drf_spectacular.utils import extend_schema
from drf_spectacular.types import OpenApiTypes from drf_spectacular.types import OpenApiTypes
from rest_framework.decorators import action
from rest_framework.exceptions import AuthenticationFailed from rest_framework.exceptions import AuthenticationFailed
from rest_framework.permissions import IsAuthenticated from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response from rest_framework.response import Response
@ -15,7 +16,7 @@ from rest_framework.viewsets import ViewSet
from netbox.api.viewsets import NetBoxModelViewSet from netbox.api.viewsets import NetBoxModelViewSet
from users import filtersets from users import filtersets
from users.models import ObjectPermission, Token, UserConfig from users.models import ObjectPermission, Token, UserConfig, NetBoxUser
from utilities.querysets import RestrictedQuerySet from utilities.querysets import RestrictedQuerySet
from utilities.utils import deepmerge from utilities.utils import deepmerge
from . import serializers from . import serializers
@ -33,6 +34,12 @@ class UsersRootView(APIRootView):
# Users and groups # Users and groups
# #
class NetBoxUserViewSet(NetBoxModelViewSet):
queryset = RestrictedQuerySet(model=NetBoxUser).prefetch_related('groups').order_by('username')
serializer_class = serializers.UserSerializer
filterset_class = filtersets.UserFilterSet
class UserViewSet(NetBoxModelViewSet): class UserViewSet(NetBoxModelViewSet):
queryset = RestrictedQuerySet(model=get_user_model()).prefetch_related('groups').order_by('username') queryset = RestrictedQuerySet(model=get_user_model()).prefetch_related('groups').order_by('username')
serializer_class = serializers.UserSerializer serializer_class = serializers.UserSerializer