mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-10-31 06:57:32 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			199 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			199 lines
		
	
	
		
			6.9 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' => 'docs',
 | |
| 
 | |
|             /*
 | |
|              * 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', false),
 | |
| 
 | |
|         /*
 | |
|          * 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'),
 | |
|         // ],
 | |
|     ],
 | |
| ];
 |