@expressms/smartapp-sdk 1.6.0-alpha.3 → 1.7.0-alpha.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/build/main/index.d.ts +2 -2
- package/build/main/index.js +3 -2
- package/build/main/lib/client/events.d.ts +13 -3
- package/build/main/lib/client/events.js +27 -17
- package/build/main/lib/client/index.d.ts +8 -3
- package/build/main/lib/client/index.js +17 -3
- package/build/main/types/bridge.d.ts +2 -1
- package/build/main/types/bridge.js +2 -1
- package/build/main/types/client.d.ts +19 -8
- package/build/main/types/client.js +2 -1
- package/build/module/index.d.ts +2 -2
- package/build/module/index.js +3 -3
- package/build/module/lib/client/events.d.ts +13 -3
- package/build/module/lib/client/events.js +27 -11
- package/build/module/lib/client/index.d.ts +8 -3
- package/build/module/lib/client/index.js +16 -3
- package/build/module/types/bridge.d.ts +2 -1
- package/build/module/types/bridge.js +2 -1
- package/build/module/types/client.d.ts +19 -8
- package/build/module/types/client.js +2 -1
- package/build/umd/index.js +43 -11
- package/package.json +1 -1
package/build/main/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Bridge from '@expressms/smartapp-bridge';
|
|
2
|
-
import { clientStorageClear, clientStorageGet, clientStorageRemove, clientStorageSet, createDeeplink, getChats, getConnectionStatus, handleDeeplink, openChatMessage, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, searchLocalPhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents } from './lib/client';
|
|
2
|
+
import { clientStorageClear, clientStorageGet, clientStorageRemove, clientStorageSet, createDeeplink, getChats, getConnectionStatus, getUnreadCounter, handleDeeplink, openChatMessage, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, searchLocalPhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents } from './lib/client';
|
|
3
3
|
import { addContact, createPersonalChat, getContact, openContactCard, openPersonalChat, requestSelfProfile, sendMessage } from './lib/contacts';
|
|
4
4
|
import { useQuery } from './lib/helpers/helpers';
|
|
5
5
|
import { ready } from './lib/logging';
|
|
6
6
|
import { onNotification } from './lib/notification';
|
|
7
7
|
import { closeSmartApp, exitSmartAppToCatalog, onBackPressed, onMoveToRoot, openSmartApp, routingChanged } from './lib/routing';
|
|
8
|
-
export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, openChatMessage, clientStorageGet, clientStorageSet, clientStorageRemove, clientStorageClear, openPersonalChat, handleDeeplink, searchLocalPhonebook, };
|
|
8
|
+
export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, openChatMessage, clientStorageGet, clientStorageSet, clientStorageRemove, clientStorageClear, openPersonalChat, handleDeeplink, searchLocalPhonebook, getUnreadCounter, };
|
package/build/main/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.searchLocalPhonebook = exports.handleDeeplink = exports.openPersonalChat = exports.clientStorageClear = exports.clientStorageRemove = exports.clientStorageSet = exports.clientStorageGet = exports.openChatMessage = exports.createDeeplink = exports.unsubscribeClientEvents = exports.subscribeClientEvents = exports.getConnectionStatus = exports.closeSmartApp = exports.requestSelfProfile = exports.openContactCard = exports.requestLocation = exports.onMoveToRoot = exports.openGroupChat = exports.sendBotCommand = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.useQuery = exports.exitSmartAppToCatalog = exports.openFile = exports.openSmartApp = exports.sendMessage = exports.onNotification = exports.createPersonalChat = exports.getContact = exports.addContact = exports.onBackPressed = exports.routingChanged = exports.ready = exports.Bridge = void 0;
|
|
6
|
+
exports.getUnreadCounter = exports.searchLocalPhonebook = exports.handleDeeplink = exports.openPersonalChat = exports.clientStorageClear = exports.clientStorageRemove = exports.clientStorageSet = exports.clientStorageGet = exports.openChatMessage = exports.createDeeplink = exports.unsubscribeClientEvents = exports.subscribeClientEvents = exports.getConnectionStatus = exports.closeSmartApp = exports.requestSelfProfile = exports.openContactCard = exports.requestLocation = exports.onMoveToRoot = exports.openGroupChat = exports.sendBotCommand = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.useQuery = exports.exitSmartAppToCatalog = exports.openFile = exports.openSmartApp = exports.sendMessage = exports.onNotification = exports.createPersonalChat = exports.getContact = exports.addContact = exports.onBackPressed = exports.routingChanged = exports.ready = exports.Bridge = void 0;
|
|
7
7
|
const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
|
|
8
8
|
exports.Bridge = smartapp_bridge_1.default;
|
|
9
9
|
const client_1 = require("./lib/client");
|
|
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "clientStorageSet", { enumerable: true, get: func
|
|
|
14
14
|
Object.defineProperty(exports, "createDeeplink", { enumerable: true, get: function () { return client_1.createDeeplink; } });
|
|
15
15
|
Object.defineProperty(exports, "getChats", { enumerable: true, get: function () { return client_1.getChats; } });
|
|
16
16
|
Object.defineProperty(exports, "getConnectionStatus", { enumerable: true, get: function () { return client_1.getConnectionStatus; } });
|
|
17
|
+
Object.defineProperty(exports, "getUnreadCounter", { enumerable: true, get: function () { return client_1.getUnreadCounter; } });
|
|
17
18
|
Object.defineProperty(exports, "handleDeeplink", { enumerable: true, get: function () { return client_1.handleDeeplink; } });
|
|
18
19
|
Object.defineProperty(exports, "openChatMessage", { enumerable: true, get: function () { return client_1.openChatMessage; } });
|
|
19
20
|
Object.defineProperty(exports, "openClientSettings", { enumerable: true, get: function () { return client_1.openClientSettings; } });
|
|
@@ -46,4 +47,4 @@ Object.defineProperty(exports, "onBackPressed", { enumerable: true, get: functio
|
|
|
46
47
|
Object.defineProperty(exports, "onMoveToRoot", { enumerable: true, get: function () { return routing_1.onMoveToRoot; } });
|
|
47
48
|
Object.defineProperty(exports, "openSmartApp", { enumerable: true, get: function () { return routing_1.openSmartApp; } });
|
|
48
49
|
Object.defineProperty(exports, "routingChanged", { enumerable: true, get: function () { return routing_1.routingChanged; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBNEM3QyxpQkE1Q0sseUJBQU0sQ0E0Q0w7QUEzQ1IseUNBb0JxQjtBQXNEbkIsbUdBekVBLDJCQUFrQixPQXlFQTtBQUhsQixpR0FyRUEseUJBQWdCLE9BcUVBO0FBRWhCLG9HQXRFQSw0QkFBbUIsT0FzRUE7QUFEbkIsaUdBcEVBLHlCQUFnQixPQW9FQTtBQUhoQiwrRkFoRUEsdUJBQWMsT0FnRUE7QUFaZCx5RkFuREEsaUJBQVEsT0FtREE7QUFTUixvR0EzREEsNEJBQW1CLE9BMkRBO0FBWW5CLGlHQXRFQSx5QkFBZ0IsT0FzRUE7QUFGaEIsK0ZBbkVBLHVCQUFjLE9BbUVBO0FBTmQsZ0dBNURBLHdCQUFlLE9BNERBO0FBZGYsbUdBN0NBLDJCQUFrQixPQTZDQTtBQUhsQix5RkF6Q0EsaUJBQVEsT0F5Q0E7QUFPUiw4RkEvQ0Esc0JBQWEsT0ErQ0E7QUFFYixnR0FoREEsd0JBQWUsT0FnREE7QUFKZix5R0EzQ0EsaUNBQXdCLE9BMkNBO0FBbUJ4QixxR0E3REEsNkJBQW9CLE9BNkRBO0FBbEJwQiwrRkExQ0EsdUJBQWMsT0EwQ0E7QUFRZCxzR0FqREEsOEJBQXFCLE9BaURBO0FBQ3JCLHdHQWpEQSxnQ0FBdUIsT0FpREE7QUEvQ3pCLDZDQVF1QjtBQWtCckIsMkZBekJBLHFCQUFVLE9BeUJBO0FBRVYsbUdBMUJBLDZCQUFrQixPQTBCQTtBQURsQiwyRkF4QkEscUJBQVUsT0F3QkE7QUFlVixnR0F0Q0EsMEJBQWUsT0FzQ0E7QUFZZixpR0FqREEsMkJBQWdCLE9BaURBO0FBWGhCLG1HQXJDQSw2QkFBa0IsT0FxQ0E7QUFibEIsNEZBdkJBLHNCQUFXLE9BdUJBO0FBckJiLG1EQUE4QztBQXlCNUMseUZBekJNLGtCQUFRLE9BeUJOO0FBeEJWLDJDQUFtQztBQWFqQyxzRkFiTSxlQUFLLE9BYU47QUFaUCxxREFBaUQ7QUFrQi9DLCtGQWxCTSw2QkFBYyxPQWtCTjtBQWpCaEIsMkNBT3NCO0FBeUJwQiw4RkEvQkEsdUJBQWEsT0ErQkE7QUFYYixzR0FuQkEsK0JBQXFCLE9BbUJBO0FBUnJCLDhGQVZBLHVCQUFhLE9BVUE7QUFlYiw2RkF4QkEsc0JBQVksT0F3QkE7QUFUWiw2RkFkQSxzQkFBWSxPQWNBO0FBUFosK0ZBTkEsd0JBQWMsT0FNQSJ9
|
|
@@ -1,20 +1,30 @@
|
|
|
1
|
-
import { SubscriptionEventType } from '../../types';
|
|
1
|
+
import { SubscriptionEventType, SubscriptionPayload } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Subscribe to special client events
|
|
4
4
|
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
5
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
5
6
|
* @param callback Optional function to be handled when event is coming
|
|
6
7
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
7
8
|
*/
|
|
8
|
-
declare const subscribeClientEvents: (eventType
|
|
9
|
+
declare const subscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
10
|
+
eventType: SubscriptionEventType;
|
|
11
|
+
payload?: SubscriptionPayload | undefined;
|
|
12
|
+
callback?: Function | undefined;
|
|
13
|
+
}) => Promise<{
|
|
9
14
|
status: string;
|
|
10
15
|
}>;
|
|
11
16
|
/**
|
|
12
17
|
* Unsubscribe from previously subscribed client events
|
|
13
18
|
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
19
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
14
20
|
* @param callback Function to be unsibscribed
|
|
15
21
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
16
22
|
*/
|
|
17
|
-
declare const unsubscribeClientEvents: (eventType
|
|
23
|
+
declare const unsubscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
24
|
+
eventType: SubscriptionEventType;
|
|
25
|
+
payload?: SubscriptionPayload | undefined;
|
|
26
|
+
callback?: Function | undefined;
|
|
27
|
+
}) => Promise<{
|
|
18
28
|
status: string;
|
|
19
29
|
}>;
|
|
20
30
|
export { subscribeClientEvents, unsubscribeClientEvents };
|
|
@@ -8,28 +8,39 @@ const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"))
|
|
|
8
8
|
const types_1 = require("../../types");
|
|
9
9
|
const subscriptions = [];
|
|
10
10
|
let bridgeEventListenerInstalled = false;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
+
const getSubscriptionId = (eventType, payload) => {
|
|
13
|
+
const sourceId = (payload === null || payload === void 0 ? void 0 : payload.id) ? '-' + (payload === null || payload === void 0 ? void 0 : payload.id) : '';
|
|
14
|
+
const sourceType = (payload === null || payload === void 0 ? void 0 : payload.type) ? '-' + (payload === null || payload === void 0 ? void 0 : payload.type) : '';
|
|
15
|
+
return `${eventType}${sourceType}${sourceId}`;
|
|
16
|
+
};
|
|
17
|
+
const isAnySubscriptions = (eventType, payload) => {
|
|
18
|
+
const id = getSubscriptionId(eventType, payload);
|
|
19
|
+
return subscriptions.some(sub => sub.id == id);
|
|
13
20
|
};
|
|
14
21
|
const installBridgeEventListener = () => {
|
|
15
22
|
if (bridgeEventListenerInstalled || !smartapp_bridge_1.default)
|
|
16
23
|
return;
|
|
17
24
|
bridgeEventListenerInstalled = true;
|
|
18
25
|
smartapp_bridge_1.default.onReceive(event => {
|
|
19
|
-
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
const id = getSubscriptionId(event.type, event.payload.source);
|
|
28
|
+
subscriptions.filter(sub => sub.id === id).map(sub => { var _a; return (_a = sub.callback) === null || _a === void 0 ? void 0 : _a.call(sub, event); });
|
|
20
29
|
});
|
|
21
30
|
};
|
|
22
31
|
/**
|
|
23
32
|
* Subscribe to special client events
|
|
24
33
|
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
34
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
25
35
|
* @param callback Optional function to be handled when event is coming
|
|
26
36
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
27
37
|
*/
|
|
28
|
-
const subscribeClientEvents = (eventType, callback) => {
|
|
38
|
+
const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
29
39
|
const successResponse = { status: types_1.STATUS.SUCCESS };
|
|
30
40
|
// No need to subscribe event twice on client
|
|
31
|
-
if (
|
|
32
|
-
|
|
41
|
+
if (isAnySubscriptions(eventType, payload)) {
|
|
42
|
+
const id = getSubscriptionId(eventType, payload);
|
|
43
|
+
subscriptions.push({ id, callback });
|
|
33
44
|
return Promise.resolve(successResponse);
|
|
34
45
|
}
|
|
35
46
|
if (!smartapp_bridge_1.default)
|
|
@@ -37,13 +48,12 @@ const subscribeClientEvents = (eventType, callback) => {
|
|
|
37
48
|
return smartapp_bridge_1.default
|
|
38
49
|
.sendClientEvent({
|
|
39
50
|
method: types_1.METHODS.SUBSCRIBE_CLIENT_EVENTS,
|
|
40
|
-
params: {
|
|
41
|
-
event: eventType,
|
|
42
|
-
},
|
|
51
|
+
params: Object.assign({ event: eventType }, payload),
|
|
43
52
|
})
|
|
44
53
|
.then(() => {
|
|
54
|
+
const id = getSubscriptionId(eventType, payload);
|
|
45
55
|
installBridgeEventListener();
|
|
46
|
-
subscriptions.push({
|
|
56
|
+
subscriptions.push({ id, callback });
|
|
47
57
|
return successResponse;
|
|
48
58
|
});
|
|
49
59
|
};
|
|
@@ -51,28 +61,28 @@ exports.subscribeClientEvents = subscribeClientEvents;
|
|
|
51
61
|
/**
|
|
52
62
|
* Unsubscribe from previously subscribed client events
|
|
53
63
|
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
64
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
54
65
|
* @param callback Function to be unsibscribed
|
|
55
66
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
56
67
|
*/
|
|
57
|
-
const unsubscribeClientEvents = (eventType, callback) => {
|
|
68
|
+
const unsubscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
58
69
|
const successResponse = { status: types_1.STATUS.SUCCESS };
|
|
59
|
-
const
|
|
70
|
+
const id = getSubscriptionId(eventType, payload);
|
|
71
|
+
const index = subscriptions.findIndex(sub => sub.id == id && sub.callback == callback);
|
|
60
72
|
if (!smartapp_bridge_1.default)
|
|
61
73
|
return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
|
|
62
74
|
if (index == -1)
|
|
63
75
|
return Promise.reject(types_1.ERROR_CODES.SUBSCRIPTION_NOT_FOUND);
|
|
64
76
|
subscriptions.splice(index, 1);
|
|
65
77
|
// Send unsubscribe to client only at last subscription
|
|
66
|
-
if (
|
|
78
|
+
if (isAnySubscriptions(eventType, payload))
|
|
67
79
|
return Promise.resolve(successResponse);
|
|
68
80
|
return smartapp_bridge_1.default
|
|
69
81
|
.sendClientEvent({
|
|
70
82
|
method: types_1.METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
|
|
71
|
-
params: {
|
|
72
|
-
event: eventType,
|
|
73
|
-
},
|
|
83
|
+
params: Object.assign({ event: eventType }, payload),
|
|
74
84
|
})
|
|
75
85
|
.then(() => successResponse);
|
|
76
86
|
};
|
|
77
87
|
exports.unsubscribeClientEvents = unsubscribeClientEvents;
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBc0c7QUFFdEcsTUFBTSxhQUFhLEdBQStDLEVBQUUsQ0FBQTtBQUNwRSxJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQTtBQUV4Qyw4REFBOEQ7QUFDOUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQWdDLEVBQUUsT0FBYSxFQUFFLEVBQUU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxHQUFHLElBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDckQsTUFBTSxVQUFVLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFHLElBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFM0QsT0FBTyxHQUFHLFNBQVMsR0FBRyxVQUFVLEdBQUcsUUFBUSxFQUFFLENBQUE7QUFDL0MsQ0FBQyxDQUFBO0FBRUQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFNBQWdDLEVBQUUsT0FBNkIsRUFBRSxFQUFFO0lBQzdGLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUVoRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQ2hELENBQUMsQ0FBQTtBQUVELE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxF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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EmitterEventPayload } from '@expressms/smartapp-bridge/build/main/types/eventEmitter';
|
|
2
|
-
import { CreateDeeplinkResponse, File, GetConnectionStatusResponse,
|
|
2
|
+
import { CreateDeeplinkResponse, File, GetConnectionStatusResponse, GetUnreadCounterResponse, SearchLocalPhonebookResponse, StatusResponse, SubscriptionPayload } from '../../types';
|
|
3
3
|
export * from './events';
|
|
4
4
|
export * from './storage';
|
|
5
5
|
declare const openClientSettings: () => Promise<EmitterEventPayload> | undefined;
|
|
@@ -55,11 +55,16 @@ declare const handleDeeplink: ({ link }: {
|
|
|
55
55
|
link: string;
|
|
56
56
|
}) => Promise<StatusResponse>;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Search entries in local phonebook
|
|
59
59
|
* @param filter Query string
|
|
60
60
|
* @returns Promise that'll be fullfilled with `payload.localPhonebookEntries` on success, otherwise rejected with reason
|
|
61
61
|
*/
|
|
62
62
|
declare const searchLocalPhonebook: ({ filter }: {
|
|
63
63
|
filter: string | null;
|
|
64
64
|
}) => Promise<SearchLocalPhonebookResponse>;
|
|
65
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Get unread counter for chat/user/bot/smartapp.
|
|
67
|
+
* @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
|
|
68
|
+
*/
|
|
69
|
+
declare const getUnreadCounter: ({ type, id }: SubscriptionPayload) => Promise<GetUnreadCounterResponse>;
|
|
70
|
+
export { openFile, openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation, getConnectionStatus, createDeeplink, openChatMessage, handleDeeplink, searchLocalPhonebook, getUnreadCounter, };
|
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.searchLocalPhonebook = exports.handleDeeplink = exports.openChatMessage = exports.createDeeplink = exports.getConnectionStatus = exports.requestLocation = exports.sendBotCommand = exports.openGroupChat = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.openFile = void 0;
|
|
20
|
+
exports.getUnreadCounter = exports.searchLocalPhonebook = exports.handleDeeplink = exports.openChatMessage = exports.createDeeplink = exports.getConnectionStatus = exports.requestLocation = exports.sendBotCommand = exports.openGroupChat = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.openFile = void 0;
|
|
21
21
|
const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
|
|
22
22
|
const types_1 = require("../../types");
|
|
23
23
|
__exportStar(require("./events"), exports);
|
|
@@ -141,7 +141,7 @@ const handleDeeplink = ({ link }) => {
|
|
|
141
141
|
};
|
|
142
142
|
exports.handleDeeplink = handleDeeplink;
|
|
143
143
|
/**
|
|
144
|
-
*
|
|
144
|
+
* Search entries in local phonebook
|
|
145
145
|
* @param filter Query string
|
|
146
146
|
* @returns Promise that'll be fullfilled with `payload.localPhonebookEntries` on success, otherwise rejected with reason
|
|
147
147
|
*/
|
|
@@ -156,4 +156,18 @@ const searchLocalPhonebook = ({ filter = null }) => {
|
|
|
156
156
|
.then(event => event);
|
|
157
157
|
};
|
|
158
158
|
exports.searchLocalPhonebook = searchLocalPhonebook;
|
|
159
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Get unread counter for chat/user/bot/smartapp.
|
|
161
|
+
* @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
|
|
162
|
+
*/
|
|
163
|
+
const getUnreadCounter = async ({ type, id }) => {
|
|
164
|
+
if (!smartapp_bridge_1.default)
|
|
165
|
+
return Promise.reject(types_1.ERROR_CODES.NO_BRIDGE);
|
|
166
|
+
const response = await smartapp_bridge_1.default.sendClientEvent({
|
|
167
|
+
method: types_1.METHODS.GET_UNREAD_COUNTER,
|
|
168
|
+
params: { type, id },
|
|
169
|
+
});
|
|
170
|
+
return response;
|
|
171
|
+
};
|
|
172
|
+
exports.getUnreadCounter = getUnreadCounter;
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlGQUErQztBQUUvQyx1Q0FVb0I7QUFDcEIsMkNBQXdCO0FBQ3hCLDRDQUF5QjtBQUV6QixNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtJQUM5QixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxvQkFBb0I7UUFDcEMsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFxS0MsZ0RBQWtCO0FBbktwQixNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLElBQUksRUFBNkIsRUFBRSxFQUFFO0lBQ2hFLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLFNBQVM7UUFDekIsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFO0tBQ25CLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQStKQyw0QkFBUTtBQTdKVixNQUFNLHdCQUF3QixHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUE2QixFQUFFLEVBQUU7SUFDaEYsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsMEJBQTBCO1FBQzFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRTtLQUNuQixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUF5SkMsNERBQXdCO0FBdkoxQixNQUFNLGFBQWEsR0FBRyxDQUFDLEVBQUUsV0FBVyxFQUEyQixFQUFFLEVBQUU7SUFDakUsT0FBTyx5QkFBTSxhQUFO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
|
|
@@ -30,7 +30,8 @@ export declare enum METHODS {
|
|
|
30
30
|
CLIENT_STORAGE_REMOVE = "client_storage_remove",
|
|
31
31
|
CLIENT_STORAGE_CLEAR = "client_storage_clear",
|
|
32
32
|
HANDLE_DEEPLINK = "handle_deeplink",
|
|
33
|
-
SEARCH_LOCAL_PHONEBOOK = "search_local_phonebook"
|
|
33
|
+
SEARCH_LOCAL_PHONEBOOK = "search_local_phonebook",
|
|
34
|
+
GET_UNREAD_COUNTER = "get_unread_counter"
|
|
34
35
|
}
|
|
35
36
|
export declare enum STATUS {
|
|
36
37
|
SUCCESS = "success",
|
|
@@ -34,6 +34,7 @@ var METHODS;
|
|
|
34
34
|
METHODS["CLIENT_STORAGE_CLEAR"] = "client_storage_clear";
|
|
35
35
|
METHODS["HANDLE_DEEPLINK"] = "handle_deeplink";
|
|
36
36
|
METHODS["SEARCH_LOCAL_PHONEBOOK"] = "search_local_phonebook";
|
|
37
|
+
METHODS["GET_UNREAD_COUNTER"] = "get_unread_counter";
|
|
37
38
|
})(METHODS = exports.METHODS || (exports.METHODS = {}));
|
|
38
39
|
var STATUS;
|
|
39
40
|
(function (STATUS) {
|
|
@@ -45,4 +46,4 @@ var ERROR_CODES;
|
|
|
45
46
|
ERROR_CODES["NO_BRIDGE"] = "no_bridge";
|
|
46
47
|
ERROR_CODES["SUBSCRIPTION_NOT_FOUND"] = "subscription_not_found";
|
|
47
48
|
})(ERROR_CODES = exports.ERROR_CODES || (exports.ERROR_CODES = {}));
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2JyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxJQUFZLE9BaUNYO0FBakNELFdBQVksT0FBTztJQUNqQiwwQkFBZSxDQUFBO0lBQ2YsOENBQW1DLENBQUE7SUFDbkMsd0NBQTZCLENBQUE7SUFDN0Isd0NBQTZCLENBQUE7SUFDN0Isc0NBQTJCLENBQUE7SUFDM0Isc0NBQTJCLENBQUE7SUFDM0Isd0RBQTZDLENBQUE7SUFDN0Msd0NBQTZCLENBQUE7SUFDN0Isd0NBQTZCLENBQUE7SUFDN0IsNENBQWlDLENBQUE7SUFDakMsd0RBQTZDLENBQUE7SUFDN0Msa0NBQXVCLENBQUE7SUFDdkIsb0VBQXlELENBQUE7SUFDekQsZ0RBQXFDLENBQUE7SUFDckMsOENBQW1DLENBQUE7SUFDbkMsa0RBQXVDLENBQUE7SUFDdkMsZ0RBQXFDLENBQUE7SUFDckMsd0RBQTZDLENBQUE7SUFDN0MsOENBQW1DLENBQUE7SUFDbkMsa0NBQXVCLENBQUE7SUFDdkIsOERBQW1ELENBQUE7SUFDbkQsa0VBQXVELENBQUE7SUFDdkQsMERBQStDLENBQUE7SUFDL0MsOENBQW1DLENBQUE7SUFDbkMsa0RBQXVDLENBQUE7SUFDdkMsb0RBQXlDLENBQUE7SUFDekMsb0RBQXlDLENBQUE7SUFDekMsMERBQStDLENBQUE7SUFDL0Msd0RBQTZDLENBQUE7SUFDN0MsOENBQW1DLENBQUE7SUFDbkMsNERBQWlELENBQUE7SUFDakQsb0RBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQWpDVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFpQ2xCO0FBRUQsSUFBWSxNQUdYO0FBSEQsV0FBWSxNQUFNO0lBQ2hCLDZCQUFtQixDQUFBO0lBQ25CLHlCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLE1BQU0sR0FBTixjQUFNLEtBQU4sY0FBTSxRQUdqQjtBQUVELElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixzQ0FBdUIsQ0FBQTtJQUN2QixnRUFBaUQsQ0FBQTtBQUNuRCxDQUFDLEVBSFcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFHdEIifQ==
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { EmitterEventPayload } from '@expressms/smartapp-bridge/build/main/types/eventEmitter';
|
|
2
2
|
import { STATUS } from './bridge';
|
|
3
3
|
export declare enum SubscriptionEventType {
|
|
4
|
-
CONNECTION_STATUS = "connection_status"
|
|
4
|
+
CONNECTION_STATUS = "connection_status",
|
|
5
|
+
UNREAD_COUNTER_CHANGE = "unread_counter_change"
|
|
5
6
|
}
|
|
6
|
-
export type
|
|
7
|
+
export type SubscriptionPayload = {
|
|
8
|
+
type: 'huid' | 'chat' | 'smartapp';
|
|
9
|
+
id: string;
|
|
10
|
+
};
|
|
11
|
+
export type GetConnectionStatusResponse = {
|
|
7
12
|
ref: string;
|
|
8
13
|
payload: {
|
|
9
|
-
connectionStatus:
|
|
14
|
+
connectionStatus: 'connected' | 'disconnected';
|
|
10
15
|
};
|
|
11
|
-
}
|
|
12
|
-
export type CreateDeeplinkResponse =
|
|
16
|
+
};
|
|
17
|
+
export type CreateDeeplinkResponse = {
|
|
13
18
|
ref: string;
|
|
14
19
|
payload: {
|
|
15
20
|
status: 'error' | 'success';
|
|
@@ -18,15 +23,15 @@ export type CreateDeeplinkResponse = ({
|
|
|
18
23
|
deeplink: string;
|
|
19
24
|
};
|
|
20
25
|
};
|
|
21
|
-
}
|
|
22
|
-
type LocalPhonebookEntry =
|
|
26
|
+
};
|
|
27
|
+
type LocalPhonebookEntry = {
|
|
23
28
|
avatar: string | null;
|
|
24
29
|
name: string | null;
|
|
25
30
|
contacts: {
|
|
26
31
|
contactType: string;
|
|
27
32
|
contact: string;
|
|
28
33
|
}[];
|
|
29
|
-
}
|
|
34
|
+
};
|
|
30
35
|
export interface SearchLocalPhonebookResponse extends EmitterEventPayload {
|
|
31
36
|
payload: {
|
|
32
37
|
status: STATUS;
|
|
@@ -34,4 +39,10 @@ export interface SearchLocalPhonebookResponse extends EmitterEventPayload {
|
|
|
34
39
|
localPhonebookEntries: Array<LocalPhonebookEntry>;
|
|
35
40
|
};
|
|
36
41
|
}
|
|
42
|
+
export type GetUnreadCounterResponse = {
|
|
43
|
+
ref: string;
|
|
44
|
+
payload: {
|
|
45
|
+
unreadCounter: number;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
37
48
|
export {};
|
|
@@ -4,5 +4,6 @@ exports.SubscriptionEventType = void 0;
|
|
|
4
4
|
var SubscriptionEventType;
|
|
5
5
|
(function (SubscriptionEventType) {
|
|
6
6
|
SubscriptionEventType["CONNECTION_STATUS"] = "connection_status";
|
|
7
|
+
SubscriptionEventType["UNREAD_COUNTER_CHANGE"] = "unread_counter_change";
|
|
7
8
|
})(SubscriptionEventType = exports.SubscriptionEventType || (exports.SubscriptionEventType = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDL0IsZ0VBQXVDLENBQUE7SUFDdkMsd0VBQStDLENBQUE7QUFDakQsQ0FBQyxFQUhXLHFCQUFxQixHQUFyQiw2QkFBcUIsS0FBckIsNkJBQXFCLFFBR2hDIn0=
|
package/build/module/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Bridge from '@expressms/smartapp-bridge';
|
|
2
|
-
import { clientStorageClear, clientStorageGet, clientStorageRemove, clientStorageSet, createDeeplink, getChats, getConnectionStatus, handleDeeplink, openChatMessage, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, searchLocalPhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents } from './lib/client';
|
|
2
|
+
import { clientStorageClear, clientStorageGet, clientStorageRemove, clientStorageSet, createDeeplink, getChats, getConnectionStatus, getUnreadCounter, handleDeeplink, openChatMessage, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, searchLocalPhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents } from './lib/client';
|
|
3
3
|
import { addContact, createPersonalChat, getContact, openContactCard, openPersonalChat, requestSelfProfile, sendMessage } from './lib/contacts';
|
|
4
4
|
import { useQuery } from './lib/helpers/helpers';
|
|
5
5
|
import { ready } from './lib/logging';
|
|
6
6
|
import { onNotification } from './lib/notification';
|
|
7
7
|
import { closeSmartApp, exitSmartAppToCatalog, onBackPressed, onMoveToRoot, openSmartApp, routingChanged } from './lib/routing';
|
|
8
|
-
export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, openChatMessage, clientStorageGet, clientStorageSet, clientStorageRemove, clientStorageClear, openPersonalChat, handleDeeplink, searchLocalPhonebook, };
|
|
8
|
+
export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, openChatMessage, clientStorageGet, clientStorageSet, clientStorageRemove, clientStorageClear, openPersonalChat, handleDeeplink, searchLocalPhonebook, getUnreadCounter, };
|
package/build/module/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import Bridge from '@expressms/smartapp-bridge';
|
|
2
|
-
import { clientStorageClear, clientStorageGet, clientStorageRemove, clientStorageSet, createDeeplink, getChats, getConnectionStatus, handleDeeplink, openChatMessage, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, searchLocalPhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents, } from './lib/client';
|
|
2
|
+
import { clientStorageClear, clientStorageGet, clientStorageRemove, clientStorageSet, createDeeplink, getChats, getConnectionStatus, getUnreadCounter, handleDeeplink, openChatMessage, openClientSettings, openFile, openGroupChat, requestLocation, searchCorporatePhonebook, searchLocalPhonebook, sendBotCommand, subscribeClientEvents, unsubscribeClientEvents, } from './lib/client';
|
|
3
3
|
import { addContact, createPersonalChat, getContact, openContactCard, openPersonalChat, requestSelfProfile, sendMessage, } from './lib/contacts';
|
|
4
4
|
import { useQuery } from './lib/helpers/helpers';
|
|
5
5
|
import { ready } from './lib/logging';
|
|
6
6
|
import { onNotification } from './lib/notification';
|
|
7
7
|
import { closeSmartApp, exitSmartAppToCatalog, onBackPressed, onMoveToRoot, openSmartApp, routingChanged, } from './lib/routing';
|
|
8
|
-
export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, openChatMessage, clientStorageGet, clientStorageSet, clientStorageRemove, clientStorageClear, openPersonalChat, handleDeeplink, searchLocalPhonebook, };
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, openFile, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, getConnectionStatus, subscribeClientEvents, unsubscribeClientEvents, createDeeplink, openChatMessage, clientStorageGet, clientStorageSet, clientStorageRemove, clientStorageClear, openPersonalChat, handleDeeplink, searchLocalPhonebook, getUnreadCounter, };
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUE7QUFDL0MsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsUUFBUSxFQUNSLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLGFBQWEsRUFDYixlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUN4QixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQ0wsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsV0FBVyxHQUNaLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFBO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDbkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFBO0FBQ2pELE9BQU8sRUFDTCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUNaLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLFVBQVUsRUFDVixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixxQkFBcUIsRUFDckIsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixRQUFRLEVBQ1Isd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDZixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixnQkFBZ0IsR0FDakIsQ0FBQSJ9
|
|
@@ -1,20 +1,30 @@
|
|
|
1
|
-
import { SubscriptionEventType } from '../../types';
|
|
1
|
+
import { SubscriptionEventType, SubscriptionPayload } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Subscribe to special client events
|
|
4
4
|
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
5
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
5
6
|
* @param callback Optional function to be handled when event is coming
|
|
6
7
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
7
8
|
*/
|
|
8
|
-
declare const subscribeClientEvents: (eventType
|
|
9
|
+
declare const subscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
10
|
+
eventType: SubscriptionEventType;
|
|
11
|
+
payload?: SubscriptionPayload | undefined;
|
|
12
|
+
callback?: Function | undefined;
|
|
13
|
+
}) => Promise<{
|
|
9
14
|
status: string;
|
|
10
15
|
}>;
|
|
11
16
|
/**
|
|
12
17
|
* Unsubscribe from previously subscribed client events
|
|
13
18
|
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
19
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
14
20
|
* @param callback Function to be unsibscribed
|
|
15
21
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
16
22
|
*/
|
|
17
|
-
declare const unsubscribeClientEvents: (eventType
|
|
23
|
+
declare const unsubscribeClientEvents: ({ eventType, payload, callback, }: {
|
|
24
|
+
eventType: SubscriptionEventType;
|
|
25
|
+
payload?: SubscriptionPayload | undefined;
|
|
26
|
+
callback?: Function | undefined;
|
|
27
|
+
}) => Promise<{
|
|
18
28
|
status: string;
|
|
19
29
|
}>;
|
|
20
30
|
export { subscribeClientEvents, unsubscribeClientEvents };
|
|
@@ -2,28 +2,39 @@ import bridge from '@expressms/smartapp-bridge';
|
|
|
2
2
|
import { ERROR_CODES, METHODS, STATUS } from '../../types';
|
|
3
3
|
const subscriptions = [];
|
|
4
4
|
let bridgeEventListenerInstalled = false;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
const getSubscriptionId = (eventType, payload) => {
|
|
7
|
+
const sourceId = payload?.id ? '-' + payload?.id : '';
|
|
8
|
+
const sourceType = payload?.type ? '-' + payload?.type : '';
|
|
9
|
+
return `${eventType}${sourceType}${sourceId}`;
|
|
10
|
+
};
|
|
11
|
+
const isAnySubscriptions = (eventType, payload) => {
|
|
12
|
+
const id = getSubscriptionId(eventType, payload);
|
|
13
|
+
return subscriptions.some(sub => sub.id == id);
|
|
7
14
|
};
|
|
8
15
|
const installBridgeEventListener = () => {
|
|
9
16
|
if (bridgeEventListenerInstalled || !bridge)
|
|
10
17
|
return;
|
|
11
18
|
bridgeEventListenerInstalled = true;
|
|
12
19
|
bridge.onReceive(event => {
|
|
13
|
-
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
+
const id = getSubscriptionId(event.type, event.payload.source);
|
|
22
|
+
subscriptions.filter(sub => sub.id === id).map(sub => sub.callback?.(event));
|
|
14
23
|
});
|
|
15
24
|
};
|
|
16
25
|
/**
|
|
17
26
|
* Subscribe to special client events
|
|
18
27
|
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
28
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
19
29
|
* @param callback Optional function to be handled when event is coming
|
|
20
30
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
21
31
|
*/
|
|
22
|
-
const subscribeClientEvents = (eventType, callback) => {
|
|
32
|
+
const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
23
33
|
const successResponse = { status: STATUS.SUCCESS };
|
|
24
34
|
// No need to subscribe event twice on client
|
|
25
|
-
if (
|
|
26
|
-
|
|
35
|
+
if (isAnySubscriptions(eventType, payload)) {
|
|
36
|
+
const id = getSubscriptionId(eventType, payload);
|
|
37
|
+
subscriptions.push({ id, callback });
|
|
27
38
|
return Promise.resolve(successResponse);
|
|
28
39
|
}
|
|
29
40
|
if (!bridge)
|
|
@@ -33,39 +44,44 @@ const subscribeClientEvents = (eventType, callback) => {
|
|
|
33
44
|
method: METHODS.SUBSCRIBE_CLIENT_EVENTS,
|
|
34
45
|
params: {
|
|
35
46
|
event: eventType,
|
|
47
|
+
...payload,
|
|
36
48
|
},
|
|
37
49
|
})
|
|
38
50
|
.then(() => {
|
|
51
|
+
const id = getSubscriptionId(eventType, payload);
|
|
39
52
|
installBridgeEventListener();
|
|
40
|
-
subscriptions.push({
|
|
53
|
+
subscriptions.push({ id, callback });
|
|
41
54
|
return successResponse;
|
|
42
55
|
});
|
|
43
56
|
};
|
|
44
57
|
/**
|
|
45
58
|
* Unsubscribe from previously subscribed client events
|
|
46
59
|
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
60
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
47
61
|
* @param callback Function to be unsibscribed
|
|
48
62
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
49
63
|
*/
|
|
50
|
-
const unsubscribeClientEvents = (eventType, callback) => {
|
|
64
|
+
const unsubscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
51
65
|
const successResponse = { status: STATUS.SUCCESS };
|
|
52
|
-
const
|
|
66
|
+
const id = getSubscriptionId(eventType, payload);
|
|
67
|
+
const index = subscriptions.findIndex(sub => sub.id == id && sub.callback == callback);
|
|
53
68
|
if (!bridge)
|
|
54
69
|
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
55
70
|
if (index == -1)
|
|
56
71
|
return Promise.reject(ERROR_CODES.SUBSCRIPTION_NOT_FOUND);
|
|
57
72
|
subscriptions.splice(index, 1);
|
|
58
73
|
// Send unsubscribe to client only at last subscription
|
|
59
|
-
if (
|
|
74
|
+
if (isAnySubscriptions(eventType, payload))
|
|
60
75
|
return Promise.resolve(successResponse);
|
|
61
76
|
return bridge
|
|
62
77
|
.sendClientEvent({
|
|
63
78
|
method: METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
|
|
64
79
|
params: {
|
|
65
80
|
event: eventType,
|
|
81
|
+
...payload,
|
|
66
82
|
},
|
|
67
83
|
})
|
|
68
84
|
.then(() => successResponse);
|
|
69
85
|
};
|
|
70
86
|
export { subscribeClientEvents, unsubscribeClientEvents };
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLDRCQUE0QixDQUFBO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBOEMsTUFBTSxhQUFhLENBQUE7QUFFdEcsTUFBTSxhQUFhLEdBQStDLEVBQUUsQ0FBQTtBQUNwRSxJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQTtBQUV4Qyw4REFBOEQ7QUFDOUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQWdDLEVBQUUsT0FBYSxFQUFFLEVBQUU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNyRCxNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTNELE9BQU8sR0FBRyxTQUFTLEdBQUcsVUFBVSxHQUFHLFFBQVEsRUFBRSxDQUFBO0FBQy9DLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFnQyxFQUFFLE9BQTZCLEVBQUUsRUFBRTtJQUM3RixNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFaEQsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUNoRCxDQUFDLENBQUE7QUFFRCxNQUFNLDBCQUEwQixHQUFHLEdBQUcsRUFBRTtJQUN0QyxJQUFJLDRCQUE0QixJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU07SUFFbkQsNEJBQTRCLEdBQUcsSUFBSSxDQUFBO0lBRW5DLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdkIsOERBQThEO1FBQzlELE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUE2QixFQUFHLEtBQUssQ0FBQyxPQUFlLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFaEcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDOUUsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFDN0IsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEdBS1QsRUFBK0IsRUFBRTtJQUNoQyxNQUFNLGVBQWUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFbEQsNkNBQTZDO0lBQzdDLElBQUksa0JBQWtCLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQzFDLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVoRCxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDcEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0tBQ3hDO0lBRUQsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRXpELE9BQU8sTUFBTTtTQUNWLGVBQWUsQ0FBQztRQUNmLE1BQU0sRUFBRSxPQUFPLENBQUMsdUJBQXVCO1FBQ3ZDLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsT0FBTztTQUNYO0tBQ0YsQ0FBQztTQUNELElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDVCxNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFFaEQsMEJBQTBCLEVBQUUsQ0FBQTtRQUM1QixhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFFcEMsT0FBTyxlQUFlLENBQUE7SUFDeEIsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsRUFDL0IsU0FBUyxFQUNULE9BQU8sRUFDUCxRQUFRLEdBS1QsRUFBK0IsRUFBRTtJQUNoQyxNQUFNLGVBQWUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFbEQsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2hELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFBO0lBRXRGLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN6RCxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFBRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFFMUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFOUIsdURBQXVEO0lBQ3ZELElBQUksa0JBQWtCLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztRQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUVuRixPQUFPLE1BQU07U0FDVixlQUFlLENBQUM7UUFDZixNQUFNLEVBQUUsT0FBTyxDQUFDLHlCQUF5QjtRQUN6QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLE9BQU87U0FDWDtLQUNGLENBQUM7U0FDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBRUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLENBQUEifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EmitterEventPayload } from '@expressms/smartapp-bridge/build/main/types/eventEmitter';
|
|
2
|
-
import { CreateDeeplinkResponse, File, GetConnectionStatusResponse,
|
|
2
|
+
import { CreateDeeplinkResponse, File, GetConnectionStatusResponse, GetUnreadCounterResponse, SearchLocalPhonebookResponse, StatusResponse, SubscriptionPayload } from '../../types';
|
|
3
3
|
export * from './events';
|
|
4
4
|
export * from './storage';
|
|
5
5
|
declare const openClientSettings: () => Promise<EmitterEventPayload> | undefined;
|
|
@@ -55,11 +55,16 @@ declare const handleDeeplink: ({ link }: {
|
|
|
55
55
|
link: string;
|
|
56
56
|
}) => Promise<StatusResponse>;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Search entries in local phonebook
|
|
59
59
|
* @param filter Query string
|
|
60
60
|
* @returns Promise that'll be fullfilled with `payload.localPhonebookEntries` on success, otherwise rejected with reason
|
|
61
61
|
*/
|
|
62
62
|
declare const searchLocalPhonebook: ({ filter }: {
|
|
63
63
|
filter: string | null;
|
|
64
64
|
}) => Promise<SearchLocalPhonebookResponse>;
|
|
65
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Get unread counter for chat/user/bot/smartapp.
|
|
67
|
+
* @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
|
|
68
|
+
*/
|
|
69
|
+
declare const getUnreadCounter: ({ type, id }: SubscriptionPayload) => Promise<GetUnreadCounterResponse>;
|
|
70
|
+
export { openFile, openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation, getConnectionStatus, createDeeplink, openChatMessage, handleDeeplink, searchLocalPhonebook, getUnreadCounter, };
|
|
@@ -110,7 +110,7 @@ const handleDeeplink = ({ link }) => {
|
|
|
110
110
|
.then(event => event);
|
|
111
111
|
};
|
|
112
112
|
/**
|
|
113
|
-
*
|
|
113
|
+
* Search entries in local phonebook
|
|
114
114
|
* @param filter Query string
|
|
115
115
|
* @returns Promise that'll be fullfilled with `payload.localPhonebookEntries` on success, otherwise rejected with reason
|
|
116
116
|
*/
|
|
@@ -124,5 +124,18 @@ const searchLocalPhonebook = ({ filter = null }) => {
|
|
|
124
124
|
})
|
|
125
125
|
.then(event => event);
|
|
126
126
|
};
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Get unread counter for chat/user/bot/smartapp.
|
|
129
|
+
* @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
|
|
130
|
+
*/
|
|
131
|
+
const getUnreadCounter = async ({ type, id }) => {
|
|
132
|
+
if (!bridge)
|
|
133
|
+
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
134
|
+
const response = await bridge.sendClientEvent({
|
|
135
|
+
method: METHODS.GET_UNREAD_COUNTER,
|
|
136
|
+
params: { type, id },
|
|
137
|
+
});
|
|
138
|
+
return response;
|
|
139
|
+
};
|
|
140
|
+
export { openFile, openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation, getConnectionStatus, createDeeplink, openChatMessage, handleDeeplink, searchLocalPhonebook, getUnreadCounter, };
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSw0QkFBNEIsQ0FBQTtBQUUvQyxPQUFPLEVBRUwsV0FBVyxFQUlYLE9BQU8sR0FJUixNQUFNLGFBQWEsQ0FBQTtBQUNwQixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFdBQVcsQ0FBQTtBQUV6QixNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtJQUM5QixPQUFPLE1BQU0sRUFBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0I7UUFDcEMsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLElBQUksRUFBNkIsRUFBRSxFQUFFO0lBQ2hFLE9BQU8sTUFBTSxFQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsT0FBTyxDQUFDLFNBQVM7UUFDekIsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFO0tBQ25CLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJLEVBQTZCLEVBQUUsRUFBRTtJQUNoRixPQUFPLE1BQU0sRUFBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQywwQkFBMEI7UUFDMUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFO0tBQ25CLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQTJCLEVBQUUsRUFBRTtJQUNqRSxPQUFPLE1BQU0sRUFBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1FBQy9CLE1BQU0sRUFBRSxFQUFF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
|
|
@@ -30,7 +30,8 @@ export declare enum METHODS {
|
|
|
30
30
|
CLIENT_STORAGE_REMOVE = "client_storage_remove",
|
|
31
31
|
CLIENT_STORAGE_CLEAR = "client_storage_clear",
|
|
32
32
|
HANDLE_DEEPLINK = "handle_deeplink",
|
|
33
|
-
SEARCH_LOCAL_PHONEBOOK = "search_local_phonebook"
|
|
33
|
+
SEARCH_LOCAL_PHONEBOOK = "search_local_phonebook",
|
|
34
|
+
GET_UNREAD_COUNTER = "get_unread_counter"
|
|
34
35
|
}
|
|
35
36
|
export declare enum STATUS {
|
|
36
37
|
SUCCESS = "success",
|
|
@@ -31,6 +31,7 @@ export var METHODS;
|
|
|
31
31
|
METHODS["CLIENT_STORAGE_CLEAR"] = "client_storage_clear";
|
|
32
32
|
METHODS["HANDLE_DEEPLINK"] = "handle_deeplink";
|
|
33
33
|
METHODS["SEARCH_LOCAL_PHONEBOOK"] = "search_local_phonebook";
|
|
34
|
+
METHODS["GET_UNREAD_COUNTER"] = "get_unread_counter";
|
|
34
35
|
})(METHODS || (METHODS = {}));
|
|
35
36
|
export var STATUS;
|
|
36
37
|
(function (STATUS) {
|
|
@@ -42,4 +43,4 @@ export var ERROR_CODES;
|
|
|
42
43
|
ERROR_CODES["NO_BRIDGE"] = "no_bridge";
|
|
43
44
|
ERROR_CODES["SUBSCRIPTION_NOT_FOUND"] = "subscription_not_found";
|
|
44
45
|
})(ERROR_CODES || (ERROR_CODES = {}));
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2JyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSxPQWlDWDtBQWpDRCxXQUFZLE9BQU87SUFDakIsMEJBQWUsQ0FBQTtJQUNmLDhDQUFtQyxDQUFBO0lBQ25DLHdDQUE2QixDQUFBO0lBQzdCLHdDQUE2QixDQUFBO0lBQzdCLHNDQUEyQixDQUFBO0lBQzNCLHNDQUEyQixDQUFBO0lBQzNCLHdEQUE2QyxDQUFBO0lBQzdDLHdDQUE2QixDQUFBO0lBQzdCLHdDQUE2QixDQUFBO0lBQzdCLDRDQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QyxDQUFBO0lBQzdDLGtDQUF1QixDQUFBO0lBQ3ZCLG9FQUF5RCxDQUFBO0lBQ3pELGdEQUFxQyxDQUFBO0lBQ3JDLDhDQUFtQyxDQUFBO0lBQ25DLGtEQUF1QyxDQUFBO0lBQ3ZDLGdEQUFxQyxDQUFBO0lBQ3JDLHdEQUE2QyxDQUFBO0lBQzdDLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLDhEQUFtRCxDQUFBO0lBQ25ELGtFQUF1RCxDQUFBO0lBQ3ZELDBEQUErQyxDQUFBO0lBQy9DLDhDQUFtQyxDQUFBO0lBQ25DLGtEQUF1QyxDQUFBO0lBQ3ZDLG9EQUF5QyxDQUFBO0lBQ3pDLG9EQUF5QyxDQUFBO0lBQ3pDLDBEQUErQyxDQUFBO0lBQy9DLHdEQUE2QyxDQUFBO0lBQzdDLDhDQUFtQyxDQUFBO0lBQ25DLDREQUFpRCxDQUFBO0lBQ2pELG9EQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFqQ1csT0FBTyxLQUFQLE9BQU8sUUFpQ2xCO0FBRUQsTUFBTSxDQUFOLElBQVksTUFHWDtBQUhELFdBQVksTUFBTTtJQUNoQiw2QkFBbUIsQ0FBQTtJQUNuQix5QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxNQUFNLEtBQU4sTUFBTSxRQUdqQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsZ0VBQWlELENBQUE7QUFDbkQsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIn0=
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { EmitterEventPayload } from '@expressms/smartapp-bridge/build/main/types/eventEmitter';
|
|
2
2
|
import { STATUS } from './bridge';
|
|
3
3
|
export declare enum SubscriptionEventType {
|
|
4
|
-
CONNECTION_STATUS = "connection_status"
|
|
4
|
+
CONNECTION_STATUS = "connection_status",
|
|
5
|
+
UNREAD_COUNTER_CHANGE = "unread_counter_change"
|
|
5
6
|
}
|
|
6
|
-
export type
|
|
7
|
+
export type SubscriptionPayload = {
|
|
8
|
+
type: 'huid' | 'chat' | 'smartapp';
|
|
9
|
+
id: string;
|
|
10
|
+
};
|
|
11
|
+
export type GetConnectionStatusResponse = {
|
|
7
12
|
ref: string;
|
|
8
13
|
payload: {
|
|
9
|
-
connectionStatus:
|
|
14
|
+
connectionStatus: 'connected' | 'disconnected';
|
|
10
15
|
};
|
|
11
|
-
}
|
|
12
|
-
export type CreateDeeplinkResponse =
|
|
16
|
+
};
|
|
17
|
+
export type CreateDeeplinkResponse = {
|
|
13
18
|
ref: string;
|
|
14
19
|
payload: {
|
|
15
20
|
status: 'error' | 'success';
|
|
@@ -18,15 +23,15 @@ export type CreateDeeplinkResponse = ({
|
|
|
18
23
|
deeplink: string;
|
|
19
24
|
};
|
|
20
25
|
};
|
|
21
|
-
}
|
|
22
|
-
type LocalPhonebookEntry =
|
|
26
|
+
};
|
|
27
|
+
type LocalPhonebookEntry = {
|
|
23
28
|
avatar: string | null;
|
|
24
29
|
name: string | null;
|
|
25
30
|
contacts: {
|
|
26
31
|
contactType: string;
|
|
27
32
|
contact: string;
|
|
28
33
|
}[];
|
|
29
|
-
}
|
|
34
|
+
};
|
|
30
35
|
export interface SearchLocalPhonebookResponse extends EmitterEventPayload {
|
|
31
36
|
payload: {
|
|
32
37
|
status: STATUS;
|
|
@@ -34,4 +39,10 @@ export interface SearchLocalPhonebookResponse extends EmitterEventPayload {
|
|
|
34
39
|
localPhonebookEntries: Array<LocalPhonebookEntry>;
|
|
35
40
|
};
|
|
36
41
|
}
|
|
42
|
+
export type GetUnreadCounterResponse = {
|
|
43
|
+
ref: string;
|
|
44
|
+
payload: {
|
|
45
|
+
unreadCounter: number;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
37
48
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export var SubscriptionEventType;
|
|
2
2
|
(function (SubscriptionEventType) {
|
|
3
3
|
SubscriptionEventType["CONNECTION_STATUS"] = "connection_status";
|
|
4
|
+
SubscriptionEventType["UNREAD_COUNTER_CHANGE"] = "unread_counter_change";
|
|
4
5
|
})(SubscriptionEventType || (SubscriptionEventType = {}));
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSxxQkFHWDtBQUhELFdBQVkscUJBQXFCO0lBQy9CLGdFQUF1QyxDQUFBO0lBQ3ZDLHdFQUErQyxDQUFBO0FBQ2pELENBQUMsRUFIVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBR2hDIn0=
|
package/build/umd/index.js
CHANGED
|
@@ -1952,6 +1952,7 @@
|
|
|
1952
1952
|
METHODS["CLIENT_STORAGE_CLEAR"] = "client_storage_clear";
|
|
1953
1953
|
METHODS["HANDLE_DEEPLINK"] = "handle_deeplink";
|
|
1954
1954
|
METHODS["SEARCH_LOCAL_PHONEBOOK"] = "search_local_phonebook";
|
|
1955
|
+
METHODS["GET_UNREAD_COUNTER"] = "get_unread_counter";
|
|
1955
1956
|
})(METHODS || (METHODS = {}));
|
|
1956
1957
|
var STATUS;
|
|
1957
1958
|
(function (STATUS) {
|
|
@@ -1973,6 +1974,7 @@
|
|
|
1973
1974
|
var SubscriptionEventType;
|
|
1974
1975
|
(function (SubscriptionEventType) {
|
|
1975
1976
|
SubscriptionEventType["CONNECTION_STATUS"] = "connection_status";
|
|
1977
|
+
SubscriptionEventType["UNREAD_COUNTER_CHANGE"] = "unread_counter_change";
|
|
1976
1978
|
})(SubscriptionEventType || (SubscriptionEventType = {}));
|
|
1977
1979
|
|
|
1978
1980
|
var CLIENT_STORAGE_ERROR_CODES;
|
|
@@ -1984,28 +1986,39 @@
|
|
|
1984
1986
|
|
|
1985
1987
|
const subscriptions = [];
|
|
1986
1988
|
let bridgeEventListenerInstalled = false;
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1990
|
+
const getSubscriptionId = (eventType, payload) => {
|
|
1991
|
+
const sourceId = payload?.id ? '-' + payload?.id : '';
|
|
1992
|
+
const sourceType = payload?.type ? '-' + payload?.type : '';
|
|
1993
|
+
return `${eventType}${sourceType}${sourceId}`;
|
|
1994
|
+
};
|
|
1995
|
+
const isAnySubscriptions = (eventType, payload) => {
|
|
1996
|
+
const id = getSubscriptionId(eventType, payload);
|
|
1997
|
+
return subscriptions.some(sub => sub.id == id);
|
|
1989
1998
|
};
|
|
1990
1999
|
const installBridgeEventListener = () => {
|
|
1991
2000
|
if (bridgeEventListenerInstalled || !bridge)
|
|
1992
2001
|
return;
|
|
1993
2002
|
bridgeEventListenerInstalled = true;
|
|
1994
2003
|
bridge.onReceive(event => {
|
|
1995
|
-
|
|
2004
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2005
|
+
const id = getSubscriptionId(event.type, event.payload.source);
|
|
2006
|
+
subscriptions.filter(sub => sub.id === id).map(sub => sub.callback?.(event));
|
|
1996
2007
|
});
|
|
1997
2008
|
};
|
|
1998
2009
|
/**
|
|
1999
2010
|
* Subscribe to special client events
|
|
2000
2011
|
* @param eventType Event from SubscriptionEventType enum to be subscribed
|
|
2012
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
2001
2013
|
* @param callback Optional function to be handled when event is coming
|
|
2002
2014
|
* @returns Promise that'll be fullfilled on successful subscription, otherwise rejected with reason
|
|
2003
2015
|
*/
|
|
2004
|
-
const subscribeClientEvents = (eventType, callback) => {
|
|
2016
|
+
const subscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
2005
2017
|
const successResponse = { status: STATUS.SUCCESS };
|
|
2006
2018
|
// No need to subscribe event twice on client
|
|
2007
|
-
if (
|
|
2008
|
-
|
|
2019
|
+
if (isAnySubscriptions(eventType, payload)) {
|
|
2020
|
+
const id = getSubscriptionId(eventType, payload);
|
|
2021
|
+
subscriptions.push({ id, callback });
|
|
2009
2022
|
return Promise.resolve(successResponse);
|
|
2010
2023
|
}
|
|
2011
2024
|
if (!bridge)
|
|
@@ -2015,36 +2028,41 @@
|
|
|
2015
2028
|
method: METHODS.SUBSCRIBE_CLIENT_EVENTS,
|
|
2016
2029
|
params: {
|
|
2017
2030
|
event: eventType,
|
|
2031
|
+
...payload,
|
|
2018
2032
|
},
|
|
2019
2033
|
})
|
|
2020
2034
|
.then(() => {
|
|
2035
|
+
const id = getSubscriptionId(eventType, payload);
|
|
2021
2036
|
installBridgeEventListener();
|
|
2022
|
-
subscriptions.push({
|
|
2037
|
+
subscriptions.push({ id, callback });
|
|
2023
2038
|
return successResponse;
|
|
2024
2039
|
});
|
|
2025
2040
|
};
|
|
2026
2041
|
/**
|
|
2027
2042
|
* Unsubscribe from previously subscribed client events
|
|
2028
2043
|
* @param eventType Event from SubscriptionEventType enum to be unsubscribed
|
|
2044
|
+
* @param payload Additional params, for example `{ id: 'email-app', type: 'smartapp' }`
|
|
2029
2045
|
* @param callback Function to be unsibscribed
|
|
2030
2046
|
* @returns Promise that'll be fullfilled on successful unsubscription, otherwise rejected with reason
|
|
2031
2047
|
*/
|
|
2032
|
-
const unsubscribeClientEvents = (eventType, callback) => {
|
|
2048
|
+
const unsubscribeClientEvents = ({ eventType, payload, callback, }) => {
|
|
2033
2049
|
const successResponse = { status: STATUS.SUCCESS };
|
|
2034
|
-
const
|
|
2050
|
+
const id = getSubscriptionId(eventType, payload);
|
|
2051
|
+
const index = subscriptions.findIndex(sub => sub.id == id && sub.callback == callback);
|
|
2035
2052
|
if (!bridge)
|
|
2036
2053
|
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
2037
2054
|
if (index == -1)
|
|
2038
2055
|
return Promise.reject(ERROR_CODES.SUBSCRIPTION_NOT_FOUND);
|
|
2039
2056
|
subscriptions.splice(index, 1);
|
|
2040
2057
|
// Send unsubscribe to client only at last subscription
|
|
2041
|
-
if (
|
|
2058
|
+
if (isAnySubscriptions(eventType, payload))
|
|
2042
2059
|
return Promise.resolve(successResponse);
|
|
2043
2060
|
return bridge
|
|
2044
2061
|
.sendClientEvent({
|
|
2045
2062
|
method: METHODS.UNSUBSCRIBE_CLIENT_EVENTS,
|
|
2046
2063
|
params: {
|
|
2047
2064
|
event: eventType,
|
|
2065
|
+
...payload,
|
|
2048
2066
|
},
|
|
2049
2067
|
})
|
|
2050
2068
|
.then(() => successResponse);
|
|
@@ -2234,7 +2252,7 @@
|
|
|
2234
2252
|
.then(event => event);
|
|
2235
2253
|
};
|
|
2236
2254
|
/**
|
|
2237
|
-
*
|
|
2255
|
+
* Search entries in local phonebook
|
|
2238
2256
|
* @param filter Query string
|
|
2239
2257
|
* @returns Promise that'll be fullfilled with `payload.localPhonebookEntries` on success, otherwise rejected with reason
|
|
2240
2258
|
*/
|
|
@@ -2248,6 +2266,19 @@
|
|
|
2248
2266
|
})
|
|
2249
2267
|
.then(event => event);
|
|
2250
2268
|
};
|
|
2269
|
+
/**
|
|
2270
|
+
* Get unread counter for chat/user/bot/smartapp.
|
|
2271
|
+
* @returns Promise that'll be fullfilled with status data on success, otherwise rejected with reason
|
|
2272
|
+
*/
|
|
2273
|
+
const getUnreadCounter = async ({ type, id }) => {
|
|
2274
|
+
if (!bridge)
|
|
2275
|
+
return Promise.reject(ERROR_CODES.NO_BRIDGE);
|
|
2276
|
+
const response = await bridge.sendClientEvent({
|
|
2277
|
+
method: METHODS.GET_UNREAD_COUNTER,
|
|
2278
|
+
params: { type, id },
|
|
2279
|
+
});
|
|
2280
|
+
return response;
|
|
2281
|
+
};
|
|
2251
2282
|
|
|
2252
2283
|
const addContact = ({ phone, name }) => {
|
|
2253
2284
|
return bridge?.sendClientEvent({
|
|
@@ -2389,6 +2420,7 @@
|
|
|
2389
2420
|
exports.getChats = getChats;
|
|
2390
2421
|
exports.getConnectionStatus = getConnectionStatus;
|
|
2391
2422
|
exports.getContact = getContact;
|
|
2423
|
+
exports.getUnreadCounter = getUnreadCounter;
|
|
2392
2424
|
exports.handleDeeplink = handleDeeplink;
|
|
2393
2425
|
exports.onBackPressed = onBackPressed;
|
|
2394
2426
|
exports.onMoveToRoot = onMoveToRoot;
|