from rest_framework import serializers from .models import FileCategory, PipelineExecution, ProcessingPipeline, StoredFile class StoredFileSerializer(serializers.ModelSerializer): class Meta: model = StoredFile fields = [ "id", "storage_backend", "storage_key", "original_filename", "mime_type", "size_bytes", "checksum_sha256", "is_public", "category", "metadata", "uploaded_by", "created_at", ] read_only_fields = [ "id", "storage_backend", "storage_key", "checksum_sha256", "uploaded_by", "created_at", ] class FileCategorySerializer(serializers.ModelSerializer): class Meta: model = FileCategory fields = [ "slug", "name", "description", "storage_path", "allowed_extensions", "max_size_bytes", "is_active", "storage_backend_override", ] read_only_fields = ["slug"] class ProcessingPipelineSerializer(serializers.ModelSerializer): class Meta: model = ProcessingPipeline fields = [ "id", "name", "slug", "steps", "is_active", ] read_only_fields = ["id"] class PipelineExecutionSerializer(serializers.ModelSerializer): class Meta: model = PipelineExecution fields = [ "id", "file", "pipeline", "status", "started_at", "completed_at", "output_file", "error", ] read_only_fields = [ "id", "started_at", "completed_at", ]