Files
streamline-emr/docker/_streamline-src/app/Http/Middleware/UserActivity.php
T

33 lines
728 B
PHP
Executable File

<?php
namespace Streamline\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Auth;
use Cache;
use Streamline\Models\User;
class UserActivity
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Auth::check()) {
$expiresAt = now()->addSeconds(120); /* keep online for 2 min */
Cache::put('user-is-online-' . Auth::user()->id, true, $expiresAt);
/* last seen */
User::where('id', Auth::user()->id)->update(['last_seen' => now()]);
}
return $next($request);
}
}