<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
devtools-marvellous / postman-documentation example snippets
namespace App\Postman;
use AttractCores\LaravelCoreKit\Http\Requests\UserProfileRequest;
use AttractCores\PostmanDocumentation\Factory\FormRequestFactory;
use Database\Factories\UserFactory;
/**
* Class UserProfileRequestFactory
*
* @package App\Postman
* Date: 01.12.2021
* Version: 1.0
*/
class UserProfileRequestFactory extends FormRequestFactory
{
/**
* The name of the factory's corresponding form request.
* @note Value of the $request property can be request class name or route name,
* so you can generate name of the factory as you want.
* Example - api.v1.profile.update
* Example - UserProfileRequest::class
*
* @var string|null
*/
protected ?string $request = UserProfileRequest::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition() : array
{
return [
'email' => $this->faker->email,
'password' => UserFactory::DEFAULT_PASSWORD,
'password_confirmation' => UserFactory::DEFAULT_PASSWORD,
'firebase_token' => NULL,
'name' => $this->faker->name,
];
}
}
use AttractCores\PostmanDocumentation\PostmanAction;
Route::put('profile/referrals-settings', 'Api\ReferralsSettingsController@update')
->name('profile.referrals-settings.update')
->aliasedName('Update referrals settings')
->structureDepth(3)
->expands(App\Models\User::class, [
'roles' => [
'*Roles expand for the user*',
'*First Example* - `?expand=roles`',
],
'zipCode' => 'Zip code expand. Each time requested on referral return distance from current user zip.',
])
->scopes(App\Models\User::class)
->description(
\AttractCores\PostmanDocumentation\Facade\Markdown::heading('Here the new heading')
->line('Some explanation line')
);
// OR via resource
Route::apiResource('users', 'UserController')
->postman([
'index' => PostmanAction::fresh()
->aliasedName('Get list of users')
->expands(CoreUserContract::class),
'show' => PostmanAction::fresh()
->aliasedName('Get one user resource')
->expands(CoreUserContract::class),
'store' => PostmanAction::fresh()
->aliasedName('Create new user'),
'update' => PostmanAction::fresh()
->aliasedName('Update existing user'),
'destroy' => PostmanAction::fresh()
->aliasedName('Delete existing user'),
]);
Markdown::raw(Markdown::new()->line('Some another configured line'));