added cargo files
This commit is contained in:
70
PinePods-0.8.2/mobile/lib/repository/repository.dart
Normal file
70
PinePods-0.8.2/mobile/lib/repository/repository.dart
Normal file
@@ -0,0 +1,70 @@
|
||||
// Copyright 2020 Ben Hills and the project contributors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:pinepods_mobile/entities/episode.dart';
|
||||
import 'package:pinepods_mobile/entities/podcast.dart';
|
||||
import 'package:pinepods_mobile/entities/transcript.dart';
|
||||
import 'package:pinepods_mobile/state/episode_state.dart';
|
||||
|
||||
/// An abstract class that represent the actions supported by the chosen
|
||||
/// database or storage implementation.
|
||||
abstract class Repository {
|
||||
/// General
|
||||
Future<void> close();
|
||||
|
||||
/// Podcasts
|
||||
Future<Podcast?> findPodcastById(num id);
|
||||
|
||||
Future<Podcast?> findPodcastByGuid(String guid);
|
||||
|
||||
Future<Podcast> savePodcast(Podcast podcast, {bool withEpisodes = true});
|
||||
|
||||
Future<void> deletePodcast(Podcast podcast);
|
||||
|
||||
Future<List<Podcast>> subscriptions();
|
||||
|
||||
/// Episodes
|
||||
Future<List<Episode>> findAllEpisodes();
|
||||
|
||||
Future<Episode?> findEpisodeById(int id);
|
||||
|
||||
Future<Episode?> findEpisodeByGuid(String guid);
|
||||
|
||||
Future<List<Episode?>> findEpisodesByPodcastGuid(
|
||||
String pguid, {
|
||||
PodcastEpisodeFilter filter = PodcastEpisodeFilter.none,
|
||||
PodcastEpisodeSort sort = PodcastEpisodeSort.none,
|
||||
});
|
||||
|
||||
Future<Episode?> findEpisodeByTaskId(String taskId);
|
||||
|
||||
Future<Episode> saveEpisode(Episode episode, [bool updateIfSame = false]);
|
||||
|
||||
Future<List<Episode>> saveEpisodes(List<Episode> episodes, [bool updateIfSame = false]);
|
||||
|
||||
Future<void> deleteEpisode(Episode episode);
|
||||
|
||||
Future<void> deleteEpisodes(List<Episode> episodes);
|
||||
|
||||
Future<List<Episode>> findDownloadsByPodcastGuid(String pguid);
|
||||
|
||||
Future<List<Episode>> findDownloads();
|
||||
|
||||
Future<Transcript?> findTranscriptById(int id);
|
||||
|
||||
Future<Transcript> saveTranscript(Transcript transcript);
|
||||
|
||||
Future<void> deleteTranscriptById(int id);
|
||||
|
||||
Future<void> deleteTranscriptsById(List<int> id);
|
||||
|
||||
/// Queue
|
||||
Future<void> saveQueue(List<Episode> episodes);
|
||||
|
||||
Future<List<Episode>> loadQueue();
|
||||
|
||||
/// Event listeners
|
||||
Stream<Podcast>? podcastListener;
|
||||
Stream<EpisodeState>? episodeListener;
|
||||
}
|
||||
Reference in New Issue
Block a user