@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