convertToContentDetailDto method
- {required ContentDetails details}
override
Implementation
@override
ContentDetailDto convertToContentDetailDto({
required ContentDetails details,
}) {
final contentType = details.contentType;
switch (contentType) {
case ContentType.docs:
return ContentDetailDto(
contentType: LearningContentType.docs,
videoUrl: null,
documentTitle: details.documentTitle,
document: details.document,
quizContent: null,
);
case ContentType.video:
return ContentDetailDto(
contentType: LearningContentType.video,
videoUrl: details.videoUrl,
documentTitle: null,
document: null,
quizContent: null,
);
case ContentType.quiz:
if (details.question == null) {
throw Exception('クイズコンテンツ詳細が不正です');
}
final quizContent = convertToQuizContentDto(
question: details.question!,
);
return ContentDetailDto(
contentType: LearningContentType.quiz,
videoUrl: null,
documentTitle: null,
document: null,
quizContent: quizContent,
);
default:
throw Exception('学習コンテンツ詳細が不正です');
}
}