2016-03-01 11:23:03 -05:00
|
|
|
from rest_framework import serializers
|
|
|
|
|
2017-01-27 12:22:29 -05:00
|
|
|
from dcim.api.serializers import NestedDeviceSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
from secrets.models import Secret, SecretRole
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# SecretRoles
|
|
|
|
#
|
|
|
|
|
|
|
|
class SecretRoleSerializer(serializers.ModelSerializer):
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = SecretRole
|
|
|
|
fields = ['id', 'name', 'slug']
|
|
|
|
|
|
|
|
|
2017-01-31 15:35:09 -05:00
|
|
|
class NestedSecretRoleSerializer(serializers.ModelSerializer):
|
2017-01-31 10:40:53 -05:00
|
|
|
url = serializers.HyperlinkedIdentityField(view_name='secrets-api:secretrole-detail')
|
2016-03-01 11:23:03 -05:00
|
|
|
|
2017-01-27 12:22:29 -05:00
|
|
|
class Meta:
|
|
|
|
model = SecretRole
|
|
|
|
fields = ['id', 'url', 'name', 'slug']
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Secrets
|
|
|
|
#
|
|
|
|
|
|
|
|
class SecretSerializer(serializers.ModelSerializer):
|
2017-01-27 12:22:29 -05:00
|
|
|
device = NestedDeviceSerializer()
|
|
|
|
role = NestedSecretRoleSerializer()
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = Secret
|
2016-06-22 11:03:49 -04:00
|
|
|
fields = ['id', 'device', 'role', 'name', 'plaintext', 'hash', 'created', 'last_updated']
|
2017-02-01 16:21:33 -05:00
|
|
|
|
|
|
|
|
|
|
|
class WritableSecretSerializer(serializers.ModelSerializer):
|
|
|
|
plaintext = serializers.CharField()
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
model = Secret
|
|
|
|
fields = ['id', 'device', 'role', 'name', 'plaintext']
|