TIFNJK_E41222887/app/Http/Responses/LoginResponse.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);
}
}