mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
58 lines
1.6 KiB
Python
58 lines
1.6 KiB
Python
from rest_framework import serializers
|
|
|
|
from extras import models
|
|
from utilities.api import WritableNestedSerializer
|
|
|
|
__all__ = [
|
|
'NestedConfigContextSerializer',
|
|
'NestedExportTemplateSerializer',
|
|
'NestedGraphSerializer',
|
|
'NestedReportResultSerializer',
|
|
'NestedTagSerializer',
|
|
]
|
|
|
|
|
|
class NestedConfigContextSerializer(WritableNestedSerializer):
|
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:configcontext-detail')
|
|
|
|
class Meta:
|
|
model = models.ConfigContext
|
|
fields = ['id', 'url', 'name']
|
|
|
|
|
|
class NestedExportTemplateSerializer(WritableNestedSerializer):
|
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:exporttemplate-detail')
|
|
|
|
class Meta:
|
|
model = models.ExportTemplate
|
|
fields = ['id', 'url', 'name']
|
|
|
|
|
|
class NestedGraphSerializer(WritableNestedSerializer):
|
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:graph-detail')
|
|
|
|
class Meta:
|
|
model = models.Graph
|
|
fields = ['id', 'url', 'name']
|
|
|
|
|
|
class NestedTagSerializer(WritableNestedSerializer):
|
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:tag-detail')
|
|
tagged_items = serializers.IntegerField(read_only=True)
|
|
|
|
class Meta:
|
|
model = models.Tag
|
|
fields = ['id', 'url', 'name', 'slug', 'color', 'tagged_items']
|
|
|
|
|
|
class NestedReportResultSerializer(serializers.ModelSerializer):
|
|
url = serializers.HyperlinkedIdentityField(
|
|
view_name='extras-api:report-detail',
|
|
lookup_field='report',
|
|
lookup_url_kwarg='pk'
|
|
)
|
|
|
|
class Meta:
|
|
model = models.ReportResult
|
|
fields = ['url', 'created', 'user', 'failed']
|