Skip to content
Snippets Groups Projects
Commit 7dc16398 authored by Jan Tymel's avatar Jan Tymel
Browse files

Set questionType when creating a new question

parent f4bd253e
No related branches found
No related tags found
No related merge requests found
package com.example.demo.controller;
import com.example.demo.domain.QuestionnaireLevel;
import com.example.demo.dto.BaseLevelDto;
import com.example.demo.dto.PhaseLevelUpdateDto;
import com.example.demo.dto.QuestionChoiceDto;
......@@ -9,6 +10,7 @@ import com.example.demo.dto.QuestionUpdateDto;
import com.example.demo.dto.TaskUpdateDto;
import com.example.demo.dto.InfoLevelUpdateDto;
import com.example.demo.enums.LevelType;
import com.example.demo.enums.QuestionType;
import com.example.demo.service.LevelOperationsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -191,11 +193,12 @@ public class AdaptiveTrainingDefinitionsRestController {
@ApiResponse(code = 200, message = "Question created"),
@ApiResponse(code = 500, message = "Unexpected application error")
})
@PostMapping(path = "/questionnaires/{questionnaireId}")
@PostMapping(path = "/questionnaires/{questionnaireId}/{questionType}")
public QuestionDto createQuestion(
@ApiParam(value = "Questionnaire ID", required = true) @PathVariable(name = "questionnaireId") Long questionnaireId) {
@ApiParam(value = "Questionnaire ID", required = true) @PathVariable(name = "questionnaireId") Long questionnaireId,
@ApiParam(value = "Questionnaire Type", allowableValues = "FFQ, MCQ, EMI", required = true) @PathVariable(name = "questionType") QuestionType questionType) {
return levelOperationsService.createQuestion(questionnaireId);
return levelOperationsService.createQuestion(questionnaireId, questionType);
}
@ApiOperation(httpMethod = "POST",
......
......@@ -16,6 +16,7 @@ import com.example.demo.dto.TaskDto;
import com.example.demo.dto.TaskUpdateDto;
import com.example.demo.dto.InfoLevelUpdateDto;
import com.example.demo.enums.LevelType;
import com.example.demo.enums.QuestionType;
import com.example.demo.mapper.BeanMapper;
import com.example.demo.repository.BaseLevelRepository;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -144,8 +145,8 @@ public class LevelOperationsService {
taskService.updateTask(task);
}
public QuestionDto createQuestion(Long questionnaireId) {
QuestionDto createdQuestion = questionService.createDefaultQuestion(questionnaireId);
public QuestionDto createQuestion(Long questionnaireId, QuestionType questionType) {
QuestionDto createdQuestion = questionService.createDefaultQuestion(questionnaireId, questionType);
return createdQuestion;
}
......
......@@ -25,7 +25,7 @@ public class QuestionService {
@Autowired
private QuestionRepository questionRepository;
public QuestionDto createDefaultQuestion(Long questionnaireId) {
public QuestionDto createDefaultQuestion(Long questionnaireId, QuestionType questionType) {
Optional<QuestionnaireLevel> questionnaireLevel = questionnaireLevelRepository.findById(questionnaireId);
if (questionnaireLevel.isEmpty()) {
// TODO return 404
......@@ -34,7 +34,7 @@ public class QuestionService {
Question question = new Question();
question.setText("Title of question");
question.setQuestionType(QuestionType.MCQ);
question.setQuestionType(questionType);
question.setQuestionnaireLevel(questionnaireLevel.get());
question.setOrder(questionRepository.getCurrentMaxOrder(questionnaireId) + 1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment