34 lines
864 B
PHP
34 lines
864 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Cache;
|
|
use Illuminate\Support\Facades\Redis;
|
|
|
|
class TaskFeedController extends Controller
|
|
{
|
|
public function active()
|
|
{
|
|
$user = Auth::user();
|
|
$setKey = "user:{$user->id}:tasks";
|
|
|
|
$taskKeys = Redis::smembers($setKey) ?: [];
|
|
$items = [];
|
|
|
|
foreach ($taskKeys as $k) {
|
|
// wir lesen aus dem Cache-Store "redis"
|
|
$payload = Cache::store('redis')->get($k);
|
|
if (!$payload) {
|
|
// verwaist -> aus dem Set räumen
|
|
Redis::srem($setKey, $k);
|
|
continue;
|
|
}
|
|
$items[] = array_merge(['id' => $k], $payload);
|
|
}
|
|
|
|
return response()->json(['items' => $items]);
|
|
}
|
|
}
|