Merge branch 'main' into edit-date-time-action

This commit is contained in:
Daimolean
2025-07-24 02:12:56 +08:00
committed by GitHub
73 changed files with 2252 additions and 1341 deletions
+32 -7
View File
@@ -26,6 +26,7 @@ final driftBackupServiceProvider = Provider<DriftBackupService>(
),
);
// TODO: Rename to UploadService after removing Isar
class DriftBackupService {
DriftBackupService(
this._backupRepository,
@@ -48,20 +49,39 @@ class DriftBackupService {
return _backupRepository.getTotalCount();
}
Future<int> getRemainderCount() {
return _backupRepository.getRemainderCount();
Future<int> getRemainderCount(String userId) {
return _backupRepository.getRemainderCount(userId);
}
Future<int> getBackupCount() {
return _backupRepository.getBackupCount();
Future<int> getBackupCount(String userId) {
return _backupRepository.getBackupCount(userId);
}
Future<void> manualBackup(List<LocalAsset> localAssets) async {
List<UploadTask> tasks = [];
for (final asset in localAssets) {
final task = await _getUploadTask(
asset,
group: kManualUploadGroup,
priority: 1, // High priority after upload motion photo part
);
if (task != null) {
tasks.add(task);
}
}
if (tasks.isNotEmpty) {
_uploadService.enqueueTasks(tasks);
}
}
Future<void> backup(
String userId,
void Function(EnqueueStatus status) onEnqueueTasks,
) async {
shouldCancel = false;
final candidates = await _backupRepository.getCandidates();
final candidates = await _backupRepository.getCandidates(userId);
if (candidates.isEmpty) {
return;
}
@@ -146,7 +166,11 @@ class DriftBackupService {
}
}
Future<UploadTask?> _getUploadTask(LocalAsset asset) async {
Future<UploadTask?> _getUploadTask(
LocalAsset asset, {
String group = kBackupGroup,
int? priority,
}) async {
final entity = await _storageRepository.getAssetEntityForAsset(asset);
if (entity == null) {
return null;
@@ -192,7 +216,8 @@ class DriftBackupService {
originalFileName: originalFileName,
deviceAssetId: asset.id,
metadata: metadata,
group: kBackupGroup,
group: group,
priority: priority,
);
}