@webitel/ui-sdk 26.8.67 → 26.8.69

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 (125) hide show
  1. package/dist/clients-D5pO5FKV.js +39334 -0
  2. package/dist/{components-CXPq3d81.js → components-BH_gLkO3.js} +7 -7
  3. package/dist/{genClient-DMVlC4Uy.js → genClient-DtYJ9KWy.js} +1 -1
  4. package/dist/ui-sdk.js +3 -3
  5. package/dist/ui-sdk.umd.cjs +659 -735
  6. package/dist/{wt-button-l_CCN7zG.js → wt-button-TVtG0saz.js} +1 -1
  7. package/dist/{wt-chat-emoji-BwCLLExE.js → wt-chat-emoji-B-FoXVDr.js} +3 -3
  8. package/dist/{wt-display-chip-items-DgDn6xoK.js → wt-display-chip-items-CZzcHtcb.js} +1 -1
  9. package/dist/{wt-icon-btn-BbPNcD-O.js → wt-icon-btn-B_hS2f_v.js} +1 -1
  10. package/dist/{wt-icon-CjNYdMOP.js → wt-icon-md5nPR1T.js} +2 -2
  11. package/dist/{wt-notifications-bar-BTt1vqwz.js → wt-notifications-bar-k3Osz6gY.js} +1 -1
  12. package/dist/{wt-player-CoB2InY0.js → wt-player-R3rAiIxl.js} +2 -2
  13. package/dist/{wt-send-message-popup-TJdbzgRF.js → wt-send-message-popup-Cc92sY9q.js} +2 -2
  14. package/dist/{wt-toast-DHV4UvFz.js → wt-toast-DsIX8ZW_.js} +1 -1
  15. package/dist/wt-tree-CfvNlw7N.js +2042 -0
  16. package/dist/{wt-tree-table-9vnEJcX0.js → wt-tree-table-R02DpJ7M.js} +1 -1
  17. package/dist/{wt-type-extension-value-input-D5Y-ds9V.js → wt-type-extension-value-input-DfbrgPNa.js} +2 -2
  18. package/dist/{wt-vidstack-player-DKf1aSC7.js → wt-vidstack-player-DtbNeGgs.js} +3 -3
  19. package/package.json +1 -1
  20. package/src/api/clients/index.js +5 -66
  21. package/src/assets/icons/sprite/call--filled.svg +2 -2
  22. package/src/assets/icons/sprite/call-end--filled.svg +2 -3
  23. package/src/modules/AgentStatusSelect/api/agent-status.ts +44 -0
  24. package/src/modules/AgentStatusSelect/api/pause-cause.ts +54 -0
  25. package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +4 -10
  26. package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +2 -6
  27. package/types/.tsbuildinfo +1 -1
  28. package/types/api/clients/index.d.ts +1 -33
  29. package/types/modules/AgentStatusSelect/api/agent-status.d.ts +4 -12
  30. package/types/modules/AgentStatusSelect/api/pause-cause.d.ts +7 -9
  31. package/dist/clients-DpqA006B.js +0 -40042
  32. package/dist/side-channel-M3LABDql.js +0 -833
  33. package/dist/wt-tree-DKSphRxr.js +0 -1216
  34. package/src/api/clients/agents/agentChats.js +0 -79
  35. package/src/api/clients/agents/agents.js +0 -300
  36. package/src/api/clients/buckets/buckets.js +0 -134
  37. package/src/api/clients/calendars/calendars.js +0 -239
  38. package/src/api/clients/caseCloseReasonGroups/caseCloseReasonGroups.js +0 -161
  39. package/src/api/clients/caseCloseReasons/caseCloseReasons.js +0 -165
  40. package/src/api/clients/casePriorities/casePriorities.js +0 -166
  41. package/src/api/clients/caseServiceCatalogs/serviceCatalogs.js +0 -231
  42. package/src/api/clients/caseServices/services.js +0 -221
  43. package/src/api/clients/caseSources/caseSources.ts +0 -2
  44. package/src/api/clients/caseStatusConditions/caseStatusConditions.js +0 -207
  45. package/src/api/clients/caseStatuses/caseStatuses.js +0 -152
  46. package/src/api/clients/catalog/catalog.js +0 -63
  47. package/src/api/clients/chatGateways/chatGateways.js +0 -338
  48. package/src/api/clients/chatGateways/defaults/defaultChatGateway.js +0 -18
  49. package/src/api/clients/chatGateways/defaults/webChatGateway.js +0 -72
  50. package/src/api/clients/chatGateways/enums/WebchatAlternativeChannel.enum.js +0 -14
  51. package/src/api/clients/chatGateways/scripts/generateUri.js +0 -9
  52. package/src/api/clients/communications/communications.js +0 -172
  53. package/src/api/clients/configurations/configurations.js +0 -168
  54. package/src/api/clients/contactGroups/contactGroups.js +0 -221
  55. package/src/api/clients/flows/flow.js +0 -252
  56. package/src/api/clients/gateways/defaults/defaultGateway.js +0 -9
  57. package/src/api/clients/gateways/defaults/registerGateway.js +0 -12
  58. package/src/api/clients/gateways/defaults/trunkingGateway.js +0 -16
  59. package/src/api/clients/gateways/gateways.js +0 -221
  60. package/src/api/clients/labels/labels.js +0 -69
  61. package/src/api/clients/lists/blacklists.js +0 -142
  62. package/src/api/clients/media/media.js +0 -136
  63. package/src/api/clients/object/object.js +0 -138
  64. package/src/api/clients/queues/queues.js +0 -263
  65. package/src/api/clients/quickReplies/quickReplies.ts +0 -2
  66. package/src/api/clients/skills/skills.js +0 -134
  67. package/src/api/clients/slaConditions/slaConditions.js +0 -190
  68. package/src/api/clients/slas/slas.js +0 -148
  69. package/src/api/clients/teams/teams.js +0 -161
  70. package/src/api/clients/users/__tests__/users.spec.js +0 -282
  71. package/src/api/clients/users/users.js +0 -334
  72. package/src/api/clients/wtTypes/_shared/utils/sortDynamicFields.ts +0 -38
  73. package/src/api/clients/wtTypes/sysTypes/sysTypes.ts +0 -92
  74. package/src/api/clients/wtTypes/typeExtensions/typeExtensions.ts +0 -156
  75. package/src/api/clients//321/201ontacts/contactChatMessagesHistory.js +0 -119
  76. package/src/api/clients//321/201ontacts/contacts.js +0 -449
  77. package/src/api/clients//321/201ontacts/enums/ContactsSearchMode.js +0 -9
  78. package/src/api/clients//321/201ontacts/index.js +0 -5
  79. package/src/modules/AgentStatusSelect/api/agent-status.js +0 -30
  80. package/src/modules/AgentStatusSelect/api/pause-cause.js +0 -49
  81. package/types/api/clients/agents/agentChats.d.ts +0 -10
  82. package/types/api/clients/agents/agents.d.ts +0 -55
  83. package/types/api/clients/buckets/buckets.d.ts +0 -30
  84. package/types/api/clients/calendars/calendars.d.ts +0 -35
  85. package/types/api/clients/caseCloseReasonGroups/caseCloseReasonGroups.d.ts +0 -30
  86. package/types/api/clients/caseCloseReasons/caseCloseReasons.d.ts +0 -36
  87. package/types/api/clients/casePriorities/casePriorities.d.ts +0 -30
  88. package/types/api/clients/caseServiceCatalogs/serviceCatalogs.d.ts +0 -30
  89. package/types/api/clients/caseServices/services.d.ts +0 -42
  90. package/types/api/clients/caseSources/caseSources.d.ts +0 -1
  91. package/types/api/clients/caseStatusConditions/caseStatusConditions.d.ts +0 -43
  92. package/types/api/clients/caseStatuses/caseStatuses.d.ts +0 -30
  93. package/types/api/clients/catalog/catalog.d.ts +0 -13
  94. package/types/api/clients/chatGateways/chatGateways.d.ts +0 -35
  95. package/types/api/clients/chatGateways/defaults/defaultChatGateway.d.ts +0 -15
  96. package/types/api/clients/chatGateways/defaults/webChatGateway.d.ts +0 -64
  97. package/types/api/clients/chatGateways/enums/WebchatAlternativeChannel.enum.d.ts +0 -8
  98. package/types/api/clients/chatGateways/scripts/generateUri.d.ts +0 -2
  99. package/types/api/clients/communications/communications.d.ts +0 -35
  100. package/types/api/clients/configurations/configurations.d.ts +0 -35
  101. package/types/api/clients/contactGroups/contactGroups.d.ts +0 -47
  102. package/types/api/clients/flows/flow.d.ts +0 -35
  103. package/types/api/clients/gateways/defaults/defaultGateway.d.ts +0 -8
  104. package/types/api/clients/gateways/defaults/registerGateway.d.ts +0 -13
  105. package/types/api/clients/gateways/defaults/trunkingGateway.d.ts +0 -11
  106. package/types/api/clients/gateways/gateways.d.ts +0 -35
  107. package/types/api/clients/labels/labels.d.ts +0 -13
  108. package/types/api/clients/lists/blacklists.d.ts +0 -30
  109. package/types/api/clients/media/media.d.ts +0 -24
  110. package/types/api/clients/object/object.d.ts +0 -13
  111. package/types/api/clients/queues/queues.d.ts +0 -40
  112. package/types/api/clients/quickReplies/quickReplies.d.ts +0 -1
  113. package/types/api/clients/skills/skills.d.ts +0 -30
  114. package/types/api/clients/slaConditions/slaConditions.d.ts +0 -36
  115. package/types/api/clients/slas/slas.d.ts +0 -30
  116. package/types/api/clients/teams/teams.d.ts +0 -30
  117. package/types/api/clients/users/__tests__/users.spec.d.ts +0 -1
  118. package/types/api/clients/users/users.d.ts +0 -46
  119. package/types/api/clients/wtTypes/_shared/utils/sortDynamicFields.d.ts +0 -2
  120. package/types/api/clients/wtTypes/sysTypes/sysTypes.d.ts +0 -29
  121. package/types/api/clients/wtTypes/typeExtensions/typeExtensions.d.ts +0 -33
  122. package/types/api/clients//321/201ontacts/contactChatMessagesHistory.d.ts +0 -16
  123. package/types/api/clients//321/201ontacts/contacts.d.ts +0 -29
  124. package/types/api/clients//321/201ontacts/enums/ContactsSearchMode.d.ts +0 -8
  125. package/types/api/clients//321/201ontacts/index.d.ts +0 -4
@@ -1,152 +0,0 @@
1
- import { StatusesApiFactory } from 'webitel-sdk';
2
-
3
- import {
4
- getDefaultGetListResponse,
5
- getDefaultGetParams,
6
- getDefaultInstance,
7
- getDefaultOpenAPIConfig,
8
- } from '../../defaults/index.js';
9
- import applyTransform, {
10
- camelToSnake,
11
- merge,
12
- notify,
13
- sanitize,
14
- snakeToCamel,
15
- } from '../../transformers/index.js';
16
-
17
- const instance = getDefaultInstance();
18
- const configuration = getDefaultOpenAPIConfig();
19
-
20
- const statusesService = new StatusesApiFactory(configuration, '', instance);
21
-
22
- const fieldsToSend = [
23
- 'name',
24
- 'description',
25
- ];
26
-
27
- const getStatusesList = async (params) => {
28
- const fieldsToSend = [
29
- 'page',
30
- 'size',
31
- 'q',
32
- 'sort',
33
- 'fields',
34
- 'id',
35
- ];
36
-
37
- const { page, size, fields, sort, id, q } = applyTransform(params, [
38
- merge(getDefaultGetParams()),
39
- (params) => ({
40
- ...params,
41
- q: params.search,
42
- }),
43
- sanitize(fieldsToSend),
44
- camelToSnake(),
45
- ]);
46
- try {
47
- const response = await statusesService.listStatuses(
48
- page,
49
- size,
50
- fields,
51
- sort,
52
- id,
53
- q,
54
- );
55
- const { items, next } = applyTransform(response.data, [
56
- merge(getDefaultGetListResponse()),
57
- ]);
58
- return {
59
- items: applyTransform(items, []),
60
- next,
61
- };
62
- } catch (err) {
63
- throw applyTransform(err, [
64
- notify,
65
- ]);
66
- }
67
- };
68
-
69
- const getStatus = async ({ itemId: id }) => {
70
- const itemResponseHandler = (item) => {
71
- return item.status;
72
- };
73
-
74
- try {
75
- const response = await statusesService.locateStatus(id, fieldsToSend);
76
- return applyTransform(response.data, [
77
- snakeToCamel(),
78
- itemResponseHandler,
79
- ]);
80
- } catch (err) {
81
- throw applyTransform(err, [
82
- notify,
83
- ]);
84
- }
85
- };
86
-
87
- const addStatus = async ({ itemInstance }) => {
88
- const item = applyTransform(itemInstance, [
89
- camelToSnake(),
90
- sanitize(fieldsToSend),
91
- ]);
92
-
93
- try {
94
- const response = await statusesService.createStatus(item);
95
- return applyTransform(response.data, [
96
- snakeToCamel(),
97
- ]);
98
- } catch (err) {
99
- throw applyTransform(err, [
100
- notify,
101
- ]);
102
- }
103
- };
104
-
105
- const updateStatus = async ({ itemInstance, itemId: id }) => {
106
- const item = applyTransform(itemInstance, [
107
- camelToSnake(),
108
- sanitize(fieldsToSend),
109
- ]);
110
-
111
- try {
112
- const response = await statusesService.updateStatus(id, item);
113
- return applyTransform(response.data, [
114
- snakeToCamel(),
115
- ]);
116
- } catch (err) {
117
- throw applyTransform(err, [
118
- notify,
119
- ]);
120
- }
121
- };
122
-
123
- const deleteStatus = async ({ id }) => {
124
- try {
125
- const response = await statusesService.deleteStatus(id);
126
- return applyTransform(response.data, []);
127
- } catch (err) {
128
- throw applyTransform(err, [
129
- notify,
130
- ]);
131
- }
132
- };
133
-
134
- const getStatusesLookup = async (params) =>
135
- getStatusesList({
136
- ...params,
137
- fields: params.fields || [
138
- 'id',
139
- 'name',
140
- ],
141
- });
142
-
143
- const CaseStatusesApi = {
144
- getList: getStatusesList,
145
- get: getStatus,
146
- update: updateStatus,
147
- getLookup: getStatusesLookup,
148
- delete: deleteStatus,
149
- add: addStatus,
150
- };
151
-
152
- export default CaseStatusesApi;
@@ -1,63 +0,0 @@
1
- import { CatalogApiFactory } from 'webitel-sdk';
2
-
3
- import {
4
- getDefaultInstance,
5
- getDefaultOpenAPIConfig,
6
- } from '../../defaults/index.js';
7
- import applyTransform, {
8
- notify,
9
- snakeToCamel,
10
- } from '../../transformers/index.js';
11
-
12
- const instance = getDefaultInstance();
13
- const configuration = getDefaultOpenAPIConfig();
14
-
15
- const catalogService = new CatalogApiFactory(configuration, '', instance);
16
-
17
- const getChatMessagesList = async ({ chatId, offsetDate, limit }) => {
18
- const mergeMessagesData = ({ messages, peers }) => {
19
- if (!messages) return [];
20
- return messages.map(({ from, ...message }) => {
21
- return {
22
- ...message,
23
- peer: peers[from.id - 1],
24
- };
25
- });
26
- };
27
-
28
- try {
29
- const response = await catalogService.getHistory(
30
- chatId,
31
- undefined,
32
- offsetDate,
33
- limit,
34
- );
35
- const { messages, peers, next } = applyTransform(response.data, [
36
- snakeToCamel(),
37
- ]);
38
- return {
39
- items: applyTransform(
40
- {
41
- messages,
42
- peers,
43
- next,
44
- },
45
- [
46
- mergeMessagesData,
47
- ],
48
- ),
49
- peers,
50
- next,
51
- };
52
- } catch (err) {
53
- throw applyTransform(err, [
54
- notify,
55
- ]);
56
- }
57
- };
58
-
59
- const CatalogAPI = {
60
- getChatMessagesList,
61
- };
62
-
63
- export default CatalogAPI;
@@ -1,338 +0,0 @@
1
- import deepCopy from 'deep-copy';
2
- import deepmerge from 'deepmerge';
3
-
4
- import ChatGatewayProvider from '../../../enums/ChatGatewayProvider/ChatGatewayProvider.enum.js';
5
- import {
6
- getDefaultGetListResponse,
7
- getDefaultGetParams,
8
- getDefaultInstance,
9
- } from '../../defaults/index.js';
10
- import applyTransform, {
11
- camelToSnake,
12
- generateUrl,
13
- merge,
14
- mergeEach,
15
- notify,
16
- sanitize,
17
- snakeToCamel,
18
- starToSearch,
19
- } from '../../transformers/index.js';
20
- import webChatGateway from './defaults/webChatGateway.js';
21
-
22
- const instance = getDefaultInstance();
23
-
24
- const baseUrl = '/chat/bots';
25
- const fieldsToSend = [
26
- 'name',
27
- 'uri',
28
- 'flow',
29
- 'enabled',
30
- 'provider',
31
- 'metadata',
32
- 'updates',
33
- ];
34
-
35
- const convertWebchatSeconds = (num) => `${num}s`;
36
-
37
- const parseTimeoutSeconds = (item) =>
38
- item.includes('s') ? Number.parseInt(item.replace('/s', '/'), 10) : +item;
39
-
40
- const webchatRequestConverter = (data) => {
41
- const copy = deepCopy(data);
42
- if (data.metadata.readTimeout) {
43
- copy.metadata.readTimeout = convertWebchatSeconds(
44
- data.metadata.readTimeout,
45
- );
46
- }
47
- if (data.metadata.writeTimeout) {
48
- copy.metadata.writeTimeout = convertWebchatSeconds(
49
- data.metadata.writeTimeout,
50
- );
51
- }
52
- if (data.metadata.handshakeTimeout) {
53
- copy.metadata.handshakeTimeout = convertWebchatSeconds(
54
- data.metadata.handshakeTimeout,
55
- );
56
- }
57
- if (data.metadata.allowOrigin) {
58
- copy.metadata.allowOrigin = data.metadata.allowOrigin.join();
59
- }
60
-
61
- copy.metadata.view = JSON.stringify(data.metadata.view);
62
- copy.metadata.chat = JSON.stringify(data.metadata.chat);
63
- copy.metadata.appointment = JSON.stringify(data.metadata.appointment);
64
- copy.metadata.alternativeChannels = JSON.stringify(
65
- data.metadata.alternativeChannels,
66
- );
67
- copy.metadata.call = JSON.stringify(data.metadata.call);
68
-
69
- if (copy.metadata.captcha.enabled) {
70
- copy.metadata.captcha = JSON.stringify(data.metadata.captcha);
71
- } else {
72
- delete copy.metadata.captcha;
73
- }
74
- copy.metadata._btnCodeDirty = data.metadata._btnCodeDirty.toString();
75
- return copy;
76
- };
77
-
78
- const messengerRequestConverter = (data) => {
79
- const copy = deepCopy(data);
80
- copy.metadata.instagramComments = data.metadata.instagramComments.toString();
81
- copy.metadata.instagramMentions = data.metadata.instagramMentions.toString();
82
- return copy;
83
- };
84
-
85
- const viberRequestConverter = (item) => {
86
- const copy = deepCopy(item);
87
- copy.metadata['btn.back.color'] = item.metadata.btnBackColor;
88
- delete copy.metadata.btnBackColor;
89
- copy.metadata['btn.font.color'] = item.metadata.btnFontColor;
90
- delete copy.metadata.btnFontColor;
91
- return copy;
92
- };
93
-
94
- const webChatResponseConverter = (data) => {
95
- const copy = deepCopy(data);
96
- copy.metadata.allowOrigin = data.metadata.allowOrigin
97
- ? data.metadata.allowOrigin.split(',')
98
- : [];
99
- if (data.metadata.readTimeout) {
100
- copy.metadata.readTimeout = parseTimeoutSeconds(data.metadata.readTimeout);
101
- }
102
- if (data.metadata.writeTimeout) {
103
- copy.metadata.writeTimeout = parseTimeoutSeconds(
104
- data.metadata.writeTimeout,
105
- );
106
- }
107
- if (data.metadata.handshakeTimeout) {
108
- copy.metadata.handshakeTimeout = parseTimeoutSeconds(
109
- data.metadata.handshakeTimeout,
110
- );
111
- }
112
- if (data.metadata.view) {
113
- copy.metadata.view = JSON.parse(data.metadata.view);
114
- }
115
- if (data.metadata.chat) {
116
- copy.metadata.chat = JSON.parse(data.metadata.chat);
117
- }
118
- if (data.metadata.appointment) {
119
- copy.metadata.appointment = JSON.parse(data.metadata.appointment);
120
- }
121
- if (data.metadata.alternativeChannels) {
122
- copy.metadata.alternativeChannels = JSON.parse(
123
- data.metadata.alternativeChannels,
124
- );
125
- }
126
- if (data.metadata.call) {
127
- copy.metadata.call = JSON.parse(data.metadata.call);
128
- }
129
- if (data.metadata.captcha) {
130
- copy.metadata.captcha = JSON.parse(data.metadata.captcha);
131
- }
132
- copy.metadata._btnCodeDirty = data.metadata._btnCodeDirty === 'true';
133
-
134
- return deepmerge(webChatGateway(), copy);
135
- };
136
-
137
- const messengerResponseConverter = (item) => {
138
- const copy = deepCopy(item);
139
- copy.metadata.instagramComments = item.metadata.instagramComments === 'true';
140
- copy.metadata.instagramMentions = item.metadata.instagramMentions === 'true';
141
- return copy;
142
- };
143
-
144
- const viberResponseConverter = (item) => {
145
- const copy = deepCopy(item);
146
- if (item.metadata['btn.back.color'])
147
- copy.metadata.btnBackColor = item.metadata['btn.back.color'];
148
- if (item.metadata['btn.font.color'])
149
- copy.metadata.btnFontColor = item.metadata['btn.font.color'];
150
- return copy;
151
- };
152
-
153
- const preRequestHandler = (item) => {
154
- switch (item.provider) {
155
- case ChatGatewayProvider.WEBCHAT:
156
- return webchatRequestConverter(item);
157
- case ChatGatewayProvider.MESSENGER:
158
- return messengerRequestConverter(item);
159
- case ChatGatewayProvider.VIBER:
160
- return viberRequestConverter(item);
161
- default:
162
- return item;
163
- }
164
- };
165
-
166
- const getChatGatewayList = async (params) => {
167
- const fieldsToSend = [
168
- 'page',
169
- 'size',
170
- 'q',
171
- 'sort',
172
- 'fields',
173
- 'id',
174
- ];
175
-
176
- const defaultObject = {
177
- // default object prototype, to merge response with it to get all fields
178
- enabled: false,
179
- name: '',
180
- uri: '',
181
- flow: {},
182
- provider: '',
183
- metadata: {},
184
- updates: {
185
- title: '',
186
- close: '',
187
- join: '',
188
- left: '',
189
- },
190
- };
191
-
192
- const url = applyTransform(params, [
193
- merge(getDefaultGetParams()),
194
- starToSearch('search'),
195
- (params) => ({
196
- ...params,
197
- q: params.search,
198
- }),
199
- sanitize(fieldsToSend),
200
- camelToSnake(),
201
- generateUrl(baseUrl),
202
- ]);
203
- try {
204
- const response = await instance.get(url);
205
- const { items, next } = applyTransform(response.data, [
206
- snakeToCamel(),
207
- merge(getDefaultGetListResponse()),
208
- ]);
209
- return {
210
- items: applyTransform(items, [
211
- mergeEach(defaultObject),
212
- ]),
213
- next,
214
- };
215
- } catch (err) {
216
- throw applyTransform(err, [
217
- notify,
218
- ]);
219
- }
220
- };
221
-
222
- const getChatGateway = async ({ itemId: id }) => {
223
- const itemResponseHandler = (response) => {
224
- switch (response.provider) {
225
- case ChatGatewayProvider.WEBCHAT:
226
- return webChatResponseConverter(response);
227
- case ChatGatewayProvider.MESSENGER:
228
- return messengerResponseConverter(response);
229
- case ChatGatewayProvider.VIBER:
230
- return viberResponseConverter(response);
231
- default:
232
- return response;
233
- }
234
- };
235
-
236
- const url = `${baseUrl}/${id}`;
237
-
238
- try {
239
- const response = await instance.get(url);
240
- return applyTransform(response.data, [
241
- snakeToCamel(),
242
- itemResponseHandler,
243
- ]);
244
- } catch (err) {
245
- throw applyTransform(err, [
246
- notify,
247
- ]);
248
- }
249
- };
250
-
251
- const addChatGateway = async ({ itemInstance }) => {
252
- const item = applyTransform(itemInstance, [
253
- preRequestHandler,
254
- sanitize(fieldsToSend),
255
- camelToSnake(),
256
- ]);
257
- try {
258
- const response = await instance.post(baseUrl, item);
259
- return applyTransform(response.data, [
260
- snakeToCamel(),
261
- ]);
262
- } catch (err) {
263
- throw applyTransform(err, [
264
- notify,
265
- ]);
266
- }
267
- };
268
-
269
- const updateChatGateway = async ({ itemInstance, itemId: id }) => {
270
- const item = applyTransform(itemInstance, [
271
- preRequestHandler,
272
- sanitize(fieldsToSend),
273
- camelToSnake(),
274
- ]);
275
-
276
- const url = `${baseUrl}/${id}`;
277
- try {
278
- const response = await instance.put(url, item);
279
- return applyTransform(response.data, [
280
- snakeToCamel(),
281
- ]);
282
- } catch (err) {
283
- throw applyTransform(err, [
284
- notify,
285
- ]);
286
- }
287
- };
288
-
289
- const patchChatGateway = async ({ changes, id }) => {
290
- const body = applyTransform(changes, [
291
- sanitize(fieldsToSend),
292
- camelToSnake(),
293
- ]);
294
- const url = `${baseUrl}/${id}`;
295
- try {
296
- const response = await instance.patch(url, body);
297
- return applyTransform(response.data, [
298
- snakeToCamel(),
299
- ]);
300
- } catch (err) {
301
- throw applyTransform(err, [
302
- notify,
303
- ]);
304
- }
305
- };
306
-
307
- const deleteChatGateway = async ({ id }) => {
308
- const url = `${baseUrl}/${id}`;
309
- try {
310
- const response = await instance.delete(url);
311
- return applyTransform(response.data, []);
312
- } catch (err) {
313
- throw applyTransform(err, [
314
- notify,
315
- ]);
316
- }
317
- };
318
-
319
- const getLookup = (params) =>
320
- getChatGatewayList({
321
- ...params,
322
- fields: params.fields || [
323
- 'id',
324
- 'name',
325
- ],
326
- });
327
-
328
- const ChatGatewaysAPI = {
329
- getList: getChatGatewayList,
330
- get: getChatGateway,
331
- add: addChatGateway,
332
- patch: patchChatGateway,
333
- update: updateChatGateway,
334
- delete: deleteChatGateway,
335
- getLookup,
336
- };
337
-
338
- export default ChatGatewaysAPI;
@@ -1,18 +0,0 @@
1
- import generateUri from '../scripts/generateUri.js';
2
-
3
- const defaultChatGateway = () => ({
4
- name: '',
5
- uri: generateUri(),
6
- flow: {},
7
- enabled: false,
8
- provider: '',
9
- metadata: {},
10
- updates: {
11
- title: '',
12
- close: '',
13
- join: '',
14
- left: '',
15
- },
16
- });
17
-
18
- export default defaultChatGateway;
@@ -1,72 +0,0 @@
1
- import ChatGatewayProvider from '../../../../enums/ChatGatewayProvider/ChatGatewayProvider.enum.js';
2
- import defaultChatGateway from '../defaults/defaultChatGateway.js';
3
- import WebchatAlternativeChannel from '../enums/WebchatAlternativeChannel.enum.js';
4
-
5
- const webChatGateway = (_btnCodeDirty = false) => ({
6
- ...defaultChatGateway(),
7
- provider: ChatGatewayProvider.WEBCHAT,
8
- metadata: {
9
- // start: these fields related to chat functionality but should be in metadata for backend
10
- allowOrigin: [],
11
- readTimeout: '30',
12
- writeTimeout: '1',
13
- handshakeTimeout: '10',
14
- mediaMaxSize: `${10 * 1024 * 1024}`, // 10mb
15
- // end
16
-
17
- _btnCodeDirty, // inner flag, if true, btn "copy code" is highlighted
18
- view: {
19
- borderRadiusStyle: '',
20
- lang: 'en',
21
- btnOpacity: '',
22
- logoUrl: '',
23
- accentColor: '',
24
- position: '',
25
- },
26
- captcha: {
27
- enabled: false,
28
- sitekey: '',
29
- secret: '',
30
- threshold: 0.5,
31
- showFlag: false,
32
- },
33
- chat: {
34
- enabled: true,
35
- timeoutIsActive: false,
36
- openTimeout: '',
37
- url: '',
38
- },
39
- appointment: {
40
- enabled: false,
41
- url: '',
42
- queue: {},
43
- communicationType: {},
44
- duration: '30m',
45
- days: 3,
46
- availableAgents: 1,
47
- successTitle: '',
48
- successSubtitle: '',
49
- showDefaultHeading: true,
50
- showEmailField: false,
51
- showMessageField: false,
52
- },
53
- call: {
54
- enabled: false,
55
- url: '',
56
- flow: {},
57
- id: '',
58
- },
59
- alternativeChannels: Object.values(WebchatAlternativeChannel).reduce(
60
- (channels, channel) => {
61
- channels[channel] = {
62
- url: '',
63
- enabled: false,
64
- };
65
- return channels;
66
- },
67
- {},
68
- ),
69
- },
70
- });
71
-
72
- export default webChatGateway;
@@ -1,14 +0,0 @@
1
- /* Difference between MessangerType enum and WebchatAlternativeChannel:
2
- * MessangerType - backend fields naming, provider
3
- * WebchatAlternativeChannel - front-end only "simple" channel naming
4
- * */
5
-
6
- const WebchatAlternativeChannel = Object.freeze({
7
- VIBER: 'viber',
8
- WHATSAPP: 'whatsapp',
9
- TELEGRAM: 'telegram',
10
- MESSENGER: 'messenger',
11
- EMAIL: 'email',
12
- });
13
-
14
- export default WebchatAlternativeChannel;
@@ -1,9 +0,0 @@
1
- export default () => {
2
- const length = 31;
3
- const charset = 'abcdefghijklmnopqrstuvwxyz';
4
- let value = '/';
5
- for (let i = 0; i < length; i += 1) {
6
- value += charset.charAt(Math.floor(Math.random() * charset.length));
7
- }
8
- return value;
9
- };