mirror of
https://gitlab.com/nkming2/nc-photos.git
synced 2025-02-24 18:38:48 +01:00
Fix not syncing favorites in share folder
This commit is contained in:
parent
42f5ce5a67
commit
aa68035b88
1 changed files with 15 additions and 2 deletions
|
@ -3,6 +3,7 @@ import 'package:nc_photos/account.dart';
|
||||||
import 'package:nc_photos/di_container.dart';
|
import 'package:nc_photos/di_container.dart';
|
||||||
import 'package:nc_photos/entity/file.dart';
|
import 'package:nc_photos/entity/file.dart';
|
||||||
import 'package:nc_photos/entity/file_util.dart' as file_util;
|
import 'package:nc_photos/entity/file_util.dart' as file_util;
|
||||||
|
import 'package:nc_photos/pref.dart';
|
||||||
import 'package:nc_photos/use_case/cache_favorite.dart';
|
import 'package:nc_photos/use_case/cache_favorite.dart';
|
||||||
|
|
||||||
class SyncFavorite {
|
class SyncFavorite {
|
||||||
|
@ -22,10 +23,22 @@ class SyncFavorite {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<List<int>> _getRemoteFavoriteFileIds(Account account) async {
|
Future<List<int>> _getRemoteFavoriteFileIds(Account account) async {
|
||||||
|
final settings = AccountPref.of(account);
|
||||||
|
final shareDir =
|
||||||
|
File(path: file_util.unstripPath(account, settings.getShareFolderOr()));
|
||||||
|
bool isShareDirIncluded = false;
|
||||||
|
|
||||||
final fileIds = <int>[];
|
final fileIds = <int>[];
|
||||||
for (final r in account.roots) {
|
for (final r in account.roots) {
|
||||||
final favorites = await _c.favoriteRepo
|
final dir = File(path: file_util.unstripPath(account, r));
|
||||||
.list(account, File(path: file_util.unstripPath(account, r)));
|
final favorites = await _c.favoriteRepo.list(account, dir);
|
||||||
|
fileIds.addAll(favorites.map((f) => f.fileId));
|
||||||
|
isShareDirIncluded |= file_util.isOrUnderDir(shareDir, dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isShareDirIncluded) {
|
||||||
|
_log.info("[_getRemoteFavoriteFileIds] Explicitly querying share folder");
|
||||||
|
final favorites = await _c.favoriteRepo.list(account, shareDir);
|
||||||
fileIds.addAll(favorites.map((f) => f.fileId));
|
fileIds.addAll(favorites.map((f) => f.fileId));
|
||||||
}
|
}
|
||||||
return fileIds;
|
return fileIds;
|
||||||
|
|
Loading…
Reference in a new issue