user() ?? $request->user('sanctum'); if (! $user) { return $response; } $tanda = today()->toDateString() . ':' . $user->id; // Web: tanda di session, tanpa query tambahan if ($request->hasSession()) { if ($request->session()->get('kunjungan_tercatat') !== $tanda) { KunjunganPengguna::catat($user->id); $request->session()->put('kunjungan_tercatat', $tanda); } return $response; } // API: tanda di cache sampai akhir hari if (Cache::add("kunjungan:{$tanda}", true, now()->endOfDay())) { KunjunganPengguna::catat($user->id); } return $response; } }