resolveFilter($request); if ($this->activityService->requiresAuthentication($filter) && ! $request->user()) { return response()->json(['error' => 'Unauthenticated'], 401); } $feed = $this->activityService->getFeed( viewer: $request->user(), filter: $filter, page: (int) $request->query('page', 1), perPage: (int) $request->query('per_page', CommunityActivityService::DEFAULT_PER_PAGE), actorUserId: $request->filled('user_id') ? (int) $request->query('user_id') : null, ); return response()->json($feed); } private function resolveFilter(Request $request): string { if ($request->filled('type') && ! $request->filled('filter')) { return (string) $request->query('type', 'all'); } if ($request->boolean('following') && ! $request->filled('filter')) { return 'following'; } return (string) $request->query('filter', 'all'); } }