Skip to content

Commit 431f374

Browse files
mraerinobctiemann
authored andcommitted
Fix definition of vid_ranges in VLANGroup so it shows up in the OpenAPI schema (#18237)
1 parent 5fd9d45 commit 431f374

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

netbox/core/api/schema.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
import typing
33
from collections import OrderedDict
44

5-
from drf_spectacular.extensions import OpenApiSerializerFieldExtension
5+
from drf_spectacular.extensions import OpenApiSerializerFieldExtension, OpenApiSerializerExtension, _SchemaType
66
from drf_spectacular.openapi import AutoSchema
77
from drf_spectacular.plumbing import (
88
build_basic_type, build_choice_field, build_media_type_object, build_object_type, get_doc,
99
)
1010
from drf_spectacular.types import OpenApiTypes
11+
from drf_spectacular.utils import Direction
1112

1213
from netbox.api.fields import ChoiceField
1314
from netbox.api.serializers import WritableNestedSerializer
@@ -277,3 +278,20 @@ def map_serializer_field(self, auto_schema, direction):
277278
return component.ref if component else None
278279
else:
279280
return build_basic_type(OpenApiTypes.INT)
281+
282+
283+
class FixIntegerRangeSerializerSchema(OpenApiSerializerExtension):
284+
target_class = 'netbox.api.fields.IntegerRangeSerializer'
285+
286+
def map_serializer(self, auto_schema: 'AutoSchema', direction: Direction) -> _SchemaType:
287+
return {
288+
'type': 'array',
289+
'items': {
290+
'type': 'array',
291+
'items': {
292+
'type': 'integer',
293+
},
294+
'minItems': 2,
295+
'maxItems': 2,
296+
},
297+
}

0 commit comments

Comments
 (0)