from rest_framework import serializers
from .models import Food, category , Core_Settings

class SettingsSerializer(serializers.ModelSerializer):
    class Meta:
        model = Core_Settings
        fields = '__all__'


class FoodSerializer(serializers.ModelSerializer):
    category = serializers.ReadOnlyField(source='category.name')
    # این دو خط را اضافه کنید تا اطلاعات آیکون داخل هر غذا باشد
    category_icon = serializers.ImageField(source='category.icon', read_only=True)
    category_fa = serializers.ReadOnlyField(source='category.fa_icon')
    price_formatted = serializers.SerializerMethodField()
    old_price_formatted = serializers.SerializerMethodField()

    class Meta:
        model = Food
        # دقت کن: فیلد img و desc باید مطابق مدل باشن
        fields = [
            'id', 'name', 'category','category_icon', 'category_fa',  'price', 'price_formatted', 
            'old_price', 'old_price_formatted', 'desc', 
            'img', 'is_available', 'is_finish'
        ]

    def get_price_formatted(self, obj):
        return "{:,}".format(obj.price)

    def get_old_price_formatted(self, obj):
        if obj.old_price:
            return "{:,}".format(obj.old_price)
        return None