diff --git a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs.h b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs.h --- a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs.h +++ b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs.h @@ -8,6 +8,7 @@ #include "MessageSpecs/CreateThreadMessageSpec.h" #include "MessageSpecs/DeleteEntryMessageSpec.h" #include "MessageSpecs/EditEntryMessageSpec.h" +#include "MessageSpecs/EditMessageSpec.h" #include "MessageSpecs/MessageSpec.h" #include "MessageSpecs/MultimediaMessageSpec.h" #include "MessageSpecs/ReactionMessageSpec.h" @@ -42,6 +43,7 @@ SIDEBAR_SOURCE, CREATE_SIDEBAR, REACTION, + EDIT_MESSAGE, }; const std::map> messageSpecsHolder = @@ -91,6 +93,8 @@ message_specs_initializer.insert( {MessageType::SIDEBAR_SOURCE, std::make_unique()}); + message_specs_initializer.insert( + {MessageType::EDIT_MESSAGE, std::make_unique()}); return message_specs_initializer; }(); diff --git a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs/EditMessageSpec.h b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs/EditMessageSpec.h new file mode 100644 --- /dev/null +++ b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs/EditMessageSpec.h @@ -0,0 +1,15 @@ +#pragma once + +#include "MessageSpec.h" + +namespace comm { +class EditMessageSpec : public MessageSpec { + virtual std::unique_ptr + messageContentForClientDB(const folly::dynamic &rawMessageInfo) override { + folly::dynamic textData = folly::dynamic::object( + "targetMessageID", + rawMessageInfo["targetMessageID"])("text", rawMessageInfo["text"]); + return std::make_unique(folly::toJson(textData)); + } +}; +} // namespace comm