@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,228 @@
1
+ import deepCopy from 'deep-copy';
2
+
3
+ import {
4
+ getDefaultGetListResponse,
5
+ getDefaultGetParams,
6
+ getDefaultInstance,
7
+ } from '../../defaults/index';
8
+ import applyTransform, {
9
+ camelToSnake,
10
+ generateUrl,
11
+ merge,
12
+ mergeEach,
13
+ notify,
14
+ sanitize,
15
+ snakeToCamel,
16
+ } from '../../transformers/index';
17
+ import { generatePermissionsApi } from '../_shared/generatePermissionsApi';
18
+
19
+ const instance = getDefaultInstance();
20
+
21
+ const baseUrl = '/users';
22
+ const fieldsToSend = [
23
+ 'name',
24
+ 'username',
25
+ 'password',
26
+ 'extension',
27
+ 'status',
28
+ 'note',
29
+ 'roles',
30
+ 'license',
31
+ 'devices',
32
+ 'device',
33
+ 'profile',
34
+ 'email',
35
+ 'contact',
36
+ 'chatName',
37
+ ];
38
+
39
+ const getUsersList = async (params) => {
40
+ const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id'];
41
+
42
+ const defaultObject = {
43
+ name: '',
44
+ status: '',
45
+ state: true,
46
+ dnd: false,
47
+ };
48
+
49
+ const url = applyTransform(params, [
50
+ merge(getDefaultGetParams()),
51
+ (params) => ({ ...params, q: params.search }),
52
+ sanitize(fieldsToSend),
53
+ camelToSnake(),
54
+ generateUrl(baseUrl),
55
+ ]);
56
+ try {
57
+ const response = await instance.get(url);
58
+ const { items, next } = applyTransform(response.data, [
59
+ snakeToCamel(['profile']),
60
+ merge(getDefaultGetListResponse()),
61
+ ]);
62
+ return {
63
+ items: applyTransform(items, [mergeEach(defaultObject)]),
64
+ next,
65
+ };
66
+ } catch (err) {
67
+ throw applyTransform(err, [notify]);
68
+ }
69
+ };
70
+
71
+ const getUser = async ({ itemId: id }) => {
72
+ const defaultObject = {
73
+ roles: [],
74
+ license: [],
75
+ devices: [],
76
+ device: {},
77
+ variables: [{ key: '', value: '' }],
78
+ };
79
+
80
+ const itemResponseHandler = (item) => {
81
+ const copy = deepCopy(item);
82
+ if (copy.license) {
83
+ copy.license.forEach((item) => {
84
+ item.name = item.prod;
85
+ });
86
+ }
87
+ if (copy.profile) {
88
+ copy.variables = Object.keys(copy.profile).map((key) => ({
89
+ key,
90
+ value: copy.profile[key],
91
+ }));
92
+ } else {
93
+ copy.variables = [{ key: '', value: '' }];
94
+ }
95
+ return copy;
96
+ };
97
+
98
+ const url = `${baseUrl}/${id}`;
99
+
100
+ try {
101
+ const response = await instance.get(url);
102
+ return applyTransform(response.data, [
103
+ snakeToCamel(['profile']),
104
+ merge(defaultObject),
105
+ itemResponseHandler,
106
+ ]);
107
+ } catch (err) {
108
+ throw applyTransform(err, [notify]);
109
+ }
110
+ };
111
+
112
+ const preRequestHandler = (item) => {
113
+ const copy = deepCopy(item);
114
+ if (item.device && !item.device.id) copy.device = undefined;
115
+
116
+ if (copy.roles) copy.roles.forEach((copy) => (copy.text = undefined));
117
+
118
+ if (copy.devices) copy.devices.forEach((copy) => (copy.text = undefined));
119
+ if (copy.license) {
120
+ copy.license = copy.license.map((copy) => ({ id: copy.id }));
121
+ }
122
+ copy.profile = {};
123
+ if (copy.variables) {
124
+ copy.variables.forEach((variable) => {
125
+ copy.profile[variable.key] = variable.value;
126
+ });
127
+ }
128
+ return copy;
129
+ };
130
+
131
+ const addUser = async ({ itemInstance }) => {
132
+ const item = applyTransform(itemInstance, [
133
+ preRequestHandler,
134
+ sanitize(fieldsToSend),
135
+ camelToSnake(['profile']),
136
+ ]);
137
+ try {
138
+ const response = await instance.post(baseUrl, item);
139
+ return applyTransform(response.data, [snakeToCamel(['profile'])]);
140
+ } catch (err) {
141
+ throw applyTransform(err, [notify]);
142
+ }
143
+ };
144
+
145
+ const updateUser = async ({ itemInstance, itemId: id }) => {
146
+ const item = applyTransform(itemInstance, [
147
+ preRequestHandler,
148
+ sanitize(fieldsToSend),
149
+ camelToSnake(['profile']),
150
+ ]);
151
+
152
+ const url = `${baseUrl}/${id}`;
153
+ try {
154
+ const response = await instance.put(url, item);
155
+ return applyTransform(response.data, [snakeToCamel(['profile'])]);
156
+ } catch (err) {
157
+ throw applyTransform(err, [notify]);
158
+ }
159
+ };
160
+
161
+ const patchUser = async ({ changes, id }) => {
162
+ const body = applyTransform(changes, [
163
+ sanitize(fieldsToSend),
164
+ camelToSnake(['profile']),
165
+ ]);
166
+ const url = `${baseUrl}/${id}`;
167
+ try {
168
+ const response = await instance.patch(url, body);
169
+ return applyTransform(response.data, [snakeToCamel(['profile'])]);
170
+ } catch (err) {
171
+ throw applyTransform(err, [notify]);
172
+ }
173
+ };
174
+
175
+ const patchUserPresence = async ({ changes, id }) => {
176
+ const body = applyTransform(changes, [
177
+ sanitize(fieldsToSend),
178
+ camelToSnake(['profile']),
179
+ ]);
180
+ const url = `${baseUrl}/${id}/presence`;
181
+ try {
182
+ const response = await instance.patch(url, body);
183
+ return applyTransform(response.data, [snakeToCamel(['profile'])]);
184
+ } catch (err) {
185
+ throw applyTransform(err, [notify]);
186
+ }
187
+ };
188
+
189
+ const deleteUser = async ({ id }) => {
190
+ const url = `${baseUrl}/${id}?permanent=true`;
191
+ // permanent=true for complete deletion
192
+ try {
193
+ const response = await instance.delete(url);
194
+ return applyTransform(response.data, []);
195
+ } catch (err) {
196
+ throw applyTransform(err, [notify]);
197
+ }
198
+ };
199
+
200
+ const getUsersLookup = (params) =>
201
+ getUsersList({
202
+ ...params,
203
+ fields: params.fields || ['id', 'name'],
204
+ });
205
+
206
+ const logoutUser = async ({ id }) => {
207
+ const url = `${baseUrl}/${id}/logout`;
208
+ try {
209
+ const response = await instance.post(url, {});
210
+ return applyTransform(response.data, []);
211
+ } catch (err) {
212
+ throw applyTransform(err, [notify]);
213
+ }
214
+ };
215
+
216
+ export const UsersAPI = {
217
+ getList: getUsersList,
218
+ get: getUser,
219
+ add: addUser,
220
+ patch: patchUser,
221
+ update: updateUser,
222
+ delete: deleteUser,
223
+ getLookup: getUsersLookup,
224
+ patchUserPresence,
225
+ logoutUser,
226
+
227
+ ...generatePermissionsApi(baseUrl),
228
+ };
@@ -0,0 +1,21 @@
1
+ import deepCopy from 'deep-copy';
2
+ import type { WebitelProtoDataStruct } from 'webitel-sdk';
3
+
4
+ export const sortDynamicFields = (
5
+ item: WebitelProtoDataStruct,
6
+ ): WebitelProtoDataStruct => {
7
+ const unSortableFields = item.fields.filter((field) => !field.position);
8
+
9
+ const sortableFields = deepCopy(item.fields)
10
+ .filter((field) => field.position)
11
+ .sort((a, b) => {
12
+ return a.position - b.position;
13
+ });
14
+
15
+ const fields = [...unSortableFields, ...sortableFields];
16
+
17
+ return {
18
+ ...item,
19
+ fields,
20
+ };
21
+ };
@@ -0,0 +1,60 @@
1
+ import {
2
+ getDefaultGetListResponse,
3
+ getDefaultGetParams,
4
+ getDefaultInstance,
5
+ } from '../../../defaults';
6
+ import applyTransform, {
7
+ camelToSnake,
8
+ generateUrl,
9
+ merge,
10
+ notify,
11
+ sanitize,
12
+ starToSearch,
13
+ } from '../../../transformers';
14
+
15
+ const instance = getDefaultInstance();
16
+
17
+ const getSysTypeRecordsList = async ({ path, display, primary, ...params }) => {
18
+ const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id', 'ids'];
19
+
20
+ const url = applyTransform(params, [
21
+ merge(getDefaultGetParams()),
22
+ starToSearch('search'),
23
+ (params) => ({ ...params, q: params.search }),
24
+ (params) => ({
25
+ ...params,
26
+ ids: params.id /* https://webitel.atlassian.net/browse/WTEL-6788 */,
27
+ }),
28
+ sanitize(fieldsToSend),
29
+ camelToSnake(),
30
+ generateUrl(path),
31
+ ]);
32
+ try {
33
+ const response = await instance.get(url);
34
+ const { data, items, next } = applyTransform(response.data, [
35
+ merge(getDefaultGetListResponse()),
36
+ ]);
37
+
38
+ return {
39
+ // Some endpoints return data, some return items so we need to check for both of them
40
+ items:
41
+ applyTransform(data || items, [
42
+ // transformItemsForSelect({ display, primary }),
43
+ ]) ?? [],
44
+ next,
45
+ };
46
+ } catch (err) {
47
+ throw applyTransform(err, [notify]);
48
+ }
49
+ };
50
+
51
+ const getSysTypeRecordsLookup = (params) =>
52
+ getSysTypeRecordsList({
53
+ ...params,
54
+ fields: params.fields || ['id', 'name'],
55
+ });
56
+
57
+ export const SysTypesAPI = {
58
+ getList: getSysTypeRecordsList,
59
+ getLookup: getSysTypeRecordsLookup,
60
+ };
@@ -0,0 +1,114 @@
1
+ import { ExtensionsApiFactory, type WebitelProtoDataStruct } from 'webitel-sdk';
2
+
3
+ import { getDefaultInstance, getDefaultOpenAPIConfig } from '../../../defaults';
4
+ import applyTransform, {
5
+ camelToSnake,
6
+ notify,
7
+ sanitize,
8
+ snakeToCamel,
9
+ } from '../../../transformers';
10
+ import { sortDynamicFields } from '../_shared/utils/sortDynamicFields';
11
+
12
+ const instance = getDefaultInstance();
13
+ const configuration = getDefaultOpenAPIConfig();
14
+
15
+ const typeExtensionsService = ExtensionsApiFactory(configuration, '', instance);
16
+
17
+ const fieldsToSend = ['fields', 'repo', 'path'];
18
+
19
+ const generateIdsFromRepos = (item: WebitelProtoDataStruct) => ({
20
+ ...item,
21
+ id: item.repo,
22
+ });
23
+
24
+ const getTypeExtension = async ({ itemId: typeRepo }) => {
25
+ const createPositionGenerator = () => {
26
+ let position = 1;
27
+ return (item) => (item.readonly ? null : position++);
28
+ };
29
+ const getPosition = createPositionGenerator();
30
+
31
+ const itemResponseHandler = (item) => ({
32
+ ...item,
33
+ fields: item.fields.map((field) => ({
34
+ ...field,
35
+ position: getPosition(field),
36
+ })),
37
+ });
38
+
39
+ try {
40
+ const response = await typeExtensionsService.locateType(typeRepo);
41
+
42
+ return applyTransform(response.data, [
43
+ snakeToCamel(),
44
+ generateIdsFromRepos,
45
+ itemResponseHandler,
46
+ ]);
47
+ } catch {
48
+ return {
49
+ id: typeRepo,
50
+ fields: [],
51
+ isNew: true,
52
+ };
53
+ }
54
+ };
55
+
56
+ const addTypeExtension = async ({ itemInstance, itemId: typeRepo }) => {
57
+ const item = applyTransform(itemInstance, [
58
+ sortDynamicFields,
59
+ camelToSnake(),
60
+ sanitize(fieldsToSend),
61
+ ]);
62
+ try {
63
+ const response = await typeExtensionsService.createType(typeRepo, item);
64
+ return applyTransform(response.data, [
65
+ snakeToCamel(),
66
+ generateIdsFromRepos,
67
+ ]);
68
+ } catch (err) {
69
+ throw applyTransform(err, [notify]);
70
+ }
71
+ };
72
+
73
+ const deleteTypeExtension = async ({ itemId: typeRepo }) => {
74
+ try {
75
+ await typeExtensionsService.deleteType(typeRepo);
76
+ } catch (err) {
77
+ throw applyTransform(err, [notify]);
78
+ }
79
+ };
80
+
81
+ const updateTypeExtension = async ({ itemInstance, itemId: typeRepo }) => {
82
+ if (!itemInstance.fields.length && itemInstance.isNew) {
83
+ return itemInstance;
84
+ }
85
+ if (itemInstance.isNew) {
86
+ return addTypeExtension({ itemInstance, itemId: typeRepo });
87
+ }
88
+
89
+ if (!itemInstance.fields.length && !itemInstance.isNew) {
90
+ return deleteTypeExtension({ itemId: typeRepo });
91
+ }
92
+
93
+ const item = applyTransform(itemInstance, [
94
+ sortDynamicFields,
95
+ camelToSnake(),
96
+ sanitize(fieldsToSend),
97
+ ]);
98
+ try {
99
+ const response = await typeExtensionsService.updateType(typeRepo, item);
100
+ return applyTransform(response.data, [
101
+ snakeToCamel(),
102
+ generateIdsFromRepos,
103
+ ]);
104
+ } catch (err) {
105
+ throw applyTransform(err, [notify]);
106
+ }
107
+ };
108
+
109
+ export const WtTypeExtensionApi = {
110
+ getList: getTypeExtension,
111
+ add: addTypeExtension,
112
+ update: updateTypeExtension,
113
+ delete: deleteTypeExtension,
114
+ };
@@ -0,0 +1,98 @@
1
+ import { ContactsChatCatalogApiFactory } from 'webitel-sdk';
2
+
3
+ import i18n from '../../../locale/i18n';
4
+ import {
5
+ getDefaultGetListResponse,
6
+ getDefaultInstance,
7
+ getDefaultOpenAPIConfig,
8
+ } from '../../defaults/index';
9
+ import applyTransform, {
10
+ merge,
11
+ notify,
12
+ snakeToCamel,
13
+ } from '../../transformers/index';
14
+
15
+ const { t } = i18n.global;
16
+
17
+ const instance = getDefaultInstance();
18
+ const configuration = getDefaultOpenAPIConfig();
19
+
20
+ const contactChatService = ContactsChatCatalogApiFactory(
21
+ configuration,
22
+ '',
23
+ instance,
24
+ );
25
+
26
+ const getChat = async ({ contactId, chatId }) => {
27
+ const mergeChatMessagesData = ({ messages, peers }) => {
28
+ if (!messages) return [];
29
+ return messages.map(({ from, ...message }) => {
30
+ return {
31
+ ...message,
32
+ peer: peers[from.id - 1],
33
+ };
34
+ });
35
+ };
36
+
37
+ try {
38
+ const response = await contactChatService.getContactChatHistory(
39
+ contactId,
40
+ chatId,
41
+ );
42
+ const { messages, peers } = applyTransform(response.data, [snakeToCamel()]);
43
+ return {
44
+ items: applyTransform({ messages, peers }, [mergeChatMessagesData]),
45
+ peers,
46
+ };
47
+ } catch (err) {
48
+ throw applyTransform(err, [notify]);
49
+ }
50
+ };
51
+
52
+ // all messages from all contacts chats
53
+ const getAllMessages = async (params) => {
54
+ const mergeMessagesData = ({ messages, peers, chats }) => {
55
+ if (!messages) return [];
56
+ return messages.map(({ from, chat, ...message }) => {
57
+ return {
58
+ ...message,
59
+ peer: peers[from.id - 1],
60
+ chat: chats[chat.id - 1],
61
+ };
62
+ });
63
+ };
64
+
65
+ const { contactId, page, size } = params;
66
+
67
+ try {
68
+ const response = await contactChatService.getContactChatHistory2(
69
+ contactId,
70
+ undefined,
71
+ undefined,
72
+ size,
73
+ `${page || 1}`,
74
+ );
75
+ const { messages, peers, chats, next } = applyTransform(response.data, [
76
+ snakeToCamel(),
77
+ merge(getDefaultGetListResponse()),
78
+ ]);
79
+ return {
80
+ items: applyTransform({ messages, peers, chats }, [mergeMessagesData]),
81
+ next,
82
+ };
83
+ } catch (err) {
84
+ throw applyTransform(err, [
85
+ notify(({ callback }) =>
86
+ callback({
87
+ type: 'error',
88
+ text: t('errorNotifications.chatHistoryApi'),
89
+ }),
90
+ ),
91
+ ]);
92
+ }
93
+ };
94
+
95
+ export const ContactChatMessagesAPI = {
96
+ getChat,
97
+ getAllMessages,
98
+ };