@teleporthq/teleport-plugin-next-workflows 0.44.9 → 0.44.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/ai-error-contract.test.ts +10 -0
- package/__tests__/continue-on-error.test.ts +27 -0
- package/__tests__/email-node-recipients.test.ts +288 -0
- package/__tests__/sent-email-log-module.test.ts +54 -0
- package/dist/cjs/executor-generator.d.ts.map +1 -1
- package/dist/cjs/executor-generator.js +4 -1
- package/dist/cjs/executor-generator.js.map +1 -1
- package/dist/cjs/nodes/email/email-mailersend.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-mailersend.js +55 -48
- package/dist/cjs/nodes/email/email-mailersend.js.map +1 -1
- package/dist/cjs/nodes/email/email-mailgun.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-mailgun.js +44 -32
- package/dist/cjs/nodes/email/email-mailgun.js.map +1 -1
- package/dist/cjs/nodes/email/email-postmark.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-postmark.js +44 -31
- package/dist/cjs/nodes/email/email-postmark.js.map +1 -1
- package/dist/cjs/nodes/email/email-recipients.d.ts +28 -0
- package/dist/cjs/nodes/email/email-recipients.d.ts.map +1 -0
- package/dist/cjs/nodes/email/email-recipients.js +74 -0
- package/dist/cjs/nodes/email/email-recipients.js.map +1 -0
- package/dist/cjs/nodes/email/email-resend.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-resend.js +42 -28
- package/dist/cjs/nodes/email/email-resend.js.map +1 -1
- package/dist/cjs/nodes/email/email-sendgrid.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-sendgrid.js +56 -41
- package/dist/cjs/nodes/email/email-sendgrid.js.map +1 -1
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -1
- package/dist/cjs/sent-email-log/sent-email-log-code.js +17 -1
- package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/executor-generator.d.ts.map +1 -1
- package/dist/esm/executor-generator.js +4 -1
- package/dist/esm/executor-generator.js.map +1 -1
- package/dist/esm/nodes/email/email-mailersend.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-mailersend.js +55 -48
- package/dist/esm/nodes/email/email-mailersend.js.map +1 -1
- package/dist/esm/nodes/email/email-mailgun.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-mailgun.js +44 -32
- package/dist/esm/nodes/email/email-mailgun.js.map +1 -1
- package/dist/esm/nodes/email/email-postmark.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-postmark.js +44 -31
- package/dist/esm/nodes/email/email-postmark.js.map +1 -1
- package/dist/esm/nodes/email/email-recipients.d.ts +28 -0
- package/dist/esm/nodes/email/email-recipients.d.ts.map +1 -0
- package/dist/esm/nodes/email/email-recipients.js +71 -0
- package/dist/esm/nodes/email/email-recipients.js.map +1 -0
- package/dist/esm/nodes/email/email-resend.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-resend.js +42 -28
- package/dist/esm/nodes/email/email-resend.js.map +1 -1
- package/dist/esm/nodes/email/email-sendgrid.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-sendgrid.js +56 -41
- package/dist/esm/nodes/email/email-sendgrid.js.map +1 -1
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -1
- package/dist/esm/sent-email-log/sent-email-log-code.js +17 -1
- package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/executor-generator.ts +4 -1
- package/src/nodes/email/email-mailersend.ts +72 -55
- package/src/nodes/email/email-mailgun.ts +51 -36
- package/src/nodes/email/email-postmark.ts +51 -35
- package/src/nodes/email/email-recipients.ts +86 -0
- package/src/nodes/email/email-resend.ts +49 -31
- package/src/nodes/email/email-sendgrid.ts +63 -44
- package/src/sent-email-log/sent-email-log-code.ts +17 -1
|
@@ -1,46 +1,56 @@
|
|
|
1
1
|
import { EmailSender } from '@teleporthq/teleport-shared';
|
|
2
2
|
import { handlerToString } from '../types';
|
|
3
3
|
import { assertHandlerHasNoModuleRefs } from '../analytics/commerce-tracking';
|
|
4
|
+
import { EMAIL_RECIPIENTS_HELPER_SOURCE } from './email-recipients';
|
|
4
5
|
async function email_resend(config, context) {
|
|
5
6
|
const apiKey = config.apiKey;
|
|
6
7
|
const from = config.from;
|
|
7
8
|
const fromName = config.fromName;
|
|
8
|
-
const to = config.to;
|
|
9
9
|
const subject = config.subject;
|
|
10
10
|
const body = config.body;
|
|
11
11
|
const replyTo = config.replyTo;
|
|
12
12
|
const cc = config.cc;
|
|
13
13
|
const bcc = config.bcc;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
const recipients = __emailRecipients(config.to);
|
|
15
|
+
async function sendTo(to) {
|
|
16
|
+
try {
|
|
17
|
+
const __nodeRequire = typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : require;
|
|
18
|
+
const Resend = __nodeRequire('resend').Resend;
|
|
19
|
+
const resend = new Resend(apiKey);
|
|
20
|
+
const payload = {
|
|
21
|
+
from: __emailSender({ from, name: fromName }).header,
|
|
22
|
+
to: [to],
|
|
23
|
+
subject,
|
|
24
|
+
html: body,
|
|
25
|
+
};
|
|
26
|
+
if (replyTo) {
|
|
27
|
+
// Resend SDK input uses the camelCase `replyTo` key (it maps to the
|
|
28
|
+
// on-the-wire `reply_to` internally); a snake_case key is silently dropped.
|
|
29
|
+
payload.replyTo = replyTo;
|
|
30
|
+
}
|
|
31
|
+
if (cc) {
|
|
32
|
+
payload.cc = Array.isArray(cc) ? cc : [cc];
|
|
33
|
+
}
|
|
34
|
+
if (bcc) {
|
|
35
|
+
payload.bcc = Array.isArray(bcc) ? bcc : [bcc];
|
|
36
|
+
}
|
|
37
|
+
const data = await resend.emails.send(payload);
|
|
38
|
+
if (data.error) {
|
|
39
|
+
return { id: '', success: false, error: data.error.message || 'Failed to send email' };
|
|
40
|
+
}
|
|
41
|
+
return { id: (data.data && data.data.id) || '', success: true };
|
|
28
42
|
}
|
|
29
|
-
|
|
30
|
-
|
|
43
|
+
catch (err) {
|
|
44
|
+
return { id: '', success: false, error: err.message };
|
|
31
45
|
}
|
|
32
|
-
if (bcc) {
|
|
33
|
-
payload.bcc = Array.isArray(bcc) ? bcc : [bcc];
|
|
34
|
-
}
|
|
35
|
-
const data = await resend.emails.send(payload);
|
|
36
|
-
if (data.error) {
|
|
37
|
-
return { id: '', success: false, error: data.error.message || 'Failed to send email' };
|
|
38
|
-
}
|
|
39
|
-
return { id: (data.data && data.data.id) || '', success: true };
|
|
40
46
|
}
|
|
41
|
-
|
|
42
|
-
return { id: '', success: false, error:
|
|
47
|
+
if (recipients.length === 0) {
|
|
48
|
+
return { id: '', success: false, error: 'No recipient' };
|
|
49
|
+
}
|
|
50
|
+
if (recipients.length === 1) {
|
|
51
|
+
return sendTo(recipients[0]);
|
|
43
52
|
}
|
|
53
|
+
return __emailDeliveries({ recipients, send: sendTo, idKey: 'id' });
|
|
44
54
|
}
|
|
45
55
|
export const emailResend = {
|
|
46
56
|
nodeType: 'email-resend',
|
|
@@ -49,7 +59,11 @@ export const emailResend = {
|
|
|
49
59
|
resend: '^4.0.0',
|
|
50
60
|
},
|
|
51
61
|
generateHandler() {
|
|
52
|
-
return assertHandlerHasNoModuleRefs(handlerToString(email_resend) +
|
|
62
|
+
return assertHandlerHasNoModuleRefs(handlerToString(email_resend) +
|
|
63
|
+
'\n' +
|
|
64
|
+
EmailSender.generateEmailSenderHelperCode() +
|
|
65
|
+
'\n' +
|
|
66
|
+
EMAIL_RECIPIENTS_HELPER_SOURCE, 'email-resend');
|
|
53
67
|
},
|
|
54
68
|
};
|
|
55
69
|
//# sourceMappingURL=email-resend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-resend.js","sourceRoot":"","sources":["../../../../src/nodes/email/email-resend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAwB,eAAe,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"email-resend.js","sourceRoot":"","sources":["../../../../src/nodes/email/email-resend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-sendgrid.d.ts","sourceRoot":"","sources":["../../../../src/nodes/email/email-sendgrid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"email-sendgrid.d.ts","sourceRoot":"","sources":["../../../../src/nodes/email/email-sendgrid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAiFhE,eAAO,MAAM,aAAa,EAAE,oBAgB3B,CAAA"}
|
|
@@ -1,59 +1,70 @@
|
|
|
1
1
|
import { EmailSender } from '@teleporthq/teleport-shared';
|
|
2
2
|
import { handlerToString } from '../types';
|
|
3
3
|
import { assertHandlerHasNoModuleRefs } from '../analytics/commerce-tracking';
|
|
4
|
+
import { EMAIL_RECIPIENTS_HELPER_SOURCE } from './email-recipients';
|
|
4
5
|
async function email_sendgrid(config, context) {
|
|
5
6
|
const apiKey = config.apiKey;
|
|
6
7
|
const from = config.from;
|
|
7
8
|
const fromName = config.fromName;
|
|
8
|
-
const to = config.to;
|
|
9
9
|
const subject = config.subject;
|
|
10
10
|
const body = config.body;
|
|
11
11
|
const replyTo = config.replyTo;
|
|
12
12
|
const cc = config.cc;
|
|
13
13
|
const bcc = config.bcc;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
14
|
+
const recipients = __emailRecipients(config.to);
|
|
15
|
+
async function sendTo(to) {
|
|
16
|
+
try {
|
|
17
|
+
const __nodeRequire = typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : require;
|
|
18
|
+
const MailService = __nodeRequire('@sendgrid/mail').MailService;
|
|
19
|
+
const sgMail = new MailService();
|
|
20
|
+
sgMail.setApiKey(apiKey);
|
|
21
|
+
// SendGrid reads a "Name <email>" string's name verbatim, quotes included,
|
|
22
|
+
// so a named sender goes as its two parts.
|
|
23
|
+
const sender = __emailSender({ from, name: fromName });
|
|
24
|
+
const msg = {
|
|
25
|
+
to: [to],
|
|
26
|
+
from: sender.name ? { email: sender.email, name: sender.name } : sender.email,
|
|
27
|
+
subject,
|
|
28
|
+
html: body,
|
|
29
|
+
};
|
|
30
|
+
if (replyTo) {
|
|
31
|
+
msg.replyTo = replyTo;
|
|
32
|
+
}
|
|
33
|
+
if (cc) {
|
|
34
|
+
msg.cc = Array.isArray(cc) ? cc : [cc];
|
|
35
|
+
}
|
|
36
|
+
if (bcc) {
|
|
37
|
+
msg.bcc = Array.isArray(bcc) ? bcc : [bcc];
|
|
38
|
+
}
|
|
39
|
+
const response = await sgMail.send(msg);
|
|
40
|
+
const statusCode = response && response[0] && response[0].statusCode;
|
|
41
|
+
const messageId = (response && response[0] && response[0].headers && response[0].headers['x-message-id']) ||
|
|
42
|
+
'';
|
|
43
|
+
return { messageId, success: statusCode === 202 || statusCode === 200 };
|
|
30
44
|
}
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
catch (err) {
|
|
46
|
+
const error = err;
|
|
47
|
+
let message = 'Failed to send email';
|
|
48
|
+
if (error.response && error.response.body && error.response.body.errors) {
|
|
49
|
+
message = error.response.body.errors
|
|
50
|
+
.map(function (e) {
|
|
51
|
+
return e.message;
|
|
52
|
+
})
|
|
53
|
+
.join(', ');
|
|
54
|
+
}
|
|
55
|
+
else if (error.message) {
|
|
56
|
+
message = error.message;
|
|
57
|
+
}
|
|
58
|
+
return { messageId: '', success: false, error: message };
|
|
33
59
|
}
|
|
34
|
-
if (bcc) {
|
|
35
|
-
msg.bcc = Array.isArray(bcc) ? bcc : [bcc];
|
|
36
|
-
}
|
|
37
|
-
const response = await sgMail.send(msg);
|
|
38
|
-
const statusCode = response && response[0] && response[0].statusCode;
|
|
39
|
-
const messageId = (response && response[0] && response[0].headers && response[0].headers['x-message-id']) || '';
|
|
40
|
-
return { messageId, success: statusCode === 202 || statusCode === 200 };
|
|
41
60
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
.map(function (e) {
|
|
48
|
-
return e.message;
|
|
49
|
-
})
|
|
50
|
-
.join(', ');
|
|
51
|
-
}
|
|
52
|
-
else if (error.message) {
|
|
53
|
-
message = error.message;
|
|
54
|
-
}
|
|
55
|
-
return { messageId: '', success: false, error: message };
|
|
61
|
+
if (recipients.length === 0) {
|
|
62
|
+
return { messageId: '', success: false, error: 'No recipient' };
|
|
63
|
+
}
|
|
64
|
+
if (recipients.length === 1) {
|
|
65
|
+
return sendTo(recipients[0]);
|
|
56
66
|
}
|
|
67
|
+
return __emailDeliveries({ recipients, send: sendTo, idKey: 'messageId' });
|
|
57
68
|
}
|
|
58
69
|
export const emailSendgrid = {
|
|
59
70
|
nodeType: 'email-sendgrid',
|
|
@@ -62,7 +73,11 @@ export const emailSendgrid = {
|
|
|
62
73
|
'@sendgrid/mail': '^8.0.0',
|
|
63
74
|
},
|
|
64
75
|
generateHandler() {
|
|
65
|
-
return assertHandlerHasNoModuleRefs(handlerToString(email_sendgrid) +
|
|
76
|
+
return assertHandlerHasNoModuleRefs(handlerToString(email_sendgrid) +
|
|
77
|
+
'\n' +
|
|
78
|
+
EmailSender.generateEmailSenderHelperCode() +
|
|
79
|
+
'\n' +
|
|
80
|
+
EMAIL_RECIPIENTS_HELPER_SOURCE, 'email-sendgrid');
|
|
66
81
|
},
|
|
67
82
|
};
|
|
68
83
|
//# sourceMappingURL=email-sendgrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-sendgrid.js","sourceRoot":"","sources":["../../../../src/nodes/email/email-sendgrid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAwB,eAAe,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"email-sendgrid.js","sourceRoot":"","sources":["../../../../src/nodes/email/email-sendgrid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAwB,eAAe,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,8BAA8B,EAAuB,MAAM,oBAAoB,CAAA;AASxF,KAAK,UAAU,cAAc,CAAC,MAAW,EAAE,OAAgC;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IACpB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACtB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAE/C,KAAK,UAAU,MAAM,CAAC,EAAW;QAC/B,IAAI;YACF,MAAM,aAAa,GACjB,OAAO,uBAAuB,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAA;YACpF,MAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAA;YAC/D,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAA;YAChC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAExB,2EAA2E;YAC3E,2CAA2C;YAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YACtD,MAAM,GAAG,GAAwB;gBAC/B,EAAE,EAAE,CAAC,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;gBAC7E,OAAO;gBACP,IAAI,EAAE,IAAI;aACX,CAAA;YAED,IAAI,OAAO,EAAE;gBACX,GAAG,CAAC,OAAO,GAAG,OAAO,CAAA;aACtB;YACD,IAAI,EAAE,EAAE;gBACN,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;aACvC;YACD,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;aAC3C;YAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,UAAU,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;YACpE,MAAM,SAAS,GACb,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACvF,EAAE,CAAA;YAEJ,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAA;SACxE;QAAC,OAAO,GAAY,EAAE;YACrB,MAAM,KAAK,GAAG,GAAU,CAAA;YACxB,IAAI,OAAO,GAAG,sBAAsB,CAAA;YACpC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;gBACvE,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;qBACjC,GAAG,CAAC,UAAU,CAAM;oBACnB,OAAO,CAAC,CAAC,OAAO,CAAA;gBAClB,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAA;aACd;iBAAM,IAAI,KAAK,CAAC,OAAO,EAAE;gBACxB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;aACxB;YACD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;SACzD;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;KAChE;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;KAC7B;IACD,OAAO,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;AAC5E,CAAC;AACD,MAAM,CAAC,MAAM,aAAa,GAAyB;IACjD,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE;QACZ,gBAAgB,EAAE,QAAQ;KAC3B;IACD,eAAe;QACb,OAAO,4BAA4B,CACjC,eAAe,CAAC,cAAc,CAAC;YAC7B,IAAI;YACJ,WAAW,CAAC,6BAA6B,EAAE;YAC3C,IAAI;YACJ,8BAA8B,EAChC,gBAAgB,CACjB,CAAA;IACH,CAAC;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sent-email-log-code.d.ts","sourceRoot":"","sources":["../../../src/sent-email-log/sent-email-log-code.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,wBAAwB,YAAa;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,KAAG,MA+
|
|
1
|
+
{"version":3,"file":"sent-email-log-code.d.ts","sourceRoot":"","sources":["../../../src/sent-email-log/sent-email-log-code.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,wBAAwB,YAAa;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,KAAG,MA+X5E,CAAA"}
|
|
@@ -346,6 +346,19 @@ function __entryFromNode(nodeType, config, result, error) {
|
|
|
346
346
|
};
|
|
347
347
|
}
|
|
348
348
|
|
|
349
|
+
// A node that reached several recipients one provider call each reports a
|
|
350
|
+
// delivery per recipient; the ledger then says who got the email and who was
|
|
351
|
+
// refused, one row per address. Any other result is one row for the node run.
|
|
352
|
+
function __entriesFromNode(nodeType, config, result) {
|
|
353
|
+
var deliveries = result && Array.isArray(result.deliveries) ? result.deliveries : [];
|
|
354
|
+
if (deliveries.length === 0) return [__entryFromNode(nodeType, config, result, null)];
|
|
355
|
+
return deliveries.map(function (delivery) {
|
|
356
|
+
var entry = __entryFromNode(nodeType, config, delivery, null);
|
|
357
|
+
entry.to = delivery.to;
|
|
358
|
+
return entry;
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
|
|
349
362
|
/**
|
|
350
363
|
* Wraps a server node handler so every send is recorded. The record is
|
|
351
364
|
* registered on the workflow context's fire-and-forget queue — the same one
|
|
@@ -366,7 +379,10 @@ function wrapEmailNodeHandler(nodeType, handler) {
|
|
|
366
379
|
__register(context, recordSentEmail(__entryFromNode(nodeType, config, null, err)));
|
|
367
380
|
throw err;
|
|
368
381
|
}
|
|
369
|
-
|
|
382
|
+
var entries = __entriesFromNode(nodeType, config, result);
|
|
383
|
+
for (var i = 0; i < entries.length; i++) {
|
|
384
|
+
__register(context, recordSentEmail(entries[i]));
|
|
385
|
+
}
|
|
370
386
|
return result;
|
|
371
387
|
};
|
|
372
388
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sent-email-log-code.js","sourceRoot":"","sources":["../../../src/sent-email-log/sent-email-log-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAiC,EAAU,EAAE;IACpF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACxB,OAAO;;;;;;;;CAQV,CAAA;KACE;IAED,OAAO;;;;;;;;;;;EAWP,wBAAwB,EAAE
|
|
1
|
+
{"version":3,"file":"sent-email-log-code.js","sourceRoot":"","sources":["../../../src/sent-email-log/sent-email-log-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE5D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAiC,EAAU,EAAE;IACpF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACxB,OAAO;;;;;;;;CAQV,CAAA;KACE;IAED,OAAO;;;;;;;;;;;EAWP,wBAAwB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsW3B,CAAA;AACD,CAAC,CAAA"}
|