mucke/lib/domain/repositories/music_data_repository.dart
2020-12-19 12:22:57 +01:00

25 lines
No EOL
824 B
Dart

import 'package:dartz/dartz.dart';
import '../../core/error/failures.dart';
import '../entities/album.dart';
import '../entities/artist.dart';
import '../entities/loop_mode.dart';
import '../entities/song.dart';
abstract class MusicDataRepository {
Stream<List<Song>> get songStream;
Stream<List<Song>> getAlbumSongStream(Album album);
Stream<List<Song>> get queueStream;
Stream<int> get currentIndexStream;
Stream<LoopMode> get loopModeStream;
Future<Either<Failure, List<Song>>> getSongs();
Future<Either<Failure, List<Song>>> getSongsFromAlbum(Album album);
Future<Either<Failure, List<Album>>> getAlbums();
Future<Either<Failure, List<Artist>>> getArtists();
Future<void> updateDatabase();
Future<void> setSongBlocked(Song song, bool blocked);
Future<void> toggleNextSongLink(Song song);
}