Page MenuHomePhabricator

[lib] introduce resetting Outbound P2P Messages to `SQLiteAPI`
ClosedPublic

Authored by kamil on Aug 8 2024, 5:07 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Sep 7, 1:47 PM
Unknown Object (File)
Sat, Sep 7, 1:47 PM
Unknown Object (File)
Sat, Sep 7, 11:37 AM
Unknown Object (File)
Sat, Sep 7, 11:36 AM
Unknown Object (File)
Tue, Sep 3, 9:05 AM
Unknown Object (File)
Mon, Sep 2, 7:46 PM
Unknown Object (File)
Sun, Sep 1, 10:18 AM
Unknown Object (File)
Sat, Aug 31, 11:47 AM
Subscribers

Details

Summary

This diff introduces a shared interface on SQLiteAPI so the JS code in lib can use this API on both platforms.

Depends on D13030

Test Plan

Tested in D13032

Additionally, run this code:

const deviceID = 'deviceID';

await processDBStoreOperations({
  outboundP2PMessages: [
    {
      messageID: 'reset-1',
      deviceID,
      userID: 'user-1',
      timestamp: '1',
      plaintext: 'decrypted-1',
      ciphertext: 'encrypted-1',
      status: 'encrypted',
      supportsAutoRetry: true,
    },
    {
      messageID: 'reset-2',
      deviceID,
      userID: 'user-1',
      timestamp: '1',
      plaintext: 'decrypted-1',
      ciphertext: 'encrypted-1',
      status: 'sent',
      supportsAutoRetry: false,
    },
    {
      messageID: 'reset-3',
      deviceID,
      userID: 'user-1',
      timestamp: '3',
      plaintext: 'decrypted-1',
      ciphertext: 'encrypted-1',
      status: 'encrypted',
      supportsAutoRetry: false,
    },
  ],
});

const before = await sqliteAPI.getAllOutboundP2PMessages();
console.log(before.filter(msg => msg.deviceID === deviceID));
const ids =
  await sqliteAPI.resetOutboundP2PMessagesForDevice(deviceID);
console.log(ids);
const after = await sqliteAPI.getAllOutboundP2PMessages();
console.log(after.filter(msg => msg.deviceID === deviceID));

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable