innopacks/restapi/config/scribe_front.php
Rama main · réplica de lectura del repositorio original.
<?php
/**
* Copyright (c) Since 2024 InnoShop - All Rights Reserved
*
* @link https://www.innoshop.com
* @author InnoShop <[email protected]>
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
if (! class_exists(\Knuckles\Scribe\Config\Defaults::class)) {
return [];
}
use InnoShop\Restapi\Middleware\EnsureApiDocumentationEnabled;
use Knuckles\Scribe\Config\Defaults;
use Knuckles\Scribe\Extracting\Strategies;
return [
'title' => 'InnoShop Front API Documentation',
'description' => 'Customer-facing RESTful API for InnoShop e-commerce platform.',
'base_url' => config('app.url'),
'routes' => [
[
'match' => [
'prefixes' => ['api/*'],
'domains' => ['*'],
],
'include' => [],
// `api/panel/*` does not match the bare `api/panel` root (IntroductionController); that route still matches `api/*`.
'exclude' => ['api/panel', 'api/panel/*'],
],
],
'type' => 'laravel',
'theme' => 'default',
'static' => [
'output_path' => 'public/docs',
],
'laravel' => [
'add_routes' => true,
'docs_url' => '/docs',
'assets_directory' => null,
'middleware' => [
EnsureApiDocumentationEnabled::class,
],
],
'external' => [
'html_attributes' => [],
],
'try_it_out' => [
'enabled' => true,
'base_url' => null,
'use_csrf' => false,
'csrf_url' => '/sanctum/csrf-cookie',
],
'auth' => [
'enabled' => true,
'default' => false,
'in' => 'bearer',
'name' => 'Authorization',
'use_value' => env('SCRIBE_AUTH_KEY'),
'placeholder' => '{YOUR_AUTH_KEY}',
'extra_info' => 'Obtain a token via `POST /api/login` or `POST /api/register`. Pass it as `Authorization: Bearer {token}`.',
],
'example_languages' => ['bash', 'javascript', 'php'],
'postman' => [
'enabled' => true,
'overrides' => [],
],
'openapi' => [
'enabled' => true,
'version' => '3.0.3',
'overrides' => [],
'generators' => [],
],
'groups' => [
'default' => 'Other',
'order' => [],
],
'logo' => false,
'last_updated' => 'Last updated: {date:F j, Y}',
'examples' => [
'faker_seed' => 1234,
'models_source' => ['factoryCreate', 'factoryMake', 'databaseFirst'],
],
// Scribe 5.x: GetFromRouteRules / GetFromDocBlocks in sub-namespaces were removed; use Defaults.
'strategies' => [
'metadata' => [
...Defaults::METADATA_STRATEGIES,
],
'headers' => [
...Defaults::HEADERS_STRATEGIES,
Strategies\StaticData::withSettings(data: [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
]),
],
'urlParameters' => [
...Defaults::URL_PARAMETERS_STRATEGIES,
],
'queryParameters' => [
...Defaults::QUERY_PARAMETERS_STRATEGIES,
],
'bodyParameters' => [
...Defaults::BODY_PARAMETERS_STRATEGIES,
],
'responses' => [
Strategies\Responses\UseResponseAttributes::class,
Strategies\Responses\UseTransformerTags::class,
Strategies\Responses\UseApiResourceTags::class,
Strategies\Responses\UseResponseTag::class,
Strategies\Responses\UseResponseFileTag::class,
],
'responseFields' => [
...Defaults::RESPONSE_FIELDS_STRATEGIES,
],
],
'database_connections_to_transact' => [config('database.default')],
'fractal' => [
'serializer' => null,
],
];