Compare commits
No commits in common. "433dcef8d40c504cb12ca290ee4be366eba40d9c" and "c334c0628d5f4a046e0f2f6fb108ad63f9ff562f" have entirely different histories.
433dcef8d4
...
c334c0628d
4 changed files with 5 additions and 59 deletions
|
|
@ -6,11 +6,3 @@ class ReadOnlyOrAuthenticated(BasePermission):
|
|||
request.method in SAFE_METHODS or
|
||||
request.user and request.user.is_authenticated
|
||||
)
|
||||
|
||||
|
||||
class IsOwner(BasePermission):
|
||||
def has_object_permission(self, request, view, obj):
|
||||
return obj.user == request.user
|
||||
|
||||
def has_permission(self, request, view):
|
||||
return request.user and request.user.is_authenticated
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
from rest_framework import serializers
|
||||
from .models import Prediction, SavedPoint, SavedRateProfile, PreditctionTemplate
|
||||
from .models import Prediction
|
||||
from datetime import datetime
|
||||
from .validators import (
|
||||
validate_custom_curve, rate_clip,
|
||||
|
|
@ -12,6 +12,7 @@ class PredictionSerializer(serializers.ModelSerializer):
|
|||
fields = ['id', 'created_at', 'updated_at', 'result']
|
||||
|
||||
|
||||
|
||||
PROFILE_STANDARD = "standard_profile"
|
||||
PROFILE_FLOAT = "float"
|
||||
PROFILE_REVERSE = "reverse"
|
||||
|
|
@ -92,37 +93,4 @@ class TelemetryPacketSerializer(serializers.ModelSerializer):
|
|||
class Meta:
|
||||
model = TelemetryPacket
|
||||
fields = ['id', 'timestamp', 'lat', 'lon', 'alt', 'payload']
|
||||
read_only_fields = ['id']
|
||||
|
||||
|
||||
class SavedPointSerializer(serializers.ModelSerializer):
|
||||
user = serializers.HiddenField(
|
||||
default=serializers.CurrentUserDefault()
|
||||
)
|
||||
class Meta:
|
||||
model = SavedPoint
|
||||
fields = ['user', 'id', 'name', 'lat', 'lon', 'alt']
|
||||
read_only_fields = ['id']
|
||||
|
||||
validators = [
|
||||
serializers.UniqueTogetherValidator(
|
||||
queryset=SavedPoint.objects.all(),
|
||||
fields=['user', 'name'],
|
||||
message="A saved point with this name already exists for the user."
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
|
||||
class SavedRateProfileSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = SavedRateProfile
|
||||
fields = ['id', 'name', 'rate_profile_data']
|
||||
read_only_fields = ['id']
|
||||
|
||||
|
||||
class PreditctionTemplateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = PreditctionTemplate
|
||||
fields = ['id', 'name', 'template_data', 'is_default']
|
||||
read_only_fields = ['id']
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ from .views import (PredictionCreateView, PredictionListView,
|
|||
PredictionHistoryDeleteView,
|
||||
SessionView,
|
||||
WhoAmIView,
|
||||
SavedPointViewset,
|
||||
get_csrf,
|
||||
login_view,
|
||||
logout_view)
|
||||
|
|
@ -19,7 +18,6 @@ urlpatterns = [
|
|||
path("history/<uuid:pk>/", PredictionHistoryDetailView.as_view(), name='view_history_detail'),
|
||||
path("history/<uuid:pk>/delete/", PredictionHistoryDeleteView.as_view(), name='delete_history'),
|
||||
path("<uuid:pk>/telemetry/", TelemetryListCreateView.as_view(), name="create_telemetry"),
|
||||
path('saved-points/', SavedPointViewset.as_view({'get': 'list', 'post': 'create', 'put': 'update', 'delete': 'destroy'}), name='saved_points'),
|
||||
path('csrf/', get_csrf, name='api-csrf'),
|
||||
path('login/', login_view, name='api-login'),
|
||||
path('logout/', logout_view, name='api-logout'),
|
||||
|
|
|
|||
18
api/views.py
18
api/views.py
|
|
@ -1,10 +1,9 @@
|
|||
from rest_framework import status, generics, permissions
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.viewsets import ModelViewSet
|
||||
from django.utils import timezone
|
||||
from .models import Prediction, User, Satellite, SavedPoint, SavedRateProfile, PreditctionTemplate
|
||||
from .serializers import PredictionSerializer, PredictionRequestSerializer, PredictionListSerializer, PredictionDetailSerializer, SavedPointSerializer, SavedRateProfileSerializer, PreditctionTemplateSerializer
|
||||
from .models import Prediction, User
|
||||
from .serializers import PredictionSerializer, PredictionRequestSerializer, PredictionListSerializer, PredictionDetailSerializer
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
import requests
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
|
@ -14,7 +13,7 @@ from .services.tawhiri import TawhiriClient
|
|||
from django.contrib.auth import get_user_model
|
||||
from .models import Satellite, TelemetryPacket
|
||||
from .serializers import TelemetryPacketSerializer
|
||||
from .permissions import ReadOnlyOrAuthenticated, IsOwner
|
||||
from .permissions import ReadOnlyOrAuthenticated
|
||||
import time
|
||||
from django.http import JsonResponse
|
||||
from rest_framework.authentication import SessionAuthentication, BasicAuthentication
|
||||
|
|
@ -223,17 +222,6 @@ def logout_view(request):
|
|||
return JsonResponse({'detail': 'Successfully logged out.'})
|
||||
|
||||
|
||||
class SavedPointViewset(ModelViewSet):
|
||||
authentication_classes = [SessionAuthentication, BasicAuthentication]
|
||||
permission_classes = [IsOwner]
|
||||
serializer_class = SavedPointSerializer
|
||||
pagination_class = None
|
||||
|
||||
def get_queryset(self):
|
||||
return SavedPoint.objects.filter(user=self.request.user)
|
||||
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(user=self.request.user)
|
||||
|
||||
#class PredictionCreateView(APIView):
|
||||
#permission_classes = [IsAuthenticated]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue