[sqlite] implement C++ synced metadata store ops
Summary:
Introduces code allowing native to use sqlite synced metadata store ops
Depends on D11417
Test Plan:
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/D11418