<?php
/**
 * Created by PhpStorm.
 * User: radko
 * Date: 31.7.18
 * Time: 16:34
 */

namespace Seka\Portal\Modul\Vzdelavanie\Services;

use Illuminate\Support\Collection;

/**
 * Interface SekciaServiceInterface
 *
 * @package Seka\Portal\Modul\Vzdelavanie\Services
 */
interface SekciaServiceInterface
{
    /**
     * @param int      $ucebnyTextId
     * @param array    $udaje
     * @param int|null $rodicSekcieId
     *
     * @return mixed
     * @throws \Seka\Portal\Modul\Vzdelavanie\Repositories\Exceptions\ModelNotFoundException
     */
    public function vytvoritSekciuUcebnehoTextu(int $ucebnyTextId, array $udaje, int $rodicSekcieId = null);

    /**
     * @param int   $sekciaId
     * @param array $data
     *
     * @return mixed
     */
    public function upravit(int $sekciaId, array $data);

    /**
     * @param int $id
     *
     * @return mixed
     * @throws \Seka\Portal\Modul\Vzdelavanie\Repositories\Exceptions\ModelNotFoundException
     */
    public function vratSekciu(int $id);

    /**
     * @param int  $id
     * @param bool $akoStrom
     *
     * @return mixed
     * @throws \Seka\Portal\Modul\Vzdelavanie\Repositories\Exceptions\ModelNotFoundException
     */
    public function vratZoznamSekciiUcebnehoTextu(int $id, bool $akoStrom = true);

    /**
     * @param string $text
     *
     * @return \Illuminate\Support\Collection
     */
    public function vyhladaj(string $text): Collection;
}
