Refactor Omada class methods for clarity; update device blocking logic in DeviceBlockAPIView and improve user verification error handling
Some checks failed
Build and Push Docker Images / Build and Push Docker Images (push) Failing after 3m14s

This commit is contained in:
2025-06-23 23:14:40 +05:00
parent 9688635f44
commit 570cf80019
4 changed files with 36 additions and 14 deletions

View File

@ -11,6 +11,7 @@ from .serializers import (
BlockDeviceSerializer,
)
from api.mixins import StaffEditorPermissionMixin
from api.omada import Omada
from .filters import DeviceFilter
import re
import requests
@ -127,6 +128,10 @@ class DeviceBlockAPIView(StaffEditorPermissionMixin, generics.UpdateAPIView):
if not isinstance(blocked, bool):
return Response({"message": "Blocked field must be a boolean."}, status=400)
instance.blocked = blocked
omada_client = Omada()
omada_client.block_device(
instance.mac, operation="block" if blocked else "unblock"
)
instance.save()
serializer = self.get_serializer(instance, data=request.data, partial=False)
serializer.is_valid(raise_exception=True)