from rest_framework import serializers from apps.course.models import Category, Course, Material, Like from apps.content.models import ( Image, Text, ImageText, Video, Gallery, GalleryImage, ) class MaterialSerializer(serializers.ModelSerializer): class Meta: model = Material fields = ( 'id', 'title', 'cover', 'short_description', 'created_at', 'update_at', ) read_only_fields = ( 'id', 'created_at', 'update_at', ) class LikeSerializer(serializers.ModelSerializer): class Meta: model = Like fields = ( 'id', 'user', 'created_at', 'update_at', ) read_only_fields = ( 'id', 'created_at', 'update_at', ) class CategorySerializer(serializers.ModelSerializer): class Meta: model = Category fields = ( 'id', 'title', ) read_only_fields = ( 'id', ) class CourseSerializer(serializers.ModelSerializer): class Meta: model = Course fields = ( 'id', 'author', 'title', 'short_description', 'from_author', 'cover', 'price', 'is_infinite', 'deferred_start_at', 'category', 'duration', 'is_featured', 'url', 'status', 'likes', 'materials', 'created_at', 'update_at', ) read_only_fields = ( 'id', 'created_at', 'update_at', ) class ImageSerializer(serializers.ModelSerializer): class Meta: model = Image fields = ( 'id', 'course', 'lesson', 'title', 'position', 'created_at', 'update_at', ) + ('img',) read_only_fields = ( 'id', 'created_at', 'update_at', ) class TextSerializer(serializers.ModelSerializer): class Meta: model = Text fields = ( 'id', 'course', 'lesson', 'title', 'position', 'created_at', 'update_at', ) + ('txt',) read_only_fields = ( 'id', 'created_at', 'update_at', ) class ImageTextSerializer(serializers.ModelSerializer): class Meta: model = ImageText fields = ( 'id', 'course', 'lesson', 'title', 'position', 'created_at', 'update_at', ) + ('img', 'txt',) read_only_fields = ( 'id', 'created_at', 'update_at', ) class VideoSerializer(serializers.ModelSerializer): class Meta: model = Video fields = ( 'id', 'course', 'lesson', 'title', 'position', 'created_at', 'update_at', ) + ('url',) read_only_fields = ( 'id', 'created_at', 'update_at', ) class GallerySerializer(serializers.ModelSerializer): class Meta: model = Gallery fields = ( 'id', 'course', 'title', 'created_at', 'update_at', ) read_only_fields = ( 'id', 'created_at', 'update_at', ) class GalleryImageSerializer(serializers.ModelSerializer): class Meta: model = GalleryImage fields = ( 'id', 'gallery', 'image', 'created_at', 'update_at', ) read_only_fields = ( 'id', 'created_at', 'update_at', )