View Javadoc
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  }