Test Suite Control
Unified query helpers & optimized sorting/filtering
Query Optimization Functions
getCombinedFlashcards(email, options)
Parallel query for vocab + writing flashcards with unified filtering
Returns: vocabulary, writing, all, filtered, paginated, totalCount
getCombinedSchedules(email, options)
Parallel query for both schedule types with unified filtering
Returns: vocabulary, writing, all, totalCount
sortFlashcards(cards, sortKey, schedules)
Sort cards: newest | oldest | a-z | z-a | mastery-high | mastery-low
filterFlashcards(cards, criteria)
Filter by: type | category | status | search
cardsWithSchedules(cards, schedules)
Batch operation to attach schedules to all cards at once
✓ Key Optimizations Implemented:
- Parallel queries (Promise.all) for vocab + writing flashcards/schedules
- Unified type discrimination with cardType field
- Reusable sort & filter functions work on merged data
- Batch operation getCardWithSchedule for efficient data joining
- Performance metrics tracking for query analysis
- Client-side pagination support on merged results