SkillLevelProgressServiceImpl.java
package fr.avenirsesr.portfolio.student.progress.imported.domain.service;
import fr.avenirsesr.portfolio.common.data.domain.model.PageCriteria;
import fr.avenirsesr.portfolio.common.data.domain.model.PagedResult;
import fr.avenirsesr.portfolio.shared.domain.port.input.LoggedInUserService;
import fr.avenirsesr.portfolio.student.progress.imported.domain.model.SkillLevelProgress;
import fr.avenirsesr.portfolio.student.progress.imported.domain.port.input.SkillLevelProgressService;
import fr.avenirsesr.portfolio.student.progress.imported.domain.port.output.repository.SkillLevelProgressRepository;
import fr.avenirsesr.portfolio.user.domain.model.Student;
import java.util.List;
import java.util.UUID;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@AllArgsConstructor
public class SkillLevelProgressServiceImpl implements SkillLevelProgressService {
private final SkillLevelProgressRepository skillLevelProgressRepository;
private final LoggedInUserService loggedInUserService;
@Override
public List<SkillLevelProgress> getSkillLevelsBySkillId(UUID skillId) {
Student student = loggedInUserService.getLoggedInStudent();
return skillLevelProgressRepository.findAllByStudentAndSkillId(student, skillId);
}
@Override
public PagedResult<SkillLevelProgress> searchSkillLevel(
String keyword, PageCriteria pageCriteria) {
Student student = loggedInUserService.getLoggedInStudent();
log.debug("Searching SkillLevelProgress for {} with pagination {}", student, pageCriteria);
return skillLevelProgressRepository.findAllByStudent(student, pageCriteria, keyword);
}
}