|
|
|
@ -1534,18 +1534,22 @@ async function saveMessage(data, { forceSave } = {}) {
|
|
|
|
|
return toCreate.id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function saveSeenMessageHashes(arrayOfHashes) {
|
|
|
|
|
async function saveSeenMessageHashes(incomingHashes) {
|
|
|
|
|
let promise;
|
|
|
|
|
const hashList = incomingHashes.map(h => h.hash);
|
|
|
|
|
const dupHashes = await getSeenMessagesByHashList(hashList);
|
|
|
|
|
const newHashes = incomingHashes.filter(h => !dupHashes.includes(h.hash));
|
|
|
|
|
|
|
|
|
|
db.serialize(() => {
|
|
|
|
|
promise = Promise.all([
|
|
|
|
|
db.run('BEGIN TRANSACTION;'),
|
|
|
|
|
...map(arrayOfHashes, hashData => saveSeenMessageHash(hashData)),
|
|
|
|
|
...map(newHashes, hashData => saveSeenMessageHash(hashData)),
|
|
|
|
|
db.run('COMMIT TRANSACTION;'),
|
|
|
|
|
]);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
await promise;
|
|
|
|
|
return newHashes;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function saveSeenMessageHash(data) {
|
|
|
|
|