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); } }