import 'package:dio/dio.dart'; import '../../models/playlist.dart'; class PlaylistsApi { PlaylistsApi(this._dio); final Dio _dio; /// GET /api/playlists?kind=user|system|all. The server's default kind /// is "user" — passing "all" returns user playlists + system mixes. /// "system" returns just for-you / discover. The mobile UI defaults /// to "all" so users see their generated mixes alongside their own. Future> list({String kind = 'all'}) async { final r = await _dio.get>( '/api/playlists', queryParameters: {'kind': kind}, ); final raw = r.data ?? const []; return raw .map((e) => Playlist.fromJson((e as Map).cast())) .toList(growable: false); } Future get(String id) async { final r = await _dio.get>('/api/playlists/$id'); return PlaylistDetail.fromJson(r.data ?? const {}); } }