purecloud-platform-client-v2 214.0.0 → 215.0.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 +31 -3
- package/dist/node/purecloud-platform-client-v2.js +172 -82
- package/dist/web-amd/purecloud-platform-client-v2.js +172 -82
- package/dist/web-amd/purecloud-platform-client-v2.min.js +1 -1
- package/dist/web-cjs/bundle.js +151 -136
- package/dist/web-cjs/purecloud-platform-client-v2.js +161 -143
- package/dist/web-cjs/purecloud-platform-client-v2.min.js +1 -1
- package/index.d.ts +6 -0
- package/package.json +1 -1
- package/src/purecloud-platform-client-v2/AbstractHttpClient.js +29 -0
- package/src/purecloud-platform-client-v2/ApiClient.js +21 -1
- package/src/purecloud-platform-client-v2/DefaultHttpClient.js +41 -0
- package/src/purecloud-platform-client-v2/api/AgentAssistantsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/AgentCopilotApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/AgentUIApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/AlertingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/AnalyticsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ArchitectApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/AuditApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/AuthorizationApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/BillingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/CarrierServicesApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ChatApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/CoachingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ContentManagementApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ConversationsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/DataExtensionsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/DataPrivacyApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/DownloadsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/EmailsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/EmployeeEngagementApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/EventsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ExternalContactsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/FaxApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/FlowsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/GamificationApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/GeneralDataProtectionRegulationApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/GeolocationApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/GreetingsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/GroupsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/IdentityProviderApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/InfrastructureAsCodeApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/IntegrationsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/JourneyApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/KnowledgeApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/LanguageUnderstandingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/LanguagesApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/LearningApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/LicenseApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/LocationsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/LogCaptureApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/MessagingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/MobileDevicesApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/NotificationsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/OAuthApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ObjectsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/OperationalEventsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/OrganizationApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/OrganizationAuthorizationApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/OutboundApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/PresenceApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ProcessAutomationApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/QualityApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/RecordingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ResponseManagementApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/RoutingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/SCIMApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ScreenRecordingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/ScriptsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/SearchApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/SettingsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/SocialMediaApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/SpeechTextAnalyticsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/StationsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/SuggestApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/TaskManagementApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/TeamsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/TelephonyApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/TelephonyProvidersEdgeApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/TextbotsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/TokensApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/UploadsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/UsageApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/UserRecordingsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/UsersApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/UtilitiesApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/VoicemailApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/WebChatApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/WebDeploymentsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/WebMessagingApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/WidgetsApi.js +1 -1
- package/src/purecloud-platform-client-v2/api/WorkforceManagementApi.js +1 -1
- package/src/purecloud-platform-client-v2/index.js +1 -1
package/index.d.ts
CHANGED
|
@@ -111,6 +111,9 @@ declare abstract class AbstractHttpClient {
|
|
|
111
111
|
setTimeout(timeout: number): void;
|
|
112
112
|
setHttpsAgent(httpsAgent: any): void;
|
|
113
113
|
abstract request(httpRequestOptions: HttpRequestOptions): Promise<any>;
|
|
114
|
+
setPreHook(hookFunction: (config: any) => Promise<any>): void;
|
|
115
|
+
setPostHook(hookFunction: (response: any) => Promise<any>): void;
|
|
116
|
+
abstract enableHooks(): void;
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
declare class DefaultHttpClient {
|
|
@@ -121,8 +124,11 @@ declare class DefaultHttpClient {
|
|
|
121
124
|
constructor(timeout?: number, httpsAgent?: any);
|
|
122
125
|
setTimeout(timeout: number): void;
|
|
123
126
|
setHttpsAgent(httpsAgent: any): void;
|
|
127
|
+
setPreHook(hookFunction: (config: any) => Promise<any>): void;
|
|
128
|
+
setPostHook(hookFunction: (response: any) => Promise<any>): void;
|
|
124
129
|
request(httpRequestOptions: HttpRequestOptions): Promise<any>;
|
|
125
130
|
toAxiosConfig(httpRequestOptions: HttpRequestOptions): any;
|
|
131
|
+
enableHooks(): void;
|
|
126
132
|
}
|
|
127
133
|
|
|
128
134
|
declare class Logger {
|
package/package.json
CHANGED
|
@@ -21,6 +21,35 @@ class AbstractHttpClient {
|
|
|
21
21
|
request(httpRequestOptions) {
|
|
22
22
|
throw new Error("method must be implemented");
|
|
23
23
|
}
|
|
24
|
+
|
|
25
|
+
enableHooks() {
|
|
26
|
+
throw new Error("method must be implemented");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Set a PreHook function that modifies the request config before execution.
|
|
31
|
+
* @param {(config: object) => object | Promise<object> | void} hookFunction
|
|
32
|
+
*/
|
|
33
|
+
setPreHook(hookFunction) {
|
|
34
|
+
if (typeof hookFunction !== "function" || hookFunction.length !== 1) {
|
|
35
|
+
throw new Error("preHook must be a function that accepts (config)");
|
|
36
|
+
}
|
|
37
|
+
this.preHook = hookFunction;
|
|
38
|
+
this.enableHooks()
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Set a PostHook function that processes the response or error after execution.
|
|
43
|
+
* @param {(response: object | null, error: Error | null) => object | Promise<object> | void} hookFunction
|
|
44
|
+
*/
|
|
45
|
+
setPostHook(hookFunction) {
|
|
46
|
+
if (typeof hookFunction !== "function" || hookFunction.length !== 1) {
|
|
47
|
+
throw new Error("postHook must be a function that accepts (response)");
|
|
48
|
+
}
|
|
49
|
+
this.postHook = hookFunction;
|
|
50
|
+
this.enableHooks()
|
|
51
|
+
}
|
|
52
|
+
|
|
24
53
|
}
|
|
25
54
|
|
|
26
55
|
export default AbstractHttpClient;
|
|
@@ -6,7 +6,7 @@ import { default as qs } from 'qs';
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @module purecloud-platform-client-v2/ApiClient
|
|
9
|
-
* @version
|
|
9
|
+
* @version 215.0.0
|
|
10
10
|
*/
|
|
11
11
|
class ApiClient {
|
|
12
12
|
/**
|
|
@@ -261,6 +261,24 @@ class ApiClient {
|
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
+
/**
|
|
265
|
+
* @description Sets preHook functions for the httpClient
|
|
266
|
+
* @param {string} preHook - method definition for prehook
|
|
267
|
+
*/
|
|
268
|
+
setPreHook(preHook) {
|
|
269
|
+
const httpClient = this.getHttpClient();
|
|
270
|
+
httpClient.setPreHook(preHook);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* @description Sets postHook functions for the httpClient
|
|
275
|
+
* @param {string} postHook - method definition for posthook
|
|
276
|
+
*/
|
|
277
|
+
setPostHook(postHook) {
|
|
278
|
+
const httpClient = this.getHttpClient();
|
|
279
|
+
httpClient.setPostHook(postHook);
|
|
280
|
+
}
|
|
281
|
+
|
|
264
282
|
/**
|
|
265
283
|
* @description Sets the certificate content if MTLS authentication is needed
|
|
266
284
|
* @param {string} certContent - content for certs
|
|
@@ -292,6 +310,8 @@ class ApiClient {
|
|
|
292
310
|
}
|
|
293
311
|
}
|
|
294
312
|
|
|
313
|
+
|
|
314
|
+
|
|
295
315
|
/**
|
|
296
316
|
* @description Sets the gateway used by the session
|
|
297
317
|
* @param {object} gateway - Gateway Configuration interface
|
|
@@ -14,6 +14,47 @@ class DefaultHttpClient extends AbstractHttpClient{
|
|
|
14
14
|
this._axiosInstance = axios.create({});
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
|
|
18
|
+
enableHooks() {
|
|
19
|
+
if (this.preHook && typeof this.preHook === 'function') {
|
|
20
|
+
|
|
21
|
+
if (this.requestInterceptorId !== undefined) {
|
|
22
|
+
axios.interceptors.request.eject(this.requestInterceptorId);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
this.requestInterceptorId = this._axiosInstance.interceptors.request.use(
|
|
26
|
+
async (config) => {
|
|
27
|
+
config = await this.preHook(config); // Call the custom pre-hook
|
|
28
|
+
return config
|
|
29
|
+
},
|
|
30
|
+
(error) => {
|
|
31
|
+
// Handle errors before the request is sent
|
|
32
|
+
console.error('Request Pre-Hook Error:', error.message);
|
|
33
|
+
return Promise.reject(error);
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (this.postHook && typeof this.postHook === 'function') {
|
|
39
|
+
// Response interceptor (for post-hooks)
|
|
40
|
+
if (this.responseInterceptorId !== undefined) {
|
|
41
|
+
axios.interceptors.response.eject(this.responseInterceptorId);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
this.responseInterceptorId = this._axiosInstance.interceptors.response.use(
|
|
45
|
+
async (response) => {
|
|
46
|
+
response = await this.postHook(response); // Call the custom post-hook
|
|
47
|
+
return response
|
|
48
|
+
},
|
|
49
|
+
async (error) => {
|
|
50
|
+
console.error('Post-Hook: Response Error', error.message);
|
|
51
|
+
// Optionally call post-hook in case of errors
|
|
52
|
+
return Promise.reject(error);
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
17
58
|
request(httpRequestOptions) {
|
|
18
59
|
if(!(httpRequestOptions instanceof HttpRequestOptions)) {
|
|
19
60
|
throw new Error(`httpRequestOptions must be instance of HttpRequestOptions `);
|