namespace GermanApp.Application.DTOs; /// /// DTO for admin user information. /// public record AdminUserDto( int Id, string Username, string Email, string Role, string CurrentLevel, int Streak, int TotalPoints, DateTime CreatedAt); /// /// DTO for user progress report. /// public record UserProgressReportDto( int UserId, string Username, string Email, string CurrentLevel, int TotalLessonsCompleted, int TotalQuizzesCompleted, double AverageQuizScore, int TotalPoints, int CurrentStreak, DateTime LastActivityDate); /// /// DTO for lesson completion status. /// public record LessonCompletionDto( int LessonId, string LessonTitle, string LevelCode, bool IsCompleted, DateTime? CompletedAt); /// /// DTO for user quiz result (for admin reports). /// public record UserQuizResultDto( int QuizId, string QuizTitle, int Score, int PassingScore, bool Passed, DateTime AttemptDate); /// /// DTO for creating a new story via admin. /// public record AdminCreateStoryDto( int LevelId, string Theme, int SegmentCount = 3, bool GenerateAudio = false); /// /// DTO for admin dashboard statistics. /// public record AdminDashboardStatsDto( int TotalUsers, int TotalLessons, int TotalQuizzes, int TotalStorySegments, int ActiveUsersThisWeek, double AverageUserProgress); /// /// DTO for user list item (for admin user management). /// public record AdminUserListItemDto( int Id, string Username, string Email, string Role, string CurrentLevel, int TotalPoints, int Streak, DateTime CreatedAt); /// /// DTO for updating user role (admin only). /// public record UpdateUserRoleDto( string Role);