CategoryService.java
package com.codecool.bytebattlers.service;
import com.codecool.bytebattlers.controller.dto.CategoryDto;
import com.codecool.bytebattlers.mapper.CategoryMapper;
import com.codecool.bytebattlers.model.Category;
import com.codecool.bytebattlers.repository.CategoryRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
@Service
public class CategoryService {
private final CategoryRepository categoryRepository;
private final CategoryMapper categoryMapper;
@Autowired
public CategoryService(CategoryRepository categoryRepository, CategoryMapper categoryMapper) {
this.categoryRepository = categoryRepository;
this.categoryMapper = categoryMapper;
}
public List<CategoryDto> findAll() {
return categoryRepository.findAll().stream()
.map(categoryMapper::toDto).toList();
}
public CategoryDto save(CategoryDto entity) {
Category createdCategory = categoryMapper.toEntity(entity);
categoryRepository.save(createdCategory);
return categoryMapper.toDto(createdCategory);
}
public CategoryDto findById(UUID publicID) {
return categoryMapper
.toDto(categoryRepository.findCategoryByPublicID(publicID));
}
public void deleteById(UUID publicId) {
categoryRepository.deleteByPublicID(publicId);
}
}