@novu/api 3.12.0-rc.0 → 3.12.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.
- package/README.md +25 -23
- package/_speakeasy/.github/action-inputs-config.json +53 -0
- package/_speakeasy/.github/action-security-config.json +88 -0
- package/examples/package-lock.json +1 -1
- package/funcs/channelConnectionsCreate.d.ts +1 -1
- package/funcs/channelConnectionsCreate.js +1 -1
- package/funcs/channelConnectionsDelete.d.ts +1 -1
- package/funcs/channelConnectionsDelete.js +1 -1
- package/funcs/channelConnectionsList.d.ts +2 -2
- package/funcs/channelConnectionsList.js +2 -2
- package/funcs/channelConnectionsRetrieve.d.ts +1 -1
- package/funcs/channelConnectionsRetrieve.js +1 -1
- package/funcs/channelConnectionsUpdate.d.ts +1 -1
- package/funcs/channelConnectionsUpdate.js +1 -1
- package/funcs/channelEndpointsCreate.d.ts +1 -1
- package/funcs/channelEndpointsCreate.js +1 -1
- package/funcs/channelEndpointsDelete.d.ts +1 -1
- package/funcs/channelEndpointsDelete.js +1 -1
- package/funcs/channelEndpointsList.d.ts +2 -2
- package/funcs/channelEndpointsList.js +2 -2
- package/funcs/channelEndpointsRetrieve.d.ts +1 -1
- package/funcs/channelEndpointsRetrieve.js +1 -1
- package/funcs/channelEndpointsUpdate.d.ts +1 -1
- package/funcs/channelEndpointsUpdate.js +1 -1
- package/funcs/notificationsList.js +1 -0
- package/funcs/notificationsList.js.map +1 -1
- package/funcs/topicsSubscriptionsGetSubscription.d.ts +18 -0
- package/funcs/topicsSubscriptionsGetSubscription.d.ts.map +1 -0
- package/funcs/topicsSubscriptionsGetSubscription.js +160 -0
- package/funcs/topicsSubscriptionsGetSubscription.js.map +1 -0
- package/funcs/topicsSubscriptionsUpdate.d.ts +1 -1
- package/funcs/topicsSubscriptionsUpdate.js +6 -3
- package/funcs/topicsSubscriptionsUpdate.js.map +1 -1
- package/funcs/trigger.d.ts +1 -1
- package/funcs/trigger.js +1 -1
- package/jsr.json +1 -1
- package/lib/config.d.ts +3 -3
- package/lib/config.js +3 -3
- package/lib/config.js.map +1 -1
- package/models/components/delaystepresponsedto.d.ts +1 -1
- package/models/components/delaystepresponsedto.d.ts.map +1 -1
- package/models/components/emailstepresponsedto.d.ts +3 -3
- package/models/components/emailstepresponsedto.d.ts.map +1 -1
- package/models/components/generatechatoauthurlrequestdto.d.ts +1 -1
- package/models/components/inappcontroldto.d.ts +1 -1
- package/models/components/inappstepresponsedto.d.ts +2 -2
- package/models/components/inappstepresponsedto.d.ts.map +1 -1
- package/models/components/notificationfeeditemdto.d.ts +4 -0
- package/models/components/notificationfeeditemdto.d.ts.map +1 -1
- package/models/components/notificationfeeditemdto.js +1 -0
- package/models/components/notificationfeeditemdto.js.map +1 -1
- package/models/components/redirectdto.d.ts +1 -1
- package/models/components/throttlestepresponsedto.d.ts +2 -2
- package/models/components/throttlestepresponsedto.d.ts.map +1 -1
- package/models/components/topicsubscriptionresponsedto.d.ts +4 -0
- package/models/components/topicsubscriptionresponsedto.d.ts.map +1 -1
- package/models/components/topicsubscriptionresponsedto.js +1 -0
- package/models/components/topicsubscriptionresponsedto.js.map +1 -1
- package/models/components/triggereventrequestdto.d.ts +2 -2
- package/models/components/workflowresponsedto.d.ts +2 -2
- package/models/components/workflowresponsedto.d.ts.map +1 -1
- package/models/operations/index.d.ts +1 -0
- package/models/operations/index.d.ts.map +1 -1
- package/models/operations/index.js +1 -0
- package/models/operations/index.js.map +1 -1
- package/models/operations/notificationscontrollerlistnotifications.d.ts +5 -0
- package/models/operations/notificationscontrollerlistnotifications.d.ts.map +1 -1
- package/models/operations/notificationscontrollerlistnotifications.js +1 -0
- package/models/operations/notificationscontrollerlistnotifications.js.map +1 -1
- package/models/operations/topicscontrollergettopicsubscription.d.ts +37 -0
- package/models/operations/topicscontrollergettopicsubscription.d.ts.map +1 -0
- package/models/operations/topicscontrollergettopicsubscription.js +72 -0
- package/models/operations/topicscontrollergettopicsubscription.js.map +1 -0
- package/models/operations/topicscontrollerupdatetopicsubscription.d.ts +2 -2
- package/models/operations/topicscontrollerupdatetopicsubscription.d.ts.map +1 -1
- package/models/operations/topicscontrollerupdatetopicsubscription.js +1 -1
- package/models/operations/topicscontrollerupdatetopicsubscription.js.map +1 -1
- package/package.json +1 -1
- package/sdk/channelconnections.d.ts +6 -6
- package/sdk/channelconnections.js +6 -6
- package/sdk/channelendpoints.d.ts +6 -6
- package/sdk/channelendpoints.js +6 -6
- package/sdk/sdk.d.ts +1 -1
- package/sdk/sdk.js +1 -1
- package/sdk/subscriptions.d.ts +8 -1
- package/sdk/subscriptions.d.ts.map +1 -1
- package/sdk/subscriptions.js +11 -1
- package/sdk/subscriptions.js.map +1 -1
- package/sources/json-development.json +848 -309
- package/src/funcs/channelConnectionsCreate.ts +1 -1
- package/src/funcs/channelConnectionsDelete.ts +1 -1
- package/src/funcs/channelConnectionsList.ts +2 -2
- package/src/funcs/channelConnectionsRetrieve.ts +1 -1
- package/src/funcs/channelConnectionsUpdate.ts +1 -1
- package/src/funcs/channelEndpointsCreate.ts +1 -1
- package/src/funcs/channelEndpointsDelete.ts +1 -1
- package/src/funcs/channelEndpointsList.ts +2 -2
- package/src/funcs/channelEndpointsRetrieve.ts +1 -1
- package/src/funcs/channelEndpointsUpdate.ts +1 -1
- package/src/funcs/notificationsList.ts +1 -0
- package/src/funcs/topicsSubscriptionsGetSubscription.ts +242 -0
- package/src/funcs/topicsSubscriptionsUpdate.ts +8 -9
- package/src/funcs/trigger.ts +1 -1
- package/src/lib/config.ts +3 -3
- package/src/models/components/delaystepresponsedto.ts +1 -1
- package/src/models/components/emailstepresponsedto.ts +3 -3
- package/src/models/components/generatechatoauthurlrequestdto.ts +1 -1
- package/src/models/components/inappcontroldto.ts +1 -1
- package/src/models/components/inappstepresponsedto.ts +2 -2
- package/src/models/components/notificationfeeditemdto.ts +5 -0
- package/src/models/components/redirectdto.ts +1 -1
- package/src/models/components/throttlestepresponsedto.ts +2 -2
- package/src/models/components/topicsubscriptionresponsedto.ts +5 -0
- package/src/models/components/triggereventrequestdto.ts +2 -2
- package/src/models/components/workflowresponsedto.ts +2 -2
- package/src/models/operations/index.ts +1 -0
- package/src/models/operations/notificationscontrollerlistnotifications.ts +6 -0
- package/src/models/operations/topicscontrollergettopicsubscription.ts +96 -0
- package/src/models/operations/topicscontrollerupdatetopicsubscription.ts +3 -3
- package/src/sdk/channelconnections.ts +6 -6
- package/src/sdk/channelendpoints.ts +6 -6
- package/src/sdk/sdk.ts +1 -1
- package/src/sdk/subscriptions.ts +23 -1
|
@@ -27,7 +27,7 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
27
27
|
import { Result } from "../types/fp.js";
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* Create channel connection
|
|
30
|
+
* Create a channel connection
|
|
31
31
|
*
|
|
32
32
|
* @remarks
|
|
33
33
|
* Create a new channel connection for a resource for given integration. Only one channel connection is allowed per resource and integration.
|
|
@@ -26,7 +26,7 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Delete channel connection
|
|
29
|
+
* Delete a channel connection
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
32
|
* Delete a specific channel connection by its unique identifier.
|
|
@@ -26,10 +26,10 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* List channel connections
|
|
29
|
+
* List all channel connections
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
|
-
*
|
|
32
|
+
* List all channel connections for a resource.
|
|
33
33
|
*/
|
|
34
34
|
export function channelConnectionsList(
|
|
35
35
|
client: NovuCore,
|
|
@@ -26,7 +26,7 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Retrieve channel connection
|
|
29
|
+
* Retrieve a channel connection
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
32
|
* Retrieve a specific channel connection by its unique identifier.
|
|
@@ -27,7 +27,7 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
27
27
|
import { Result } from "../types/fp.js";
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* Update channel connection
|
|
30
|
+
* Update a channel connection
|
|
31
31
|
*
|
|
32
32
|
* @remarks
|
|
33
33
|
* Update an existing channel connection by its unique identifier.
|
|
@@ -26,7 +26,7 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Delete channel endpoint
|
|
29
|
+
* Delete a channel endpoint
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
32
|
* Delete a specific channel endpoint by its unique identifier.
|
|
@@ -26,10 +26,10 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* List channel endpoints
|
|
29
|
+
* List all channel endpoints
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
|
-
*
|
|
32
|
+
* List all channel endpoints for a resource based on query filters.
|
|
33
33
|
*/
|
|
34
34
|
export function channelEndpointsList(
|
|
35
35
|
client: NovuCore,
|
|
@@ -26,7 +26,7 @@ import { APICall, APIPromise } from "../types/async.js";
|
|
|
26
26
|
import { Result } from "../types/fp.js";
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Retrieve channel endpoint
|
|
29
|
+
* Retrieve a channel endpoint
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
32
|
* Retrieve a specific channel endpoint by its unique identifier.
|
|
@@ -108,6 +108,7 @@ async function $do(
|
|
|
108
108
|
"search": payload.search,
|
|
109
109
|
"severity": payload.severity,
|
|
110
110
|
"subscriberIds": payload.subscriberIds,
|
|
111
|
+
"subscriptionId": payload.subscriptionId,
|
|
111
112
|
"templates": payload.templates,
|
|
112
113
|
"topicKey": payload.topicKey,
|
|
113
114
|
"transactionId": payload.transactionId,
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { NovuCore } from "../core.js";
|
|
6
|
+
import { encodeSimple } from "../lib/encodings.js";
|
|
7
|
+
import * as M from "../lib/matchers.js";
|
|
8
|
+
import { compactMap } from "../lib/primitives.js";
|
|
9
|
+
import { safeParse } from "../lib/schemas.js";
|
|
10
|
+
import { RequestOptions } from "../lib/sdks.js";
|
|
11
|
+
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
12
|
+
import { pathToFunc } from "../lib/url.js";
|
|
13
|
+
import {
|
|
14
|
+
ConnectionError,
|
|
15
|
+
InvalidRequestError,
|
|
16
|
+
RequestAbortedError,
|
|
17
|
+
RequestTimeoutError,
|
|
18
|
+
UnexpectedClientError,
|
|
19
|
+
} from "../models/errors/httpclienterrors.js";
|
|
20
|
+
import * as errors from "../models/errors/index.js";
|
|
21
|
+
import { NovuError } from "../models/errors/novuerror.js";
|
|
22
|
+
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
|
|
23
|
+
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
|
|
24
|
+
import * as operations from "../models/operations/index.js";
|
|
25
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
26
|
+
import { Result } from "../types/fp.js";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Get a topic subscription
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* Get a subscription by its unique identifier for a topic.
|
|
33
|
+
*/
|
|
34
|
+
export function topicsSubscriptionsGetSubscription(
|
|
35
|
+
client: NovuCore,
|
|
36
|
+
topicKey: string,
|
|
37
|
+
identifier: string,
|
|
38
|
+
idempotencyKey?: string | undefined,
|
|
39
|
+
options?: RequestOptions,
|
|
40
|
+
): APIPromise<
|
|
41
|
+
Result<
|
|
42
|
+
operations.TopicsControllerGetTopicSubscriptionResponse,
|
|
43
|
+
| errors.ErrorDto
|
|
44
|
+
| errors.ValidationErrorDto
|
|
45
|
+
| NovuError
|
|
46
|
+
| ResponseValidationError
|
|
47
|
+
| ConnectionError
|
|
48
|
+
| RequestAbortedError
|
|
49
|
+
| RequestTimeoutError
|
|
50
|
+
| InvalidRequestError
|
|
51
|
+
| UnexpectedClientError
|
|
52
|
+
| SDKValidationError
|
|
53
|
+
>
|
|
54
|
+
> {
|
|
55
|
+
return new APIPromise($do(
|
|
56
|
+
client,
|
|
57
|
+
topicKey,
|
|
58
|
+
identifier,
|
|
59
|
+
idempotencyKey,
|
|
60
|
+
options,
|
|
61
|
+
));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
async function $do(
|
|
65
|
+
client: NovuCore,
|
|
66
|
+
topicKey: string,
|
|
67
|
+
identifier: string,
|
|
68
|
+
idempotencyKey?: string | undefined,
|
|
69
|
+
options?: RequestOptions,
|
|
70
|
+
): Promise<
|
|
71
|
+
[
|
|
72
|
+
Result<
|
|
73
|
+
operations.TopicsControllerGetTopicSubscriptionResponse,
|
|
74
|
+
| errors.ErrorDto
|
|
75
|
+
| errors.ValidationErrorDto
|
|
76
|
+
| NovuError
|
|
77
|
+
| ResponseValidationError
|
|
78
|
+
| ConnectionError
|
|
79
|
+
| RequestAbortedError
|
|
80
|
+
| RequestTimeoutError
|
|
81
|
+
| InvalidRequestError
|
|
82
|
+
| UnexpectedClientError
|
|
83
|
+
| SDKValidationError
|
|
84
|
+
>,
|
|
85
|
+
APICall,
|
|
86
|
+
]
|
|
87
|
+
> {
|
|
88
|
+
const input: operations.TopicsControllerGetTopicSubscriptionRequest = {
|
|
89
|
+
topicKey: topicKey,
|
|
90
|
+
identifier: identifier,
|
|
91
|
+
idempotencyKey: idempotencyKey,
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const parsed = safeParse(
|
|
95
|
+
input,
|
|
96
|
+
(value) =>
|
|
97
|
+
operations.TopicsControllerGetTopicSubscriptionRequest$outboundSchema
|
|
98
|
+
.parse(value),
|
|
99
|
+
"Input validation failed",
|
|
100
|
+
);
|
|
101
|
+
if (!parsed.ok) {
|
|
102
|
+
return [parsed, { status: "invalid" }];
|
|
103
|
+
}
|
|
104
|
+
const payload = parsed.value;
|
|
105
|
+
const body = null;
|
|
106
|
+
|
|
107
|
+
const pathParams = {
|
|
108
|
+
identifier: encodeSimple("identifier", payload.identifier, {
|
|
109
|
+
explode: false,
|
|
110
|
+
charEncoding: "percent",
|
|
111
|
+
}),
|
|
112
|
+
topicKey: encodeSimple("topicKey", payload.topicKey, {
|
|
113
|
+
explode: false,
|
|
114
|
+
charEncoding: "percent",
|
|
115
|
+
}),
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const path = pathToFunc("/v2/topics/{topicKey}/subscriptions/{identifier}")(
|
|
119
|
+
pathParams,
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
const headers = new Headers(compactMap({
|
|
123
|
+
Accept: "application/json",
|
|
124
|
+
"idempotency-key": encodeSimple(
|
|
125
|
+
"idempotency-key",
|
|
126
|
+
payload["idempotency-key"],
|
|
127
|
+
{ explode: false, charEncoding: "none" },
|
|
128
|
+
),
|
|
129
|
+
}));
|
|
130
|
+
|
|
131
|
+
const secConfig = await extractSecurity(client._options.secretKey);
|
|
132
|
+
const securityInput = secConfig == null ? {} : { secretKey: secConfig };
|
|
133
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
134
|
+
|
|
135
|
+
const context = {
|
|
136
|
+
options: client._options,
|
|
137
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
138
|
+
operationID: "TopicsController_getTopicSubscription",
|
|
139
|
+
oAuth2Scopes: null,
|
|
140
|
+
|
|
141
|
+
resolvedSecurity: requestSecurity,
|
|
142
|
+
|
|
143
|
+
securitySource: client._options.secretKey,
|
|
144
|
+
retryConfig: options?.retries
|
|
145
|
+
|| client._options.retryConfig
|
|
146
|
+
|| {
|
|
147
|
+
strategy: "backoff",
|
|
148
|
+
backoff: {
|
|
149
|
+
initialInterval: 1000,
|
|
150
|
+
maxInterval: 30000,
|
|
151
|
+
exponent: 1.5,
|
|
152
|
+
maxElapsedTime: 3600000,
|
|
153
|
+
},
|
|
154
|
+
retryConnectionErrors: true,
|
|
155
|
+
}
|
|
156
|
+
|| { strategy: "none" },
|
|
157
|
+
retryCodes: options?.retryCodes || ["408", "409", "429", "5XX"],
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
const requestRes = client._createRequest(context, {
|
|
161
|
+
security: requestSecurity,
|
|
162
|
+
method: "GET",
|
|
163
|
+
baseURL: options?.serverURL,
|
|
164
|
+
path: path,
|
|
165
|
+
headers: headers,
|
|
166
|
+
body: body,
|
|
167
|
+
userAgent: client._options.userAgent,
|
|
168
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
169
|
+
}, options);
|
|
170
|
+
if (!requestRes.ok) {
|
|
171
|
+
return [requestRes, { status: "invalid" }];
|
|
172
|
+
}
|
|
173
|
+
const req = requestRes.value;
|
|
174
|
+
|
|
175
|
+
const doResult = await client._do(req, {
|
|
176
|
+
context,
|
|
177
|
+
errorCodes: [
|
|
178
|
+
"400",
|
|
179
|
+
"401",
|
|
180
|
+
"403",
|
|
181
|
+
"404",
|
|
182
|
+
"405",
|
|
183
|
+
"409",
|
|
184
|
+
"413",
|
|
185
|
+
"414",
|
|
186
|
+
"415",
|
|
187
|
+
"422",
|
|
188
|
+
"429",
|
|
189
|
+
"4XX",
|
|
190
|
+
"500",
|
|
191
|
+
"503",
|
|
192
|
+
"5XX",
|
|
193
|
+
],
|
|
194
|
+
retryConfig: context.retryConfig,
|
|
195
|
+
retryCodes: context.retryCodes,
|
|
196
|
+
});
|
|
197
|
+
if (!doResult.ok) {
|
|
198
|
+
return [doResult, { status: "request-error", request: req }];
|
|
199
|
+
}
|
|
200
|
+
const response = doResult.value;
|
|
201
|
+
|
|
202
|
+
const responseFields = {
|
|
203
|
+
HttpMeta: { Response: response, Request: req },
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
const [result] = await M.match<
|
|
207
|
+
operations.TopicsControllerGetTopicSubscriptionResponse,
|
|
208
|
+
| errors.ErrorDto
|
|
209
|
+
| errors.ValidationErrorDto
|
|
210
|
+
| NovuError
|
|
211
|
+
| ResponseValidationError
|
|
212
|
+
| ConnectionError
|
|
213
|
+
| RequestAbortedError
|
|
214
|
+
| RequestTimeoutError
|
|
215
|
+
| InvalidRequestError
|
|
216
|
+
| UnexpectedClientError
|
|
217
|
+
| SDKValidationError
|
|
218
|
+
>(
|
|
219
|
+
M.json(
|
|
220
|
+
200,
|
|
221
|
+
operations.TopicsControllerGetTopicSubscriptionResponse$inboundSchema,
|
|
222
|
+
{ hdrs: true, key: "Result" },
|
|
223
|
+
),
|
|
224
|
+
M.jsonErr(414, errors.ErrorDto$inboundSchema),
|
|
225
|
+
M.jsonErr(
|
|
226
|
+
[400, 401, 403, 404, 405, 409, 413, 415],
|
|
227
|
+
errors.ErrorDto$inboundSchema,
|
|
228
|
+
{ hdrs: true },
|
|
229
|
+
),
|
|
230
|
+
M.jsonErr(422, errors.ValidationErrorDto$inboundSchema, { hdrs: true }),
|
|
231
|
+
M.fail(429),
|
|
232
|
+
M.jsonErr(500, errors.ErrorDto$inboundSchema, { hdrs: true }),
|
|
233
|
+
M.fail(503),
|
|
234
|
+
M.fail("4XX"),
|
|
235
|
+
M.fail("5XX"),
|
|
236
|
+
)(response, req, { extraFields: responseFields });
|
|
237
|
+
if (!result.ok) {
|
|
238
|
+
return [result, { status: "complete", request: req, response }];
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return [result, { status: "complete", request: req, response }];
|
|
242
|
+
}
|
|
@@ -29,7 +29,7 @@ import { Result } from "../types/fp.js";
|
|
|
29
29
|
* Update a topic subscription
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
|
-
* Update a subscription by its unique identifier
|
|
32
|
+
* Update a subscription by its unique identifier for a topic. You can update the preferences and name associated with the subscription.
|
|
33
33
|
*/
|
|
34
34
|
export function topicsSubscriptionsUpdate(
|
|
35
35
|
client: NovuCore,
|
|
@@ -95,20 +95,19 @@ async function $do(
|
|
|
95
95
|
});
|
|
96
96
|
|
|
97
97
|
const pathParams = {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
),
|
|
98
|
+
identifier: encodeSimple("identifier", payload.identifier, {
|
|
99
|
+
explode: false,
|
|
100
|
+
charEncoding: "percent",
|
|
101
|
+
}),
|
|
103
102
|
topicKey: encodeSimple("topicKey", payload.topicKey, {
|
|
104
103
|
explode: false,
|
|
105
104
|
charEncoding: "percent",
|
|
106
105
|
}),
|
|
107
106
|
};
|
|
108
107
|
|
|
109
|
-
const path = pathToFunc(
|
|
110
|
-
|
|
111
|
-
)
|
|
108
|
+
const path = pathToFunc("/v2/topics/{topicKey}/subscriptions/{identifier}")(
|
|
109
|
+
pathParams,
|
|
110
|
+
);
|
|
112
111
|
|
|
113
112
|
const headers = new Headers(compactMap({
|
|
114
113
|
"Content-Type": "application/json",
|
package/src/funcs/trigger.ts
CHANGED
|
@@ -31,7 +31,7 @@ import { Result } from "../types/fp.js";
|
|
|
31
31
|
*
|
|
32
32
|
* @remarks
|
|
33
33
|
*
|
|
34
|
-
* Trigger event is the main (and only) way to send notifications to subscribers. The trigger identifier is used to match the particular workflow associated with it. Additional information can be passed according the body interface below.
|
|
34
|
+
* Trigger event is the main (and only) way to send notifications to subscribers. The trigger identifier is used to match the particular workflow associated with it. Maximum number of recipients can be 100. Additional information can be passed according the body interface below.
|
|
35
35
|
* To prevent duplicate triggers, you can optionally pass a **transactionId** in the request body. If the same **transactionId** is used again, the trigger will be ignored. The retention period depends on your billing tier.
|
|
36
36
|
*/
|
|
37
37
|
export function trigger(
|
package/src/lib/config.ts
CHANGED
|
@@ -59,7 +59,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
59
59
|
export const SDK_METADATA = {
|
|
60
60
|
language: "typescript",
|
|
61
61
|
openapiDocVersion: "3.11.0",
|
|
62
|
-
sdkVersion: "3.12.0
|
|
63
|
-
genVersion: "2.
|
|
64
|
-
userAgent: "speakeasy-sdk/typescript 3.12.0
|
|
62
|
+
sdkVersion: "3.12.0",
|
|
63
|
+
genVersion: "2.792.0",
|
|
64
|
+
userAgent: "speakeasy-sdk/typescript 3.12.0 2.792.0 3.11.0 @novu/api",
|
|
65
65
|
} as const;
|
|
@@ -64,7 +64,7 @@ export type DelayStepResponseDtoControlValues = {
|
|
|
64
64
|
/**
|
|
65
65
|
* Type of the delay. Currently only 'regular' is supported by the schema.
|
|
66
66
|
*/
|
|
67
|
-
type
|
|
67
|
+
type: DelayStepResponseDtoType;
|
|
68
68
|
/**
|
|
69
69
|
* Amount of time to delay.
|
|
70
70
|
*/
|
|
@@ -50,15 +50,15 @@ export type EmailStepResponseDtoControlValues = {
|
|
|
50
50
|
/**
|
|
51
51
|
* Body content of the email, either a valid Maily JSON object, or html string.
|
|
52
52
|
*/
|
|
53
|
-
body
|
|
53
|
+
body: string;
|
|
54
54
|
/**
|
|
55
55
|
* Type of editor to use for the body.
|
|
56
56
|
*/
|
|
57
|
-
editorType
|
|
57
|
+
editorType: EmailStepResponseDtoEditorType;
|
|
58
58
|
/**
|
|
59
59
|
* Disable sanitization of the output.
|
|
60
60
|
*/
|
|
61
|
-
disableOutputSanitization
|
|
61
|
+
disableOutputSanitization: boolean;
|
|
62
62
|
/**
|
|
63
63
|
* Layout ID to use for the email. Null means no layout, undefined means default layout.
|
|
64
64
|
*/
|
|
@@ -29,7 +29,7 @@ export type GenerateChatOauthUrlRequestDto = {
|
|
|
29
29
|
*/
|
|
30
30
|
integrationIdentifier: string;
|
|
31
31
|
/**
|
|
32
|
-
* Identifier of the channel connection that will be created
|
|
32
|
+
* Identifier of the channel connection that will be created. It is generated automatically if not provided.
|
|
33
33
|
*/
|
|
34
34
|
connectionIdentifier?: string | undefined;
|
|
35
35
|
context?:
|
|
@@ -33,7 +33,7 @@ export type InAppControlDto = {
|
|
|
33
33
|
*/
|
|
34
34
|
subject?: string | undefined;
|
|
35
35
|
/**
|
|
36
|
-
* URL for an avatar image. Must be a valid URL or start with / or {{
|
|
36
|
+
* URL for an avatar image. Must be a valid URL or start with / or {{ variable }}.
|
|
37
37
|
*/
|
|
38
38
|
avatar?: string | undefined;
|
|
39
39
|
/**
|
|
@@ -39,7 +39,7 @@ export type InAppStepResponseDtoControlValues = {
|
|
|
39
39
|
*/
|
|
40
40
|
subject?: string | undefined;
|
|
41
41
|
/**
|
|
42
|
-
* URL for an avatar image. Must be a valid URL or start with / or {{
|
|
42
|
+
* URL for an avatar image. Must be a valid URL or start with / or {{ variable }}.
|
|
43
43
|
*/
|
|
44
44
|
avatar?: string | undefined;
|
|
45
45
|
/**
|
|
@@ -57,7 +57,7 @@ export type InAppStepResponseDtoControlValues = {
|
|
|
57
57
|
/**
|
|
58
58
|
* Disable sanitization of the output.
|
|
59
59
|
*/
|
|
60
|
-
disableOutputSanitization
|
|
60
|
+
disableOutputSanitization: boolean;
|
|
61
61
|
/**
|
|
62
62
|
* Additional data payload for the step.
|
|
63
63
|
*/
|
|
@@ -122,6 +122,10 @@ export type NotificationFeedItemDto = {
|
|
|
122
122
|
* Indicates whether the notification has been seen by the subscriber.
|
|
123
123
|
*/
|
|
124
124
|
seen: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Indicates whether the notification has been archived by the subscriber.
|
|
127
|
+
*/
|
|
128
|
+
archived: boolean;
|
|
125
129
|
/**
|
|
126
130
|
* Device tokens for push notifications, if applicable.
|
|
127
131
|
*/
|
|
@@ -188,6 +192,7 @@ export const NotificationFeedItemDto$inboundSchema: z.ZodType<
|
|
|
188
192
|
channel: ChannelTypeEnum$inboundSchema,
|
|
189
193
|
read: z.boolean(),
|
|
190
194
|
seen: z.boolean(),
|
|
195
|
+
archived: z.boolean(),
|
|
191
196
|
deviceTokens: z.nullable(z.array(z.string())).optional(),
|
|
192
197
|
cta: MessageCTA$inboundSchema,
|
|
193
198
|
status: NotificationFeedItemDtoStatus$inboundSchema,
|
|
@@ -25,7 +25,7 @@ export type Target = ClosedEnum<typeof Target>;
|
|
|
25
25
|
|
|
26
26
|
export type RedirectDto = {
|
|
27
27
|
/**
|
|
28
|
-
* URL for redirection. Must be a valid URL or start with / or {{
|
|
28
|
+
* URL for redirection. Must be a valid URL or start with / or {{ variable }}.
|
|
29
29
|
*/
|
|
30
30
|
url?: string | undefined;
|
|
31
31
|
/**
|
|
@@ -61,7 +61,7 @@ export type ThrottleStepResponseDtoControlValues = {
|
|
|
61
61
|
/**
|
|
62
62
|
* The type of throttle window.
|
|
63
63
|
*/
|
|
64
|
-
type
|
|
64
|
+
type: ThrottleStepResponseDtoType;
|
|
65
65
|
/**
|
|
66
66
|
* The amount of time for the throttle window (required for fixed type).
|
|
67
67
|
*/
|
|
@@ -77,7 +77,7 @@ export type ThrottleStepResponseDtoControlValues = {
|
|
|
77
77
|
/**
|
|
78
78
|
* The maximum number of executions allowed within the window. Defaults to 1.
|
|
79
79
|
*/
|
|
80
|
-
threshold
|
|
80
|
+
threshold: number;
|
|
81
81
|
/**
|
|
82
82
|
* Optional key for grouping throttle rules. If not provided, defaults to workflow and subscriber combination.
|
|
83
83
|
*/
|
|
@@ -18,6 +18,10 @@ export type TopicSubscriptionResponseDto = {
|
|
|
18
18
|
* The identifier of the subscription
|
|
19
19
|
*/
|
|
20
20
|
id: string;
|
|
21
|
+
/**
|
|
22
|
+
* The identifier of the subscription
|
|
23
|
+
*/
|
|
24
|
+
identifier: string;
|
|
21
25
|
/**
|
|
22
26
|
* The date and time the subscription was created
|
|
23
27
|
*/
|
|
@@ -39,6 +43,7 @@ export const TopicSubscriptionResponseDto$inboundSchema: z.ZodType<
|
|
|
39
43
|
unknown
|
|
40
44
|
> = z.object({
|
|
41
45
|
_id: z.string(),
|
|
46
|
+
identifier: z.string(),
|
|
42
47
|
createdAt: z.string(),
|
|
43
48
|
topic: TopicResponseDto$inboundSchema,
|
|
44
49
|
subscriber: SubscriberDto$inboundSchema,
|
|
@@ -99,7 +99,7 @@ export type Overrides = {
|
|
|
99
99
|
export type To1 = TopicPayloadDto | SubscriberPayloadDto | string;
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* The recipients list of people who will receive the notification.
|
|
102
|
+
* The recipients list of people who will receive the notification. Maximum number of recipients can be 100.
|
|
103
103
|
*/
|
|
104
104
|
export type To =
|
|
105
105
|
| TopicPayloadDto
|
|
@@ -156,7 +156,7 @@ export type TriggerEventRequestDto = {
|
|
|
156
156
|
*/
|
|
157
157
|
overrides?: Overrides | undefined;
|
|
158
158
|
/**
|
|
159
|
-
* The recipients list of people who will receive the notification.
|
|
159
|
+
* The recipients list of people who will receive the notification. Maximum number of recipients can be 100.
|
|
160
160
|
*/
|
|
161
161
|
to:
|
|
162
162
|
| TopicPayloadDto
|
|
@@ -135,7 +135,7 @@ export type WorkflowResponseDto = {
|
|
|
135
135
|
/**
|
|
136
136
|
* Whether the workflow is active
|
|
137
137
|
*/
|
|
138
|
-
active
|
|
138
|
+
active: boolean;
|
|
139
139
|
/**
|
|
140
140
|
* Enable or disable payload schema validation
|
|
141
141
|
*/
|
|
@@ -147,7 +147,7 @@ export type WorkflowResponseDto = {
|
|
|
147
147
|
/**
|
|
148
148
|
* Enable or disable translations for this workflow
|
|
149
149
|
*/
|
|
150
|
-
isTranslationEnabled
|
|
150
|
+
isTranslationEnabled: boolean;
|
|
151
151
|
/**
|
|
152
152
|
* Database identifier of the workflow
|
|
153
153
|
*/
|
|
@@ -71,6 +71,7 @@ export * from "./topicscontrollercreatetopicsubscriptions.js";
|
|
|
71
71
|
export * from "./topicscontrollerdeletetopic.js";
|
|
72
72
|
export * from "./topicscontrollerdeletetopicsubscriptions.js";
|
|
73
73
|
export * from "./topicscontrollergettopic.js";
|
|
74
|
+
export * from "./topicscontrollergettopicsubscription.js";
|
|
74
75
|
export * from "./topicscontrollerlisttopics.js";
|
|
75
76
|
export * from "./topicscontrollerlisttopicsubscriptions.js";
|
|
76
77
|
export * from "./topicscontrollerupdatetopic.js";
|
|
@@ -52,6 +52,10 @@ export type NotificationsControllerListNotificationsRequest = {
|
|
|
52
52
|
* Topic Key for filtering notifications by topic
|
|
53
53
|
*/
|
|
54
54
|
topicKey?: string | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Subscription ID for filtering notifications by subscription
|
|
57
|
+
*/
|
|
58
|
+
subscriptionId?: string | undefined;
|
|
55
59
|
/**
|
|
56
60
|
* Filter by exact context keys, order insensitive (format: "type:id")
|
|
57
61
|
*/
|
|
@@ -87,6 +91,7 @@ export type NotificationsControllerListNotificationsRequest$Outbound = {
|
|
|
87
91
|
limit: number;
|
|
88
92
|
transactionId?: string | undefined;
|
|
89
93
|
topicKey?: string | undefined;
|
|
94
|
+
subscriptionId?: string | undefined;
|
|
90
95
|
contextKeys?: Array<string> | undefined;
|
|
91
96
|
after?: string | undefined;
|
|
92
97
|
before?: string | undefined;
|
|
@@ -110,6 +115,7 @@ export const NotificationsControllerListNotificationsRequest$outboundSchema:
|
|
|
110
115
|
limit: z.number().default(10),
|
|
111
116
|
transactionId: z.string().optional(),
|
|
112
117
|
topicKey: z.string().optional(),
|
|
118
|
+
subscriptionId: z.string().optional(),
|
|
113
119
|
contextKeys: z.array(z.string()).optional(),
|
|
114
120
|
after: z.string().optional(),
|
|
115
121
|
before: z.string().optional(),
|