mucke/lib/domain/repositories/music_data_repository.dart

21 lines
670 B
Dart
Raw Normal View History

2020-03-24 22:17:03 +01:00
import 'package:dartz/dartz.dart';
2020-03-28 14:35:41 +01:00
import '../../core/error/failures.dart';
2020-03-24 22:17:03 +01:00
import '../entities/album.dart';
2020-08-08 19:02:03 +02:00
import '../entities/artist.dart';
2020-03-28 14:35:41 +01:00
import '../entities/song.dart';
2020-03-24 22:17:03 +01:00
abstract class MusicDataRepository {
2020-11-15 16:36:50 +01:00
Stream<List<Song>> get songStream;
Stream<List<Song>> getAlbumSongStream(Album album);
2020-12-19 12:22:57 +01:00
2020-03-28 14:35:41 +01:00
Future<Either<Failure, List<Song>>> getSongs();
Future<Either<Failure, List<Song>>> getSongsFromAlbum(Album album);
2020-03-24 22:17:03 +01:00
Future<Either<Failure, List<Album>>> getAlbums();
2020-08-08 19:02:03 +02:00
Future<Either<Failure, List<Artist>>> getArtists();
2020-03-24 22:17:03 +01:00
Future<void> updateDatabase();
2020-09-19 17:08:48 +02:00
Future<void> setSongBlocked(Song song, bool blocked);
Future<void> toggleNextSongLink(Song song);
2020-12-21 11:50:46 +01:00
}