body-parameters.blade.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. 'endpointId' => $endpointId,
  22. 'hasChildren' => false,
  23. 'component' => 'body',
  24. ])
  25. @endcomponent
  26. </p>
  27. @endif
  28. @endforeach
  29. @elseif(!empty($parameter['__fields']))
  30. <p>
  31. <details>
  32. <summary style="padding-bottom: 10px;">
  33. @component('scribe::components.field-details', [
  34. 'name' => $parameter['name'],
  35. 'type' => $parameter['type'] ?? 'string',
  36. 'required' => $parameter['required'] ?? false,
  37. 'description' => $parameter['description'] ?? '',
  38. 'endpointId' => $endpointId,
  39. 'hasChildren' => true,
  40. 'component' => 'body',
  41. ])
  42. @endcomponent
  43. </summary>
  44. @foreach($parameter['__fields'] as $subfieldName => $subfield)
  45. @if(!empty($subfield['__fields']))
  46. @component('scribe::components.body-parameters', ['parameters' => [$subfieldName => $subfield], 'endpointId' => $endpointId,])
  47. @endcomponent
  48. @else
  49. <p>
  50. @component('scribe::components.field-details', [
  51. 'name' => $subfield['name'],
  52. 'type' => $subfield['type'] ?? 'string',
  53. 'required' => $subfield['required'] ?? false,
  54. 'description' => $subfield['description'] ?? '',
  55. 'endpointId' => $endpointId,
  56. 'hasChildren' => false,
  57. 'component' => 'body',
  58. ])
  59. @endcomponent
  60. </p>
  61. @endif
  62. @endforeach
  63. </details>
  64. </p>
  65. @else
  66. <p>
  67. @component('scribe::components.field-details', [
  68. 'name' => $parameter['name'],
  69. 'type' => $parameter['type'] ?? 'string',
  70. 'required' => $parameter['required'] ?? false,
  71. 'description' => $parameter['description'] ?? '',
  72. 'endpointId' => $endpointId,
  73. 'hasChildren' => false,
  74. 'component' => 'body',
  75. ])
  76. @endcomponent
  77. </p>
  78. @endif
  79. @endforeach