1 package com.codecool.bytebattlers.service; 2 3 import com.codecool.bytebattlers.controller.dto.CategoryDto; 4 import com.codecool.bytebattlers.mapper.CategoryMapper; 5 import com.codecool.bytebattlers.model.Category; 6 import com.codecool.bytebattlers.repository.CategoryRepository; 7 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.stereotype.Service; 9 10 11 import java.util.List; 12 import java.util.UUID; 13 14 @Service 15 public class CategoryService { 16 private final CategoryRepository categoryRepository; 17 private final CategoryMapper categoryMapper; 18 19 @Autowired 20 public CategoryService(CategoryRepository categoryRepository, CategoryMapper categoryMapper) { 21 this.categoryRepository = categoryRepository; 22 this.categoryMapper = categoryMapper; 23 } 24 25 public List<CategoryDto> findAll() { 26 return categoryRepository.findAll().stream() 27 .map(categoryMapper::toDto).toList(); 28 } 29 30 public CategoryDto save(CategoryDto entity) { 31 Category createdCategory = categoryMapper.toEntity(entity); 32 categoryRepository.save(createdCategory); 33 return categoryMapper.toDto(createdCategory); 34 } 35 36 public CategoryDto findById(UUID publicID) { 37 return categoryMapper 38 .toDto(categoryRepository.findCategoryByPublicID(publicID)); 39 } 40 41 public void deleteById(UUID publicId) { 42 categoryRepository.deleteByPublicID(publicId); 43 } 44 }