package com.exadel.service; import com.exadel.model.entity.training.Training; import com.exadel.model.entity.user.Employee; import com.exadel.model.entity.user.ExternalTrainer; import com.exadel.model.entity.user.User; import com.exadel.model.entity.user.UserRole; import org.springframework.data.domain.Page; import java.util.Collection; import java.util.List; public interface UserService { User getUserById(String id); User getUserById(long id); User getUserByLogin(String login); ExternalTrainer getTrainerById(String id); Employee getEmployeeById(String id); List<User> getAllUsers(); User addUser(User user); void updateUser(User user); List<Training> getVisitingTrainings(String id); List<Training> getMentoringTrainings(String id); long getCurrentId(); List<User> getUsersByRole(UserRole role); List<User> getTrainers(); Long getUserIdByFeedbackId(String id); Page<User> getUsers(Integer pageNumber, Integer size, String sort, boolean isReversed); }