body-parameters.blade.php 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. 'endpointId' => $endpointId,
  40. 'hasChildren' => true,
  41. 'component' => 'body',
  42. ])
  43. @endcomponent
  44. </summary>
  45. @foreach($parameter['__fields'] as $subfieldName => $subfield)
  46. @if(!empty($subfield['__fields']))
  47. @component('scribe::components.body-parameters', ['parameters' => [$subfieldName => $subfield], 'endpointId' => $endpointId,])
  48. @endcomponent
  49. @else
  50. <p>
  51. @component('scribe::components.field-details', [
  52. 'name' => $subfield['name'],
  53. 'type' => $subfield['type'] ?? 'string',
  54. 'required' => $subfield['required'] ?? false,
  55. 'description' => $subfield['description'] ?? '',
  56. 'example' => $subfield['example'] ?? '',
  57. 'endpointId' => $endpointId,
  58. 'hasChildren' => false,
  59. 'component' => 'body',
  60. ])
  61. @endcomponent
  62. </p>
  63. @endif
  64. @endforeach
  65. </details>
  66. </p>
  67. @else
  68. <p>
  69. @component('scribe::components.field-details', [
  70. 'name' => $parameter['name'],
  71. 'type' => $parameter['type'] ?? 'string',
  72. 'required' => $parameter['required'] ?? false,
  73. 'description' => $parameter['description'] ?? '',
  74. 'example' => $parameter['example'] ?? '',
  75. 'endpointId' => $endpointId,
  76. 'hasChildren' => false,
  77. 'component' => 'body',
  78. ])
  79. @endcomponent
  80. </p>
  81. @endif
  82. @endforeach