Skip to content

Commit

Permalink
improve methods in service
Browse files Browse the repository at this point in the history
  • Loading branch information
vlambo3 committed May 9, 2024
1 parent 40e3362 commit 507766c
Showing 1 changed file with 37 additions and 38 deletions.
75 changes: 37 additions & 38 deletions src/main/java/com/dh/TaskManager/service/impl/TaskService.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ public TaskService(ITaskRepository taskRepository, ObjectMapper objectMapper) {
/**
* Crea una nueva tarea utilizando los datos proporcionados en el objeto TaskRequestDTO.
*
* @param taskDTO El objeto TaskRequestDTO que contiene los datos de la tarea a crear.
* @param taskRequestDTO El objeto TaskRequestDTO que contiene los datos de la tarea a crear.
* @return TaskResponseDTO El objeto TaskResponseDTO correspondiente a la tarea creada.
*/
@Override
public TaskResponseDTO createTask(TaskRequestDTO taskDTO) {
Task task = objectMapper.convertValue(taskDTO, Task.class);
Task taskSaved = taskRepository.save(task);
return objectMapper.convertValue(taskSaved, TaskResponseDTO.class);
public TaskResponseDTO createTask(TaskRequestDTO taskRequestDTO) {
Task task = mapToEntity(taskRequestDTO);
taskRepository.save(task);
return mapToDTO(task);
}

/**
Expand All @@ -59,13 +59,10 @@ public TaskResponseDTO createTask(TaskRequestDTO taskDTO) {
*/
@Override
public TaskResponseDTO getTaskById(Long id) {
Task task = taskRepository.findById(id)
.orElse(null);

if (task != null) {
return mapToDTO(task);
}
throw new NotFoundException(NOT_FOUND_MESSAGE);
Task task = taskRepository.findById(id).orElseThrow(
() -> new NotFoundException(NOT_FOUND_MESSAGE)
);
return mapToDTO(task);

}

Expand All @@ -81,7 +78,7 @@ public List<TaskResponseDTO> getAllTasks() {
return taskRepository.findAll()
.stream() // Inicia un flujo de datos sobre la lista de tareas
.map(this::mapToDTO) // Mapea cada tarea a un objeto TaskResponseDTO utilizando un método de referencia
.collect(Collectors.toList()); // Recopila los resultados en una lista
.toList(); // Recopila los resultados en una lista
}

/**
Expand All @@ -96,39 +93,31 @@ public List<TaskResponseDTO> getAllTasks() {
* TaskRequestToUpdateDTO. Si la tarea existe, se actualizan sus datos con los valores proporcionados
* en el objeto TaskRequestToUpdateDTO, y luego se guarda la tarea actualizada en la base de datos.
* *
* @param taskRequestDTO El objeto TaskRequestToUpdateDTO que contiene los datos actualizados de la tarea.
* @param taskRequestToUpdateDTO El objeto TaskRequestToUpdateDTO que contiene los datos actualizados de la tarea.
* @return TaskResponseDTO El objeto TaskResponseDTO correspondiente a la tarea actualizada.
* @throws NotFoundException Si no se encuentra ninguna tarea con el identificador proporcionado.
*/
@Override
@Transactional
public TaskResponseDTO updateTask(TaskRequestToUpdateDTO taskRequestDTO) {
Task task = taskRepository.findById(taskRequestDTO.getId())
.orElse(null);

if (task != null) {
task.setTitle(taskRequestDTO.getTitle());
task.setDescription(taskRequestDTO.getDescription());

taskRepository.save(task);
return mapToDTO(task);
}
throw new NotFoundException(NOT_FOUND_MESSAGE);
public TaskResponseDTO updateTask(TaskRequestToUpdateDTO taskRequestToUpdateDTO) {
getTaskById(taskRequestToUpdateDTO.getId());
return mapToDTO(taskRepository.save(mapToEntity(taskRequestToUpdateDTO)));
}

/**
* Elimina una tarea por su identificador único.
*
* @param id Identificador único de la tarea a eliminar.
*
* @throws NotFoundException Si no se encuentra ninguna tarea con el identificador proporcionado. *
*/
@Override
public void deleteTaskById(Long id) {
// Busca la tarea en la base de datos utilizando el identificador proporcionado
Task task = taskRepository.findById(id)
.orElse(null);
getTaskById(id);

// Si la tarea existe, actualiza sus datos y guarda la tarea actualizada en la base de datos
if (task != null) {
taskRepository.delete(task);
}

// Si la tarea no existe, lanza una excepción NotFoundException
throw new NotFoundException(NOT_FOUND_MESSAGE);
taskRepository.deleteById(id);
}

/**
Expand All @@ -142,12 +131,22 @@ private TaskResponseDTO mapToDTO(Task task) {
}

/**
* Convierte un objeto de tipo TaskResponseDTO a un objeto de tipo Task.
* Convierte un objeto de tipo TaskRequestDTO a un objeto de tipo Task.
*
* @param taskRequestDTO El objeto de tipo TaskRequestDTO a convertir.
* @return Task El objeto Task resultante de la conversión.
*/
private Task mapToEntity(TaskRequestDTO taskRequestDTO) {
return objectMapper.convertValue(taskRequestDTO, Task.class);
}

/**
* Convierte un objeto de tipo TaskRequestDTO a un objeto de tipo Task.
*
* @param taskResponseDTO El objeto de tipo TaskResponseDTO a convertir.
* @param taskRequestUpdateDTO El objeto de tipo TaskRequestDTO a convertir.
* @return Task El objeto Task resultante de la conversión.
*/
private Task mapToEntity(TaskResponseDTO taskResponseDTO) {
return objectMapper.convertValue(taskResponseDTO, Task.class);
private Task mapToEntity(TaskRequestToUpdateDTO taskRequestUpdateDTO) {
return objectMapper.convertValue(taskRequestUpdateDTO, Task.class);
}
}

0 comments on commit 507766c

Please sign in to comment.