@unsent/sdk 1.0.3 → 1.0.4

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
@@ -35,8 +35,20 @@ var Contacts = class {
35
35
  this.unsent = unsent2;
36
36
  this.unsent = unsent2;
37
37
  }
38
- async list(contactBookId) {
39
- return this.unsent.get(`/contactBooks/${contactBookId}/contacts`);
38
+ async list(contactBookId, query) {
39
+ const params = new URLSearchParams();
40
+ if (query?.emails) params.append("emails", query.emails);
41
+ if (query?.page) params.append("page", query.page.toString());
42
+ if (query?.limit) params.append("limit", query.limit.toString());
43
+ if (query?.ids) params.append("ids", query.ids);
44
+ const queryString = params.toString() ? `?${params.toString()}` : "";
45
+ const response = await this.unsent.get(
46
+ `/contactBooks/${contactBookId}/contacts${queryString}`
47
+ );
48
+ return {
49
+ data: response.data,
50
+ error: response.error
51
+ };
40
52
  }
41
53
  async create(contactBookId, payload) {
42
54
  const data = await this.unsent.post(
@@ -244,19 +256,39 @@ var ContactBooks = class {
244
256
  this.unsent = unsent2;
245
257
  }
246
258
  async list() {
247
- return this.unsent.get("/contactBooks");
259
+ const data = await this.unsent.get("/contactBooks");
260
+ return {
261
+ data: data.data,
262
+ error: data.error
263
+ };
248
264
  }
249
265
  async create(payload) {
250
- return this.unsent.post("/contactBooks", payload);
266
+ const data = await this.unsent.post("/contactBooks", payload);
267
+ return {
268
+ data: data.data,
269
+ error: data.error
270
+ };
251
271
  }
252
272
  async get(id) {
253
- return this.unsent.get(`/contactBooks/${id}`);
273
+ const data = await this.unsent.get(`/contactBooks/${id}`);
274
+ return {
275
+ data: data.data,
276
+ error: data.error
277
+ };
254
278
  }
255
279
  async update(id, payload) {
256
- return this.unsent.patch(`/contactBooks/${id}`, payload);
280
+ const data = await this.unsent.patch(`/contactBooks/${id}`, payload);
281
+ return {
282
+ data: data.data,
283
+ error: data.error
284
+ };
257
285
  }
258
286
  async delete(id) {
259
- return this.unsent.delete(`/contactBooks/${id}`);
287
+ const data = await this.unsent.delete(`/contactBooks/${id}`);
288
+ return {
289
+ data: data.data,
290
+ error: data.error
291
+ };
260
292
  }
261
293
  };
262
294
 
@@ -267,19 +299,39 @@ var Templates = class {
267
299
  this.unsent = unsent2;
268
300
  }
269
301
  async list() {
270
- return this.unsent.get("/templates");
302
+ const data = await this.unsent.get("/templates");
303
+ return {
304
+ data: data.data,
305
+ error: data.error
306
+ };
271
307
  }
272
308
  async create(payload) {
273
- return this.unsent.post("/templates", payload);
309
+ const data = await this.unsent.post("/templates", payload);
310
+ return {
311
+ data: data.data,
312
+ error: data.error
313
+ };
274
314
  }
275
315
  async get(id) {
276
- return this.unsent.get(`/templates/${id}`);
316
+ const data = await this.unsent.get(`/templates/${id}`);
317
+ return {
318
+ data: data.data,
319
+ error: data.error
320
+ };
277
321
  }
278
322
  async update(id, payload) {
279
- return this.unsent.patch(`/templates/${id}`, payload);
323
+ const data = await this.unsent.patch(`/templates/${id}`, payload);
324
+ return {
325
+ data: data.data,
326
+ error: data.error
327
+ };
280
328
  }
281
329
  async delete(id) {
282
- return this.unsent.delete(`/templates/${id}`);
330
+ const data = await this.unsent.delete(`/templates/${id}`);
331
+ return {
332
+ data: data.data,
333
+ error: data.error
334
+ };
283
335
  }
284
336
  };
285
337
 
@@ -309,25 +361,37 @@ var Analytics = class {
309
361
  this.unsent = unsent2;
310
362
  this.unsent = unsent2;
311
363
  }
312
- async get(query) {
313
- return this.unsent.get("/analytics");
364
+ async get() {
365
+ const data = await this.unsent.get("/analytics");
366
+ return {
367
+ data: data.data,
368
+ error: data.error
369
+ };
314
370
  }
315
371
  async getTimeSeries(query) {
316
372
  const params = new URLSearchParams();
317
373
  if (query?.days) params.append("days", query.days.toString());
318
374
  if (query?.domain) params.append("domain", query.domain);
319
375
  const queryString = params.toString() ? `?${params.toString()}` : "";
320
- return this.unsent.get(
376
+ const data = await this.unsent.get(
321
377
  `/analytics/time-series${queryString}`
322
378
  );
379
+ return {
380
+ data: data.data,
381
+ error: data.error
382
+ };
323
383
  }
324
384
  async getReputation(query) {
325
385
  const params = new URLSearchParams();
326
386
  if (query?.domain) params.append("domain", query.domain);
327
387
  const queryString = params.toString() ? `?${params.toString()}` : "";
328
- return this.unsent.get(
388
+ const data = await this.unsent.get(
329
389
  `/analytics/reputation${queryString}`
330
390
  );
391
+ return {
392
+ data: data.data,
393
+ error: data.error
394
+ };
331
395
  }
332
396
  };
333
397
 
@@ -338,7 +402,11 @@ var Campaigns = class {
338
402
  this.unsent = unsent2;
339
403
  }
340
404
  async list() {
341
- return this.unsent.get("/campaigns");
405
+ const data = await this.unsent.get("/campaigns");
406
+ return {
407
+ data: data.data,
408
+ error: data.error
409
+ };
342
410
  }
343
411
  async create(payload) {
344
412
  const data = await this.unsent.post(
@@ -386,14 +454,35 @@ var Suppressions = class {
386
454
  const params = new URLSearchParams();
387
455
  if (query?.page) params.append("page", query.page.toString());
388
456
  if (query?.limit) params.append("limit", query.limit.toString());
457
+ if (query?.search) params.append("search", query.search);
458
+ if (query?.reason) params.append("reason", query.reason);
389
459
  const queryString = params.toString() ? `?${params.toString()}` : "";
390
- return this.unsent.get(`/suppressions${queryString}`);
460
+ const response = await this.unsent.get(
461
+ `/suppressions${queryString}`
462
+ );
463
+ return {
464
+ data: response.data,
465
+ error: response.error
466
+ };
391
467
  }
392
468
  async add(payload) {
393
- return this.unsent.post("/suppressions", payload);
469
+ const data = await this.unsent.post(
470
+ "/suppressions",
471
+ payload
472
+ );
473
+ return {
474
+ data: data.data,
475
+ error: data.error
476
+ };
394
477
  }
395
478
  async delete(email) {
396
- return this.unsent.delete(`/suppressions/email/${email}`);
479
+ const data = await this.unsent.delete(
480
+ `/suppressions/email/${email}`
481
+ );
482
+ return {
483
+ data: data.data,
484
+ error: data.error
485
+ };
397
486
  }
398
487
  };
399
488
 
@@ -404,13 +493,25 @@ var ApiKeys = class {
404
493
  this.unsent = unsent2;
405
494
  }
406
495
  async list() {
407
- return this.unsent.get("/api-keys");
496
+ const data = await this.unsent.get("/api-keys");
497
+ return {
498
+ data: data.data,
499
+ error: data.error
500
+ };
408
501
  }
409
502
  async create(payload) {
410
- return this.unsent.post("/api-keys", payload);
503
+ const data = await this.unsent.post("/api-keys", payload);
504
+ return {
505
+ data: data.data,
506
+ error: data.error
507
+ };
411
508
  }
412
509
  async delete(id) {
413
- return this.unsent.delete(`/api-keys/${id}`);
510
+ const data = await this.unsent.delete(`/api-keys/${id}`);
511
+ return {
512
+ data: data.data,
513
+ error: data.error
514
+ };
414
515
  }
415
516
  };
416
517
 
package/dist/index.mjs CHANGED
@@ -4,8 +4,20 @@ var Contacts = class {
4
4
  this.unsent = unsent2;
5
5
  this.unsent = unsent2;
6
6
  }
7
- async list(contactBookId) {
8
- return this.unsent.get(`/contactBooks/${contactBookId}/contacts`);
7
+ async list(contactBookId, query) {
8
+ const params = new URLSearchParams();
9
+ if (query?.emails) params.append("emails", query.emails);
10
+ if (query?.page) params.append("page", query.page.toString());
11
+ if (query?.limit) params.append("limit", query.limit.toString());
12
+ if (query?.ids) params.append("ids", query.ids);
13
+ const queryString = params.toString() ? `?${params.toString()}` : "";
14
+ const response = await this.unsent.get(
15
+ `/contactBooks/${contactBookId}/contacts${queryString}`
16
+ );
17
+ return {
18
+ data: response.data,
19
+ error: response.error
20
+ };
9
21
  }
10
22
  async create(contactBookId, payload) {
11
23
  const data = await this.unsent.post(
@@ -213,19 +225,39 @@ var ContactBooks = class {
213
225
  this.unsent = unsent2;
214
226
  }
215
227
  async list() {
216
- return this.unsent.get("/contactBooks");
228
+ const data = await this.unsent.get("/contactBooks");
229
+ return {
230
+ data: data.data,
231
+ error: data.error
232
+ };
217
233
  }
218
234
  async create(payload) {
219
- return this.unsent.post("/contactBooks", payload);
235
+ const data = await this.unsent.post("/contactBooks", payload);
236
+ return {
237
+ data: data.data,
238
+ error: data.error
239
+ };
220
240
  }
221
241
  async get(id) {
222
- return this.unsent.get(`/contactBooks/${id}`);
242
+ const data = await this.unsent.get(`/contactBooks/${id}`);
243
+ return {
244
+ data: data.data,
245
+ error: data.error
246
+ };
223
247
  }
224
248
  async update(id, payload) {
225
- return this.unsent.patch(`/contactBooks/${id}`, payload);
249
+ const data = await this.unsent.patch(`/contactBooks/${id}`, payload);
250
+ return {
251
+ data: data.data,
252
+ error: data.error
253
+ };
226
254
  }
227
255
  async delete(id) {
228
- return this.unsent.delete(`/contactBooks/${id}`);
256
+ const data = await this.unsent.delete(`/contactBooks/${id}`);
257
+ return {
258
+ data: data.data,
259
+ error: data.error
260
+ };
229
261
  }
230
262
  };
231
263
 
@@ -236,19 +268,39 @@ var Templates = class {
236
268
  this.unsent = unsent2;
237
269
  }
238
270
  async list() {
239
- return this.unsent.get("/templates");
271
+ const data = await this.unsent.get("/templates");
272
+ return {
273
+ data: data.data,
274
+ error: data.error
275
+ };
240
276
  }
241
277
  async create(payload) {
242
- return this.unsent.post("/templates", payload);
278
+ const data = await this.unsent.post("/templates", payload);
279
+ return {
280
+ data: data.data,
281
+ error: data.error
282
+ };
243
283
  }
244
284
  async get(id) {
245
- return this.unsent.get(`/templates/${id}`);
285
+ const data = await this.unsent.get(`/templates/${id}`);
286
+ return {
287
+ data: data.data,
288
+ error: data.error
289
+ };
246
290
  }
247
291
  async update(id, payload) {
248
- return this.unsent.patch(`/templates/${id}`, payload);
292
+ const data = await this.unsent.patch(`/templates/${id}`, payload);
293
+ return {
294
+ data: data.data,
295
+ error: data.error
296
+ };
249
297
  }
250
298
  async delete(id) {
251
- return this.unsent.delete(`/templates/${id}`);
299
+ const data = await this.unsent.delete(`/templates/${id}`);
300
+ return {
301
+ data: data.data,
302
+ error: data.error
303
+ };
252
304
  }
253
305
  };
254
306
 
@@ -278,25 +330,37 @@ var Analytics = class {
278
330
  this.unsent = unsent2;
279
331
  this.unsent = unsent2;
280
332
  }
281
- async get(query) {
282
- return this.unsent.get("/analytics");
333
+ async get() {
334
+ const data = await this.unsent.get("/analytics");
335
+ return {
336
+ data: data.data,
337
+ error: data.error
338
+ };
283
339
  }
284
340
  async getTimeSeries(query) {
285
341
  const params = new URLSearchParams();
286
342
  if (query?.days) params.append("days", query.days.toString());
287
343
  if (query?.domain) params.append("domain", query.domain);
288
344
  const queryString = params.toString() ? `?${params.toString()}` : "";
289
- return this.unsent.get(
345
+ const data = await this.unsent.get(
290
346
  `/analytics/time-series${queryString}`
291
347
  );
348
+ return {
349
+ data: data.data,
350
+ error: data.error
351
+ };
292
352
  }
293
353
  async getReputation(query) {
294
354
  const params = new URLSearchParams();
295
355
  if (query?.domain) params.append("domain", query.domain);
296
356
  const queryString = params.toString() ? `?${params.toString()}` : "";
297
- return this.unsent.get(
357
+ const data = await this.unsent.get(
298
358
  `/analytics/reputation${queryString}`
299
359
  );
360
+ return {
361
+ data: data.data,
362
+ error: data.error
363
+ };
300
364
  }
301
365
  };
302
366
 
@@ -307,7 +371,11 @@ var Campaigns = class {
307
371
  this.unsent = unsent2;
308
372
  }
309
373
  async list() {
310
- return this.unsent.get("/campaigns");
374
+ const data = await this.unsent.get("/campaigns");
375
+ return {
376
+ data: data.data,
377
+ error: data.error
378
+ };
311
379
  }
312
380
  async create(payload) {
313
381
  const data = await this.unsent.post(
@@ -355,14 +423,35 @@ var Suppressions = class {
355
423
  const params = new URLSearchParams();
356
424
  if (query?.page) params.append("page", query.page.toString());
357
425
  if (query?.limit) params.append("limit", query.limit.toString());
426
+ if (query?.search) params.append("search", query.search);
427
+ if (query?.reason) params.append("reason", query.reason);
358
428
  const queryString = params.toString() ? `?${params.toString()}` : "";
359
- return this.unsent.get(`/suppressions${queryString}`);
429
+ const response = await this.unsent.get(
430
+ `/suppressions${queryString}`
431
+ );
432
+ return {
433
+ data: response.data,
434
+ error: response.error
435
+ };
360
436
  }
361
437
  async add(payload) {
362
- return this.unsent.post("/suppressions", payload);
438
+ const data = await this.unsent.post(
439
+ "/suppressions",
440
+ payload
441
+ );
442
+ return {
443
+ data: data.data,
444
+ error: data.error
445
+ };
363
446
  }
364
447
  async delete(email) {
365
- return this.unsent.delete(`/suppressions/email/${email}`);
448
+ const data = await this.unsent.delete(
449
+ `/suppressions/email/${email}`
450
+ );
451
+ return {
452
+ data: data.data,
453
+ error: data.error
454
+ };
366
455
  }
367
456
  };
368
457
 
@@ -373,13 +462,25 @@ var ApiKeys = class {
373
462
  this.unsent = unsent2;
374
463
  }
375
464
  async list() {
376
- return this.unsent.get("/api-keys");
465
+ const data = await this.unsent.get("/api-keys");
466
+ return {
467
+ data: data.data,
468
+ error: data.error
469
+ };
377
470
  }
378
471
  async create(payload) {
379
- return this.unsent.post("/api-keys", payload);
472
+ const data = await this.unsent.post("/api-keys", payload);
473
+ return {
474
+ data: data.data,
475
+ error: data.error
476
+ };
380
477
  }
381
478
  async delete(id) {
382
- return this.unsent.delete(`/api-keys/${id}`);
479
+ const data = await this.unsent.delete(`/api-keys/${id}`);
480
+ return {
481
+ data: data.data,
482
+ error: data.error
483
+ };
383
484
  }
384
485
  };
385
486
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unsent/sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "TypeScript SDK for the Unsent API - Send transactional emails with ease",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -33,14 +33,17 @@
33
33
  "openapi-typescript": "^7.6.1",
34
34
  "tsup": "^8.5.0",
35
35
  "typescript": "^5.8.3",
36
- "@unsent/typescript-config": "0.0.0"
36
+ "@unsent/typescript-config": "0.0.0",
37
+ "@unsent/vitest-config": "0.0.0"
37
38
  },
38
39
  "dependencies": {
39
40
  "@react-email/render": "^1.0.6",
40
- "react": "^19.1.0"
41
+ "react": "^19.1.0",
42
+ "vitest": "^2.1.8"
41
43
  },
42
44
  "scripts": {
43
45
  "build": "rm -rf dist && tsup index.ts --format esm,cjs --dts",
46
+ "test": "vitest",
44
47
  "publish-sdk": "pnpm run build && pnpm publish --no-git-checks --access public",
45
48
  "openapi:generate": "openapi-typescript ../../apps/docs/public/api-reference.json -o types/schema.d.ts"
46
49
  }