@expressms/smartapp-sdk 1.1.7 → 1.2.6

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.
Files changed (37) hide show
  1. package/README.md +161 -13
  2. package/build/main/index.d.ts +4 -4
  3. package/build/main/index.js +7 -2
  4. package/build/main/lib/client/index.d.ts +3 -2
  5. package/build/main/lib/client/index.js +10 -3
  6. package/build/main/lib/contacts/index.d.ts +6 -2
  7. package/build/main/lib/contacts/index.js +19 -3
  8. package/build/main/lib/index.d.ts +0 -3
  9. package/build/main/lib/index.js +1 -4
  10. package/build/main/lib/logging/index.d.ts +2 -4
  11. package/build/main/lib/logging/index.js +2 -6
  12. package/build/main/lib/notification/index.d.ts +0 -3
  13. package/build/main/lib/notification/index.js +1 -4
  14. package/build/main/lib/routing/index.d.ts +7 -12
  15. package/build/main/lib/routing/index.js +20 -21
  16. package/build/main/types/bridge.d.ts +17 -2
  17. package/build/main/types/bridge.js +8 -3
  18. package/build/main/types/contacts.d.ts +24 -0
  19. package/build/module/index.d.ts +4 -4
  20. package/build/module/index.js +5 -5
  21. package/build/module/lib/client/index.d.ts +3 -2
  22. package/build/module/lib/client/index.js +9 -3
  23. package/build/module/lib/contacts/index.d.ts +6 -2
  24. package/build/module/lib/contacts/index.js +18 -4
  25. package/build/module/lib/index.d.ts +0 -3
  26. package/build/module/lib/index.js +1 -4
  27. package/build/module/lib/logging/index.d.ts +2 -4
  28. package/build/module/lib/logging/index.js +2 -6
  29. package/build/module/lib/notification/index.d.ts +0 -3
  30. package/build/module/lib/notification/index.js +1 -4
  31. package/build/module/lib/routing/index.d.ts +7 -12
  32. package/build/module/lib/routing/index.js +19 -22
  33. package/build/module/types/bridge.d.ts +17 -2
  34. package/build/module/types/bridge.js +8 -3
  35. package/build/module/types/contacts.d.ts +24 -0
  36. package/build/umd/index.js +52 -35
  37. package/package.json +2 -2
package/README.md CHANGED
@@ -44,6 +44,8 @@ __Реализации клиентских методов SmartApp Bridge__
44
44
 
45
45
  - `onBackPressed(handleBackPressed: Function)` - передать клиенту коллбэк для выполнения при получении команды `back_pressed`;
46
46
 
47
+ - `onMoveToRoot(handleMoveToRoot: Function)` - передать клиенту коллбэк для выполнения при получении команды `move_to_root`;
48
+
47
49
  - `addContact({ phone: string, name: string })` - скачать `.csv` файл контакта;
48
50
 
49
51
  - `getContact({ phone: string })` – получить контакт по номеру телефона;
@@ -72,6 +74,12 @@ __Реализации клиентских методов SmartApp Bridge__
72
74
 
73
75
  открыть смартапп;
74
76
 
77
+ - ```
78
+ closeSmartApp()
79
+ ```
80
+
81
+ закрыть текущий смартапп;
82
+
75
83
  - `exitSmartAppToCatalog()` - выйти из смартапп на каталог;
76
84
 
77
85
  - `useQuery()` - получить параметры `url` SmartApp;
@@ -80,6 +88,8 @@ __Реализации клиентских методов SmartApp Bridge__
80
88
 
81
89
  - `getChats({ filter: string | null })` - запросить чаты;
82
90
 
91
+ - `requestGeolocation()` - запросить геолокацию;
92
+
83
93
  - `searchCorporatePhonebook({ filter: string | null })` - запросить результаты поиска по корпоративной phonebook и результат трастового поиска ;
84
94
 
85
95
  __Метод onReceive__
@@ -117,13 +127,25 @@ function* watchClientEvents() {
117
127
  }
118
128
  ```
119
129
 
130
+ __Метод onMoveToRoot__
131
+
132
+ ```
133
+ function handleMoveToRoot() {
134
+ history.push('/') - home page
135
+ }
136
+
137
+ function* watchClientEvents() {
138
+ yield onMoveToRoot(handleMoveToRoot)
139
+ }
140
+ ```
141
+
120
142
  __Редирект в другой смартапп__
121
143
 
122
144
  ```
123
145
  bridge?.sendClientEvent({
124
146
  method: "open_smart_app",
125
147
  params: {
126
- appId: string // уникальный идентификатор SmartApp e.g. "feature-smartapp"
148
+ appId: string // уникальный идентификатор SmartApp e.g. "017aade3-0f2d-5274-93f2-79607f564dc6",
127
149
  }
128
150
  })
129
151
  ```
@@ -132,7 +154,7 @@ __Редирект в другой смартапп, передача поля `
132
154
 
133
155
  ```
134
156
  openSmartApp({
135
- appId: string // уникальный идентификатор SmartApp e.g. "feature-smartapp",
157
+ appId: string // уникальный идентификатор SmartApp e.g. "017aade3-0f2d-5274-93f2-79607f564dc6",
136
158
  meta: Object, // "meta" может содержать любую информацию
137
159
  })
138
160
  ```
@@ -143,7 +165,7 @@ SmartApp 1 отправляет клиенту ивент:
143
165
 
144
166
  ```
145
167
  openSmartApp({
146
- appId: "feature-smartapp",
168
+ appId: "017aade3-0f2d-5274-93f2-79607f564dc6",
147
169
  meta: {
148
170
  route: "/route-in-feature-smartapp"
149
171
  }
@@ -152,7 +174,7 @@ openSmartApp({
152
174
 
153
175
  Клиент получает ивент, сохраняет значение поля `meta`.
154
176
 
155
- Клиент открывает SmartApp 2 с `appId === "feature-smartapp"`.
177
+ Клиент открывает SmartApp 2 с `appId === "017aade3-0f2d-5274-93f2-79607f564dc6"`.
156
178
 
157
179
  SmartApp 2 шлет ивент `ready`:
158
180
 
@@ -240,6 +262,53 @@ __Запрос чатов__
240
262
  }
241
263
  ```
242
264
 
265
+ __Запрос геолокации__
266
+
267
+ `const response = yield requestLocation()`
268
+
269
+ Метод отправляет клиенту запрос типа:
270
+
271
+ ```
272
+ {
273
+ "ref": <string>,
274
+ "handler": "express",
275
+ "type": "request_location",
276
+ "payload": {},
277
+ "files": []
278
+ }
279
+ ```
280
+
281
+ И получает ответ типа:
282
+
283
+ ```
284
+ {
285
+ "ref": <string>,
286
+ "status": "success",
287
+ "data": {
288
+ "latitude": <string|null>,
289
+ "longitude": <string|null>,
290
+ "timestamp": <"YYYY-MM-DDThh:mm:ss.fZZZZZ"|null>,
291
+ }
292
+ }
293
+ ```
294
+
295
+ Ответ клиента в случае ошибки:
296
+
297
+ ```
298
+ {
299
+ "ref": <string>,
300
+ "status": "error",
301
+ "error_code": "permission_denied" | "location_undefined"
302
+ }
303
+ ```
304
+
305
+ Статус error_code отправляется в следующих случаях:
306
+
307
+ ```
308
+ 1. Ошибка разрешения на получение геолокации, error_code = "permission_denied"
309
+ 2. Ошибка получения данных геолокации, error_code = "location_undefined"
310
+ ```
311
+
243
312
  __Запрос результатов поиска по корпоративной phonebook и результат трастового поиска__
244
313
 
245
314
  `const response = yield searchCorporatePhonebook({ filter }: { filter: string | null })`
@@ -357,6 +426,85 @@ const response = yield openGroupChat({ groupChatId: <uuid> })
357
426
  }
358
427
  ```
359
428
 
429
+ __Отправка скрытой команды боту__
430
+
431
+ Команда позволяет только передать боту информацию. Обработка информации должна быть реализована на стороне бота.
432
+
433
+ ```
434
+ await sendBotCommand({ userHuid, body, data}: {
435
+ userHuid: <string>
436
+ body: <string>
437
+ data: { command: <string> } | null
438
+ }
439
+ )
440
+ ```
441
+
442
+ Метод отправляет клиенту ивент типа:
443
+
444
+ ```
445
+ {
446
+ "ref": <string>,
447
+ "type": "smartapp_rpc",
448
+ "handler": "express",
449
+ "payload": {
450
+ "userHuid": <string>,
451
+ "message": {
452
+ "body": "hello",
453
+ "data": {
454
+ "command": "/test"
455
+ }
456
+ }
457
+ },
458
+ "method": "send_bot_command"
459
+ }
460
+ ```
461
+
462
+ В чат с ботом придет значение параметра `{ "body": "hello" }`, бот получит объект `{ "command": "/test" }`.
463
+
464
+ __Запрос профиля текущего пользователя__
465
+
466
+ ```
467
+ const response = yield requestSelfProfile()
468
+ ```
469
+
470
+ Метод отправляет клиенту запрос типа:
471
+ ```
472
+ {
473
+ "ref": <string>,
474
+ "handler": "express",
475
+ "type": "smartapp_rpc",
476
+ "method": "request_self_profile",
477
+ "payload": {},
478
+ "files": []
479
+ }
480
+ ```
481
+
482
+ И получает ответ:
483
+
484
+ ```
485
+ {
486
+ "ref": <string>,
487
+ "status": "success|error",
488
+ "data": {
489
+ "userHuid": string,
490
+ "name": string,
491
+ "avatar": string | null,
492
+ "avatarPreview": string | null,
493
+ "company": string | null,
494
+ "department": string | null,
495
+ "office": string | null,
496
+ "manager": string | null,
497
+ "managerHuid": string | null,
498
+ "email": string | null,
499
+ "phone": string | null,
500
+ "description": string | null,
501
+ "otherPhone": string | null,
502
+ "ip_phone": string | null,
503
+ "otherIpPhone": string | null,
504
+ }
505
+ }
506
+ ```
507
+
360
508
  __Кеширование статики с помощью WorkboxWebpackPlugin__
361
509
 
362
510
  Если приложение было создано с помощью `create-react-app`, добавляем строчку в `package.json`:
@@ -364,17 +512,17 @@ __Кеширование статики с помощью WorkboxWebpackPlugin__
364
512
  ```
365
513
 
366
514
  "scripts": {
367
- "eject": "react-scripts eject",
515
+ "eject": "react-scripts eject",
368
516
  }
369
517
 
370
518
  ```
371
519
 
372
- В зависимости приложения добавляем `smartapp-sdk` версии `1.0.7` или выше:
520
+ В зависимости приложения добавляем `smartapp-sdk` версии `1.2.2` или выше:
373
521
 
374
522
  ```
375
523
 
376
524
  "dependencies": {
377
- "@unlimited/smartapp-sdk": "^1.0.7",
525
+ "@unlimited/smartapp-sdk": "^1.2.2",
378
526
  }
379
527
 
380
528
  ```
@@ -390,9 +538,9 @@ __Кеширование статики с помощью WorkboxWebpackPlugin__
390
538
  if (module.hot) module.hot.accept()
391
539
 
392
540
  if ("serviceWorker" in navigator) {
393
- window.addEventListener("load", () => {
394
- navigator.serviceWorker.register("./sw.js")
395
- })
541
+ window.addEventListener("load", () => {
542
+ navigator.serviceWorker.register("./sw.js")
543
+ })
396
544
  }
397
545
 
398
546
  ```
@@ -402,9 +550,9 @@ navigator.serviceWorker.register("./sw.js")
402
550
  ```
403
551
 
404
552
  plugins: [
405
- new WorkboxWebpackPlugin.InjectManifest({
406
- swSrc: "@unlimited/smartapp-sdk/workers/workbox.js", // path to worker
407
- swDest: "sw.js"
553
+ new WorkboxWebpackPlugin.InjectManifest({
554
+ swSrc: "@unlimited/smartapp-sdk/workers/workbox.js", // path to worker
555
+ swDest: "sw.js"
408
556
  }),
409
557
 
410
558
  ```
@@ -1,8 +1,8 @@
1
1
  import Bridge from '@expressms/smartapp-bridge';
2
- import { getChats, openClientSettings, openGroupChat, searchCorporatePhonebook, sendBotCommand } from './lib/client';
3
- import { addContact, createPersonalChat, getContact, sendMessage } from './lib/contacts';
2
+ import { getChats, openClientSettings, openGroupChat, requestLocation, searchCorporatePhonebook, sendBotCommand } from './lib/client';
3
+ import { addContact, createPersonalChat, getContact, openContactCard, 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
- import { exitSmartAppToCatalog, onBackPressed, openSmartApp, routingChanged } from './lib/routing';
8
- export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, };
7
+ import { closeSmartApp, exitSmartAppToCatalog, onBackPressed, onMoveToRoot, openSmartApp, routingChanged } from './lib/routing';
8
+ export { Bridge, ready, routingChanged, onBackPressed, addContact, getContact, createPersonalChat, onNotification, sendMessage, openSmartApp, exitSmartAppToCatalog, useQuery, openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, onMoveToRoot, requestLocation, openContactCard, requestSelfProfile, closeSmartApp, };
@@ -3,19 +3,22 @@ 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.sendBotCommand = exports.openGroupChat = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = exports.useQuery = exports.exitSmartAppToCatalog = exports.openSmartApp = exports.sendMessage = exports.onNotification = exports.createPersonalChat = exports.getContact = exports.addContact = exports.onBackPressed = exports.routingChanged = exports.ready = exports.Bridge = void 0;
6
+ 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.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");
10
10
  Object.defineProperty(exports, "getChats", { enumerable: true, get: function () { return client_1.getChats; } });
11
11
  Object.defineProperty(exports, "openClientSettings", { enumerable: true, get: function () { return client_1.openClientSettings; } });
12
12
  Object.defineProperty(exports, "openGroupChat", { enumerable: true, get: function () { return client_1.openGroupChat; } });
13
+ Object.defineProperty(exports, "requestLocation", { enumerable: true, get: function () { return client_1.requestLocation; } });
13
14
  Object.defineProperty(exports, "searchCorporatePhonebook", { enumerable: true, get: function () { return client_1.searchCorporatePhonebook; } });
14
15
  Object.defineProperty(exports, "sendBotCommand", { enumerable: true, get: function () { return client_1.sendBotCommand; } });
15
16
  const contacts_1 = require("./lib/contacts");
16
17
  Object.defineProperty(exports, "addContact", { enumerable: true, get: function () { return contacts_1.addContact; } });
17
18
  Object.defineProperty(exports, "createPersonalChat", { enumerable: true, get: function () { return contacts_1.createPersonalChat; } });
18
19
  Object.defineProperty(exports, "getContact", { enumerable: true, get: function () { return contacts_1.getContact; } });
20
+ Object.defineProperty(exports, "openContactCard", { enumerable: true, get: function () { return contacts_1.openContactCard; } });
21
+ Object.defineProperty(exports, "requestSelfProfile", { enumerable: true, get: function () { return contacts_1.requestSelfProfile; } });
19
22
  Object.defineProperty(exports, "sendMessage", { enumerable: true, get: function () { return contacts_1.sendMessage; } });
20
23
  const helpers_1 = require("./lib/helpers/helpers");
21
24
  Object.defineProperty(exports, "useQuery", { enumerable: true, get: function () { return helpers_1.useQuery; } });
@@ -24,8 +27,10 @@ Object.defineProperty(exports, "ready", { enumerable: true, get: function () { r
24
27
  const notification_1 = require("./lib/notification");
25
28
  Object.defineProperty(exports, "onNotification", { enumerable: true, get: function () { return notification_1.onNotification; } });
26
29
  const routing_1 = require("./lib/routing");
30
+ Object.defineProperty(exports, "closeSmartApp", { enumerable: true, get: function () { return routing_1.closeSmartApp; } });
27
31
  Object.defineProperty(exports, "exitSmartAppToCatalog", { enumerable: true, get: function () { return routing_1.exitSmartAppToCatalog; } });
28
32
  Object.defineProperty(exports, "onBackPressed", { enumerable: true, get: function () { return routing_1.onBackPressed; } });
33
+ Object.defineProperty(exports, "onMoveToRoot", { enumerable: true, get: function () { return routing_1.onMoveToRoot; } });
29
34
  Object.defineProperty(exports, "openSmartApp", { enumerable: true, get: function () { return routing_1.openSmartApp; } });
30
35
  Object.defineProperty(exports, "routingChanged", { enumerable: true, get: function () { return routing_1.routingChanged; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBUzdDLGlCQVRLLHlCQUFNLENBU0w7QUFSUix5Q0FBb0g7QUFxQmxILHlGQXJCTyxpQkFBUSxPQXFCUDtBQURSLG1HQXBCaUIsMkJBQWtCLE9Bb0JqQjtBQUdsQiw4RkF2QnFDLHNCQUFhLE9BdUJyQztBQURiLHlHQXRCb0QsaUNBQXdCLE9Bc0JwRDtBQUV4QiwrRkF4QjhFLHVCQUFjLE9Bd0I5RTtBQXZCaEIsNkNBQXdGO0FBV3RGLDJGQVhPLHFCQUFVLE9BV1A7QUFFVixtR0FibUIsNkJBQWtCLE9BYW5CO0FBRGxCLDJGQVp1QyxxQkFBVSxPQVl2QztBQUdWLDRGQWZtRCxzQkFBVyxPQWVuRDtBQWRiLG1EQUFnRDtBQWlCOUMseUZBakJPLGtCQUFRLE9BaUJQO0FBaEJWLDJDQUFxQztBQU1uQyxzRkFOTyxlQUFLLE9BTVA7QUFMUCxxREFBbUQ7QUFXakQsK0ZBWE8sNkJBQWMsT0FXUDtBQVZoQiwyQ0FBa0c7QUFhaEcsc0dBYk8sK0JBQXFCLE9BYVA7QUFQckIsOEZBTjhCLHVCQUFhLE9BTTlCO0FBTWIsNkZBWjZDLHNCQUFZLE9BWTdDO0FBUFosK0ZBTDJELHdCQUFjLE9BSzNEIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBOEI3QyxpQkE5QksseUJBQU0sQ0E4Qkw7QUE3QlIseUNBT3FCO0FBbUNuQix5RkF6Q0EsaUJBQVEsT0F5Q0E7QUFEUixtR0F2Q0EsMkJBQWtCLE9BdUNBO0FBSWxCLDhGQTFDQSxzQkFBYSxPQTBDQTtBQUViLGdHQTNDQSx3QkFBZSxPQTJDQTtBQUpmLHlHQXRDQSxpQ0FBd0IsT0FzQ0E7QUFDeEIsK0ZBdENBLHVCQUFjLE9Bc0NBO0FBcENoQiw2Q0FPdUI7QUFrQnJCLDJGQXhCQSxxQkFBVSxPQXdCQTtBQUVWLG1HQXpCQSw2QkFBa0IsT0F5QkE7QUFEbEIsMkZBdkJBLHFCQUFVLE9BdUJBO0FBY1YsZ0dBcENBLDBCQUFlLE9Bb0NBO0FBQ2YsbUdBcENBLDZCQUFrQixPQW9DQTtBQVpsQiw0RkF2QkEsc0JBQVcsT0F1QkE7QUFyQmIsbURBQThDO0FBd0I1Qyx5RkF4Qk0sa0JBQVEsT0F3Qk47QUF2QlYsMkNBQW1DO0FBYWpDLHNGQWJNLGVBQUssT0FhTjtBQVpQLHFEQUFpRDtBQWtCL0MsK0ZBbEJNLDZCQUFjLE9Ba0JOO0FBakJoQiwyQ0FPc0I7QUF3QnBCLDhGQTlCQSx1QkFBYSxPQThCQTtBQVhiLHNHQWxCQSwrQkFBcUIsT0FrQkE7QUFQckIsOEZBVkEsdUJBQWEsT0FVQTtBQWNiLDZGQXZCQSxzQkFBWSxPQXVCQTtBQVJaLDZGQWRBLHNCQUFZLE9BY0E7QUFQWiwrRkFOQSx3QkFBYyxPQU1BIn0=
@@ -8,11 +8,12 @@ declare const searchCorporatePhonebook: ({ filter }: {
8
8
  declare const openGroupChat: ({ groupChatId }: {
9
9
  groupChatId: string;
10
10
  }) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
11
- declare const sendBotCommand: ({ userHuid, body, data }: {
11
+ declare const sendBotCommand: ({ userHuid, body, data, }: {
12
12
  userHuid: string;
13
13
  body: string;
14
14
  data: {
15
15
  command: string;
16
16
  } | null;
17
17
  }) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
18
- export { openClientSettings, getChats, searchCorporatePhonebook, sendBotCommand, openGroupChat, };
18
+ declare const requestLocation: () => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
19
+ export { openClientSettings, getChats, searchCorporatePhonebook, openGroupChat, sendBotCommand, requestLocation };
@@ -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.openGroupChat = exports.sendBotCommand = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = void 0;
6
+ exports.requestLocation = exports.sendBotCommand = exports.openGroupChat = exports.searchCorporatePhonebook = exports.getChats = exports.openClientSettings = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const types_1 = require("../../types");
9
9
  const openClientSettings = () => {
@@ -34,7 +34,7 @@ const openGroupChat = ({ groupChatId }) => {
34
34
  });
35
35
  };
36
36
  exports.openGroupChat = openGroupChat;
37
- const sendBotCommand = ({ userHuid, body, data }) => {
37
+ const sendBotCommand = ({ userHuid, body, data, }) => {
38
38
  if (typeof data !== 'object')
39
39
  return;
40
40
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
@@ -49,4 +49,11 @@ const sendBotCommand = ({ userHuid, body, data }) => {
49
49
  });
50
50
  };
51
51
  exports.sendBotCommand = sendBotCommand;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRkFBK0M7QUFDL0MsdUNBQXFDO0FBRXJDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBQzlCLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLG9CQUFvQjtRQUNwQyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWlEQyxnREFBa0I7QUEvQ3BCLE1BQU0sUUFBUSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUE2QixFQUFFLEVBQUU7SUFDaEUsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsU0FBUztRQUN6QixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUU7S0FDbkIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMkNDLDRCQUFRO0FBekNWLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJLEVBQTZCLEVBQUUsRUFBRTtJQUNoRixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQywwQkFBMEI7UUFDMUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFO0tBQ25CLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQXFDQyw0REFBd0I7QUFuQzFCLE1BQU0sYUFBYSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQTJCLEVBQUUsRUFBRTtJQUNqRSxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxlQUFlO1FBQy9CLE1BQU0sRUFBRSxFQUFFLFdBQVcsRUFBRTtLQUN4QixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFnQ0Msc0NBQWE7QUE5QmYsTUFBTSxjQUFjLEdBQUcsQ0FDckIsRUFDRSxRQUFRLEVBQ1IsSUFBSSxFQUNKLElBQUksRUFLTCxFQUNELEVBQUU7SUFDRixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFNO0lBRXBDLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLGdCQUFnQjtRQUNoQyxNQUFNLEVBQUU7WUFDTixRQUFRO1lBQ1IsT0FBTyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osSUFBSTthQUNMO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFNQyx3Q0FBYyJ9
52
+ const requestLocation = () => {
53
+ return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
54
+ method: types_1.METHODS.REQUEST_LOCATION,
55
+ params: {},
56
+ });
57
+ };
58
+ exports.requestLocation = requestLocation;
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRkFBK0M7QUFDL0MsdUNBQW1DO0FBRW5DLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxFQUFFO0lBQzlCLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLG9CQUFvQjtRQUNwQyxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQXdEQyxnREFBa0I7QUF0RHBCLE1BQU0sUUFBUSxHQUFHLENBQUMsRUFBQyxNQUFNLEdBQUcsSUFBSSxFQUE0QixFQUFFLEVBQUU7SUFDOUQsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsU0FBUztRQUN6QixNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUM7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBa0RDLDRCQUFRO0FBaERWLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxFQUFDLE1BQU0sR0FBRyxJQUFJLEVBQTRCLEVBQUUsRUFBRTtJQUM5RSxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQywwQkFBMEI7UUFDMUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFDO0tBQ2pCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQTRDQyw0REFBd0I7QUExQzFCLE1BQU0sYUFBYSxHQUFHLENBQUMsRUFBQyxXQUFXLEVBQTBCLEVBQUUsRUFBRTtJQUMvRCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxlQUFlO1FBQy9CLE1BQU0sRUFBRSxFQUFDLFdBQVcsRUFBQztLQUN0QixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFzQ0Msc0NBQWE7QUFwQ2YsTUFBTSxjQUFjLEdBQUcsQ0FDbkIsRUFDRSxRQUFRLEVBQ1IsSUFBSSxFQUNKLElBQUksR0FLTCxFQUNILEVBQUU7SUFDRixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFNO0lBRXBDLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLGdCQUFnQjtRQUNoQyxNQUFNLEVBQUU7WUFDTixRQUFRO1lBQ1IsT0FBTyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osSUFBSTthQUNMO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFjQyx3Q0FBYztBQVpoQixNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsZ0JBQWdCO1FBQ2hDLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBUUMsMENBQWUifQ==
@@ -1,4 +1,4 @@
1
- import { SendMessageMethodParams } from "../../types/contacts";
1
+ import { RequestSelfProfileResponse, SendMessageMethodParams } from '../../types/contacts';
2
2
  declare const addContact: ({ phone, name }: {
3
3
  phone: string;
4
4
  name: string;
@@ -10,4 +10,8 @@ declare const createPersonalChat: ({ huid }: {
10
10
  huid: string;
11
11
  }) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
12
12
  declare const sendMessage: ({ userHuid, groupChatId, messageBody, messageMeta, }: SendMessageMethodParams) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
13
- export { addContact, getContact, createPersonalChat, sendMessage, };
13
+ declare const openContactCard: ({ userHuid }: {
14
+ userHuid: string;
15
+ }) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
16
+ declare const requestSelfProfile: () => RequestSelfProfileResponse;
17
+ export { addContact, getContact, createPersonalChat, sendMessage, openContactCard, requestSelfProfile, };
@@ -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.sendMessage = exports.createPersonalChat = exports.getContact = exports.addContact = void 0;
6
+ exports.requestSelfProfile = exports.openContactCard = exports.sendMessage = exports.createPersonalChat = exports.getContact = exports.addContact = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const types_1 = require("../../types");
9
9
  const addContact = ({ phone, name }) => {
@@ -30,7 +30,7 @@ const createPersonalChat = ({ huid }) => {
30
30
  });
31
31
  };
32
32
  exports.createPersonalChat = createPersonalChat;
33
- const sendMessage = ({ userHuid = null, groupChatId = null, messageBody = "", messageMeta = {}, }) => {
33
+ const sendMessage = ({ userHuid = null, groupChatId = null, messageBody = '', messageMeta = {}, }) => {
34
34
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
35
35
  method: types_1.METHODS.SEND_MESSAGE,
36
36
  params: {
@@ -44,4 +44,20 @@ const sendMessage = ({ userHuid = null, groupChatId = null, messageBody = "", me
44
44
  });
45
45
  };
46
46
  exports.sendMessage = sendMessage;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBcUM7QUFHckMsTUFBTSxVQUFVLEdBQUcsQ0FDakIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFtQyxFQUNoRCxFQUFFO0lBQ0YsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsV0FBVztRQUMzQixNQUFNLEVBQUU7WUFDTixLQUFLO1lBQ0wsSUFBSTtTQUNMO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBcUNDLGdDQUFVO0FBbkNaLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBcUIsRUFBRSxFQUFFO0lBQ3hELE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLFdBQVc7UUFDM0IsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFO0tBQ2xCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQStCQyxnQ0FBVTtBQTdCWixNQUFNLGtCQUFrQixHQUFHLENBQUMsRUFBRSxJQUFJLEVBQW9CLEVBQUUsRUFBRTtJQUN4RCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxvQkFBb0I7UUFDcEMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFO0tBQ2pCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQXlCQyxnREFBa0I7QUF2QnBCLE1BQU0sV0FBVyxHQUFHLENBQ2xCLEVBQ0UsUUFBUSxHQUFHLElBQUksRUFDZixXQUFXLEdBQUcsSUFBSSxFQUNsQixXQUFXLEdBQUcsRUFBRSxFQUNoQixXQUFXLEdBQUcsRUFBRSxHQUNRLEVBQUUsRUFBRTtJQUM5QixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxZQUFZO1FBQzVCLE1BQU0sRUFBRTtZQUNOLFFBQVE7WUFDUixXQUFXO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsV0FBVzthQUNsQjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBTUMsa0NBQVcifQ==
47
+ const openContactCard = ({ userHuid }) => {
48
+ if (!userHuid)
49
+ return;
50
+ return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
51
+ method: types_1.METHODS.OPEN_CONTACT_CARD,
52
+ params: { userHuid }
53
+ });
54
+ };
55
+ exports.openContactCard = openContactCard;
56
+ const requestSelfProfile = () => {
57
+ return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
58
+ method: types_1.METHODS.REQUEST_SELF_PROFILE,
59
+ params: {},
60
+ });
61
+ };
62
+ exports.requestSelfProfile = requestSelfProfile;
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbnRhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyx1Q0FBcUM7QUFHckMsTUFBTSxVQUFVLEdBQUcsQ0FDZixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQW1DLEVBQ2xELEVBQUU7SUFDRixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxXQUFXO1FBQzNCLE1BQU0sRUFBRTtZQUNOLEtBQUs7WUFDTCxJQUFJO1NBQ0w7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFzREMsZ0NBQVU7QUFwRFosTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFxQixFQUFFLEVBQUU7SUFDeEQsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsV0FBVztRQUMzQixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUU7S0FDbEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBZ0RDLGdDQUFVO0FBOUNaLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBb0IsRUFBRSxFQUFFO0lBQ3hELE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLG9CQUFvQjtRQUNwQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUU7S0FDakIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMENDLGdEQUFrQjtBQXhDcEIsTUFBTSxXQUFXLEdBQUcsQ0FDaEIsRUFDRSxRQUFRLEdBQUcsSUFBSSxFQUNmLFdBQVcsR0FBRyxJQUFJLEVBQ2xCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLFdBQVcsR0FBRyxFQUFFLEdBQ1EsRUFDNUIsRUFBRTtJQUNGLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLFlBQVk7UUFDNUIsTUFBTSxFQUFFO1lBQ04sUUFBUTtZQUNSLFdBQVc7WUFDWCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLElBQUksRUFBRSxXQUFXO2FBQ2xCO1NBQ0Y7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFzQkMsa0NBQVc7QUFwQmIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBd0IsRUFBRSxFQUFFO0lBQzdELElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTTtJQUVyQixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxpQkFBaUI7UUFDakMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFO0tBQ3JCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWNDLDBDQUFlO0FBWmpCLE1BQU0sa0JBQWtCLEdBQUcsR0FBZ0MsRUFBRTtJQUMzRCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxvQkFBb0I7UUFDcEMsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUErQixDQUFBO0FBQ2xDLENBQUMsQ0FBQTtBQVFDLGdEQUFrQiJ9
@@ -1,5 +1,2 @@
1
- /**
2
- * @param timeout
3
- */
4
1
  declare const bridgeSendReady: (timeout?: number) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
5
2
  export { bridgeSendReady, };
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.bridgeSendReady = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const types_1 = require("../types");
9
- /**
10
- * @param timeout
11
- */
12
9
  const bridgeSendReady = (timeout) => {
13
10
  const event = {
14
11
  method: types_1.METHODS.READY,
@@ -17,4 +14,4 @@ const bridgeSendReady = (timeout) => {
17
14
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent(timeout ? Object.assign(Object.assign({}, event), { timeout }) : event);
18
15
  };
19
16
  exports.bridgeSendReady = bridgeSendReady;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyxvQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUMzQyxNQUFNLEtBQUssR0FBRztRQUNaLE1BQU0sRUFBRSxlQUFPLENBQUMsS0FBSztRQUNyQixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUE7SUFDRCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsaUNBQU0sS0FBSyxLQUFFLE9BQU8sSUFBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDekUsQ0FBQyxDQUFBO0FBR0MsMENBQWUifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlGQUErQztBQUMvQyxvQ0FBa0M7QUFFbEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7SUFDM0MsTUFBTSxLQUFLLEdBQUc7UUFDWixNQUFNLEVBQUUsZUFBTyxDQUFDLEtBQUs7UUFDckIsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFBO0lBQ0QsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGlDQUFNLEtBQUssS0FBRSxPQUFPLElBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3pFLENBQUMsQ0FBQTtBQUdDLDBDQUFlIn0=
@@ -1,5 +1,3 @@
1
- /**
2
- * @param timeout
3
- */
4
- declare const ready: (timeout?: number) => Promise<any>;
1
+ import { ReadyEventResponse } from "../../types";
2
+ declare const ready: (timeout?: number) => Promise<ReadyEventResponse>;
5
3
  export { ready, };
@@ -6,17 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ready = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const index_1 = require("../index");
9
- /**
10
- * @param timeout
11
- */
12
9
  const ready = async (timeout) => {
13
10
  var _a, _b;
14
11
  const response = await (0, index_1.bridgeSendReady)(timeout);
15
- const Bridge = smartapp_bridge_1.default;
16
12
  const isLogsEnabled = (_a = response === null || response === void 0 ? void 0 : response.payload) === null || _a === void 0 ? void 0 : _a.logsEnabled;
17
13
  if (isLogsEnabled)
18
- (_b = Bridge === null || Bridge === void 0 ? void 0 : Bridge.enableLogs) === null || _b === void 0 ? void 0 : _b.call(Bridge);
14
+ (_b = smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.enableLogs) === null || _b === void 0 ? void 0 : _b.call(smartapp_bridge_1.default);
19
15
  return response;
20
16
  };
21
17
  exports.ready = ready;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2xvZ2dpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBQy9DLG9DQUEwQztBQUUxQzs7R0FFRztBQUNILE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxPQUFnQixFQUFFLEVBQUU7O0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSx1QkFBZSxFQUFDLE9BQU8sQ0FBUSxDQUFBO0lBQ3RELE1BQU0sTUFBTSxHQUFHLHlCQUFhLENBQUE7SUFDNUIsTUFBTSxhQUFhLEdBQUcsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsT0FBTywwQ0FBRSxXQUFXLENBQUE7SUFFcEQsSUFBSSxhQUFhO1FBQUUsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVSxzREFBSSxDQUFBO0lBRXpDLE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUMsQ0FBQTtBQUdDLHNCQUFLIn0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2xvZ2dpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBRS9DLG9DQUEwQztBQUUxQyxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsT0FBZ0IsRUFBRSxFQUFFOztJQUN2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsdUJBQWUsRUFBQyxPQUFPLENBQXVCLENBQUE7SUFDckUsTUFBTSxhQUFhLEdBQUcsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsT0FBTywwQ0FBRSxXQUFXLENBQUE7SUFFcEQsSUFBSSxhQUFhO1FBQUUsTUFBQyx5QkFBYyxhQUFkLHlCQUFNLHVCQUFOLHlCQUFNLENBQVUsVUFBVSx5RUFBSSxDQUFBO0lBRWxELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUMsQ0FBQTtBQUdDLHNCQUFLIn0=
@@ -1,5 +1,2 @@
1
- /**
2
- * @param handleNotification
3
- */
4
1
  declare const onNotification: (handleNotification: Function) => Promise<void | undefined>;
5
2
  export { onNotification, };
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.onNotification = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const types_1 = require("../../types");
9
- /**
10
- * @param handleNotification
11
- */
12
9
  const onNotification = async (handleNotification) => {
13
10
  const response = await (smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
14
11
  method: types_1.METHODS.NOTIFICATION,
@@ -21,4 +18,4 @@ const onNotification = async (handleNotification) => {
21
18
  });
22
19
  };
23
20
  exports.onNotification = onNotification;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL25vdGlmaWNhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRkFBK0M7QUFDL0MsdUNBQXFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLGtCQUE0QixFQUFFLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFBLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0MsTUFBTSxFQUFFLGVBQU8sQ0FBQyxZQUFZO1FBQzVCLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQyxDQUFBLENBQUE7SUFFRixPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUN0QyxJQUFJLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksTUFBSyxlQUFPLENBQUMsWUFBWSxFQUFFO1lBQ3hDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQzdCO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFHQyx3Q0FBYyJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL25vdGlmaWNhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpRkFBK0M7QUFDL0MsdUNBQXFDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLEtBQUssRUFBRSxrQkFBNEIsRUFBRSxFQUFFO0lBQzVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQSx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdDLE1BQU0sRUFBRSxlQUFPLENBQUMsWUFBWTtRQUM1QixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQSxDQUFBO0lBRUYsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDdEMsSUFBSSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLE1BQUssZUFBTyxDQUFDLFlBQVksRUFBRTtZQUN4QyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtTQUM3QjtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBR0Msd0NBQWMifQ==
@@ -1,15 +1,10 @@
1
- /**
2
- * @param isRoot
3
- */
4
1
  declare const routingChanged: (isRoot: boolean) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
5
- /**
6
- * @param handleBackPressed
7
- */
8
2
  declare const onBackPressed: (handleBackPressed: Function) => void | undefined;
9
- /**
10
- * @param appId
11
- * @param meta
12
- */
13
- declare const openSmartApp: (appId: string, meta?: any) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
3
+ declare const openSmartApp: ({ appId, meta }: {
4
+ appId: string;
5
+ meta?: object | undefined;
6
+ }) => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
7
+ declare const closeSmartApp: () => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
8
+ declare const onMoveToRoot: (handleMoveToRoot: Function) => void | undefined;
14
9
  declare const exitSmartAppToCatalog: () => Promise<import("@expressms/smartapp-bridge/build/main/types/eventEmitter").EmitterEventPayload> | undefined;
15
- export { routingChanged, onBackPressed, openSmartApp, exitSmartAppToCatalog, };
10
+ export { routingChanged, onBackPressed, openSmartApp, exitSmartAppToCatalog, onMoveToRoot, closeSmartApp };
@@ -3,12 +3,9 @@ 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.exitSmartAppToCatalog = exports.openSmartApp = exports.onBackPressed = exports.routingChanged = void 0;
6
+ exports.closeSmartApp = exports.onMoveToRoot = exports.exitSmartAppToCatalog = exports.openSmartApp = exports.onBackPressed = exports.routingChanged = void 0;
7
7
  const smartapp_bridge_1 = __importDefault(require("@expressms/smartapp-bridge"));
8
8
  const types_1 = require("../../types");
9
- /**
10
- * @param isRoot
11
- */
12
9
  const routingChanged = (isRoot) => {
13
10
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
14
11
  method: types_1.METHODS.ROUTING_CHANGED,
@@ -18,37 +15,39 @@ const routingChanged = (isRoot) => {
18
15
  });
19
16
  };
20
17
  exports.routingChanged = routingChanged;
21
- /**
22
- * @param handleBackPressed
23
- */
24
18
  const onBackPressed = (handleBackPressed) => {
25
- return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.onReceive((event) => {
19
+ return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.onReceive(event => {
26
20
  if (event.type === types_1.METHODS.BACK_PRESSED)
27
21
  handleBackPressed();
28
22
  });
29
23
  };
30
24
  exports.onBackPressed = onBackPressed;
31
- /**
32
- * @param appId
33
- * @param meta
34
- */
35
- const openSmartApp = (appId, meta) => {
25
+ const openSmartApp = ({ appId, meta }) => {
36
26
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
37
27
  method: types_1.METHODS.OPEN_SMART_APP,
38
- params: {
39
- appId,
40
- meta,
41
- },
28
+ params: meta ? { appId, meta } : { appId },
42
29
  });
43
30
  };
44
31
  exports.openSmartApp = openSmartApp;
32
+ const closeSmartApp = () => {
33
+ return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
34
+ method: types_1.METHODS.CLOSE_SMART_APP,
35
+ params: {},
36
+ });
37
+ };
38
+ exports.closeSmartApp = closeSmartApp;
39
+ const onMoveToRoot = (handleMoveToRoot) => {
40
+ return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.onReceive(event => {
41
+ if (event.type === types_1.METHODS.MOVE_TO_ROOT)
42
+ handleMoveToRoot();
43
+ });
44
+ };
45
+ exports.onMoveToRoot = onMoveToRoot;
45
46
  const exitSmartAppToCatalog = () => {
46
47
  return smartapp_bridge_1.default === null || smartapp_bridge_1.default === void 0 ? void 0 : smartapp_bridge_1.default.sendClientEvent({
47
48
  method: types_1.METHODS.OPEN_SMART_APP,
48
- params: {
49
- appId: "",
50
- },
49
+ params: { appId: '' },
51
50
  });
52
51
  };
53
52
  exports.exitSmartAppToCatalog = exitSmartAppToCatalog;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JvdXRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBQy9DLHVDQUErQztBQUUvQzs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7SUFDekMsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsZUFBZTtRQUMvQixNQUFNLEVBQUU7WUFDTixRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQVEsQ0FBQyxNQUFNO1NBQ25EO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBbUNDLHdDQUFjO0FBakNoQjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsaUJBQTJCLEVBQUUsRUFBRTtJQUNwRCxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUN0QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZUFBTyxDQUFDLFlBQVk7WUFBRSxpQkFBaUIsRUFBRSxDQUFBO0lBQzlELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMkJDLHNDQUFhO0FBekJmOzs7R0FHRztBQUNILE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBYSxFQUFFLElBQVUsRUFBRSxFQUFFO0lBQ2pELE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLGNBQWM7UUFDOUIsTUFBTSxFQUFFO1lBQ04sS0FBSztZQUNMLElBQUk7U0FDTDtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWNDLG9DQUFZO0FBWmQsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLEVBQUU7SUFDakMsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsY0FBYztRQUM5QixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsRUFBRTtTQUNWO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBTUMsc0RBQXFCIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JvdXRpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUZBQStDO0FBQy9DLHVDQUErQztBQUUvQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO0lBQ3pDLE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLGVBQWUsQ0FBQztRQUM3QixNQUFNLEVBQUUsZUFBTyxDQUFDLGVBQWU7UUFDL0IsTUFBTSxFQUFFO1lBQ04sUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFRLENBQUMsTUFBTTtTQUNuRDtLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQW1DUSx3Q0FBYztBQWpDdkIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxpQkFBMkIsRUFBRSxFQUFFO0lBQ3BELE9BQU8seUJBQU0sYUFBTix5QkFBTSx1QkFBTix5QkFBTSxDQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMvQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZUFBTyxDQUFDLFlBQVk7WUFBRSxpQkFBaUIsRUFBRSxDQUFBO0lBQzlELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBNkJ3QixzQ0FBYTtBQTNCdEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQW9DLEVBQUUsRUFBRTtJQUN6RSxPQUFPLHlCQUFNLGFBQU4seUJBQU0sdUJBQU4seUJBQU0sQ0FBRSxlQUFlLENBQUM7UUFDN0IsTUFBTSxFQUFFLGVBQU8sQ0FBQyxjQUFjO1FBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRTtLQUMzQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFzQnVDLG9DQUFZO0FBcEJwRCxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDekIsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsZUFBZTtRQUMvQixNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQWUwRixzQ0FBYTtBQWJ4RyxNQUFNLFlBQVksR0FBRyxDQUFDLGdCQUEwQixFQUFFLEVBQUU7SUFDbEQsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQy9CLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxlQUFPLENBQUMsWUFBWTtZQUFFLGdCQUFnQixFQUFFLENBQUE7SUFDN0QsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFTNEUsb0NBQVk7QUFQekYsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLEVBQUU7SUFDakMsT0FBTyx5QkFBTSxhQUFOLHlCQUFNLHVCQUFOLHlCQUFNLENBQUUsZUFBZSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxlQUFPLENBQUMsY0FBYztRQUM5QixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO0tBQ3RCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVxRCxzREFBcUIifQ==