from rest_framework import serializers
from .models import CompanyProfile, DispatchAddress, PlaceOfSupply, InvoiceTerm
from apps.accounts.models import UserShippingAddress


class CompanyProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = CompanyProfile
        fields = '__all__'


class DispatchAddressSerializer(serializers.ModelSerializer):
    class Meta:
        model = DispatchAddress
        fields = '__all__'


class PlaceOfSupplySerializer(serializers.ModelSerializer):
    class Meta:
        model = PlaceOfSupply
        fields = '__all__'


class InvoiceTermSerializer(serializers.ModelSerializer):
    class Meta:
        model = InvoiceTerm
        fields = '__all__'


class UserShippingAddressSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserShippingAddress
        fields = [
            'id', 'label', 'name', 'address_line1', 'address_line2',
            'city', 'state', 'country', 'postcode', 'phone', 'is_default',
            'created_at', 'updated_at',
        ]
        read_only_fields = ['id', 'created_at', 'updated_at']
