Page MenuHomePhabricator

D5637.diff
No OneTemporary

D5637.diff

diff --git a/lib/shared/messages/multimedia-message-spec.js b/lib/shared/messages/multimedia-message-spec.js
--- a/lib/shared/messages/multimedia-message-spec.js
+++ b/lib/shared/messages/multimedia-message-spec.js
@@ -36,7 +36,10 @@
import type { NotifTexts } from '../../types/notif-types';
import type { ThreadInfo } from '../../types/thread-types';
import type { RelativeUserInfo } from '../../types/user-types';
-import { translateClientDBMediaInfoToImage } from '../../utils/message-ops-utils';
+import {
+ translateClientDBMediaInfosToMedia,
+ translateClientDBMediaInfoToImage,
+} from '../../utils/message-ops-utils';
import {
createMediaMessageInfo,
messagePreviewText,
@@ -82,9 +85,10 @@
rawMessageInfoFromClientDB(
clientDBMessageInfo: ClientDBMessageInfo,
- ): RawImagesMessageInfo {
+ ): RawImagesMessageInfo | RawMediaMessageInfo {
+ const messageType = assertMessageType(parseInt(clientDBMessageInfo.type));
invariant(
- isMediaMessageType(assertMessageType(parseInt(clientDBMessageInfo.type))),
+ isMediaMessageType(messageType),
'message must be of type IMAGES or MULTIMEDIA',
);
invariant(
@@ -93,23 +97,33 @@
`media_infos must be defined`,
);
- const translatedMedia = clientDBMessageInfo.media_infos.map(
- translateClientDBMediaInfoToImage,
- );
- const rawImagesMessageInfo: RawImagesMessageInfo = {
- type: messageTypes.IMAGES,
- threadID: clientDBMessageInfo.thread,
- creatorID: clientDBMessageInfo.user,
- time: parseInt(clientDBMessageInfo.time),
- media: translatedMedia,
- };
+ const rawMessageInfo: RawImagesMessageInfo | RawMediaMessageInfo =
+ messageType === messageTypes.IMAGES
+ ? {
+ type: messageTypes.IMAGES,
+ threadID: clientDBMessageInfo.thread,
+ creatorID: clientDBMessageInfo.user,
+ time: parseInt(clientDBMessageInfo.time),
+ media:
+ clientDBMessageInfo.media_infos?.map(
+ translateClientDBMediaInfoToImage,
+ ) ?? [],
+ }
+ : {
+ type: messageTypes.MULTIMEDIA,
+ threadID: clientDBMessageInfo.thread,
+ creatorID: clientDBMessageInfo.user,
+ time: parseInt(clientDBMessageInfo.time),
+ media: translateClientDBMediaInfosToMedia(clientDBMessageInfo),
+ };
+
if (clientDBMessageInfo.local_id) {
- rawImagesMessageInfo.localID = clientDBMessageInfo.local_id;
+ rawMessageInfo.localID = clientDBMessageInfo.local_id;
}
if (clientDBMessageInfo.id !== clientDBMessageInfo.local_id) {
- rawImagesMessageInfo.id = clientDBMessageInfo.id;
+ rawMessageInfo.id = clientDBMessageInfo.id;
}
- return rawImagesMessageInfo;
+ return rawMessageInfo;
},
messageTitle({

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 5, 4:08 PM (21 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2244522
Default Alt Text
D5637.diff (2 KB)

Event Timeline