forge/app/Http/Controllers/UserController.php
Refringe 691f352d01
User Follow Components
Updates the user follow component to two smaller components. Still needs to be optimized.
2024-09-24 00:40:33 -04:00

35 lines
767 B
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\Request;
use Illuminate\View\View;
class UserController extends Controller
{
use AuthorizesRequests;
public function show(Request $request, int $userId, string $username): View
{
$user = User::whereId($userId)
->firstOrFail();
$mods = $user->mods()
->orderByDesc('created_at')
->paginate(10)
->fragment('mods');
if ($user->slug() !== $username) {
abort(404);
}
if ($request->user()?->cannot('view', $user)) {
abort(403);
}
return view('user.show', compact('user', 'mods'));
}
}