package org.iatoki.judgels.uriel.services; import org.iatoki.judgels.play.Page; import org.iatoki.judgels.uriel.ContestContestant; import org.iatoki.judgels.uriel.ContestContestantNotFoundException; import org.iatoki.judgels.uriel.ContestContestantStatus; import java.util.List; public interface ContestContestantService { boolean isContestContestantInContestByUserJid(String contestJid, String contestContestantJid); boolean isContestStarted(String contestJid, String contestContestantJid); ContestContestant findContestContestantByContestContestantId(long contestContestantId) throws ContestContestantNotFoundException; ContestContestant findContestContestantByContestJidAndContestContestantJid(String contestJid, String contestContestantJid); List<ContestContestant> findAllContestContestantsByContestJid(String contestJid); Page<ContestContestant> pageContestContestantsByContestJid(String contestJid, long pageIndex, long pageSize, String orderBy, String orderDir, String filterString); long getContestContestantCount(String contestJid); void createContestContestant(long contestId, String userJid, ContestContestantStatus status); void updateContestContestant(long contestContestantId, ContestContestantStatus status); void deleteContestContestant(long contestContestantId); void startContestAsContestant(String contestJid, String userJid); }