Files
crmApi/apps/customer/views/customer_summary.py
T
2024-01-22 13:01:42 +03:30

31 lines
1.1 KiB
Python

from rest_framework import serializers
from rest_framework.response import Response
from rest_framework.views import APIView
from apps.customer.models import Customer as CustomerModel
from rest_framework import status
from apps.customer.selectors import customer_summery
from utils.tools import inline_serializer
class CustomerSummary(APIView):
class OutputSerializer(serializers.Serializer):
customer_notes = inline_serializer(many=True, fields={
'id': serializers.IntegerField(required=True),
'created_at': serializers.DateTimeField(required=True),
'desc': serializers.CharField(required=True)
})
customer_leads = inline_serializer(many=True, fields={
'id': serializers.IntegerField(required=True),
'title': serializers.CharField(required=True),
'created_at': serializers.DateTimeField(required=True),
})
def get(self, request, customer_id):
summery = customer_summery(request=request, customer_id=customer_id)
output = self.OutputSerializer(summery)
return Response(data=output.data, status=status.HTTP_200_OK)