For this reaction message spec boilerplate, I implemented all of the required methods that a message spec requires. This includes the following functions: `messageTitle`, `rawMessageInfoFromClientDB`, `createMessageInfo` and `generatesNotifs`. I also added `messageContentForClientDB` because this goes hand in hand with `rawMessageInfoFromClientDB`.
For `rawMessageInfoFromClientDB`, I return the `targetMessageID` and the `reaction` and these will be in the content of `rawMessageInfoFromClientDB`.
For `messageTitle` I validate the message info and then call and return the results of `messagePreviewText` which was modified in D5689
For `rawMessageInfoFromClientDB` I am returning an object of all the necessary info I get from `clientDBMessageInfo`. This includes getting `targetMessageID` and `reaction` which I get from `content`.
For `createMessageInfo` I am grabbing the necessary information from `rawMessageInfo` and `creator` and returning a `ReactionMessageInfo` object
As I continue to build out this reaction message spec and implement the other parts of message liking, I might be making some changes to these four functions especially as my understanding improves
Will be adding the other necessary functions for this message spec in subsequent diffs
**UPDATE**
Based on some feedback I got on some subsequent diffs, I have removed `targetMessageID` from the `messageContent` in `messageContentForClientDB`. The big change with this update is that we should now be pulling `targetMessageID` from `clientDBMessageInfo` instead of `content`. To accommodate this, I added `target_message_id` to the `ClientDBMessageInfo` type as an optional string, and added `target_message_id` as a null value to all the places where `ClientDBMessageInfo` is being used
---
Depends on D5689
Linear Task: [[ https://linear.app/comm/issue/ENG-2245/setup-message-reaction-spec | ENG-2245 ]]