from rest_framework import serializers

from .models import Sale, SaleLine, Product, Customer, ReconciliationJar


class SaleLineSerializer(serializers.ModelSerializer):
    class Meta:
        model = SaleLine
        fields = ['id', 'sale', 'product', 'unit_price', 'quantity']


class SaleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Sale
        fields = ['id', 'customer', 'date', 'saleline_set']


class ProductSerializer(serializers.ModelSerializer):
    class Meta:
        model = Product
        fields = ['id', 'name', 'price', 'measuring_unit', 'categories']


class CustomerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Customer
        fields = ['id', 'name', 'address', 'email', 'phone']


class ReconciliationJarSerializer(serializers.ModelSerializer):
    class Meta:
        model = ReconciliationJar
        fields = [
            'id',
            'date_time',
            'reconcilier',
            'cash_taken',
            'cash_discrepancy',
            'total_cash_purchases',
        ]