src/main/java/hexlet/code/service/TaskStatusService.java
package hexlet.code.service;
import hexlet.code.dto.TaskStatusDTO;
import hexlet.code.mapper.TaskStatusMapper;
import hexlet.code.repository.TaskStatusRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public final class TaskStatusService {
@Autowired
private TaskStatusMapper taskStatusMapper;
@Autowired
private TaskStatusRepository taskStatusRepository;
public List<TaskStatusDTO> getAll() {
var taskStatuses = taskStatusRepository.findAll();
return taskStatuses.stream()
.map(taskStatusMapper::map)
.toList();
}
public TaskStatusDTO findById(Long id) {
var taskStatus = taskStatusRepository.findById(id).orElseThrow();
return taskStatusMapper.map(taskStatus);
}
public TaskStatusDTO create(TaskStatusDTO data) {
var taskStatus = taskStatusMapper.map(data);
taskStatusRepository.save(taskStatus);
return taskStatusMapper.map(taskStatus);
}
public TaskStatusDTO update(TaskStatusDTO data, Long id) {
var taskStatus = taskStatusRepository.findById(id).orElseThrow();
taskStatusMapper.update(data, taskStatus);
taskStatusRepository.save(taskStatus);
return taskStatusMapper.map(taskStatus);
}
public void delete(Long id) {
taskStatusRepository.deleteById(id);
}
}