31 lines
806 B
PHP
31 lines
806 B
PHP
<?php
|
|
|
|
namespace App\Http\Responses;
|
|
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract;
|
|
|
|
class LoginResponse implements LoginResponseContract
|
|
{
|
|
/**
|
|
* Redirect user based on their role after a successful login.
|
|
*/
|
|
public function toResponse($request): RedirectResponse|JsonResponse
|
|
{
|
|
$role = $request->user()->role;
|
|
|
|
$redirectUrl = match ($role) {
|
|
'admin' => route('dashboard'),
|
|
'employee' => route('employee.index'),
|
|
default => route('dashboard'),
|
|
};
|
|
|
|
if ($request->wantsJson()) {
|
|
return new JsonResponse(['two_factor' => false], 200);
|
|
}
|
|
|
|
return redirect()->intended($redirectUrl);
|
|
}
|
|
}
|