package org.iatoki.judgels.raguel.user; import com.google.inject.ImplementedBy; import org.iatoki.judgels.api.jophiel.JophielUser; import org.iatoki.judgels.jophiel.user.BaseUserService; import org.iatoki.judgels.play.Page; import java.util.List; @ImplementedBy(UserServiceImpl.class) public interface UserService extends BaseUserService { User findUserById(long userId) throws UserNotFoundException; User findUserByJid(String userJid); Page<User> getPageOfUsers(long pageIndex, long pageSize, String orderBy, String orderDir, String filterString); void createUser(String userJid, List<String> roles, String createUserJid, String createUserIpAddress); void updateUser(long userId, List<String> roles, String userJid, String userIpAddress); void deleteUser(long userId); void upsertUserFromJophielUser(JophielUser jophielUser, String userJid, String userIpAddress); void upsertUserFromJophielUser(JophielUser jophielUser, List<String> roles, String userJid, String userIpAddress); }