Changeset View
Changeset View
Standalone View
Standalone View
lib/shared/messages/multimedia-message-spec.js
Show All 19 Lines | |||||
import type { | import type { | ||||
ImagesMessageData, | ImagesMessageData, | ||||
RawImagesMessageInfo, | RawImagesMessageInfo, | ||||
ImagesMessageInfo, | ImagesMessageInfo, | ||||
} from '../../types/messages/images'; | } from '../../types/messages/images'; | ||||
import type { | import type { | ||||
MediaMessageData, | MediaMessageData, | ||||
MediaMessageInfo, | MediaMessageInfo, | ||||
MediaMessageServerDBContent, | |||||
RawMediaMessageInfo, | RawMediaMessageInfo, | ||||
} from '../../types/messages/media'; | } from '../../types/messages/media'; | ||||
import { getMediaMessageServerDBContentsFromMedia } from '../../types/messages/media'; | |||||
import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported'; | import type { RawUnsupportedMessageInfo } from '../../types/messages/unsupported'; | ||||
import type { NotifTexts } from '../../types/notif-types'; | import type { NotifTexts } from '../../types/notif-types'; | ||||
import type { ThreadInfo } from '../../types/thread-types'; | import type { ThreadInfo } from '../../types/thread-types'; | ||||
import type { RelativeUserInfo } from '../../types/user-types'; | import type { RelativeUserInfo } from '../../types/user-types'; | ||||
import { translateClientDBMediaInfoToImage } from '../../utils/message-ops-utils'; | import { translateClientDBMediaInfoToImage } from '../../utils/message-ops-utils'; | ||||
import { | import { | ||||
createMediaMessageInfo, | createMediaMessageInfo, | ||||
messagePreviewText, | messagePreviewText, | ||||
Show All 18 Lines | > = Object.freeze({ | ||||
messageContentForServerDB( | messageContentForServerDB( | ||||
data: | data: | ||||
| MediaMessageData | | MediaMessageData | ||||
| ImagesMessageData | | ImagesMessageData | ||||
| RawMediaMessageInfo | | RawMediaMessageInfo | ||||
| RawImagesMessageInfo, | | RawImagesMessageInfo, | ||||
): string { | ): string { | ||||
if (data.type === messageTypes.MULTIMEDIA) { | if (data.type === messageTypes.MULTIMEDIA) { | ||||
const mediaMessageContents: $ReadOnlyArray<MediaMessageServerDBContent> = data.media.map( | return JSON.stringify( | ||||
media => { | getMediaMessageServerDBContentsFromMedia(data.media), | ||||
if (media.type === 'photo') { | |||||
return { type: 'photo', uploadID: media.id }; | |||||
} else { | |||||
return { | |||||
type: 'video', | |||||
uploadID: media.id, | |||||
thumbnailUploadID: media.thumbnailID, | |||||
}; | |||||
} | |||||
}, | |||||
); | ); | ||||
return JSON.stringify(mediaMessageContents); | |||||
} | } | ||||
const mediaIDs = data.media.map(media => parseInt(media.id, 10)); | const mediaIDs = data.media.map(media => parseInt(media.id, 10)); | ||||
return JSON.stringify(mediaIDs); | return JSON.stringify(mediaIDs); | ||||
}, | }, | ||||
messageContentForClientDB( | messageContentForClientDB( | ||||
data: RawMediaMessageInfo | RawImagesMessageInfo, | data: RawMediaMessageInfo | RawImagesMessageInfo, | ||||
): string { | ): string { | ||||
▲ Show 20 Lines • Show All 288 Lines • Show Last 20 Lines |