. */ declare(strict_types=1); namespace FireflyIII\Providers; use Illuminate\Support\Facades\Blade; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Schema; use Illuminate\Support\ServiceProvider; use Laravel\Passport\Passport; use Laravel\Sanctum\Sanctum; /** * Class AppServiceProvider */ class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. */ 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) && (1 === preg_match('/^[a-f\d]{8}(-[a-f\d]{4}){4}[a-f\d]{8}$/i', trim($uuid)))) { $headers['X-Trace-Id'] = $uuid; } return response() ->json($value) ->withHeaders($headers) ; }); // blade extension Blade::directive('activeXRoutePartial', function (string $route) { $name = \Route::getCurrentRoute()->getName() ?? ''; if (str_contains($name, $route)) { return 'menu-open'; } return ''; }); Blade::if('partialroute', function (string $route) { $name = \Route::getCurrentRoute()->getName() ?? ''; if (str_contains($name, $route)) { return true; } return false; }); } /** * Register any application services. */ public function register(): void { // Passport::ignoreMigrations(); // Sanctum::ignoreMigrations(); } }