Page MenuHomePhabricator

[sqlite] implement C++ code to get synced metadata
ClosedPublic

Authored by will on Mar 27 2024, 3:31 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 11, 2:11 PM
Unknown Object (File)
Tue, Apr 9, 10:09 PM
Unknown Object (File)
Sat, Apr 6, 1:18 AM
Unknown Object (File)
Tue, Apr 2, 4:18 PM
Unknown Object (File)
Tue, Apr 2, 10:24 AM
Unknown Object (File)
Sun, Mar 31, 3:17 PM
Unknown Object (File)
Sun, Mar 31, 1:02 PM
Unknown Object (File)
Mar 27 2024, 8:13 PM
Subscribers

Details

Summary

Introduces code necessary for native ops for getting the synced metadata store

Depends on D11418

Test Plan

Later diffs will utilize this code to read the synced metadata into redux.

As in the previous diff, ran the following code:

async function run_test() {
  console.log('running run_test()');

  await commCoreModule.processSyncedMetadataStoreOperations([
    {
      type: 'remove_all_synced_metadata',
    },
  ]);

  let data = await commCoreModule.getClientDBStore();
  console.log(data.syncedMetadata);

  await commCoreModule.processSyncedMetadataStoreOperations([
    {
      type: 'replace_synced_metadata_entry',
      payload: {
        name: 'test_B_name',
        data: 'test_B_data',
      },
    },
    {
      type: 'replace_synced_metadata_entry',
      payload: {
        name: 'test_A_name',
        data: 'test_A_data',
      },
    },
    {
      type: 'replace_synced_metadata_entry',
      payload: {
        name: 'test_A_name',
        data: 'test_A_update',
      },
    },
    {
      type: 'remove_synced_metadata',
      payload: { names: ['test_B_name'] },
    },
  ]);

  data = await commCoreModule.getClientDBStore();
  console.log(data.syncedMetadata);
}

And received the correct response of [{"data": "test_A_update", "name": "test_A_name"}]

Screenshot 2024-03-27 at 6.22.06 PM.png (768×846 px, 139 KB)

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable