. */ declare(strict_types=1); namespace FireflyIII\Providers; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Schema; use Illuminate\Support\ServiceProvider; use Laravel\Passport\Passport; use Laravel\Sanctum\Sanctum; use URL; /** * Class AppServiceProvider */ class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot(): void { Schema::defaultStringLength(191); Response::macro('api', function (array $value) { $headers = [ 'Cache-Control' => 'no-store', ]; $uuid = (string)request()->header('X-Trace-Id'); if ('' !== trim($uuid) && (preg_match('/^[a-f\d]{8}(-[a-f\d]{4}){4}[a-f\d]{8}$/i', trim($uuid)) === 1)) { $headers['X-Trace-Id'] = $uuid; } return response() ->json($value) ->withHeaders($headers); }); } /** * Register any application services. * * @return void */ public function register(): void { Passport::ignoreMigrations(); Sanctum::ignoreMigrations(); } }