Add models for user data
This commit is contained in:
parent
b49adc60f5
commit
8f61eb0834
6 changed files with 212 additions and 32 deletions
21
api/views.py
21
api/views.py
|
|
@ -2,7 +2,7 @@ from rest_framework import status, generics, permissions
|
|||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
from django.utils import timezone
|
||||
from .models import Prediction, User, UserPrediction
|
||||
from .models import Prediction, User
|
||||
from .serializers import PredictionSerializer, PredictionRequestSerializer, PredictionListSerializer, PredictionDetailSerializer
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
import requests
|
||||
|
|
@ -57,8 +57,7 @@ class PredictionCreateView(APIView):
|
|||
print("Tawhiri error:", str(e), e.response.text if e.response else "no response")
|
||||
return Response({"error": f"Tawhiri error: {str(e)}"}, status=status.HTTP_502_BAD_GATEWAY)
|
||||
|
||||
prediction = Prediction.objects.create(result=prediction_result)
|
||||
UserPrediction.objects.create(user=request.user, prediction=prediction, created_at=timezone.now())
|
||||
prediction = Prediction.objects.create(result=prediction_result, user=request.user, request=validated_data)
|
||||
return Response({
|
||||
"id": prediction.id,
|
||||
"created_at": prediction.created_at,
|
||||
|
|
@ -80,7 +79,7 @@ class PredictionListView(APIView):
|
|||
return Response({'detail': 'Access to this satellite is forbidden.'}, status=403)
|
||||
|
||||
filters = {
|
||||
'id__in': UserPrediction.objects.filter(user=user).values_list('prediction_id', flat=True),
|
||||
'id__in': Prediction.objects.filter(user=user).values_list('prediction_id', flat=True),
|
||||
'deleted_at__isnull': True
|
||||
}
|
||||
print(filters)
|
||||
|
|
@ -103,8 +102,7 @@ class PredictionHistoryListView(generics.ListAPIView):
|
|||
|
||||
def get_queryset(self):
|
||||
return Prediction.objects.filter(
|
||||
id__in=UserPrediction.objects.filter(user=self.request.user).values_list('prediction_id', flat=True),
|
||||
deleted_at__isnull=True
|
||||
user=self.request.user,
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -115,8 +113,7 @@ class PredictionHistoryDetailView(generics.RetrieveAPIView):
|
|||
|
||||
def get_queryset(self):
|
||||
return Prediction.objects.filter(
|
||||
id__in=UserPrediction.objects.filter(user=self.request.user).values_list('prediction_id', flat=True),
|
||||
deleted_at__isnull=True
|
||||
user=self.request.user,
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -126,15 +123,9 @@ class PredictionHistoryDeleteView(generics.DestroyAPIView):
|
|||
|
||||
def get_queryset(self):
|
||||
return Prediction.objects.filter(
|
||||
id__in=UserPrediction.objects.filter(user=self.request.user).values_list('prediction_id', flat=True),
|
||||
deleted_at__isnull=True
|
||||
user=self.request.user,
|
||||
)
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
instance.deleted_at = timezone.now()
|
||||
instance.save()
|
||||
|
||||
|
||||
|
||||
class TelemetryListCreateView(generics.ListCreateAPIView):
|
||||
serializer_class = TelemetryPacketSerializer
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue