<?php

declare(strict_types=1);

namespace Seka\Portal\Modul\Terminy\Listeners\Udalost;

use Seka\Portal\Modul\Terminy\Entities\Dtos\UdalostDTO;
use Seka\Portal\Modul\Terminy\Events\Udalost\NezverejnenaUdalostBolaZverejnena;

/**
 * Class ZverejnitNezverejnenuUdalostVKalendari
 *
 * @package Seka\Portal\Modul\Terminy\Listeners\Udalost
 */
final class ZverejnitNezverejnenuUdalostVKalendari extends UdalostVKalendari
{
    /**
     * @param \Seka\Portal\Modul\Terminy\Events\Udalost\NezverejnenaUdalostBolaZverejnena $event
     *
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
     * @throws \Spatie\LaravelData\Exceptions\CannotCreateData
     */
    public function handle(NezverejnenaUdalostBolaZverejnena $event): void
    {
        $udalost = UdalostDTO::from($event->udalost);

        $this->calendarService->createEvent($udalost);
    }
}
