import 'package:flutter/foundation.dart'; import 'database.dart'; /// Koordiniert Playlisten- und Favoriten-Operationen; benachrichtigt Listener /// nach jeder Mutation (für Feedback wie SnackBars — die Listen selbst /// beobachten UIs direkt über die watch()-Streams von [MeloDb]). class PlaylistService extends ChangeNotifier { PlaylistService(this.db); final MeloDb db; Future createPlaylist(String name, {String? description}) async { final id = await db.createPlaylist(name, description: description); notifyListeners(); return id; } Future deletePlaylist(String id) async { await db.deletePlaylist(id); notifyListeners(); } Future addSongToPlaylist(String playlistId, String songId, int position) async { await db.addSongToPlaylist(playlistId, songId, position); notifyListeners(); } Future removeSongFromPlaylist(String playlistId, String songId) async { await db.removeSongFromPlaylist(playlistId, songId); notifyListeners(); } Future reorderSong(String playlistId, String songId, int newPosition) async { await db.reorderPlaylistSong(playlistId, songId, newPosition); notifyListeners(); } Future toggleFavorite(String songId) async { await db.toggleFavorite(songId); notifyListeners(); } }