@ -6,7 +6,7 @@ from rest_framework import status
hadis_sect_list_swagger = swagger_auto_schema (
operation_description = " Get list of all active Hadis sects grouped by sect type (Shia/Sunni) " ,
operation_summary = " List Hadis Sects " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " List of hadis sects grouped by type with count " ,
@ -60,7 +60,7 @@ hadis_category_tree_swagger = swagger_auto_schema(
" This sync endpoint returns only category metadata (no hadis payload) for fast offline building of navigation trees. Includes sect information and full category tree with hadis counts and children counts. "
) ,
operation_summary = " Get Complete Hadis Category Tree " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " Complete hierarchical tree grouped by sect with category metadata including hadis counts and children counts " ,
@ -168,7 +168,7 @@ hadis_sync_swagger = swagger_auto_schema(
operation_description = " Get all Hadis data for offline sync. Returns a dictionary keyed by Hadis ID. " ,
operation_summary = " Sync Hadis Data " ,
operation_id = " syncHadisData " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' last_updated ' ,
@ -308,7 +308,7 @@ hadis_list_swagger = swagger_auto_schema(
- `results` : Array of hadis objects with full details
""" ,
operation_summary = " List Hadis by Category " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' category_slug ' ,
@ -429,7 +429,7 @@ arguments_filters_swagger = swagger_auto_schema(
- `results` : Array of hadis objects with full details
""" ,
operation_summary = " List Hadis by Category " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' Accept-Language ' ,
@ -500,7 +500,7 @@ hadis_basic_swagger = swagger_auto_schema(
operation_description = " Get basic information about a specific hadis including core text and translation " ,
operation_summary = " Get Hadis Basic Info " ,
operation_id = " getHadisBasic " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' hadis_slug ' ,
@ -545,7 +545,7 @@ hadis_basic_swagger = swagger_auto_schema(
hadis_detail_swagger = swagger_auto_schema (
operation_summary = " Get Hadis Detail Metadata " ,
operation_description = " Retrieve metadata for a specific hadis including Status, Tags, External Links, and Book References. (Note: Text and Narrators are in separate endpoints). " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' hadis_slug ' ,
@ -620,7 +620,7 @@ hadis_transmitters_swagger = swagger_auto_schema(
operation_description = " Get the chain of transmitters for a specific Hadis. Returns the Hadis ID, the count of unique narrator generations (layers), and the ordered list of transmitters. " ,
operation_summary = " Get Hadis Chain (Isnad) " ,
operation_id = " getHadisChain " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
# Path Parameter: ID
openapi . Parameter (
@ -755,7 +755,7 @@ hadis_corrections_swagger = swagger_auto_schema(
""" ,
operation_summary = " Get Hadis Corrections " ,
operation_id = " getHadisCorrections " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' hadis_slug ' ,
@ -814,7 +814,7 @@ hadis_collections_swagger = swagger_auto_schema(
operation_description = " Get list of all active hadis collections for browsing and categorization " ,
operation_summary = " List Hadis Collections " ,
operation_id = " getHadisCollections " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " List of hadis collections " ,
@ -856,7 +856,7 @@ hadis_info_swagger = swagger_auto_schema(
operation_description = " Get statistical information about hadis database including counts of categories, references, bookmarks, and narrators " ,
operation_summary = " Get Hadis Statistics " ,
operation_id = " getHadisInfo " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " Hadis database statistics " ,
@ -881,7 +881,7 @@ transmitter_list_swagger = swagger_auto_schema(
operation_description = " Get a paginated list of transmitters (narrators) with optional filtering by reliability, madhhab, and generation. " ,
operation_summary = " List Transmitters " ,
operation_id = " listTransmitters " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' status ' ,
@ -960,7 +960,7 @@ transmitter_filters_swagger = swagger_auto_schema(
operation_description = " Get the needed data for filter lists such as madhabs,generations,reliabilities. " ,
operation_summary = " Transmitter ' s List ' s filters " ,
operation_id = " transmiterfilter " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' Accept-Language ' ,
@ -1017,7 +1017,7 @@ transmitter_filters_swagger = swagger_auto_schema(
transmitter_detail_swagger = swagger_auto_schema (
operation_description = " Get detailed information about a specific transmitter including their scholarly opinions and hadith transmissions " ,
operation_summary = " Get Transmitter Details " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' narrator_slug ' ,
@ -1073,7 +1073,7 @@ transmitter_sync_swagger = swagger_auto_schema(
operation_description = " Get complete transmitter (narrator) data for offline synchronization. Returns a flat list of narrators with biographical info. " ,
operation_summary = " Sync Transmitter Data " ,
operation_id = " syncTransmitterData " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " Complete transmitter data list " ,
@ -1222,7 +1222,7 @@ transmitter_opinion_swagger = swagger_auto_schema(
""" ,
operation_summary = " Get Transmitter Opinions " ,
operation_id = " getTransmitterOpinions " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' narrator_slug ' ,
@ -1320,7 +1320,7 @@ transmitter_original_text_swagger = swagger_auto_schema(
""" ,
operation_summary = " Get Transmitter Original Texts " ,
operation_id = " getTransmitterOriginalTexts " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' narrator_slug ' ,
@ -1391,7 +1391,7 @@ book_references_list_swagger = swagger_auto_schema(
""" ,
operation_summary = " List Book References " ,
operation_id = " listBookReferences " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' search ' ,
@ -1457,7 +1457,7 @@ reference_sync_swagger = swagger_auto_schema(
operation_description = " Get complete book reference data for offline synchronization. Returns a paginated list of books with detailed metadata. " ,
operation_summary = " Sync Book References Data " ,
operation_id = " syncReferenceData " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " Complete book references data list " ,
@ -1572,7 +1572,7 @@ reference_sync_swagger = swagger_auto_schema(
book_authors_list_swagger = swagger_auto_schema (
operation_description = " Get list of all book authors who have contributed to hadith literature " ,
operation_summary = " List Book Authors " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " List of all book authors " ,
@ -1605,7 +1605,7 @@ book_authors_list_swagger = swagger_auto_schema(
book_attributes_list_swagger = swagger_auto_schema (
operation_description = " Retrieve all custom attributes for books. Optionally filter by book reference ID or attribute title. " ,
operation_summary = " List Book Attributes " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' book_reference ' ,
@ -1681,7 +1681,7 @@ book_attributes_list_swagger = swagger_auto_schema(
book_attributes_create_swagger = swagger_auto_schema (
operation_description = " Create a new custom attribute for a book. Attributes can store additional metadata about hadith books such as number of hadith, authenticity grade, or other relevant information. " ,
operation_summary = " Create Book Attribute " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
request_body = openapi . Schema (
type = openapi . TYPE_OBJECT ,
required = [ ' title ' , ' value ' , ' book_reference ' ] ,
@ -1754,7 +1754,7 @@ book_detail_swagger = swagger_auto_schema(
""" ,
operation_summary = " Get Book Reference Details " ,
operation_id = " getBookReferenceDetails " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' reference_slug ' ,
@ -1866,7 +1866,7 @@ categories_list_swagger = swagger_auto_schema(
- `hadis_count` : Total number of hadis in this category
""" ,
operation_summary = " List All Categories " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = " Successfully retrieved list of all hadith categories " ,
@ -1940,7 +1940,7 @@ categories_by_sect_swagger = swagger_auto_schema(
""" ,
operation_summary = " List Categories by Sect " ,
operation_id = " listCategoriesBySect " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' sect_type ' ,
@ -2038,7 +2038,7 @@ categories_tree_by_sect_swagger = swagger_auto_schema(
""" ,
operation_summary = " Get Category Children by Sect and Slug " ,
operation_id = " getCategoryChildrenBySectAndSlug " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' sect_type ' ,
@ -2156,7 +2156,7 @@ categories_tree_by_sect_source_swagger = swagger_auto_schema(
""" ,
operation_summary = " Get Category Children by Sect, Slug and Source " ,
operation_id = " getCategoryChildrenBySectSlugAndSource " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' sect_type ' ,
@ -2287,7 +2287,7 @@ hadis_main_list_swagger = swagger_auto_schema(
- `results` : Array of hadis objects for the current page with full details including individual status
""" ,
operation_summary = " List All Hadis with Search & Filters " ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
manual_parameters = [
openapi . Parameter (
' search ' ,
@ -2445,7 +2445,7 @@ hadis_main_list_swagger = swagger_auto_schema(
content_release_sync_swagger = swagger_auto_schema (
operation_description = ' Get the latest active content release for offline mode sync ' ,
operation_summary = ' Get Latest Content Release ' ,
tags = [ ' Hadis ' ] ,
tags = [ ' Dobodbi - Hadis' ] ,
responses = {
status . HTTP_200_OK : openapi . Response (
description = ' Latest active content release object ' ,