Skip to content

Commit 5356403

Browse files
committed
Fix openapi schema for created resources
Actually, instead of fixing the schema, we make sure the field always returns a string to comply with its definition. This workaround is necessary to be able to consume both new and old bindings generators.
1 parent ed27c95 commit 5356403

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed the schema definition for created resources.

pulpcore/app/serializers/base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ def to_representation(self, data):
208208
if repo_ver_mapping is not None:
209209
if repo_ver := repo_ver_mapping.get(data.object_id):
210210
return self.repo_ver_url(repo_ver, request=request)
211-
return None
211+
return "<unavailabe>"
212212
else:
213213
try:
214214
view_name = get_view_name_for_model(model, "detail")
@@ -229,10 +229,10 @@ def to_representation(self, data):
229229
# Fallback onto normal lookup:
230230
# If the content object was deleted
231231
if data.content_object is None:
232-
return None
232+
return "<unavailabe>"
233233
try:
234234
if not data.content_object.complete:
235-
return None
235+
return "<unavailable>"
236236
except AttributeError:
237237
pass
238238

pulpcore/app/serializers/task.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from pulpcore.app.util import reverse
1818

1919

20-
class CreatedResourceSerializer(RelatedResourceField):
20+
class CreatedResourceField(RelatedResourceField):
2121
class Meta:
2222
model = models.CreatedResource
2323
fields = []
@@ -78,7 +78,7 @@ class TaskSerializer(ModelSerializer):
7878
view_name="task-groups-detail",
7979
)
8080
progress_reports = ProgressReportSerializer(many=True, read_only=True)
81-
created_resources = CreatedResourceSerializer(
81+
created_resources = CreatedResourceField(
8282
help_text=_("Resources created by this task."),
8383
many=True,
8484
read_only=True,

0 commit comments

Comments
 (0)