package repository import ( "context" "Yimaru-Backend/internal/domain" ) // GetLMSUserProgressSnapshot returns all completed lesson, module, course, and program IDs for a user. func (s *Store) GetLMSUserProgressSnapshot(ctx context.Context, userID int64) (domain.LMSUserProgress, error) { lessons, err := s.queries.ListLMSCompletedLessonIDsByUser(ctx, userID) if err != nil { return domain.LMSUserProgress{}, err } mods, err := s.queries.ListLMSCompletedModuleIDsByUser(ctx, userID) if err != nil { return domain.LMSUserProgress{}, err } courses, err := s.queries.ListLMSCompletedCourseIDsByUser(ctx, userID) if err != nil { return domain.LMSUserProgress{}, err } programs, err := s.queries.ListLMSCompletedProgramIDsByUser(ctx, userID) if err != nil { return domain.LMSUserProgress{}, err } return domain.LMSUserProgress{ LessonIDs: lessons, ModuleIDs: mods, CourseIDs: courses, ProgramIDs: programs, }, nil }