<?php

declare(strict_types=1);

namespace App\Observers;

use App\Notifications\Push\MAAISEKUserNotificationsCountPushNotification;
use Illuminate\Notifications\DatabaseNotification;

/**
 * Observer pre spracovanie udalosti suvisiacich s notifikaciami.
 *
 * @package App\Observers
 * @author  Radoslav Lukac <dev@seka.sk>
 */
class NotificationObserver
{
    /**
     * Spracuje udalost "created" pre DatabaseNotification.
     *
     * Odosle push notifikaciu s aktualnym poctom neprecitanych notifikacii.
     *
     * @param DatabaseNotification $notification Notifikacia, ktora bola vytvorena
     * @return void
     */
    public function created(DatabaseNotification $notification): void
    {
        $notifiable = $notification->notifiable;

        // Odošleme push notifikáciu s aktuálnym počtom neprečítaných notifikácií
        $notifiable->notify(new MAAISEKUserNotificationsCountPushNotification());
    }
}
