79 lines
1.8 KiB
Python
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",
|
|
]
|