<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
yakovenko / laravel-lighthouse-graphql-multi-schema example snippets
return [
'multi_schemas' => [
'schema1' => [
'route_uri' => '/schema1-graphql',
'route_name' => 'schema1-graphql',
'schema_path' => base_path("graphql/schema1.graphql"),
'schema_cache_path' => env('LIGHTHOUSE_SCHEMA1_CACHE_PATH', base_path("bootstrap/cache/schema1-schema.php")),
'schema_cache_enable' => env('LIGHTHOUSE_SCHEMA1_CACHE_ENABLE', false),
'middleware' => [
// Always set the `Accept: application/json` header.
Nuwave\Lighthouse\Http\Middleware\AcceptJson::class,
// Logs in a user if they are authenticated. In contrast to Laravel's 'auth'
// middleware, this delegates auth and permission checks to the field level.
Nuwave\Lighthouse\Http\Middleware\AttemptAuthentication::class,
// Apply your custom middleware here.
// For example:
// App\Http\Middleware\ExampleSchemaMiddleware::class,
]
],
// Add additional schemas as needed
],
];
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withMiddleware(function (Middleware $middleware) {
$middleware->validateCsrfTokens(except: [
'schema1-graphql',
'schema2-graphql',
// Add other routes as needed
]);
})
->create();
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array<int, string>
*/
protected $except = [
'schema1-graphql',
'schema2-graphql',
// Add other routes as needed
];
}