From ae926914a5acaa37183b8114209d4f5b584153e8 Mon Sep 17 00:00:00 2001 From: xoliqberdiyev Date: Tue, 21 Apr 2026 16:41:37 +0500 Subject: [PATCH] write swagger docs --- core/apps/shared/views/region/region.py | 37 +++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) 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