@unsent/sdk 1.0.3 → 1.0.5

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/dist/index.js CHANGED
@@ -20,9 +20,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ activity: () => Activity,
23
24
  analytics: () => Analytics,
24
25
  campaigns: () => Campaigns,
25
26
  contactBooks: () => ContactBooks,
27
+ events: () => Events,
28
+ metrics: () => Metrics,
29
+ stats: () => Stats,
30
+ system: () => System,
31
+ teams: () => Teams,
26
32
  templates: () => Templates,
27
33
  unsent: () => unsent,
28
34
  webhooks: () => Webhooks
@@ -35,8 +41,20 @@ var Contacts = class {
35
41
  this.unsent = unsent2;
36
42
  this.unsent = unsent2;
37
43
  }
38
- async list(contactBookId) {
39
- return this.unsent.get(`/contactBooks/${contactBookId}/contacts`);
44
+ async list(contactBookId, query) {
45
+ const params = new URLSearchParams();
46
+ if (query?.emails) params.append("emails", query.emails);
47
+ if (query?.page) params.append("page", query.page.toString());
48
+ if (query?.limit) params.append("limit", query.limit.toString());
49
+ if (query?.ids) params.append("ids", query.ids);
50
+ const queryString = params.toString() ? `?${params.toString()}` : "";
51
+ const response = await this.unsent.get(
52
+ `/contactBooks/${contactBookId}/contacts${queryString}`
53
+ );
54
+ return {
55
+ data: response.data,
56
+ error: response.error
57
+ };
40
58
  }
41
59
  async create(contactBookId, payload) {
42
60
  const data = await this.unsent.post(
@@ -197,6 +215,16 @@ var Emails = class {
197
215
  );
198
216
  return data;
199
217
  }
218
+ async getEvents(emailId, query) {
219
+ const params = new URLSearchParams();
220
+ if (query?.page) params.append("page", query.page.toString());
221
+ if (query?.limit) params.append("limit", query.limit.toString());
222
+ const queryString = params.toString() ? `?${params.toString()}` : "";
223
+ const data = await this.unsent.get(
224
+ `/emails/${emailId}/events${queryString}`
225
+ );
226
+ return data;
227
+ }
200
228
  };
201
229
 
202
230
  // src/domain.ts
@@ -235,6 +263,25 @@ var Domains = class {
235
263
  );
236
264
  return data;
237
265
  }
266
+ async getAnalytics(id, query) {
267
+ const params = new URLSearchParams();
268
+ if (query?.period) params.append("period", query.period);
269
+ const queryString = params.toString() ? `?${params.toString()}` : "";
270
+ const data = await this.unsent.get(
271
+ `/domains/${id}/analytics${queryString}`
272
+ );
273
+ return data;
274
+ }
275
+ async getStats(id, query) {
276
+ const params = new URLSearchParams();
277
+ if (query?.startDate) params.append("startDate", query.startDate);
278
+ if (query?.endDate) params.append("endDate", query.endDate);
279
+ const queryString = params.toString() ? `?${params.toString()}` : "";
280
+ const data = await this.unsent.get(
281
+ `/domains/${id}/stats${queryString}`
282
+ );
283
+ return data;
284
+ }
238
285
  };
239
286
 
240
287
  // src/contact-book.ts
@@ -244,19 +291,39 @@ var ContactBooks = class {
244
291
  this.unsent = unsent2;
245
292
  }
246
293
  async list() {
247
- return this.unsent.get("/contactBooks");
294
+ const data = await this.unsent.get("/contactBooks");
295
+ return {
296
+ data: data.data,
297
+ error: data.error
298
+ };
248
299
  }
249
300
  async create(payload) {
250
- return this.unsent.post("/contactBooks", payload);
301
+ const data = await this.unsent.post("/contactBooks", payload);
302
+ return {
303
+ data: data.data,
304
+ error: data.error
305
+ };
251
306
  }
252
307
  async get(id) {
253
- return this.unsent.get(`/contactBooks/${id}`);
308
+ const data = await this.unsent.get(`/contactBooks/${id}`);
309
+ return {
310
+ data: data.data,
311
+ error: data.error
312
+ };
254
313
  }
255
314
  async update(id, payload) {
256
- return this.unsent.patch(`/contactBooks/${id}`, payload);
315
+ const data = await this.unsent.patch(`/contactBooks/${id}`, payload);
316
+ return {
317
+ data: data.data,
318
+ error: data.error
319
+ };
257
320
  }
258
321
  async delete(id) {
259
- return this.unsent.delete(`/contactBooks/${id}`);
322
+ const data = await this.unsent.delete(`/contactBooks/${id}`);
323
+ return {
324
+ data: data.data,
325
+ error: data.error
326
+ };
260
327
  }
261
328
  };
262
329
 
@@ -267,19 +334,39 @@ var Templates = class {
267
334
  this.unsent = unsent2;
268
335
  }
269
336
  async list() {
270
- return this.unsent.get("/templates");
337
+ const data = await this.unsent.get("/templates");
338
+ return {
339
+ data: data.data?.data ?? null,
340
+ error: data.error
341
+ };
271
342
  }
272
343
  async create(payload) {
273
- return this.unsent.post("/templates", payload);
344
+ const data = await this.unsent.post("/templates", payload);
345
+ return {
346
+ data: data.data,
347
+ error: data.error
348
+ };
274
349
  }
275
350
  async get(id) {
276
- return this.unsent.get(`/templates/${id}`);
351
+ const data = await this.unsent.get(`/templates/${id}`);
352
+ return {
353
+ data: data.data,
354
+ error: data.error
355
+ };
277
356
  }
278
357
  async update(id, payload) {
279
- return this.unsent.patch(`/templates/${id}`, payload);
358
+ const data = await this.unsent.patch(`/templates/${id}`, payload);
359
+ return {
360
+ data: data.data,
361
+ error: data.error
362
+ };
280
363
  }
281
364
  async delete(id) {
282
- return this.unsent.delete(`/templates/${id}`);
365
+ const data = await this.unsent.delete(`/templates/${id}`);
366
+ return {
367
+ data: data.data,
368
+ error: data.error
369
+ };
283
370
  }
284
371
  };
285
372
 
@@ -292,6 +379,9 @@ var Webhooks = class {
292
379
  async list() {
293
380
  return this.unsent.get("/webhooks");
294
381
  }
382
+ async get(id) {
383
+ return this.unsent.get(`/webhooks/${id}`);
384
+ }
295
385
  async create(payload) {
296
386
  return this.unsent.post("/webhooks", payload);
297
387
  }
@@ -301,6 +391,9 @@ var Webhooks = class {
301
391
  async delete(id) {
302
392
  return this.unsent.delete(`/webhooks/${id}`);
303
393
  }
394
+ async test(id) {
395
+ return this.unsent.post(`/webhooks/${id}/test`, {});
396
+ }
304
397
  };
305
398
 
306
399
  // src/analytics.ts
@@ -309,25 +402,37 @@ var Analytics = class {
309
402
  this.unsent = unsent2;
310
403
  this.unsent = unsent2;
311
404
  }
312
- async get(query) {
313
- return this.unsent.get("/analytics");
405
+ async get() {
406
+ const data = await this.unsent.get("/analytics");
407
+ return {
408
+ data: data.data,
409
+ error: data.error
410
+ };
314
411
  }
315
412
  async getTimeSeries(query) {
316
413
  const params = new URLSearchParams();
317
414
  if (query?.days) params.append("days", query.days.toString());
318
415
  if (query?.domain) params.append("domain", query.domain);
319
416
  const queryString = params.toString() ? `?${params.toString()}` : "";
320
- return this.unsent.get(
417
+ const data = await this.unsent.get(
321
418
  `/analytics/time-series${queryString}`
322
419
  );
420
+ return {
421
+ data: data.data,
422
+ error: data.error
423
+ };
323
424
  }
324
425
  async getReputation(query) {
325
426
  const params = new URLSearchParams();
326
427
  if (query?.domain) params.append("domain", query.domain);
327
428
  const queryString = params.toString() ? `?${params.toString()}` : "";
328
- return this.unsent.get(
429
+ const data = await this.unsent.get(
329
430
  `/analytics/reputation${queryString}`
330
431
  );
432
+ return {
433
+ data: data.data,
434
+ error: data.error
435
+ };
331
436
  }
332
437
  };
333
438
 
@@ -338,7 +443,11 @@ var Campaigns = class {
338
443
  this.unsent = unsent2;
339
444
  }
340
445
  async list() {
341
- return this.unsent.get("/campaigns");
446
+ const data = await this.unsent.get("/campaigns");
447
+ return {
448
+ data: data.data,
449
+ error: data.error
450
+ };
342
451
  }
343
452
  async create(payload) {
344
453
  const data = await this.unsent.post(
@@ -386,14 +495,38 @@ var Suppressions = class {
386
495
  const params = new URLSearchParams();
387
496
  if (query?.page) params.append("page", query.page.toString());
388
497
  if (query?.limit) params.append("limit", query.limit.toString());
498
+ if (query?.search) params.append("search", query.search);
499
+ if (query?.reason) params.append("reason", query.reason);
389
500
  const queryString = params.toString() ? `?${params.toString()}` : "";
390
- return this.unsent.get(`/suppressions${queryString}`);
501
+ const response = await this.unsent.get(
502
+ `/suppressions${queryString}`
503
+ );
504
+ return {
505
+ data: response.data?.suppressions ? {
506
+ data: response.data.suppressions,
507
+ total: response.data.total ?? 0
508
+ } : null,
509
+ error: response.error
510
+ };
391
511
  }
392
512
  async add(payload) {
393
- return this.unsent.post("/suppressions", payload);
513
+ const data = await this.unsent.post(
514
+ "/suppressions",
515
+ payload
516
+ );
517
+ return {
518
+ data: data.data,
519
+ error: data.error
520
+ };
394
521
  }
395
522
  async delete(email) {
396
- return this.unsent.delete(`/suppressions/email/${email}`);
523
+ const data = await this.unsent.delete(
524
+ `/suppressions/email/${email}`
525
+ );
526
+ return {
527
+ data: data.data,
528
+ error: data.error
529
+ };
397
530
  }
398
531
  };
399
532
 
@@ -404,13 +537,25 @@ var ApiKeys = class {
404
537
  this.unsent = unsent2;
405
538
  }
406
539
  async list() {
407
- return this.unsent.get("/api-keys");
540
+ const data = await this.unsent.get("/api-keys");
541
+ return {
542
+ data: data.data,
543
+ error: data.error
544
+ };
408
545
  }
409
546
  async create(payload) {
410
- return this.unsent.post("/api-keys", payload);
547
+ const data = await this.unsent.post("/api-keys", payload);
548
+ return {
549
+ data: data.data,
550
+ error: data.error
551
+ };
411
552
  }
412
553
  async delete(id) {
413
- return this.unsent.delete(`/api-keys/${id}`);
554
+ const data = await this.unsent.delete(`/api-keys/${id}`);
555
+ return {
556
+ data: data.data,
557
+ error: data.error
558
+ };
414
559
  }
415
560
  };
416
561
 
@@ -425,6 +570,111 @@ var Settings = class {
425
570
  }
426
571
  };
427
572
 
573
+ // src/event.ts
574
+ var Events = class {
575
+ constructor(unsent2) {
576
+ this.unsent = unsent2;
577
+ this.unsent = unsent2;
578
+ }
579
+ async list(query) {
580
+ const params = new URLSearchParams();
581
+ if (query?.page) params.append("page", query.page.toString());
582
+ if (query?.limit) params.append("limit", query.limit.toString());
583
+ if (query?.status) params.append("status", query.status);
584
+ if (query?.startDate) params.append("startDate", query.startDate);
585
+ const queryString = params.toString() ? `?${params.toString()}` : "";
586
+ const data = await this.unsent.get(
587
+ `/events${queryString}`
588
+ );
589
+ return data;
590
+ }
591
+ };
592
+
593
+ // src/metrics.ts
594
+ var Metrics = class {
595
+ constructor(unsent2) {
596
+ this.unsent = unsent2;
597
+ this.unsent = unsent2;
598
+ }
599
+ async get(query) {
600
+ const params = new URLSearchParams();
601
+ if (query?.period) params.append("period", query.period);
602
+ const queryString = params.toString() ? `?${params.toString()}` : "";
603
+ const data = await this.unsent.get(
604
+ `/metrics${queryString}`
605
+ );
606
+ return data;
607
+ }
608
+ };
609
+
610
+ // src/stats.ts
611
+ var Stats = class {
612
+ constructor(unsent2) {
613
+ this.unsent = unsent2;
614
+ this.unsent = unsent2;
615
+ }
616
+ async get(query) {
617
+ const params = new URLSearchParams();
618
+ if (query?.startDate) params.append("startDate", query.startDate);
619
+ if (query?.endDate) params.append("endDate", query.endDate);
620
+ const queryString = params.toString() ? `?${params.toString()}` : "";
621
+ const data = await this.unsent.get(
622
+ `/stats${queryString}`
623
+ );
624
+ return data;
625
+ }
626
+ };
627
+
628
+ // src/activity.ts
629
+ var Activity = class {
630
+ constructor(unsent2) {
631
+ this.unsent = unsent2;
632
+ this.unsent = unsent2;
633
+ }
634
+ async get(query) {
635
+ const params = new URLSearchParams();
636
+ if (query?.page) params.append("page", query.page.toString());
637
+ if (query?.limit) params.append("limit", query.limit.toString());
638
+ const queryString = params.toString() ? `?${params.toString()}` : "";
639
+ const data = await this.unsent.get(
640
+ `/activity${queryString}`
641
+ );
642
+ return data;
643
+ }
644
+ };
645
+
646
+ // src/team.ts
647
+ var Teams = class {
648
+ constructor(unsent2) {
649
+ this.unsent = unsent2;
650
+ this.unsent = unsent2;
651
+ }
652
+ async get() {
653
+ const data = await this.unsent.get("/team");
654
+ return data;
655
+ }
656
+ async list() {
657
+ const data = await this.unsent.get("/teams");
658
+ return data;
659
+ }
660
+ };
661
+
662
+ // src/system.ts
663
+ var System = class {
664
+ constructor(unsent2) {
665
+ this.unsent = unsent2;
666
+ this.unsent = unsent2;
667
+ }
668
+ async health() {
669
+ const data = await this.unsent.get("/health");
670
+ return data;
671
+ }
672
+ async version() {
673
+ const data = await this.unsent.get("/version");
674
+ return data;
675
+ }
676
+ };
677
+
428
678
  // src/unsent.ts
429
679
  var defaultBaseUrl = "https://api.unsent.dev";
430
680
  var baseUrl = `${process?.env?.UNSENT_BASE_URL ?? process?.env?.UNSENT_BASE_URL ?? defaultBaseUrl}/v1`;
@@ -464,6 +714,12 @@ var unsent = class {
464
714
  suppressions = new Suppressions(this);
465
715
  apiKeys = new ApiKeys(this);
466
716
  settings = new Settings(this);
717
+ events = new Events(this);
718
+ metrics = new Metrics(this);
719
+ stats = new Stats(this);
720
+ activity = new Activity(this);
721
+ teams = new Teams(this);
722
+ system = new System(this);
467
723
  url = baseUrl;
468
724
  async fetchRequest(path, options = {}) {
469
725
  const fullUrl = `${this.url}${path}`;
@@ -553,9 +809,15 @@ var unsent = class {
553
809
  };
554
810
  // Annotate the CommonJS export names for ESM import in node:
555
811
  0 && (module.exports = {
812
+ activity,
556
813
  analytics,
557
814
  campaigns,
558
815
  contactBooks,
816
+ events,
817
+ metrics,
818
+ stats,
819
+ system,
820
+ teams,
559
821
  templates,
560
822
  unsent,
561
823
  webhooks