46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
async function getOldestPrivatriids(dbName, storeName) {
|
|
return new Promise((resolve, reject) => {
|
|
const request = indexedDB.open(dbName, 1);
|
|
|
|
request.onsuccess = (event) => {
|
|
const db = event.target.result;
|
|
|
|
const transaction = db.transaction(storeName, "readonly");
|
|
const store = transaction.objectStore(storeName);
|
|
const cursorRequest = store.openCursor();
|
|
const uuidMap = {};
|
|
|
|
cursorRequest.onsuccess = (event) => {
|
|
const cursor = event.target.result;
|
|
if (cursor) {
|
|
const obj = cursor.value;
|
|
|
|
const [uuid, timestamp] = obj.privatriid.split("_");
|
|
|
|
if (!uuidMap[uuid] || Number(timestamp) < uuidMap[uuid].timestamp) {
|
|
uuidMap[uuid] = { privatriid: obj.privatriid, timestamp: Number(timestamp) };
|
|
};
|
|
|
|
cursor.continue();
|
|
} else {
|
|
const result = Object.values(uuidMap).map(event => event.privatriid);
|
|
|
|
resolve(result);
|
|
};
|
|
};
|
|
|
|
cursorRequest.onerror = (event) => reject(event);
|
|
};
|
|
|
|
request.onerror = (event) => reject(event);
|
|
});
|
|
};
|
|
|
|
async function syncronizeBackend(lastConnection) {
|
|
|
|
};
|
|
|
|
export {
|
|
getOldestPrivatriids,
|
|
syncronizeBackend
|
|
}; |