@earendil-works/mailhook 0.1.0

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,649 @@
1
+ /**
2
+ * This file is auto-generated. Do not edit manually.
3
+ */
4
+ import { APIKey, Attachment, DeliveryEvent, Domain, Email, Mailbox, PaginatedSuppressionsResponse, Tenant, Thread, ThreadMoveResult, ThreadReplyAttachment, ThreadWithMessages, UserData, Webhook, WebhookDeliveryAttempt, WebhookFilters, WebhookScheduledDelivery, } from "./types.js";
5
+ function toThreadReplyAttachmentPayload(value) {
6
+ if (value === undefined || value === null) {
7
+ return undefined;
8
+ }
9
+ const model = value instanceof ThreadReplyAttachment ? value : new ThreadReplyAttachment(value);
10
+ return model.toApiDict();
11
+ }
12
+ function toWebhookFiltersPayload(value) {
13
+ if (value === undefined || value === null) {
14
+ return undefined;
15
+ }
16
+ const model = value instanceof WebhookFilters ? value : new WebhookFilters(value);
17
+ return model.toApiDict();
18
+ }
19
+ export class HealthClient {
20
+ client;
21
+ constructor(client) {
22
+ this.client = client;
23
+ }
24
+ async check() {
25
+ const response = await this.client.requestJSON('GET', '/health', {});
26
+ return response;
27
+ }
28
+ }
29
+ export class TenantsClient {
30
+ client;
31
+ constructor(client) {
32
+ this.client = client;
33
+ }
34
+ async list({ limit, cursor, } = {}) {
35
+ const params = {
36
+ limit: limit,
37
+ cursor: cursor,
38
+ };
39
+ const response = await this.client.requestJSON('GET', '/tenants', {
40
+ params,
41
+ });
42
+ return {
43
+ items: (response.items || []).map((item) => Tenant.fromApiDict(item)),
44
+ next: response.next ?? null,
45
+ prev: response.prev ?? null,
46
+ };
47
+ }
48
+ async create({ name }) {
49
+ const body = {
50
+ name: name,
51
+ };
52
+ const response = await this.client.requestJSON('POST', '/tenants', {
53
+ body,
54
+ supportsIdempotency: true,
55
+ });
56
+ return Tenant.fromApiDict(response);
57
+ }
58
+ async getTenant() {
59
+ const response = await this.client.requestJSON('GET', '/tenants/{tenant_id}', {});
60
+ return Tenant.fromApiDict(response);
61
+ }
62
+ async update({ name, } = {}) {
63
+ const body = {
64
+ name: name,
65
+ };
66
+ const response = await this.client.requestJSON('PATCH', '/tenants/{tenant_id}', {
67
+ body,
68
+ supportsIdempotency: true,
69
+ });
70
+ return Tenant.fromApiDict(response);
71
+ }
72
+ async get() {
73
+ const response = await this.client.requestJSON('GET', '/tenants/current', {
74
+ supportsIdempotency: true,
75
+ });
76
+ return Tenant.fromApiDict(response);
77
+ }
78
+ }
79
+ export class DomainsClient {
80
+ client;
81
+ constructor(client) {
82
+ this.client = client;
83
+ }
84
+ async list({ limit, cursor, q, root, parent, subdomain, } = {}) {
85
+ const params = {
86
+ limit: limit,
87
+ cursor: cursor,
88
+ q: q,
89
+ root: root,
90
+ parent: parent,
91
+ subdomain: subdomain,
92
+ };
93
+ const response = await this.client.requestJSON('GET', '/domains', {
94
+ params,
95
+ });
96
+ return {
97
+ items: (response.items || []).map((item) => Domain.fromApiDict(item)),
98
+ next: response.next ?? null,
99
+ prev: response.prev ?? null,
100
+ };
101
+ }
102
+ async create({ forceVerification, domain, parent, label, isWildcard, active, dmarcEnforcement, subaddressing, } = {}) {
103
+ const body = {
104
+ domain: domain,
105
+ parent: parent,
106
+ label: label,
107
+ is_wildcard: isWildcard,
108
+ active: active,
109
+ dmarc_enforcement: dmarcEnforcement,
110
+ subaddressing: subaddressing,
111
+ };
112
+ const params = {
113
+ force_verification: forceVerification,
114
+ };
115
+ const response = await this.client.requestJSON('POST', '/domains', {
116
+ params,
117
+ body,
118
+ supportsIdempotency: true,
119
+ });
120
+ return Domain.fromApiDict(response);
121
+ }
122
+ async get({ domainOrId }) {
123
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}`, {});
124
+ return Domain.fromApiDict(response);
125
+ }
126
+ async delete({ domainOrId }) {
127
+ const response = await this.client.requestJSON('DELETE', `/domains/${domainOrId}`, {});
128
+ return response;
129
+ }
130
+ }
131
+ export class MailboxesClient {
132
+ client;
133
+ constructor(client) {
134
+ this.client = client;
135
+ }
136
+ async listAll({ limit, q, cursor, } = {}) {
137
+ const params = {
138
+ limit: limit,
139
+ q: q,
140
+ cursor: cursor,
141
+ };
142
+ const response = await this.client.requestJSON('GET', '/mailboxes', {
143
+ params,
144
+ });
145
+ return {
146
+ items: (response.items || []).map((item) => Mailbox.fromApiDict(item)),
147
+ next: response.next ?? null,
148
+ prev: response.prev ?? null,
149
+ };
150
+ }
151
+ async list({ domainOrId, limit, q, cursor, }) {
152
+ const params = {
153
+ limit: limit,
154
+ q: q,
155
+ cursor: cursor,
156
+ };
157
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/mb`, {
158
+ params,
159
+ });
160
+ return {
161
+ items: (response.items || []).map((item) => Mailbox.fromApiDict(item)),
162
+ next: response.next ?? null,
163
+ prev: response.prev ?? null,
164
+ };
165
+ }
166
+ async create({ domainOrId, localPart, extraAliases, active, senderName, spamPolicy, inboundPolicy, dmarcEnforcement, subaddressing, setAllow, addAllow, removeAllow, setDeny, addDeny, removeDeny, }) {
167
+ const body = {
168
+ local_part: localPart,
169
+ extra_aliases: extraAliases,
170
+ active: active,
171
+ sender_name: senderName,
172
+ spam_policy: spamPolicy,
173
+ inbound_policy: inboundPolicy,
174
+ dmarc_enforcement: dmarcEnforcement,
175
+ subaddressing: subaddressing,
176
+ set_allow: setAllow,
177
+ add_allow: addAllow,
178
+ remove_allow: removeAllow,
179
+ set_deny: setDeny,
180
+ add_deny: addDeny,
181
+ remove_deny: removeDeny,
182
+ };
183
+ const response = await this.client.requestJSON('POST', `/domains/${domainOrId}/mb`, {
184
+ body,
185
+ supportsIdempotency: true,
186
+ });
187
+ return Mailbox.fromApiDict(response);
188
+ }
189
+ async get({ domainOrId, mailboxAliasOrId, }) {
190
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}`, {});
191
+ return Mailbox.fromApiDict(response);
192
+ }
193
+ async delete({ domainOrId, mailboxAliasOrId, }) {
194
+ const response = await this.client.requestJSON('DELETE', `/domains/${domainOrId}/mb/${mailboxAliasOrId}`, {});
195
+ return response;
196
+ }
197
+ async move({ domainOrId, mailboxAliasOrId, targetDomainOrId, newLocalPart, }) {
198
+ const body = {
199
+ target_domain_or_id: targetDomainOrId,
200
+ new_local_part: newLocalPart,
201
+ };
202
+ const response = await this.client.requestJSON('POST', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/move`, {
203
+ body,
204
+ });
205
+ return Mailbox.fromApiDict(response);
206
+ }
207
+ }
208
+ export class EmailsClient {
209
+ client;
210
+ constructor(client) {
211
+ this.client = client;
212
+ }
213
+ async listByDomain({ domainOrId, limit, cursor, q, labels, includeHidden, includeOriginalBodies, }) {
214
+ const params = {
215
+ limit: limit,
216
+ cursor: cursor,
217
+ q: q,
218
+ labels: labels,
219
+ include_hidden: includeHidden,
220
+ include_original_bodies: includeOriginalBodies,
221
+ };
222
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/emails`, {
223
+ params,
224
+ });
225
+ return {
226
+ items: (response.items || []).map((item) => Email.fromApiDict(item)),
227
+ next: response.next ?? null,
228
+ prev: response.prev ?? null,
229
+ };
230
+ }
231
+ async listByMailbox({ domainOrId, mailboxAliasOrId, limit, cursor, q, labels, includeHidden, includeOriginalBodies, }) {
232
+ const params = {
233
+ limit: limit,
234
+ cursor: cursor,
235
+ q: q,
236
+ labels: labels,
237
+ include_hidden: includeHidden,
238
+ include_original_bodies: includeOriginalBodies,
239
+ };
240
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/emails`, {
241
+ params,
242
+ });
243
+ return {
244
+ items: (response.items || []).map((item) => Email.fromApiDict(item)),
245
+ next: response.next ?? null,
246
+ prev: response.prev ?? null,
247
+ };
248
+ }
249
+ async injectInbound({ domainOrId, mailboxAliasOrId, from, to, cc, bcc, subject, text, html, markdown, replyTo, date, attachments, headers, userData, triggerWebhook, }) {
250
+ const body = {
251
+ from: from,
252
+ to: to,
253
+ cc: cc,
254
+ bcc: bcc,
255
+ subject: subject,
256
+ text: text,
257
+ html: html,
258
+ markdown: markdown,
259
+ reply_to: replyTo,
260
+ date: date,
261
+ attachments: attachments
262
+ ?.map((item) => toThreadReplyAttachmentPayload(item))
263
+ ?.filter((item) => item !== undefined),
264
+ headers: headers,
265
+ user_data: userData,
266
+ trigger_webhook: triggerWebhook,
267
+ };
268
+ const response = await this.client.requestJSON('POST', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/inject-inbound`, {
269
+ body,
270
+ });
271
+ return Email.fromApiDict(response);
272
+ }
273
+ async get({ domainOrId, mailboxAliasOrId, emailId, includeOriginalBodies, }) {
274
+ const params = {
275
+ include_original_bodies: includeOriginalBodies,
276
+ };
277
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/emails/${emailId}`, {
278
+ params,
279
+ });
280
+ return Email.fromApiDict(response);
281
+ }
282
+ async delete({ domainOrId, mailboxAliasOrId, emailId, }) {
283
+ const response = await this.client.requestJSON('DELETE', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/emails/${emailId}`, {});
284
+ return response;
285
+ }
286
+ async update({ domainOrId, mailboxAliasOrId, emailId, userData, customSummary, setLabels, addLabels, removeLabels, }) {
287
+ const body = {
288
+ user_data: userData,
289
+ custom_summary: customSummary,
290
+ set_labels: setLabels,
291
+ add_labels: addLabels,
292
+ remove_labels: removeLabels,
293
+ };
294
+ const response = await this.client.requestJSON('PATCH', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/emails/${emailId}`, {
295
+ body,
296
+ supportsIdempotency: true,
297
+ });
298
+ return response;
299
+ }
300
+ async downloadRaw({ domainOrId, mailboxAliasOrId, emailId, }) {
301
+ return await this.client.requestBytes('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/emails/${emailId}/raw`, {});
302
+ }
303
+ }
304
+ export class ThreadsClient {
305
+ client;
306
+ constructor(client) {
307
+ this.client = client;
308
+ }
309
+ async listByDomain({ domainOrId, limit, cursor, q, labels, includeHidden, }) {
310
+ const params = {
311
+ limit: limit,
312
+ cursor: cursor,
313
+ q: q,
314
+ labels: labels,
315
+ include_hidden: includeHidden,
316
+ };
317
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/threads`, {
318
+ params,
319
+ });
320
+ return {
321
+ items: (response.items || []).map((item) => Thread.fromApiDict(item)),
322
+ next: response.next ?? null,
323
+ prev: response.prev ?? null,
324
+ };
325
+ }
326
+ async listByMailbox({ domainOrId, mailboxAliasOrId, limit, cursor, q, labels, includeHidden, }) {
327
+ const params = {
328
+ limit: limit,
329
+ cursor: cursor,
330
+ q: q,
331
+ labels: labels,
332
+ include_hidden: includeHidden,
333
+ };
334
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/threads`, {
335
+ params,
336
+ });
337
+ return {
338
+ items: (response.items || []).map((item) => Thread.fromApiDict(item)),
339
+ next: response.next ?? null,
340
+ prev: response.prev ?? null,
341
+ };
342
+ }
343
+ async new({ domainOrId, mailboxAliasOrId, to, cc, bcc, subject, from, text, html, markdown, replyTo, senderName, attachments, headers, addAutoReplyHeaders, processHtml, css, }) {
344
+ const body = {
345
+ to: to,
346
+ cc: cc,
347
+ bcc: bcc,
348
+ subject: subject,
349
+ from: from,
350
+ text: text,
351
+ html: html,
352
+ markdown: markdown,
353
+ reply_to: replyTo,
354
+ sender_name: senderName,
355
+ attachments: attachments
356
+ ?.map((item) => toThreadReplyAttachmentPayload(item))
357
+ ?.filter((item) => item !== undefined),
358
+ headers: headers,
359
+ add_auto_reply_headers: addAutoReplyHeaders,
360
+ process_html: processHtml,
361
+ css: css,
362
+ };
363
+ const response = await this.client.requestJSON('POST', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/threads`, {
364
+ body,
365
+ supportsIdempotency: true,
366
+ });
367
+ return Email.fromApiDict(response);
368
+ }
369
+ async get({ domainOrId, mailboxAliasOrId, threadId, includeHidden, }) {
370
+ const params = {
371
+ include_hidden: includeHidden,
372
+ };
373
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/threads/${threadId}`, {
374
+ params,
375
+ });
376
+ return ThreadWithMessages.fromApiDict(response);
377
+ }
378
+ async update({ domainOrId, mailboxAliasOrId, threadId, userData, customSummary, setLabels, addLabels, removeLabels, }) {
379
+ const body = {
380
+ user_data: userData,
381
+ custom_summary: customSummary,
382
+ set_labels: setLabels,
383
+ add_labels: addLabels,
384
+ remove_labels: removeLabels,
385
+ };
386
+ const response = await this.client.requestJSON('PATCH', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/threads/${threadId}`, {
387
+ body,
388
+ supportsIdempotency: true,
389
+ });
390
+ return response;
391
+ }
392
+ async rebuildByMailbox({ domainOrId, mailboxAliasOrId, }) {
393
+ const response = await this.client.requestJSON('POST', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/threads/rebuild`, {});
394
+ return response;
395
+ }
396
+ async move({ domainOrId, mailboxAliasOrId, targetMailboxAliasOrId, targetDomainOrId, all, threadIds, q, labels, includeHidden, }) {
397
+ const body = {
398
+ target_mailbox_alias_or_id: targetMailboxAliasOrId,
399
+ target_domain_or_id: targetDomainOrId,
400
+ all: all,
401
+ thread_ids: threadIds,
402
+ q: q,
403
+ labels: labels,
404
+ include_hidden: includeHidden,
405
+ };
406
+ const response = await this.client.requestJSON('POST', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/threads/move`, {
407
+ body,
408
+ });
409
+ return ThreadMoveResult.fromApiDict(response);
410
+ }
411
+ async reply({ domainOrId, mailboxAliasOrId, threadId, emailId, replyPolicy, replyTo, to, cc, bcc, subject, from, text, html, markdown, senderName, attachments, headers, addAutoReplyHeaders, processHtml, css, quoteReply, }) {
412
+ const body = {
413
+ email_id: emailId,
414
+ reply_policy: replyPolicy,
415
+ reply_to: replyTo,
416
+ to: to,
417
+ cc: cc,
418
+ bcc: bcc,
419
+ subject: subject,
420
+ from: from,
421
+ text: text,
422
+ html: html,
423
+ markdown: markdown,
424
+ sender_name: senderName,
425
+ attachments: attachments
426
+ ?.map((item) => toThreadReplyAttachmentPayload(item))
427
+ ?.filter((item) => item !== undefined),
428
+ headers: headers,
429
+ add_auto_reply_headers: addAutoReplyHeaders,
430
+ process_html: processHtml,
431
+ css: css,
432
+ quote_reply: quoteReply,
433
+ };
434
+ const response = await this.client.requestJSON('POST', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/threads/${threadId}/reply`, {
435
+ body,
436
+ supportsIdempotency: true,
437
+ });
438
+ return Email.fromApiDict(response);
439
+ }
440
+ }
441
+ export class ApikeysClient {
442
+ client;
443
+ constructor(client) {
444
+ this.client = client;
445
+ }
446
+ async list({ limit, cursor, } = {}) {
447
+ const params = {
448
+ limit: limit,
449
+ cursor: cursor,
450
+ };
451
+ const response = await this.client.requestJSON('GET', '/api-keys', {
452
+ params,
453
+ });
454
+ return {
455
+ items: (response.items || []).map((item) => APIKey.fromApiDict(item)),
456
+ next: response.next ?? null,
457
+ prev: response.prev ?? null,
458
+ };
459
+ }
460
+ async create({ note, expiresAt, } = {}) {
461
+ const body = {
462
+ note: note,
463
+ expires_at: expiresAt,
464
+ };
465
+ const response = await this.client.requestJSON('POST', '/api-keys', {
466
+ body,
467
+ supportsIdempotency: true,
468
+ });
469
+ return APIKey.fromApiDict(response);
470
+ }
471
+ async delete({ apiKeyId }) {
472
+ const response = await this.client.requestJSON('DELETE', `/api-keys/${apiKeyId}`, {});
473
+ return response;
474
+ }
475
+ }
476
+ export class WebhooksClient {
477
+ client;
478
+ constructor(client) {
479
+ this.client = client;
480
+ }
481
+ async list({ limit, cursor, } = {}) {
482
+ const params = {
483
+ limit: limit,
484
+ cursor: cursor,
485
+ };
486
+ const response = await this.client.requestJSON('GET', '/webhooks', {
487
+ params,
488
+ });
489
+ return {
490
+ items: (response.items || []).map((item) => Webhook.fromApiDict(item)),
491
+ next: response.next ?? null,
492
+ prev: response.prev ?? null,
493
+ };
494
+ }
495
+ async create({ id, url, secret, active, ephemeral, filters, } = {}) {
496
+ const body = {
497
+ id: id,
498
+ url: url,
499
+ secret: secret,
500
+ active: active,
501
+ ephemeral: ephemeral,
502
+ filters: toWebhookFiltersPayload(filters),
503
+ };
504
+ const response = await this.client.requestJSON('POST', '/webhooks', {
505
+ body,
506
+ supportsIdempotency: true,
507
+ });
508
+ return Webhook.fromApiDict(response);
509
+ }
510
+ async queue({ limit, cursor, } = {}) {
511
+ const params = {
512
+ limit: limit,
513
+ cursor: cursor,
514
+ };
515
+ const response = await this.client.requestJSON('GET', '/webhooks/queue', {
516
+ params,
517
+ });
518
+ return {
519
+ items: (response.items || []).map((item) => WebhookScheduledDelivery.fromApiDict(item)),
520
+ next: response.next ?? null,
521
+ prev: response.prev ?? null,
522
+ };
523
+ }
524
+ async deliveries({ limit, cursor, webhookId, deliveryId, } = {}) {
525
+ const params = {
526
+ limit: limit,
527
+ cursor: cursor,
528
+ webhook_id: webhookId,
529
+ delivery_id: deliveryId,
530
+ };
531
+ const response = await this.client.requestJSON('GET', '/webhooks/deliveries', {
532
+ params,
533
+ });
534
+ return {
535
+ items: (response.items || []).map((item) => WebhookDeliveryAttempt.fromApiDict(item)),
536
+ next: response.next ?? null,
537
+ prev: response.prev ?? null,
538
+ };
539
+ }
540
+ async redeliver({ deliveryId, webhookId, }) {
541
+ const body = {
542
+ webhook_id: webhookId,
543
+ };
544
+ const response = await this.client.requestJSON('POST', `/webhooks/deliveries/${deliveryId}/redeliver`, {
545
+ body,
546
+ supportsIdempotency: true,
547
+ });
548
+ return WebhookScheduledDelivery.fromApiDict(response);
549
+ }
550
+ async get({ webhookId }) {
551
+ const response = await this.client.requestJSON('GET', `/webhooks/${webhookId}`, {});
552
+ return Webhook.fromApiDict(response);
553
+ }
554
+ async delete({ webhookId }) {
555
+ const response = await this.client.requestJSON('DELETE', `/webhooks/${webhookId}`, {});
556
+ return response;
557
+ }
558
+ }
559
+ export class DeliveriesClient {
560
+ client;
561
+ constructor(client) {
562
+ this.client = client;
563
+ }
564
+ async list({ limit, cursor, provider, eventType, recipient, messageId, emailId, mailboxId, domainId, } = {}) {
565
+ const params = {
566
+ limit: limit,
567
+ cursor: cursor,
568
+ provider: provider,
569
+ event_type: eventType,
570
+ recipient: recipient,
571
+ message_id: messageId,
572
+ email_id: emailId,
573
+ mailbox_id: mailboxId,
574
+ domain_id: domainId,
575
+ };
576
+ const response = await this.client.requestJSON('GET', '/deliveries', {
577
+ params,
578
+ });
579
+ return {
580
+ items: (response.items || []).map((item) => DeliveryEvent.fromApiDict(item)),
581
+ next: response.next ?? null,
582
+ prev: response.prev ?? null,
583
+ };
584
+ }
585
+ }
586
+ export class SuppressionsClient {
587
+ client;
588
+ constructor(client) {
589
+ this.client = client;
590
+ }
591
+ async list({ limit, cursor, status, reason, } = {}) {
592
+ const params = {
593
+ limit: limit,
594
+ cursor: cursor,
595
+ status: status,
596
+ reason: reason,
597
+ };
598
+ const response = await this.client.requestJSON('GET', '/suppressions', {
599
+ params,
600
+ });
601
+ return PaginatedSuppressionsResponse.fromApiDict(response);
602
+ }
603
+ async update({ set, add, remove, } = {}) {
604
+ const body = {
605
+ set: set,
606
+ add: add,
607
+ remove: remove,
608
+ };
609
+ const response = await this.client.requestJSON('PATCH', '/suppressions', {
610
+ body,
611
+ });
612
+ return response;
613
+ }
614
+ }
615
+ export class AttachmentsClient {
616
+ client;
617
+ constructor(client) {
618
+ this.client = client;
619
+ }
620
+ async download({ domainOrId, mailboxAliasOrId, attachmentId, }) {
621
+ return await this.client.requestBytes('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/attachments/${attachmentId}`, {});
622
+ }
623
+ async update({ domainOrId, mailboxAliasOrId, attachmentId, filename, contentType, charset, customSummary, }) {
624
+ const body = {
625
+ filename: filename,
626
+ content_type: contentType,
627
+ charset: charset,
628
+ custom_summary: customSummary,
629
+ };
630
+ const response = await this.client.requestJSON('PATCH', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/attachments/${attachmentId}`, {
631
+ body,
632
+ });
633
+ return response;
634
+ }
635
+ async get({ domainOrId, mailboxAliasOrId, attachmentId, }) {
636
+ const response = await this.client.requestJSON('GET', `/domains/${domainOrId}/mb/${mailboxAliasOrId}/attachments/${attachmentId}/signed-url`, {});
637
+ return Attachment.fromApiDict(response);
638
+ }
639
+ async downloadSigned({ mailboxId, attachmentId, expires, signature, }) {
640
+ const params = {
641
+ expires: expires,
642
+ signature: signature,
643
+ };
644
+ return await this.client.requestBytes('GET', `/attachments/${mailboxId}/${attachmentId}/download`, {
645
+ params,
646
+ });
647
+ }
648
+ }
649
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/mailhook/_internals/resources.ts"],"names":[],"mappings":"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"}