diff --git a/keyserver/src/responders/message-responders.js b/keyserver/src/responders/message-responders.js --- a/keyserver/src/responders/message-responders.js +++ b/keyserver/src/responders/message-responders.js @@ -118,6 +118,7 @@ viewer: Viewer, request: SendMultimediaMessageRequest, ): Promise { + invariant(request.mediaIDs, 'request.mediaIDs should be set'); const { threadID, localID, mediaIDs } = request; if (mediaIDs.length === 0) { throw new ServerError('invalid_parameters'); diff --git a/lib/types/message-types.js b/lib/types/message-types.js --- a/lib/types/message-types.js +++ b/lib/types/message-types.js @@ -67,6 +67,7 @@ import type { MediaMessageData, MediaMessageInfo, + MediaMessageServerDBContent, RawMediaMessageInfo, } from './messages/media'; import type { @@ -499,11 +500,17 @@ +localID?: string, +text: string, }; -export type SendMultimediaMessageRequest = { - +threadID: string, - +localID: string, - +mediaIDs: $ReadOnlyArray, -}; +export type SendMultimediaMessageRequest = + | { + +threadID: string, + +localID: string, + +mediaIDs: $ReadOnlyArray, + } + | { + +threadID: string, + +localID: string, + +mediaMessageContents: $ReadOnlyArray, + }; // Used for the message info included in log-in type actions export type GenericMessagesResult = {