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 @@ -485,19 +485,33 @@ cursor: t.maybe(t.String), }); +const searchMessagesResponseValidator: TInterface = + tShape({ + messages: t.list(rawMessageInfoValidator), + endReached: t.Boolean, + }); + async function searchMessagesResponder( viewer: Viewer, - input: any, + input: mixed, ): Promise { - const request: SearchMessagesRequest = input; - await validateInput(viewer, searchMessagesResponderInputValidator, input); + const request: SearchMessagesRequest = await validateInput( + viewer, + searchMessagesResponderInputValidator, + input, + ); - return await searchMessagesInSingleChat( + const response = await searchMessagesInSingleChat( request.query, request.threadID, viewer, request.cursor, ); + return validateOutput( + viewer.platformDetails, + searchMessagesResponseValidator, + response, + ); } export {