<?php

namespace App\Repositories;

use App\Models\Hodnotenie\HodnotenieEnum;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User;
use Prettus\Repository\Contracts\RepositoryInterface;

/**
 * Class HodnotenieRepositoryContract
 */
interface HodnotenieRepositoryContract extends RepositoryInterface
{
    public function filterHodnoteniHodnotenehoZaznamu(Model $hodnotenyZaznam): self;

    public function ohodnot(User $pouzivatel, Model $hodnotenyZaznam, HodnotenieEnum $hodnotenie): void;

    public function pocetHodnoteniPodlaDruhu(Model $hodnotenyZaznam, HodnotenieEnum $hodnotenie): int;

    public function pocetVsetkychHodnoteni(Model $hodnotenyZaznam): int;

    public function hodnoteniePouzivatela(User $pouzivatel, Model $hodnotenyZaznam): ?HodnotenieEnum;
}
