Skip to content

Instantly share code, notes, and snippets.

@SaadArdati
Created November 15, 2019 19:02
Show Gist options
  • Save SaadArdati/6e8fa57a8f380e5dd0f4553504220cde to your computer and use it in GitHub Desktop.
Save SaadArdati/6e8fa57a8f380e5dd0f4553504220cde to your computer and use it in GitHub Desktop.
import 'package:chacha/logic/firebase/chacha_user.dart';
import 'package:chacha/logic/playlist.dart';
import 'package:chacha/logic/track.dart';
import 'package:flutter/foundation.dart';
abstract class FirebaseCommon with ChangeNotifier {
Future<void> initFirebase();
Future<void> initData();
Future<void> signIn();
Future<void> signOut();
List<AbstractTrack> getTracks();
List<DownloadTrack> getDownloadingTracks();
List<PreparingTrack> getPreparingTracks();
List<Playlist> getPlaylists();
/// Used for mobile only
Future<void> downloadTrack(AbstractTrack track);
Future<void> requestTrack(YoutubeTrack youtubeTrack);
Future<void> deleteTrack(AbstractTrack track);
Future<void> deleteTrackByID(String trackID);
Future<void> deleteTracks(List<AbstractTrack> tracks);
Future<void> deleteTracksByID(List<String> tracks);
Future<void> updateTrack(AbstractTrack track);
AbstractTrack getTrackByID(String trackID);
ChaChaUser getUser();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment