import 'package:mnemo_cards_common_backend/mnemo_cards_common_backend.dart'; import 'package:mnemo_cards_common/mnemo_cards_common.dart'; extension UserDataModelExtension on UserDataModel { UserDataDto toDto() { return UserDataDto( allWordsStatistics: AllWordsStatisticsDto( words: words.map((model) => model.toDto()).toList(), ), allTestsStatistics: AllTestsStatisticsDto( tests: Map.fromEntries( testsStatistics.map( (model) => MapEntry(model.id!, model.toDto()), ), ), lastSessionToken: this.lastTestSessionToken, ), // NEW STATISTICS FIELDS lastTimeOnline: lastTimeOnline, totalStudyTimeMinutes: totalStudyTimeMinutes, currentStreak: currentStreak, longestStreak: longestStreak, packProgress: { for (final progress in packProgress) progress.packId: progress.toDto() }, studyDates: List.from(studyDates), categoryMinutes: Map.from(categoryMinutes), achievements: achievements.map((model) => model.toDto()).toList(), ); } }