putQuizResponses method

Future<void> putQuizResponses({
  1. required String newStatus,
})

Saved the progression on API

Implementation

Future<void> putQuizResponses({required String newStatus} /* {required bool isUserGoingToNextQuestions, required QuizStepModel currentStep} */) async {
  try {
    if (!mounted) return;

    //assert loading state
    setState(() {
      isChangingStep = true;
    });

    var dataResponses = quiz.getPutQuizResponseInput(newStatus);

    assert(widget.services.putParticipationResponses != null, 'You must provide a putParticipationResponses');
    var res = await widget.services.putParticipationResponses!(data: dataResponses);

    if (!mounted) return;
    setState(() {
      isChangingStep = false;
      quizDetails = res;
      quiz.setUserResponses(res.responses);
      quiz.fillQuizResponse();
    });
  } catch (e, s) {
    debugPrint('Error PUT putQuizResponses: $e, $s');
  }
}