@ -133,17 +133,28 @@ class BookReferenceV2ListView(generics.ListAPIView):
"Use query parameters to filter the results.",
"Use query parameters to filter the results.",
tags=['Dobodbi - Hadis (V2)'],
tags=['Dobodbi - Hadis (V2)'],
manual_parameters=[
manual_parameters=[
openapi.Parameter('category',openapi.IN_QUERY,description="Filter by Category/Subject Area ID",type=openapi.TYPE_INTEGER),
openapi.Parameter('author',openapi.IN_QUERY,description="Filter by Author ID",type=openapi.TYPE_INTEGER),
openapi.Parameter('madhab',openapi.IN_QUERY,description="Filter by Madhab ('shia' or 'sunni') or Type ID",type=openapi.TYPE_STRING,enum=['shia','sunni']),
openapi.Parameter('category',openapi.IN_QUERY,description="Filter by Category/Subject Area ID(s). Supports comma-separated (e.g. '1,2,3') or multiple params",type=openapi.TYPE_STRING),
openapi.Parameter('author',openapi.IN_QUERY,description="Filter by Author ID(s). Supports comma-separated (e.g. '1,2,3') or multiple params",type=openapi.TYPE_STRING),
openapi.Parameter('madhab',openapi.IN_QUERY,description="Filter by Madhab ('shia' or 'sunni') or Type ID(s). Supports comma-separated",type=openapi.TYPE_STRING),
openapi.Parameter('pdf_available',openapi.IN_QUERY,description="Filter by PDF availability ('true' or 'false')",type=openapi.TYPE_STRING),
openapi.Parameter('pdf_available',openapi.IN_QUERY,description="Filter by PDF availability ('true' or 'false')",type=openapi.TYPE_STRING),
openapi.Parameter('century',openapi.IN_QUERY,description="Filter by Century (e.g. '1','2', 'before_islam')",type=openapi.TYPE_STRING),
openapi.Parameter('century',openapi.IN_QUERY,description="Filter by Century (e.g. '1,2', 'before_islam'). Supports comma-separated",type=openapi.TYPE_STRING),
openapi.Parameter('search',openapi.IN_QUERY,description="Search term for book title, description, or author name",type=openapi.TYPE_STRING),
openapi.Parameter('search',openapi.IN_QUERY,description="Search term for book title, description, or author name",type=openapi.TYPE_STRING),
]
]
)
)
defget(self,request,*args,**kwargs):
defget(self,request,*args,**kwargs):
returnsuper().get(request,*args,**kwargs)
returnsuper().get(request,*args,**kwargs)
def_get_multi_param(self,*param_names):
"""Extract multi-value params supporting comma-separated, repeated keys, and [] suffix."""