mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Finished merging writable serializers
This commit is contained in:
@@ -5,7 +5,7 @@ from rest_framework.validators import UniqueTogetherValidator
|
||||
|
||||
from dcim.api.serializers import NestedDeviceSerializer
|
||||
from secrets.models import Secret, SecretRole
|
||||
from utilities.api import ValidatedModelSerializer
|
||||
from utilities.api import ValidatedModelSerializer, WritableNestedSerializer
|
||||
|
||||
|
||||
#
|
||||
@@ -19,7 +19,7 @@ class SecretRoleSerializer(ValidatedModelSerializer):
|
||||
fields = ['id', 'name', 'slug']
|
||||
|
||||
|
||||
class NestedSecretRoleSerializer(serializers.ModelSerializer):
|
||||
class NestedSecretRoleSerializer(WritableNestedSerializer):
|
||||
url = serializers.HyperlinkedIdentityField(view_name='secrets-api:secretrole-detail')
|
||||
|
||||
class Meta:
|
||||
@@ -31,16 +31,9 @@ class NestedSecretRoleSerializer(serializers.ModelSerializer):
|
||||
# Secrets
|
||||
#
|
||||
|
||||
class SecretSerializer(serializers.ModelSerializer):
|
||||
class SecretSerializer(ValidatedModelSerializer):
|
||||
device = NestedDeviceSerializer()
|
||||
role = NestedSecretRoleSerializer()
|
||||
|
||||
class Meta:
|
||||
model = Secret
|
||||
fields = ['id', 'device', 'role', 'name', 'plaintext', 'hash', 'created', 'last_updated']
|
||||
|
||||
|
||||
class WritableSecretSerializer(serializers.ModelSerializer):
|
||||
plaintext = serializers.CharField()
|
||||
|
||||
class Meta:
|
||||
@@ -64,6 +57,6 @@ class WritableSecretSerializer(serializers.ModelSerializer):
|
||||
validator(data)
|
||||
|
||||
# Enforce model validation
|
||||
super(WritableSecretSerializer, self).validate(data)
|
||||
super(SecretSerializer, self).validate(data)
|
||||
|
||||
return data
|
||||
|
@@ -51,7 +51,6 @@ class SecretViewSet(ModelViewSet):
|
||||
'role__users', 'role__groups',
|
||||
)
|
||||
serializer_class = serializers.SecretSerializer
|
||||
write_serializer_class = serializers.WritableSecretSerializer
|
||||
filter_class = filters.SecretFilter
|
||||
|
||||
master_key = None
|
||||
|
Reference in New Issue
Block a user