✨ Modernize bit bit

- bumps
- poetry
- linting
This commit is contained in:
nikolark committed 2022-08-07 15:44:40 +02:00
1 parent 3b9a43fc7a
commit b12413ed67
31 files changed
+1409 -331

No files matched your search

+20 -14
View File
@@ -1,32 +1,36 @@
import logging
import operator
from functools import reduce
from django.db.models import Q
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import status, viewsets
from rest_framework.decorators import action
from rest_framework.mixins import ListModelMixin
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework import status, viewsets
from rest_framework.viewsets import GenericViewSet
from dpdapi.filters import AliasRegexFilterBackend
from dpdapi.models import Alias, Domain, User
from dpdapi.serializers import AliasSerializer, AliasDeleteSerializer, DomainSerializer, UserSerializer
from dpdapi.serializers import AliasDeleteSerializer, AliasSerializer, DomainSerializer, UserSerializer
logger = logging.getLogger(__name__)
class AliasViewSet(ListModelMixin, GenericViewSet):
""" Aliases """
"""Aliases"""
queryset = Alias.objects.all()
serializer_class = AliasSerializer
permission_classes = [IsAuthenticated]
filter_backends = (DjangoFilterBackend, AliasRegexFilterBackend)
filterset_fields = ('domain', 'domain__name',)
filterset_fields = (
"domain",
"domain__name",
)
@action(detail=False, methods=['post'])
@action(detail=False, methods=["post"])
def create_bulk(self, request):
serializer = AliasSerializer(data=request.data, many=True)
@@ -35,7 +39,7 @@ class AliasViewSet(ListModelMixin, GenericViewSet):
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
@action(detail=False, methods=['delete'])
@action(detail=False, methods=["delete"])
def delete_bulk(self, request):
serializer = AliasDeleteSerializer(data=request.data, many=True)
@@ -45,14 +49,14 @@ class AliasViewSet(ListModelMixin, GenericViewSet):
q_list = map(lambda x: Q(**x), serializer.initial_data)
aliases = Alias.objects.filter(reduce(operator.or_, q_list))
initial_set = set(map(lambda x: (x['source'], x['destination'], x['domain']), serializer.initial_data))
deleted_set = set(aliases.values_list('source', 'destination', 'domain'))
initial_set = set(map(lambda x: (x["source"], x["destination"], x["domain"]), serializer.initial_data))
deleted_set = set(aliases.values_list("source", "destination", "domain"))
diff = initial_set.difference(deleted_set)
logger.debug('Deleted: {}'.format(','.join(map(lambda x: '{0[0]}={0[1]}'.format(x), deleted_set))))
logger.debug("Deleted: {}".format(",".join(map(lambda x: "{0[0]}={0[1]}".format(x), deleted_set))))
aliases.delete()
if diff:
diff_formatted = map(lambda x: '{0[0]}={0[1]}'.format(x), diff)
diff_formatted = map(lambda x: "{0[0]}={0[1]}".format(x), diff)
res = "Aliases '{}' could not be found and were not deleted.".format(", ".join(diff_formatted))
logger.info(res)
return Response({"result": res}, status=status.HTTP_200_OK)
@@ -61,16 +65,18 @@ class AliasViewSet(ListModelMixin, GenericViewSet):
class DomainViewSet(viewsets.ModelViewSet):
""" Domains """
"""Domains"""
queryset = Domain.objects.all()
serializer_class = DomainSerializer
permission_classes = [IsAuthenticated]
filter_backends = (DjangoFilterBackend,)
filterset_fields = ('name',)
filterset_fields = ("name",)
class UserViewSet(viewsets.ModelViewSet):
""" Users """
"""Users"""
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = [IsAuthenticated]