drf-to-mkdoc 0.2.2__py3-none-any.whl → 0.2.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of drf-to-mkdoc might be problematic. Click here for more details.

Files changed (35) hide show
  1. drf_to_mkdoc/conf/defaults.py +1 -0
  2. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js +172 -0
  3. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js +22 -0
  4. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js +79 -0
  5. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js +111 -0
  6. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js +216 -0
  7. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js +34 -0
  8. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/buttons.css +71 -0
  9. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/fab.css +47 -0
  10. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css +124 -0
  11. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/key-value.css +161 -0
  12. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/main.css +57 -0
  13. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css +112 -0
  14. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css +158 -0
  15. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css +62 -0
  16. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css +38 -0
  17. drf_to_mkdoc/templates/endpoints/detail/base.html +3 -1
  18. drf_to_mkdoc/templates/endpoints/detail/query_parameters.html +1 -8
  19. drf_to_mkdoc/templates/endpoints/detail/responses.html +4 -4
  20. drf_to_mkdoc/templates/try-out/fab.html +4 -0
  21. drf_to_mkdoc/templates/try-out/form.html +113 -0
  22. drf_to_mkdoc/templates/try-out/main.html +4 -0
  23. drf_to_mkdoc/templates/try-out/modal.html +14 -0
  24. drf_to_mkdoc/templates/try-out/response-modal.html +20 -0
  25. drf_to_mkdoc/templatetags/custom_filters.py +33 -1
  26. drf_to_mkdoc/utils/commons/schema_utils.py +5 -14
  27. drf_to_mkdoc/utils/endpoint_detail_generator.py +140 -21
  28. drf_to_mkdoc/utils/extractors/query_parameter_extractors.py +0 -15
  29. {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/METADATA +1 -1
  30. {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/RECORD +33 -15
  31. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out-sidebar.js +0 -879
  32. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out-sidebar.css +0 -728
  33. {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/WHEEL +0 -0
  34. {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/licenses/LICENSE +0 -0
  35. {drf_to_mkdoc-0.2.2.dist-info → drf_to_mkdoc-0.2.3.dist-info}/top_level.txt +0 -0
@@ -366,10 +366,17 @@ def _enhance_method_field_schema(_operation_id, schema: dict, _components: dict)
366
366
 
367
367
  def _resolve_schema_reference(schema: dict, components: dict) -> dict:
368
368
  """Resolve $ref references in schema."""
369
- if "$ref" in schema:
370
- ref = schema["$ref"]
371
- return components.get("schemas", {}).get(ref.split("/")[-1], {})
372
- return schema
369
+ if "$ref" not in schema:
370
+ return schema
371
+
372
+ ref = schema["$ref"]
373
+ target = components.get("schemas", {}).get(ref.split("/")[-1], {})
374
+ # Work on a copy to avoid mutating components
375
+ resolved = dict(target) if isinstance(target, dict) else {}
376
+ for key, value in schema.items():
377
+ if key != "$ref":
378
+ resolved[key] = value
379
+ return resolved
373
380
 
374
381
 
375
382
  def _handle_all_of_schema(schema: dict, components: dict, _for_response: bool) -> dict:
@@ -401,16 +408,22 @@ def _handle_all_of_schema(schema: dict, components: dict, _for_response: bool) -
401
408
 
402
409
  def _get_explicit_value(schema: dict):
403
410
  """Get explicit value from schema (enum, example, or default)."""
404
- # Ensure schema is a dictionary
405
411
  if not isinstance(schema, dict):
406
412
  return None
407
413
 
408
414
  if "enum" in schema:
409
415
  return schema["enum"][0]
416
+
410
417
  if "example" in schema:
411
418
  return schema["example"]
419
+
412
420
  if "default" in schema:
421
+ # For array types with items schema, don't use empty default
422
+ # Let the generator create a proper example instead
423
+ if schema.get("type") == "array" and "items" in schema:
424
+ return None
413
425
  return schema["default"]
426
+
414
427
  return None
415
428
 
416
429
 
@@ -499,11 +512,7 @@ def format_schema_as_json_example(
499
512
  if description:
500
513
  result += f"{description}\n\n"
501
514
 
502
- result += "```json\n"
503
- result += json.dumps(example_json, indent=2)
504
- result += "\n```\n"
505
-
506
- return result
515
+ return json.dumps(example_json, indent=2)
507
516
 
508
517
 
509
518
  def _format_schema_for_display(
@@ -518,22 +527,122 @@ def _format_schema_for_display(
518
527
  operation_id, schema["$ref"], components, for_response
519
528
  )
520
529
 
521
- example = schema_to_example_json(operation_id, schema, components, for_response)
522
- return f"```json\n{json.dumps(example, indent=2)}\n```"
530
+ return schema_to_example_json(operation_id, schema, components, for_response)
531
+
532
+
533
+ def _generate_field_value(
534
+ field_name: str,
535
+ prop_schema: dict,
536
+ operation_id: str,
537
+ components: dict,
538
+ is_response: bool = True,
539
+ ) -> Any:
540
+ """Generate a realistic value for a specific field based on its name and schema."""
541
+ # Get field-specific generator from settings
542
+ field_generator = get_field_generator(field_name)
543
+
544
+ if field_generator:
545
+ return field_generator(prop_schema)
546
+
547
+ # Fallback to schema-based generation
548
+ return schema_to_example_json(operation_id, prop_schema, components, is_response)
549
+
550
+
551
+ def get_field_generator(field_name: str):
552
+ """Get appropriate generator function for a field name from settings."""
553
+ return drf_to_mkdoc_settings.FIELD_GENERATORS.get(field_name.lower())
554
+
555
+
556
+ def _generate_examples(operation_id: str, schema: dict, components: dict) -> list:
557
+ """Generate examples for a schema."""
558
+
559
+ if "$ref" in schema:
560
+ schema = _resolve_schema_reference(schema, components)
561
+
562
+ examples = []
563
+
564
+ # Handle object with array properties
565
+ if schema.get("type") == "object" and "properties" in schema:
566
+ empty_example = {}
567
+ populated_example = {}
568
+ has_array_default = False
569
+
570
+ # Check for array fields with default=[]
571
+ for _prop_name, prop_schema in schema["properties"].items():
572
+ resolved_prop_schema = (
573
+ _resolve_schema_reference(prop_schema, components)
574
+ if "$ref" in prop_schema
575
+ else prop_schema
576
+ )
577
+ if (
578
+ resolved_prop_schema.get("type") == "array"
579
+ and resolved_prop_schema.get("default") == []
580
+ ):
581
+ has_array_default = True
582
+ break
583
+
584
+ # Generate examples
585
+ for prop_name, prop_schema in schema["properties"].items():
586
+ resolved_prop_schema = (
587
+ _resolve_schema_reference(prop_schema, components)
588
+ if "$ref" in prop_schema
589
+ else prop_schema
590
+ )
591
+
592
+ if (
593
+ resolved_prop_schema.get("type") == "array"
594
+ and resolved_prop_schema.get("default") == []
595
+ ):
596
+ empty_example[prop_name] = []
597
+ items_schema = resolved_prop_schema.get("items", {})
598
+ populated_example[prop_name] = [
599
+ _generate_field_value(
600
+ prop_name, items_schema, operation_id, components, True
601
+ )
602
+ ]
603
+ else:
604
+ value = _generate_field_value(
605
+ prop_name, resolved_prop_schema, operation_id, components, True
606
+ )
607
+ empty_example[prop_name] = value
608
+ populated_example[prop_name] = value
609
+
610
+ if has_array_default:
611
+ examples.append(empty_example)
612
+ examples.append(populated_example)
613
+ else:
614
+ examples.append(empty_example)
615
+
616
+ # Handle array field with default=[]
617
+ elif schema.get("type") == "array" and schema.get("default") == []:
618
+ examples.append([])
619
+ items_schema = schema.get("items", {})
620
+ populated_example = [
621
+ _generate_field_value("items", items_schema, operation_id, components, True)
622
+ ]
623
+ examples.append(populated_example)
624
+ else:
625
+ example = _generate_field_value("root", schema, operation_id, components, True)
626
+ examples.append(example)
627
+
628
+ return examples
523
629
 
524
630
 
525
631
  def _prepare_response_data(operation_id: str, responses: dict, components: dict) -> list:
526
632
  """Prepare response data for template rendering."""
633
+
527
634
  formatted_responses = []
528
635
  for status_code, response_data in responses.items():
529
636
  schema = response_data.get("content", {}).get("application/json", {}).get("schema", {})
530
- formatted_responses.append(
531
- {
532
- "status_code": status_code,
533
- "description": response_data.get("description", ""),
534
- "example": _format_schema_for_display(operation_id, schema, components, True),
535
- }
536
- )
637
+
638
+ examples = _generate_examples(operation_id, schema, components)
639
+
640
+ formatted_response = {
641
+ "status_code": status_code,
642
+ "description": response_data.get("description", ""),
643
+ "examples": examples,
644
+ }
645
+ formatted_responses.append(formatted_response)
537
646
  return formatted_responses
538
647
 
539
648
 
@@ -580,9 +689,16 @@ def create_endpoint_page(
580
689
  "stylesheets/endpoints/animations.css",
581
690
  "stylesheets/endpoints/accessibility.css",
582
691
  "stylesheets/endpoints/loading.css",
583
- "stylesheets/endpoints/try-out-sidebar.css",
692
+ "stylesheets/try-out/main.css",
693
+ ],
694
+ "scripts": [
695
+ "javascripts/try-out/modal.js",
696
+ "javascripts/try-out/tabs.js",
697
+ "javascripts/try-out/form-manager.js",
698
+ "javascripts/try-out/request-executor.js",
699
+ "javascripts/try-out/suggestions.js",
700
+ "javascripts/try-out/main.js",
584
701
  ],
585
- "scripts": ["javascripts/try-out-sidebar.js"],
586
702
  "prefix_path": f"{drf_to_mkdoc_settings.PROJECT_NAME}/",
587
703
  }
588
704
 
@@ -590,6 +706,9 @@ def create_endpoint_page(
590
706
  if _is_list_endpoint(method, path, operation_id):
591
707
  query_params = extract_query_parameters_from_view(operation_id)
592
708
  _add_custom_parameters(operation_id, query_params)
709
+ for key, value in query_params.items():
710
+ # Prevent duplicates while preserving order
711
+ query_params[key] = list(dict.fromkeys(value))
593
712
  context["query_parameters"] = query_params
594
713
 
595
714
  return render_to_string("endpoints/detail/base.html", context)
@@ -11,7 +11,6 @@ def extract_query_parameters_from_view(operation_id: str) -> dict[str, Any]:
11
11
  "search_fields": [],
12
12
  "filter_fields": [],
13
13
  "ordering_fields": [],
14
- "filter_backends": [],
15
14
  "pagination_fields": [],
16
15
  }
17
16
 
@@ -19,7 +18,6 @@ def extract_query_parameters_from_view(operation_id: str) -> dict[str, Any]:
19
18
  "search_fields": extract_query_parameters_from_view_search_fields(view_class),
20
19
  "filter_fields": extract_query_parameters_from_view_filter_fields(view_class),
21
20
  "ordering_fields": extract_query_parameters_from_view_ordering_fields(view_class),
22
- "filter_backends": extract_query_parameters_from_view_filter_backends(view_class),
23
21
  "pagination_fields": extract_query_parameters_from_view_pagination_fields(view_class),
24
22
  }
25
23
 
@@ -62,19 +60,6 @@ def extract_query_parameters_from_view_ordering_fields(view_class: Any) -> list[
62
60
  return ordering_fields
63
61
 
64
62
 
65
- def extract_query_parameters_from_view_filter_backends(view_class: Any) -> list[str]:
66
- """Extract filter backends from a Django view class"""
67
- if not view_class:
68
- return []
69
-
70
- filter_backends = []
71
- if hasattr(view_class, "filter_backends") and view_class.filter_backends:
72
- for backend in view_class.filter_backends:
73
- filter_backends.append(getattr(backend, "__name__", str(backend)))
74
-
75
- return filter_backends
76
-
77
-
78
63
  def extract_query_parameters_from_view_pagination_fields(view_class: Any) -> list[str]:
79
64
  """Extract pagination fields from a Django view class"""
80
65
  if not view_class:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drf-to-mkdoc
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Generate Markdown API docs from Django/DRF OpenAPI schema for MkDocs
5
5
  Author-email: Hossein Shayesteh <shayestehhs1@gmail.com>
6
6
  Maintainer-email: Hossein Shayesteh <shayestehhs1@gmail.com>
@@ -1,7 +1,7 @@
1
1
  drf_to_mkdoc/__init__.py,sha256=IbTW5uKQvJRG9ncHRuk_AGKHPn4ruxs5LqDpUFgUhws,180
2
2
  drf_to_mkdoc/apps.py,sha256=-NrC_dRr6GmLmNQhkNh819B7V1SS4DYDv5JOR0TtuJM,560
3
3
  drf_to_mkdoc/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- drf_to_mkdoc/conf/defaults.py,sha256=iG5ssgaJgDoI92cyCDCHmuY1uvMCeU8T0D3gxrDPWYM,986
4
+ drf_to_mkdoc/conf/defaults.py,sha256=mE9c42NqWnEpR5hxhDSdDewgKbvqcU3v1DI0ge_xao0,1014
5
5
  drf_to_mkdoc/conf/settings.py,sha256=3f268CZzyf9KYab6EvsjIVXP6KBik1k_B4JyJpXDwrU,5456
6
6
  drf_to_mkdoc/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  drf_to_mkdoc/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -12,7 +12,12 @@ drf_to_mkdoc/management/commands/extract_model_data.py,sha256=XoMO4C22ZPKQ99bh1W
12
12
  drf_to_mkdoc/management/commands/generate_doc_json.py,sha256=mWdYgMbSeLP4iQZeUm2DxwYQmdGy8w05XTEfbT_nOJo,19833
13
13
  drf_to_mkdoc/management/commands/update_doc_schema.py,sha256=TtHVQxnVpB_VELRkVcdsDXDU5zXdguFleB1mXCDMAbg,2009
14
14
  drf_to_mkdoc/static/drf-to-mkdoc/javascripts/endpoints-filter.js,sha256=KtfWroqsXg-wwmk36hpoH--M9WIW85EFNGeswMjFu4g,6138
15
- drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out-sidebar.js,sha256=zvEIm5rxTdMdmzElmmAqniIrI4ms2vsqGOMI0VFb_RQ,38953
15
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js,sha256=QUzoAHGt1g72eLpZOv2crzyBs3VjRzqI8KJP4Z4wtt4,5702
16
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js,sha256=_kXQhucJexV0_AuOJPQiNda-ACUI0ZyUep-vYXlsvsM,898
17
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js,sha256=3jbjFoizmZmeiV3uGeQyzcLzUUrRecw3qCw-wxwEH44,2585
18
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js,sha256=hIApsQ6gaXqNjgCyghZF3F6YqLHuLvG56AyLDzoVtjk,4150
19
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js,sha256=J3YskiK24jTDkO2sY5ye4AsLM79F5_AriE1G5NqndPw,7883
20
+ drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js,sha256=mlaZ3vYze3-XXNT6XlgUwOXR8uvyylePXSfmHFDu6Is,1107
16
21
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/accessibility.css,sha256=DwCGPoaxaUvyifryrKqmkFDH06XBNf65kYsflMTbi0M,494
17
22
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/animations.css,sha256=61m9SLAbatVUNuFeTUTxktoMu9SskYcwFjTsHYbsCRo,393
18
23
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/badges.css,sha256=kUlUcf72uRw6x6Gn7cUq_aTuSGBbhumZ4Us-eBDM7DM,1251
@@ -28,7 +33,6 @@ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/sections.css,sha256=xdrO6
28
33
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/stats.css,sha256=0cDD8s63r6zQid_O1schNvfIwys1Y526xO6-B6s4Lxc,667
29
34
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/tags.css,sha256=dOw13qsvVjx9cibzgzXlOutXVosNp6LzFfEFKvumG8w,1785
30
35
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/theme-toggle.css,sha256=j1P5xDQDfos8jeVYz5s1jjEeujMlZtLi39OC6VeuMcA,1034
31
- drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out-sidebar.css,sha256=tkfQRpX0HTe09dqdjA4GxG5lOCLpw3Mp7VuxkFQtCvI,15829
32
36
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/variables.css,sha256=Sg2vcQOHdpmEFDn43OeZcMIKxtr5EOEI_wISkCmtcSU,1895
33
37
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/animations.css,sha256=IrqN9vJKgaHAWk2PBRKKmFHgH-lQlw5YZvEOGDqYk_g,656
34
38
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/base.css,sha256=qdXDVScWoEvFbSRfjDlnxvQZBy2JFX9yXPngMWNSZ7o,1849
@@ -36,12 +40,21 @@ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/model-cards.css,sha256=IppCO
36
40
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/model-tables.css,sha256=8CSy8YdFOJ3lGZ3sTVz2jd8cIxIryubQFrwcygAw06w,1352
37
41
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/responsive.css,sha256=ygqyUtpiWchTBBIQil1C6mN0AC5xinLoP7whSKfBmwg,944
38
42
  drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/models/variables.css,sha256=2HvyjnJrygSzdzpE-FYpo6FGhrYhmZ7NwDFAkADXQNg,1094
43
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/buttons.css,sha256=dqQVg-_TtT84aitXZAOC3eq8MvuWP3NMf_Ub63wK2mg,1771
44
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/fab.css,sha256=dWUODpavNQq-LkjKb-E7iEiPYd45tuRPME_w1bq5Nic,1060
45
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css,sha256=vwk2Y-BznJkic3_07Izk-NfL7uYWgGhXbVmyuh9Ml9w,3093
46
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/key-value.css,sha256=dldQo9OZh5-9n0Xa9eaL8FA5ggKSBsXslOnxbtp39RE,3844
47
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/main.css,sha256=i5-b7eUAqw35AavIe-kSeMPz1RejEaA9S7ZFHtITjsA,938
48
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css,sha256=xPTJoGm2FrM1aqJ8S6abF58aA93S0sKuGm0N0PyfXys,2425
49
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css,sha256=RJLs1BAyVBaqds1EgQiZGWG8patHzT4QPk8cVv3oDQM,3751
50
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css,sha256=i-Z-teVEVmLWzHY5b7DdrVROyNjRoQ4EjOsSkGJP2ig,1215
51
+ drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css,sha256=tWw8GDrLQv70IIIIiDSMBU9n22cg_civnTSM2dmSXDk,1110
39
52
  drf_to_mkdoc/templates/models_index.html,sha256=A_Lu3wFMG2Nf8Bv4zttz3e0gZpxBcvDjSvX_rfOYdeI,837
40
- drf_to_mkdoc/templates/endpoints/detail/base.html,sha256=7aAjSjt6mgOMuvDlC2MQKg70i5fcK9Pi_SzTNoRUNm8,822
53
+ drf_to_mkdoc/templates/endpoints/detail/base.html,sha256=HdLdl-OEkpcF56vK5pvduWZbqdzjmrehI2_B8KYf6y0,857
41
54
  drf_to_mkdoc/templates/endpoints/detail/path_parameters.html,sha256=M7OPUg88e3bw01rZpZUVahZzlq3JFaxZDsnDx2Xizx8,310
42
- drf_to_mkdoc/templates/endpoints/detail/query_parameters.html,sha256=Dx_mM2qjwFcfMWTYoEoNyPS588V_wanrHS7qh-uUGUg,1075
55
+ drf_to_mkdoc/templates/endpoints/detail/query_parameters.html,sha256=PlkL3HDiyvwEcDC-QFTc4xunV32TzGX5yyqhSS0YyOY,879
43
56
  drf_to_mkdoc/templates/endpoints/detail/request_body.html,sha256=-9wacJIQOS-lC2zE31rPaeGs_SkOVm1tAJvebLW6zME,149
44
- drf_to_mkdoc/templates/endpoints/detail/responses.html,sha256=jDTkiCUAe8vbRT6fF2Igtr-26z7maeUYNYv4q-n9-9w,293
57
+ drf_to_mkdoc/templates/endpoints/detail/responses.html,sha256=j5TayLw3r3BCM2ZN0lvO4Tv9Wf-xViG6a-c8-LzeeUI,297
45
58
  drf_to_mkdoc/templates/endpoints/list/base.html,sha256=l4A4VmDvDkMKim15feh0DoJkCf2V83EoI4wISUjf4Kc,602
46
59
  drf_to_mkdoc/templates/endpoints/list/endpoint_card.html,sha256=PesI9Dlt2kAU1AKcMNGUzIA3lzGcncX-Na0HYiwbR28,1114
47
60
  drf_to_mkdoc/templates/endpoints/list/filter_section.html,sha256=oSc7UQazpQptYE_rZz_PHnOQPpQDOff0r4a0sYbtQnk,559
@@ -55,9 +68,14 @@ drf_to_mkdoc/templates/model_detail/fields.html,sha256=dOYhfwFJThAuG65r8i6_A9bud
55
68
  drf_to_mkdoc/templates/model_detail/meta.html,sha256=idbnQhV1dT_zLQDD3jZ21vXqLjCxLXIk4rdCiWHm04s,109
56
69
  drf_to_mkdoc/templates/model_detail/methods.html,sha256=QZzp8sGKxuyM6_6GXDNnpKUJw0n_cF5CljklduyALTo,143
57
70
  drf_to_mkdoc/templates/model_detail/relationships.html,sha256=GK7mip_-_4qxxM7MGmV3HXqiV6X9QkeBtz7oy4xZs4Q,796
58
- drf_to_mkdoc/templatetags/custom_filters.py,sha256=2QoestQNjNvA6WJpgnXQ0avJQPzKs3d9Mea0QQLwcD0,2974
71
+ drf_to_mkdoc/templates/try-out/fab.html,sha256=lkC40-0ww9H1peKhMIbr0HhstpJy7N0q95sVyRb5c58,194
72
+ drf_to_mkdoc/templates/try-out/form.html,sha256=U_InNi18IMAxLdIrLE5pksj0xliF7kb5Tag_pFrpe_4,4555
73
+ drf_to_mkdoc/templates/try-out/main.html,sha256=SbSS989mhcJ46DwAKePjdCnpL1KuCDG8LcuERvRgh1U,144
74
+ drf_to_mkdoc/templates/try-out/modal.html,sha256=KuIMp6Y_PvOgAMp_Qloa8zAlG0JdGmwPf_A3KYM8ZAc,566
75
+ drf_to_mkdoc/templates/try-out/response-modal.html,sha256=o-sLhsKL9Rh23kJ93VTBmXfxONqDuMDfWvkmQrkyH2s,895
76
+ drf_to_mkdoc/templatetags/custom_filters.py,sha256=b_0ExGgBKUIlNkJ8nXlc6mrhhiUUxtdq9thXH-yzEq4,3761
59
77
  drf_to_mkdoc/utils/__init__.py,sha256=6dFTb07S6yIf-INMy0Mlgf5purNir687ZU9WZtITh4k,68
60
- drf_to_mkdoc/utils/endpoint_detail_generator.py,sha256=aVLYRUHW6dW8sVwSdM-iyyiJ3dXPjXimbUx1i37vVHs,24160
78
+ drf_to_mkdoc/utils/endpoint_detail_generator.py,sha256=7G1NXiCBFU0Pm5j4E7wM-scYYNhyGbQuEttlwYv5TKA,28322
61
79
  drf_to_mkdoc/utils/endpoint_list_generator.py,sha256=yVX7qVUTuKF3TPFgm6FI-vVsVZQ7XHMXmZZalgSN8pk,3579
62
80
  drf_to_mkdoc/utils/model_detail_generator.py,sha256=_ac2PYSzSwRUgUn-J-nmg7mfQGn8SU_4vkMpMRIxgEU,2619
63
81
  drf_to_mkdoc/utils/model_list_generator.py,sha256=Ki-CwIYKmUbPm3_jUPLPosPfppyVLrZMkqbuPPO3Ycw,1988
@@ -75,11 +93,11 @@ drf_to_mkdoc/utils/commons/file_utils.py,sha256=pdjrNZ_oR664tIwKinhlHL3Oeo-pKwaI
75
93
  drf_to_mkdoc/utils/commons/model_utils.py,sha256=IC2X-SchY448N_T6HA0iOkjuEkmRN92fnDHiaD95aR0,3033
76
94
  drf_to_mkdoc/utils/commons/operation_utils.py,sha256=0nQqJYuXcmUeIgEg5mvRPGC9uwMKJFTpswV0L8UX35w,2691
77
95
  drf_to_mkdoc/utils/commons/path_utils.py,sha256=Pi9g1xXDPsRzmn4kTeNSVtXG9v6n1h2ZphUgOCYAduw,2992
78
- drf_to_mkdoc/utils/commons/schema_utils.py,sha256=0sw3zp0onsF3NVv4ImpHbXfypTA2yIIFMIId_D9NZfg,7837
96
+ drf_to_mkdoc/utils/commons/schema_utils.py,sha256=1mQxzo08J6tlVmTIJ0hCQ6wCZUWMuV82POhLWUfOYtI,7567
79
97
  drf_to_mkdoc/utils/extractors/__init__.py,sha256=BvC8gKOPVI9gU1Piw0jRhKQ2ER5s1moAxgq7ZYkJWNI,86
80
- drf_to_mkdoc/utils/extractors/query_parameter_extractors.py,sha256=5QY5_PGQ5XpXRL9ZLr0570ywPcygQ8ZxnlfnSCHhnF0,8540
81
- drf_to_mkdoc-0.2.2.dist-info/licenses/LICENSE,sha256=3n9_ckIREsH8ogCxWW6dFsw_WfGcluG2mHcgl9i_UU0,1068
82
- drf_to_mkdoc-0.2.2.dist-info/METADATA,sha256=GQZJJrWXIfIDC_oSm_Y4DqvfwWBamJs1AIK_LzbflX0,7563
83
- drf_to_mkdoc-0.2.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
- drf_to_mkdoc-0.2.2.dist-info/top_level.txt,sha256=ZzJecR6j_tvLZiubUBEgawHflozC4DQy9ooNf1yDJ3Q,13
85
- drf_to_mkdoc-0.2.2.dist-info/RECORD,,
98
+ drf_to_mkdoc/utils/extractors/query_parameter_extractors.py,sha256=xELPYI6tcqfkxOa475JPMaxRzRGUX--Z9oYRlKgXb7w,7964
99
+ drf_to_mkdoc-0.2.3.dist-info/licenses/LICENSE,sha256=3n9_ckIREsH8ogCxWW6dFsw_WfGcluG2mHcgl9i_UU0,1068
100
+ drf_to_mkdoc-0.2.3.dist-info/METADATA,sha256=4yYOErLRQKonE5Z73pKOwhYU1V09TY5VYE1e0dkr7YM,7563
101
+ drf_to_mkdoc-0.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
102
+ drf_to_mkdoc-0.2.3.dist-info/top_level.txt,sha256=ZzJecR6j_tvLZiubUBEgawHflozC4DQy9ooNf1yDJ3Q,13
103
+ drf_to_mkdoc-0.2.3.dist-info/RECORD,,