from rest_framework import serializers from .models import ContentBlock, CourseTheme, MediaAsset class MediaAssetSerializer(serializers.ModelSerializer): class Meta: model = MediaAsset fields = [ "id", "file_name", "file_path", "file_size", "mime_type", "extension", "scan_status", "alt_text", "created_at", ] read_only_fields = ["id", "file_name", "file_path", "file_size", "mime_type", "extension", "scan_status", "created_at"] class ContentBlockSerializer(serializers.ModelSerializer): media_asset = MediaAssetSerializer(read_only=True) media_asset_id = serializers.UUIDField(write_only=True, required=False, allow_null=True) class Meta: model = ContentBlock fields = [ "id", "page", "order", "block_type", "body", "media_asset", "media_asset_id", "embed_url", "caption", "alt_text", "extra", "created_at", "updated_at", ] read_only_fields = ["id", "created_at", "updated_at", "media_asset"] class CourseThemeSerializer(serializers.ModelSerializer): class Meta: model = CourseTheme fields = ["id", "course", "primary_color", "secondary_color", "logo", "extra"] read_only_fields = ["id", "course"]