isProduction()); Event::listen( events: ['eloquent.created: *', 'eloquent.updated: *', 'eloquent.deleted: *'], listener: fn (string $eventName, array $data) => storeResourceEvent($eventName, $data, request()) ); $this->loadMigrationsFrom($this->findModuleMigrations()); Gate::define('viewApiDocs', function (User $user) { return $user->isMe() || in_array($user->username, [ 'muhammet' ]); }); Scramble::afterOpenApiGenerated(function (OpenApi $openApi) { $openApi->secure(SecurityScheme::http('bearer')); }); // $this->listenDB(); } /** * Find Module migrations * * @return array */ public function findModuleMigrations(): array { /** @var array */ $modulesDir = scandir(modules_path()); $migrationDirectories = []; foreach ($modulesDir as $module) { if (is_dir(modules_path($module.'/Database/Migrations'))) { $migrationDirectories[] = modules_path($module.'/Database/Migrations'); } } return $migrationDirectories; } /** * Write db queries */ public function listenDB(): void { if (! app()->isLocal()) { return; } DB::listen(function ($query) { Log::info($query->sql, $query->bindings, $query->time); // @phpstan-ignore-line }); } }