mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Moved TopologyMaps from DCIM to extras
This commit is contained in:
@ -2,9 +2,14 @@ from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
from extras.models import CustomField, CustomFieldChoice, Graph
|
||||
# from dcim.api.serializers import NestedSiteSerializer
|
||||
from extras.models import CustomField, CustomFieldChoice, Graph, TopologyMap
|
||||
|
||||
|
||||
#
|
||||
# Custom fields
|
||||
#
|
||||
|
||||
class CustomFieldSerializer(serializers.BaseSerializer):
|
||||
"""
|
||||
Extends ModelSerializer to render any CustomFields and their values associated with an object.
|
||||
@ -41,6 +46,10 @@ class CustomFieldChoiceSerializer(serializers.ModelSerializer):
|
||||
fields = ['id', 'value']
|
||||
|
||||
|
||||
#
|
||||
# Graphs
|
||||
#
|
||||
|
||||
class GraphSerializer(serializers.ModelSerializer):
|
||||
embed_url = serializers.SerializerMethodField()
|
||||
embed_link = serializers.SerializerMethodField()
|
||||
@ -54,3 +63,22 @@ class GraphSerializer(serializers.ModelSerializer):
|
||||
|
||||
def get_embed_link(self, obj):
|
||||
return obj.embed_link(self.context['graphed_object'])
|
||||
|
||||
|
||||
#
|
||||
# Topology maps
|
||||
#
|
||||
|
||||
class TopologyMapSerializer(CustomFieldModelSerializer):
|
||||
# site = NestedSiteSerializer()
|
||||
|
||||
class Meta:
|
||||
model = TopologyMap
|
||||
fields = ['id', 'name', 'slug', 'site', 'device_patterns', 'description']
|
||||
|
||||
|
||||
class WritableTopologyMapSerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = TopologyMap
|
||||
fields = ['name', 'slug', 'site', 'device_patterns', 'description']
|
||||
|
Reference in New Issue
Block a user