From ba1fc7f3ad617b7df6e6a4fc08d1cbfc526ecb98 Mon Sep 17 00:00:00 2001 From: Andris Reinman Date: Thu, 3 Aug 2017 15:53:21 +0300 Subject: [PATCH] Updated PGP handling --- lib/api/messages.js | 51 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/lib/api/messages.js b/lib/api/messages.js index a41e4b72..892de0c0 100644 --- a/lib/api/messages.js +++ b/lib/api/messages.js @@ -92,6 +92,7 @@ module.exports = (db, server, messageHandler) => { subject: true, 'mimeTree.parsedHeader.from': true, 'mimeTree.parsedHeader.sender': true, + 'mimeTree.parsedHeader.content-type': true, ha: true, intro: true, unseen: true, @@ -172,6 +173,20 @@ module.exports = (db, server, messageHandler) => { draft: messageData.draft, url: server.router.render('message', { user, mailbox, message: messageData.uid }) }; + let parsedContentType = parsedHeader['content-type']; + if (parsedContentType) { + response.contentType = { + value: parsedContentType.value + }; + if (parsedContentType.hasParams) { + response.contentType.params = parsedContentType.params; + } + + if (parsedContentType.subtype === 'encrypted') { + response.encrypted = true; + } + } + return response; }) }; @@ -265,6 +280,7 @@ module.exports = (db, server, messageHandler) => { subject: true, 'mimeTree.parsedHeader.from': true, 'mimeTree.parsedHeader.sender': true, + 'mimeTree.parsedHeader.content-type': true, ha: true, intro: true, unseen: true, @@ -335,6 +351,21 @@ module.exports = (db, server, messageHandler) => { draft: messageData.draft, url: server.router.render('message', { user, mailbox: messageData.mailbox, message: messageData.uid }) }; + + let parsedContentType = parsedHeader['content-type']; + if (parsedContentType) { + response.contentType = { + value: parsedContentType.value + }; + if (parsedContentType.hasParams) { + response.contentType.params = parsedContentType.params; + } + + if (parsedContentType.subtype === 'encrypted') { + response.encrypted = true; + } + } + return response; }) }; @@ -499,7 +530,7 @@ module.exports = (db, server, messageHandler) => { }; ensureSeen(() => { - res.json({ + let response = { success: true, id: message, from: from[0], @@ -521,7 +552,23 @@ module.exports = (db, server, messageHandler) => { return attachment; }), raw: server.router.render('raw', { user, mailbox, message }) - }); + }; + + let parsedContentType = parsedHeader['content-type']; + if (parsedContentType) { + response.contentType = { + value: parsedContentType.value + }; + if (parsedContentType.hasParams) { + response.contentType.params = parsedContentType.params; + } + + if (parsedContentType.subtype === 'encrypted') { + response.encrypted = true; + } + } + + res.json(response); return next(); }); });