getQuizDetails method
Implementation
Future<void> getQuizDetails() async {
//GET quiz response
try {
// si on utilise une clé de participation,
// on appele le details de quiz
if (widget.useParticipationKey == true) {
assert(
widget.services.getParticipationDetails != null,
'You must provide a getDetails if you use ParticapationKey method',
);
var participationResult = await widget.services.getParticipationDetails!();
quizDetails = participationResult;
quiz = QuizModel.initFromParticipationsDTO(participationResult);
checkIntegrity(); //quiz health check
}
// si on n'utilise pas une clé de participation
// c'est que l'on utilise un example de quiz
else if (widget.quizTemplate != null) {
quiz = QuizModel.initFromTemplate(widget.quizTemplate!);
checkIntegrity(); //quiz health check
}
} catch (e, s) {
if (kDebugMode) print('❌ Impossible to getQuizDetails: $e: $s');
widget.logger?.captureException(e, stackTrace: s, scope: "inside QuizEngineState -> Future<void> getQuizDetails()");
await widget.actions?.onParticipationLoadingErrorCallback();
onParticipationLoadingError();
}
if (!mounted) return;
setState(() {
isLoading = false;
});
}