namespace QuestionsApi.Models; public sealed class DashboardResponse { public int QuestionBankRating { get; set; } = 1000; public int RatedQuestionCount { get; set; } public int CcsRating { get; set; } = 1000; public int RatedCcsCaseCount { get; set; } public int QuestionsCompleted { get; set; } public int CcsCasesCompleted { get; set; } public int FirstAttemptAccuracy { get; set; } public int AccuracySampleSize { get; set; } public int QuestionsThisWeek { get; set; } public int StudyTimeSecondsThisWeek { get; set; } public int CurrentStreak { get; set; } public int MissedQuestionCount { get; set; } public int DynamicReviewsDue { get; set; } public int BookmarkCount { get; set; } public int NoteCount { get; set; } public int FlashcardsDue { get; set; } public int FlashcardsNewAvailable { get; set; } public int FlashcardsReviewedThisWeek { get; set; } public List PerformanceTrend { get; set; } = []; public List Systems { get; set; } = []; public List WeeklyActivity { get; set; } = []; public List RecentActivity { get; set; } = []; } public sealed class DashboardTrendPoint { public DateTime DateUtc { get; set; } public int Correct { get; set; } public int Total { get; set; } public int Accuracy { get; set; } } public sealed class DashboardSystemPerformance { public string System { get; set; } = "General"; public int Correct { get; set; } public int Total { get; set; } public int Accuracy { get; set; } } public sealed class DashboardActivityDay { public DateTime DateUtc { get; set; } public int Questions { get; set; } public int CcsCases { get; set; } public int StudyTimeSeconds { get; set; } } public sealed class DashboardRecentActivity { public string Type { get; set; } = "question"; public string Title { get; set; } = ""; public string Detail { get; set; } = ""; public DateTime OccurredUtc { get; set; } public string Route { get; set; } = ""; }