Closes #10231: Add missing serializer annotations

This commit is contained in:
Andreas Nieß 2022-08-31 20:53:39 +02:00
parent ce4d00dc21
commit b11fa53519
3 changed files with 5 additions and 0 deletions

View File

@ -403,6 +403,7 @@ class ScriptSerializer(serializers.Serializer):
vars = serializers.SerializerMethodField(read_only=True) vars = serializers.SerializerMethodField(read_only=True)
result = NestedJobResultSerializer() result = NestedJobResultSerializer()
@swagger_serializer_method(serializer_or_field=serializers.JSONField)
def get_vars(self, instance): def get_vars(self, instance):
return { return {
k: v.__class__.__name__ for k, v in instance._get_vars().items() k: v.__class__.__name__ for k, v in instance._get_vars().items()

View File

@ -190,6 +190,7 @@ class VLANGroupSerializer(NetBoxModelSerializer):
] ]
validators = [] validators = []
@swagger_serializer_method(serializer_or_field=serializers.JSONField)
def get_scope(self, obj): def get_scope(self, obj):
if obj.scope_id is None: if obj.scope_id is None:
return None return None

View File

@ -1,5 +1,6 @@
from django.contrib.auth.models import Group, User from django.contrib.auth.models import Group, User
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from drf_yasg.utils import swagger_serializer_method
from rest_framework import serializers from rest_framework import serializers
from netbox.api.fields import ContentTypeField from netbox.api.fields import ContentTypeField
@ -56,8 +57,10 @@ class NestedObjectPermissionSerializer(WritableNestedSerializer):
model = ObjectPermission model = ObjectPermission
fields = ['id', 'url', 'display', 'name', 'enabled', 'object_types', 'groups', 'users', 'actions'] fields = ['id', 'url', 'display', 'name', 'enabled', 'object_types', 'groups', 'users', 'actions']
@swagger_serializer_method(serializer_or_field=serializers.ListField)
def get_groups(self, obj): def get_groups(self, obj):
return [g.name for g in obj.groups.all()] return [g.name for g in obj.groups.all()]
@swagger_serializer_method(serializer_or_field=serializers.ListField)
def get_users(self, obj): def get_users(self, obj):
return [u.username for u in obj.users.all()] return [u.username for u in obj.users.all()]