mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-08-21 07:02:27 +02:00
48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
from rest_framework import generics, mixins
|
|
from rest_framework.response import Response
|
|
from rest_framework.views import APIView
|
|
from rest_framework.permissions import IsAuthenticated, IsAdminUser
|
|
from rest_framework import serializers
|
|
|
|
from api.models import Monitors, Workspaces
|
|
|
|
from core import utils
|
|
from core import dbutils
|
|
from core import common
|
|
|
|
|
|
class MonitorsViewSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Monitors
|
|
fields = [
|
|
'old_path',
|
|
'new_path',
|
|
'compare_ts',
|
|
'diff_content',
|
|
'diff_type',
|
|
'workspace',
|
|
'level',
|
|
'notified',
|
|
]
|
|
|
|
|
|
class MonitorsView(mixins.CreateModelMixin, generics.ListAPIView, APIView):
|
|
|
|
serializer_class = MonitorsViewSerializer
|
|
permission_classes = (IsAuthenticated, IsAdminUser)
|
|
|
|
def get_queryset(self):
|
|
queryset = Monitors.objects.all()
|
|
workspace = self.request.query_params.get('workspace', None)
|
|
if workspace is not None:
|
|
queryset = queryset.filter(workspace=workspace)
|
|
return queryset
|
|
|
|
def post(self, request, *args, **kwargs):
|
|
return self.create(request, *args, **kwargs)
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
content = self.list(request, *args, **kwargs).data
|
|
return Response({'monitors': content})
|
|
|