Add driver app

This commit is contained in:
2021-12-18 00:33:46 +01:00
parent 5bab2243bf
commit a6005615e0
18 changed files with 201 additions and 3 deletions

68
dcc/driver/views.py Normal file
View File

@@ -0,0 +1,68 @@
from django.views import View
from django.http import HttpResponse
from driver.serializers import (
FunctionSerializer, CabSerializer, InfraSerializer)
from rest_framework import status
from rest_framework.views import APIView
from rest_framework.response import Response
from dcc.parsers import PlainTextParser
from driver.connector import Connector
conn = Connector()
class SendCommand(APIView):
parser_classes = [PlainTextParser]
def put(self, request, address):
data = request.data
conn.passthrough(address, data)
return Response(data,
status=status.HTTP_202_ACCEPTED)
class Function(APIView):
def put(self, request, address):
serializer = FunctionSerializer(data=request.data)
if serializer.is_valid():
conn.ops(address, serializer.data, function=True)
return Response(serializer.data,
status=status.HTTP_202_ACCEPTED)
return Response(serializer.errors,
status=status.HTTP_400_BAD_REQUEST)
class Cab(APIView):
def put(self, request, address):
serializer = CabSerializer(data=request.data)
if serializer.is_valid():
conn.ops(address, serializer.data)
return Response(serializer.data,
status=status.HTTP_202_ACCEPTED)
return Response(serializer.errors,
status=status.HTTP_400_BAD_REQUEST)
class Infra(APIView):
def put(self, request):
serializer = InfraSerializer(data=request.data)
if serializer.is_valid():
conn.infra(serializer.data)
return Response(serializer.data,
status=status.HTTP_202_ACCEPTED)
return Response(serializer.errors,
status=status.HTTP_400_BAD_REQUEST)
class Emergency(View):
def put(self, request):
conn.emergency()
return HttpResponse()
def get(self, request):
conn.emergency()
return HttpResponse()