mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 21:27:49 +02:00
Add driver app
This commit is contained in:
68
dcc/driver/views.py
Normal file
68
dcc/driver/views.py
Normal 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()
|
Reference in New Issue
Block a user