clear last sync time of a collection after it has been deleted

This commit is contained in:
Abhinav 2023-01-30 15:12:17 +05:30
parent 727956cd63
commit 302ca4a082
2 changed files with 15 additions and 7 deletions

View file

@ -60,6 +60,14 @@ const ENDPOINT = getEndpoint();
const COLLECTION_TABLE = 'collections';
const COLLECTION_UPDATION_TIME = 'collection-updation-time';
export const getCollectionLastSyncTime = async (collection: Collection) =>
(await localForage.getItem<number>(`${collection.id}-time`)) ?? 0;
export const setCollectionLastSyncTime = async (
collection: Collection,
time: number
) => await localForage.setItem<number>(`${collection.id}-time`, time);
const getCollectionWithSecrets = async (
collection: EncryptedCollection,
masterKey: string
@ -197,6 +205,8 @@ export const syncCollections = async () => {
if (!collection.isDeleted) {
collections.push(collection);
updationTime = Math.max(updationTime, collection.updationTime);
} else {
setCollectionLastSyncTime(collection, 0);
}
}

View file

@ -19,6 +19,10 @@ import { addLogLine } from 'utils/logging';
import { isCollectionHidden } from 'utils/collection';
import { CustomError } from 'utils/error';
import ComlinkCryptoWorker from 'utils/comlink/ComlinkCryptoWorker';
import {
getCollectionLastSyncTime,
setCollectionLastSyncTime,
} from './collectionService';
const ENDPOINT = getEndpoint();
const FILES_TABLE = 'files';
@ -47,9 +51,6 @@ const setLocalFiles = async (files: EnteFile[]) => {
}
};
const getCollectionLastSyncTime = async (collection: Collection) =>
(await localForage.getItem<number>(`${collection.id}-time`)) ?? 0;
export const syncFiles = async (
collections: Collection[],
setFiles: SetFiles
@ -93,10 +94,7 @@ export const syncFiles = async (
files.push(file);
}
await setLocalFiles(files);
await localForage.setItem(
`${collection.id}-time`,
collection.updationTime
);
setCollectionLastSyncTime(collection, collection.updationTime);
setFiles(preservePhotoswipeProps([...sortFiles(mergeMetadata(files))]));
}
return sortFiles(mergeMetadata(files));