emailsdone 0.1.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.
@@ -0,0 +1,719 @@
1
+ export class PendingTemplateRequest {
2
+ client;
3
+ payload;
4
+ constructor(client, payload) {
5
+ this.client = client;
6
+ this.payload = payload;
7
+ }
8
+ async send(to, options = {}) {
9
+ requireRecipient(to);
10
+ return this.client.internalSendTemplate({
11
+ ...mergeSendOptions(this.payload, options),
12
+ templateId: this.payload.templateId,
13
+ templateVersion: options.templateVersion?.trim() || this.payload.templateVersion,
14
+ to,
15
+ data: this.payload.data,
16
+ });
17
+ }
18
+ }
19
+ export class RecipientClient {
20
+ client;
21
+ email;
22
+ constructor(client, email) {
23
+ this.client = client;
24
+ this.email = email;
25
+ }
26
+ getStatus(options = {}) {
27
+ return this.client.getRecipientStatus(this.email, options);
28
+ }
29
+ resubscribe() {
30
+ return this.client.resubscribeRecipient(this.email);
31
+ }
32
+ }
33
+ export class AuthenticationTemplates {
34
+ client;
35
+ constructor(client) {
36
+ this.client = client;
37
+ }
38
+ accountLocked(options = {}) {
39
+ const data = {};
40
+ setNested(data, "actionButton.label", options.actionButtonLabel);
41
+ setNested(data, "actionButton.url", options.actionButtonUrl);
42
+ setNested(data, "heading", options.heading);
43
+ setNested(data, "intro", options.intro);
44
+ setNested(data, "lockDetails", options.lockDetails);
45
+ setNested(data, "notice", options.notice);
46
+ setNested(data, "preheader", options.preheader);
47
+ setNested(data, "subject", options.subject);
48
+ return buildPendingRequest(this.client, "account-locked", "v1", data, options);
49
+ }
50
+ emailChanged(options = {}) {
51
+ const data = {};
52
+ setNested(data, "actionButton.label", options.actionButtonLabel);
53
+ setNested(data, "actionButton.url", options.actionButtonUrl);
54
+ setNested(data, "changeDetails", options.changeDetails);
55
+ setNested(data, "footerNote", options.footerNote);
56
+ setNested(data, "heading", options.heading);
57
+ setNested(data, "intro", options.intro);
58
+ setNested(data, "preheader", options.preheader);
59
+ setNested(data, "subject", options.subject);
60
+ return buildPendingRequest(this.client, "email-changed", "v1", data, options);
61
+ }
62
+ loginCode(code, options = {}) {
63
+ requireValue("code", code);
64
+ const data = {};
65
+ setNested(data, "code", code);
66
+ setNested(data, "footerNote", options.footerNote);
67
+ setNested(data, "heading", options.heading);
68
+ setNested(data, "intro", options.intro);
69
+ setNested(data, "preheader", options.preheader);
70
+ setNested(data, "securityNote", options.securityNote);
71
+ setNested(data, "subject", options.subject);
72
+ return buildPendingRequest(this.client, "login-code", "v1", data, options);
73
+ }
74
+ magicLink(url, options = {}) {
75
+ requireValue("actionButtonUrl", url);
76
+ const data = {};
77
+ setNested(data, "actionButton.url", url);
78
+ setNested(data, "actionButton.label", options.actionButtonLabel);
79
+ setNested(data, "footerNote", options.footerNote);
80
+ setNested(data, "heading", options.heading);
81
+ setNested(data, "intro", options.intro);
82
+ setNested(data, "preheader", options.preheader);
83
+ setNested(data, "subject", options.subject);
84
+ return buildPendingRequest(this.client, "magic-link", "v1", data, options);
85
+ }
86
+ mfaDisabled(options = {}) {
87
+ const data = {};
88
+ setNested(data, "actionButton.label", options.actionButtonLabel);
89
+ setNested(data, "actionButton.url", options.actionButtonUrl);
90
+ setNested(data, "footerNote", options.footerNote);
91
+ setNested(data, "heading", options.heading);
92
+ setNested(data, "intro", options.intro);
93
+ setNested(data, "notice", options.notice);
94
+ setNested(data, "preheader", options.preheader);
95
+ setNested(data, "securityDetails", options.securityDetails);
96
+ setNested(data, "subject", options.subject);
97
+ return buildPendingRequest(this.client, "mfa-disabled", "v1", data, options);
98
+ }
99
+ mfaEnabled(options = {}) {
100
+ const data = {};
101
+ setNested(data, "actionButton.label", options.actionButtonLabel);
102
+ setNested(data, "actionButton.url", options.actionButtonUrl);
103
+ setNested(data, "footerNote", options.footerNote);
104
+ setNested(data, "heading", options.heading);
105
+ setNested(data, "intro", options.intro);
106
+ setNested(data, "notice", options.notice);
107
+ setNested(data, "preheader", options.preheader);
108
+ setNested(data, "securityDetails", options.securityDetails);
109
+ setNested(data, "subject", options.subject);
110
+ return buildPendingRequest(this.client, "mfa-enabled", "v1", data, options);
111
+ }
112
+ newDeviceLogin(options = {}) {
113
+ const data = {};
114
+ setNested(data, "actionButton.label", options.actionButtonLabel);
115
+ setNested(data, "actionButton.url", options.actionButtonUrl);
116
+ setNested(data, "footerNote", options.footerNote);
117
+ setNested(data, "heading", options.heading);
118
+ setNested(data, "intro", options.intro);
119
+ setNested(data, "loginDetails", options.loginDetails);
120
+ setNested(data, "preheader", options.preheader);
121
+ setNested(data, "subject", options.subject);
122
+ return buildPendingRequest(this.client, "new-device-login", "v1", data, options);
123
+ }
124
+ passwordChanged(options = {}) {
125
+ const data = {};
126
+ setNested(data, "actionButton.label", options.actionButtonLabel);
127
+ setNested(data, "actionButton.url", options.actionButtonUrl);
128
+ setNested(data, "changeDetails", options.changeDetails);
129
+ setNested(data, "footerNote", options.footerNote);
130
+ setNested(data, "heading", options.heading);
131
+ setNested(data, "intro", options.intro);
132
+ setNested(data, "preheader", options.preheader);
133
+ setNested(data, "subject", options.subject);
134
+ return buildPendingRequest(this.client, "password-changed", "v1", data, options);
135
+ }
136
+ passwordReset(resetUrl, options = {}) {
137
+ requireValue("actionButtonUrl", resetUrl);
138
+ const data = {};
139
+ setNested(data, "actionButton.url", resetUrl);
140
+ setNested(data, "actionButton.label", options.actionButtonLabel);
141
+ setNested(data, "footerNote", options.footerNote);
142
+ setNested(data, "heading", options.heading);
143
+ setNested(data, "intro", options.intro);
144
+ setNested(data, "preheader", options.preheader);
145
+ setNested(data, "requestDetails", options.requestDetails);
146
+ setNested(data, "securityNote", options.securityNote);
147
+ setNested(data, "subject", options.subject);
148
+ return buildPendingRequest(this.client, "password-reset", "v1", data, options);
149
+ }
150
+ suspiciousLogin(options = {}) {
151
+ const data = {};
152
+ setNested(data, "actionButton.label", options.actionButtonLabel);
153
+ setNested(data, "actionButton.url", options.actionButtonUrl);
154
+ setNested(data, "heading", options.heading);
155
+ setNested(data, "intro", options.intro);
156
+ setNested(data, "loginDetails", options.loginDetails);
157
+ setNested(data, "notice", options.notice);
158
+ setNested(data, "preheader", options.preheader);
159
+ setNested(data, "subject", options.subject);
160
+ return buildPendingRequest(this.client, "suspicious-login", "v1", data, options);
161
+ }
162
+ verifyEmail(verificationUrl, options = {}) {
163
+ requireValue("actionButtonUrl", verificationUrl);
164
+ const data = {};
165
+ setNested(data, "actionButton.url", verificationUrl);
166
+ setNested(data, "actionButton.label", options.actionButtonLabel);
167
+ setNested(data, "footerNote", options.footerNote);
168
+ setNested(data, "heading", options.heading);
169
+ setNested(data, "intro", options.intro);
170
+ setNested(data, "preheader", options.preheader);
171
+ setNested(data, "securityNote", options.securityNote);
172
+ setNested(data, "subject", options.subject);
173
+ return buildPendingRequest(this.client, "verify-email", "v1", data, options);
174
+ }
175
+ welcome(actionUrl, options = {}) {
176
+ requireValue("actionButtonUrl", actionUrl);
177
+ const data = {};
178
+ setNested(data, "actionButton.url", actionUrl);
179
+ setNested(data, "actionButton.label", options.actionButtonLabel);
180
+ setNested(data, "callToActionHeading", options.callToActionHeading);
181
+ setNested(data, "callToActionParagraph", options.callToActionParagraph);
182
+ setNested(data, "heading", options.heading);
183
+ setNested(data, "intro", options.intro);
184
+ setNested(data, "preheader", options.preheader);
185
+ setNested(data, "subject", options.subject);
186
+ return buildPendingRequest(this.client, "welcome", "v1", data, options);
187
+ }
188
+ }
189
+ export class BillingTemplates {
190
+ client;
191
+ constructor(client) {
192
+ this.client = client;
193
+ }
194
+ invoice(options) {
195
+ requireValue("invoice", options.invoice);
196
+ requireValue("invoiceNumber", options.invoiceNumber);
197
+ const data = {};
198
+ setNested(data, "invoice", options.invoice);
199
+ setNested(data, "invoiceNumber", options.invoiceNumber);
200
+ setNested(data, "actionButton.label", options.actionButtonLabel);
201
+ setNested(data, "actionButton.url", options.actionButtonUrl);
202
+ setNested(data, "heading", options.heading);
203
+ setNested(data, "intro", options.intro);
204
+ setNested(data, "preheader", options.preheader);
205
+ setNested(data, "subject", options.subject);
206
+ return buildPendingRequest(this.client, "invoice", "v1", data, options);
207
+ }
208
+ invoiceOverdue(options) {
209
+ requireValue("actionButtonUrl", options.actionButtonUrl);
210
+ const data = {};
211
+ setNested(data, "actionButton.url", options.actionButtonUrl);
212
+ setNested(data, "actionButton.label", options.actionButtonLabel);
213
+ setNested(data, "heading", options.heading);
214
+ setNested(data, "intro", options.intro);
215
+ setNested(data, "invoiceDetails", options.invoiceDetails);
216
+ setNested(data, "preheader", options.preheader);
217
+ setNested(data, "subject", options.subject);
218
+ return buildPendingRequest(this.client, "invoice-overdue", "v1", data, options);
219
+ }
220
+ paymentFailed(options) {
221
+ requireValue("actionButtonUrl", options.actionButtonUrl);
222
+ const data = {};
223
+ setNested(data, "actionButton.url", options.actionButtonUrl);
224
+ setNested(data, "actionButton.label", options.actionButtonLabel);
225
+ setNested(data, "actionNote", options.actionNote);
226
+ setNested(data, "footerNote", options.footerNote);
227
+ setNested(data, "heading", options.heading);
228
+ setNested(data, "intro", options.intro);
229
+ setNested(data, "paymentDetails", options.paymentDetails);
230
+ setNested(data, "preheader", options.preheader);
231
+ setNested(data, "subject", options.subject);
232
+ return buildPendingRequest(this.client, "payment-failed", "v1", data, options);
233
+ }
234
+ paymentSucceeded(options = {}) {
235
+ const data = {};
236
+ setNested(data, "actionButton.label", options.actionButtonLabel);
237
+ setNested(data, "actionButton.url", options.actionButtonUrl);
238
+ setNested(data, "heading", options.heading);
239
+ setNested(data, "intro", options.intro);
240
+ setNested(data, "paymentDetails", options.paymentDetails);
241
+ setNested(data, "preheader", options.preheader);
242
+ setNested(data, "subject", options.subject);
243
+ return buildPendingRequest(this.client, "payment-succeeded", "v1", data, options);
244
+ }
245
+ refundIssued(options = {}) {
246
+ const data = {};
247
+ setNested(data, "footerNote", options.footerNote);
248
+ setNested(data, "heading", options.heading);
249
+ setNested(data, "intro", options.intro);
250
+ setNested(data, "preheader", options.preheader);
251
+ setNested(data, "refundDetails", options.refundDetails);
252
+ setNested(data, "subject", options.subject);
253
+ return buildPendingRequest(this.client, "refund-issued", "v1", data, options);
254
+ }
255
+ subscriptionCancelled(options = {}) {
256
+ const data = {};
257
+ setNested(data, "actionButton.label", options.actionButtonLabel);
258
+ setNested(data, "actionButton.url", options.actionButtonUrl);
259
+ setNested(data, "heading", options.heading);
260
+ setNested(data, "intro", options.intro);
261
+ setNested(data, "preheader", options.preheader);
262
+ setNested(data, "subject", options.subject);
263
+ setNested(data, "subscriptionDetails", options.subscriptionDetails);
264
+ return buildPendingRequest(this.client, "subscription-cancelled", "v1", data, options);
265
+ }
266
+ subscriptionPaused(options = {}) {
267
+ const data = {};
268
+ setNested(data, "actionButton.label", options.actionButtonLabel);
269
+ setNested(data, "actionButton.url", options.actionButtonUrl);
270
+ setNested(data, "heading", options.heading);
271
+ setNested(data, "intro", options.intro);
272
+ setNested(data, "preheader", options.preheader);
273
+ setNested(data, "subject", options.subject);
274
+ setNested(data, "subscriptionDetails", options.subscriptionDetails);
275
+ return buildPendingRequest(this.client, "subscription-paused", "v1", data, options);
276
+ }
277
+ subscriptionRenewed(options = {}) {
278
+ const data = {};
279
+ setNested(data, "actionButton.label", options.actionButtonLabel);
280
+ setNested(data, "actionButton.url", options.actionButtonUrl);
281
+ setNested(data, "heading", options.heading);
282
+ setNested(data, "intro", options.intro);
283
+ setNested(data, "preheader", options.preheader);
284
+ setNested(data, "subject", options.subject);
285
+ setNested(data, "subscriptionDetails", options.subscriptionDetails);
286
+ return buildPendingRequest(this.client, "subscription-renewed", "v1", data, options);
287
+ }
288
+ subscriptionStarted(options = {}) {
289
+ const data = {};
290
+ setNested(data, "actionButton.label", options.actionButtonLabel);
291
+ setNested(data, "actionButton.url", options.actionButtonUrl);
292
+ setNested(data, "heading", options.heading);
293
+ setNested(data, "intro", options.intro);
294
+ setNested(data, "preheader", options.preheader);
295
+ setNested(data, "subject", options.subject);
296
+ setNested(data, "subscriptionDetails", options.subscriptionDetails);
297
+ return buildPendingRequest(this.client, "subscription-started", "v1", data, options);
298
+ }
299
+ trialEnding(options) {
300
+ requireValue("actionButtonUrl", options.actionButtonUrl);
301
+ requireValue("trialEndDate", options.trialEndDate);
302
+ const data = {};
303
+ setNested(data, "actionButton.url", options.actionButtonUrl);
304
+ setNested(data, "trialEndDate", options.trialEndDate);
305
+ setNested(data, "actionButton.label", options.actionButtonLabel);
306
+ setNested(data, "heading", options.heading);
307
+ setNested(data, "intro", options.intro);
308
+ setNested(data, "preheader", options.preheader);
309
+ setNested(data, "subject", options.subject);
310
+ setNested(data, "upgradeNote", options.upgradeNote);
311
+ return buildPendingRequest(this.client, "trial-ending", "v1", data, options);
312
+ }
313
+ trialStarted(options = {}) {
314
+ const data = {};
315
+ setNested(data, "actionButton.label", options.actionButtonLabel);
316
+ setNested(data, "actionButton.url", options.actionButtonUrl);
317
+ setNested(data, "heading", options.heading);
318
+ setNested(data, "intro", options.intro);
319
+ setNested(data, "preheader", options.preheader);
320
+ setNested(data, "subject", options.subject);
321
+ setNested(data, "trialDetails", options.trialDetails);
322
+ return buildPendingRequest(this.client, "trial-started", "v1", data, options);
323
+ }
324
+ usageThreshold(options) {
325
+ requireValue("message", options.message);
326
+ const data = {};
327
+ setNested(data, "message", options.message);
328
+ setNested(data, "actionButton.label", options.actionButtonLabel);
329
+ setNested(data, "actionButton.url", options.actionButtonUrl);
330
+ setNested(data, "heading", options.heading);
331
+ setNested(data, "preheader", options.preheader);
332
+ setNested(data, "subject", options.subject);
333
+ setNested(data, "usageDetails", options.usageDetails);
334
+ return buildPendingRequest(this.client, "usage-threshold", "v1", data, options);
335
+ }
336
+ }
337
+ export class DeveloperTemplates {
338
+ client;
339
+ constructor(client) {
340
+ this.client = client;
341
+ }
342
+ apiKeyCreated(options = {}) {
343
+ const data = {};
344
+ setNested(data, "actionButton.label", options.actionButtonLabel);
345
+ setNested(data, "actionButton.url", options.actionButtonUrl);
346
+ setNested(data, "apiKeyDetails", options.apiKeyDetails);
347
+ setNested(data, "heading", options.heading);
348
+ setNested(data, "intro", options.intro);
349
+ setNested(data, "notice", options.notice);
350
+ setNested(data, "preheader", options.preheader);
351
+ setNested(data, "subject", options.subject);
352
+ return buildPendingRequest(this.client, "api-key-created", "v1", data, options);
353
+ }
354
+ apiKeyRotated(options = {}) {
355
+ const data = {};
356
+ setNested(data, "actionButton.label", options.actionButtonLabel);
357
+ setNested(data, "actionButton.url", options.actionButtonUrl);
358
+ setNested(data, "apiKeyDetails", options.apiKeyDetails);
359
+ setNested(data, "heading", options.heading);
360
+ setNested(data, "intro", options.intro);
361
+ setNested(data, "preheader", options.preheader);
362
+ setNested(data, "subject", options.subject);
363
+ return buildPendingRequest(this.client, "api-key-rotated", "v1", data, options);
364
+ }
365
+ creditsExhausted(options) {
366
+ requireValue("actionButtonUrl", options.actionButtonUrl);
367
+ const data = {};
368
+ setNested(data, "actionButton.url", options.actionButtonUrl);
369
+ setNested(data, "actionButton.label", options.actionButtonLabel);
370
+ setNested(data, "creditDetails", options.creditDetails);
371
+ setNested(data, "heading", options.heading);
372
+ setNested(data, "intro", options.intro);
373
+ setNested(data, "preheader", options.preheader);
374
+ setNested(data, "subject", options.subject);
375
+ return buildPendingRequest(this.client, "credits-exhausted", "v1", data, options);
376
+ }
377
+ creditsLow(options = {}) {
378
+ const data = {};
379
+ setNested(data, "actionButton.label", options.actionButtonLabel);
380
+ setNested(data, "actionButton.url", options.actionButtonUrl);
381
+ setNested(data, "creditDetails", options.creditDetails);
382
+ setNested(data, "heading", options.heading);
383
+ setNested(data, "intro", options.intro);
384
+ setNested(data, "preheader", options.preheader);
385
+ setNested(data, "subject", options.subject);
386
+ return buildPendingRequest(this.client, "credits-low", "v1", data, options);
387
+ }
388
+ }
389
+ export class NotificationsTemplates {
390
+ client;
391
+ constructor(client) {
392
+ this.client = client;
393
+ }
394
+ announcement(options) {
395
+ requireValue("message", options.message);
396
+ const data = {};
397
+ setNested(data, "message", options.message);
398
+ setNested(data, "actionButton.label", options.actionButtonLabel);
399
+ setNested(data, "actionButton.url", options.actionButtonUrl);
400
+ setNested(data, "heading", options.heading);
401
+ setNested(data, "preheader", options.preheader);
402
+ setNested(data, "subject", options.subject);
403
+ return buildPendingRequest(this.client, "announcement", "v1", data, options);
404
+ }
405
+ approvalApproved(options) {
406
+ requireValue("message", options.message);
407
+ const data = {};
408
+ setNested(data, "message", options.message);
409
+ setNested(data, "actionButton.label", options.actionButtonLabel);
410
+ setNested(data, "actionButton.url", options.actionButtonUrl);
411
+ setNested(data, "approvalDetails", options.approvalDetails);
412
+ setNested(data, "heading", options.heading);
413
+ setNested(data, "preheader", options.preheader);
414
+ setNested(data, "subject", options.subject);
415
+ return buildPendingRequest(this.client, "approval-approved", "v1", data, options);
416
+ }
417
+ approvalNeeded(options) {
418
+ requireValue("actionButtonUrl", options.actionButtonUrl);
419
+ const data = {};
420
+ setNested(data, "actionButton.url", options.actionButtonUrl);
421
+ setNested(data, "actionButton.label", options.actionButtonLabel);
422
+ setNested(data, "approvalDetails", options.approvalDetails);
423
+ setNested(data, "heading", options.heading);
424
+ setNested(data, "message", options.message);
425
+ setNested(data, "preheader", options.preheader);
426
+ setNested(data, "subject", options.subject);
427
+ return buildPendingRequest(this.client, "approval-needed", "v1", data, options);
428
+ }
429
+ approvalRejected(options) {
430
+ requireValue("message", options.message);
431
+ const data = {};
432
+ setNested(data, "message", options.message);
433
+ setNested(data, "actionButton.label", options.actionButtonLabel);
434
+ setNested(data, "actionButton.url", options.actionButtonUrl);
435
+ setNested(data, "approvalDetails", options.approvalDetails);
436
+ setNested(data, "heading", options.heading);
437
+ setNested(data, "preheader", options.preheader);
438
+ setNested(data, "subject", options.subject);
439
+ return buildPendingRequest(this.client, "approval-rejected", "v1", data, options);
440
+ }
441
+ digest(options = {}) {
442
+ const data = {};
443
+ setNested(data, "actionButton.label", options.actionButtonLabel);
444
+ setNested(data, "actionButton.url", options.actionButtonUrl);
445
+ setNested(data, "heading", options.heading);
446
+ setNested(data, "intro", options.intro);
447
+ setNested(data, "message", options.message);
448
+ setNested(data, "preheader", options.preheader);
449
+ setNested(data, "subject", options.subject);
450
+ setNested(data, "summary.alerts", options.summaryAlerts);
451
+ setNested(data, "summary.newItems", options.summaryNewItems);
452
+ setNested(data, "summary.updates", options.summaryUpdates);
453
+ return buildPendingRequest(this.client, "digest", "v1", data, options);
454
+ }
455
+ exportReady(options) {
456
+ requireValue("actionButtonUrl", options.actionButtonUrl);
457
+ const data = {};
458
+ setNested(data, "actionButton.url", options.actionButtonUrl);
459
+ setNested(data, "actionButton.label", options.actionButtonLabel);
460
+ setNested(data, "exportDetails", options.exportDetails);
461
+ setNested(data, "heading", options.heading);
462
+ setNested(data, "intro", options.intro);
463
+ setNested(data, "preheader", options.preheader);
464
+ setNested(data, "subject", options.subject);
465
+ return buildPendingRequest(this.client, "export-ready", "v1", data, options);
466
+ }
467
+ generationComplete(options) {
468
+ requireValue("actionButtonUrl", options.actionButtonUrl);
469
+ const data = {};
470
+ setNested(data, "actionButton.url", options.actionButtonUrl);
471
+ setNested(data, "actionButton.label", options.actionButtonLabel);
472
+ setNested(data, "generationDetails", options.generationDetails);
473
+ setNested(data, "heading", options.heading);
474
+ setNested(data, "intro", options.intro);
475
+ setNested(data, "preheader", options.preheader);
476
+ setNested(data, "subject", options.subject);
477
+ return buildPendingRequest(this.client, "generation-complete", "v1", data, options);
478
+ }
479
+ importComplete(options = {}) {
480
+ const data = {};
481
+ setNested(data, "actionButton.label", options.actionButtonLabel);
482
+ setNested(data, "actionButton.url", options.actionButtonUrl);
483
+ setNested(data, "heading", options.heading);
484
+ setNested(data, "importDetails", options.importDetails);
485
+ setNested(data, "message", options.message);
486
+ setNested(data, "preheader", options.preheader);
487
+ setNested(data, "subject", options.subject);
488
+ return buildPendingRequest(this.client, "import-complete", "v1", data, options);
489
+ }
490
+ jobComplete(options = {}) {
491
+ const data = {};
492
+ setNested(data, "actionButton.label", options.actionButtonLabel);
493
+ setNested(data, "actionButton.url", options.actionButtonUrl);
494
+ setNested(data, "heading", options.heading);
495
+ setNested(data, "jobDetails", options.jobDetails);
496
+ setNested(data, "message", options.message);
497
+ setNested(data, "preheader", options.preheader);
498
+ setNested(data, "subject", options.subject);
499
+ return buildPendingRequest(this.client, "job-complete", "v1", data, options);
500
+ }
501
+ notificationAlert(options) {
502
+ requireValue("message", options.message);
503
+ const data = {};
504
+ setNested(data, "message", options.message);
505
+ setNested(data, "actionButton.label", options.actionButtonLabel);
506
+ setNested(data, "actionButton.url", options.actionButtonUrl);
507
+ setNested(data, "alertDetails", options.alertDetails);
508
+ setNested(data, "heading", options.heading);
509
+ setNested(data, "preheader", options.preheader);
510
+ setNested(data, "subject", options.subject);
511
+ return buildPendingRequest(this.client, "notification-alert", "v1", data, options);
512
+ }
513
+ notificationInfo(options) {
514
+ requireValue("message", options.message);
515
+ const data = {};
516
+ setNested(data, "message", options.message);
517
+ setNested(data, "actionButton.label", options.actionButtonLabel);
518
+ setNested(data, "actionButton.url", options.actionButtonUrl);
519
+ setNested(data, "heading", options.heading);
520
+ setNested(data, "preheader", options.preheader);
521
+ setNested(data, "subject", options.subject);
522
+ return buildPendingRequest(this.client, "notification-info", "v1", data, options);
523
+ }
524
+ notificationSuccess(options) {
525
+ requireValue("message", options.message);
526
+ const data = {};
527
+ setNested(data, "message", options.message);
528
+ setNested(data, "actionButton.label", options.actionButtonLabel);
529
+ setNested(data, "actionButton.url", options.actionButtonUrl);
530
+ setNested(data, "heading", options.heading);
531
+ setNested(data, "preheader", options.preheader);
532
+ setNested(data, "subject", options.subject);
533
+ return buildPendingRequest(this.client, "notification-success", "v1", data, options);
534
+ }
535
+ notificationWarning(options) {
536
+ requireValue("message", options.message);
537
+ const data = {};
538
+ setNested(data, "message", options.message);
539
+ setNested(data, "actionButton.label", options.actionButtonLabel);
540
+ setNested(data, "actionButton.url", options.actionButtonUrl);
541
+ setNested(data, "heading", options.heading);
542
+ setNested(data, "preheader", options.preheader);
543
+ setNested(data, "subject", options.subject);
544
+ return buildPendingRequest(this.client, "notification-warning", "v1", data, options);
545
+ }
546
+ processingFailed(options = {}) {
547
+ const data = {};
548
+ setNested(data, "actionButton.label", options.actionButtonLabel);
549
+ setNested(data, "actionButton.url", options.actionButtonUrl);
550
+ setNested(data, "heading", options.heading);
551
+ setNested(data, "message", options.message);
552
+ setNested(data, "preheader", options.preheader);
553
+ setNested(data, "processingDetails", options.processingDetails);
554
+ setNested(data, "subject", options.subject);
555
+ return buildPendingRequest(this.client, "processing-failed", "v1", data, options);
556
+ }
557
+ queuedRequestReady(options) {
558
+ requireValue("actionButtonUrl", options.actionButtonUrl);
559
+ const data = {};
560
+ setNested(data, "actionButton.url", options.actionButtonUrl);
561
+ setNested(data, "actionButton.label", options.actionButtonLabel);
562
+ setNested(data, "heading", options.heading);
563
+ setNested(data, "intro", options.intro);
564
+ setNested(data, "preheader", options.preheader);
565
+ setNested(data, "requestDetails", options.requestDetails);
566
+ setNested(data, "subject", options.subject);
567
+ return buildPendingRequest(this.client, "queued-request-ready", "v1", data, options);
568
+ }
569
+ reminder(options) {
570
+ requireValue("message", options.message);
571
+ const data = {};
572
+ setNested(data, "message", options.message);
573
+ setNested(data, "actionButton.label", options.actionButtonLabel);
574
+ setNested(data, "actionButton.url", options.actionButtonUrl);
575
+ setNested(data, "heading", options.heading);
576
+ setNested(data, "preheader", options.preheader);
577
+ setNested(data, "reminderDetails", options.reminderDetails);
578
+ setNested(data, "subject", options.subject);
579
+ return buildPendingRequest(this.client, "reminder", "v1", data, options);
580
+ }
581
+ reportReady(options) {
582
+ requireValue("actionButtonUrl", options.actionButtonUrl);
583
+ const data = {};
584
+ setNested(data, "actionButton.url", options.actionButtonUrl);
585
+ setNested(data, "actionButton.label", options.actionButtonLabel);
586
+ setNested(data, "heading", options.heading);
587
+ setNested(data, "intro", options.intro);
588
+ setNested(data, "preheader", options.preheader);
589
+ setNested(data, "reportDetails", options.reportDetails);
590
+ setNested(data, "subject", options.subject);
591
+ return buildPendingRequest(this.client, "report-ready", "v1", data, options);
592
+ }
593
+ uploadComplete(options = {}) {
594
+ const data = {};
595
+ setNested(data, "actionButton.label", options.actionButtonLabel);
596
+ setNested(data, "actionButton.url", options.actionButtonUrl);
597
+ setNested(data, "heading", options.heading);
598
+ setNested(data, "message", options.message);
599
+ setNested(data, "preheader", options.preheader);
600
+ setNested(data, "subject", options.subject);
601
+ setNested(data, "uploadDetails", options.uploadDetails);
602
+ return buildPendingRequest(this.client, "upload-complete", "v1", data, options);
603
+ }
604
+ }
605
+ export class TeamTemplates {
606
+ client;
607
+ constructor(client) {
608
+ this.client = client;
609
+ }
610
+ invitationAccepted(options = {}) {
611
+ const data = {};
612
+ setNested(data, "actionButton.label", options.actionButtonLabel);
613
+ setNested(data, "actionButton.url", options.actionButtonUrl);
614
+ setNested(data, "heading", options.heading);
615
+ setNested(data, "intro", options.intro);
616
+ setNested(data, "inviteDetails", options.inviteDetails);
617
+ setNested(data, "preheader", options.preheader);
618
+ setNested(data, "subject", options.subject);
619
+ return buildPendingRequest(this.client, "invitation-accepted", "v1", data, options);
620
+ }
621
+ invitedToWorkspace(options) {
622
+ requireValue("actionButtonUrl", options.actionButtonUrl);
623
+ const data = {};
624
+ setNested(data, "actionButton.url", options.actionButtonUrl);
625
+ setNested(data, "actionButton.label", options.actionButtonLabel);
626
+ setNested(data, "heading", options.heading);
627
+ setNested(data, "intro", options.intro);
628
+ setNested(data, "inviteDetails", options.inviteDetails);
629
+ setNested(data, "preheader", options.preheader);
630
+ setNested(data, "subject", options.subject);
631
+ return buildPendingRequest(this.client, "invited-to-workspace", "v1", data, options);
632
+ }
633
+ roleChanged(options = {}) {
634
+ const data = {};
635
+ setNested(data, "actionButton.label", options.actionButtonLabel);
636
+ setNested(data, "actionButton.url", options.actionButtonUrl);
637
+ setNested(data, "heading", options.heading);
638
+ setNested(data, "intro", options.intro);
639
+ setNested(data, "preheader", options.preheader);
640
+ setNested(data, "roleDetails", options.roleDetails);
641
+ setNested(data, "subject", options.subject);
642
+ return buildPendingRequest(this.client, "role-changed", "v1", data, options);
643
+ }
644
+ teamMemberAdded(options = {}) {
645
+ const data = {};
646
+ setNested(data, "actionButton.label", options.actionButtonLabel);
647
+ setNested(data, "actionButton.url", options.actionButtonUrl);
648
+ setNested(data, "heading", options.heading);
649
+ setNested(data, "intro", options.intro);
650
+ setNested(data, "memberDetails", options.memberDetails);
651
+ setNested(data, "preheader", options.preheader);
652
+ setNested(data, "subject", options.subject);
653
+ return buildPendingRequest(this.client, "team-member-added", "v1", data, options);
654
+ }
655
+ teamMemberRemoved(options = {}) {
656
+ const data = {};
657
+ setNested(data, "actionButton.label", options.actionButtonLabel);
658
+ setNested(data, "actionButton.url", options.actionButtonUrl);
659
+ setNested(data, "heading", options.heading);
660
+ setNested(data, "intro", options.intro);
661
+ setNested(data, "memberDetails", options.memberDetails);
662
+ setNested(data, "preheader", options.preheader);
663
+ setNested(data, "subject", options.subject);
664
+ return buildPendingRequest(this.client, "team-member-removed", "v1", data, options);
665
+ }
666
+ }
667
+ function setNested(target, path, value) {
668
+ if (value === undefined || value === null) {
669
+ return;
670
+ }
671
+ const parts = path.split(".");
672
+ let current = target;
673
+ for (let index = 0; index < parts.length; index += 1) {
674
+ const part = parts[index];
675
+ if (index === parts.length - 1) {
676
+ current[part] = value;
677
+ return;
678
+ }
679
+ const existing = current[part];
680
+ const next = existing && typeof existing === "object" && !Array.isArray(existing) ? existing : {};
681
+ current[part] = next;
682
+ current = next;
683
+ }
684
+ }
685
+ function requireRecipient(to) {
686
+ if (!to || !to.trim()) {
687
+ throw new Error("Recipient email address is required.");
688
+ }
689
+ }
690
+ function requireValue(name, value) {
691
+ if (value === undefined || value === null) {
692
+ throw new Error(`${name} is required.`);
693
+ }
694
+ if (typeof value === "string" && !value.trim()) {
695
+ throw new Error(`${name} is required.`);
696
+ }
697
+ }
698
+ function buildPendingRequest(client, templateId, templateVersion, data, options = {}) {
699
+ return new PendingTemplateRequest(client, {
700
+ templateId,
701
+ templateVersion: options.templateVersion?.trim() || templateVersion,
702
+ to: "",
703
+ data,
704
+ from: options.from,
705
+ fromName: options.fromName,
706
+ replyTo: options.replyTo,
707
+ idempotencyKey: options.idempotencyKey,
708
+ });
709
+ }
710
+ function mergeSendOptions(base, overrides) {
711
+ return {
712
+ templateVersion: overrides.templateVersion?.trim() || base.templateVersion,
713
+ from: overrides.from?.trim() || base.from,
714
+ fromName: overrides.fromName?.trim() || base.fromName,
715
+ replyTo: overrides.replyTo?.trim() || base.replyTo,
716
+ idempotencyKey: overrides.idempotencyKey?.trim() || base.idempotencyKey,
717
+ };
718
+ }
719
+ //# sourceMappingURL=templates.js.map