feat(external-data): add information security registry entries endpoint

This commit is contained in:
2026-04-14 11:00:24 +02:00
parent f0c4f501a6
commit 148c4862d7
9 changed files with 168 additions and 4 deletions

View File

@@ -6,12 +6,14 @@ from apps.external_data.models import (
IndustrialProduct,
ProsecutorCheck,
PublicProcurement,
InformationSecurityRegistryEntry,
)
from apps.external_data.serializers import (
ArbitrationCaseSerializer,
IndustrialProductSerializer,
ProsecutorCheckSerializer,
PublicProcurementSerializer,
InformationSecurityRegistryEntrySerializer,
)
from django_filters import rest_framework as filters
from rest_framework.permissions import IsAuthenticated
@@ -68,6 +70,15 @@ class ArbitrationCaseFilter(filters.FilterSet):
]
class InformationSecurityRegistryEntryFilter(filters.FilterSet):
organization = filters.UUIDFilter(field_name="organization_id")
presence_status = filters.CharFilter(lookup_expr="exact")
class Meta:
model = InformationSecurityRegistryEntry
fields = ["organization", "presence_status"]
class IndustrialProductViewSet(ClassicReadOnlyViewSet[IndustrialProduct]):
queryset = IndustrialProduct.objects.select_related("organization").all()
serializer_class = IndustrialProductSerializer
@@ -106,3 +117,15 @@ class ArbitrationCaseViewSet(ClassicReadOnlyViewSet[ArbitrationCase]):
search_fields = ["case_number", "court_name"]
ordering_fields = ["decision_date", "created_at"]
ordering = ["-decision_date"]
class InformationSecurityRegistryEntryViewSet(
ClassicReadOnlyViewSet[InformationSecurityRegistryEntry]
):
queryset = InformationSecurityRegistryEntry.objects.select_related("organization").all()
serializer_class = InformationSecurityRegistryEntrySerializer
permission_classes = [IsAuthenticated]
filterset_class = InformationSecurityRegistryEntryFilter
search_fields = ["registry_name", "entry_number"]
ordering_fields = ["issued_at", "expires_at", "created_at"]
ordering = ["-issued_at"]