Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/fetchers/message-fetchers.js
Show First 20 Lines • Show All 873 Lines • ▼ Show 20 Lines | ): Promise<$ReadOnlyArray<RawMessageInfo>> { | ||||
if (resultRows.length === 0) { | if (resultRows.length === 0) { | ||||
return []; | return []; | ||||
} | } | ||||
const SQLResult = await parseMessageSQLResult(resultRows, messages, viewer); | const SQLResult = await parseMessageSQLResult(resultRows, messages, viewer); | ||||
return SQLResult.map(item => item.rawMessageInfo); | return SQLResult.map(item => item.rawMessageInfo); | ||||
} | } | ||||
async function rawMessageInfoForRowsAndRelatedMessages( | |||||
rows: $ReadOnlyArray<Object>, | |||||
viewer?: Viewer, | |||||
): Promise<$ReadOnlyArray<RawMessageInfo>> { | |||||
const parsedResults = await parseMessageSQLResult(rows, new Map(), viewer); | |||||
const rawMessageInfoMap = new Map< | |||||
string, | |||||
RawComposableMessageInfo | RawRobotextMessageInfo, | |||||
>(); | |||||
for (const message of parsedResults) { | |||||
const { rawMessageInfo } = message; | |||||
if (isMessageSidebarSourceReactionOrEdit(rawMessageInfo)) { | |||||
continue; | |||||
} | |||||
invariant(rawMessageInfo.id, 'rawMessageInfo.id should not be null'); | |||||
rawMessageInfoMap.set(rawMessageInfo.id, rawMessageInfo); | |||||
} | |||||
const rawMessageInfos = parsedResults.map(item => item.rawMessageInfo); | |||||
const rawRelatedMessageInfos = await fetchRelatedMessages( | |||||
viewer, | |||||
rawMessageInfoMap, | |||||
); | |||||
return [...rawMessageInfos, ...rawRelatedMessageInfos]; | |||||
} | |||||
export { | export { | ||||
fetchCollapsableNotifs, | fetchCollapsableNotifs, | ||||
fetchMessageInfos, | fetchMessageInfos, | ||||
fetchMessageInfosSince, | fetchMessageInfosSince, | ||||
getMessageFetchResultFromRedisMessages, | getMessageFetchResultFromRedisMessages, | ||||
fetchMessageInfoForLocalID, | fetchMessageInfoForLocalID, | ||||
fetchMessageInfoForEntryAction, | fetchMessageInfoForEntryAction, | ||||
fetchMessageInfoByID, | fetchMessageInfoByID, | ||||
fetchThreadMessagesCount, | fetchThreadMessagesCount, | ||||
fetchLatestEditMessageContentByID, | fetchLatestEditMessageContentByID, | ||||
fetchPinnedMessageInfos, | fetchPinnedMessageInfos, | ||||
fetchRelatedMessages, | fetchRelatedMessages, | ||||
rawMessageInfoForRowsAndRelatedMessages, | |||||
}; | }; |