38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
# rest framework
|
|
from rest_framework import generics
|
|
from rest_framework.response import Response
|
|
from rest_framework import permissions
|
|
|
|
# core apps
|
|
from core.apps.evaluation.serializers.auto.AvgCost import AvgCostSerializer
|
|
from core.services.grpc.auto import get_auto_avg_cost
|
|
|
|
|
|
class AvgCostAPIView(generics.GenericAPIView):
|
|
serializer_class = AvgCostSerializer
|
|
permission_classes = [permissions.IsAuthenticated]
|
|
|
|
def post(self, request):
|
|
serializer = self.get_serializer(data=request.data)
|
|
if serializer.is_valid():
|
|
print(serializer.validated_data)
|
|
brand = serializer.validated_data['brand']
|
|
condition = serializer.validated_data['condition']
|
|
model = serializer.validated_data['model']
|
|
complication = serializer.validated_data['complication']
|
|
manufacture_date = serializer.validated_data['manufacture_date']
|
|
distance_covered = serializer.validated_data['distance_covered']
|
|
color = serializer.validated_data['color']
|
|
|
|
avg_cost = get_auto_avg_cost(
|
|
brand=brand,
|
|
condition=condition,
|
|
model=model,
|
|
complication=complication,
|
|
manufacture_date=manufacture_date,
|
|
distance_covered=str(distance_covered),
|
|
color=color
|
|
)
|
|
return Response(avg_cost, status=200)
|
|
return Response(serializer.errors, status=400)
|