Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/responders/message-responders.js
Show First 20 Lines • Show All 235 Lines • ▼ Show 20 Lines | ): Promise<SendMessageResponse> { | ||||
if (!targetMessageInfo || !targetMessageInfo.id) { | if (!targetMessageInfo || !targetMessageInfo.id) { | ||||
throw new ServerError('invalid_parameters'); | throw new ServerError('invalid_parameters'); | ||||
} | } | ||||
const [serverThreadInfos, hasPermission, targetMessageUserInfos] = | const [serverThreadInfos, hasPermission, targetMessageUserInfos] = | ||||
await Promise.all([ | await Promise.all([ | ||||
fetchServerThreadInfos(SQL`t.id = ${threadID}`), | fetchServerThreadInfos(SQL`t.id = ${threadID}`), | ||||
checkThreadPermission(viewer, threadID, threadPermissions.VOICED), | checkThreadPermission( | ||||
viewer, | |||||
threadID, | |||||
threadPermissions.REACT_TO_MESSAGE, | |||||
), | |||||
fetchKnownUserInfos(viewer, [targetMessageInfo.creatorID]), | fetchKnownUserInfos(viewer, [targetMessageInfo.creatorID]), | ||||
]); | ]); | ||||
const targetMessageThreadInfo = serverThreadInfos.threadInfos[threadID]; | const targetMessageThreadInfo = serverThreadInfos.threadInfos[threadID]; | ||||
if (targetMessageThreadInfo.sourceMessageID === targetMessageID) { | if (targetMessageThreadInfo.sourceMessageID === targetMessageID) { | ||||
throw new ServerError('invalid_parameters'); | throw new ServerError('invalid_parameters'); | ||||
} | } | ||||
Show All 38 Lines |