[sqlite] implement C++ code to get synced metadata
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"}]
Reviewers: kamil, ginsu, atul
Reviewed By: kamil
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D11419