import '../database/db_helper.dart'; import '../models/song.dart'; import '../models/playlist.dart'; class PlaylistService { final DbHelper _db = DbHelper(); Future> allePlaylists() async { final rows = await _db.allePlaylists(); final listen = []; for (final r in rows) { final id = r['id'] as int; final songs = await _db.songsDerPlaylist(id); listen.add(Playlist.fromMap(r, songCount: songs.length)); } return listen; } Future erstellen(String name) async { return _db.playlistErstellen(name); } Future> songs(int playlistId) async { return _db.songsDerPlaylist(playlistId); } Future songHinzufuegen(int playlistId, int songId) async { final songs = await _db.songsDerPlaylist(playlistId); await _db.songZurPlaylist(playlistId, songId, songs.length); } Future songEntfernen(int playlistId, int songId) async { await _db.songAusPlaylistEntfernen(playlistId, songId); } Future reihenfolgeSpeichern(int playlistId, List songs) async { final songIds = songs.map((s) => s.id).whereType().toList(); await _db.playlistReihenfolgeAktualisieren(playlistId, songIds); } Future istInPlaylist(int playlistId, int songId) async { final songs = await _db.songsDerPlaylist(playlistId); return songs.any((s) => s.id == songId); } }