class CategoryServiceImpl extends BaseTransactionalService implements CategoryService {

    @Override
    @Cacheable(cacheNames="getResearchCategories", key = "#root.methodName", unless = "#result.isFailure()")
    public ServiceResult<List<ResearchCategoryResource>> getResearchCategories() {
        return find(researchCategoryRepository.findAllByOrderByPriorityAsc(), notFoundError(ResearchCategory.class))
                .andOnSuccessReturn(researchCategoryMapper::mapToResource);
    }

}