-
-
Notifications
You must be signed in to change notification settings - Fork 227
Expand file tree
/
Copy pathviews.py
More file actions
29 lines (23 loc) · 1 KB
/
views.py
File metadata and controls
29 lines (23 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.generics import ListAPIView
from swapper import load_model
from openwisp_radius.api.freeradius_views import (
AccountingFilter,
AccountingViewPagination,
)
from openwisp_users.api.mixins import FilterByOrganizationManaged, ProtectedAPIMixin
from .serializers import MonitoringRadiusAccountingSerializer
RadiusAccounting = load_model("openwisp_radius", "RadiusAccounting")
class MonitoringAccountingView(
ProtectedAPIMixin, FilterByOrganizationManaged, ListAPIView
):
"""
API view for RADIUS accounting in monitoring integration.
Uses server-side datetime formatting for consistency with Django admin.
"""
throttle_scope = "radius_accounting_list"
serializer_class = MonitoringRadiusAccountingSerializer
pagination_class = AccountingViewPagination
filter_backends = (DjangoFilterBackend,)
filterset_class = AccountingFilter
queryset = RadiusAccounting.objects.all().order_by("-start_time")