File "RedirectIfAuthenticated.php"
Full Path: /home/trinadezambia/public_html/admin_panel/app/Http/Middleware/RedirectIfAuthenticated.php
File size: 1.47 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace App\Http\Middleware;
use App\Providers\RouteServiceProvider;
use Closure;
use Illuminate\Database\QueryException;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
use Throwable;
class RedirectIfAuthenticated {
/**
* Handle an incoming request.
*
* @param Request $request
* @param Closure(Request): (Response|RedirectResponse) $next
* @param string|null ...$guards
* @return Response|RedirectResponse
*/
public function handle(Request $request, Closure $next, ...$guards) {
$school_database_name = Session::get('school_database_name');
if ($school_database_name) {
DB::setDefaultConnection('school');
Config::set('database.connections.school.database', $school_database_name);
DB::purge('school');
DB::connection('school')->reconnect();
DB::setDefaultConnection('school');
$guards = empty($guards) ? [null] : $guards;
foreach ($guards as $guard) {
if (Auth::guard($guard)->check()) {
return redirect(RouteServiceProvider::HOME);
}
}
} else {
DB::setDefaultConnection('mysql');
}
return $next($request);
}
}