Spotify Library Management Service

This module provides functionality for interacting with the user's Spotify library, focusing on track management operations such as checking saved status, liking, and unliking tracks.

Features:

  • Check if tracks are saved in the user's library
  • Add tracks to the user's library (like/save)
  • Remove tracks from the user's library (unlike/unsave)
  • Silent operation mode for background checks
  • Automatic token validation before API calls
  • Comprehensive error handling with optional silent mode
  • Automatic retry for API request failures

The library management functionality is essential for implementing features such as track favoriting, checking save status in playlists, and synchronizing local application state with the user's Spotify library.

Usage:

import {
isTrackInLibrary,
likeTrack,
unlikeTrack
} from '@/services/spotify/library';

// Check if a track is saved
const isSaved = await isTrackInLibrary('spotify:track:id');

// Like and unlike tracks
await likeTrack('spotify:track:id');
await unlikeTrack('spotify:track:id');

Functions

isTrackInLibrary
likeTrack
unlikeTrack