TaskFindAllService.java

package fr.tiogars.chat.domains.task.services;

import java.util.List;

import org.springframework.stereotype.Service;

import fr.tiogars.chat.domains.task.entities.TaskEntity;
import fr.tiogars.chat.domains.task.models.Task;
import fr.tiogars.chat.domains.task.repositories.TaskRepository;

/** Retrieves all Tasks. */
@Service
@org.springframework.transaction.annotation.Transactional(readOnly = true)
public class TaskFindAllService {

    private final TaskRepository repository;

    public TaskFindAllService(TaskRepository repository) {
        this.repository = repository;
    }

    /**
     * Lists all templates ordered by business code.
     *
     * @return templates ordered by code
     */
    public List<Task> findAll() {
        return repository.findAllByOrderByCodeAsc().stream()
                .map(TaskFindAllService::toRecord)
                .toList();
    }

    static Task toRecord(TaskEntity entity) {
        return new Task(
                entity.getId(),
                entity.getCode(),
                entity.getLabel(),
                entity.getDescription(),
                entity.getCreatedDate(),
                entity.getLastModifiedDate(),
                entity.getCreatedBy(),
                entity.getLastModifiedBy(),
                entity.getStatus(), entity.getPriority(), entity.getDueDate(), entity.getAssignedTo(),
                entity.getTagIds(), entity.getNomenclatureId());
    }
}