@php $methods = ['GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH']; $function = (object)array( 'version' => 'versionNumber', 'module' => 'ModuleName', 'httpMethod' => $methods[rand(0, (count($methods) - 1))], 'name' => 'Function Name', 'route' => 'endpointRoute', 'description' => 'Lorem ipsum dolor sit amet consectetur adipisicing elit.', 'outputType' => 'JSON', ); $containsBody = rand(0,1) === 1 ? true : false; $requiresUserToken = rand(0,1) === 1 ? true : false; $noteAfterDescription = rand(0,1) === 0 ? null : 'Lorem ipsum dolor sit amet consectetur adipisicing elit.'; $noteAfterParams = rand(0,1) === 0 ? null : 'Lorem ipsum dolor sit amet consectetur adipisicing elit.'; $noteAfterUsageExample = rand(0,1) === 0 ? null : 'Lorem ipsum dolor sit amet consectetur adipisicing elit.'; @endphp @extends('layouts.app') @section('title', 'ModuleName: '.$function->name) @section('content') {{-- Essential function description (basic details and parameters) --}} @include('components.functions.basic-details', ['function' => $function, 'apiVersion' => 'versionNumber']) {{-- Important/essential footnotes can be added here --}} @if($noteAfterDescription)

Note: {{ $noteAfterDescription }}

@endif {{-- Function headers and body parameters --}} @php $functionHeaderParams = (!$requiresUserToken) ? [] : [ (object)[ 'name' => 'user-token', 'required' => true, 'type' => 'String', 'description' => 'User-associated token obtained on authentication.', ], ]; $functionBodyParams = (!$containsBody) ? [] : [ (object)[ 'name' => 'param1', 'required' => true, 'type' => 'String', 'description' => 'Email.' ], (object)[ 'name' => 'param2', 'required' => true, 'type' => 'Number', 'description' => 'Password/token.' ], (object)[ 'name' => 'param3', 'required' => false, 'type' => 'Boolean', 'description' => 'Boolean variable toggle.' ], (object)[ 'name' => 'param4', 'required' => false, 'type' => 'JSON', 'description' => 'Formdata or somesuch.' ], ]; @endphp @include('components.functions.parameters', ['functionHeaderParams' => $functionHeaderParams, 'functionBodyParams' => $functionBodyParams]) @if($noteAfterParams)

Note: {{ $noteAfterParams }}

@endif {{-- Example code snippets: request and response --}} @php $requestURL = env('API_BASEURL').'versionNumber/moduleName/endpointRoute'; $requestJSONBody = (!$containsBody) ? null : '{ "param1": "email@email.com", "param2": "password12345678", "param3": true, "param4": { "subParam1": "value1", "subParam2": "value2", "subParam3": "value3" } }'; $functionExampleResponse = '{ "success": true, "data": [] }'; $componentParams = [ 'requestURL' => $requestURL, 'requestJSONBody' => $requestJSONBody, 'functionExampleResponse' => $functionExampleResponse, 'includeCurl' => true, 'httpMethod' => $function->httpMethod ]; if($requiresUserToken) { $userToken = 'usr-tkn-0123456789abcdef0123456789ABCDEF'; $componentParams['userToken'] = $userToken; } @endphp @include('components.functions.example', $componentParams) @if($noteAfterUsageExample)

Note: {{ $noteAfterUsageExample }}

@endif {{-- Content goes here... --}} @endsection