mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-10 13:12:50 +01:00
199 lines
7.0 KiB
PHP
199 lines
7.0 KiB
PHP
<?php
|
|
|
|
return [
|
|
'default' => 'default',
|
|
'documentations' => [
|
|
'default' => [
|
|
'api' => [
|
|
'title' => 'L5 Swagger UI',
|
|
],
|
|
|
|
'routes' => [
|
|
/*
|
|
* Route for accessing api documentation interface
|
|
*/
|
|
'api' => 'api/documentation',
|
|
],
|
|
'paths' => [
|
|
/*
|
|
* File name of the generated json documentation file
|
|
*/
|
|
'docs_json' => 'api-docs.json',
|
|
|
|
/*
|
|
* File name of the generated YAML documentation file
|
|
*/
|
|
'docs_yaml' => 'api-docs.yaml',
|
|
|
|
/*
|
|
* Absolute paths to directory containing the swagger annotations are stored.
|
|
*/
|
|
'annotations' => [
|
|
base_path('app'),
|
|
],
|
|
|
|
],
|
|
],
|
|
],
|
|
'defaults' => [
|
|
'routes' => [
|
|
/*
|
|
* Route for accessing parsed swagger annotations.
|
|
*/
|
|
'docs' => 'swagger-docs-that-should-be-inaccessible',
|
|
|
|
/*
|
|
* Route for Oauth2 authentication callback.
|
|
*/
|
|
'oauth2_callback' => 'api/oauth2-callback',
|
|
|
|
/*
|
|
* Middleware allows to prevent unexpected access to API documentation
|
|
*/
|
|
'middleware' => [
|
|
'api' => [],
|
|
'asset' => [],
|
|
'docs' => [],
|
|
'oauth2_callback' => [],
|
|
],
|
|
|
|
/*
|
|
* Route Group options
|
|
*/
|
|
'group_options' => [],
|
|
],
|
|
|
|
'paths' => [
|
|
/*
|
|
* Absolute path to location where parsed annotations will be stored
|
|
*/
|
|
'docs' => storage_path('api-docs'),
|
|
|
|
/*
|
|
* Absolute path to directory where to export views
|
|
*/
|
|
'views' => base_path('resources/views/vendor/l5-swagger'),
|
|
|
|
/*
|
|
* Edit to set the api's base path
|
|
*/
|
|
'base' => env('L5_SWAGGER_BASE_PATH', null),
|
|
|
|
/*
|
|
* Edit to set path where swagger ui assets should be stored
|
|
*/
|
|
'swagger_ui_assets_path' => env('L5_SWAGGER_UI_ASSETS_PATH', 'vendor/swagger-api/swagger-ui/dist/'),
|
|
|
|
/*
|
|
* Absolute path to directories that should be exclude from scanning
|
|
*/
|
|
'excludes' => [],
|
|
],
|
|
|
|
/*
|
|
* API security definitions. Will be generated into documentation file.
|
|
*/
|
|
'securityDefinitions' => [
|
|
'securitySchemes' => [
|
|
/*
|
|
* Examples of Security schemes
|
|
*/
|
|
/*
|
|
'api_key_security_example' => [ // Unique name of security
|
|
'type' => 'apiKey', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
|
'description' => 'A short description for security scheme',
|
|
'name' => 'api_key', // The name of the header or query parameter to be used.
|
|
'in' => 'header', // The location of the API key. Valid values are "query" or "header".
|
|
],
|
|
'oauth2_security_example' => [ // Unique name of security
|
|
'type' => 'oauth2', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
|
'description' => 'A short description for oauth2 security scheme.',
|
|
'flow' => 'implicit', // The flow used by the OAuth2 security scheme. Valid values are "implicit", "password", "application" or "accessCode".
|
|
'authorizationUrl' => 'http://example.com/auth', // The authorization URL to be used for (implicit/accessCode)
|
|
//'tokenUrl' => 'http://example.com/auth' // The authorization URL to be used for (password/application/accessCode)
|
|
'scopes' => [
|
|
'read:projects' => 'read your projects',
|
|
'write:projects' => 'modify projects in your account',
|
|
]
|
|
],
|
|
*/
|
|
|
|
/* Open API 3.0 support
|
|
'passport' => [ // Unique name of security
|
|
'type' => 'oauth2', // The type of the security scheme. Valid values are "basic", "apiKey" or "oauth2".
|
|
'description' => 'Laravel passport oauth2 security.',
|
|
'in' => 'header',
|
|
'scheme' => 'https',
|
|
'flows' => [
|
|
"password" => [
|
|
"authorizationUrl" => config('app.url') . '/oauth/authorize',
|
|
"tokenUrl" => config('app.url') . '/oauth/token',
|
|
"refreshUrl" => config('app.url') . '/token/refresh',
|
|
"scopes" => []
|
|
],
|
|
],
|
|
],
|
|
*/
|
|
],
|
|
'security' => [
|
|
/*
|
|
* Examples of Securities
|
|
*/
|
|
[
|
|
/*
|
|
'oauth2_security_example' => [
|
|
'read',
|
|
'write'
|
|
],
|
|
|
|
'passport' => []
|
|
*/
|
|
],
|
|
],
|
|
],
|
|
|
|
/*
|
|
* Set this to `true` in development mode so that docs would be regenerated on each request
|
|
* Set this to `false` to disable swagger generation on production
|
|
*/
|
|
'generate_always' => env('L5_SWAGGER_GENERATE_ALWAYS', false),
|
|
|
|
/*
|
|
* Set this to `true` to generate a copy of documentation in yaml format
|
|
*/
|
|
'generate_yaml_copy' => env('L5_SWAGGER_GENERATE_YAML_COPY', true),
|
|
|
|
/*
|
|
* Edit to trust the proxy's ip address - needed for AWS Load Balancer
|
|
* string[]
|
|
*/
|
|
'proxy' => false,
|
|
|
|
/*
|
|
* Configs plugin allows to fetch external configs instead of passing them to SwaggerUIBundle.
|
|
* See more at: https://github.com/swagger-api/swagger-ui#configs-plugin
|
|
*/
|
|
'additional_config_url' => null,
|
|
|
|
/*
|
|
* Apply a sort to the operation list of each API. It can be 'alpha' (sort by paths alphanumerically),
|
|
* 'method' (sort by HTTP method).
|
|
* Default is the order returned by the server unchanged.
|
|
*/
|
|
'operations_sort' => env('L5_SWAGGER_OPERATIONS_SORT', null),
|
|
|
|
/*
|
|
* Pass the validatorUrl parameter to SwaggerUi init on the JS side.
|
|
* A null value here disables validation.
|
|
*/
|
|
'validator_url' => null,
|
|
|
|
/*
|
|
* Uncomment to add constants which can be used in annotations
|
|
*/
|
|
// 'constants' => [
|
|
// 'L5_SWAGGER_CONST_HOST' => env('L5_SWAGGER_CONST_HOST', 'http://my-default-host.com'),
|
|
// ],
|
|
],
|
|
];
|