mucke/lib/domain/repositories/music_data_repository.dart

22 lines
747 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);
Stream<List<Song>> get queueStream;
2020-12-15 21:09:58 +01:00
Stream<int> get currentIndexStream;
2020-11-15 16:36:50 +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-03-24 22:17:03 +01:00
}