infrasynth-backend-kit/infrasynth/files/serializers.py
2026-08-28 14:38:47 -05:00

79 lines
1.8 KiB
Python

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",
]