Skip to content

Commit 251a607

Browse files
committed
ref(serializers): have serializers discover read-only fields from models
1 parent eb0d8fe commit 251a607

3 files changed

Lines changed: 2 additions & 25 deletions

File tree

rootfs/api/models/certificate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class Certificate(AuditedModel):
2525
key = models.TextField()
2626
# X.509 certificates allow any string of information as the common name.
2727
common_name = models.TextField(unique=True)
28-
expires = models.DateTimeField()
28+
expires = models.DateTimeField(editable=False)
2929

3030
def __str__(self):
3131
return self.common_name

rootfs/api/models/key.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class Key(UuidAuditedModel):
2222
owner = models.ForeignKey(settings.AUTH_USER_MODEL)
2323
id = models.CharField(max_length=128)
2424
public = models.TextField(unique=True, validators=[validate_base64])
25-
fingerprint = models.CharField(max_length=128)
25+
fingerprint = models.CharField(max_length=128, editable=False)
2626

2727
class Meta:
2828
verbose_name = 'SSH Key'

rootfs/api/serializers.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,11 @@ class AppSerializer(serializers.ModelSerializer):
9999

100100
owner = serializers.ReadOnlyField(source='owner.username')
101101
structure = serializers.JSONField(required=False)
102-
created = serializers.DateTimeField(read_only=True)
103-
updated = serializers.DateTimeField(read_only=True)
104102

105103
class Meta:
106104
"""Metadata options for a :class:`AppSerializer`."""
107105
model = models.App
108106
fields = ['uuid', 'id', 'owner', 'structure', 'created', 'updated']
109-
read_only_fields = ['uuid']
110107

111108

112109
class BuildSerializer(serializers.ModelSerializer):
@@ -115,15 +112,12 @@ class BuildSerializer(serializers.ModelSerializer):
115112
app = serializers.SlugRelatedField(slug_field='id', queryset=models.App.objects.all())
116113
owner = serializers.ReadOnlyField(source='owner.username')
117114
procfile = serializers.JSONField(required=False)
118-
created = serializers.DateTimeField(read_only=True)
119-
updated = serializers.DateTimeField(read_only=True)
120115

121116
class Meta:
122117
"""Metadata options for a :class:`BuildSerializer`."""
123118
model = models.Build
124119
fields = ['owner', 'app', 'image', 'sha', 'procfile', 'dockerfile', 'created',
125120
'updated', 'uuid']
126-
read_only_fields = ['uuid']
127121

128122

129123
class ConfigSerializer(serializers.ModelSerializer):
@@ -135,8 +129,6 @@ class ConfigSerializer(serializers.ModelSerializer):
135129
memory = JSONFieldSerializer(required=False, binary=True)
136130
cpu = JSONFieldSerializer(required=False, binary=True)
137131
tags = JSONFieldSerializer(required=False, binary=True)
138-
created = serializers.DateTimeField(read_only=True)
139-
updated = serializers.DateTimeField(read_only=True)
140132

141133
class Meta:
142134
"""Metadata options for a :class:`ConfigSerializer`."""
@@ -207,8 +199,6 @@ class ReleaseSerializer(serializers.ModelSerializer):
207199

208200
app = serializers.SlugRelatedField(slug_field='id', queryset=models.App.objects.all())
209201
owner = serializers.ReadOnlyField(source='owner.username')
210-
created = serializers.DateTimeField(read_only=True)
211-
updated = serializers.DateTimeField(read_only=True)
212202

213203
class Meta:
214204
"""Metadata options for a :class:`ReleaseSerializer`."""
@@ -220,8 +210,6 @@ class ContainerSerializer(serializers.ModelSerializer):
220210

221211
app = serializers.SlugRelatedField(slug_field='id', queryset=models.App.objects.all())
222212
owner = serializers.ReadOnlyField(source='owner.username')
223-
created = serializers.DateTimeField(read_only=True)
224-
updated = serializers.DateTimeField(read_only=True)
225213
release = serializers.SerializerMethodField()
226214

227215
class Meta:
@@ -237,9 +225,6 @@ class KeySerializer(serializers.ModelSerializer):
237225
"""Serialize a :class:`~api.models.Key` model."""
238226

239227
owner = serializers.ReadOnlyField(source='owner.username')
240-
fingerprint = serializers.CharField(read_only=True)
241-
created = serializers.DateTimeField(read_only=True)
242-
updated = serializers.DateTimeField(read_only=True)
243228

244229
class Meta:
245230
"""Metadata options for a KeySerializer."""
@@ -251,8 +236,6 @@ class DomainSerializer(serializers.ModelSerializer):
251236

252237
app = serializers.SlugRelatedField(slug_field='id', queryset=models.App.objects.all())
253238
owner = serializers.ReadOnlyField(source='owner.username')
254-
created = serializers.DateTimeField(read_only=True)
255-
updated = serializers.DateTimeField(read_only=True)
256239

257240
class Meta:
258241
"""Metadata options for a :class:`DomainSerializer`."""
@@ -295,26 +278,20 @@ class CertificateSerializer(serializers.ModelSerializer):
295278
"""Serialize a :class:`~api.models.Cert` model."""
296279

297280
owner = serializers.ReadOnlyField(source='owner.username')
298-
expires = serializers.DateTimeField(read_only=True)
299-
created = serializers.DateTimeField(read_only=True)
300-
updated = serializers.DateTimeField(read_only=True)
301281

302282
class Meta:
303283
"""Metadata options for a DomainCertSerializer."""
304284
model = models.Certificate
305285
extra_kwargs = {'certificate': {'write_only': True},
306286
'key': {'write_only': True},
307287
'common_name': {'required': False}}
308-
read_only_fields = ['expires', 'created', 'updated']
309288

310289

311290
class PushSerializer(serializers.ModelSerializer):
312291
"""Serialize a :class:`~api.models.Push` model."""
313292

314293
app = serializers.SlugRelatedField(slug_field='id', queryset=models.App.objects.all())
315294
owner = serializers.ReadOnlyField(source='owner.username')
316-
created = serializers.DateTimeField(read_only=True)
317-
updated = serializers.DateTimeField(read_only=True)
318295

319296
class Meta:
320297
"""Metadata options for a :class:`PushSerializer`."""

0 commit comments

Comments
 (0)