@zohoim/client-sdk 1.0.0-replyAreaPoc2 → 1.0.0-replyAreaPoc4

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 (300) hide show
  1. package/package.json +1 -1
  2. package/es/application/services/agents/AgentService.js +0 -21
  3. package/es/application/services/agents/index.js +0 -2
  4. package/es/application/services/bots/BotService.js +0 -26
  5. package/es/application/services/bots/index.js +0 -2
  6. package/es/application/services/cannedMessages/CannedMessageService.js +0 -51
  7. package/es/application/services/cannedMessages/index.js +0 -2
  8. package/es/application/services/channels/ChannelAgentService.js +0 -21
  9. package/es/application/services/channels/ChannelService.js +0 -21
  10. package/es/application/services/channels/index.js +0 -3
  11. package/es/application/services/contacts/ContactService.js +0 -21
  12. package/es/application/services/contacts/index.js +0 -2
  13. package/es/application/services/index.js +0 -8
  14. package/es/application/services/messages/MessageService.js +0 -61
  15. package/es/application/services/messages/index.js +0 -2
  16. package/es/application/services/sessions/SessionService.js +0 -56
  17. package/es/application/services/sessions/index.js +0 -2
  18. package/es/application/services/templateMessages/TemplateMessageService.js +0 -26
  19. package/es/application/services/templateMessages/index.js +0 -2
  20. package/es/core/constants/ModuleNames.js +0 -12
  21. package/es/core/constants/ResponseTypes.js +0 -6
  22. package/es/core/constants/index.js +0 -6
  23. package/es/core/errors/AdapterError.js +0 -7
  24. package/es/core/errors/ValidationError.js +0 -7
  25. package/es/core/errors/index.js +0 -3
  26. package/es/core/utils/ResponseUtils.js +0 -24
  27. package/es/core/utils/index.js +0 -3
  28. package/es/core/utils/validateSchema.js +0 -74
  29. package/es/domain/dto/RequestBuilder.js +0 -44
  30. package/es/domain/dto/agents/getAgentsRequest.js +0 -12
  31. package/es/domain/dto/agents/index.js +0 -1
  32. package/es/domain/dto/bots/getBotRequest.js +0 -9
  33. package/es/domain/dto/bots/getBotsRequest.js +0 -15
  34. package/es/domain/dto/bots/index.js +0 -2
  35. package/es/domain/dto/cannedMessages/createCannedMessageRequest.js +0 -13
  36. package/es/domain/dto/cannedMessages/deleteCannedMessageRequest.js +0 -13
  37. package/es/domain/dto/cannedMessages/disableCannedMessageRequest.js +0 -13
  38. package/es/domain/dto/cannedMessages/enableCannedMessageRequest.js +0 -13
  39. package/es/domain/dto/cannedMessages/getCannedMessageRequest.js +0 -13
  40. package/es/domain/dto/cannedMessages/getCannedMessagesRequest.js +0 -18
  41. package/es/domain/dto/cannedMessages/index.js +0 -7
  42. package/es/domain/dto/cannedMessages/updateCannedMessageRequest.js +0 -13
  43. package/es/domain/dto/channels/agents/getChannelAgentsRequest.js +0 -13
  44. package/es/domain/dto/channels/agents/index.js +0 -1
  45. package/es/domain/dto/channels/getChannelsRequest.js +0 -23
  46. package/es/domain/dto/channels/index.js +0 -3
  47. package/es/domain/dto/contacts/getContactsRequest.js +0 -11
  48. package/es/domain/dto/contacts/index.js +0 -1
  49. package/es/domain/dto/index.js +0 -8
  50. package/es/domain/dto/messages/deleteMessageRequest.js +0 -14
  51. package/es/domain/dto/messages/getFullContentRequest.js +0 -14
  52. package/es/domain/dto/messages/getMessageRequest.js +0 -14
  53. package/es/domain/dto/messages/getMessagesRequest.js +0 -20
  54. package/es/domain/dto/messages/index.js +0 -9
  55. package/es/domain/dto/messages/initiateSessionRequest.js +0 -22
  56. package/es/domain/dto/messages/resendMessageRequest.js +0 -14
  57. package/es/domain/dto/messages/searchMessagesRequest.js +0 -22
  58. package/es/domain/dto/messages/sendAttachmentRequest.js +0 -19
  59. package/es/domain/dto/messages/sendMessageRequest.js +0 -19
  60. package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +0 -13
  61. package/es/domain/dto/sessions/getSessionLastMessagesRequest.js +0 -13
  62. package/es/domain/dto/sessions/getSessionRequest.js +0 -13
  63. package/es/domain/dto/sessions/getSessionsRequest.js +0 -26
  64. package/es/domain/dto/sessions/index.js +0 -8
  65. package/es/domain/dto/sessions/markSessionAsReadRequest.js +0 -17
  66. package/es/domain/dto/sessions/pickupSessionRequest.js +0 -9
  67. package/es/domain/dto/sessions/updateSessionAssigneeRequest.js +0 -12
  68. package/es/domain/dto/sessions/updateSessionStatusRequest.js +0 -18
  69. package/es/domain/dto/templateMessages/getTemplateCreditExhaustStatusRequest.js +0 -11
  70. package/es/domain/dto/templateMessages/getTemplateLanguagesRequest.js +0 -7
  71. package/es/domain/dto/templateMessages/index.js +0 -2
  72. package/es/domain/entities/Actor/Actor.js +0 -37
  73. package/es/domain/entities/Actor/index.js +0 -2
  74. package/es/domain/entities/Agent/Agent.js +0 -26
  75. package/es/domain/entities/Agent/index.js +0 -2
  76. package/es/domain/entities/Attachment/Attachment.js +0 -23
  77. package/es/domain/entities/Attachment/index.js +0 -2
  78. package/es/domain/entities/Bot/Bot.js +0 -23
  79. package/es/domain/entities/Bot/index.js +0 -2
  80. package/es/domain/entities/CannedMessage/CannedMessage.js +0 -52
  81. package/es/domain/entities/CannedMessage/index.js +0 -2
  82. package/es/domain/entities/Channel/Channel.js +0 -38
  83. package/es/domain/entities/Channel/index.js +0 -2
  84. package/es/domain/entities/Contact/Contact.js +0 -22
  85. package/es/domain/entities/Contact/index.js +0 -2
  86. package/es/domain/entities/CustomReplyExtension/CustomReplyExtension.js +0 -22
  87. package/es/domain/entities/CustomReplyExtension/index.js +0 -2
  88. package/es/domain/entities/IntegrationService/IntegrationService.js +0 -33
  89. package/es/domain/entities/IntegrationService/index.js +0 -2
  90. package/es/domain/entities/Message/Action.js +0 -25
  91. package/es/domain/entities/Message/ExternalInfo.js +0 -26
  92. package/es/domain/entities/Message/Info.js +0 -44
  93. package/es/domain/entities/Message/InfoTarget.js +0 -22
  94. package/es/domain/entities/Message/Location.js +0 -18
  95. package/es/domain/entities/Message/Message.js +0 -137
  96. package/es/domain/entities/Message/MessageWithSession.js +0 -21
  97. package/es/domain/entities/Message/index.js +0 -7
  98. package/es/domain/entities/Session/Session.js +0 -80
  99. package/es/domain/entities/Session/index.js +0 -2
  100. package/es/domain/entities/TemplateMessage/TemplateCreditExhaustStatus.js +0 -23
  101. package/es/domain/entities/TemplateMessage/TemplateLanguage.js +0 -18
  102. package/es/domain/entities/TemplateMessage/index.js +0 -3
  103. package/es/domain/entities/index.js +0 -12
  104. package/es/domain/enum/actor/ActorType.js +0 -7
  105. package/es/domain/enum/actor/index.js +0 -2
  106. package/es/domain/enum/attachment/AttachmentStatus.js +0 -7
  107. package/es/domain/enum/attachment/index.js +0 -2
  108. package/es/domain/enum/bot/BotServiceType.js +0 -7
  109. package/es/domain/enum/bot/index.js +0 -2
  110. package/es/domain/enum/cannedMessage/CannedMessageStatus.js +0 -6
  111. package/es/domain/enum/cannedMessage/index.js +0 -2
  112. package/es/domain/enum/index.js +0 -8
  113. package/es/domain/enum/integrationServices/IntegrationServices.js +0 -12
  114. package/es/domain/enum/integrationServices/index.js +0 -2
  115. package/es/domain/enum/message/ActionSubType.js +0 -6
  116. package/es/domain/enum/message/ActionType.js +0 -6
  117. package/es/domain/enum/message/ExternalInfoAction.js +0 -9
  118. package/es/domain/enum/message/InfoAction.js +0 -17
  119. package/es/domain/enum/message/InfoSessionStatus.js +0 -10
  120. package/es/domain/enum/message/InfoTargetType.js +0 -11
  121. package/es/domain/enum/message/MessageContentType.js +0 -6
  122. package/es/domain/enum/message/MessageDirection.js +0 -6
  123. package/es/domain/enum/message/MessageMeta.js +0 -4
  124. package/es/domain/enum/message/MessageStatus.js +0 -11
  125. package/es/domain/enum/message/MessageType.js +0 -11
  126. package/es/domain/enum/message/MetaSystemMessageType.js +0 -8
  127. package/es/domain/enum/message/index.js +0 -13
  128. package/es/domain/enum/session/SessionReplyStatus.js +0 -21
  129. package/es/domain/enum/session/SessionStatus.js +0 -10
  130. package/es/domain/enum/session/index.js +0 -3
  131. package/es/domain/enum/templateMessage/TemplateCreditExhaustStatusCode.js +0 -4
  132. package/es/domain/enum/templateMessage/TemplateLanguage.js +0 -74
  133. package/es/domain/enum/templateMessage/index.js +0 -3
  134. package/es/domain/interfaces/IAdapter.js +0 -6
  135. package/es/domain/interfaces/index.js +0 -3
  136. package/es/domain/interfaces/repositories/agents/IAgentRepository.js +0 -17
  137. package/es/domain/interfaces/repositories/agents/index.js +0 -2
  138. package/es/domain/interfaces/repositories/bots/IBotRepository.js +0 -23
  139. package/es/domain/interfaces/repositories/bots/index.js +0 -2
  140. package/es/domain/interfaces/repositories/cannedMessages/ICannedMessageRepository.js +0 -47
  141. package/es/domain/interfaces/repositories/cannedMessages/index.js +0 -2
  142. package/es/domain/interfaces/repositories/channels/IChannelAgentRepository.js +0 -17
  143. package/es/domain/interfaces/repositories/channels/IChannelRepository.js +0 -17
  144. package/es/domain/interfaces/repositories/channels/index.js +0 -3
  145. package/es/domain/interfaces/repositories/contacts/IContactRepository.js +0 -17
  146. package/es/domain/interfaces/repositories/contacts/index.js +0 -2
  147. package/es/domain/interfaces/repositories/index.js +0 -8
  148. package/es/domain/interfaces/repositories/messages/IMessageRepository.js +0 -57
  149. package/es/domain/interfaces/repositories/messages/index.js +0 -2
  150. package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +0 -52
  151. package/es/domain/interfaces/repositories/sessions/index.js +0 -2
  152. package/es/domain/interfaces/repositories/templateMessages/ITemplateMessageRepository.js +0 -21
  153. package/es/domain/interfaces/repositories/templateMessages/index.js +0 -2
  154. package/es/domain/schema/actor/ActorSchema.js +0 -37
  155. package/es/domain/schema/actor/AgentSchema.js +0 -45
  156. package/es/domain/schema/actor/index.js +0 -3
  157. package/es/domain/schema/attachment/AttachmentSchema.js +0 -33
  158. package/es/domain/schema/attachment/index.js +0 -2
  159. package/es/domain/schema/bot/BotSchema.js +0 -33
  160. package/es/domain/schema/bot/index.js +0 -2
  161. package/es/domain/schema/cannedMessage/CannedMessageSchema.js +0 -54
  162. package/es/domain/schema/cannedMessage/index.js +0 -2
  163. package/es/domain/schema/channel/ChannelSchema.js +0 -49
  164. package/es/domain/schema/channel/index.js +0 -2
  165. package/es/domain/schema/contact/ContactSchema.js +0 -27
  166. package/es/domain/schema/contact/index.js +0 -2
  167. package/es/domain/schema/customReplyExtension/CustomReplyExtensionSchema.js +0 -28
  168. package/es/domain/schema/customReplyExtension/index.js +0 -2
  169. package/es/domain/schema/index.js +0 -11
  170. package/es/domain/schema/integrationService/IntegrationServiceSchema.js +0 -31
  171. package/es/domain/schema/integrationService/index.js +0 -2
  172. package/es/domain/schema/message/ActionSchema.js +0 -18
  173. package/es/domain/schema/message/ExternalInfoSchema.js +0 -9
  174. package/es/domain/schema/message/InfoSchema.js +0 -24
  175. package/es/domain/schema/message/InfoTargetSchema.js +0 -35
  176. package/es/domain/schema/message/LocationSchema.js +0 -11
  177. package/es/domain/schema/message/MessageSchema.js +0 -116
  178. package/es/domain/schema/message/MessageWithSessionSchema.js +0 -10
  179. package/es/domain/schema/message/index.js +0 -8
  180. package/es/domain/schema/session/SessionSchema.js +0 -82
  181. package/es/domain/schema/session/index.js +0 -2
  182. package/es/domain/schema/templateMessage/TemplateCreditExhaustStatusSchema.js +0 -13
  183. package/es/domain/schema/templateMessage/TemplateLanguageSchema.js +0 -13
  184. package/es/domain/schema/templateMessage/index.js +0 -3
  185. package/es/frameworks/managers/ModuleFactory.js +0 -76
  186. package/es/frameworks/managers/ModuleManager.js +0 -44
  187. package/es/frameworks/managers/index.js +0 -2
  188. package/es/frameworks/sdk/IMSDK.js +0 -72
  189. package/es/frameworks/sdk/agents/AgentSDK.js +0 -30
  190. package/es/frameworks/sdk/agents/index.js +0 -2
  191. package/es/frameworks/sdk/bots/BotSDK.js +0 -30
  192. package/es/frameworks/sdk/bots/index.js +0 -2
  193. package/es/frameworks/sdk/cannedMessages/CannedMessageSDK.js +0 -30
  194. package/es/frameworks/sdk/cannedMessages/index.js +0 -2
  195. package/es/frameworks/sdk/channels/ChannelSDK.js +0 -37
  196. package/es/frameworks/sdk/channels/index.js +0 -2
  197. package/es/frameworks/sdk/contacts/ContactSDK.js +0 -30
  198. package/es/frameworks/sdk/contacts/index.js +0 -2
  199. package/es/frameworks/sdk/index.js +0 -2
  200. package/es/frameworks/sdk/messages/MessageSDK.js +0 -32
  201. package/es/frameworks/sdk/messages/index.js +0 -2
  202. package/es/frameworks/sdk/sessions/SessionSDK.js +0 -34
  203. package/es/frameworks/sdk/sessions/index.js +0 -2
  204. package/es/frameworks/sdk/templateMessages/TemplateMessageSDK.js +0 -30
  205. package/es/frameworks/sdk/templateMessages/index.js +0 -2
  206. package/es/index.html +0 -25
  207. package/es/index.js +0 -12
  208. package/es/infrastructure/adapters/agents/AgentAdapter.js +0 -28
  209. package/es/infrastructure/adapters/agents/index.js +0 -2
  210. package/es/infrastructure/adapters/attachments/AttachmentAdapter.js +0 -25
  211. package/es/infrastructure/adapters/attachments/index.js +0 -2
  212. package/es/infrastructure/adapters/bots/BotAdapter.js +0 -25
  213. package/es/infrastructure/adapters/bots/index.js +0 -2
  214. package/es/infrastructure/adapters/cannedMessages/CannedMessageAdapter.js +0 -28
  215. package/es/infrastructure/adapters/cannedMessages/index.js +0 -2
  216. package/es/infrastructure/adapters/channels/ChannelAdapter.js +0 -29
  217. package/es/infrastructure/adapters/channels/ChannelAgentAdapter.js +0 -49
  218. package/es/infrastructure/adapters/channels/index.js +0 -3
  219. package/es/infrastructure/adapters/contacts/ContactAdapter.js +0 -24
  220. package/es/infrastructure/adapters/contacts/index.js +0 -2
  221. package/es/infrastructure/adapters/customReplyExtension/CustomReplyExtensionAdapter.js +0 -24
  222. package/es/infrastructure/adapters/customReplyExtension/index.js +0 -2
  223. package/es/infrastructure/adapters/index.js +0 -10
  224. package/es/infrastructure/adapters/messages/MessageAdapter.js +0 -41
  225. package/es/infrastructure/adapters/messages/MessageWithSessionAdapter.js +0 -23
  226. package/es/infrastructure/adapters/messages/index.js +0 -2
  227. package/es/infrastructure/adapters/sessions/SessionAdapter.js +0 -36
  228. package/es/infrastructure/adapters/sessions/index.js +0 -2
  229. package/es/infrastructure/adapters/templateMessages/TemplateCreditExhaustStatusAdapter.js +0 -20
  230. package/es/infrastructure/adapters/templateMessages/TemplateLanguageAdapter.js +0 -20
  231. package/es/infrastructure/adapters/templateMessages/index.js +0 -3
  232. package/es/infrastructure/api/BaseAPI.js +0 -104
  233. package/es/infrastructure/api/UrlBuilder.js +0 -53
  234. package/es/infrastructure/api/agents/AgentAPI.js +0 -14
  235. package/es/infrastructure/api/agents/index.js +0 -2
  236. package/es/infrastructure/api/bots/BotAPI.js +0 -24
  237. package/es/infrastructure/api/bots/index.js +0 -2
  238. package/es/infrastructure/api/cannedMessages/CannedMessageAPI.js +0 -74
  239. package/es/infrastructure/api/cannedMessages/index.js +0 -2
  240. package/es/infrastructure/api/channels/ChannelAPI.js +0 -14
  241. package/es/infrastructure/api/channels/ChannelAgentAPI.js +0 -22
  242. package/es/infrastructure/api/channels/index.js +0 -3
  243. package/es/infrastructure/api/contacts/ContactAPI.js +0 -14
  244. package/es/infrastructure/api/contacts/index.js +0 -2
  245. package/es/infrastructure/api/index.js +0 -8
  246. package/es/infrastructure/api/messages/MessageAPI.js +0 -94
  247. package/es/infrastructure/api/messages/index.js +0 -2
  248. package/es/infrastructure/api/registry/agents/agentAPIRegistry.js +0 -12
  249. package/es/infrastructure/api/registry/agents/constructAgentEndPoint.js +0 -10
  250. package/es/infrastructure/api/registry/agents/index.js +0 -2
  251. package/es/infrastructure/api/registry/bots/botAPIRegistry.js +0 -18
  252. package/es/infrastructure/api/registry/bots/constructBotEndPoint.js +0 -10
  253. package/es/infrastructure/api/registry/bots/index.js +0 -2
  254. package/es/infrastructure/api/registry/cannedMessages/cannedMessageAPIRegistry.js +0 -42
  255. package/es/infrastructure/api/registry/cannedMessages/constructCannedMessageEndPoint.js +0 -10
  256. package/es/infrastructure/api/registry/cannedMessages/index.js +0 -2
  257. package/es/infrastructure/api/registry/channels/channelAPIRegistry.js +0 -16
  258. package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +0 -12
  259. package/es/infrastructure/api/registry/channels/constructChannelEndPoint.js +0 -10
  260. package/es/infrastructure/api/registry/channels/index.js +0 -2
  261. package/es/infrastructure/api/registry/contacts/constructContactEndPoint.js +0 -10
  262. package/es/infrastructure/api/registry/contacts/contactAPIRegistry.js +0 -12
  263. package/es/infrastructure/api/registry/contacts/index.js +0 -2
  264. package/es/infrastructure/api/registry/createAPIRegistry.js +0 -7
  265. package/es/infrastructure/api/registry/createBaseUrl.js +0 -3
  266. package/es/infrastructure/api/registry/getRegistryConfig.js +0 -30
  267. package/es/infrastructure/api/registry/index.js +0 -2
  268. package/es/infrastructure/api/registry/messages/constructMessageEndPoint.js +0 -4
  269. package/es/infrastructure/api/registry/messages/index.js +0 -2
  270. package/es/infrastructure/api/registry/messages/messageAPIRegistry.js +0 -62
  271. package/es/infrastructure/api/registry/sessions/constructSessionEndPoint.js +0 -10
  272. package/es/infrastructure/api/registry/sessions/index.js +0 -2
  273. package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +0 -52
  274. package/es/infrastructure/api/registry/templateMessages/constructTemplateMessageEndPoint.js +0 -10
  275. package/es/infrastructure/api/registry/templateMessages/index.js +0 -2
  276. package/es/infrastructure/api/registry/templateMessages/templateMessageAPIRegistry.js +0 -18
  277. package/es/infrastructure/api/sessions/SessionAPI.js +0 -84
  278. package/es/infrastructure/api/sessions/index.js +0 -2
  279. package/es/infrastructure/api/templateMessages/TemplateMessageAPI.js +0 -24
  280. package/es/infrastructure/api/templateMessages/index.js +0 -2
  281. package/es/infrastructure/config/configRegistry.js +0 -27
  282. package/es/infrastructure/config/index.js +0 -2
  283. package/es/infrastructure/repositories/agents/AgentRepository.js +0 -49
  284. package/es/infrastructure/repositories/agents/index.js +0 -2
  285. package/es/infrastructure/repositories/bots/BotRepository.js +0 -58
  286. package/es/infrastructure/repositories/bots/index.js +0 -2
  287. package/es/infrastructure/repositories/cannedMessages/CannedMessageRepository.js +0 -97
  288. package/es/infrastructure/repositories/cannedMessages/index.js +0 -2
  289. package/es/infrastructure/repositories/channels/ChannelAgentRepository.js +0 -49
  290. package/es/infrastructure/repositories/channels/ChannelRepository.js +0 -49
  291. package/es/infrastructure/repositories/channels/index.js +0 -3
  292. package/es/infrastructure/repositories/contacts/ContactRepository.js +0 -49
  293. package/es/infrastructure/repositories/contacts/index.js +0 -2
  294. package/es/infrastructure/repositories/index.js +0 -8
  295. package/es/infrastructure/repositories/messages/MessageRepository.js +0 -119
  296. package/es/infrastructure/repositories/messages/index.js +0 -2
  297. package/es/infrastructure/repositories/sessions/SessionRepository.js +0 -113
  298. package/es/infrastructure/repositories/sessions/index.js +0 -2
  299. package/es/infrastructure/repositories/templateMessages/TemplateMessageRepository.js +0 -77
  300. package/es/infrastructure/repositories/templateMessages/index.js +0 -2
@@ -1,2 +0,0 @@
1
- import CannedMessageAdapter from './CannedMessageAdapter';
2
- export { CannedMessageAdapter };
@@ -1,29 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { Channel } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class ChannelAdapter extends IAdapter {
5
- adapt(rawChannel) {
6
- if (!rawChannel) {
7
- throw new AdapterError('Channel data is required');
8
- }
9
-
10
- try {
11
- return new Channel({
12
- id: rawChannel.id,
13
- integrationService: rawChannel.integrationService,
14
- name: rawChannel.name,
15
- defaultBotId: rawChannel.defaultBotId,
16
- isActive: rawChannel.isActive,
17
- createdTime: rawChannel.createdTime,
18
- accountName: rawChannel.accountName,
19
- isSubscribed: rawChannel.isSubscribed,
20
- createdBy: rawChannel.createdBy,
21
- isOwner: rawChannel.isOwner,
22
- photoURL: rawChannel.logoURL
23
- }).toJSON();
24
- } catch (error) {
25
- throw new AdapterError(`Failed to adapt channel: ${error.message}`);
26
- }
27
- }
28
-
29
- }
@@ -1,49 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { Agent } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class ChannelAgentAdapter extends IAdapter {
5
- /**
6
- * Adapts channel agent data to Agent entity
7
- * @param {Object} channelAgent - Channel agent data to adapt
8
- * @returns {Object} Adapted agent data
9
- * @throws {AdapterError} When adaptation fails
10
- */
11
- adapt(channelAgent) {
12
- if (!channelAgent) {
13
- throw new AdapterError('Channel agent data is required');
14
- }
15
-
16
- try {
17
- const {
18
- id,
19
- name,
20
- email,
21
- photoURL,
22
- zuid,
23
- type
24
- } = new Agent({
25
- id: channelAgent.id,
26
- name: channelAgent.name,
27
- email: channelAgent.email,
28
- photoURL: channelAgent.photoURL,
29
- zuid: channelAgent.zuid,
30
- type: channelAgent.type,
31
- firstName: null,
32
- lastName: null,
33
- status: null,
34
- role: null
35
- }).toJSON();
36
- return {
37
- id,
38
- name,
39
- email,
40
- photoURL,
41
- zuid,
42
- type
43
- };
44
- } catch (error) {
45
- throw new AdapterError(`Failed to adapt channel agent: ${error.message}`);
46
- }
47
- }
48
-
49
- }
@@ -1,3 +0,0 @@
1
- import ChannelAdapter from './ChannelAdapter';
2
- import ChannelAgentAdapter from './ChannelAgentAdapter';
3
- export { ChannelAgentAdapter, ChannelAdapter };
@@ -1,24 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { Contact } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class ContactAdapter extends IAdapter {
5
- adapt(contactData) {
6
- if (!contactData) {
7
- throw new AdapterError('Contact data is required');
8
- }
9
-
10
- try {
11
- return new Contact({
12
- id: contactData.id,
13
- name: contactData.name,
14
- photoURL: contactData.photoURL,
15
- email: contactData.email,
16
- mobile: contactData.mobile,
17
- phone: contactData.phone
18
- }).toJSON();
19
- } catch (error) {
20
- throw new AdapterError(`Failed to adapt Contact: ${error.message}`);
21
- }
22
- }
23
-
24
- }
@@ -1,2 +0,0 @@
1
- import ContactAdapter from './ContactAdapter';
2
- export { ContactAdapter };
@@ -1,24 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { CustomReplyExtension } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class CustomReplyExtensionAdapter extends IAdapter {
5
- adapt(customReplyExtData) {
6
- if (!customReplyExtData) {
7
- throw new AdapterError('custom Reply Extension Data is required');
8
- }
9
-
10
- try {
11
- return new CustomReplyExtension({
12
- id: customReplyExtData.id,
13
- title: customReplyExtData.title,
14
- message: customReplyExtData.message,
15
- displayMessage: customReplyExtData.displayMessage,
16
- webUrl: customReplyExtData.webUrl,
17
- categoryName: customReplyExtData.categoryName
18
- }).toJSON();
19
- } catch (error) {
20
- throw new AdapterError(`Failed to adapt custom Reply Extension Data: ${error.message}`);
21
- }
22
- }
23
-
24
- }
@@ -1,2 +0,0 @@
1
- import CustomReplyExtensionAdapter from './CustomReplyExtensionAdapter';
2
- export { CustomReplyExtensionAdapter };
@@ -1,10 +0,0 @@
1
- export * from './channels';
2
- export * from './sessions';
3
- export * from './bots';
4
- export * from './attachments';
5
- export * from './messages';
6
- export * from './agents';
7
- export * from './contacts';
8
- export * from './cannedMessages';
9
- export * from './templateMessages';
10
- export * from './customReplyExtension';
@@ -1,41 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { Message } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class MessageAdapter extends IAdapter {
5
- adapt(messageData) {
6
- if (!messageData) {
7
- throw new AdapterError('Message data is required');
8
- }
9
-
10
- try {
11
- return new Message({
12
- id: messageData.id,
13
- sessionId: messageData.sessionId,
14
- displayMessage: messageData.displayMessage,
15
- statusUpdatedTime: messageData.statusUpdatedTime,
16
- actor: messageData.actor,
17
- direction: messageData.direction,
18
- createdTime: messageData.createdTime,
19
- index: messageData.index,
20
- replyToMessage: messageData.replyToMessage,
21
- status: messageData.status,
22
- info: messageData.info,
23
- location: messageData.location,
24
- externalInfo: messageData.externalInfo,
25
- layout: messageData.layout,
26
- action: messageData.action,
27
- meta: messageData.meta,
28
- contentType: messageData.contentType,
29
- fullContentURL: messageData.fullContentURL,
30
- attachment: messageData.attachment,
31
- template: messageData.template,
32
- type: messageData.type,
33
- isRead: messageData.isRead,
34
- article: messageData.article
35
- }).toJSON();
36
- } catch (error) {
37
- throw new AdapterError(`Failed to adapt message: ${error.message}`);
38
- }
39
- }
40
-
41
- }
@@ -1,23 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { MessageWithSession } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- import { MessageAdapter, SessionAdapter } from '../index';
5
- export default class MessageWithSessionAdapter extends IAdapter {
6
- adapt(messageData) {
7
- if (!messageData) {
8
- throw new AdapterError('Message With Session data is required');
9
- }
10
-
11
- const message = new MessageAdapter().adapt(messageData);
12
- const session = new SessionAdapter().adapt(messageData.session);
13
-
14
- try {
15
- return new MessageWithSession({ ...message,
16
- session
17
- }).toJSON();
18
- } catch (error) {
19
- throw new Error(`Failed to adapt message with session: ${error.message}`);
20
- }
21
- }
22
-
23
- }
@@ -1,2 +0,0 @@
1
- import MessageAdapter from './MessageAdapter';
2
- export { MessageAdapter };
@@ -1,36 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { Session } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class SessionAdapter extends IAdapter {
5
- adapt(sessionData) {
6
- if (!sessionData) {
7
- throw new AdapterError('Session data is required');
8
- }
9
-
10
- try {
11
- return new Session({
12
- id: sessionData.id,
13
- channelId: sessionData.channelId,
14
- status: sessionData.status,
15
- createdTime: sessionData.createdTime,
16
- agentId: sessionData.agentId,
17
- botId: sessionData.botId,
18
- actor: sessionData.actor,
19
- subject: sessionData.subject,
20
- messagesCount: sessionData.messagesCount,
21
- agentLastActiveTime: sessionData.agentLastActiveTime,
22
- contactLastActiveTime: sessionData.contactLastActiveTime,
23
- lastActiveTime: sessionData.lastActiveTime,
24
- unreadMessagesCount: sessionData.unreadMessagesCount,
25
- integrationServiceId: sessionData.integrationServiceId,
26
- replyStatus: sessionData.replyStatus,
27
- contactId: sessionData.contactId,
28
- meta: sessionData.meta,
29
- assignee: sessionData.assignee
30
- }).toJSON();
31
- } catch (error) {
32
- throw new AdapterError(`Failed to adapt session: ${error.message}`);
33
- }
34
- }
35
-
36
- }
@@ -1,2 +0,0 @@
1
- import SessionAdapter from './SessionAdapter';
2
- export { SessionAdapter };
@@ -1,20 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { TemplateCreditExhaustStatus } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class TemplateCreditExhaustStatusAdapter extends IAdapter {
5
- adapt(templateCreditExhaustStatusData) {
6
- if (!templateCreditExhaustStatusData) {
7
- throw new AdapterError('Template Credit Exhaust Status data is required');
8
- }
9
-
10
- try {
11
- return new TemplateCreditExhaustStatus({
12
- code: templateCreditExhaustStatusData.code,
13
- message: templateCreditExhaustStatusData.message
14
- }).toJSON();
15
- } catch (error) {
16
- throw new AdapterError(`Failed to adapt Template Credit Exhaust Status: ${error.message}`);
17
- }
18
- }
19
-
20
- }
@@ -1,20 +0,0 @@
1
- import { AdapterError } from '../../../core/errors';
2
- import { TemplateLanguage } from '../../../domain/entities';
3
- import { IAdapter } from '../../../domain/interfaces';
4
- export default class TemplateLanguageAdapter extends IAdapter {
5
- adapt(templateLanguageData) {
6
- if (!templateLanguageData) {
7
- throw new AdapterError('templateLanguage data is required');
8
- }
9
-
10
- try {
11
- return new TemplateLanguage({
12
- code: templateLanguageData.code,
13
- language: templateLanguageData.language
14
- }).toJSON();
15
- } catch (error) {
16
- throw new AdapterError(`Failed to adapt TemplateLanguage: ${error.message}`);
17
- }
18
- }
19
-
20
- }
@@ -1,3 +0,0 @@
1
- import TemplateLanguageAdapter from './TemplateLanguageAdapter';
2
- import TemplateCreditExhaustStatusAdapter from './TemplateCreditExhaustStatusAdapter';
3
- export { TemplateLanguageAdapter, TemplateCreditExhaustStatusAdapter };
@@ -1,104 +0,0 @@
1
- import { ResponseTypes } from '../../core/constants';
2
- import { ResponseUtils } from '../../core/utils';
3
- import configRegistry from '../config/configRegistry';
4
- import { getRegistryConfig } from './registry';
5
- import UrlBuilder from './UrlBuilder';
6
- export default class BaseAPI {
7
- constructor() {
8
- let {
9
- module,
10
- configProvider = configRegistry,
11
- registryProvider = {
12
- getRegistryConfig
13
- },
14
- urlBuilder = new UrlBuilder()
15
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
16
- this.configProvider = configProvider;
17
- this.registryProvider = registryProvider;
18
- this.httpClient = this.configProvider.getHttpClient();
19
- this.baseURL = this.configProvider.getBaseURL();
20
- this.module = module;
21
- this.urlBuilder = urlBuilder;
22
- }
23
-
24
- async request(_ref) {
25
- let {
26
- request,
27
- operation,
28
- header
29
- } = _ref;
30
- const config = this.registryProvider.getRegistryConfig(this.module, operation);
31
-
32
- if (!config) {
33
- throw new Error(`Operation "${operation}" not found in registry for module "${this.module}"`);
34
- }
35
-
36
- const url = this.urlBuilder.buildUrl({
37
- url: config.endpoint,
38
- params: request.params || {},
39
- query: request.query || {}
40
- });
41
- const httpRequest = await this.httpClient.request({
42
- url,
43
- method: config.method,
44
- header,
45
- payload: request.body || {}
46
- });
47
- return httpRequest;
48
- }
49
-
50
- createAPIProxy(customAPI, defaultAPI) {
51
- // If no custom API provided, just use default
52
- if (!customAPI) {
53
- return defaultAPI;
54
- } // Create a proxy for method delegation
55
-
56
-
57
- return new Proxy({}, {
58
- get: (target, prop) => {
59
- // For methods, check if custom implementation exists
60
- if (typeof prop === 'string' && typeof customAPI[prop] === 'function' && this.isMethodOverridden(customAPI, prop)) {
61
- // Use custom implementation if available
62
- return customAPI[prop].bind(customAPI);
63
- } // Fall back to default implementation
64
-
65
-
66
- return defaultAPI[prop].bind(defaultAPI);
67
- }
68
- });
69
- }
70
-
71
- isMethodOverridden(customAPI, methodName) {
72
- if (!customAPI) {
73
- return false;
74
- }
75
-
76
- const customPrototype = Object.getPrototypeOf(customAPI);
77
- return typeof customAPI[methodName] === 'function' && // Method is defined directly on custom prototype
78
- Object.prototype.hasOwnProperty.call(customPrototype, methodName);
79
- }
80
-
81
- async executeAPICall(_ref2) {
82
- let {
83
- operation,
84
- request,
85
- apiProxy,
86
- customAPI,
87
- adapter,
88
- responseType = ResponseTypes.SINGLE
89
- } = _ref2;
90
- const response = await apiProxy[operation](request);
91
- const isOverridden = this.isMethodOverridden(customAPI, operation);
92
-
93
- if (isOverridden) {
94
- return response;
95
- }
96
-
97
- if (responseType === ResponseTypes.NONE || !adapter) {
98
- return response;
99
- }
100
-
101
- return responseType === ResponseTypes.LIST ? ResponseUtils.adaptListResponse(response, adapter.adapt) : ResponseUtils.adaptSingleResponse(response, adapter.adapt);
102
- }
103
-
104
- }
@@ -1,53 +0,0 @@
1
- export default class UrlBuilder {
2
- constructor(baseURL) {
3
- this.baseURL = baseURL;
4
- }
5
-
6
- replacePathParams(url, params) {
7
- let processedUrl = url;
8
- Object.entries(params).forEach(_ref => {
9
- let [key, value] = _ref;
10
- processedUrl = processedUrl.replace(`:${key}`, value);
11
- });
12
- return processedUrl;
13
- }
14
-
15
- buildUrl(_ref2) {
16
- let {
17
- url,
18
- params,
19
- query
20
- } = _ref2;
21
- const paramsObj = params || {};
22
- const queryObj = query || {};
23
- let processedUrl = this.replacePathParams(url, paramsObj);
24
-
25
- if (this.baseURL) {
26
- processedUrl = `${this.baseURL}${processedUrl}`;
27
- }
28
-
29
- const queryString = this.buildQuery(queryObj);
30
-
31
- if (queryString) {
32
- return `${processedUrl}?${queryString}`;
33
- }
34
-
35
- return processedUrl;
36
- }
37
-
38
- buildQuery(query) {
39
- const filteredQuery = Object.entries(query).filter(_ref3 => {
40
- let [, value] = _ref3;
41
- return value !== undefined && value !== null && value !== '';
42
- }).reduce((acc, _ref4) => {
43
- let [key, value] = _ref4;
44
- acc[key] = value;
45
- return acc;
46
- }, {});
47
- return Object.entries(filteredQuery).map(_ref5 => {
48
- let [key, value] = _ref5;
49
- return `${key}=${value}`;
50
- }).join('&');
51
- }
52
-
53
- }
@@ -1,14 +0,0 @@
1
- import { getAgentsRequest } from '../../../domain/dto';
2
- import { IAgentRepository } from '../../../domain/interfaces/repositories';
3
- export default class AgentAPI extends IAgentRepository {
4
- async getAgents() {
5
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getAgentsRequest();
6
- const operation = 'getAgents';
7
- const httpRequest = await this.request({
8
- request,
9
- operation
10
- });
11
- return httpRequest;
12
- }
13
-
14
- }
@@ -1,2 +0,0 @@
1
- import AgentAPI from './AgentAPI';
2
- export { AgentAPI };
@@ -1,24 +0,0 @@
1
- import { getBotsRequest, getBotRequest } from '../../../domain/dto';
2
- import { IBotRepository } from '../../../domain/interfaces/repositories';
3
- export default class BotAPI extends IBotRepository {
4
- async getBots() {
5
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBotsRequest();
6
- const operation = 'getBots';
7
- const httpRequest = await this.request({
8
- request,
9
- operation
10
- });
11
- return httpRequest;
12
- }
13
-
14
- async getBot() {
15
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBotRequest();
16
- const operation = 'getBot';
17
- const httpRequest = await this.request({
18
- request,
19
- operation
20
- });
21
- return httpRequest;
22
- }
23
-
24
- }
@@ -1,2 +0,0 @@
1
- import BotAPI from './BotAPI';
2
- export { BotAPI };
@@ -1,74 +0,0 @@
1
- import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, enableCannedMessageRequest, disableCannedMessageRequest } from '../../../domain/dto';
2
- import { ICannedMessageRepository } from '../../../domain/interfaces/repositories';
3
- export default class CannedMessageAPI extends ICannedMessageRepository {
4
- async getCannedMessages() {
5
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCannedMessagesRequest();
6
- const operation = 'getCannedMessages';
7
- const httpRequest = await this.request({
8
- operation,
9
- request
10
- });
11
- return httpRequest;
12
- }
13
-
14
- async getCannedMessage() {
15
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCannedMessageRequest();
16
- const operation = 'getCannedMessage';
17
- const httpRequest = await this.request({
18
- operation,
19
- request
20
- });
21
- return httpRequest;
22
- }
23
-
24
- async createCannedMessage() {
25
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : createCannedMessageRequest();
26
- const operation = 'createCannedMessage';
27
- const httpRequest = await this.request({
28
- operation,
29
- request
30
- });
31
- return httpRequest;
32
- }
33
-
34
- async updateCannedMessage() {
35
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateCannedMessageRequest();
36
- const operation = 'updateCannedMessage';
37
- const httpRequest = await this.request({
38
- operation,
39
- request
40
- });
41
- return httpRequest;
42
- }
43
-
44
- async deleteCannedMessage() {
45
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteCannedMessageRequest();
46
- const operation = 'deleteCannedMessage';
47
- const httpRequest = await this.request({
48
- operation,
49
- request
50
- });
51
- return httpRequest;
52
- }
53
-
54
- async enableCannedMessage() {
55
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : enableCannedMessageRequest();
56
- const operation = 'enableCannedMessage';
57
- const httpRequest = await this.request({
58
- operation,
59
- request
60
- });
61
- return httpRequest;
62
- }
63
-
64
- async disableCannedMessage() {
65
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : disableCannedMessageRequest();
66
- const operation = 'disableCannedMessage';
67
- const httpRequest = await this.request({
68
- operation,
69
- request
70
- });
71
- return httpRequest;
72
- }
73
-
74
- }
@@ -1,2 +0,0 @@
1
- import CannedMessageAPI from './CannedMessageAPI';
2
- export { CannedMessageAPI };
@@ -1,14 +0,0 @@
1
- import { getChannelsRequest } from '../../../domain/dto';
2
- import { IChannelRepository } from '../../../domain/interfaces/repositories';
3
- export default class ChannelAPI extends IChannelRepository {
4
- async getChannels() {
5
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelsRequest();
6
- const operation = 'getChannels';
7
- const httpRequest = await this.request({
8
- request,
9
- operation
10
- });
11
- return httpRequest;
12
- }
13
-
14
- }
@@ -1,22 +0,0 @@
1
- import { getChannelAgentsRequest } from '../../../domain/dto';
2
- import { IChannelAgentRepository } from '../../../domain/interfaces/repositories';
3
- export default class ChannelAgentAPI extends IChannelAgentRepository {
4
- async getAgents() {
5
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelAgentsRequest();
6
- const {
7
- searchStr
8
- } = request.query;
9
-
10
- if (searchStr) {
11
- request.query.searchStr = `*${encodeURIComponent(searchStr)}*`;
12
- }
13
-
14
- const operation = 'getAgents';
15
- const httpRequest = await this.request({
16
- request,
17
- operation
18
- });
19
- return httpRequest;
20
- }
21
-
22
- }
@@ -1,3 +0,0 @@
1
- import ChannelAgentAPI from './ChannelAgentAPI';
2
- import ChannelAPI from './ChannelAPI';
3
- export { ChannelAgentAPI, ChannelAPI };
@@ -1,14 +0,0 @@
1
- import { getContactsRequest } from '../../../domain/dto';
2
- import { IContactRepository } from '../../../domain/interfaces/repositories';
3
- export default class ContactAPI extends IContactRepository {
4
- async getContacts() {
5
- let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getContactsRequest();
6
- const operation = 'getContacts';
7
- const httpRequest = await this.request({
8
- request,
9
- operation
10
- });
11
- return httpRequest;
12
- }
13
-
14
- }
@@ -1,2 +0,0 @@
1
- import ContactAPI from './ContactAPI';
2
- export { ContactAPI };