mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Replace custom JSONField inspector with the one from drf_yasg
This commit is contained in:
@ -575,7 +575,6 @@ SWAGGER_SETTINGS = {
|
|||||||
'DEFAULT_AUTO_SCHEMA_CLASS': 'utilities.custom_inspectors.NetBoxSwaggerAutoSchema',
|
'DEFAULT_AUTO_SCHEMA_CLASS': 'utilities.custom_inspectors.NetBoxSwaggerAutoSchema',
|
||||||
'DEFAULT_FIELD_INSPECTORS': [
|
'DEFAULT_FIELD_INSPECTORS': [
|
||||||
'utilities.custom_inspectors.CustomFieldsDataFieldInspector',
|
'utilities.custom_inspectors.CustomFieldsDataFieldInspector',
|
||||||
'utilities.custom_inspectors.JSONFieldInspector',
|
|
||||||
'utilities.custom_inspectors.NullableBooleanFieldInspector',
|
'utilities.custom_inspectors.NullableBooleanFieldInspector',
|
||||||
'utilities.custom_inspectors.ChoiceFieldInspector',
|
'utilities.custom_inspectors.ChoiceFieldInspector',
|
||||||
'utilities.custom_inspectors.SerializedPKRelatedFieldInspector',
|
'utilities.custom_inspectors.SerializedPKRelatedFieldInspector',
|
||||||
@ -585,6 +584,7 @@ SWAGGER_SETTINGS = {
|
|||||||
'drf_yasg.inspectors.ChoiceFieldInspector',
|
'drf_yasg.inspectors.ChoiceFieldInspector',
|
||||||
'drf_yasg.inspectors.FileFieldInspector',
|
'drf_yasg.inspectors.FileFieldInspector',
|
||||||
'drf_yasg.inspectors.DictFieldInspector',
|
'drf_yasg.inspectors.DictFieldInspector',
|
||||||
|
'drf_yasg.inspectors.JSONFieldInspector',
|
||||||
'drf_yasg.inspectors.SerializerMethodFieldInspector',
|
'drf_yasg.inspectors.SerializerMethodFieldInspector',
|
||||||
'drf_yasg.inspectors.SimpleFieldInspector',
|
'drf_yasg.inspectors.SimpleFieldInspector',
|
||||||
'drf_yasg.inspectors.StringDefaultFieldInspector',
|
'drf_yasg.inspectors.StringDefaultFieldInspector',
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
from django.contrib.postgres.fields import JSONField
|
|
||||||
from drf_yasg import openapi
|
from drf_yasg import openapi
|
||||||
from drf_yasg.inspectors import FieldInspector, NotHandled, PaginatorInspector, SwaggerAutoSchema
|
from drf_yasg.inspectors import FieldInspector, NotHandled, PaginatorInspector, SwaggerAutoSchema
|
||||||
from drf_yasg.utils import get_serializer_ref_name
|
from drf_yasg.utils import get_serializer_ref_name
|
||||||
@ -131,15 +130,6 @@ class CustomFieldsDataFieldInspector(FieldInspector):
|
|||||||
return NotHandled
|
return NotHandled
|
||||||
|
|
||||||
|
|
||||||
class JSONFieldInspector(FieldInspector):
|
|
||||||
"""Required because by default, Swagger sees a JSONField as a string and not dict
|
|
||||||
"""
|
|
||||||
def process_result(self, result, method_name, obj, **kwargs):
|
|
||||||
if isinstance(result, openapi.Schema) and isinstance(obj, JSONField):
|
|
||||||
result.type = 'dict'
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
class NullablePaginatorInspector(PaginatorInspector):
|
class NullablePaginatorInspector(PaginatorInspector):
|
||||||
def process_result(self, result, method_name, obj, **kwargs):
|
def process_result(self, result, method_name, obj, **kwargs):
|
||||||
if method_name == 'get_paginated_response' and isinstance(result, openapi.Schema):
|
if method_name == 'get_paginated_response' and isinstance(result, openapi.Schema):
|
||||||
|
Reference in New Issue
Block a user