@webitel/api-services 0.0.24 → 0.0.27

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 (418) hide show
  1. package/package.json +15 -10
  2. package/src/api/axios/generateInstance.ts +35 -0
  3. package/src/api/axios/index.ts +2 -0
  4. package/src/api/clients/_shared/generatePermissionsApi.ts +97 -0
  5. package/src/api/clients/agents/agentChats.ts +71 -0
  6. package/src/api/clients/agents/agents.ts +263 -0
  7. package/src/api/clients/buckets/buckets.ts +110 -0
  8. package/src/api/clients/calendars/calendars.ts +208 -0
  9. package/src/api/clients/caseCloseReasonGroups/caseCloseReasonGroups.ts +126 -0
  10. package/src/api/clients/caseCloseReasons/caseCloseReasons.ts +122 -0
  11. package/src/api/clients/casePriorities/casePriorities.ts +137 -0
  12. package/src/api/clients/caseServiceCatalogs/serviceCatalogs.ts +196 -0
  13. package/src/api/clients/caseServices/services.ts +179 -0
  14. package/src/api/clients/caseSources/caseSources.ts +116 -0
  15. package/src/api/clients/caseStatusConditions/caseStatusConditions.ts +163 -0
  16. package/src/api/clients/caseStatuses/caseStatuses.ts +117 -0
  17. package/src/api/clients/catalog/catalog.ts +39 -0
  18. package/src/api/clients/chatGateways/chatGateways.ts +303 -0
  19. package/src/api/clients/chatGateways/defaults/defaultChatGateway.ts +20 -0
  20. package/src/api/clients/chatGateways/defaults/webChatGateway.ts +75 -0
  21. package/src/api/clients/chatGateways/enums/WebchatAlternativeChannel.enum.ts +12 -0
  22. package/src/api/clients/chatGateways/scripts/generateUri.ts +13 -0
  23. package/src/api/clients/communications/communications.ts +139 -0
  24. package/src/api/clients/configurations/configurations.ts +142 -0
  25. package/src/api/clients/contactGroups/contactGroups.ts +184 -0
  26. package/src/api/clients/flows/flow.ts +219 -0
  27. package/src/api/clients/gateways/defaults/defaultGateway.ts +9 -0
  28. package/src/api/clients/gateways/defaults/registerGateway.ts +12 -0
  29. package/src/api/clients/gateways/defaults/trunkingGateway.ts +16 -0
  30. package/src/api/clients/gateways/gateways.ts +173 -0
  31. package/src/api/clients/index.ts +68 -0
  32. package/src/api/clients/labels/labels.ts +53 -0
  33. package/src/api/clients/lists/blacklists.ts +116 -0
  34. package/src/api/clients/media/media.ts +114 -0
  35. package/src/api/clients/object/object.ts +112 -0
  36. package/src/api/clients/queues/defaults/processing.ts +14 -0
  37. package/src/api/clients/queues/queues.ts +232 -0
  38. package/src/api/clients/quickReplies/quickReplies.ts +108 -0
  39. package/src/api/clients/roles/roles.ts +200 -0
  40. package/src/api/clients/skills/skills.ts +110 -0
  41. package/src/api/clients/slaConditions/slaConditions.ts +163 -0
  42. package/src/api/clients/slas/slas.ts +116 -0
  43. package/src/api/clients/teams/teams.ts +142 -0
  44. package/src/api/clients/users/__tests__/users.spec.ts +265 -0
  45. package/src/api/clients/users/users.ts +228 -0
  46. package/src/api/clients/wtTypes/_shared/utils/sortDynamicFields.ts +21 -0
  47. package/src/api/clients/wtTypes/sysTypes/sysTypes.ts +60 -0
  48. package/src/api/clients/wtTypes/typeExtensions/typeExtensions.ts +114 -0
  49. package/src/api/clients//321/201ontacts/contactChatMessagesHistory.ts +98 -0
  50. package/src/api/clients//321/201ontacts/contacts.ts +337 -0
  51. package/src/api/clients//321/201ontacts/enums/ContactsSearchMode.ts +9 -0
  52. package/src/api/clients//321/201ontacts/index.ts +5 -0
  53. package/src/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.ts +8 -0
  54. package/src/api/defaults/getDefaultGetParams/getDefaultGetParams.ts +11 -0
  55. package/src/api/defaults/getDefaultInstance/getDefaultInstance.ts +21 -0
  56. package/src/api/defaults/getDefaultOpenAPIConfig/getDefaultOpenAPIConfig.ts +12 -0
  57. package/src/api/defaults/index.ts +11 -0
  58. package/src/api/index.ts +6 -0
  59. package/src/api/interceptors/index.ts +3 -0
  60. package/src/api/interceptors/request/index.ts +2 -0
  61. package/src/api/interceptors/request/updateToken.interceptor.ts +11 -0
  62. package/src/api/interceptors/response/handleUnauthorized.interceptor.ts +14 -0
  63. package/src/api/interceptors/response/index.ts +2 -0
  64. package/src/api/transformers/addQueryParamsToUrl/addQueryParamsToUrl.transformer.ts +19 -0
  65. package/src/api/transformers/applyTransform.ts +24 -0
  66. package/src/api/transformers/camelToSnake/camelToSnake.transformer.ts +5 -0
  67. package/src/api/transformers/generateUrl/generateUrl.transformer.ts +13 -0
  68. package/src/api/transformers/index.ts +27 -0
  69. package/src/api/transformers/log/log.transformer.ts +6 -0
  70. package/src/api/transformers/merge/merge.transformer.ts +8 -0
  71. package/src/api/transformers/mergeEach/mergeEach.transformer.ts +8 -0
  72. package/src/api/transformers/notify/notify.transformer.ts +39 -0
  73. package/src/api/transformers/sanitize/sanitize.transformer.ts +12 -0
  74. package/src/api/transformers/skipIf/skipIf.ts +11 -0
  75. package/src/api/transformers/snakeToCamel/snakeToCamel.transformer.ts +5 -0
  76. package/src/api/transformers/starToSearch/starToSearch.transformer.ts +15 -0
  77. package/src/gen/_docs/html/assets/navigation.js +1 -1
  78. package/src/gen/_docs/html/assets/search.js +1 -1
  79. package/src/gen/_docs/html/interfaces/_models_webitelCasesInputSource.WebitelCasesInputSource.html +0 -1
  80. package/src/gen/_docs/html/interfaces/_models_webitelCasesSource.WebitelCasesSource.html +5 -6
  81. package/src/gen/_docs/html/modules/index.html +1 -1
  82. package/src/gen/_docs/html/modules/sources_sources.zod.gen.html +7 -7
  83. package/src/gen/_docs/html/types/_models_createCaseParams.CreateCaseParams.html +9 -3
  84. package/src/gen/_docs/html/types/_models_updateCase2Params.UpdateCase2Params.html +8 -3
  85. package/src/gen/_docs/html/types/_models_updateCaseParams.UpdateCaseParams.html +8 -3
  86. package/src/gen/_docs/html/variables/cases_cases.zod.gen.createCaseQueryParams.html +1 -1
  87. package/src/gen/_docs/html/variables/cases_cases.zod.gen.updateCase2QueryParams.html +1 -1
  88. package/src/gen/_docs/html/variables/cases_cases.zod.gen.updateCaseQueryParams.html +1 -1
  89. package/src/gen/_models/agentAbsenceServiceUpdateAgentAbsenceBodyItem.ts +2 -1
  90. package/src/gen/_models/agentWorkingScheduleServiceCreateAgentsWorkingScheduleShiftsBody.ts +3 -2
  91. package/src/gen/_models/apiAccessStoreToggleDefaultAccessBody.ts +2 -1
  92. package/src/gen/_models/apiCustomer.ts +3 -2
  93. package/src/gen/_models/apiDevice.ts +2 -1
  94. package/src/gen/_models/apiLDAPCatalog.ts +5 -4
  95. package/src/gen/_models/apiLDAPUpdateLDAPCatalogBodyCatalog.ts +5 -4
  96. package/src/gen/_models/apiLDAProcess.ts +3 -2
  97. package/src/gen/_models/apiLicenseV1.ts +2 -1
  98. package/src/gen/_models/apiRole.ts +4 -3
  99. package/src/gen/_models/apiRolesUpdateRoleBodyRole.ts +4 -3
  100. package/src/gen/_models/apiUser.ts +2 -1
  101. package/src/gen/_models/apiUsersUpdateUserBodyUser.ts +2 -1
  102. package/src/gen/_models/contactsUpdateContactBody.ts +2 -1
  103. package/src/gen/_models/createCaseParams.ts +8 -0
  104. package/src/gen/_models/engineActiveCall.ts +3 -2
  105. package/src/gen/_models/engineAgent.ts +2 -1
  106. package/src/gen/_models/engineAgentInQueueStatistics.ts +2 -1
  107. package/src/gen/_models/engineAggregateHistoryCallRequest.ts +2 -1
  108. package/src/gen/_models/engineAttempt.ts +2 -1
  109. package/src/gen/_models/engineAttemptHistory.ts +2 -1
  110. package/src/gen/_models/engineAuditFormServicePatchAuditFormBody.ts +2 -1
  111. package/src/gen/_models/engineAuditFormServiceUpdateAuditFormBody.ts +2 -1
  112. package/src/gen/_models/engineAuditRate.ts +3 -2
  113. package/src/gen/_models/engineCreateAuditFormRequest.ts +2 -1
  114. package/src/gen/_models/engineCreateCallRequest.ts +2 -1
  115. package/src/gen/_models/engineCreateMemberBulkItem.ts +2 -1
  116. package/src/gen/_models/engineCreateOutboundResourceRequest.ts +3 -2
  117. package/src/gen/_models/engineCreateQueueRequest.ts +3 -2
  118. package/src/gen/_models/engineCreateRoutingSchemaRequest.ts +2 -1
  119. package/src/gen/_models/engineCreateTriggerRequest.ts +3 -2
  120. package/src/gen/_models/engineDeleteAllMembersRequest.ts +2 -1
  121. package/src/gen/_models/engineHistoryCall.ts +7 -6
  122. package/src/gen/_models/engineListReportGeneral.ts +2 -1
  123. package/src/gen/_models/engineOutboundResource.ts +2 -1
  124. package/src/gen/_models/engineOutboundResourceServicePatchOutboundResourceBody.ts +2 -1
  125. package/src/gen/_models/engineOutboundResourceServiceUpdateOutboundResourceBody.ts +2 -1
  126. package/src/gen/_models/engineQuestion.ts +2 -1
  127. package/src/gen/_models/engineQueue.ts +3 -2
  128. package/src/gen/_models/engineQueueReportGeneral.ts +2 -1
  129. package/src/gen/_models/engineQueueServicePatchQueueBody.ts +3 -2
  130. package/src/gen/_models/engineQueueServiceUpdateQueueBody.ts +3 -2
  131. package/src/gen/_models/engineRoutingSchema.ts +3 -2
  132. package/src/gen/_models/engineRoutingSchemaServicePatchRoutingSchemaBody.ts +2 -1
  133. package/src/gen/_models/engineRoutingSchemaServiceUpdateRoutingSchemaBody.ts +2 -1
  134. package/src/gen/_models/engineTeamHook.ts +2 -1
  135. package/src/gen/_models/engineTeamHookServiceCreateTeamHookBody.ts +2 -1
  136. package/src/gen/_models/engineTeamHookServicePatchTeamHookBody.ts +2 -1
  137. package/src/gen/_models/engineTeamHookServiceUpdateTeamHookBody.ts +2 -1
  138. package/src/gen/_models/engineTrigger.ts +2 -1
  139. package/src/gen/_models/engineTriggerJob.ts +2 -1
  140. package/src/gen/_models/engineTriggerServicePatchTriggerBody.ts +2 -1
  141. package/src/gen/_models/engineTriggerServiceUpdateTriggerBody.ts +2 -1
  142. package/src/gen/_models/index.ts +26 -26
  143. package/src/gen/_models/pauseTemplateServiceUpdatePauseTemplateBodyItem.ts +2 -1
  144. package/src/gen/_models/storageCreateImportTemplateRequest.ts +2 -1
  145. package/src/gen/_models/storageFile.ts +3 -2
  146. package/src/gen/_models/storageFilePolicy.ts +2 -1
  147. package/src/gen/_models/storageImportTemplate.ts +3 -2
  148. package/src/gen/_models/storageSafeUploadFileResponseMetadata.ts +2 -1
  149. package/src/gen/_models/storageUpdateCognitiveProfileRequest.ts +3 -2
  150. package/src/gen/_models/storageUpdateImportTemplateRequest.ts +2 -1
  151. package/src/gen/_models/storageUploadFileResponse.ts +2 -1
  152. package/src/gen/_models/storageUploadFileUrlResponse.ts +2 -1
  153. package/src/gen/_models/updateCase2Params.ts +8 -0
  154. package/src/gen/_models/updateCaseParams.ts +8 -0
  155. package/src/gen/_models/updateRelatedCase2Body.ts +2 -1
  156. package/src/gen/_models/updateRelatedCaseBody.ts +2 -1
  157. package/src/gen/_models/updateRelatedCaseInputBody.ts +2 -1
  158. package/src/gen/_models/usersUpdateUser2Body.ts +2 -1
  159. package/src/gen/_models/usersUpdateUserBody.ts +2 -1
  160. package/src/gen/_models/usersUpdateUserUserBody.ts +2 -1
  161. package/src/gen/_models/webitelCasesCallEvent.ts +2 -1
  162. package/src/gen/_models/webitelCasesCase.ts +2 -1
  163. package/src/gen/_models/webitelCasesChatEvent.ts +2 -1
  164. package/src/gen/_models/webitelCasesEmailEvent.ts +2 -1
  165. package/src/gen/_models/webitelCasesInputCreateService.ts +2 -1
  166. package/src/gen/_models/webitelCasesInputService.ts +2 -1
  167. package/src/gen/_models/webitelCasesInputSource.ts +0 -1
  168. package/src/gen/_models/webitelCasesService.ts +2 -1
  169. package/src/gen/_models/webitelCasesSource.ts +5 -6
  170. package/src/gen/_models/webitelChatAgentChat.ts +2 -1
  171. package/src/gen/_models/webitelChatBroadcastMessageRequest.ts +2 -1
  172. package/src/gen/_models/webitelChatChatMessage.ts +3 -2
  173. package/src/gen/_models/webitelChatContactChat.ts +2 -1
  174. package/src/gen/_models/webitelChatDialog.ts +2 -1
  175. package/src/gen/_models/webitelChatGetContactChatHistoryResponse.ts +3 -2
  176. package/src/gen/_models/webitelContactsComment.ts +2 -1
  177. package/src/gen/_models/webitelProtoDataStruct.ts +2 -1
  178. package/src/gen/_models/wfmAbsence.ts +2 -1
  179. package/src/gen/_models/wfmAgentScheduleShift.ts +3 -2
  180. package/src/gen/_models/wfmAgentWorkingSchedule.ts +2 -1
  181. package/src/gen/_models/wfmPauseTemplate.ts +2 -1
  182. package/src/gen/_models/wfmSearchAgentsWorkingScheduleResponse.ts +2 -1
  183. package/src/gen/access-store/access-store.msw.api.gen.ts +1 -1
  184. package/src/gen/access-store/access-store.zod.gen.ts +2 -2
  185. package/src/gen/agent-absence-service/agent-absence-service.msw.api.gen.ts +2 -3
  186. package/src/gen/agent-chat-service/agent-chat-service.msw.api.gen.ts +2 -3
  187. package/src/gen/agent-pause-cause-service/agent-pause-cause-service.msw.api.gen.ts +1 -1
  188. package/src/gen/agent-service/agent-service.msw.api.gen.ts +1 -1
  189. package/src/gen/agent-skill-service/agent-skill-service.msw.api.gen.ts +1 -1
  190. package/src/gen/agent-team-service/agent-team-service.msw.api.gen.ts +1 -1
  191. package/src/gen/agent-working-conditions-service/agent-working-conditions-service.msw.api.gen.ts +1 -1
  192. package/src/gen/agent-working-schedule-service/agent-working-schedule-service.msw.api.gen.ts +2 -3
  193. package/src/gen/articles/articles.api.gen.ts +1 -1
  194. package/src/gen/articles/articles.msw.api.gen.ts +1 -1
  195. package/src/gen/audit-form-service/audit-form-service.msw.api.gen.ts +2 -3
  196. package/src/gen/auth/auth.msw.api.gen.ts +1 -1
  197. package/src/gen/auth/auth.zod.gen.ts +1 -1
  198. package/src/gen/backend-profile-service/backend-profile-service.msw.api.gen.ts +1 -1
  199. package/src/gen/bucket-service/bucket-service.msw.api.gen.ts +1 -1
  200. package/src/gen/calendar-service/calendar-service.msw.api.gen.ts +1 -1
  201. package/src/gen/call-service/call-service.msw.api.gen.ts +5 -6
  202. package/src/gen/call-service/call-service.zod.gen.ts +1 -1
  203. package/src/gen/case-comments/case-comments.msw.api.gen.ts +1 -1
  204. package/src/gen/case-communications/case-communications.msw.api.gen.ts +1 -1
  205. package/src/gen/case-files/case-files.msw.api.gen.ts +1 -1
  206. package/src/gen/case-links/case-links.msw.api.gen.ts +1 -1
  207. package/src/gen/case-timeline/case-timeline.msw.api.gen.ts +2 -3
  208. package/src/gen/cases/cases.msw.api.gen.ts +2 -3
  209. package/src/gen/cases/cases.zod.gen.ts +18 -0
  210. package/src/gen/cases-chat-catalog/cases-chat-catalog.msw.api.gen.ts +2 -3
  211. package/src/gen/cases-chat-catalog/cases-chat-catalog.zod.gen.ts +1 -1
  212. package/src/gen/catalog/catalog.msw.api.gen.ts +2 -3
  213. package/src/gen/catalog/catalog.zod.gen.ts +3 -3
  214. package/src/gen/catalogs/catalogs.msw.api.gen.ts +1 -1
  215. package/src/gen/catalogs/catalogs.zod.gen.ts +4 -4
  216. package/src/gen/classes/classes.msw.api.gen.ts +1 -1
  217. package/src/gen/classes/classes.zod.gen.ts +1 -1
  218. package/src/gen/close-reason-groups/close-reason-groups.msw.api.gen.ts +1 -1
  219. package/src/gen/close-reasons/close-reasons.msw.api.gen.ts +1 -1
  220. package/src/gen/cognitive-profile-service/cognitive-profile-service.msw.api.gen.ts +2 -3
  221. package/src/gen/communication-type-service/communication-type-service.msw.api.gen.ts +2 -3
  222. package/src/gen/config-service/config-service.msw.api.gen.ts +1 -1
  223. package/src/gen/contact-groups/contact-groups.msw.api.gen.ts +1 -1
  224. package/src/gen/contact-linking-service/contact-linking-service.msw.api.gen.ts +1 -1
  225. package/src/gen/contacts/contacts.msw.api.gen.ts +1 -1
  226. package/src/gen/contacts/contacts.zod.gen.ts +2 -2
  227. package/src/gen/contacts-chat-catalog/contacts-chat-catalog.msw.api.gen.ts +2 -3
  228. package/src/gen/contacts-chat-catalog/contacts-chat-catalog.zod.gen.ts +2 -2
  229. package/src/gen/customers/customers.msw.api.gen.ts +1 -1
  230. package/src/gen/customers/customers.zod.gen.ts +4 -4
  231. package/src/gen/devices/devices.msw.api.gen.ts +1 -1
  232. package/src/gen/devices/devices.zod.gen.ts +1 -1
  233. package/src/gen/dictionaries/dictionaries.msw.api.gen.ts +2 -3
  234. package/src/gen/dictionaries/dictionaries.zod.gen.ts +16 -16
  235. package/src/gen/domains/domains.msw.api.gen.ts +1 -1
  236. package/src/gen/dynamic-conditions/dynamic-conditions.msw.api.gen.ts +1 -1
  237. package/src/gen/dynamic-groups/dynamic-groups.msw.api.gen.ts +1 -1
  238. package/src/gen/email-profile-service/email-profile-service.msw.api.gen.ts +2 -3
  239. package/src/gen/emails/emails.msw.api.gen.ts +1 -1
  240. package/src/gen/extensions/extensions.msw.api.gen.ts +2 -3
  241. package/src/gen/extensions/extensions.zod.gen.ts +10 -10
  242. package/src/gen/file-policies-service/file-policies-service.msw.api.gen.ts +2 -3
  243. package/src/gen/file-service/file-service.msw.api.gen.ts +2 -3
  244. package/src/gen/file-transcript-service/file-transcript-service.msw.api.gen.ts +1 -1
  245. package/src/gen/forecast-calculation-service/forecast-calculation-service.msw.api.gen.ts +1 -1
  246. package/src/gen/ftsservice/ftsservice.msw.api.gen.ts +1 -1
  247. package/src/gen/groups/groups.msw.api.gen.ts +2 -3
  248. package/src/gen/imclients/imclients.msw.api.gen.ts +1 -1
  249. package/src/gen/import-template-service/import-template-service.msw.api.gen.ts +2 -3
  250. package/src/gen/index.ts +249 -249
  251. package/src/gen/knowledgebase-search/knowledgebase-search.msw.api.gen.ts +1 -1
  252. package/src/gen/labels/labels.msw.api.gen.ts +1 -1
  253. package/src/gen/ldap/ldap.api.gen.ts +4 -4
  254. package/src/gen/ldap/ldap.msw.api.gen.ts +3 -3
  255. package/src/gen/ldap/ldap.zod.gen.ts +6 -6
  256. package/src/gen/list-service/list-service.msw.api.gen.ts +1 -1
  257. package/src/gen/logger-service/logger-service.msw.api.gen.ts +1 -1
  258. package/src/gen/managers/managers.msw.api.gen.ts +1 -1
  259. package/src/gen/media-file-service/media-file-service.msw.api.gen.ts +1 -1
  260. package/src/gen/member-service/member-service.msw.api.gen.ts +1 -1
  261. package/src/gen/member-service/member-service.zod.gen.ts +1 -1
  262. package/src/gen/messages-service/messages-service.msw.api.gen.ts +1 -1
  263. package/src/gen/oauth2-federation/oauth2-federation.msw.api.gen.ts +1 -1
  264. package/src/gen/oauth2-federation/oauth2-federation.zod.gen.ts +2 -2
  265. package/src/gen/outbound-resource-group-service/outbound-resource-group-service.msw.api.gen.ts +1 -1
  266. package/src/gen/outbound-resource-service/outbound-resource-service.msw.api.gen.ts +1 -1
  267. package/src/gen/pause-template-service/pause-template-service.msw.api.gen.ts +1 -1
  268. package/src/gen/permissions/permissions.msw.api.gen.ts +1 -1
  269. package/src/gen/permissions/permissions.zod.gen.ts +1 -1
  270. package/src/gen/phones/phones.msw.api.gen.ts +1 -1
  271. package/src/gen/presence/presence.msw.api.gen.ts +1 -1
  272. package/src/gen/preset-query-service/preset-query-service.msw.api.gen.ts +1 -1
  273. package/src/gen/priorities/priorities.msw.api.gen.ts +1 -1
  274. package/src/gen/queue-bucket-service/queue-bucket-service.msw.api.gen.ts +1 -1
  275. package/src/gen/queue-hook-service/queue-hook-service.msw.api.gen.ts +1 -1
  276. package/src/gen/queue-resources-service/queue-resources-service.msw.api.gen.ts +1 -1
  277. package/src/gen/queue-service/queue-service.msw.api.gen.ts +1 -1
  278. package/src/gen/queue-skill-service/queue-skill-service.msw.api.gen.ts +1 -1
  279. package/src/gen/quick-replies-service/quick-replies-service.msw.api.gen.ts +1 -1
  280. package/src/gen/region-service/region-service.msw.api.gen.ts +1 -1
  281. package/src/gen/related-cases/related-cases.msw.api.gen.ts +2 -3
  282. package/src/gen/routing-chat-plan-service/routing-chat-plan-service.msw.api.gen.ts +1 -1
  283. package/src/gen/routing-outbound-call-service/routing-outbound-call-service.msw.api.gen.ts +1 -1
  284. package/src/gen/routing-schema-service/routing-schema-service.msw.api.gen.ts +2 -3
  285. package/src/gen/routing-variable-service/routing-variable-service.msw.api.gen.ts +1 -1
  286. package/src/gen/schema-variables-service/schema-variables-service.msw.api.gen.ts +1 -1
  287. package/src/gen/schema-version-service/schema-version-service.msw.api.gen.ts +1 -1
  288. package/src/gen/services/services.msw.api.gen.ts +1 -1
  289. package/src/gen/shift-template-service/shift-template-service.msw.api.gen.ts +1 -1
  290. package/src/gen/skill-service/skill-service.msw.api.gen.ts +1 -1
  291. package/src/gen/slaconditions/slaconditions.msw.api.gen.ts +1 -1
  292. package/src/gen/slas/slas.msw.api.gen.ts +1 -1
  293. package/src/gen/sources/sources.msw.api.gen.ts +8 -9
  294. package/src/gen/sources/sources.zod.gen.ts +0 -27
  295. package/src/gen/spaces/spaces.msw.api.gen.ts +1 -1
  296. package/src/gen/spaces/spaces.zod.gen.ts +1 -1
  297. package/src/gen/status-conditions/status-conditions.msw.api.gen.ts +1 -1
  298. package/src/gen/statuses/statuses.msw.api.gen.ts +1 -1
  299. package/src/gen/system-setting-service/system-setting-service.msw.api.gen.ts +2 -3
  300. package/src/gen/tags/tags.msw.api.gen.ts +1 -1
  301. package/src/gen/team-hook-service/team-hook-service.msw.api.gen.ts +2 -3
  302. package/src/gen/team-trigger-service/team-trigger-service.msw.api.gen.ts +1 -1
  303. package/src/gen/timeline/timeline.msw.api.gen.ts +2 -3
  304. package/src/gen/timezones/timezones.msw.api.gen.ts +1 -1
  305. package/src/gen/trigger-service/trigger-service.msw.api.gen.ts +7 -8
  306. package/src/gen/two-factor-authentication/two-factor-authentication.msw.api.gen.ts +1 -1
  307. package/src/gen/types/types.msw.api.gen.ts +2 -3
  308. package/src/gen/types/types.zod.gen.ts +4 -4
  309. package/src/gen/user-access-tokens/user-access-tokens.msw.api.gen.ts +1 -1
  310. package/src/gen/user-helper-service/user-helper-service.msw.api.gen.ts +1 -1
  311. package/src/gen/users/users.msw.api.gen.ts +1 -1
  312. package/src/gen/users/users.zod.gen.ts +12 -12
  313. package/src/gen/variables/variables.msw.api.gen.ts +1 -1
  314. package/src/gen/web-hook-service/web-hook-service.msw.api.gen.ts +1 -1
  315. package/src/gen/working-condition-service/working-condition-service.msw.api.gen.ts +1 -1
  316. package/src/gen/working-schedule-service/working-schedule-service.msw.api.gen.ts +2 -3
  317. package/src/utils/gen/index.ts +35 -33
  318. package/src/utils/index.ts +11 -6
  319. package/src/validations/caseSource/caseSource.validations.ts +3 -5
  320. package/types/api/axios/generateInstance.d.ts +9 -0
  321. package/types/api/axios/index.d.ts +1 -0
  322. package/types/api/clients/_shared/generatePermissionsApi.d.ts +13 -0
  323. package/types/api/clients/agents/agentChats.d.ts +7 -0
  324. package/types/api/clients/agents/agents.d.ts +43 -0
  325. package/types/api/clients/buckets/buckets.d.ts +23 -0
  326. package/types/api/clients/calendars/calendars.d.ts +27 -0
  327. package/types/api/clients/caseCloseReasonGroups/caseCloseReasonGroups.d.ts +23 -0
  328. package/types/api/clients/caseCloseReasons/caseCloseReasons.d.ts +29 -0
  329. package/types/api/clients/casePriorities/casePriorities.d.ts +23 -0
  330. package/types/api/clients/caseServiceCatalogs/serviceCatalogs.d.ts +23 -0
  331. package/types/api/clients/caseServices/services.d.ts +34 -0
  332. package/types/api/clients/caseSources/caseSources.d.ts +23 -0
  333. package/types/api/clients/caseStatusConditions/caseStatusConditions.d.ts +35 -0
  334. package/types/api/clients/caseStatuses/caseStatuses.d.ts +23 -0
  335. package/types/api/clients/catalog/catalog.d.ts +8 -0
  336. package/types/api/clients/chatGateways/chatGateways.d.ts +30 -0
  337. package/types/api/clients/chatGateways/defaults/defaultChatGateway.d.ts +18 -0
  338. package/types/api/clients/chatGateways/defaults/webChatGateway.d.ts +68 -0
  339. package/types/api/clients/chatGateways/enums/WebchatAlternativeChannel.enum.d.ts +12 -0
  340. package/types/api/clients/chatGateways/scripts/generateUri.d.ts +5 -0
  341. package/types/api/clients/communications/communications.d.ts +27 -0
  342. package/types/api/clients/configurations/configurations.d.ts +27 -0
  343. package/types/api/clients/contactGroups/contactGroups.d.ts +46 -0
  344. package/types/api/clients/flows/flow.d.ts +27 -0
  345. package/types/api/clients/gateways/defaults/defaultGateway.d.ts +8 -0
  346. package/types/api/clients/gateways/defaults/registerGateway.d.ts +13 -0
  347. package/types/api/clients/gateways/defaults/trunkingGateway.d.ts +11 -0
  348. package/types/api/clients/gateways/gateways.d.ts +27 -0
  349. package/types/api/clients/index.d.ts +33 -0
  350. package/types/api/clients/labels/labels.d.ts +10 -0
  351. package/types/api/clients/lists/blacklists.d.ts +23 -0
  352. package/types/api/clients/media/media.d.ts +18 -0
  353. package/types/api/clients/object/object.d.ts +10 -0
  354. package/types/api/clients/queues/defaults/processing.d.ts +7 -0
  355. package/types/api/clients/queues/queues.d.ts +31 -0
  356. package/types/api/clients/quickReplies/quickReplies.d.ts +23 -0
  357. package/types/api/clients/roles/roles.d.ts +31 -0
  358. package/types/api/clients/skills/skills.d.ts +23 -0
  359. package/types/api/clients/slaConditions/slaConditions.d.ts +29 -0
  360. package/types/api/clients/slas/slas.d.ts +23 -0
  361. package/types/api/clients/teams/teams.d.ts +23 -0
  362. package/types/api/clients/users/users.d.ts +45 -0
  363. package/types/api/clients/wtTypes/_shared/utils/sortDynamicFields.d.ts +2 -0
  364. package/types/api/clients/wtTypes/sysTypes/sysTypes.d.ts +15 -0
  365. package/types/api/clients/wtTypes/typeExtensions/typeExtensions.d.ts +16 -0
  366. package/types/api/clients//321/201ontacts/contactChatMessagesHistory.d.ts +13 -0
  367. package/types/api/clients//321/201ontacts/contacts.d.ts +22 -0
  368. package/types/api/clients//321/201ontacts/enums/ContactsSearchMode.d.ts +8 -0
  369. package/types/api/clients//321/201ontacts/index.d.ts +4 -0
  370. package/types/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.d.ts +8 -0
  371. package/types/api/defaults/getDefaultGetParams/getDefaultGetParams.d.ts +14 -0
  372. package/types/api/defaults/getDefaultInstance/getDefaultInstance.d.ts +5 -0
  373. package/types/api/defaults/getDefaultOpenAPIConfig/getDefaultOpenAPIConfig.d.ts +6 -0
  374. package/types/api/defaults/index.d.ts +5 -0
  375. package/types/api/index.d.ts +5 -0
  376. package/types/api/interceptors/index.d.ts +2 -0
  377. package/types/api/interceptors/request/index.d.ts +1 -0
  378. package/types/api/interceptors/request/updateToken.interceptor.d.ts +4 -0
  379. package/types/api/interceptors/response/handleUnauthorized.interceptor.d.ts +5 -0
  380. package/types/api/interceptors/response/index.d.ts +1 -0
  381. package/types/api/transformers/addQueryParamsToUrl/addQueryParamsToUrl.transformer.d.ts +2 -0
  382. package/types/api/transformers/applyTransform.d.ts +13 -0
  383. package/types/api/transformers/camelToSnake/camelToSnake.transformer.d.ts +2 -0
  384. package/types/api/transformers/generateUrl/generateUrl.transformer.d.ts +2 -0
  385. package/types/api/transformers/index.d.ts +13 -0
  386. package/types/api/transformers/log/log.transformer.d.ts +2 -0
  387. package/types/api/transformers/merge/merge.transformer.d.ts +2 -0
  388. package/types/api/transformers/mergeEach/mergeEach.transformer.d.ts +2 -0
  389. package/types/api/transformers/notify/notify.transformer.d.ts +2 -0
  390. package/types/api/transformers/sanitize/sanitize.transformer.d.ts +2 -0
  391. package/types/api/transformers/skipIf/skipIf.d.ts +1 -0
  392. package/types/api/transformers/snakeToCamel/snakeToCamel.transformer.d.ts +2 -0
  393. package/types/api/transformers/starToSearch/starToSearch.transformer.d.ts +2 -0
  394. package/types/gen/_models/engineTriggerObjectType.d.ts +0 -1
  395. package/types/gen/_models/fileServiceSearchFilesChannelItem.d.ts +0 -2
  396. package/types/gen/_models/googleRpcStatus.d.ts +12 -0
  397. package/types/gen/_models/storageUploadFileChannel.d.ts +0 -2
  398. package/types/gen/_models/webitelCasesStatus.d.ts +16 -0
  399. package/types/gen/file-policies-service/file-policies-service.zod.gen.d.ts +0 -18
  400. package/types/gen/file-service/file-service.api.gen.d.ts +1 -3
  401. package/types/gen/file-service/file-service.msw.api.gen.d.ts +1 -3
  402. package/types/gen/file-service/file-service.zod.gen.d.ts +0 -18
  403. package/types/gen/trigger-service/trigger-service.zod.gen.d.ts +0 -9
  404. package/src/defaults/index.ts +0 -2
  405. package/src/gen/_docs/.nojekyll +0 -1
  406. package/src/gen/_docs/html/variables/sources_sources.zod.gen.createSourceBodyNameRegExp.html +0 -1
  407. package/src/gen/_docs/html/variables/sources_sources.zod.gen.createSourceResponseNameRegExp.html +0 -1
  408. package/src/gen/_docs/html/variables/sources_sources.zod.gen.deleteSourceResponseNameRegExp.html +0 -1
  409. package/src/gen/_docs/html/variables/sources_sources.zod.gen.listSourcesResponseItemsItemNameRegExp.html +0 -1
  410. package/src/gen/_docs/html/variables/sources_sources.zod.gen.locateSourceResponseSourceNameRegExp.html +0 -1
  411. package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSource2BodyNameRegExp.html +0 -1
  412. package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSource2ResponseNameRegExp.html +0 -1
  413. package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSourceBodyNameRegExp.html +0 -1
  414. package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSourceResponseNameRegExp.html +0 -1
  415. package/types/gen/_models/casesCaseCustom.d.ts +0 -12
  416. package/types/gen/_models/casesInputCaseCustom.d.ts +0 -12
  417. package/types/gen/_models/casesInputCreateCaseCustom.d.ts +0 -12
  418. package/types/gen/_models/protobufNullValue.d.ts +0 -18
@@ -0,0 +1,117 @@
1
+ import { StatusesApiFactory } from 'webitel-sdk';
2
+
3
+ import {
4
+ getDefaultGetListResponse,
5
+ getDefaultGetParams,
6
+ getDefaultInstance,
7
+ getDefaultOpenAPIConfig,
8
+ } from '../../defaults/index';
9
+ import applyTransform, {
10
+ camelToSnake,
11
+ merge,
12
+ notify,
13
+ sanitize,
14
+ snakeToCamel,
15
+ } from '../../transformers/index';
16
+
17
+ const instance = getDefaultInstance();
18
+ const configuration = getDefaultOpenAPIConfig();
19
+
20
+ const statusesService = StatusesApiFactory(configuration, '', instance);
21
+
22
+ const fieldsToSend = ['name', 'description'];
23
+
24
+ const getStatusesList = async (params) => {
25
+ const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id'];
26
+
27
+ const { page, size, fields, sort, id, q } = applyTransform(params, [
28
+ merge(getDefaultGetParams()),
29
+ (params) => ({ ...params, q: params.search }),
30
+ sanitize(fieldsToSend),
31
+ camelToSnake(),
32
+ ]);
33
+ try {
34
+ const response = await statusesService.listStatuses(
35
+ page,
36
+ size,
37
+ fields,
38
+ sort,
39
+ id,
40
+ q,
41
+ );
42
+ const { items, next } = applyTransform(response.data, [
43
+ merge(getDefaultGetListResponse()),
44
+ ]);
45
+ return {
46
+ items: applyTransform(items, []),
47
+ next,
48
+ };
49
+ } catch (err) {
50
+ throw applyTransform(err, [notify]);
51
+ }
52
+ };
53
+
54
+ const getStatus = async ({ itemId: id }) => {
55
+ const itemResponseHandler = (item) => {
56
+ return item.status;
57
+ };
58
+
59
+ try {
60
+ const response = await statusesService.locateStatus(id, fieldsToSend);
61
+ return applyTransform(response.data, [snakeToCamel(), itemResponseHandler]);
62
+ } catch (err) {
63
+ throw applyTransform(err, [notify]);
64
+ }
65
+ };
66
+
67
+ const addStatus = async ({ itemInstance }) => {
68
+ const item = applyTransform(itemInstance, [
69
+ camelToSnake(),
70
+ sanitize(fieldsToSend),
71
+ ]);
72
+
73
+ try {
74
+ const response = await statusesService.createStatus(item);
75
+ return applyTransform(response.data, [snakeToCamel()]);
76
+ } catch (err) {
77
+ throw applyTransform(err, [notify]);
78
+ }
79
+ };
80
+
81
+ const updateStatus = async ({ itemInstance, itemId: id }) => {
82
+ const item = applyTransform(itemInstance, [
83
+ camelToSnake(),
84
+ sanitize(fieldsToSend),
85
+ ]);
86
+
87
+ try {
88
+ const response = await statusesService.updateStatus(id, item);
89
+ return applyTransform(response.data, [snakeToCamel()]);
90
+ } catch (err) {
91
+ throw applyTransform(err, [notify]);
92
+ }
93
+ };
94
+
95
+ const deleteStatus = async ({ id }) => {
96
+ try {
97
+ const response = await statusesService.deleteStatus(id);
98
+ return applyTransform(response.data, []);
99
+ } catch (err) {
100
+ throw applyTransform(err, [notify]);
101
+ }
102
+ };
103
+
104
+ const getStatusesLookup = async (params) =>
105
+ getStatusesList({
106
+ ...params,
107
+ fields: params.fields || ['id', 'name'],
108
+ });
109
+
110
+ export const CaseStatusesAPI = {
111
+ getList: getStatusesList,
112
+ get: getStatus,
113
+ update: updateStatus,
114
+ getLookup: getStatusesLookup,
115
+ delete: deleteStatus,
116
+ add: addStatus,
117
+ };
@@ -0,0 +1,39 @@
1
+ import { CatalogApiFactory } from 'webitel-sdk';
2
+
3
+ import {
4
+ getDefaultInstance,
5
+ getDefaultOpenAPIConfig,
6
+ } from '../../defaults/index';
7
+ import applyTransform, { notify, snakeToCamel } from '../../transformers/index';
8
+
9
+ const instance = getDefaultInstance();
10
+ const configuration = getDefaultOpenAPIConfig();
11
+
12
+ const catalogService = CatalogApiFactory(configuration, '', instance);
13
+
14
+ const getChatMessagesList = async ({ chatId }) => {
15
+ const mergeMessagesData = ({ messages, peers }) => {
16
+ if (!messages) return [];
17
+ return messages.map(({ from, ...message }) => {
18
+ return {
19
+ ...message,
20
+ peer: peers[from.id - 1],
21
+ };
22
+ });
23
+ };
24
+
25
+ try {
26
+ const response = await catalogService.getHistory(chatId);
27
+ const { messages, peers } = applyTransform(response.data, [snakeToCamel()]);
28
+ return {
29
+ items: applyTransform({ messages, peers }, [mergeMessagesData]),
30
+ peers,
31
+ };
32
+ } catch (err) {
33
+ throw applyTransform(err, [notify]);
34
+ }
35
+ };
36
+
37
+ export const CatalogAPI = {
38
+ getChatMessagesList,
39
+ };
@@ -0,0 +1,303 @@
1
+ import deepCopy from 'deep-copy';
2
+ import deepmerge from 'deepmerge';
3
+
4
+ import ChatGatewayProvider from '../../../enums/ChatGatewayProvider/ChatGatewayProvider.enum';
5
+ import {
6
+ getDefaultGetListResponse,
7
+ getDefaultGetParams,
8
+ getDefaultInstance,
9
+ } from '../../defaults/index';
10
+ import {
11
+ applyTransform,
12
+ camelToSnake,
13
+ merge,
14
+ mergeEach,
15
+ notify,
16
+ sanitize,
17
+ snakeToCamel,
18
+ starToSearch,
19
+ } from '../../transformers/index';
20
+ import { webChatGateway } from './defaults/webChatGateway';
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
+ copy.metadata.captcha = undefined;
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
+ copy.metadata.btnBackColor = undefined;
89
+ copy.metadata['btn.font.color'] = item.metadata.btnFontColor;
90
+ copy.metadata.btnFontColor = undefined;
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 = ['page', 'size', 'q', 'sort', 'fields', 'id'];
168
+
169
+ const defaultObject = {
170
+ // default object prototype, to merge response with it to get all fields
171
+ enabled: false,
172
+ name: '',
173
+ uri: '',
174
+ flow: {},
175
+ provider: '',
176
+ metadata: {},
177
+ updates: {
178
+ title: '',
179
+ close: '',
180
+ join: '',
181
+ left: '',
182
+ },
183
+ };
184
+
185
+ const url = applyTransform(params, [
186
+ merge(getDefaultGetParams()),
187
+ starToSearch('search'),
188
+ (params) => ({ ...params, q: params.search }),
189
+ sanitize(fieldsToSend),
190
+ camelToSnake(),
191
+ generateUrl(baseUrl),
192
+ ]);
193
+ try {
194
+ const response = await instance.get(url);
195
+ const { items, next } = applyTransform(response.data, [
196
+ snakeToCamel(),
197
+ merge(getDefaultGetListResponse()),
198
+ ]);
199
+ return {
200
+ items: applyTransform(items, [mergeEach(defaultObject)]),
201
+ next,
202
+ };
203
+ } catch (err) {
204
+ throw applyTransform(err, [notify]);
205
+ }
206
+ };
207
+
208
+ const getChatGateway = async ({ itemId: id }) => {
209
+ const itemResponseHandler = (response) => {
210
+ switch (response.provider) {
211
+ case ChatGatewayProvider.WEBCHAT:
212
+ return webChatResponseConverter(response);
213
+ case ChatGatewayProvider.MESSENGER:
214
+ return messengerResponseConverter(response);
215
+ case ChatGatewayProvider.VIBER:
216
+ return viberResponseConverter(response);
217
+ default:
218
+ return response;
219
+ }
220
+ };
221
+
222
+ const url = `${baseUrl}/${id}`;
223
+
224
+ try {
225
+ const response = await instance.get(url);
226
+ return applyTransform(response.data, [snakeToCamel(), itemResponseHandler]);
227
+ } catch (err) {
228
+ throw applyTransform(err, [notify]);
229
+ }
230
+ };
231
+
232
+ const addChatGateway = async ({ itemInstance }) => {
233
+ const item = applyTransform(itemInstance, [
234
+ preRequestHandler,
235
+ sanitize(fieldsToSend),
236
+ camelToSnake(),
237
+ ]);
238
+ try {
239
+ const response = await instance.post(baseUrl, item);
240
+ return applyTransform(response.data, [snakeToCamel()]);
241
+ } catch (err) {
242
+ throw applyTransform(err, [notify]);
243
+ }
244
+ };
245
+
246
+ const updateChatGateway = async ({ itemInstance, itemId: id }) => {
247
+ const item = applyTransform(itemInstance, [
248
+ preRequestHandler,
249
+ sanitize(fieldsToSend),
250
+ camelToSnake(),
251
+ ]);
252
+
253
+ const url = `${baseUrl}/${id}`;
254
+ try {
255
+ const response = await instance.put(url, item);
256
+ return applyTransform(response.data, [snakeToCamel()]);
257
+ } catch (err) {
258
+ throw applyTransform(err, [notify]);
259
+ }
260
+ };
261
+
262
+ const patchChatGateway = async ({ changes, id }) => {
263
+ const body = applyTransform(changes, [
264
+ sanitize(fieldsToSend),
265
+ camelToSnake(),
266
+ ]);
267
+ const url = `${baseUrl}/${id}`;
268
+ try {
269
+ const response = await instance.patch(url, body);
270
+ return applyTransform(response.data, [snakeToCamel()]);
271
+ } catch (err) {
272
+ throw applyTransform(err, [notify]);
273
+ }
274
+ };
275
+
276
+ const deleteChatGateway = async ({ id }) => {
277
+ const url = `${baseUrl}/${id}`;
278
+ try {
279
+ const response = await instance.delete(url);
280
+ return applyTransform(response.data, []);
281
+ } catch (err) {
282
+ throw applyTransform(err, [notify]);
283
+ }
284
+ };
285
+
286
+ const getLookup = (params) =>
287
+ getChatGatewayList({
288
+ ...params,
289
+ fields: params.fields || ['id', 'name'],
290
+ });
291
+
292
+ /**
293
+ * Chat Gateways API for managing chat gateway configurations
294
+ */
295
+ export const ChatGatewaysAPI = {
296
+ getList: getChatGatewayList,
297
+ get: getChatGateway,
298
+ add: addChatGateway,
299
+ patch: patchChatGateway,
300
+ update: updateChatGateway,
301
+ delete: deleteChatGateway,
302
+ getLookup,
303
+ };
@@ -0,0 +1,20 @@
1
+ import { generateUri } from '../scripts/generateUri';
2
+
3
+ /**
4
+ * Creates a default chat gateway configuration
5
+ * @returns Default chat gateway object
6
+ */
7
+ export const defaultChatGateway = () => ({
8
+ name: '',
9
+ uri: generateUri(),
10
+ flow: {},
11
+ enabled: false,
12
+ provider: '',
13
+ metadata: {},
14
+ updates: {
15
+ title: '',
16
+ close: '',
17
+ join: '',
18
+ left: '',
19
+ },
20
+ });
@@ -0,0 +1,75 @@
1
+ import ChatGatewayProvider from '../../../../enums/ChatGatewayProvider/ChatGatewayProvider.enum';
2
+ import { defaultChatGateway } from '../defaults/defaultChatGateway';
3
+ import { WebchatAlternativeChannel } from '../enums/WebchatAlternativeChannel.enum';
4
+
5
+ /**
6
+ * Creates a default webchat gateway configuration
7
+ * @param _btnCodeDirty - Flag indicating if the "copy code" button should be highlighted
8
+ * @returns Default webchat gateway object
9
+ */
10
+ export const webChatGateway = (_btnCodeDirty = false) => ({
11
+ ...defaultChatGateway(),
12
+ provider: ChatGatewayProvider.WEBCHAT,
13
+ metadata: {
14
+ // start: these fields related to chat functionality but should be in metadata for backend
15
+ allowOrigin: [],
16
+ readTimeout: '30',
17
+ writeTimeout: '1',
18
+ handshakeTimeout: '10',
19
+ mediaMaxSize: `${10 * 1024 * 1024}`, // 10mb
20
+ // end
21
+
22
+ _btnCodeDirty, // inner flag, if true, btn "copy code" is highlighted
23
+ view: {
24
+ borderRadiusStyle: '',
25
+ lang: 'en',
26
+ btnOpacity: '',
27
+ logoUrl: '',
28
+ accentColor: '',
29
+ position: '',
30
+ },
31
+ captcha: {
32
+ enabled: false,
33
+ sitekey: '',
34
+ secret: '',
35
+ threshold: 0.5,
36
+ showFlag: false,
37
+ },
38
+ chat: {
39
+ enabled: true,
40
+ timeoutIsActive: false,
41
+ openTimeout: '',
42
+ url: '',
43
+ },
44
+ appointment: {
45
+ enabled: false,
46
+ url: '',
47
+ queue: {},
48
+ communicationType: {},
49
+ duration: '30m',
50
+ days: 3,
51
+ availableAgents: 1,
52
+ successTitle: '',
53
+ successSubtitle: '',
54
+ showDefaultHeading: true,
55
+ showEmailField: false,
56
+ showMessageField: false,
57
+ },
58
+ call: {
59
+ enabled: false,
60
+ url: '',
61
+ flow: {},
62
+ id: '',
63
+ },
64
+ alternativeChannels: Object.values(WebchatAlternativeChannel).reduce(
65
+ (channels, channel) => ({
66
+ ...channels,
67
+ [channel]: {
68
+ url: '',
69
+ enabled: false,
70
+ },
71
+ }),
72
+ {},
73
+ ),
74
+ },
75
+ });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Difference between MessangerType enum and WebchatAlternativeChannel:
3
+ * MessangerType - backend fields naming, provider
4
+ * WebchatAlternativeChannel - front-end only "simple" channel naming
5
+ */
6
+ export const WebchatAlternativeChannel = Object.freeze({
7
+ VIBER: 'viber',
8
+ WHATSAPP: 'whatsapp',
9
+ TELEGRAM: 'telegram',
10
+ MESSENGER: 'messenger',
11
+ EMAIL: 'email',
12
+ });
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generates a random URI for chat gateways
3
+ * @returns A random URI string
4
+ */
5
+ export const generateUri = () => {
6
+ const length = 31;
7
+ const charset = 'abcdefghijklmnopqrstuvwxyz';
8
+ let value = '/';
9
+ for (let i = 0; i < length; i += 1) {
10
+ value += charset.charAt(Math.floor(Math.random() * charset.length));
11
+ }
12
+ return value;
13
+ };