Untitled

 avatar
unknown
java
9 months ago
1.6 kB
14
Indexable
package com.example.taskmanager.service;

import com.example.taskmanager.dto.TaskDTO;
import com.example.taskmanager.entity.Task;
import com.example.taskmanager.repository.TaskRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;

@Service
public class TaskService {

    @Autowired
    private TaskRepository taskRepository;

    public List<TaskDTO> getAllTasks() {
        return taskRepository.findAll().stream()
                .map(TaskDTO::fromEntity)
                .collect(Collectors.toList());
    }

    public TaskDTO getTaskById(Long id) {
        return taskRepository.findById(id)
                .map(TaskDTO::fromEntity)
                .orElseThrow(() -> new RuntimeException("Task not found"));
    }

    public TaskDTO createTask(TaskDTO dto) {
        Task task = new Task(dto.getTitle(), dto.getDescription(), dto.getPriority());
        return TaskDTO.fromEntity(taskRepository.save(task));
    }

    public TaskDTO updateTask(Long id, TaskDTO dto) {
        Task existing = taskRepository.findById(id)
                .orElseThrow(() -> new RuntimeException("Task not found"));
        existing.setTitle(dto.getTitle());
        existing.setDescription(dto.getDescription());
        existing.setPriority(dto.getPriority());
        return TaskDTO.fromEntity(taskRepository.save(existing));
    }

    public void deleteTask(Long id) {
        taskRepository.deleteById(id);
    }
}
Editor is loading...
Leave a Comment