package com.exadel.service; import com.exadel.model.entity.ParticipationStatus; import com.exadel.model.entity.training.Training; import com.exadel.model.entity.user.User; import org.springframework.data.domain.Page; import com.exadel.model.entity.training.TrainingStatus; import java.util.Collection; import java.util.List; public interface TrainingService { Training getTrainingById(String id); Training getTrainingById(long id); Collection<Training> getAllTrainings(); Training addTraining(Training training); void updateTraining(Training training); ParticipationStatus checkParticipation(String userId, String trainingId); void cancelById(long id); long getTrainerId(long id); List<Long> getParticipants(long id); List<Training> getTrainingsByTrainingStatus(TrainingStatus status); Page<Training> getTrainings(Integer pageNumber, Integer size, String sortParam,boolean isReversed ); }