Files
InvoiceShelf/app/Http/Middleware/UseInstallWizardTokenAuth.php
Darko Gjorgjijoski 4c3d809f89 refactor(support): group Bouncer, Media, Setup files into subdirs
Finishes the Support/ consolidation pass: the three remaining root-level files get grouped into purpose-named subdirs, matching the shape the Pdf/, Hashids/, Update/, and Module/ subdirs took in the earlier sweep.

- BouncerDefaultScope → Support/Bouncer/ (Bouncer-specific authorization scope)

- CustomPathGenerator → Support/Media/ (Spatie MediaLibrary path generator — media config references it from config/media-library.php)

- InstallWizardAuth → Support/Setup/ (folded into the existing Setup/ subdir alongside EnvironmentManager, FilePermissionChecker, InstallUtils, RequirementsChecker — it's install-wizard-flow state)

4 consumer files updated (AppServiceProvider, LoginController, UseInstallWizardTokenAuth middleware, config/media-library.php). app/Support/ root is now completely empty of standalone PHP files except helpers.php.
2026-04-11 15:00:00 +02:00

42 lines
991 B
PHP

<?php
namespace App\Http\Middleware;
use App\Models\Setting;
use App\Support\Setup\InstallUtils;
use App\Support\Setup\InstallWizardAuth;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class UseInstallWizardTokenAuth
{
public function handle(Request $request, Closure $next): Response
{
if (! InstallWizardAuth::isRequest($request) || ! $this->installationIsIncomplete()) {
return $next($request);
}
config([
'sanctum.guard' => [],
'sanctum.stateful' => [],
]);
$request->attributes->set('install_wizard', true);
return $next($request);
}
private function installationIsIncomplete(): bool
{
if (! InstallUtils::isDbCreated()) {
return true;
}
try {
return Setting::getSetting('profile_complete') !== 'COMPLETED';
} catch (\Exception $e) {
return true;
}
}
}