104 lines
2.4 KiB
Dart
104 lines
2.4 KiB
Dart
import 'package:aves/model/covers.dart';
|
|
import 'package:aves/model/entry.dart';
|
|
import 'package:aves/model/favourites.dart';
|
|
import 'package:aves/model/filters/filters.dart';
|
|
import 'package:aves/model/metadata/address.dart';
|
|
import 'package:aves/model/metadata/catalog.dart';
|
|
import 'package:aves/model/metadata/trash.dart';
|
|
import 'package:aves/model/video_playback.dart';
|
|
|
|
abstract class MetadataDb {
|
|
int get nextId;
|
|
|
|
Future<void> init();
|
|
|
|
Future<int> dbFileSize();
|
|
|
|
Future<void> reset();
|
|
|
|
Future<void> removeIds(Set<int> ids, {Set<EntryDataType>? dataTypes});
|
|
|
|
// entries
|
|
|
|
Future<void> clearEntries();
|
|
|
|
Future<Set<AvesEntry>> loadAllEntries();
|
|
|
|
Future<void> saveEntries(Iterable<AvesEntry> entries);
|
|
|
|
Future<void> updateEntry(int id, AvesEntry entry);
|
|
|
|
Future<Set<AvesEntry>> searchEntries(String query, {int? limit});
|
|
|
|
Future<Set<AvesEntry>> loadEntries(List<int> ids);
|
|
|
|
// date taken
|
|
|
|
Future<void> clearDates();
|
|
|
|
Future<Map<int?, int?>> loadDates();
|
|
|
|
// catalog metadata
|
|
|
|
Future<void> clearMetadataEntries();
|
|
|
|
Future<List<CatalogMetadata>> loadAllMetadataEntries();
|
|
|
|
Future<void> saveMetadata(Set<CatalogMetadata> metadataEntries);
|
|
|
|
Future<void> updateMetadata(int id, CatalogMetadata? metadata);
|
|
|
|
// address
|
|
|
|
Future<void> clearAddresses();
|
|
|
|
Future<Set<AddressDetails>> loadAllAddresses();
|
|
|
|
Future<void> saveAddresses(Set<AddressDetails> addresses);
|
|
|
|
Future<void> updateAddress(int id, AddressDetails? address);
|
|
|
|
// trash
|
|
|
|
Future<void> clearTrashDetails();
|
|
|
|
Future<Set<TrashDetails>> loadAllTrashDetails();
|
|
|
|
Future<void> updateTrash(int id, TrashDetails? details);
|
|
|
|
// favourites
|
|
|
|
Future<void> clearFavourites();
|
|
|
|
Future<Set<FavouriteRow>> loadAllFavourites();
|
|
|
|
Future<void> addFavourites(Iterable<FavouriteRow> rows);
|
|
|
|
Future<void> updateFavouriteId(int id, FavouriteRow row);
|
|
|
|
Future<void> removeFavourites(Iterable<FavouriteRow> rows);
|
|
|
|
// covers
|
|
|
|
Future<void> clearCovers();
|
|
|
|
Future<Set<CoverRow>> loadAllCovers();
|
|
|
|
Future<void> addCovers(Iterable<CoverRow> rows);
|
|
|
|
Future<void> updateCoverEntryId(int id, CoverRow row);
|
|
|
|
Future<void> removeCovers(Set<CollectionFilter> filters);
|
|
|
|
// video playback
|
|
|
|
Future<void> clearVideoPlayback();
|
|
|
|
Future<Set<VideoPlaybackRow>> loadAllVideoPlayback();
|
|
|
|
Future<VideoPlaybackRow?> loadVideoPlayback(int? id);
|
|
|
|
Future<void> addVideoPlayback(Set<VideoPlaybackRow> rows);
|
|
|
|
Future<void> removeVideoPlayback(Set<int> ids);
|
|
}
|