mirror of
https://github.com/immich-app/immich.git
synced 2025-08-11 09:16:31 -04:00
41 lines
1.2 KiB
Dart
41 lines
1.2 KiB
Dart
import 'package:background_downloader/background_downloader.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:immich_mobile/constants/constants.dart';
|
|
|
|
final uploadRepositoryProvider = Provider((ref) => UploadRepository());
|
|
|
|
class UploadRepository {
|
|
void Function(TaskStatusUpdate)? onUploadStatus;
|
|
|
|
void Function(TaskProgressUpdate)? onTaskProgress;
|
|
|
|
UploadRepository() {
|
|
FileDownloader().registerCallbacks(
|
|
group: kBackupGroup,
|
|
taskStatusCallback: (update) => onUploadStatus?.call(update),
|
|
taskProgressCallback: (update) => onTaskProgress?.call(update),
|
|
);
|
|
FileDownloader().registerCallbacks(
|
|
group: kBackupLivePhotoGroup,
|
|
taskStatusCallback: (update) => onUploadStatus?.call(update),
|
|
taskProgressCallback: (update) => onTaskProgress?.call(update),
|
|
);
|
|
}
|
|
|
|
void enqueueAll(List<UploadTask> tasks) {
|
|
FileDownloader().enqueueAll(tasks);
|
|
}
|
|
|
|
Future<void> deleteAllTrackingRecords(String group) {
|
|
return FileDownloader().database.deleteAllRecords(group: group);
|
|
}
|
|
|
|
Future<bool> cancelAll(String group) {
|
|
return FileDownloader().cancelAll(group: group);
|
|
}
|
|
|
|
Future<int> reset(String group) {
|
|
return FileDownloader().reset(group: group);
|
|
}
|
|
}
|