from rest_framework import serializers
from .models import SavedPost, SavedUser, SavedCategory
from posts.serializers import PostSerializer
from users.serializers import UserSerializer
from categories.serializers import CategorySerializer

class SavedPostSerializer(serializers.ModelSerializer):
    post_details = PostSerializer(source='post', read_only=True)

    class Meta:
        model = SavedPost
        fields = ['id', 'post', 'post_details', 'created_at']
        read_only_fields = ['id', 'post_details', 'created_at']

class SavedUserSerializer(serializers.ModelSerializer):
    user_details = UserSerializer(source='saved_user', read_only=True)

    class Meta:
        model = SavedUser
        fields = ['id', 'saved_user', 'user_details', 'created_at']
        read_only_fields = ['id', 'user_details', 'created_at']

class SavedCategorySerializer(serializers.ModelSerializer):
    category_details = CategorySerializer(source='category', read_only=True)

    class Meta:
        model = SavedCategory
        fields = ['id', 'category', 'category_details', 'created_at']
        read_only_fields = ['id', 'category_details', 'created_at']
