Files
UNIT3D-Community-Edition/app/Http/Middleware/UpdateLastAction.php
Roardom 8e1b51a263 fix: batch user last action updates with redis
If there are no users in the list, null is returned, so we have to check against null.

Since we cache users for 30 seconds, checking their last action time is pointless.
2023-07-20 05:02:46 +00:00

37 lines
922 B
PHP

<?php
/**
* NOTICE OF LICENSE.
*
* UNIT3D Community Edition is open-sourced software licensed under the GNU Affero General Public License v3.0
* The details is bundled with this project in the file LICENSE.txt.
*
* @project UNIT3D Community Edition
*
* @author HDVinnie <hdinnovations@protonmail.com>
* @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0
*/
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Redis;
class UpdateLastAction
{
/**
* Handle an incoming request.
*/
public function handle(\Illuminate\Http\Request $request, Closure $next): mixed
{
$user = $request->user();
if (null === $user) {
return $next($request);
}
Redis::command('LPUSH', [config('cache.prefix').':user-last-actions:batch', $user->id]);
return $next($request);
}
}