(
event: Extract<UpdateEvent, { type: 'new-message' }>,
session: DecryptedSession,
)
| 176 | * Decrypt an incoming new-message update event |
| 177 | */ |
| 178 | export async function decryptMessageUpdate( |
| 179 | event: Extract<UpdateEvent, { type: 'new-message' }>, |
| 180 | session: DecryptedSession, |
| 181 | ): Promise<MessageContent | null> { |
| 182 | if (event.message.content?.t === 'encrypted' && event.message.content.c) { |
| 183 | try { |
| 184 | const decrypted = await decrypt( |
| 185 | session.encryptionKey, |
| 186 | session.encryptionVariant, |
| 187 | decodeBase64(event.message.content.c), |
| 188 | ); |
| 189 | return decrypted as MessageContent | null; |
| 190 | } catch { |
| 191 | return null; |
| 192 | } |
| 193 | } |
| 194 | return null; |
| 195 | } |
no test coverage detected