body-parameters.blade.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. @foreach($parameters as $name => $parameter)
  2. @if($name === '[]')
  3. @php
  4. $description = "The request body is an array (<code>{$parameter['type']}</code>`)";
  5. $description .= !empty($parameter['description']) ? ", representing ".lcfirst($parameter['description'])."." : '.';
  6. @endphp
  7. <p>
  8. {!! Parsedown::instance()->text($description) !!}
  9. </p>
  10. @foreach($parameter['__fields'] as $subfieldName => $subfield)
  11. @if(!empty($subfield['__fields']))
  12. @component('scribe::components.body-parameters', ['parameters' => [$subfieldName => $subfield], 'endpointId' => $endpointId,])
  13. @endcomponent
  14. @else
  15. <p>
  16. @component('scribe::components.field-details', [
  17. 'name' => $subfield['name'],
  18. 'type' => $subfield['type'] ?? 'string',
  19. 'required' => $subfield['required'] ?? false,
  20. 'description' => $subfield['description'] ?? '',
  21. 'example' => $subfield['example'] ?? '',
  22. 'endpointId' => $endpointId,
  23. 'hasChildren' => false,
  24. 'component' => 'body',
  25. ])
  26. @endcomponent
  27. </p>
  28. @endif
  29. @endforeach
  30. @elseif(!empty($parameter['__fields']))
  31. <p>
  32. <details>
  33. <summary style="padding-bottom: 10px;">
  34. @component('scribe::components.field-details', [
  35. 'name' => $parameter['name'],
  36. 'type' => $parameter['type'] ?? 'string',
  37. 'required' => $parameter['required'] ?? false,
  38. 'description' => $parameter['description'] ?? '',
  39. 'example' => $parameter['example'] ?? '',
  40. 'endpointId' => $endpointId,
  41. 'hasChildren' => true,
  42. 'component' => 'body',
  43. ])
  44. @endcomponent
  45. </summary>
  46. @foreach($parameter['__fields'] as $subfieldName => $subfield)
  47. @if(!empty($subfield['__fields']))
  48. @component('scribe::components.body-parameters', ['parameters' => [$subfieldName => $subfield], 'endpointId' => $endpointId,])
  49. @endcomponent
  50. @else
  51. <p>
  52. @component('scribe::components.field-details', [
  53. 'name' => $subfield['name'],
  54. 'type' => $subfield['type'] ?? 'string',
  55. 'required' => $subfield['required'] ?? false,
  56. 'description' => $subfield['description'] ?? '',
  57. 'example' => $subfield['example'] ?? '',
  58. 'endpointId' => $endpointId,
  59. 'hasChildren' => false,
  60. 'component' => 'body',
  61. ])
  62. @endcomponent
  63. </p>
  64. @endif
  65. @endforeach
  66. </details>
  67. </p>
  68. @else
  69. <p>
  70. @component('scribe::components.field-details', [
  71. 'name' => $parameter['name'],
  72. 'type' => $parameter['type'] ?? 'string',
  73. 'required' => $parameter['required'] ?? false,
  74. 'description' => $parameter['description'] ?? '',
  75. 'example' => $parameter['example'] ?? '',
  76. 'endpointId' => $endpointId,
  77. 'hasChildren' => false,
  78. 'component' => 'body',
  79. ])
  80. @endcomponent
  81. </p>
  82. @endif
  83. @endforeach