source: src/main/java/com/example/kvizko/service/impl/QuestionServiceImpl.java@ c3268ca

main
Last change on this file since c3268ca was c3268ca, checked in by Stefan Risteski <stefanristeski2001@…>, 9 months ago

Project

The whole Project

  • Property mode set to 100644
File size: 1.6 KB
Line 
1package com.example.kvizko.service.impl;
2
3import com.example.kvizko.models.Question;
4import com.example.kvizko.models.Selectionquestion;
5import com.example.kvizko.repository.QuestionIsPartOfQuizRepository;
6import com.example.kvizko.repository.QuestionRepository;
7import com.example.kvizko.repository.SelectionQuestionRepository;
8import com.example.kvizko.service.QuestionService;
9import org.springframework.stereotype.Service;
10
11import java.util.List;
12import java.util.stream.Collectors;
13
14@Service
15public class QuestionServiceImpl implements QuestionService {
16
17 private final QuestionRepository questionRepository;
18 private final SelectionQuestionRepository selectionQuestionRepository;
19 private final QuestionIsPartOfQuizRepository questionIsPartOfQuizRepository;
20
21 public QuestionServiceImpl(QuestionRepository questionRepository, SelectionQuestionRepository selectionQuestionRepository, QuestionIsPartOfQuizRepository questionIsPartOfQuizRepository) {
22 this.questionRepository = questionRepository;
23 this.selectionQuestionRepository = selectionQuestionRepository;
24 this.questionIsPartOfQuizRepository = questionIsPartOfQuizRepository;
25 }
26
27
28 @Override
29 public List<Question> questionsByQuiz(Long id) {
30 List<Long> questionIDs= questionIsPartOfQuizRepository.findAllByQuestionIsPartOfQuizIdClassQuizid(id).
31 stream().map(obj -> obj.getQuestionIsPartOfQuizIdClass().getQuestionid()).toList();
32
33 List<Long> selection_questionIDs= questionIDs.stream().filter(selectionQuestionRepository::existsById).toList();
34 return questionRepository.findAllById(selection_questionIDs);
35 }
36}
Note: See TracBrowser for help on using the repository browser.