Setup Wizard middleware implemented

This commit is contained in:
Peter Papp
2021-07-22 12:27:36 +02:00
parent 5167f082f7
commit b0e8bfa3ce
6 changed files with 55 additions and 19 deletions
@@ -0,0 +1,33 @@
<?php
namespace Support\Middleware;
use Closure;
use Doctrine\DBAL\Driver\PDOException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Schema;
class ProtectSetupWizardRoutes
{
/**
* Prevent access for setup wizard controllers after initial app installation.
*/
public function handle(Request $request, Closure $next): mixed
{
try {
// Check database connections
DB::getPdo();
// Get setup_wizard status
if (Schema::hasTable('settings') && get_setting('setup_wizard_success')) {
return response('Gone', 410);
}
return $next($request);
} catch (PDOException $e) {
return $next($request);
}
}
}