Initial commit

This commit is contained in:
Ronald Huynen
2026-03-23 21:37:59 +01:00
commit 2547717edb
2193 changed files with 972171 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
<?php
// 4. Trait for User Models (add to all your auth models)
namespace App\Traits;
use App\Services\PresenceService;
trait HasPresence
{
public function updatePresence($guard = null)
{
app(PresenceService::class)->updatePresence($this, $guard);
}
public function isOnline($guard = 'web', $minutes = 5)
{
return app(PresenceService::class)->isUserOnline($this, $guard, $minutes);
}
public function getLastSeenAttribute($guard = 'web')
{
return app(PresenceService::class)->getUserLastSeen($this, $guard);
}
public function scopeOnline($query, $guard = 'web', $minutes = 5)
{
$onlineUsers = app(PresenceService::class)->getOnlineUsers($guard, $minutes);
$onlineIds = $onlineUsers->where('user_type', static::class)->pluck('id');
return $query->whereIn('id', $onlineIds);
}
}