diff --git a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp --- a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp +++ b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp @@ -330,6 +330,12 @@ for (auto idx = 0; idx < operations.size(rt); idx++) { auto op = operations.getValueAtIndex(rt, idx).asObject(rt); auto op_type = op.getProperty(rt, "type").asString(rt).utf8(rt); + + if (op_type == REMOVE_ALL_DRAFTS_OPERATION) { + draftStoreOps.push_back(std::make_unique()); + continue; + } + auto payload_obj = op.getProperty(rt, "payload").asObject(rt); if (op_type == UPDATE_DRAFT_OPERATION) { draftStoreOps.push_back( @@ -337,8 +343,6 @@ } else if (op_type == MOVE_DRAFT_OPERATION) { draftStoreOps.push_back( std::make_unique(rt, payload_obj)); - } else if (op_type == REMOVE_ALL_DRAFTS_OPERATION) { - draftStoreOps.push_back(std::make_unique()); } else { throw std::runtime_error("unsupported operation: " + op_type); } @@ -387,7 +391,8 @@ } }); }; - GlobalDBSingleton::instance.scheduleOrRunCancellable(job); + GlobalDBSingleton::instance.scheduleOrRunCancellable( + job, promise, this->jsInvoker_); }); }