user()->id; // du hast in Redis bereits "user:{id}:tasks" $keySet = "user:{$userId}:tasks"; $taskKeys = Redis::smembers($keySet) ?: []; $items = []; foreach ($taskKeys as $key) { $snap = Cache::store('redis')->get($key); if ($snap) { // erwartet: ['type','status','message','payload'=>['domain'=>..], ...] $items[] = ['id' => $key] + $snap; } } return response()->json([ 'ok' => true, 'count' => count($items), 'items' => $items, ]); } public function active(Request $request) { $userId = Auth::id() ?? 0; // oder feste 3, wenn du noch ohne Login testest $setKey = "user:{$userId}:tasks"; $items = []; foreach (Redis::smembers($setKey) ?? [] as $taskKey) { if ($payload = Cache::store('redis')->get($taskKey)) { $items[] = ['id' => $taskKey] + $payload; } } return response()->json(['items' => $items]); } // public function active(Request $request) // { // // Wenn du pro-User Toaster verwaltest: // $userId = Auth::id() ?? 0; // // // Wir gehen davon aus, dass du eine Set-Liste der Keys pflegst, // // z.B. "ui:toasts:users:{id}" und unter jedem $taskKey ein JSON-Objekt im Cache liegt. // $setKey = "ui:toasts:users:{$userId}"; // $keys = Redis::smembers($setKey) ?? []; // // $items = []; // foreach ($keys as $key) { // $payload = Cache::store('redis')->get($key); // if ($payload) { // $items[] = array_merge(['id' => $key], $payload); // } // } // // // Immer JSON liefern – kein Redirect, keine Blade-View // return response()->json([ // 'items' => $items, // ]); // } }