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 @@ -10,6 +10,7 @@ #include "MessageSpecs/EditEntryMessageSpec.h" #include "MessageSpecs/MessageSpec.h" #include "MessageSpecs/MultimediaMessageSpec.h" +#include "MessageSpecs/ReactionMessageSpec.h" #include "MessageSpecs/RestoreEntryMessageSpec.h" #include "MessageSpecs/TextMessageSpec.h" #include "MessageSpecs/UnsupportedMessageSpec.h" @@ -39,6 +40,7 @@ UPDATE_RELATIONSHIP, SIDEBAR_SOURCE, CREATE_SIDEBAR, + REACTION, }; const std::map> messageSpecsHolder = @@ -83,6 +85,8 @@ message_specs_initializer.insert( {MessageType::CREATE_SIDEBAR, std::make_unique()}); + message_specs_initializer.insert( + {MessageType::REACTION, std::make_unique()}); return message_specs_initializer; }(); diff --git a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs/ReactionMessageSpec.h b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs/ReactionMessageSpec.h new file mode 100644 --- /dev/null +++ b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs/ReactionMessageSpec.h @@ -0,0 +1,16 @@ +#pragma once + +#include "MessageSpec.h" + +namespace comm { +class ReactionMessageSpec : public MessageSpec { + virtual std::unique_ptr + messageContentForClientDB(const folly::dynamic &rawMessageInfo) override { + folly::dynamic reactionData = folly::dynamic::object( + "targetMessageID", rawMessageInfo["targetMessageID"])( + "reaction", + rawMessageInfo["reaction"])("action", rawMessageInfo["action"]); + return std::make_unique(folly::toJson(reactionData)); + } +}; +} // namespace comm