package org.iatoki.judgels.uriel.services;
import org.iatoki.judgels.play.Page;
import org.iatoki.judgels.uriel.ContestClarification;
import org.iatoki.judgels.uriel.ContestClarificationNotFoundException;
import org.iatoki.judgels.uriel.ContestClarificationStatus;
import java.util.List;
public interface ContestClarificationService {
ContestClarification findContestClarificationByContestClarificationId(long contestClarificationId) throws ContestClarificationNotFoundException;
Page<ContestClarification> pageContestClarificationsByContestJid(String contestJid, long pageIndex, long pageSize, String sortBy, String order, String filterString, List<String> askerJids);
long getUnansweredContestClarificationsCount(String contestJid);
long getUnreadContestClarificationsCount(List<String> askerJids, String userJid, String contestJid, boolean answered);
void createContestClarification(long contestId, String title, String question, String topicJid);
void updateContestClarification(long contestClarificationId, String title, String question);
void updateContestClarification(long contestClarificationId, String answer, ContestClarificationStatus status);
void readContestClarifications(String userJid, List<String> contestClarificationJids);
}