Files
daily-notification-plugin/ios
Matthew Raymer 082a70f54f feat(ios): implement getSchedules, getSchedule, getConfig, and setConfig methods
Implemented database access methods using UserDefaults:

getSchedules():
- Returns schedules matching optional filters (kind, enabled)
- Filters by schedule type ('fetch' | 'notify')
- Filters by enabled status (true/false/undefined)
- Returns schedules array matching Android API

getSchedule():
- Returns single schedule by ID
- Returns null if not found
- Matches Android getSchedule method

getConfig():
- Returns configuration value by key
- Supports optional timesafariDid for scoped configs
- Returns null if config not found
- Uses UserDefaults with key prefix

setConfig():
- Stores configuration value by key
- Supports optional timesafariDid for scoped configs
- Stores as JSON string in UserDefaults
- Matches Android setConfig method

iOS Adaptations:
- Uses UserDefaults instead of SQLite database
- Config keys prefixed with 'DailyNotificationConfig_'
- DID-scoped configs use composite keys
- JSON serialization for complex values

Progress: 40/52 methods implemented (77% complete)
2025-11-11 02:17:02 -08:00
..