<?php

namespace Hura8\Interfaces;

interface iEntityStatistic
{
    // get data
    public function getListComment(array $condition): array;
    public function getTotalComment(array $condition) : int;
    public function getInfoComment($id): ?array;

    public function getListReview(array $condition): array;
    public function getTotalReview(array $condition) : int;
    public function getInfoReview($id): ?array;

    // update from public
    public function updateCommentCount($id, int $total=0, int $avg_rate=0): AppResponse;
    public function updateReviewCount($id, int $total=0, int $avg_rate=0): AppResponse;
    public function updateVisitCount($id, int $total): AppResponse;
    public function updateLikeCount($id, int $total): AppResponse;
    public function updateSaveCount($id, int $total): AppResponse;
}
