completeValidation method
Complete a validation session by setting the result and optionally advancing mastery if the validation was confirmed.
Implementation
Future<void> completeValidation({
required String sessionId,
required String result,
String? topicId,
String? validationTarget,
}) async {
await _client
.from('learning_sessions')
.update({'validation_result': result})
.eq('id', sessionId);
// If confirmed and we know the target, advance mastery.
if (result == 'confirmed' && topicId != null && validationTarget != null) {
await updateProgress(topicId, {
'mastery': validationTarget,
'last_studied_at': DateTime.now().toIso8601String(),
});
// Fire-and-forget: check if any certifications should be auto-issued
_tryIssueCertificates(topicId);
}
}