|
5 | 5 | use App\Models\EntryUser; |
6 | 6 | use Illuminate\Http\Request; |
7 | 7 | use Statamic\Eloquent\Entries\Entry; |
8 | | -use Statamic\Entries\EntryCollection; |
9 | 8 | use Statamic\View\View; |
10 | 9 |
|
11 | 10 | class ProgressController extends Controller |
12 | 11 | { |
13 | 12 | public function store(Request $request) |
14 | 13 | { |
15 | | - if (! $request->user()) { |
16 | | - return response()->json(['status' => 'guest'], 200); |
17 | | - } |
18 | | - |
19 | 14 | $request->validate([ |
20 | 15 | 'entry_id' => 'required|string', |
21 | 16 | 'collection' => 'required|string', |
@@ -62,20 +57,21 @@ public function show(Request $request) |
62 | 57 | ]); |
63 | 58 | } |
64 | 59 |
|
65 | | - private function enrichComponents(array $visitedRequirements, array $visitedLearningModules): EntryCollection |
| 60 | + private function enrichComponents(array $visitedRequirements, array $visitedLearningModules) |
66 | 61 | { |
| 62 | + $visitedIds = array_merge($visitedRequirements, $visitedLearningModules); |
| 63 | + |
67 | 64 | return Entry::query() |
68 | 65 | ->whereCollection('components') |
69 | 66 | ->get() |
70 | | - ->map(function ($component) use ($visitedRequirements, $visitedLearningModules) { |
| 67 | + ->map(function ($component) use ($visitedIds) { |
71 | 68 | $requirements = $component->requirements ?? collect(); |
72 | 69 | $learningModules = $component->learning_modules ?? collect(); |
73 | 70 |
|
74 | | - $visited = $requirements->merge($learningModules) |
75 | | - ->filter(fn ($item) => in_array($item->id, array_merge($visitedRequirements, $visitedLearningModules))); |
| 71 | + $allItems = $requirements->merge($learningModules); |
76 | 72 |
|
77 | | - $notVisited = $requirements->merge($learningModules) |
78 | | - ->filter(fn ($item) => ! in_array($item->id, array_merge($visitedRequirements, $visitedLearningModules))); |
| 73 | + $visited = $allItems->filter(fn ($item) => in_array($item->id, $visitedIds)); |
| 74 | + $notVisited = $allItems->filter(fn ($item) => ! in_array($item->id, $visitedIds)); |
79 | 75 |
|
80 | 76 | return [ |
81 | 77 | 'title' => $component->title, |
|
0 commit comments