31 lines
1.1 KiB
Python
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)
|
|
|