const
ReviewCard({ - required String id,
- required String userId,
- required String topicId,
- String? chunkId,
- required String cardType,
- required String front,
- required String back,
- required double easinessFactor,
- required int intervalDays,
- required int repetitions,
- required DateTime nextReviewAt,
- DateTime? lastReviewAt,
- int? lastQuality,
- double? stability,
- double? difficulty,
- @Default('new') String state,
- double? lastElapsedDays,
- int? scheduledDays,
- @Default('sm2') String algorithm,
- Map<String, dynamic>? cardData,
})
Implementation
const factory ReviewCard({
required String id,
required String userId,
required String topicId,
String? chunkId,
required String
cardType, // 'concept', 'application', 'comparison', 'code', 'cloze', 'ordering', 'discrimination'
required String front,
required String back,
required double easinessFactor,
required int intervalDays,
required int repetitions,
required DateTime nextReviewAt,
DateTime? lastReviewAt,
int? lastQuality,
// FSRS-specific fields
double? stability,
double? difficulty,
@Default('new') String state, // 'new', 'learning', 'review', 'relearning'
double? lastElapsedDays,
int? scheduledDays,
@Default('sm2') String algorithm, // 'sm2' or 'fsrs'
Map<String, dynamic>? cardData,
}) = _ReviewCard;