diff --git a/lib/ops/dm-operations-store-ops.js b/lib/ops/dm-operations-store-ops.js --- a/lib/ops/dm-operations-store-ops.js +++ b/lib/ops/dm-operations-store-ops.js @@ -57,4 +57,27 @@ }; } -export { convertDMOperationIntoClientDBDMOperation }; +function convertDMOperationOpsToClientDBOps( + ops: ?$ReadOnlyArray<DMOperationStoreOperation>, +): $ReadOnlyArray<ClientDBDMOperationStoreOperation> { + if (!ops) { + return []; + } + return ops.map(operation => { + if ( + operation.type === 'remove_dm_operations' || + operation.type === 'remove_all_dm_operations' + ) { + return operation; + } + return { + type: 'replace_dm_operation', + payload: convertDMOperationIntoClientDBDMOperation(operation.payload), + }; + }); +} + +export { + convertDMOperationIntoClientDBDMOperation, + convertDMOperationOpsToClientDBOps, +}; diff --git a/lib/shared/redux/client-db-utils.js b/lib/shared/redux/client-db-utils.js --- a/lib/shared/redux/client-db-utils.js +++ b/lib/shared/redux/client-db-utils.js @@ -4,6 +4,7 @@ import { auxUserStoreOpsHandlers } from '../../ops/aux-user-store-ops.js'; import { communityStoreOpsHandlers } from '../../ops/community-store-ops.js'; +import { convertDMOperationOpsToClientDBOps } from '../../ops/dm-operations-store-ops.js'; import { entryStoreOpsHandlers } from '../../ops/entries-store-ops.js'; import { integrityStoreOpsHandlers } from '../../ops/integrity-store-ops.js'; import { keyserverStoreOpsHandlers } from '../../ops/keyserver-store-ops.js'; @@ -76,6 +77,7 @@ outboundP2PMessages, entryStoreOperations, messageSearchStoreOperations, + dmOperationStoreOperations, } = storeOperations; const convertedThreadStoreOperations = @@ -104,6 +106,8 @@ ); const convertedEntryStoreOperations = entryStoreOpsHandlers.convertOpsToClientDBOps(entryStoreOperations); + const convertedDMOperationStoreOperations = + convertDMOperationOpsToClientDBOps(dmOperationStoreOperations); return { draftStoreOperations: draftStoreOperations, @@ -120,6 +124,7 @@ outboundP2PMessages, entryStoreOperations: convertedEntryStoreOperations, messageSearchStoreOperations, + dmOperationStoreOperations: convertedDMOperationStoreOperations, }; }