mailwolt/app/Http/Controllers/Api/TaskFeedController.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]);
}
}