from rest_framework import serializers
from .models import Client, Dossier, FraisStandard, LigneDossier, Proforma, Facture, Paiement, EcritureComptable

class ClientSerializer(serializers.ModelSerializer):
    class Meta:
        model = Client
        fields = '__all__'

class FraisStandardSerializer(serializers.ModelSerializer):
    class Meta:
        model = FraisStandard
        fields = '__all__'

class LigneDossierSerializer(serializers.ModelSerializer):
    total = serializers.DecimalField(source='total_ligne', max_digits=12, decimal_places=2, read_only=True)
    
    class Meta:
        model = LigneDossier
        fields = '__all__'

class DossierSerializer(serializers.ModelSerializer):
    lignes = LigneDossierSerializer(many=True, read_only=True)
    total_frais_usd = serializers.DecimalField(max_digits=12, decimal_places=2, read_only=True)
    total_debours_usd = serializers.DecimalField(max_digits=12, decimal_places=2, read_only=True)

    class Meta:
        model = Dossier
        fields = '__all__'
        read_only_fields = ('numero', 'total_frais_usd', 'total_debours_usd')

class ProformaSerializer(serializers.ModelSerializer):
    class Meta:
        model = Proforma
        fields = '__all__'
        read_only_fields = ('numero', 'date_emission')

class FactureSerializer(serializers.ModelSerializer):
    class Meta:
        model = Facture
        fields = '__all__'
        read_only_fields = ('numero', 'date_emission')

class PaiementSerializer(serializers.ModelSerializer):
    class Meta:
        model = Paiement
        fields = '__all__'

class EcritureComptableSerializer(serializers.ModelSerializer):
    class Meta:
        model = EcritureComptable
        fields = '__all__'
