mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
67 lines
2.0 KiB
Python
67 lines
2.0 KiB
Python
from rest_framework import serializers
|
|
|
|
from extras import choices, models
|
|
from users.api.nested_serializers import NestedUserSerializer
|
|
from utilities.api import ChoiceField, WritableNestedSerializer
|
|
|
|
__all__ = [
|
|
'NestedConfigContextSerializer',
|
|
'NestedExportTemplateSerializer',
|
|
'NestedGraphSerializer',
|
|
'NestedImageAttachmentSerializer',
|
|
'NestedJobResultSerializer',
|
|
'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 NestedImageAttachmentSerializer(WritableNestedSerializer):
|
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:imageattachment-detail')
|
|
|
|
class Meta:
|
|
model = models.ImageAttachment
|
|
fields = ['id', 'url', 'name', 'image']
|
|
|
|
|
|
class NestedTagSerializer(WritableNestedSerializer):
|
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:tag-detail')
|
|
|
|
class Meta:
|
|
model = models.Tag
|
|
fields = ['id', 'url', 'name', 'slug', 'color']
|
|
|
|
|
|
class NestedJobResultSerializer(serializers.ModelSerializer):
|
|
url = serializers.HyperlinkedIdentityField(view_name='extras-api:jobresult-detail')
|
|
status = ChoiceField(choices=choices.JobResultStatusChoices)
|
|
user = NestedUserSerializer(
|
|
read_only=True
|
|
)
|
|
|
|
class Meta:
|
|
model = models.JobResult
|
|
fields = ['url', 'created', 'completed', 'user', 'status']
|