Skip to content

Commit df2f69d

Browse files
authored
fix: ZMS-40: marked.spam webhook add verificationResults to payload (#1029)
* ZMS-40: marked.spam webhook add verificationResults to payload * do not return raw bimi
1 parent d90ae09 commit df2f69d

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

webhooks.js

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ module.exports.start = callback => {
170170
subject: true,
171171
mailbox: true,
172172
mimeTree: true,
173-
idate: true
173+
idate: true,
174+
verificationResults: true
174175
}
175176
}
176177
);
@@ -213,6 +214,32 @@ module.exports.start = callback => {
213214
data.messageId = messageData.msgid;
214215
data.subject = messageData.subject;
215216
data.date = messageData.idate.toISOString();
217+
218+
if (messageData.verificationResults) {
219+
data.verificationResults = Object.assign({}, messageData.verificationResults);
220+
221+
if (data.verificationResults.bimi) {
222+
try {
223+
let bimiData = await db.database.collection('bimi').findOne({ _id: data.verificationResults.bimi });
224+
if (bimiData?.content && !bimiData?.error) {
225+
data.bimi = {
226+
certified: bimiData.type === 'authority',
227+
url: bimiData.url,
228+
image: `data:image/svg+xml;base64,${bimiData.content.toString('base64')}`,
229+
type: bimiData.type === 'authority' ? bimiData.vmc?.type || 'VMC' : undefined
230+
};
231+
}
232+
} catch (err) {
233+
log.error('BIMI', 'message=%s error=%s', messageData._id, err.message);
234+
}
235+
236+
delete data.verificationResults.bimi;
237+
}
238+
239+
if (!Object.keys(data.verificationResults).length) {
240+
delete data.verificationResults;
241+
}
242+
}
216243
}
217244

218245
for (let webhook of webhooks) {

0 commit comments

Comments
 (0)