Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
6 changes: 0 additions & 6 deletions uvdat/core/rest/analytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,13 @@
from rest_framework.viewsets import ReadOnlyModelViewSet

from uvdat.core.models import Project, TaskResult
from uvdat.core.rest.access_control import (
GuardianFilter,
GuardianPermission,
)
import uvdat.core.rest.serializers as uvdat_serializers
from uvdat.core.tasks.analytics import analysis_types


class AnalyticsViewSet(ReadOnlyModelViewSet):
queryset = TaskResult.objects.all()
serializer_class = uvdat_serializers.TaskResultSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

@action(
detail=False,
Expand Down
3 changes: 0 additions & 3 deletions uvdat/core/rest/basemap.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@
from rest_framework.viewsets import ModelViewSet

from uvdat.core.models import Basemap
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.serializers import BasemapSerializer


class BasemapViewSet(ModelViewSet):
queryset = Basemap.objects.all()
serializer_class = BasemapSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]
3 changes: 0 additions & 3 deletions uvdat/core/rest/chart.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,12 @@
from rest_framework.viewsets import ModelViewSet

from uvdat.core.models import Chart
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.serializers import ChartSerializer, FileItemSerializer


class ChartViewSet(ModelViewSet):
queryset = Chart.objects.all()
serializer_class = ChartSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

def get_queryset(self):
qs = super().get_queryset()
Expand Down
3 changes: 0 additions & 3 deletions uvdat/core/rest/colormap.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@
from rest_framework.viewsets import ModelViewSet

from uvdat.core.models import Colormap
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.serializers import ColormapSerializer


class ColormapViewSet(ModelViewSet):
queryset = Colormap.objects.all()
serializer_class = ColormapSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]
4 changes: 0 additions & 4 deletions uvdat/core/rest/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
from rest_framework.viewsets import GenericViewSet

from uvdat.core.models import RasterData, VectorData, VectorFeature
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.explorer import IPyLeafletTokenAuth
from uvdat.core.rest.serializers import RasterDataSerializer, VectorDataSerializer

Expand Down Expand Up @@ -84,9 +83,6 @@ def get_filter_string(filters: dict | None = None):


class GenericDataViewSet(GenericViewSet, mixins.RetrieveModelMixin):
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

@property
def authentication_classes(self):
auth_classes = [IPyLeafletTokenAuth]
Expand Down
3 changes: 1 addition & 2 deletions uvdat/core/rest/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from rest_framework.response import Response
from rest_framework.viewsets import ModelViewSet

from uvdat.core.access_control import DatasetGuardianPermission
from uvdat.core.models import Dataset, DatasetTag
from uvdat.core.rest.access_control import DatasetGuardianPermission, GuardianFilter
from uvdat.core.rest.serializers import (
DatasetSerializer,
FileItemSerializer,
Expand All @@ -21,7 +21,6 @@ class DatasetViewSet(ModelViewSet):
queryset = Dataset.objects.all()
serializer_class = DatasetSerializer
permission_classes = [DatasetGuardianPermission]
filter_backends = [GuardianFilter]

def get_queryset(self):
qs = super().get_queryset()
Expand Down
3 changes: 0 additions & 3 deletions uvdat/core/rest/file_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from rest_framework.viewsets import ModelViewSet

from uvdat.core.models import Dataset, FileItem, RasterData, VectorData
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.serializers import (
FileItemSerializer,
RasterDataSerializer,
Expand All @@ -17,8 +16,6 @@
class FileItemViewSet(ModelViewSet):
queryset = FileItem.objects.all()
serializer_class = FileItemSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

def get_queryset(self):
qs = super().get_queryset()
Expand Down
7 changes: 0 additions & 7 deletions uvdat/core/rest/layer.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from rest_framework.viewsets import ModelViewSet, ReadOnlyModelViewSet

from uvdat.core.models import Layer, LayerFrame, LayerStyle
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.serializers import (
LayerFrameSerializer,
LayerSerializer,
Expand All @@ -18,8 +17,6 @@
class LayerViewSet(ReadOnlyModelViewSet):
queryset = Layer.objects.select_related("dataset").all()
serializer_class = LayerSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

@action(detail=True, methods=["get"])
def frames(self, request, **kwargs):
Expand All @@ -32,15 +29,11 @@ def frames(self, request, **kwargs):
class LayerFrameViewSet(ReadOnlyModelViewSet):
queryset = LayerFrame.objects.all()
serializer_class = LayerFrameSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]


class LayerStyleViewSet(ModelViewSet):
queryset = LayerStyle.objects.all()
serializer_class = LayerStyleSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

def get_queryset(self):
qs = super().get_queryset()
Expand Down
3 changes: 0 additions & 3 deletions uvdat/core/rest/networks.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from rest_framework.viewsets import ModelViewSet

from uvdat.core.models import Network
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.serializers import (
NetworkEdgeSerializer,
NetworkNodeSerializer,
Expand All @@ -26,8 +25,6 @@ class GCCResultSerializer(serializers.Serializer):
class NetworkViewSet(ModelViewSet):
queryset = Network.objects.all()
serializer_class = NetworkSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

@action(detail=True, methods=["get"])
def nodes(self, request, **kwargs):
Expand Down
3 changes: 0 additions & 3 deletions uvdat/core/rest/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from rest_framework.viewsets import ModelViewSet

from uvdat.core.models import Project
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission
from uvdat.core.rest.serializers import ProjectPermissionsSerializer, ProjectSerializer

if typing.TYPE_CHECKING:
Expand All @@ -20,8 +19,6 @@
class ProjectViewSet(ModelViewSet):
queryset = Project.objects.all().order_by("name")
serializer_class = ProjectSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]

def perform_create(self, serializer):
project: Project = serializer.save()
Expand Down
3 changes: 0 additions & 3 deletions uvdat/core/rest/regions.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@
from rest_framework.viewsets import GenericViewSet

from uvdat.core.models import Region
from uvdat.core.rest.access_control import GuardianFilter, GuardianPermission

from .serializers import RegionSerializer


class RegionViewSet(mixins.RetrieveModelMixin, mixins.ListModelMixin, GenericViewSet):
queryset = Region.objects.all()
serializer_class = RegionSerializer
permission_classes = [GuardianPermission]
filter_backends = [GuardianFilter]
3 changes: 3 additions & 0 deletions uvdat/core/rest/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from django.contrib.auth.models import User
from django.http import HttpResponse
from rest_framework.decorators import action
from rest_framework.permissions import IsAuthenticated
from rest_framework.viewsets import ReadOnlyModelViewSet

from .serializers import UserSerializer
Expand All @@ -13,6 +14,8 @@
class UserViewSet(ReadOnlyModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = [IsAuthenticated]
filter_backends = []

@action(detail=False, pagination_class=None)
def me(self, request):
Expand Down
4 changes: 2 additions & 2 deletions uvdat/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@
REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"] += [
"rest_framework.authentication.TokenAuthentication",
]
# Overwrite this
REST_FRAMEWORK["DEFAULT_PERMISSION_CLASSES"] = ["rest_framework.permissions.IsAuthenticated"]
REST_FRAMEWORK["DEFAULT_PERMISSION_CLASSES"] = ["uvdat.core.access_control.GuardianPermission"]
REST_FRAMEWORK["DEFAULT_FILTER_BACKENDS"] = ["uvdat.core.access_control.GuardianFilter"]

CORS_ALLOWED_ORIGINS: list[str] = env.list("DJANGO_CORS_ALLOWED_ORIGINS", cast=str, default=[])
CORS_ALLOWED_ORIGIN_REGEXES: list[str] = env.list(
Expand Down