@trycourier/courier 6.0.7 → 6.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.
Files changed (117) hide show
  1. package/Client.d.ts +1 -0
  2. package/Client.js +4 -4
  3. package/api/resources/audiences/client/Client.d.ts +1 -0
  4. package/api/resources/audiences/client/Client.js +20 -20
  5. package/api/resources/auditEvents/client/Client.d.ts +1 -0
  6. package/api/resources/auditEvents/client/Client.js +8 -8
  7. package/api/resources/authTokens/client/Client.d.ts +1 -0
  8. package/api/resources/authTokens/client/Client.js +4 -4
  9. package/api/resources/automations/client/Client.d.ts +1 -0
  10. package/api/resources/automations/client/Client.js +8 -8
  11. package/api/resources/brands/client/Client.d.ts +1 -0
  12. package/api/resources/brands/client/Client.js +20 -20
  13. package/api/resources/bulk/client/Client.d.ts +1 -0
  14. package/api/resources/bulk/client/Client.js +20 -20
  15. package/api/resources/lists/client/Client.d.ts +2 -1
  16. package/api/resources/lists/client/Client.js +41 -50
  17. package/api/resources/lists/client/requests/index.d.ts +0 -1
  18. package/api/resources/lists/types/index.d.ts +0 -5
  19. package/api/resources/lists/types/index.js +0 -5
  20. package/api/resources/messages/client/Client.d.ts +1 -0
  21. package/api/resources/messages/client/Client.js +24 -24
  22. package/api/resources/notifications/client/Client.d.ts +1 -0
  23. package/api/resources/notifications/client/Client.js +32 -32
  24. package/api/resources/profiles/client/Client.d.ts +1 -0
  25. package/api/resources/profiles/client/Client.js +28 -28
  26. package/api/resources/templates/client/Client.d.ts +1 -0
  27. package/api/resources/templates/client/Client.js +4 -4
  28. package/api/resources/tenants/client/Client.d.ts +3 -2
  29. package/api/resources/tenants/client/Client.js +40 -22
  30. package/api/resources/tenants/client/requests/ListTenantParams.d.ts +14 -0
  31. package/api/resources/tenants/client/requests/ListUsersForTenantParams.d.ts +14 -0
  32. package/api/resources/tenants/client/requests/index.d.ts +2 -0
  33. package/api/resources/tenants/types/ListUsersForTenantResponse.d.ts +1 -1
  34. package/api/resources/translations/client/Client.d.ts +1 -0
  35. package/api/resources/translations/client/Client.js +8 -8
  36. package/api/resources/users/client/Client.d.ts +1 -0
  37. package/api/resources/users/resources/preferences/client/Client.d.ts +1 -0
  38. package/api/resources/users/resources/preferences/client/Client.js +12 -12
  39. package/api/resources/users/resources/tenants/client/Client.d.ts +5 -0
  40. package/api/resources/users/resources/tenants/client/Client.js +62 -19
  41. package/api/resources/users/resources/tenants/client/requests/ListTenantsForUserParams.d.ts +2 -2
  42. package/api/resources/users/resources/tenants/types/ListTenantsForUserResponse.d.ts +1 -1
  43. package/api/resources/users/resources/tokens/client/Client.d.ts +1 -0
  44. package/api/resources/users/resources/tokens/client/Client.js +20 -20
  45. package/core/fetcher/Fetcher.js +3 -5
  46. package/dist/Client.d.ts +1 -0
  47. package/dist/Client.js +4 -4
  48. package/dist/api/resources/audiences/client/Client.d.ts +1 -0
  49. package/dist/api/resources/audiences/client/Client.js +20 -20
  50. package/dist/api/resources/auditEvents/client/Client.d.ts +1 -0
  51. package/dist/api/resources/auditEvents/client/Client.js +8 -8
  52. package/dist/api/resources/authTokens/client/Client.d.ts +1 -0
  53. package/dist/api/resources/authTokens/client/Client.js +4 -4
  54. package/dist/api/resources/automations/client/Client.d.ts +1 -0
  55. package/dist/api/resources/automations/client/Client.js +8 -8
  56. package/dist/api/resources/brands/client/Client.d.ts +1 -0
  57. package/dist/api/resources/brands/client/Client.js +20 -20
  58. package/dist/api/resources/bulk/client/Client.d.ts +1 -0
  59. package/dist/api/resources/bulk/client/Client.js +20 -20
  60. package/dist/api/resources/lists/client/Client.d.ts +2 -1
  61. package/dist/api/resources/lists/client/Client.js +41 -50
  62. package/dist/api/resources/lists/client/requests/index.d.ts +0 -1
  63. package/dist/api/resources/lists/types/index.d.ts +0 -5
  64. package/dist/api/resources/lists/types/index.js +0 -5
  65. package/dist/api/resources/messages/client/Client.d.ts +1 -0
  66. package/dist/api/resources/messages/client/Client.js +24 -24
  67. package/dist/api/resources/notifications/client/Client.d.ts +1 -0
  68. package/dist/api/resources/notifications/client/Client.js +32 -32
  69. package/dist/api/resources/profiles/client/Client.d.ts +1 -0
  70. package/dist/api/resources/profiles/client/Client.js +28 -28
  71. package/dist/api/resources/templates/client/Client.d.ts +1 -0
  72. package/dist/api/resources/templates/client/Client.js +4 -4
  73. package/dist/api/resources/tenants/client/Client.d.ts +3 -2
  74. package/dist/api/resources/tenants/client/Client.js +40 -22
  75. package/dist/api/resources/tenants/client/requests/ListTenantParams.d.ts +14 -0
  76. package/dist/api/resources/tenants/client/requests/ListUsersForTenantParams.d.ts +14 -0
  77. package/dist/api/resources/tenants/client/requests/index.d.ts +2 -0
  78. package/dist/api/resources/tenants/types/ListUsersForTenantResponse.d.ts +1 -1
  79. package/dist/api/resources/translations/client/Client.d.ts +1 -0
  80. package/dist/api/resources/translations/client/Client.js +8 -8
  81. package/dist/api/resources/users/client/Client.d.ts +1 -0
  82. package/dist/api/resources/users/resources/preferences/client/Client.d.ts +1 -0
  83. package/dist/api/resources/users/resources/preferences/client/Client.js +12 -12
  84. package/dist/api/resources/users/resources/tenants/client/Client.d.ts +5 -0
  85. package/dist/api/resources/users/resources/tenants/client/Client.js +62 -19
  86. package/dist/api/resources/users/resources/tenants/client/requests/ListTenantsForUserParams.d.ts +2 -2
  87. package/dist/api/resources/users/resources/tenants/types/ListTenantsForUserResponse.d.ts +1 -1
  88. package/dist/api/resources/users/resources/tokens/client/Client.d.ts +1 -0
  89. package/dist/api/resources/users/resources/tokens/client/Client.js +20 -20
  90. package/dist/core/fetcher/Fetcher.js +3 -5
  91. package/jest.config.js +5 -0
  92. package/package.json +6 -2
  93. package/tests/client.test.ts +11 -0
  94. package/api/resources/lists/client/requests/GetListRequest.d.ts +0 -13
  95. package/api/resources/lists/types/ListFindByRecipientIdParams.d.ts +0 -6
  96. package/api/resources/lists/types/ListFindByRecipientIdResponse.d.ts +0 -8
  97. package/api/resources/lists/types/ListGetAllParams.d.ts +0 -7
  98. package/api/resources/lists/types/ListGetSubscriptionsParams.d.ts +0 -6
  99. package/api/resources/lists/types/ListGetSubscriptionsParams.js +0 -5
  100. package/api/resources/lists/types/RecipientSubscriptionsResponse.d.ts +0 -8
  101. package/api/resources/lists/types/RecipientSubscriptionsResponse.js +0 -5
  102. package/dist/api/resources/lists/client/requests/GetListRequest.d.ts +0 -13
  103. package/dist/api/resources/lists/client/requests/GetListRequest.js +0 -5
  104. package/dist/api/resources/lists/types/ListFindByRecipientIdParams.d.ts +0 -6
  105. package/dist/api/resources/lists/types/ListFindByRecipientIdParams.js +0 -5
  106. package/dist/api/resources/lists/types/ListFindByRecipientIdResponse.d.ts +0 -8
  107. package/dist/api/resources/lists/types/ListFindByRecipientIdResponse.js +0 -5
  108. package/dist/api/resources/lists/types/ListGetAllParams.d.ts +0 -7
  109. package/dist/api/resources/lists/types/ListGetAllParams.js +0 -5
  110. package/dist/api/resources/lists/types/ListGetSubscriptionsParams.d.ts +0 -6
  111. package/dist/api/resources/lists/types/ListGetSubscriptionsParams.js +0 -5
  112. package/dist/api/resources/lists/types/RecipientSubscriptionsResponse.d.ts +0 -8
  113. package/dist/api/resources/lists/types/RecipientSubscriptionsResponse.js +0 -5
  114. /package/api/resources/{lists/client/requests/GetListRequest.js → tenants/client/requests/ListTenantParams.js} +0 -0
  115. /package/api/resources/{lists/types/ListFindByRecipientIdParams.js → tenants/client/requests/ListUsersForTenantParams.js} +0 -0
  116. /package/{api/resources/lists/types/ListFindByRecipientIdResponse.js → dist/api/resources/tenants/client/requests/ListTenantParams.js} +0 -0
  117. /package/{api/resources/lists/types/ListGetAllParams.js → dist/api/resources/tenants/client/requests/ListUsersForTenantParams.js} +0 -0
@@ -55,16 +55,16 @@ class Tenants {
55
55
  * profile when sending to the user with that tenant.
56
56
  */
57
57
  addMultple(userId, request, requestOptions) {
58
- var _a;
58
+ var _a, _b;
59
59
  return __awaiter(this, void 0, void 0, function* () {
60
- const _response = yield core.fetcher({
61
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `users/${userId}/tenants`),
60
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
61
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `users/${userId}/tenants`),
62
62
  method: "PUT",
63
63
  headers: {
64
64
  Authorization: yield this._getAuthorizationHeader(),
65
65
  "X-Fern-Language": "JavaScript",
66
66
  "X-Fern-SDK-Name": "@trycourier/courier",
67
- "X-Fern-SDK-Version": "v6.0.7",
67
+ "X-Fern-SDK-Version": "v6.1.0",
68
68
  },
69
69
  contentType: "application/json",
70
70
  body: request,
@@ -103,16 +103,16 @@ class Tenants {
103
103
  * when sending to the user with that tenant.
104
104
  */
105
105
  add(userId, tenantId, request, requestOptions) {
106
- var _a;
106
+ var _a, _b;
107
107
  return __awaiter(this, void 0, void 0, function* () {
108
- const _response = yield core.fetcher({
109
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `users/${userId}/tenants/${tenantId}`),
108
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
109
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `users/${userId}/tenants/${tenantId}`),
110
110
  method: "PUT",
111
111
  headers: {
112
112
  Authorization: yield this._getAuthorizationHeader(),
113
113
  "X-Fern-Language": "JavaScript",
114
114
  "X-Fern-SDK-Name": "@trycourier/courier",
115
- "X-Fern-SDK-Version": "v6.0.7",
115
+ "X-Fern-SDK-Version": "v6.1.0",
116
116
  },
117
117
  contentType: "application/json",
118
118
  body: request,
@@ -143,20 +143,63 @@ class Tenants {
143
143
  }
144
144
  });
145
145
  }
146
+ /**
147
+ * Removes a user from any tenants they may have been associated with.
148
+ */
149
+ removeAll(userId, requestOptions) {
150
+ var _a, _b;
151
+ return __awaiter(this, void 0, void 0, function* () {
152
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
153
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `users/${userId}/tenants`),
154
+ method: "DELETE",
155
+ headers: {
156
+ Authorization: yield this._getAuthorizationHeader(),
157
+ "X-Fern-Language": "JavaScript",
158
+ "X-Fern-SDK-Name": "@trycourier/courier",
159
+ "X-Fern-SDK-Version": "v6.1.0",
160
+ },
161
+ contentType: "application/json",
162
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
163
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
164
+ });
165
+ if (_response.ok) {
166
+ return;
167
+ }
168
+ if (_response.error.reason === "status-code") {
169
+ throw new errors.CourierError({
170
+ statusCode: _response.error.statusCode,
171
+ body: _response.error.body,
172
+ });
173
+ }
174
+ switch (_response.error.reason) {
175
+ case "non-json":
176
+ throw new errors.CourierError({
177
+ statusCode: _response.error.statusCode,
178
+ body: _response.error.rawBody,
179
+ });
180
+ case "timeout":
181
+ throw new errors.CourierTimeoutError();
182
+ case "unknown":
183
+ throw new errors.CourierError({
184
+ message: _response.error.errorMessage,
185
+ });
186
+ }
187
+ });
188
+ }
146
189
  /**
147
190
  * Removes a user from the supplied tenant.
148
191
  */
149
192
  remove(userId, tenantId, requestOptions) {
150
- var _a;
193
+ var _a, _b;
151
194
  return __awaiter(this, void 0, void 0, function* () {
152
- const _response = yield core.fetcher({
153
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `users/${userId}/tenants/${tenantId}`),
195
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
196
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `users/${userId}/tenants/${tenantId}`),
154
197
  method: "DELETE",
155
198
  headers: {
156
199
  Authorization: yield this._getAuthorizationHeader(),
157
200
  "X-Fern-Language": "JavaScript",
158
201
  "X-Fern-SDK-Name": "@trycourier/courier",
159
- "X-Fern-SDK-Version": "v6.0.7",
202
+ "X-Fern-SDK-Version": "v6.1.0",
160
203
  },
161
204
  contentType: "application/json",
162
205
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -190,24 +233,24 @@ class Tenants {
190
233
  * Returns a paginated list of user tenant associations.
191
234
  */
192
235
  list(userId, request = {}, requestOptions) {
193
- var _a;
236
+ var _a, _b;
194
237
  return __awaiter(this, void 0, void 0, function* () {
195
- const { limit, starting_after: startingAfter } = request;
238
+ const { limit, cursor } = request;
196
239
  const _queryParams = {};
197
240
  if (limit != null) {
198
241
  _queryParams["limit"] = limit.toString();
199
242
  }
200
- if (startingAfter != null) {
201
- _queryParams["starting_after"] = startingAfter.toString();
243
+ if (cursor != null) {
244
+ _queryParams["cursor"] = cursor;
202
245
  }
203
- const _response = yield core.fetcher({
204
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `users/${userId}/tenants`),
246
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
247
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `users/${userId}/tenants`),
205
248
  method: "GET",
206
249
  headers: {
207
250
  Authorization: yield this._getAuthorizationHeader(),
208
251
  "X-Fern-Language": "JavaScript",
209
252
  "X-Fern-SDK-Name": "@trycourier/courier",
210
- "X-Fern-SDK-Version": "v6.0.7",
253
+ "X-Fern-SDK-Version": "v6.1.0",
211
254
  },
212
255
  contentType: "application/json",
213
256
  queryParameters: _queryParams,
@@ -8,7 +8,7 @@ export interface ListTenantsForUserParams {
8
8
  */
9
9
  limit?: number;
10
10
  /**
11
- * Value of next_page from previous response
11
+ * Continue the pagination with the next cursor
12
12
  */
13
- starting_after?: number;
13
+ cursor?: string;
14
14
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import * as Courier from "../../../../..";
5
5
  export interface ListTenantsForUserResponse {
6
- items?: Courier.UserTenantAssociation;
6
+ items?: Courier.UserTenantAssociation[];
7
7
  /** Set to true when there are more pages that can be retrieved. */
8
8
  has_more: boolean;
9
9
  /** A url that may be used to generate these results. */
@@ -8,6 +8,7 @@ export declare namespace Tokens {
8
8
  interface Options {
9
9
  environment?: core.Supplier<environments.CourierEnvironment | string>;
10
10
  authorizationToken?: core.Supplier<core.BearerToken | undefined>;
11
+ fetcher?: core.FetchFunction;
11
12
  }
12
13
  interface RequestOptions {
13
14
  timeoutInSeconds?: number;
@@ -53,16 +53,16 @@ class Tokens {
53
53
  * @throws {@link Courier.BadRequestError}
54
54
  */
55
55
  addMultiple(userId, requestOptions) {
56
- var _a;
56
+ var _a, _b;
57
57
  return __awaiter(this, void 0, void 0, function* () {
58
- const _response = yield core.fetcher({
59
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/users/${userId}/tokens`),
58
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
59
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${userId}/tokens`),
60
60
  method: "PUT",
61
61
  headers: {
62
62
  Authorization: yield this._getAuthorizationHeader(),
63
63
  "X-Fern-Language": "JavaScript",
64
64
  "X-Fern-SDK-Name": "@trycourier/courier",
65
- "X-Fern-SDK-Version": "v6.0.7",
65
+ "X-Fern-SDK-Version": "v6.1.0",
66
66
  },
67
67
  contentType: "application/json",
68
68
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -102,16 +102,16 @@ class Tokens {
102
102
  * @throws {@link Courier.BadRequestError}
103
103
  */
104
104
  add(userId, token, request, requestOptions) {
105
- var _a;
105
+ var _a, _b;
106
106
  return __awaiter(this, void 0, void 0, function* () {
107
- const _response = yield core.fetcher({
108
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/users/${userId}/tokens/${token}`),
107
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
108
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${userId}/tokens/${token}`),
109
109
  method: "PUT",
110
110
  headers: {
111
111
  Authorization: yield this._getAuthorizationHeader(),
112
112
  "X-Fern-Language": "JavaScript",
113
113
  "X-Fern-SDK-Name": "@trycourier/courier",
114
- "X-Fern-SDK-Version": "v6.0.7",
114
+ "X-Fern-SDK-Version": "v6.1.0",
115
115
  },
116
116
  contentType: "application/json",
117
117
  body: request,
@@ -152,16 +152,16 @@ class Tokens {
152
152
  * @throws {@link Courier.BadRequestError}
153
153
  */
154
154
  update(userId, token, request, requestOptions) {
155
- var _a;
155
+ var _a, _b;
156
156
  return __awaiter(this, void 0, void 0, function* () {
157
- const _response = yield core.fetcher({
158
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/users/${userId}/tokens/${token}`),
157
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
158
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${userId}/tokens/${token}`),
159
159
  method: "PATCH",
160
160
  headers: {
161
161
  Authorization: yield this._getAuthorizationHeader(),
162
162
  "X-Fern-Language": "JavaScript",
163
163
  "X-Fern-SDK-Name": "@trycourier/courier",
164
- "X-Fern-SDK-Version": "v6.0.7",
164
+ "X-Fern-SDK-Version": "v6.1.0",
165
165
  },
166
166
  contentType: "application/json",
167
167
  body: request,
@@ -202,16 +202,16 @@ class Tokens {
202
202
  * @throws {@link Courier.BadRequestError}
203
203
  */
204
204
  get(userId, token, requestOptions) {
205
- var _a;
205
+ var _a, _b;
206
206
  return __awaiter(this, void 0, void 0, function* () {
207
- const _response = yield core.fetcher({
208
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/users/${userId}/tokens/${token}`),
207
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
208
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${userId}/tokens/${token}`),
209
209
  method: "GET",
210
210
  headers: {
211
211
  Authorization: yield this._getAuthorizationHeader(),
212
212
  "X-Fern-Language": "JavaScript",
213
213
  "X-Fern-SDK-Name": "@trycourier/courier",
214
- "X-Fern-SDK-Version": "v6.0.7",
214
+ "X-Fern-SDK-Version": "v6.1.0",
215
215
  },
216
216
  contentType: "application/json",
217
217
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -251,16 +251,16 @@ class Tokens {
251
251
  * @throws {@link Courier.BadRequestError}
252
252
  */
253
253
  list(userId, requestOptions) {
254
- var _a;
254
+ var _a, _b;
255
255
  return __awaiter(this, void 0, void 0, function* () {
256
- const _response = yield core.fetcher({
257
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/users/${userId}/tokens`),
256
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
257
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${userId}/tokens`),
258
258
  method: "GET",
259
259
  headers: {
260
260
  Authorization: yield this._getAuthorizationHeader(),
261
261
  "X-Fern-Language": "JavaScript",
262
262
  "X-Fern-SDK-Name": "@trycourier/courier",
263
- "X-Fern-SDK-Version": "v6.0.7",
263
+ "X-Fern-SDK-Version": "v6.1.0",
264
264
  },
265
265
  contentType: "application/json",
266
266
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -15,9 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.fetcher = void 0;
16
16
  const form_data_1 = __importDefault(require("form-data"));
17
17
  const qs_1 = __importDefault(require("qs"));
18
- if (typeof window === "undefined") {
19
- global.fetch = require("node-fetch");
20
- }
21
18
  const INITIAL_RETRY_DELAY = 1;
22
19
  const MAX_RETRY_DELAY = 60;
23
20
  const DEFAULT_MAX_RETRIES = 2;
@@ -46,18 +43,19 @@ function fetcherImpl(args) {
46
43
  else {
47
44
  body = JSON.stringify(args.body);
48
45
  }
46
+ const fetchFn = typeof fetch == "function" ? fetch : require("node-fetch");
49
47
  const makeRequest = () => __awaiter(this, void 0, void 0, function* () {
50
48
  const controller = new AbortController();
51
49
  let abortId = undefined;
52
50
  if (args.timeoutMs != null) {
53
51
  abortId = setTimeout(() => controller.abort(), args.timeoutMs);
54
52
  }
55
- const response = yield fetch(url, {
53
+ const response = yield fetchFn(url, {
56
54
  method: args.method,
57
55
  headers,
58
56
  body,
59
57
  signal: controller.signal,
60
- credentials: args.withCredentials ? "same-origin" : undefined,
58
+ credentials: args.withCredentials ? "include" : undefined,
61
59
  });
62
60
  if (abortId != null) {
63
61
  clearTimeout(abortId);
package/dist/Client.d.ts CHANGED
@@ -22,6 +22,7 @@ export declare namespace CourierClient {
22
22
  interface Options {
23
23
  environment?: core.Supplier<environments.CourierEnvironment | string>;
24
24
  authorizationToken?: core.Supplier<core.BearerToken | undefined>;
25
+ fetcher?: core.FetchFunction;
25
26
  }
26
27
  interface RequestOptions {
27
28
  timeoutInSeconds?: number;
package/dist/Client.js CHANGED
@@ -65,16 +65,16 @@ class CourierClient {
65
65
  * Use the send API to send a message to one or more recipients.
66
66
  */
67
67
  send(request, requestOptions) {
68
- var _a;
68
+ var _a, _b;
69
69
  return __awaiter(this, void 0, void 0, function* () {
70
- const _response = yield core.fetcher({
71
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, "/send"),
70
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
71
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, "/send"),
72
72
  method: "POST",
73
73
  headers: {
74
74
  Authorization: yield this._getAuthorizationHeader(),
75
75
  "X-Fern-Language": "JavaScript",
76
76
  "X-Fern-SDK-Name": "@trycourier/courier",
77
- "X-Fern-SDK-Version": "v6.0.7",
77
+ "X-Fern-SDK-Version": "v6.1.0",
78
78
  "Idempotency-Key": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey) != null ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey : undefined,
79
79
  "X-Idempotency-Expiration": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry) != null
80
80
  ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry.toString()
@@ -8,6 +8,7 @@ export declare namespace Audiences {
8
8
  interface Options {
9
9
  environment?: core.Supplier<environments.CourierEnvironment | string>;
10
10
  authorizationToken?: core.Supplier<core.BearerToken | undefined>;
11
+ fetcher?: core.FetchFunction;
11
12
  }
12
13
  interface RequestOptions {
13
14
  timeoutInSeconds?: number;
@@ -52,16 +52,16 @@ class Audiences {
52
52
  * Returns the specified audience by id.
53
53
  */
54
54
  get(audienceId, requestOptions) {
55
- var _a;
55
+ var _a, _b;
56
56
  return __awaiter(this, void 0, void 0, function* () {
57
- const _response = yield core.fetcher({
58
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/audiences/${audienceId}`),
57
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
58
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/audiences/${audienceId}`),
59
59
  method: "GET",
60
60
  headers: {
61
61
  Authorization: yield this._getAuthorizationHeader(),
62
62
  "X-Fern-Language": "JavaScript",
63
63
  "X-Fern-SDK-Name": "@trycourier/courier",
64
- "X-Fern-SDK-Version": "v6.0.7",
64
+ "X-Fern-SDK-Version": "v6.1.0",
65
65
  },
66
66
  contentType: "application/json",
67
67
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -95,16 +95,16 @@ class Audiences {
95
95
  * Creates or updates audience.
96
96
  */
97
97
  update(audienceId, request = {}, requestOptions) {
98
- var _a;
98
+ var _a, _b;
99
99
  return __awaiter(this, void 0, void 0, function* () {
100
- const _response = yield core.fetcher({
101
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/audiences/${audienceId}`),
100
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
101
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/audiences/${audienceId}`),
102
102
  method: "PUT",
103
103
  headers: {
104
104
  Authorization: yield this._getAuthorizationHeader(),
105
105
  "X-Fern-Language": "JavaScript",
106
106
  "X-Fern-SDK-Name": "@trycourier/courier",
107
- "X-Fern-SDK-Version": "v6.0.7",
107
+ "X-Fern-SDK-Version": "v6.1.0",
108
108
  },
109
109
  contentType: "application/json",
110
110
  body: request,
@@ -139,16 +139,16 @@ class Audiences {
139
139
  * Deletes the specified audience.
140
140
  */
141
141
  delete(audienceId, requestOptions) {
142
- var _a;
142
+ var _a, _b;
143
143
  return __awaiter(this, void 0, void 0, function* () {
144
- const _response = yield core.fetcher({
145
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/audiences/${audienceId}`),
144
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
145
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/audiences/${audienceId}`),
146
146
  method: "DELETE",
147
147
  headers: {
148
148
  Authorization: yield this._getAuthorizationHeader(),
149
149
  "X-Fern-Language": "JavaScript",
150
150
  "X-Fern-SDK-Name": "@trycourier/courier",
151
- "X-Fern-SDK-Version": "v6.0.7",
151
+ "X-Fern-SDK-Version": "v6.1.0",
152
152
  },
153
153
  contentType: "application/json",
154
154
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -183,21 +183,21 @@ class Audiences {
183
183
  * @throws {@link Courier.BadRequestError}
184
184
  */
185
185
  listMembers(audienceId, request = {}, requestOptions) {
186
- var _a;
186
+ var _a, _b;
187
187
  return __awaiter(this, void 0, void 0, function* () {
188
188
  const { cursor } = request;
189
189
  const _queryParams = {};
190
190
  if (cursor != null) {
191
191
  _queryParams["cursor"] = cursor;
192
192
  }
193
- const _response = yield core.fetcher({
194
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/audiences/${audienceId}/members`),
193
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
194
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/audiences/${audienceId}/members`),
195
195
  method: "GET",
196
196
  headers: {
197
197
  Authorization: yield this._getAuthorizationHeader(),
198
198
  "X-Fern-Language": "JavaScript",
199
199
  "X-Fern-SDK-Name": "@trycourier/courier",
200
- "X-Fern-SDK-Version": "v6.0.7",
200
+ "X-Fern-SDK-Version": "v6.1.0",
201
201
  },
202
202
  contentType: "application/json",
203
203
  queryParameters: _queryParams,
@@ -238,21 +238,21 @@ class Audiences {
238
238
  * @throws {@link Courier.BadRequestError}
239
239
  */
240
240
  listAudiences(request = {}, requestOptions) {
241
- var _a;
241
+ var _a, _b;
242
242
  return __awaiter(this, void 0, void 0, function* () {
243
243
  const { cursor } = request;
244
244
  const _queryParams = {};
245
245
  if (cursor != null) {
246
246
  _queryParams["cursor"] = cursor;
247
247
  }
248
- const _response = yield core.fetcher({
249
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, "/audiences"),
248
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
249
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, "/audiences"),
250
250
  method: "GET",
251
251
  headers: {
252
252
  Authorization: yield this._getAuthorizationHeader(),
253
253
  "X-Fern-Language": "JavaScript",
254
254
  "X-Fern-SDK-Name": "@trycourier/courier",
255
- "X-Fern-SDK-Version": "v6.0.7",
255
+ "X-Fern-SDK-Version": "v6.1.0",
256
256
  },
257
257
  contentType: "application/json",
258
258
  queryParameters: _queryParams,
@@ -8,6 +8,7 @@ export declare namespace AuditEvents {
8
8
  interface Options {
9
9
  environment?: core.Supplier<environments.CourierEnvironment | string>;
10
10
  authorizationToken?: core.Supplier<core.BearerToken | undefined>;
11
+ fetcher?: core.FetchFunction;
11
12
  }
12
13
  interface RequestOptions {
13
14
  timeoutInSeconds?: number;
@@ -51,21 +51,21 @@ class AuditEvents {
51
51
  * Fetch the list of audit events
52
52
  */
53
53
  list(request = {}, requestOptions) {
54
- var _a;
54
+ var _a, _b;
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
56
  const { cursor } = request;
57
57
  const _queryParams = {};
58
58
  if (cursor != null) {
59
59
  _queryParams["cursor"] = cursor;
60
60
  }
61
- const _response = yield core.fetcher({
62
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, "/audit-events"),
61
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
62
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, "/audit-events"),
63
63
  method: "GET",
64
64
  headers: {
65
65
  Authorization: yield this._getAuthorizationHeader(),
66
66
  "X-Fern-Language": "JavaScript",
67
67
  "X-Fern-SDK-Name": "@trycourier/courier",
68
- "X-Fern-SDK-Version": "v6.0.7",
68
+ "X-Fern-SDK-Version": "v6.1.0",
69
69
  },
70
70
  contentType: "application/json",
71
71
  queryParameters: _queryParams,
@@ -100,16 +100,16 @@ class AuditEvents {
100
100
  * Fetch a specific audit event by ID.
101
101
  */
102
102
  get(auditEventId, requestOptions) {
103
- var _a;
103
+ var _a, _b;
104
104
  return __awaiter(this, void 0, void 0, function* () {
105
- const _response = yield core.fetcher({
106
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/audit-events/${auditEventId}`),
105
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
106
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/audit-events/${auditEventId}`),
107
107
  method: "GET",
108
108
  headers: {
109
109
  Authorization: yield this._getAuthorizationHeader(),
110
110
  "X-Fern-Language": "JavaScript",
111
111
  "X-Fern-SDK-Name": "@trycourier/courier",
112
- "X-Fern-SDK-Version": "v6.0.7",
112
+ "X-Fern-SDK-Version": "v6.1.0",
113
113
  },
114
114
  contentType: "application/json",
115
115
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
@@ -8,6 +8,7 @@ export declare namespace AuthTokens {
8
8
  interface Options {
9
9
  environment?: core.Supplier<environments.CourierEnvironment | string>;
10
10
  authorizationToken?: core.Supplier<core.BearerToken | undefined>;
11
+ fetcher?: core.FetchFunction;
11
12
  }
12
13
  interface RequestOptions {
13
14
  timeoutInSeconds?: number;
@@ -51,16 +51,16 @@ class AuthTokens {
51
51
  * Returns a new access token.
52
52
  */
53
53
  issueToken(request, requestOptions) {
54
- var _a;
54
+ var _a, _b;
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
- const _response = yield core.fetcher({
57
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, "/auth/issue-token"),
56
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
57
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, "/auth/issue-token"),
58
58
  method: "POST",
59
59
  headers: {
60
60
  Authorization: yield this._getAuthorizationHeader(),
61
61
  "X-Fern-Language": "JavaScript",
62
62
  "X-Fern-SDK-Name": "@trycourier/courier",
63
- "X-Fern-SDK-Version": "v6.0.7",
63
+ "X-Fern-SDK-Version": "v6.1.0",
64
64
  "Idempotency-Key": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey) != null ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey : undefined,
65
65
  "X-Idempotency-Expiration": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry) != null
66
66
  ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry.toString()
@@ -8,6 +8,7 @@ export declare namespace Automations {
8
8
  interface Options {
9
9
  environment?: core.Supplier<environments.CourierEnvironment | string>;
10
10
  authorizationToken?: core.Supplier<core.BearerToken | undefined>;
11
+ fetcher?: core.FetchFunction;
11
12
  }
12
13
  interface RequestOptions {
13
14
  timeoutInSeconds?: number;
@@ -51,16 +51,16 @@ class Automations {
51
51
  * Invoke an automation run from an automation template.
52
52
  */
53
53
  invokeAutomationTemplate(templateId, request, requestOptions) {
54
- var _a;
54
+ var _a, _b;
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
- const _response = yield core.fetcher({
57
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, `/automations/${templateId}/invoke`),
56
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
57
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/automations/${templateId}/invoke`),
58
58
  method: "POST",
59
59
  headers: {
60
60
  Authorization: yield this._getAuthorizationHeader(),
61
61
  "X-Fern-Language": "JavaScript",
62
62
  "X-Fern-SDK-Name": "@trycourier/courier",
63
- "X-Fern-SDK-Version": "v6.0.7",
63
+ "X-Fern-SDK-Version": "v6.1.0",
64
64
  "Idempotency-Key": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey) != null ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey : undefined,
65
65
  "X-Idempotency-Expiration": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry) != null
66
66
  ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry.toString()
@@ -99,16 +99,16 @@ class Automations {
99
99
  * Invoke an ad hoc automation run. This endpoint accepts a JSON payload with a series of automation steps. For information about what steps are available, checkout the ad hoc automation guide [here](https://www.courier.com/docs/automations/steps/).
100
100
  */
101
101
  invokeAdHocAutomation(request, requestOptions) {
102
- var _a;
102
+ var _a, _b;
103
103
  return __awaiter(this, void 0, void 0, function* () {
104
- const _response = yield core.fetcher({
105
- url: (0, url_join_1.default)((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.CourierEnvironment.Production, "/automations/invoke"),
104
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
105
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, "/automations/invoke"),
106
106
  method: "POST",
107
107
  headers: {
108
108
  Authorization: yield this._getAuthorizationHeader(),
109
109
  "X-Fern-Language": "JavaScript",
110
110
  "X-Fern-SDK-Name": "@trycourier/courier",
111
- "X-Fern-SDK-Version": "v6.0.7",
111
+ "X-Fern-SDK-Version": "v6.1.0",
112
112
  "Idempotency-Key": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey) != null ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyKey : undefined,
113
113
  "X-Idempotency-Expiration": (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry) != null
114
114
  ? requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.idempotencyExpiry.toString()
@@ -8,6 +8,7 @@ export declare namespace Brands {
8
8
  interface Options {
9
9
  environment?: core.Supplier<environments.CourierEnvironment | string>;
10
10
  authorizationToken?: core.Supplier<core.BearerToken | undefined>;
11
+ fetcher?: core.FetchFunction;
11
12
  }
12
13
  interface RequestOptions {
13
14
  timeoutInSeconds?: number;