diff --git a/freedcs/telemetry/urls.py b/freedcs/telemetry/urls.py index 0d3fe41..baa3486 100644 --- a/freedcs/telemetry/urls.py +++ b/freedcs/telemetry/urls.py @@ -14,10 +14,13 @@ Including another URLconf 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.urls import path -from telemetry.views import Telemetry +from telemetry.views import TelemetryView urlpatterns = [ path('', - Telemetry.as_view({'get': 'list', 'post': 'create'}), + TelemetryView.as_view({'post': 'create'}), name='telemetry'), + path('/', + TelemetryView.as_view({'get': 'list'}), + name='device-telemetry'), ] diff --git a/freedcs/telemetry/views.py b/freedcs/telemetry/views.py index 5bccf4a..4bb5965 100644 --- a/freedcs/telemetry/views.py +++ b/freedcs/telemetry/views.py @@ -1,22 +1,18 @@ +from django.http import Http404 from rest_framework.viewsets import ModelViewSet from telemetry.models import Telemetry from telemetry.serializers import TelemetrySerializer +from rest_framework.response import Response -class Telemetry(ModelViewSet): +class TelemetryView(ModelViewSet): queryset = Telemetry.objects.all() serializer_class = TelemetrySerializer - # def post(self, request): - # serializer = DeviceSerializer(data=request.data) - # if serializer.is_valid(): - # serializer.save() - # return Response(serializer.data, status=status.HTTP_201_CREATED) - # return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) - - # def get(self, request): - # devices = Device.objects.all() - # import pdb; pdb.set_trace() - # serializer = DeviceSerializer(devices) - # return Response(serializer.serial) + def list(self, request, device=None): + queryset = Telemetry.objects.filter(device__serial=device) + if not queryset: + raise Http404 + serializer = TelemetrySerializer(queryset, many=True) + return Response(serializer.data)