diff --git a/core/apps/shared/views/region/region.py b/core/apps/shared/views/region/region.py index 97671b7..4a74865 100644 --- a/core/apps/shared/views/region/region.py +++ b/core/apps/shared/views/region/region.py @@ -1,10 +1,28 @@ from rest_framework import generics from rest_framework.permissions import IsAuthenticated +from drf_spectacular.utils import extend_schema, OpenApiParameter +from drf_spectacular.types import OpenApiTypes + from core.apps.shared.serializers.region.district import DistrictSerializer, VillageSerializer, RegionSerializer from core.apps.shared.models import RegionModel, VillageModel, DistrictModel - +@extend_schema( + parameters=[ + OpenApiParameter( + name="region", + type=OpenApiTypes.INT, + location=OpenApiParameter.QUERY, + description="Filter by region ID" + ), + OpenApiParameter( + name="name", + type=OpenApiTypes.STR, + location=OpenApiParameter.QUERY, + description="Filter by district name" + ), + ] +) class DistrictListCreateView(generics.ListCreateAPIView): permission_classes = [IsAuthenticated] serializer_class = DistrictSerializer @@ -19,7 +37,22 @@ class DistrictListCreateView(generics.ListCreateAPIView): return self.queryset.filter(region=region) return super().get_queryset() - +@extend_schema( + parameters=[ + OpenApiParameter( + name="district", + type=OpenApiTypes.INT, + location=OpenApiParameter.QUERY, + description="Filter by district ID" + ), + OpenApiParameter( + name="name", + type=OpenApiTypes.STR, + location=OpenApiParameter.QUERY, + description="Filter by village name" + ), + ] +) class VillageListCreateView(generics.ListCreateAPIView): permission_classes = [IsAuthenticated] serializer_class = VillageSerializer