Central Storage Management System

Acts as the primary entry point and facade for all storage-related operations in the Spotify Skip Tracker application. This module implements a modular architecture for storage management by:

  • Aggregating specialized storage modules into a unified API
  • Providing centralized access to all persistence functions
  • Maintaining separation of concerns through modular design
  • Simplifying imports through re-exporting of specialized functions

The storage system handles multiple data types including:

  • User settings and preferences
  • Skipped tracks and playback history
  • Application logs and debugging information
  • Statistical aggregations and analysis data

This unified interface allows the application to interact with various storage mechanisms through a single, consistent API while maintaining separation of implementation details.

References

saveSettings → saveSettings
getSettings → getSettings
resetSettings → resetSettings
getStatistics → getStatistics
saveStatistics → saveStatistics
calculateUniqueArtistCount → calculateUniqueArtistCount
updateTrackStatistics → updateTrackStatistics
clearStatistics → clearStatistics
analyzeManualVsAutoSkipPatterns → analyzeManualVsAutoSkipPatterns
analyzeListeningContextPatterns → analyzeListeningContextPatterns
analyzeTimeOfDaySkipPatterns → analyzeTimeOfDaySkipPatterns
getStatisticsSummary → getStatisticsSummary
getRecentSkippedTracks → getRecentSkippedTracks
getTopSkippedArtists → getTopSkippedArtists
getRecentSessions → getRecentSessions
exportStatistics → exportStatistics
clearAllStatistics → clearAllStatistics
clearLogs → clearLogs
getAvailableLogFiles → getAvailableLogFiles
getLogs → getLogs
getLogsFromFile → getLogsFromFile
saveLog → saveLog
saveSkippedTracks → saveSkippedTracks
getSkippedTracks → getSkippedTracks
updateSkippedTrack → updateSkippedTrack
updateNotSkippedTrack → updateNotSkippedTrack
removeSkippedTrack → removeSkippedTrack
parseTimestamp → parseTimestamp
filterSkippedTracksByTimeframe → filterSkippedTracksByTimeframe
appDataPath → appDataPath
logsPath → logsPath
skipsPath → skipsPath
settingsFilePath → settingsFilePath
cleanupOldLogs → cleanupOldLogs
initializeStorage → initializeStorage
archiveCurrentLog → archiveCurrentLog