1 | const base64 = require('js-base64').Base64
|
2 |
|
3 | const formatMessage = message => {
|
4 | let paragraphs
|
5 | let headers = {}
|
6 | const { payload } = message
|
7 | if (payload) {
|
8 | const { parts } = payload
|
9 | if (parts && parts.length && parts[0].body) {
|
10 | paragraphs = base64.decode(parts[0].body.data)
|
11 | }
|
12 | if (payload.headers) {
|
13 | headers = payload.headers.reduce((acc, { name, value }) => {
|
14 | acc[name.toLowerCase()] = value
|
15 | return acc
|
16 | }, {})
|
17 | }
|
18 | }
|
19 | const {
|
20 | id,
|
21 | historyId,
|
22 | snippet,
|
23 | internalDate,
|
24 | labelIds
|
25 | } = message
|
26 | return {
|
27 | headers,
|
28 | paragraphs,
|
29 | id,
|
30 | historyId,
|
31 | snippet,
|
32 | internalDate,
|
33 | labelIds
|
34 | }
|
35 | }
|
36 |
|
37 | const format = messages => messages.map(formatMessage)
|
38 |
|
39 | module.exports = format
|