mucke/lib/system/datasources/music_data_source_contract.dart

26 lines
713 B
Dart
Raw Normal View History

2020-03-24 22:17:03 +01:00
import '../models/album_model.dart';
2020-08-08 19:02:03 +02:00
import '../models/artist_model.dart';
import '../models/song_model.dart';
2020-03-24 22:17:03 +01:00
abstract class MusicDataSource {
Future<List<AlbumModel>> getAlbums();
2020-06-28 10:40:53 +02:00
/// Insert album into the database. Return the ID of the inserted album.
Future<int> insertAlbum(AlbumModel albumModel);
Future<List<SongModel>> getSongs();
Future<List<SongModel>> getSongsFromAlbum(AlbumModel album);
Future<void> insertSong(SongModel songModel);
2020-06-28 10:40:53 +02:00
Future<SongModel> getSongByPath(String path);
2020-08-08 19:02:03 +02:00
Future<void> deleteAllArtists();
Future<int> insertArtist(ArtistModel artistModel);
Future<void> deleteAllAlbums();
Future<void> deleteAllSongs();
Future<List<ArtistModel>> getArtists();
2020-03-24 22:17:03 +01:00
}