infrasynth-backend-kit/infrasynth/audit/views.py
2026-08-28 14:38:47 -05:00

40 lines
1.7 KiB
Python

from rest_framework import mixins, viewsets
from rest_framework.permissions import IsAuthenticated
from .filters import APIInteractionLogFilter, ModelChangeLogFilter, SecurityEventFilter
from .models import APIInteractionLog, ModelChangeLog, SecurityEvent
from .serializers import (
APIInteractionLogSerializer,
ModelChangeLogSerializer,
SecurityEventSerializer,
)
class ModelChangeLogViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, viewsets.GenericViewSet):
queryset = ModelChangeLog.objects.select_related("actor").order_by("-timestamp").all()
serializer_class = ModelChangeLogSerializer
permission_classes = [IsAuthenticated]
filterset_class = ModelChangeLogFilter
def get_queryset(self):
return ModelChangeLog.objects.select_related("actor").order_by("-timestamp").all()
class APIInteractionLogViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, viewsets.GenericViewSet):
queryset = APIInteractionLog.objects.select_related("actor").order_by("-timestamp").all()
serializer_class = APIInteractionLogSerializer
permission_classes = [IsAuthenticated]
filterset_class = APIInteractionLogFilter
def get_queryset(self):
return APIInteractionLog.objects.select_related("actor").order_by("-timestamp").all()
class SecurityEventViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, viewsets.GenericViewSet):
queryset = SecurityEvent.objects.select_related("actor").order_by("-timestamp").all()
serializer_class = SecurityEventSerializer
permission_classes = [IsAuthenticated]
filterset_class = SecurityEventFilter
def get_queryset(self):
return SecurityEvent.objects.select_related("actor").order_by("-timestamp").all()