refactor: add return type hints to all controller methods

Added proper return types (View, RedirectResponse, JsonResponse, Collection)
to 40+ controller methods across 16 controllers. Also added missing
imports for Illuminate response types and tightened parameter types
(e.g. InstallationController::showStep now uses int instead of mixed).
This commit is contained in:
root
2026-05-19 19:28:21 +02:00
parent 81e99933e4
commit 05fc7b04bc
1001 changed files with 1100 additions and 26101 deletions
@@ -6,18 +6,20 @@ use App\Http\Controllers\Controller;
use App\Models\PasswordResetToken;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Str;
use Illuminate\View\View;
class ForgotPasswordController extends Controller
{
public function __invoke()
public function __invoke(): View
{
return view('auth.passwords.forget');
}
public function submitForgetPassword(Request $request)
public function submitForgetPassword(Request $request): RedirectResponse
{
$request->validate([
'mail' => 'required|email',
@@ -40,7 +42,7 @@ class ForgotPasswordController extends Controller
return back()->with('success', __('We have e-mailed your password reset link!'));
}
public function showResetPassword(Request $request, string $token)
public function showResetPassword(Request $request, string $token): View|RedirectResponse
{
$prt = PasswordResetToken::select(['token', 'created_at'])->where('token', $token)->first();
if ($prt === null) {
@@ -58,7 +60,7 @@ class ForgotPasswordController extends Controller
]);
}
public function submitResetPassword(Request $request, string $token)
public function submitResetPassword(Request $request, string $token): RedirectResponse
{
$request->validate([
'password' => 'required|min:8|confirmed',
@@ -8,11 +8,12 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\GuestbookFormRequest;
use App\Models\User;
use App\Models\User\WebsiteUserGuestbook;
use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Auth;
class GuestbookController extends Controller
{
public function store(User $user, GuestbookFormRequest $request)
public function store(User $user, GuestbookFormRequest $request): RedirectResponse
{
$this->validateGuestbookPost($user, $request);
@@ -24,7 +25,7 @@ class GuestbookController extends Controller
return redirect()->back()->with('success', __('Your message has been posted.'));
}
public function destroy(User $user, WebsiteUserGuestbook $guestbook)
public function destroy(User $user, WebsiteUserGuestbook $guestbook): RedirectResponse
{
if ($guestbook->user_id !== Auth::id() && $guestbook->profile_id !== $user->id && Auth::user()->rank < (int) setting('min_staff_rank')) {
return redirect()->back()->withErrors([
@@ -37,7 +38,7 @@ class GuestbookController extends Controller
return redirect()->back()->with('success', __('Your message has been deleted.'));
}
private function validateGuestbookPost(User $user, GuestbookFormRequest $request)
private function validateGuestbookPost(User $user, GuestbookFormRequest $request): ?RedirectResponse
{
if ($user->id === $request->user()->id) {
return $this->redirectWithError(__('You cannot post a message on your own profile.'));
@@ -49,7 +50,7 @@ class GuestbookController extends Controller
}
}
private function redirectWithError($message)
private function redirectWithError(string $message): RedirectResponse
{
return redirect()->back()->withErrors(['message' => $message]);
}
@@ -4,10 +4,11 @@ namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\View\View;
class UserReferralController extends Controller
{
public function __invoke(string $referralCode)
public function __invoke(string $referralCode): View
{
if (! User::where('referral_code', $referralCode)->exists()) {
abort(404);