This commit is contained in:
j3d1 2026-08-16 19:00:05 +02:00
parent 82a27ce2a8
commit 3b494dfa37
8 changed files with 112 additions and 10 deletions

View file

@ -203,9 +203,16 @@ class InventoryItemSerializer(serializers.ModelSerializer):
class WorkflowInstanceSerializer(serializers.ModelSerializer):
owner = serializers.StringRelatedField(read_only=True)
# The client already holds the full file (name, size, mime_type, base64 data) for anything it
# staged itself - hash is the only thing it can't already know, so that's all this exposes,
# unlike InventoryItemSerializer.files which needs the fuller FileSerializer representation.
staged_files = serializers.SerializerMethodField()
class Meta:
model = WorkflowInstance
fields = ['id', 'slug', 'state', 'payload', 'owner', 'created_at', 'updated_at']
read_only_fields = ['owner', 'created_at', 'updated_at']
fields = ['id', 'slug', 'state', 'payload', 'owner', 'staged_files', 'created_at', 'updated_at']
read_only_fields = ['owner', 'staged_files', 'created_at', 'updated_at']
def get_staged_files(self, obj):
return list(obj.staged_files.values_list('hash', flat=True))