Files
hado/core/app/Channels/WebChannel.php
2026-09-04 07:18:37 -03:00

26 lines
768 B
PHP

<?php
namespace App\Channels;
use App\Enums\Presence;
use App\Models\Delivery;
use App\Models\Event;
use App\Models\User;
use Illuminate\Support\Facades\Cache;
/** Инбокс. Ничего не шлёт (страница и так показывает всё), но присутствие определяет. */
final class WebChannel implements ChannelDriver
{
public function presence(User $user, array $config): Presence
{
return Cache::has("heartbeat:{$user->id}") ? Presence::Present : Presence::Absent;
}
public function deliver(Event $event, User $user, array $config, Delivery $delivery): DeliveryOutcome
{
return DeliveryOutcome::ok();
}
public function onDone(Event $event, Delivery $delivery): void {}
}