@expressms/smartapp-sdk 1.2.9 → 1.4.0-alpha
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 +82 -52
- package/build/main/index.d.ts +2 -2
- package/build/main/index.js +6 -2
- package/build/main/lib/client/events.d.ts +20 -0
- package/build/main/lib/client/events.js +78 -0
- package/build/main/lib/client/index.d.ts +18 -2
- package/build/main/lib/client/index.js +47 -2
- package/build/main/lib/logging/index.js +5 -2
- package/build/main/types/bridge.d.ts +14 -2
- package/build/main/types/bridge.js +16 -2
- package/build/main/types/client.d.ts +19 -0
- package/build/main/types/client.js +8 -0
- package/build/main/types/index.d.ts +2 -0
- package/build/main/types/index.js +3 -1
- package/build/module/index.d.ts +2 -2
- package/build/module/index.js +3 -3
- package/build/module/lib/client/events.d.ts +20 -0
- package/build/module/lib/client/events.js +71 -0
- package/build/module/lib/client/index.d.ts +18 -2
- package/build/module/lib/client/index.js +32 -3
- package/build/module/lib/logging/index.js +5 -2
- package/build/module/types/bridge.d.ts +14 -2
- package/build/module/types/bridge.js +15 -1
- package/build/module/types/client.d.ts +19 -0
- package/build/module/types/client.js +5 -0
- package/build/module/types/index.d.ts +2 -0
- package/build/module/types/index.js +3 -1
- package/build/umd/index.js +215 -145
- package/package.json +13 -21
- package/workers/workbox.js +0 -80
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import bridge from '@expressms/smartapp-bridge';
|
|
2
|
+
import { ERROR_CODES, METHODS, STATUS } from '../../types';
|
|
3
|
+
const subscriptions = [];
|
|
4
|
+
let bridgeEventListenerInstalled = false;
|
|
5
|
+
const isAnySubscriptionsOfType = (eventType) => {
|
|
6
|
+
return subscriptions.some(sub => sub.eventType == eventType);
|
|
7
|
+
};
|
|
8
|
+
const installBridgeEventListener = () => {
|
|
9
|
+
if (bridgeEventListenerInstalled || !bridge)
|
|
10
|
+
return;
|
|
11
|
+
bridgeEventListenerInstalled = true;
|
|
12
|
+
bridge.onReceive(event => {
|
|
13
|
+
subscriptions.filter(sub => sub.eventType === event.type).map(sub => sub.callback(event));
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Subscribe to special client events
|
|
18
|
+
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
19
|
+
* @param callback Function to be handled when event is coming
|
|
20
|
+
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
21
|
+
*/
|
|
22
|
+
const subscribeClientEvents = (eventType, callback) => {
|
|
23
|
+
const successResponse = { status: STATUS.SUCCESS };
|
|
24
|
+
// No need to subscribe event twice on client
|
|
25
|
+
if (isAnySubscriptionsOfType(eventType)) {
|
|
26
|
+
subscriptions.push({ eventType, callback });
|
|
27
|
+
return Promise.resolve(successResponse);
|
|
28
|
+
}
|
|
29
|
+
if (!bridge)
|
|
30
|
+
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
31
|
+
return bridge
|
|
32
|
+
.sendClientEvent({
|
|
33
|
+
method: METHODS.SUBSCRIBE_CLIENT_EVENTS,
|
|
34
|
+
params: {
|
|
35
|
+
event: eventType,
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
.then(() => {
|
|
39
|
+
installBridgeEventListener();
|
|
40
|
+
subscriptions.push({ eventType, callback });
|
|
41
|
+
return successResponse;
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Unsubscribe from previously subscribed client events
|
|
46
|
+
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
47
|
+
* @param callback Function to be unsibscribed
|
|
48
|
+
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
49
|
+
*/
|
|
50
|
+
const unsubscribeClientEvents = (eventType, callback) => {
|
|
51
|
+
const successResponse = { status: STATUS.SUCCESS };
|
|
52
|
+
const index = subscriptions.findIndex(sub => sub.eventType == eventType && sub.callback == callback);
|
|
53
|
+
if (!bridge)
|
|
54
|
+
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
55
|
+
if (index == -1)
|
|
56
|
+
return Promise.reject(ERROR_CODES.SUBSCRIPTION_NOT_FOUND);
|
|
57
|
+
subscriptions.splice(index, 1);
|
|
58
|
+
// Send unsubscribe to client only at last subscription
|
|
59
|
+
if (isAnySubscriptionsOfType(eventType))
|
|
60
|
+
return Promise.resolve(successResponse);
|
|
61
|
+
return bridge
|
|
62
|
+
.sendClientEvent({
|
|
63
|
+
method: METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
|
|
64
|
+
params: {
|
|
65
|
+
event: eventType,
|
|
66
|
+
},
|
|
67
|
+
})
|
|
68
|
+
.then(() => successResponse);
|
|
69
|
+
};
|
|
70
|
+
export { subscribeClientEvents, unsubscribeClientEvents };
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLDRCQUE0QixDQUFBO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBeUIsTUFBTSxhQUFhLENBQUE7QUFFakYsTUFBTSxhQUFhLEdBQW9FLEVBQUUsQ0FBQTtBQUN6RixJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQTtBQUV4QyxNQUFNLHdCQUF3QixHQUFHLENBQUMsU0FBZ0MsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUE7QUFDOUQsQ0FBQyxDQUFBO0FBRUQsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLEVBQUU7SUFDdEMsSUFBSSw0QkFBNEIsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFNO0lBRW5ELDRCQUE0QixHQUFHLElBQUksQ0FBQTtJQUVuQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDM0YsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxTQUFnQyxFQUFFLFFBQWtCLEVBQStCLEVBQUU7SUFDbEgsTUFBTSxlQUFlLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBRWxELDZDQUE2QztJQUM3QyxJQUFJLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3ZDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7S0FDeEM7SUFFRCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFekQsT0FBTyxNQUFNO1NBQ1YsZUFBZSxDQUFDO1FBQ2YsTUFBTSxFQUFFLE9BQU8sQ0FBQyx1QkFBdUI7UUFDdkMsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLFNBQVM7U0FDakI7S0FDRixDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNULDBCQUEwQixFQUFFLENBQUE7UUFDNUIsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLE9BQU8sZUFBZSxDQUFBO0lBQ3hCLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsU0FBZ0MsRUFBRSxRQUFrQixFQUErQixFQUFFO0lBQ3BILE1BQU0sZUFBZSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUVsRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxTQUFTLElBQUksR0FBRyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQTtJQUVwRyxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDekQsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBRTFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBRTlCLHVEQUF1RDtJQUN2RCxJQUFJLHdCQUF3QixDQUFDLFNBQVMsQ0FBQztRQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUVoRixPQUFPLE1BQU07U0FDVixlQUFlLENBQUM7UUFDZixNQUFNLEVBQUUsT0FBTyxDQUFDLHlCQUF5QjtRQUN6QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUztTQUNqQjtLQUNGLENBQUM7U0FDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBRUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLENBQUEifQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { File } from '../../types';
|
|
1
|
+
import { CreateDeeplinkResponse, File, GetConnectionStatusResponse } from '../../types';
|
|
2
|
+
export * from './events';
|
|
2
3
|
declare const openClientSettings: () => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
|
|
3
4
|
declare const getChats: ({ filter }: {
|
|
4
5
|
filter: string | null;
|
|
@@ -18,4 +19,19 @@ declare const sendBotCommand: ({ userHuid, body, data, }: {
|
|
|
18
19
|
} | null;
|
|
19
20
|
}) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
|
|
20
21
|
declare const requestLocation: () => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
|
|
21
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Get client current connection status. It's based on client's WebSocket connection state.
|
|
24
|
+
* @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
|
|
25
|
+
*/
|
|
26
|
+
declare const getConnectionStatus: () => Promise<GetConnectionStatusResponse>;
|
|
27
|
+
/**
|
|
28
|
+
* Create deeplink URL to open SmartApp
|
|
29
|
+
* @param appId ID of SmartApp
|
|
30
|
+
* @param meta Array of params to be included in deeplink
|
|
31
|
+
* @returns Promise that'll be fullfilled with deeplink data on success, otherwise rejected with reason
|
|
32
|
+
*/
|
|
33
|
+
declare const createDeeplink: (appId: string, meta: Array<{
|
|
34
|
+
key: string;
|
|
35
|
+
value: null | boolean | string | number;
|
|
36
|
+
}>) => Promise<CreateDeeplinkResponse>;
|
|
37
|
+
export { openFile, openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation, getConnectionStatus, createDeeplink, };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import bridge from '@expressms/smartapp-bridge';
|
|
2
|
-
import { METHODS } from '../../types';
|
|
2
|
+
import { ERROR_CODES, METHODS } from '../../types';
|
|
3
|
+
export * from './events';
|
|
3
4
|
const openClientSettings = () => {
|
|
4
5
|
return bridge?.sendClientEvent({
|
|
5
6
|
method: METHODS.OPEN_CLIENT_SETTINGS,
|
|
@@ -50,5 +51,33 @@ const requestLocation = () => {
|
|
|
50
51
|
params: {},
|
|
51
52
|
});
|
|
52
53
|
};
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Get client current connection status. It's based on client's WebSocket connection state.
|
|
56
|
+
* @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
|
|
57
|
+
*/
|
|
58
|
+
const getConnectionStatus = async () => {
|
|
59
|
+
if (!bridge)
|
|
60
|
+
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
61
|
+
const response = await bridge.sendClientEvent({
|
|
62
|
+
method: METHODS.GET_CONNECTION_STATUS,
|
|
63
|
+
params: {},
|
|
64
|
+
});
|
|
65
|
+
return response;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Create deeplink URL to open SmartApp
|
|
69
|
+
* @param appId ID of SmartApp
|
|
70
|
+
* @param meta Array of params to be included in deeplink
|
|
71
|
+
* @returns Promise that'll be fullfilled with deeplink data on success, otherwise rejected with reason
|
|
72
|
+
*/
|
|
73
|
+
const createDeeplink = async (appId, meta) => {
|
|
74
|
+
if (!bridge)
|
|
75
|
+
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
76
|
+
const response = await bridge.sendClientEvent({
|
|
77
|
+
method: METHODS.CREATE_DEEPLINK,
|
|
78
|
+
params: { appId, meta },
|
|
79
|
+
});
|
|
80
|
+
return response;
|
|
81
|
+
};
|
|
82
|
+
export { openFile, openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation, getConnectionStatus, createDeeplink, };
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSw0QkFBNEIsQ0FBQTtBQUMvQyxPQUFPLEVBQTBCLFdBQVcsRUFBcUMsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdHLGNBQWMsVUFBVSxDQUFBO0FBRXhCLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBQzlCLE9BQU8sTUFBTSxFQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsT0FBTyxDQUFDLG9CQUFvQjtRQUNwQyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsRUFBQyxNQUFNLEdBQUcsSUFBSSxFQUE0QixFQUFFLEVBQUU7SUFDOUQsT0FBTyxNQUFNLEVBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUztRQUN6QixNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUM7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBRUQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEVBQUMsTUFBTSxHQUFHLElBQUksRUFBNEIsRUFBRSxFQUFFO0lBQzlFLE9BQU8sTUFBTSxFQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsT0FBTyxDQUFDLDBCQUEwQjtRQUMxQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUM7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBRUQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxFQUFDLFdBQVcsRUFBMEIsRUFBRSxFQUFFO0lBQy9ELE9BQU8sTUFBTSxFQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsT0FBTyxDQUFDLGVBQWU7UUFDL0IsTUFBTSxFQUFFLEVBQUMsV0FBVyxFQUFDO0tBQ3RCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7SUFDOUIsT0FBTyxNQUFNLEVBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUztRQUN6QixNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sY0FBYyxHQUFHLENBQ25CLEVBQ0UsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEdBS0wsRUFDSCxFQUFFO0lBQ0YsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRO1FBQUUsT0FBTTtJQUVwQyxPQUFPLE1BQU0sRUFBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7UUFDaEMsTUFBTSxFQUFFO1lBQ04sUUFBUTtZQUNSLE9BQU8sRUFBRTtnQkFDUCxJQUFJO2dCQUNKLElBQUk7YUFDTDtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBRUQsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLE9BQU8sTUFBTSxFQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtRQUNoQyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxJQUEwQyxFQUFFO0lBQzNFLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUV6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDNUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUI7UUFDckMsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFDLENBQUE7SUFFRixPQUFPLFFBQXVDLENBQUE7QUFDaEQsQ0FBQyxDQUFBO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQzFCLEtBQWEsRUFDYixJQUFxRSxFQUNwQyxFQUFFO0lBQ25DLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUV6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDNUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1FBQy9CLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7S0FDeEIsQ0FBQyxDQUFBO0lBRUYsT0FBTyxRQUFrQyxDQUFBO0FBQzNDLENBQUMsQ0FBQTtBQUVELE9BQU8sRUFDTCxRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixDQUFBIn0=
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import bridge from "@expressms/smartapp-bridge";
|
|
2
|
+
import { ERROR_CODES } from "../../types";
|
|
2
3
|
import { bridgeSendReady } from "../index";
|
|
3
4
|
const ready = async (timeout) => {
|
|
4
5
|
const response = await bridgeSendReady(timeout);
|
|
5
6
|
const isLogsEnabled = response?.payload?.logsEnabled;
|
|
7
|
+
if (!bridge)
|
|
8
|
+
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
6
9
|
if (isLogsEnabled)
|
|
7
|
-
bridge
|
|
10
|
+
bridge.enableLogs?.();
|
|
8
11
|
return response;
|
|
9
12
|
};
|
|
10
13
|
export { ready, };
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2xvZ2dpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUE7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBc0IsTUFBTSxhQUFhLENBQUE7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUUxQyxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLE9BQU8sQ0FBdUIsQ0FBQTtJQUNyRSxNQUFNLGFBQWEsR0FBRyxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQTtJQUVwRCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFekQsSUFBSSxhQUFhO1FBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUE7SUFFeEMsT0FBTyxRQUFRLENBQUE7QUFDakIsQ0FBQyxDQUFBO0FBRUQsT0FBTyxFQUNMLEtBQUssR0FDTixDQUFBIn0=
|
|
@@ -18,11 +18,23 @@ export declare enum METHODS {
|
|
|
18
18
|
REQUEST_LOCATION = "request_location",
|
|
19
19
|
REQUEST_SELF_PROFILE = "request_self_profile",
|
|
20
20
|
CLOSE_SMART_APP = "close_smart_app",
|
|
21
|
-
OPEN_FILE = "open_file"
|
|
21
|
+
OPEN_FILE = "open_file",
|
|
22
|
+
SUBSCRIBE_CLIENT_EVENTS = "subscribe_client_events",
|
|
23
|
+
UNSUBSCRIBE_CLIENT_EVENTS = "unsubscribe_client_events",
|
|
24
|
+
GET_CONNECTION_STATUS = "get_connection_status",
|
|
25
|
+
CREATE_DEEPLINK = "create_deeplink"
|
|
26
|
+
}
|
|
27
|
+
export declare enum STATUS {
|
|
28
|
+
SUCCESS = "success",
|
|
29
|
+
ERROR = "error"
|
|
30
|
+
}
|
|
31
|
+
export declare enum ERROR_CODES {
|
|
32
|
+
NO_BRIDGE = "no_bridge",
|
|
33
|
+
SUBSCRIPTION_NOT_FOUND = "subscription_not_found"
|
|
22
34
|
}
|
|
23
35
|
export type ReadyEventResponse = ({
|
|
24
36
|
ref: string;
|
|
25
|
-
status:
|
|
37
|
+
status: STATUS.SUCCESS;
|
|
26
38
|
payload: {
|
|
27
39
|
logsEnabled?: boolean;
|
|
28
40
|
isMain?: boolean;
|
|
@@ -20,5 +20,19 @@ export var METHODS;
|
|
|
20
20
|
METHODS["REQUEST_SELF_PROFILE"] = "request_self_profile";
|
|
21
21
|
METHODS["CLOSE_SMART_APP"] = "close_smart_app";
|
|
22
22
|
METHODS["OPEN_FILE"] = "open_file";
|
|
23
|
+
METHODS["SUBSCRIBE_CLIENT_EVENTS"] = "subscribe_client_events";
|
|
24
|
+
METHODS["UNSUBSCRIBE_CLIENT_EVENTS"] = "unsubscribe_client_events";
|
|
25
|
+
METHODS["GET_CONNECTION_STATUS"] = "get_connection_status";
|
|
26
|
+
METHODS["CREATE_DEEPLINK"] = "create_deeplink";
|
|
23
27
|
})(METHODS || (METHODS = {}));
|
|
24
|
-
|
|
28
|
+
export var STATUS;
|
|
29
|
+
(function (STATUS) {
|
|
30
|
+
STATUS["SUCCESS"] = "success";
|
|
31
|
+
STATUS["ERROR"] = "error";
|
|
32
|
+
})(STATUS || (STATUS = {}));
|
|
33
|
+
export var ERROR_CODES;
|
|
34
|
+
(function (ERROR_CODES) {
|
|
35
|
+
ERROR_CODES["NO_BRIDGE"] = "no_bridge";
|
|
36
|
+
ERROR_CODES["SUBSCRIPTION_NOT_FOUND"] = "subscription_not_found";
|
|
37
|
+
})(ERROR_CODES || (ERROR_CODES = {}));
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2JyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxPQXlCWDtBQXpCRCxXQUFZLE9BQU87SUFDakIsMEJBQWUsQ0FBQTtJQUNmLDhDQUFtQyxDQUFBO0lBQ25DLHdDQUE2QixDQUFBO0lBQzdCLHdDQUE2QixDQUFBO0lBQzdCLHNDQUEyQixDQUFBO0lBQzNCLHNDQUEyQixDQUFBO0lBQzNCLHdEQUE2QyxDQUFBO0lBQzdDLHdDQUE2QixDQUFBO0lBQzdCLHdDQUE2QixDQUFBO0lBQzdCLDRDQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QyxDQUFBO0lBQzdDLGtDQUF1QixDQUFBO0lBQ3ZCLG9FQUF5RCxDQUFBO0lBQ3pELGdEQUFxQyxDQUFBO0lBQ3JDLDhDQUFtQyxDQUFBO0lBQ25DLGtEQUF1QyxDQUFBO0lBQ3ZDLGdEQUFxQyxDQUFBO0lBQ3JDLHdEQUE2QyxDQUFBO0lBQzdDLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLDhEQUFtRCxDQUFBO0lBQ25ELGtFQUF1RCxDQUFBO0lBQ3ZELDBEQUErQyxDQUFBO0lBQy9DLDhDQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUF6QlcsT0FBTyxLQUFQLE9BQU8sUUF5QmxCO0FBRUQsTUFBTSxDQUFOLElBQVksTUFHWDtBQUhELFdBQVksTUFBTTtJQUNoQiw2QkFBbUIsQ0FBQTtJQUNuQix5QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxNQUFNLEtBQU4sTUFBTSxRQUdqQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsZ0VBQWlELENBQUE7QUFDbkQsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare enum SubscriptionEventType {
|
|
2
|
+
CONNECTION_STATUS = "connection_status"
|
|
3
|
+
}
|
|
4
|
+
export type GetConnectionStatusResponse = ({
|
|
5
|
+
ref: string;
|
|
6
|
+
payload: {
|
|
7
|
+
connectionStatus: "connected" | "disconnected";
|
|
8
|
+
};
|
|
9
|
+
});
|
|
10
|
+
export type CreateDeeplinkResponse = ({
|
|
11
|
+
ref: string;
|
|
12
|
+
payload: {
|
|
13
|
+
status: 'error' | 'success';
|
|
14
|
+
errorCode?: string;
|
|
15
|
+
data?: {
|
|
16
|
+
deeplink: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var SubscriptionEventType;
|
|
2
|
+
(function (SubscriptionEventType) {
|
|
3
|
+
SubscriptionEventType["CONNECTION_STATUS"] = "connection_status";
|
|
4
|
+
})(SubscriptionEventType || (SubscriptionEventType = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxxQkFFWDtBQUZELFdBQVkscUJBQXFCO0lBQy9CLGdFQUF1QyxDQUFBO0FBQ3pDLENBQUMsRUFGVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBRWhDIn0=
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export * from "./bridge";
|
|
2
2
|
export * from "./routing";
|
|
3
|
-
|
|
3
|
+
export * from "./contacts";
|
|
4
|
+
export * from "./client";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxVQUFVLENBQUEifQ==
|