feat: complete delta sync implementation - add allGames, update callers
- Add allRichGames method to DataProvider - Update TripCreationViewModel.loadGamesForBrowsing to use allGames (removes 90-day limit) - Update MockCloudKitService sync methods to use new delta sync signatures - Update MockAppDataProvider with renamed methods and new allGames/allRichGames - Fix all callers: ScheduleViewModel, TripCreationViewModel, SuggestedTripsGenerator, GameMatcher - Update CLAUDE.md documentation with new method names This completes the delta sync implementation: - CloudKit sync now uses modificationDate for proper delta sync - First sync fetches ALL data, subsequent syncs only fetch modified records - "By Games" mode now shows all available games (not just 90 days) - All data types (stadiums, teams, games) use consistent delta sync pattern Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -102,8 +102,9 @@ All code that reads stadiums, teams, games, or league structure MUST use `AppDat
|
||||
// ✅ CORRECT - Use AppDataProvider
|
||||
let stadiums = AppDataProvider.shared.stadiums
|
||||
let teams = AppDataProvider.shared.teams
|
||||
let games = try await AppDataProvider.shared.fetchGames(sports: sports, startDate: start, endDate: end)
|
||||
let richGames = try await AppDataProvider.shared.fetchRichGames(...)
|
||||
let games = try await AppDataProvider.shared.filterGames(sports: sports, startDate: start, endDate: end)
|
||||
let richGames = try await AppDataProvider.shared.filterRichGames(...)
|
||||
let allGames = try await AppDataProvider.shared.allGames(for: sports)
|
||||
|
||||
// ❌ WRONG - Never access CloudKit directly for reads
|
||||
let stadiums = try await CloudKitService.shared.fetchStadiums() // NO!
|
||||
|
||||
Reference in New Issue
Block a user