start to write contract apis
This commit is contained in:
23
core/apps/contracts/views/contract.py
Normal file
23
core/apps/contracts/views/contract.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from rest_framework import generics, views, status, permissions, parsers
|
||||
from rest_framework.response import Response
|
||||
|
||||
from core.apps.contracts.serializers import contract as contract_serializer
|
||||
from core.apps.contracts.models.contract import Contract
|
||||
|
||||
|
||||
class ContractCreateApiView(generics.CreateAPIView):
|
||||
serializer_class = contract_serializer.ContractCreateSerializer
|
||||
queryset = Contract.objects.all()
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
parser_classes = [parsers.MultiPartParser, parsers.FormParser]
|
||||
|
||||
def get_serializer_context(self):
|
||||
return {'user': self.request.user}
|
||||
|
||||
|
||||
class ContractListApiView(generics.ListAPIView):
|
||||
serializer_class = contract_serializer.ContractListSerializer
|
||||
queryset = Contract.objects.all()
|
||||
|
||||
def get_queryset(self):
|
||||
return super().get_queryset()
|
||||
20
core/apps/contracts/views/contract_side.py
Normal file
20
core/apps/contracts/views/contract_side.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from rest_framework import generics, status, parsers
|
||||
from rest_framework.response import Response
|
||||
|
||||
from core.apps.contracts.serializers import contract_side as contract_side_serializer
|
||||
from core.apps.contracts.models.contract import ContractSide
|
||||
from core.apps.contracts.tasks.contract_side import create_contract_side
|
||||
|
||||
|
||||
class ConstartSideCreateApiView(generics.GenericAPIView):
|
||||
serializer_class = contract_side_serializer.ContractSideCreateSerializer
|
||||
queryset = ContractSide.objects.all()
|
||||
|
||||
def post(self, request):
|
||||
serializer = self.serializer_class(data=request.data)
|
||||
if serializer.is_valid():
|
||||
# TODO: call celery task
|
||||
create_contract_side.delay(serializer.validated_data)
|
||||
return Response({"success": True, "message": "contract side created"}, status=status.HTTP_201_CREATED)
|
||||
return Response({"success": False, "message": serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
Reference in New Issue
Block a user