@openfin/cloud-notification-core-api 0.0.1-alpha.ff44012 → 10.0.0-beta.1c
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/bundle.d.ts +571 -330
- package/index.cjs +142 -31
- package/index.mjs +142 -32
- package/package.json +2 -2
package/bundle.d.ts
CHANGED
|
@@ -1,16 +1,41 @@
|
|
|
1
|
-
import z from 'zod';
|
|
1
|
+
import { z } from 'zod';
|
|
2
2
|
|
|
3
3
|
export declare class AuthorizationError extends CloudNotificationAPIError {
|
|
4
4
|
constructor(message?: string, code?: string);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Represents common properties for all notification events
|
|
9
|
+
*/
|
|
7
10
|
export declare type BaseNotificationReceivedEvent = {
|
|
11
|
+
/**
|
|
12
|
+
* The action that was performed on the notification
|
|
13
|
+
*/
|
|
8
14
|
action: 'new' | 'update' | 'delete';
|
|
15
|
+
/**
|
|
16
|
+
* The unique identifier for the notification
|
|
17
|
+
*/
|
|
9
18
|
notificationId: string;
|
|
19
|
+
/**
|
|
20
|
+
* The correlation identifier for the notification
|
|
21
|
+
*/
|
|
10
22
|
correlationId?: string;
|
|
23
|
+
/**
|
|
24
|
+
* The identifier of the target of the notification
|
|
25
|
+
*/
|
|
11
26
|
target: string;
|
|
27
|
+
/**
|
|
28
|
+
* The name of the target i.e, the group or user that the notification was sent to
|
|
29
|
+
*/
|
|
12
30
|
targetName?: string;
|
|
13
|
-
|
|
31
|
+
/**
|
|
32
|
+
* The type of the target i.e, 'groups' or 'users'
|
|
33
|
+
*/
|
|
34
|
+
targetType: TARGET_TYPE;
|
|
35
|
+
/**
|
|
36
|
+
* The payload of the notification.
|
|
37
|
+
* See the documentation for the notification center events for more information on the payload
|
|
38
|
+
*/
|
|
14
39
|
payload: unknown;
|
|
15
40
|
};
|
|
16
41
|
|
|
@@ -20,11 +45,30 @@ export declare type BaseNotificationReceivedEvent = {
|
|
|
20
45
|
*/
|
|
21
46
|
export declare class CloudNotificationAPI {
|
|
22
47
|
#private;
|
|
23
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Constructs a new instance of the CloudNotificationAPI
|
|
50
|
+
*
|
|
51
|
+
* @param cloudNotificationSettings - The settings for the Cloud Notification API.
|
|
52
|
+
*/
|
|
24
53
|
constructor(cloudNotificationSettings: CloudNotificationSettings);
|
|
25
54
|
/**
|
|
26
55
|
* Connects and creates a session on the Cloud Notifications service.
|
|
27
56
|
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const notificationApi = new CloudNotificationAPI({
|
|
60
|
+
* url: process.env.NOTIFICATION_SERVER_HOST
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* let connectionResult: ConnectionResult;
|
|
64
|
+
* try {
|
|
65
|
+
* connectionResult = await notificationApi.connect(connectSettings);
|
|
66
|
+
* } catch (errorConnect) {
|
|
67
|
+
* terminal.write(chalk.red(`\nError connecting to notification server: ${errorConnect}\n`));
|
|
68
|
+
* process.exit(1);
|
|
69
|
+
* }
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
28
72
|
* @param parameters - The parameters to use to connect.
|
|
29
73
|
* @returns A promise that resolves when the connection is established.
|
|
30
74
|
* @throws {@link CloudNotificationAPIError} If an error occurs during connection.
|
|
@@ -41,369 +85,566 @@ export declare class CloudNotificationAPI {
|
|
|
41
85
|
/**
|
|
42
86
|
* Posts a notification event to the Cloud Notification service.
|
|
43
87
|
*
|
|
44
|
-
* @param notificationId - The ID of the notification.
|
|
88
|
+
* @param notificationId - The ID of the notification or an array of notification IDs.
|
|
45
89
|
* @param event - The event details, including category, type, and optional payload.
|
|
46
90
|
* @returns A promise that resolves when the event is posted.
|
|
47
91
|
* @throws {@link SessionNotConnectedError} If the session is not connected.
|
|
48
92
|
* @throws {@link PublishError} If an error occurs during publishing.
|
|
49
93
|
*/
|
|
50
|
-
postNotificationEvent(notificationId: string, event: {
|
|
94
|
+
postNotificationEvent(notificationId: string | string[], event: {
|
|
51
95
|
category: string;
|
|
52
96
|
type: string;
|
|
53
97
|
payload?: unknown;
|
|
54
|
-
}): Promise<void>;
|
|
98
|
+
}, options?: NotificationEventOptions): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Removes a notification from the notification center for a given set of users or user groups.
|
|
101
|
+
*
|
|
102
|
+
* @param notificationId - The ID of the notification to remove.
|
|
103
|
+
* @param targets - The targets to remove the notification from.
|
|
104
|
+
* @returns A promise that resolves when the notification is removed.
|
|
105
|
+
*/
|
|
106
|
+
removeFromNotificationCenter(notificationId: string, targets: NotificationTargets): Promise<void>;
|
|
55
107
|
/**
|
|
56
|
-
*
|
|
108
|
+
* Post a notification-reminder-created event to the Cloud Notification service.
|
|
57
109
|
*
|
|
58
|
-
* @param
|
|
59
|
-
* @param payload - The payload of the
|
|
60
|
-
* @returns A promise that resolves
|
|
110
|
+
* @param notificationId - The ID of the notification or an array of notification IDs to mark as a reminder.
|
|
111
|
+
* @param payload - The payload of the reminder.
|
|
112
|
+
* @returns A promise that resolves when the notification-reminder-created event is posted.
|
|
61
113
|
* @throws {@link SessionNotConnectedError} If the session is not connected.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
*
|
|
103
|
-
* @param type - The event type.
|
|
104
|
-
* @param callback - The callback function to remove.
|
|
105
|
-
*/
|
|
106
|
-
removeEventListener<K extends keyof EventMap>(type: K, callback: EventMap[K]): void;
|
|
107
|
-
/**
|
|
108
|
-
* Adds a one-time event listener for a specific event type.
|
|
109
|
-
*
|
|
110
|
-
* @param type - The event type.
|
|
111
|
-
* @param callback - The callback function to invoke once when the event occurs.
|
|
114
|
+
*/
|
|
115
|
+
setReminder<T extends {
|
|
116
|
+
reminderDate: Date;
|
|
117
|
+
}>(notificationId: string | string[], payload: T, targets: NotificationTargets): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Post a notification-reminder-removed event to the Cloud Notification service.
|
|
120
|
+
*
|
|
121
|
+
* @param notificationId - The ID of the notification or an array of notification IDs to cancel the reminder for.
|
|
122
|
+
* @returns A promise that resolves when the notification-reminder-removed event is posted.
|
|
123
|
+
* @throws {@link SessionNotConnectedError} If the session is not connected.
|
|
124
|
+
*/
|
|
125
|
+
cancelReminder(notificationId: string | string[], targets: NotificationTargets): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Raises a notification to the Cloud Notification service.
|
|
128
|
+
*
|
|
129
|
+
* @param options - The options for the notification.
|
|
130
|
+
* @param payload - The payload of the notification which should generally conform to the notification center schema
|
|
131
|
+
* @returns A promise that resolves with the notification raise result.
|
|
132
|
+
* @throws {@link SessionNotConnectedError} If the session is not connected.
|
|
133
|
+
* @throws {@link PublishError} If an error occurs during publishing.
|
|
134
|
+
*/
|
|
135
|
+
raiseNotification(options: NotificationOptions_2, payload: unknown): Promise<NotificationRaiseResult>;
|
|
136
|
+
/**
|
|
137
|
+
* Raises a notification update to the Cloud Notification service.
|
|
138
|
+
*
|
|
139
|
+
* @param notificationId - The ID of the notification to update.
|
|
140
|
+
* @param options - The options for the notification update.
|
|
141
|
+
* @param payload - The new payload of the notification which should generally conform to the notification center update schema
|
|
142
|
+
* @throws {@link SessionNotConnectedError} If the session is not connected.
|
|
143
|
+
* @throws {@link PublishError} If an error occurs during publishing of the update.
|
|
144
|
+
*/
|
|
145
|
+
updateNotification(notificationId: string, options: NotificationUpdateOptions, payload: unknown): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* Marks a notification as deleted in the Cloud Notification service.
|
|
148
|
+
*
|
|
149
|
+
* This in turn causes notification events to be raised for the notification
|
|
150
|
+
*
|
|
151
|
+
* @param notificationId - The ID of the notification to delete.
|
|
152
|
+
* @returns A promise that resolves when the notification is deleted.
|
|
153
|
+
* @throws {@link SessionNotConnectedError} If the session is not connected.
|
|
112
154
|
*/
|
|
113
|
-
|
|
114
|
-
|
|
155
|
+
deleteNotification(notificationId: string | string[]): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Replays notifications from the Cloud Notification service.
|
|
158
|
+
*
|
|
159
|
+
* This is called at platform startup to populate the notification center with notifications that were missed since the last time the platform was started.
|
|
160
|
+
*
|
|
161
|
+
* @param pageItemLimit - The maximum number of items per page.
|
|
162
|
+
* @param pageStartCursor - The cursor to start the page from. This is retrieved from the pageInfo property.
|
|
163
|
+
* @returns A promise that resolves with the notifications replay details.
|
|
164
|
+
* @throws {@link SessionNotConnectedError} If the session is not connected.
|
|
165
|
+
* @throws {@link NotificationRetrievalError} If an error occurs during retrieval.
|
|
166
|
+
*/
|
|
167
|
+
replayNotifications(pageItemLimit: number | undefined, pageStartCursor: string | undefined): Promise<NotificationsReplayDetails>;
|
|
168
|
+
/**
|
|
169
|
+
* Adds an event listener for a specific event type.
|
|
170
|
+
*
|
|
171
|
+
* @param type - The event type.
|
|
172
|
+
* @param callback - The callback function to invoke when the event occurs.
|
|
173
|
+
*/
|
|
174
|
+
addEventListener<K extends keyof EventMap>(type: K, callback: EventMap[K]): void;
|
|
175
|
+
/**
|
|
176
|
+
* Removes an event listener for a specific event type.
|
|
177
|
+
*
|
|
178
|
+
* @param type - The event type.
|
|
179
|
+
* @param callback - The callback function to remove.
|
|
180
|
+
*/
|
|
181
|
+
removeEventListener<K extends keyof EventMap>(type: K, callback: EventMap[K]): void;
|
|
182
|
+
/**
|
|
183
|
+
* Adds a one-time event listener for a specific event type.
|
|
184
|
+
*
|
|
185
|
+
* @param type - The event type.
|
|
186
|
+
* @param callback - The callback function to invoke once when the event occurs.
|
|
187
|
+
*/
|
|
188
|
+
once<K extends keyof EventMap>(type: K, callback: EventMap[K]): void;
|
|
189
|
+
}
|
|
115
190
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
191
|
+
export declare class CloudNotificationAPIError extends Error {
|
|
192
|
+
code: string;
|
|
193
|
+
constructor(message?: string, code?: string, cause?: unknown);
|
|
194
|
+
}
|
|
120
195
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
196
|
+
/**
|
|
197
|
+
* Represents a logging function to be used by the cloud notification client
|
|
198
|
+
*/
|
|
199
|
+
export declare type CloudNotificationLogger = (level: LogLevel, message: string) => void;
|
|
125
200
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
201
|
+
export declare type CloudNotificationSettings = {
|
|
202
|
+
/**
|
|
203
|
+
* The URL of the notification server to connect to
|
|
204
|
+
*
|
|
205
|
+
* @example 'https://the-environment.example.com/notifications'
|
|
206
|
+
*/
|
|
207
|
+
url: string;
|
|
208
|
+
/**
|
|
209
|
+
* The maximum number of times to retry connecting to the cloud notification service when the connection is dropped
|
|
210
|
+
* defaults to 30
|
|
211
|
+
*/
|
|
212
|
+
reconnectRetryLimit?: number;
|
|
213
|
+
/**
|
|
214
|
+
* Specifies how often keep alive messages should be sent to the cloud notification service in seconds
|
|
215
|
+
* defaults to 30
|
|
216
|
+
*/
|
|
217
|
+
keepAliveIntervalSeconds?: number;
|
|
218
|
+
/**
|
|
219
|
+
* Optional function to call with any logging messages to allow integration with the host application's logging
|
|
220
|
+
*
|
|
221
|
+
* Defaults to console.log
|
|
222
|
+
*/
|
|
223
|
+
logger?: CloudNotificationLogger;
|
|
224
|
+
/**
|
|
225
|
+
* The time used to deduplicate notifications
|
|
226
|
+
*/
|
|
227
|
+
deduplicationTTLms?: number;
|
|
228
|
+
/**
|
|
229
|
+
* Will cause the api to calculate the time offset between the local machine and the notification server
|
|
230
|
+
* defaults to true
|
|
231
|
+
*/
|
|
232
|
+
syncTime?: boolean;
|
|
233
|
+
};
|
|
157
234
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Represents the parameters to use to connect to an notification server
|
|
189
|
-
*/
|
|
190
|
-
export declare type ConnectParameters = {
|
|
191
|
-
/**
|
|
192
|
-
* ID for a group of shared applications.
|
|
193
|
-
* This acts as a namespace for the notification messages that allows separation of messages between different groups of applications for the same user
|
|
194
|
-
*/
|
|
195
|
-
platformId: string;
|
|
196
|
-
/**
|
|
197
|
-
* A value that distinguishes the host the application is running in. For example this could be the hostname of the current machine
|
|
198
|
-
*/
|
|
199
|
-
sourceId: string;
|
|
200
|
-
/**
|
|
201
|
-
* Determines the type of authentication to use with the service gateway
|
|
202
|
-
* defaults to 'none'
|
|
203
|
-
*
|
|
204
|
-
* 'jwt' - Use JWT authentication, in this case jwtAuthenticationParameters must also be provided
|
|
205
|
-
* 'basic' - Use basic authentication, in this case basicAuthenticationParameters must also be provided
|
|
206
|
-
* 'default' - Authentication will be inherited from the current session
|
|
207
|
-
*/
|
|
208
|
-
authenticationType?: 'jwt' | 'basic' | 'default';
|
|
209
|
-
/**
|
|
210
|
-
* Optional parameters for basic authentication
|
|
211
|
-
*/
|
|
212
|
-
basicAuthenticationParameters?: {
|
|
213
|
-
/**
|
|
214
|
-
* The username to use for basic authentication
|
|
215
|
-
*/
|
|
216
|
-
username: string;
|
|
217
|
-
/**
|
|
218
|
-
* The password to use for basic authentication
|
|
219
|
-
*/
|
|
220
|
-
password: string;
|
|
221
|
-
};
|
|
222
|
-
/**
|
|
223
|
-
* Optional parameters for JWT authentication
|
|
224
|
-
*/
|
|
225
|
-
jwtAuthenticationParameters?: {
|
|
226
|
-
/**
|
|
227
|
-
* When JWT authentication is being used, this will be invoked just whenever a JWT token is required for a request
|
|
228
|
-
*/
|
|
229
|
-
jwtRequestCallback: () => string | object;
|
|
230
|
-
/**
|
|
231
|
-
* The id of the service gateway JWT authentication definition to use
|
|
232
|
-
*
|
|
233
|
-
* Note: Contact Here support to to get your organization's authentication id
|
|
234
|
-
*/
|
|
235
|
-
authenticationId: string;
|
|
236
|
-
};
|
|
237
|
-
};
|
|
235
|
+
/**
|
|
236
|
+
* Represents the result of a successful connection to the server
|
|
237
|
+
*/
|
|
238
|
+
export declare type ConnectionResult = {
|
|
239
|
+
/**
|
|
240
|
+
* The unique identifier for the session
|
|
241
|
+
*/
|
|
242
|
+
sessionId: string;
|
|
243
|
+
/**
|
|
244
|
+
* The platform identifier
|
|
245
|
+
*/
|
|
246
|
+
platformId: string;
|
|
247
|
+
/**
|
|
248
|
+
* The source identifier
|
|
249
|
+
*/
|
|
250
|
+
sourceId: string;
|
|
251
|
+
/**
|
|
252
|
+
* The user identifier
|
|
253
|
+
*/
|
|
254
|
+
userId: string;
|
|
255
|
+
/**
|
|
256
|
+
* A collection of groups that the user is either a direct or indirect member of
|
|
257
|
+
*/
|
|
258
|
+
groups: {
|
|
259
|
+
uuid: string;
|
|
260
|
+
name: string;
|
|
261
|
+
}[];
|
|
262
|
+
};
|
|
238
263
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
264
|
+
/**
|
|
265
|
+
* Represents the parameters to use to connect to an notification server
|
|
266
|
+
*/
|
|
267
|
+
export declare type ConnectParameters = {
|
|
268
|
+
/**
|
|
269
|
+
* ID for a group of shared applications.
|
|
270
|
+
*
|
|
271
|
+
* This acts as a namespace for the notification messages that allows separation of messages between different groups of applications for the same user
|
|
272
|
+
*
|
|
273
|
+
* This, in general, should be the uuid of the platform that you are communicating
|
|
274
|
+
*/
|
|
275
|
+
platformId: string;
|
|
276
|
+
/**
|
|
277
|
+
* A value that distinguishes the host the application is running in. For example this could be the hostname of the current machine
|
|
278
|
+
*/
|
|
279
|
+
sourceId: string;
|
|
280
|
+
/**
|
|
281
|
+
* Determines the type of authentication to use with the service gateway
|
|
282
|
+
*
|
|
283
|
+
* - 'jwt' - Use JWT authentication, in this case jwtAuthenticationParameters must also be provided
|
|
284
|
+
* - 'basic' - Use basic authentication, in this case basicAuthenticationParameters must also be provided
|
|
285
|
+
* - 'default' - Authentication will be inherited from the current session
|
|
286
|
+
*/
|
|
287
|
+
authenticationType?: 'jwt' | 'basic' | 'default';
|
|
288
|
+
/**
|
|
289
|
+
* Optional parameters for basic authentication
|
|
290
|
+
*/
|
|
291
|
+
basicAuthenticationParameters?: {
|
|
292
|
+
/**
|
|
293
|
+
* The username to use for basic authentication
|
|
294
|
+
*/
|
|
295
|
+
username: string;
|
|
296
|
+
/**
|
|
297
|
+
* The password to use for basic authentication
|
|
298
|
+
*/
|
|
299
|
+
password: string;
|
|
300
|
+
};
|
|
301
|
+
/**
|
|
302
|
+
* Optional parameters for JWT authentication
|
|
303
|
+
*/
|
|
304
|
+
jwtAuthenticationParameters?: {
|
|
305
|
+
/**
|
|
306
|
+
* When JWT authentication is being used, this will be invoked just whenever a JWT token is required for a request
|
|
307
|
+
*
|
|
308
|
+
* This token should be conform to the configuration set within your environment. Contact Here support for more details
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* ```typescript
|
|
312
|
+
* const jwtRequestCallback = () => {
|
|
313
|
+
* return 'your-jwt-token';
|
|
314
|
+
* };
|
|
315
|
+
* ```
|
|
316
|
+
*/
|
|
317
|
+
jwtRequestCallback: () => string | object;
|
|
318
|
+
/**
|
|
319
|
+
* The id of the service gateway JWT authentication definition to use
|
|
320
|
+
*
|
|
321
|
+
* Note: Contact Here support to to get your organization's authentication id
|
|
322
|
+
*/
|
|
323
|
+
authenticationId: string;
|
|
324
|
+
};
|
|
325
|
+
};
|
|
242
326
|
|
|
243
|
-
|
|
327
|
+
export declare type DeleteNotificationEvent = BaseNotificationReceivedEvent & {
|
|
328
|
+
action: 'delete';
|
|
329
|
+
};
|
|
244
330
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
331
|
+
export declare type EventMap = {
|
|
332
|
+
/**
|
|
333
|
+
* Emitted when the connection has been re-established
|
|
334
|
+
* @returns void
|
|
335
|
+
*/
|
|
336
|
+
reconnected: () => void;
|
|
337
|
+
/**
|
|
338
|
+
* Emitted when the connection has been disconnected
|
|
339
|
+
* @returns void
|
|
340
|
+
*/
|
|
341
|
+
reconnecting: (attemptNo: number) => void;
|
|
342
|
+
/**
|
|
343
|
+
* Emitted when the connection has been disconnected
|
|
344
|
+
* @returns void
|
|
345
|
+
*/
|
|
346
|
+
disconnected: () => void;
|
|
347
|
+
/**
|
|
348
|
+
* Emitted when an error occurs
|
|
349
|
+
* @returns void
|
|
350
|
+
*/
|
|
351
|
+
error: (error: Error) => void;
|
|
352
|
+
/**
|
|
353
|
+
* Emitted when the session has expired
|
|
354
|
+
* @returns void
|
|
355
|
+
*/
|
|
356
|
+
'session-expired': () => void;
|
|
357
|
+
/**
|
|
358
|
+
* Emitted when the session has been extended
|
|
359
|
+
* @returns void
|
|
360
|
+
*/
|
|
361
|
+
'session-extended': () => void;
|
|
362
|
+
/**
|
|
363
|
+
* Emitted when a new notification is received
|
|
364
|
+
* @returns void
|
|
365
|
+
*/
|
|
366
|
+
'new-notification': (event: NewNotificationEvent) => void;
|
|
367
|
+
/**
|
|
368
|
+
* Emitted when an update to a notification is received
|
|
369
|
+
* @returns void
|
|
370
|
+
*/
|
|
371
|
+
'update-notification': (event: UpdateNotificationEvent) => void;
|
|
372
|
+
/**
|
|
373
|
+
* Emitted when a notification is deleted
|
|
374
|
+
* @returns void
|
|
375
|
+
*/
|
|
376
|
+
'delete-notification': (event: DeleteNotificationEvent) => void;
|
|
377
|
+
/**
|
|
378
|
+
* Emitted when a notification event is received for this specific session
|
|
379
|
+
* @returns void
|
|
380
|
+
*/
|
|
381
|
+
'notification-event': (event: NotificationEvent) => void;
|
|
382
|
+
/**
|
|
383
|
+
* Emitted when a notification event is received for all sessions
|
|
384
|
+
* @returns void
|
|
385
|
+
*/
|
|
386
|
+
'global-notification-event': (event: NotificationEvent) => void;
|
|
387
|
+
};
|
|
257
388
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
389
|
+
export declare class EventPublishError extends CloudNotificationAPIError {
|
|
390
|
+
constructor(message?: string, code?: string, cause?: unknown);
|
|
391
|
+
}
|
|
261
392
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
393
|
+
export declare class EventRetrievalError extends CloudNotificationAPIError {
|
|
394
|
+
constructor(message?: string, code?: string, cause?: unknown);
|
|
395
|
+
}
|
|
265
396
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
397
|
+
export declare class InvalidMessageFormatError extends CloudNotificationAPIError {
|
|
398
|
+
constructor(zodParseResult: z.SafeParseReturnType<unknown, unknown>);
|
|
399
|
+
}
|
|
269
400
|
|
|
270
|
-
|
|
401
|
+
export declare type LogLevel = 'log' | 'debug' | 'info' | 'warn' | 'error';
|
|
271
402
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
403
|
+
export declare type NewNotificationEvent = BaseNotificationReceivedEvent & {
|
|
404
|
+
action: 'new';
|
|
405
|
+
};
|
|
275
406
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
407
|
+
/**
|
|
408
|
+
* Represents a notification event
|
|
409
|
+
*/
|
|
410
|
+
export declare type NotificationEvent = {
|
|
411
|
+
/**
|
|
412
|
+
* The unique identifier for the notification
|
|
413
|
+
*/
|
|
414
|
+
notificationId: string;
|
|
415
|
+
/**
|
|
416
|
+
* The correlation identifier for the notification
|
|
417
|
+
*/
|
|
418
|
+
correlationId?: string;
|
|
419
|
+
/**
|
|
420
|
+
* The source identifier
|
|
421
|
+
*/
|
|
422
|
+
sourceId: string;
|
|
423
|
+
/**
|
|
424
|
+
* The originating session identifier
|
|
425
|
+
*/
|
|
426
|
+
originatingSessionId: string;
|
|
427
|
+
/**
|
|
428
|
+
* The platform identifier
|
|
429
|
+
*/
|
|
430
|
+
platformId: string;
|
|
431
|
+
/**
|
|
432
|
+
* The unique platform identifier for the user
|
|
433
|
+
*/
|
|
434
|
+
userId: string;
|
|
435
|
+
/**
|
|
436
|
+
* The resolved username of the user
|
|
437
|
+
*/
|
|
438
|
+
userName?: string;
|
|
439
|
+
/**
|
|
440
|
+
* The category of the notification.
|
|
441
|
+
* For notification center events this will be 'notification-center-event'
|
|
442
|
+
*/
|
|
443
|
+
category: string;
|
|
444
|
+
/**
|
|
445
|
+
* The type of the notification.
|
|
446
|
+
* For example 'notification-close' when a user closes a notification in the notification center
|
|
447
|
+
*/
|
|
448
|
+
type: string;
|
|
449
|
+
/**
|
|
450
|
+
* The payload of the notification.
|
|
451
|
+
* See the documentation for the notification center events for more information on the payload
|
|
452
|
+
*/
|
|
453
|
+
payload?: unknown;
|
|
454
|
+
};
|
|
283
455
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
456
|
+
/**
|
|
457
|
+
* Represents the options for a notification event publish
|
|
458
|
+
*/
|
|
459
|
+
export declare type NotificationEventOptions = {
|
|
460
|
+
/**
|
|
461
|
+
* The targets to send the event to
|
|
462
|
+
*
|
|
463
|
+
* This is a set of groups and users that the notification event will direct to. You may use to explicitly remove the notification
|
|
464
|
+
* from a subset of the original targets that received it.
|
|
465
|
+
*
|
|
466
|
+
* For example you send a notification to *all-users* and then want to remove the notification from a specific group. You can do this by
|
|
467
|
+
* specifying the group name in the targets.
|
|
468
|
+
*
|
|
469
|
+
* @example
|
|
470
|
+
* ```typescript
|
|
471
|
+
* const notificationEventOptions: NotificationEventOptions = {
|
|
472
|
+
* targets: {
|
|
473
|
+
* groups: ['all-users'],
|
|
474
|
+
* users: ['someuser@company.com']
|
|
475
|
+
* }
|
|
476
|
+
* };
|
|
477
|
+
* ```
|
|
478
|
+
*/
|
|
479
|
+
targets: NotificationTargets;
|
|
480
|
+
};
|
|
305
481
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
482
|
+
/**
|
|
483
|
+
* Represents the options for a notification publish
|
|
484
|
+
*/
|
|
485
|
+
declare type NotificationOptions_2 = {
|
|
486
|
+
/**
|
|
487
|
+
* A caller specified identifier for the notification
|
|
488
|
+
*
|
|
489
|
+
* This is used to identify the notification in the system when events and responses are received
|
|
490
|
+
*/
|
|
491
|
+
correlationId?: string;
|
|
492
|
+
/**
|
|
493
|
+
* The targets to send the notification to
|
|
494
|
+
*
|
|
495
|
+
* This is a set of groups and users that the notification will be sent to
|
|
496
|
+
*
|
|
497
|
+
* @example
|
|
498
|
+
* ```typescript
|
|
499
|
+
* const notificationOptions: NotificationOptions = {
|
|
500
|
+
* targets: {
|
|
501
|
+
* groups: ['all-users'],
|
|
502
|
+
* users: ['someuser@company.com']
|
|
503
|
+
* }
|
|
504
|
+
* };
|
|
505
|
+
* ```
|
|
506
|
+
*/
|
|
507
|
+
targets: NotificationTargets;
|
|
508
|
+
/**
|
|
509
|
+
* Optional number of seconds to keep the notification alive
|
|
510
|
+
*
|
|
511
|
+
* After this time the notification will be expired and a delete update will be raised
|
|
512
|
+
*/
|
|
513
|
+
ttlSeconds?: number;
|
|
514
|
+
};
|
|
515
|
+
export { NotificationOptions_2 as NotificationOptions }
|
|
319
516
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
517
|
+
/**
|
|
518
|
+
* Represents the response from raising a notification
|
|
519
|
+
*/
|
|
520
|
+
export declare type NotificationRaiseResult = {
|
|
521
|
+
/**
|
|
522
|
+
* The unique identifier for the notification
|
|
523
|
+
*/
|
|
524
|
+
notificationId: string;
|
|
525
|
+
/**
|
|
526
|
+
* The correlation ID that was provided when raising the notification
|
|
527
|
+
*/
|
|
528
|
+
correlationId?: string;
|
|
529
|
+
};
|
|
323
530
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
notificationId: string;
|
|
328
|
-
version: number;
|
|
329
|
-
action: 'new' | 'update' | 'delete';
|
|
330
|
-
payload?: unknown;
|
|
331
|
-
correlationId?: string | null;
|
|
332
|
-
timestamp: Date;
|
|
333
|
-
};
|
|
531
|
+
export declare class NotificationRetrievalError extends CloudNotificationAPIError {
|
|
532
|
+
constructor(message?: string, code?: string, cause?: unknown);
|
|
533
|
+
}
|
|
334
534
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
535
|
+
/**
|
|
536
|
+
* Represents a single notification replay detail.
|
|
537
|
+
*/
|
|
538
|
+
export declare type NotificationsReplayDetail = {
|
|
539
|
+
/**
|
|
540
|
+
* The cursor of the notification.
|
|
541
|
+
*/
|
|
542
|
+
cursor: string;
|
|
543
|
+
/**
|
|
544
|
+
* The session ID of the notification.
|
|
545
|
+
*/
|
|
546
|
+
sessionId: string;
|
|
547
|
+
/**
|
|
548
|
+
* The notification ID.
|
|
549
|
+
*/
|
|
550
|
+
notificationId: string;
|
|
551
|
+
/**
|
|
552
|
+
* The version of the notification.
|
|
553
|
+
*/
|
|
554
|
+
version: number;
|
|
555
|
+
/**
|
|
556
|
+
* The type of notification record.
|
|
557
|
+
*/
|
|
558
|
+
action: 'new' | 'update' | 'delete';
|
|
559
|
+
/**
|
|
560
|
+
* The payload of the notification.
|
|
561
|
+
*/
|
|
562
|
+
payload?: unknown;
|
|
563
|
+
/**
|
|
564
|
+
* The original correlation ID of the notification if specified.
|
|
565
|
+
*/
|
|
566
|
+
correlationId?: string | null;
|
|
567
|
+
/**
|
|
568
|
+
* The timestamp of the notification.
|
|
569
|
+
*/
|
|
570
|
+
timestamp: Date;
|
|
571
|
+
/**
|
|
572
|
+
* The payload of the latest reminder event for the notification.
|
|
573
|
+
*/
|
|
574
|
+
latestReminderPayload?: unknown;
|
|
575
|
+
};
|
|
343
576
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
577
|
+
/**
|
|
578
|
+
* Represents the results of a notifications replay request.
|
|
579
|
+
*/
|
|
580
|
+
export declare type NotificationsReplayDetails = {
|
|
581
|
+
/**
|
|
582
|
+
* The list of notifications replay details.
|
|
583
|
+
*/
|
|
584
|
+
data: NotificationsReplayDetail[];
|
|
585
|
+
/**
|
|
586
|
+
* The pagination information for the notifications replay request.
|
|
587
|
+
*/
|
|
588
|
+
pageInfo: {
|
|
589
|
+
/**
|
|
590
|
+
* The cursor of the first notification in the page.
|
|
591
|
+
*/
|
|
592
|
+
pageStart?: string;
|
|
593
|
+
/**
|
|
594
|
+
* The cursor of the next page.
|
|
595
|
+
*/
|
|
596
|
+
nextPage?: string;
|
|
597
|
+
/**
|
|
598
|
+
* Whether there is a next page of notifications.
|
|
599
|
+
*/
|
|
600
|
+
hasNextPage: boolean;
|
|
601
|
+
};
|
|
602
|
+
};
|
|
357
603
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
604
|
+
/**
|
|
605
|
+
* Represents a set of targets for a notification publish
|
|
606
|
+
*/
|
|
607
|
+
export declare type NotificationTargets = {
|
|
608
|
+
/**
|
|
609
|
+
* The optional groups to send the notification to
|
|
610
|
+
*
|
|
611
|
+
* This can be a collection of either group names e.g. all-users which can be retrieved from the admin console or the
|
|
612
|
+
* UUID of the group itself
|
|
613
|
+
*/
|
|
614
|
+
groups: string[];
|
|
615
|
+
/**
|
|
616
|
+
* The optional specific users to send the notification to
|
|
617
|
+
*
|
|
618
|
+
* This can be the username e.g. someuser\@company.com or the UUID of the user itself
|
|
619
|
+
*/
|
|
620
|
+
users: string[];
|
|
621
|
+
};
|
|
368
622
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
623
|
+
/**
|
|
624
|
+
* Represents the options for a notification update
|
|
625
|
+
*/
|
|
626
|
+
export declare type NotificationUpdateOptions = {
|
|
627
|
+
/**
|
|
628
|
+
* Optional number of seconds to keep the notification alive
|
|
629
|
+
* After this time the notification will be expired and a delete update will be raised
|
|
630
|
+
*/
|
|
631
|
+
ttlSeconds?: number;
|
|
632
|
+
};
|
|
372
633
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
};
|
|
634
|
+
export declare class PublishError extends CloudNotificationAPIError {
|
|
635
|
+
constructor(message?: string, code?: string, cause?: unknown);
|
|
636
|
+
}
|
|
377
637
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
638
|
+
export declare class SessionNotConnectedError extends CloudNotificationAPIError {
|
|
639
|
+
constructor(message?: string, code?: string);
|
|
640
|
+
}
|
|
381
641
|
|
|
382
|
-
|
|
383
|
-
* Simple set-like structure that allows you to add values with a TTL (time to live).
|
|
384
|
-
* Values are automatically removed from the set after the TTL expires.
|
|
385
|
-
*/
|
|
386
|
-
declare class SetWithTTL<T> {
|
|
387
|
-
#private;
|
|
388
|
-
private ttl;
|
|
389
|
-
private store;
|
|
390
|
-
private nextCollection;
|
|
391
|
-
private collectionDelay;
|
|
392
|
-
constructor(ttl: number, collectionCheckInterval?: number);
|
|
393
|
-
get size(): number;
|
|
394
|
-
add(value: T, customTtl?: number): this;
|
|
395
|
-
has(value: T): boolean;
|
|
396
|
-
delete(value: T): this;
|
|
397
|
-
}
|
|
642
|
+
export declare type TARGET_TYPE = z.infer<typeof targetTypeSchema>;
|
|
398
643
|
|
|
399
|
-
|
|
400
|
-
action: 'update';
|
|
401
|
-
};
|
|
644
|
+
export declare const targetTypeSchema: z.ZodEnum<["users", "groups"]>;
|
|
402
645
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
topic?: string;
|
|
407
|
-
};
|
|
646
|
+
export declare type UpdateNotificationEvent = BaseNotificationReceivedEvent & {
|
|
647
|
+
action: 'update';
|
|
648
|
+
};
|
|
408
649
|
|
|
409
|
-
|
|
650
|
+
export { }
|