-
Vincent SIMONIN authored
* Properties are: - gzip_proxied - keepalive_timeout - proxy_cache - proxy_read_timeout - client_max_body_size * Add E2E tests
Vincent SIMONIN authored* Properties are: - gzip_proxied - keepalive_timeout - proxy_cache - proxy_read_timeout - client_max_body_size * Add E2E tests
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
serializers.py 3.27 KiB
"""API Serializer definitions"""
from rest_framework import serializers
from netbox.api.serializers import NetBoxModelSerializer, WritableNestedSerializer
from ..models import Mapping, HttpHeader, SamlConfig
class NestedMappingSerializer(WritableNestedSerializer):
"""Nested Mapping Serializer class"""
url = serializers.HyperlinkedIdentityField(
view_name="plugins-api:netbox_rps_plugin-api:mapping-detail"
)
class Meta:
model = Mapping
fields = ("id", "url", "display")
class NestedSamlConfigSerializer(WritableNestedSerializer):
"""Nested SAML Config Serializer class"""
url = url = serializers.HyperlinkedIdentityField(
view_name="plugins-api:netbox_rps_plugin-api:samlconfig-detail"
)
class Meta:
model = SamlConfig
fields = (
"id",
"url",
"acs_url",
"logout_url",
"force_nauth",
)
class SamlConfigSerializer(NetBoxModelSerializer):
"""SAML Config Serializer class"""
url = serializers.HyperlinkedIdentityField(
view_name="plugins-api:netbox_rps_plugin-api:samlconfig-detail"
)
mapping = NestedMappingSerializer()
class Meta:
model = SamlConfig
fields = (
"id",
"url",
"acs_url",
"logout_url",
"force_nauth",
"mapping",
"custom_fields",
"created",
"last_updated",
"tags",
)
class HttpHeaderSerializer(NetBoxModelSerializer):
"""HTTP Header Serializer class"""
url = serializers.HyperlinkedIdentityField(
view_name="plugins-api:netbox_rps_plugin-api:httpheader-detail"
)
mapping = NestedMappingSerializer()
class Meta:
model = HttpHeader
fields = (
"id",
"url",
"name",
"value",
"apply_to",
"mapping",
"custom_fields",
"created",
"last_updated",
"tags",
)
class NestedHttpHeaderSerializer(WritableNestedSerializer):
"""Nested HTTP Header Serializer class"""
url = serializers.HyperlinkedIdentityField(
view_name="plugins-api:netbox_rps_plugin-api:httpheader-detail"
)
class Meta:
model = HttpHeader
fields = ("id", "url", "name", "value", "apply_to")
class MappingSerializer(NetBoxModelSerializer):
"""Mapping Serializer class"""
url = serializers.HyperlinkedIdentityField(
view_name="plugins-api:netbox_rps_plugin-api:mapping-detail"
)
http_headers = NestedHttpHeaderSerializer(many=True, read_only=True)
saml_config = NestedSamlConfigSerializer(read_only=True)
class Meta:
model = Mapping
fields = (
"id",
"url",
"source",
"target",
"authentication",
"testingpage",
"webdav",
"Comment",
"gzip_proxied",
"keepalive_requests",
"keepalive_timeout",
"proxy_cache",
"proxy_read_timeout",
"client_max_body_size",
"custom_fields",
"created",
"last_updated",
"tags",
"http_headers",
"saml_config",
)