@zohoim/client-sdk 1.0.0-poc98 → 1.0.0-replyAreaPoc1

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 (271) hide show
  1. package/es/application/services/agents/AgentService.js +1 -1
  2. package/es/application/services/agents/index.js +1 -1
  3. package/es/application/services/bots/BotService.js +1 -1
  4. package/es/application/services/bots/index.js +1 -1
  5. package/es/application/services/cannedMessages/CannedMessageService.js +51 -0
  6. package/es/application/services/cannedMessages/index.js +2 -0
  7. package/es/application/services/channels/ChannelAgentService.js +1 -1
  8. package/es/application/services/channels/ChannelService.js +1 -1
  9. package/es/application/services/channels/index.js +2 -2
  10. package/es/application/services/contacts/ContactService.js +1 -1
  11. package/es/application/services/contacts/index.js +1 -1
  12. package/es/application/services/index.js +8 -6
  13. package/es/application/services/messages/MessageService.js +6 -1
  14. package/es/application/services/messages/index.js +1 -1
  15. package/es/application/services/sessions/SessionService.js +1 -1
  16. package/es/application/services/sessions/index.js +1 -1
  17. package/es/application/services/templateMessages/TemplateMessageService.js +26 -0
  18. package/es/application/services/templateMessages/index.js +2 -0
  19. package/es/core/constants/ModuleNames.js +4 -1
  20. package/es/core/constants/index.js +2 -2
  21. package/es/core/errors/index.js +2 -2
  22. package/es/core/utils/index.js +2 -2
  23. package/es/core/utils/validateSchema.js +1 -1
  24. package/es/domain/dto/agents/getAgentsRequest.js +1 -1
  25. package/es/domain/dto/agents/index.js +1 -1
  26. package/es/domain/dto/bots/getBotRequest.js +1 -1
  27. package/es/domain/dto/bots/getBotsRequest.js +1 -1
  28. package/es/domain/dto/bots/index.js +2 -2
  29. package/es/domain/dto/cannedMessages/createCannedMessageRequest.js +13 -0
  30. package/es/domain/dto/cannedMessages/deleteCannedMessageRequest.js +13 -0
  31. package/es/domain/dto/cannedMessages/disableCannedMessageRequest.js +13 -0
  32. package/es/domain/dto/cannedMessages/enableCannedMessageRequest.js +13 -0
  33. package/es/domain/dto/cannedMessages/getCannedMessageRequest.js +13 -0
  34. package/es/domain/dto/cannedMessages/getCannedMessagesRequest.js +18 -0
  35. package/es/domain/dto/cannedMessages/index.js +7 -0
  36. package/es/domain/dto/cannedMessages/updateCannedMessageRequest.js +13 -0
  37. package/es/domain/dto/channels/agents/getChannelAgentsRequest.js +1 -1
  38. package/es/domain/dto/channels/agents/index.js +1 -1
  39. package/es/domain/dto/channels/getChannelsRequest.js +1 -1
  40. package/es/domain/dto/channels/index.js +2 -2
  41. package/es/domain/dto/contacts/getContactsRequest.js +1 -1
  42. package/es/domain/dto/contacts/index.js +1 -1
  43. package/es/domain/dto/index.js +8 -6
  44. package/es/domain/dto/messages/deleteMessageRequest.js +1 -1
  45. package/es/domain/dto/messages/getFullContentRequest.js +1 -1
  46. package/es/domain/dto/messages/getMessageRequest.js +14 -0
  47. package/es/domain/dto/messages/getMessagesRequest.js +1 -1
  48. package/es/domain/dto/messages/index.js +9 -8
  49. package/es/domain/dto/messages/initiateSessionRequest.js +2 -1
  50. package/es/domain/dto/messages/resendMessageRequest.js +1 -1
  51. package/es/domain/dto/messages/searchMessagesRequest.js +1 -1
  52. package/es/domain/dto/messages/sendAttachmentRequest.js +1 -2
  53. package/es/domain/dto/messages/sendMessageRequest.js +3 -1
  54. package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +1 -1
  55. package/es/domain/dto/sessions/getSessionLastMessagesRequest.js +1 -1
  56. package/es/domain/dto/sessions/getSessionRequest.js +1 -1
  57. package/es/domain/dto/sessions/getSessionsRequest.js +1 -1
  58. package/es/domain/dto/sessions/index.js +8 -8
  59. package/es/domain/dto/sessions/markSessionAsReadRequest.js +6 -2
  60. package/es/domain/dto/sessions/pickupSessionRequest.js +1 -1
  61. package/es/domain/dto/sessions/updateSessionAssigneeRequest.js +1 -1
  62. package/es/domain/dto/sessions/updateSessionStatusRequest.js +1 -1
  63. package/es/domain/dto/templateMessages/getTemplateCreditExhaustStatusRequest.js +11 -0
  64. package/es/domain/dto/templateMessages/getTemplateLanguagesRequest.js +7 -0
  65. package/es/domain/dto/templateMessages/index.js +2 -0
  66. package/es/domain/entities/Actor/Actor.js +7 -3
  67. package/es/domain/entities/Actor/index.js +1 -1
  68. package/es/domain/entities/Agent/Agent.js +2 -2
  69. package/es/domain/entities/Agent/index.js +1 -1
  70. package/es/domain/entities/Attachment/Attachment.js +2 -2
  71. package/es/domain/entities/Attachment/index.js +1 -1
  72. package/es/domain/entities/Bot/Bot.js +2 -2
  73. package/es/domain/entities/Bot/index.js +1 -1
  74. package/es/domain/entities/CannedMessage/CannedMessage.js +52 -0
  75. package/es/domain/entities/CannedMessage/index.js +2 -0
  76. package/es/domain/entities/Channel/Channel.js +2 -2
  77. package/es/domain/entities/Channel/index.js +1 -1
  78. package/es/domain/entities/Contact/Contact.js +2 -2
  79. package/es/domain/entities/Contact/index.js +1 -1
  80. package/es/domain/entities/CustomReplyExtension/CustomReplyExtension.js +22 -0
  81. package/es/domain/entities/CustomReplyExtension/index.js +2 -0
  82. package/es/domain/entities/IntegrationService/IntegrationService.js +3 -3
  83. package/es/domain/entities/IntegrationService/index.js +1 -1
  84. package/es/domain/entities/Message/Action.js +3 -3
  85. package/es/domain/entities/Message/ExternalInfo.js +11 -2
  86. package/es/domain/entities/Message/Info.js +10 -5
  87. package/es/domain/entities/Message/InfoTarget.js +2 -2
  88. package/es/domain/entities/Message/Location.js +2 -2
  89. package/es/domain/entities/Message/Message.js +69 -10
  90. package/es/domain/entities/Message/MessageWithSession.js +4 -4
  91. package/es/domain/entities/Message/index.js +7 -7
  92. package/es/domain/entities/Session/Session.js +26 -6
  93. package/es/domain/entities/Session/index.js +1 -1
  94. package/es/domain/entities/TemplateMessage/TemplateCreditExhaustStatus.js +24 -0
  95. package/es/domain/entities/TemplateMessage/TemplateLanguage.js +18 -0
  96. package/es/domain/entities/TemplateMessage/index.js +3 -0
  97. package/es/domain/entities/index.js +12 -9
  98. package/es/domain/enum/actor/ActorType.js +1 -1
  99. package/es/domain/enum/actor/index.js +1 -1
  100. package/es/domain/enum/attachment/index.js +1 -1
  101. package/es/domain/enum/bot/index.js +1 -1
  102. package/es/domain/enum/cannedMessage/CannedMessageStatus.js +6 -0
  103. package/es/domain/enum/cannedMessage/index.js +2 -0
  104. package/es/domain/enum/index.js +8 -6
  105. package/es/domain/enum/integrationServices/index.js +1 -1
  106. package/es/domain/enum/message/MessageDirection.js +2 -2
  107. package/es/domain/enum/message/MessageMeta.js +4 -0
  108. package/es/domain/enum/message/MetaSystemMessageType.js +8 -0
  109. package/es/domain/enum/message/index.js +13 -11
  110. package/es/domain/enum/session/index.js +2 -2
  111. package/es/domain/enum/templateMessage/TemplateCreditExhaustStatusCode.js +4 -0
  112. package/es/domain/enum/templateMessage/TemplateLanguage.js +74 -0
  113. package/es/domain/enum/templateMessage/index.js +3 -0
  114. package/es/domain/interfaces/index.js +2 -2
  115. package/es/domain/interfaces/repositories/agents/IAgentRepository.js +3 -3
  116. package/es/domain/interfaces/repositories/agents/index.js +1 -1
  117. package/es/domain/interfaces/repositories/bots/IBotRepository.js +3 -3
  118. package/es/domain/interfaces/repositories/bots/index.js +1 -1
  119. package/es/domain/interfaces/repositories/cannedMessages/ICannedMessageRepository.js +47 -0
  120. package/es/domain/interfaces/repositories/cannedMessages/index.js +2 -0
  121. package/es/domain/interfaces/repositories/channels/IChannelAgentRepository.js +3 -3
  122. package/es/domain/interfaces/repositories/channels/IChannelRepository.js +3 -3
  123. package/es/domain/interfaces/repositories/channels/index.js +2 -2
  124. package/es/domain/interfaces/repositories/contacts/IContactRepository.js +3 -3
  125. package/es/domain/interfaces/repositories/contacts/index.js +1 -1
  126. package/es/domain/interfaces/repositories/index.js +8 -6
  127. package/es/domain/interfaces/repositories/messages/IMessageRepository.js +8 -3
  128. package/es/domain/interfaces/repositories/messages/index.js +1 -1
  129. package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +3 -3
  130. package/es/domain/interfaces/repositories/sessions/index.js +1 -1
  131. package/es/domain/interfaces/repositories/templateMessages/ITemplateMessageRepository.js +21 -0
  132. package/es/domain/interfaces/repositories/templateMessages/index.js +2 -0
  133. package/es/domain/schema/actor/ActorSchema.js +1 -1
  134. package/es/domain/schema/actor/AgentSchema.js +1 -1
  135. package/es/domain/schema/actor/index.js +2 -2
  136. package/es/domain/schema/attachment/AttachmentSchema.js +1 -1
  137. package/es/domain/schema/attachment/index.js +1 -1
  138. package/es/domain/schema/bot/BotSchema.js +1 -1
  139. package/es/domain/schema/bot/index.js +1 -1
  140. package/es/domain/schema/cannedMessage/CannedMessageSchema.js +54 -0
  141. package/es/domain/schema/cannedMessage/index.js +2 -0
  142. package/es/domain/schema/channel/ChannelSchema.js +1 -1
  143. package/es/domain/schema/channel/index.js +1 -1
  144. package/es/domain/schema/contact/index.js +1 -1
  145. package/es/domain/schema/customReplyExtension/CustomReplyExtensionSchema.js +28 -0
  146. package/es/domain/schema/customReplyExtension/index.js +2 -0
  147. package/es/domain/schema/index.js +11 -8
  148. package/es/domain/schema/integrationService/IntegrationServiceSchema.js +1 -1
  149. package/es/domain/schema/integrationService/index.js +1 -1
  150. package/es/domain/schema/message/ActionSchema.js +1 -1
  151. package/es/domain/schema/message/ExternalInfoSchema.js +1 -1
  152. package/es/domain/schema/message/InfoSchema.js +2 -2
  153. package/es/domain/schema/message/InfoTargetSchema.js +1 -1
  154. package/es/domain/schema/message/MessageSchema.js +11 -7
  155. package/es/domain/schema/message/MessageWithSessionSchema.js +2 -2
  156. package/es/domain/schema/message/index.js +7 -7
  157. package/es/domain/schema/session/SessionSchema.js +2 -2
  158. package/es/domain/schema/session/index.js +1 -1
  159. package/es/domain/schema/templateMessage/TemplateCreditExhaustStatusSchema.js +13 -0
  160. package/es/domain/schema/templateMessage/TemplateLanguageSchema.js +13 -0
  161. package/es/domain/schema/templateMessage/index.js +3 -0
  162. package/es/frameworks/managers/ModuleFactory.js +25 -7
  163. package/es/frameworks/managers/ModuleManager.js +3 -3
  164. package/es/frameworks/managers/index.js +1 -1
  165. package/es/frameworks/sdk/IMSDK.js +13 -3
  166. package/es/frameworks/sdk/agents/AgentSDK.js +2 -2
  167. package/es/frameworks/sdk/agents/index.js +1 -1
  168. package/es/frameworks/sdk/bots/BotSDK.js +2 -2
  169. package/es/frameworks/sdk/bots/index.js +1 -1
  170. package/es/frameworks/sdk/cannedMessages/CannedMessageSDK.js +30 -0
  171. package/es/frameworks/sdk/cannedMessages/index.js +2 -0
  172. package/es/frameworks/sdk/channels/ChannelSDK.js +2 -2
  173. package/es/frameworks/sdk/channels/index.js +1 -1
  174. package/es/frameworks/sdk/contacts/ContactSDK.js +2 -2
  175. package/es/frameworks/sdk/contacts/index.js +1 -1
  176. package/es/frameworks/sdk/index.js +1 -1
  177. package/es/frameworks/sdk/messages/MessageSDK.js +2 -2
  178. package/es/frameworks/sdk/messages/index.js +1 -1
  179. package/es/frameworks/sdk/sessions/SessionSDK.js +2 -2
  180. package/es/frameworks/sdk/sessions/index.js +1 -1
  181. package/es/frameworks/sdk/templateMessages/TemplateMessageSDK.js +30 -0
  182. package/es/frameworks/sdk/templateMessages/index.js +2 -0
  183. package/es/index.js +8 -8
  184. package/es/infrastructure/adapters/agents/AgentAdapter.js +4 -4
  185. package/es/infrastructure/adapters/agents/index.js +1 -1
  186. package/es/infrastructure/adapters/attachments/AttachmentAdapter.js +3 -3
  187. package/es/infrastructure/adapters/attachments/index.js +1 -1
  188. package/es/infrastructure/adapters/bots/BotAdapter.js +3 -3
  189. package/es/infrastructure/adapters/bots/index.js +1 -1
  190. package/es/infrastructure/adapters/cannedMessages/CannedMessageAdapter.js +28 -0
  191. package/es/infrastructure/adapters/cannedMessages/index.js +2 -0
  192. package/es/infrastructure/adapters/channels/ChannelAdapter.js +3 -3
  193. package/es/infrastructure/adapters/channels/ChannelAgentAdapter.js +3 -3
  194. package/es/infrastructure/adapters/channels/index.js +2 -2
  195. package/es/infrastructure/adapters/contacts/ContactAdapter.js +3 -3
  196. package/es/infrastructure/adapters/contacts/index.js +1 -1
  197. package/es/infrastructure/adapters/customReplyExtension/CustomReplyExtensionAdapter.js +24 -0
  198. package/es/infrastructure/adapters/customReplyExtension/index.js +2 -0
  199. package/es/infrastructure/adapters/index.js +10 -7
  200. package/es/infrastructure/adapters/messages/MessageAdapter.js +3 -3
  201. package/es/infrastructure/adapters/messages/MessageWithSessionAdapter.js +4 -4
  202. package/es/infrastructure/adapters/messages/index.js +1 -1
  203. package/es/infrastructure/adapters/sessions/SessionAdapter.js +3 -3
  204. package/es/infrastructure/adapters/sessions/index.js +1 -1
  205. package/es/infrastructure/adapters/templateMessages/TemplateCreditExhaustStatusAdapter.js +21 -0
  206. package/es/infrastructure/adapters/templateMessages/TemplateLanguageAdapter.js +20 -0
  207. package/es/infrastructure/adapters/templateMessages/index.js +3 -0
  208. package/es/infrastructure/api/BaseAPI.js +13 -60
  209. package/es/infrastructure/api/UrlBuilder.js +53 -0
  210. package/es/infrastructure/api/agents/AgentAPI.js +2 -2
  211. package/es/infrastructure/api/agents/index.js +1 -1
  212. package/es/infrastructure/api/bots/BotAPI.js +2 -2
  213. package/es/infrastructure/api/bots/index.js +1 -1
  214. package/es/infrastructure/api/cannedMessages/CannedMessageAPI.js +74 -0
  215. package/es/infrastructure/api/cannedMessages/index.js +2 -0
  216. package/es/infrastructure/api/channels/ChannelAPI.js +2 -2
  217. package/es/infrastructure/api/channels/ChannelAgentAPI.js +2 -2
  218. package/es/infrastructure/api/channels/index.js +2 -2
  219. package/es/infrastructure/api/contacts/ContactAPI.js +2 -2
  220. package/es/infrastructure/api/contacts/index.js +1 -1
  221. package/es/infrastructure/api/index.js +8 -6
  222. package/es/infrastructure/api/messages/MessageAPI.js +12 -2
  223. package/es/infrastructure/api/messages/index.js +1 -1
  224. package/es/infrastructure/api/registry/agents/agentAPIRegistry.js +4 -4
  225. package/es/infrastructure/api/registry/agents/constructAgentEndPoint.js +1 -1
  226. package/es/infrastructure/api/registry/agents/index.js +1 -1
  227. package/es/infrastructure/api/registry/bots/botAPIRegistry.js +4 -4
  228. package/es/infrastructure/api/registry/bots/constructBotEndPoint.js +1 -1
  229. package/es/infrastructure/api/registry/bots/index.js +1 -1
  230. package/es/infrastructure/api/registry/cannedMessages/cannedMessageAPIRegistry.js +48 -0
  231. package/es/infrastructure/api/registry/cannedMessages/constructCannedMessageEndPoint.js +10 -0
  232. package/es/infrastructure/api/registry/cannedMessages/index.js +2 -0
  233. package/es/infrastructure/api/registry/channels/channelAPIRegistry.js +5 -5
  234. package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +4 -4
  235. package/es/infrastructure/api/registry/channels/constructChannelEndPoint.js +1 -1
  236. package/es/infrastructure/api/registry/channels/index.js +1 -1
  237. package/es/infrastructure/api/registry/contacts/constructContactEndPoint.js +1 -1
  238. package/es/infrastructure/api/registry/contacts/contactAPIRegistry.js +4 -4
  239. package/es/infrastructure/api/registry/contacts/index.js +1 -1
  240. package/es/infrastructure/api/registry/getRegistryConfig.js +10 -8
  241. package/es/infrastructure/api/registry/index.js +1 -1
  242. package/es/infrastructure/api/registry/messages/constructMessageEndPoint.js +1 -1
  243. package/es/infrastructure/api/registry/messages/index.js +1 -1
  244. package/es/infrastructure/api/registry/messages/messageAPIRegistry.js +11 -6
  245. package/es/infrastructure/api/registry/sessions/constructSessionEndPoint.js +1 -1
  246. package/es/infrastructure/api/registry/sessions/index.js +1 -1
  247. package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +5 -5
  248. package/es/infrastructure/api/sessions/SessionAPI.js +2 -2
  249. package/es/infrastructure/api/sessions/index.js +1 -1
  250. package/es/infrastructure/api/templateMessages/TemplateMessageAPI.js +24 -0
  251. package/es/infrastructure/api/templateMessages/index.js +2 -0
  252. package/es/infrastructure/config/index.js +1 -1
  253. package/es/infrastructure/repositories/agents/AgentRepository.js +4 -4
  254. package/es/infrastructure/repositories/agents/index.js +1 -1
  255. package/es/infrastructure/repositories/bots/BotRepository.js +4 -4
  256. package/es/infrastructure/repositories/bots/index.js +1 -1
  257. package/es/infrastructure/repositories/cannedMessages/CannedMessageRepository.js +97 -0
  258. package/es/infrastructure/repositories/cannedMessages/index.js +2 -0
  259. package/es/infrastructure/repositories/channels/ChannelAgentRepository.js +4 -4
  260. package/es/infrastructure/repositories/channels/ChannelRepository.js +4 -4
  261. package/es/infrastructure/repositories/channels/index.js +2 -2
  262. package/es/infrastructure/repositories/contacts/ContactRepository.js +4 -4
  263. package/es/infrastructure/repositories/contacts/index.js +1 -1
  264. package/es/infrastructure/repositories/index.js +8 -6
  265. package/es/infrastructure/repositories/messages/MessageRepository.js +13 -5
  266. package/es/infrastructure/repositories/messages/index.js +1 -1
  267. package/es/infrastructure/repositories/sessions/SessionRepository.js +4 -4
  268. package/es/infrastructure/repositories/sessions/index.js +1 -1
  269. package/es/infrastructure/repositories/templateMessages/TemplateMessageRepository.js +77 -0
  270. package/es/infrastructure/repositories/templateMessages/index.js +2 -0
  271. package/package.json +7 -8
@@ -1,12 +1,16 @@
1
- import RequestBuilder from "../RequestBuilder";
1
+ import RequestBuilder from '../RequestBuilder';
2
2
 
3
3
  function markSessionAsReadRequest() {
4
4
  let {
5
- body = {}
5
+ body = {},
6
+ params = {}
6
7
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
8
  return new RequestBuilder().withBody({
8
9
  lastSeenMessageId: null,
9
10
  ...body
11
+ }).withParams({
12
+ sessionId: null,
13
+ ...params
10
14
  }).build();
11
15
  }
12
16
 
@@ -1,4 +1,4 @@
1
- import RequestBuilder from "../RequestBuilder";
1
+ import RequestBuilder from '../RequestBuilder';
2
2
 
3
3
  function pickupSessionRequest() {
4
4
  return new RequestBuilder().withParams({
@@ -1,4 +1,4 @@
1
- import RequestBuilder from "../RequestBuilder";
1
+ import RequestBuilder from '../RequestBuilder';
2
2
 
3
3
  function updateSessionAssigneeRequest() {
4
4
  return new RequestBuilder().withParams({
@@ -1,4 +1,4 @@
1
- import RequestBuilder from "../RequestBuilder";
1
+ import RequestBuilder from '../RequestBuilder';
2
2
 
3
3
  function updateSessionStatusRequest() {
4
4
  let {
@@ -0,0 +1,11 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function getTemplateCreditExhaustStatusRequest() {
4
+ let {
5
+ params = {}
6
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ return new RequestBuilder().withParams({ ...params
8
+ }).build();
9
+ }
10
+
11
+ export default getTemplateCreditExhaustStatusRequest;
@@ -0,0 +1,7 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function getTemplateLanguagesRequest() {
4
+ return new RequestBuilder().build();
5
+ }
6
+
7
+ export default getTemplateLanguagesRequest;
@@ -0,0 +1,2 @@
1
+ export { default as getTemplateLanguagesRequest } from './getTemplateLanguagesRequest';
2
+ export { default as getTemplateCreditExhaustStatusRequest } from './getTemplateCreditExhaustStatusRequest';
@@ -1,6 +1,6 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { ActorType } from "../../enum";
3
- import { ActorSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { ActorType } from '../../enum';
3
+ import { ActorSchema } from '../../schema';
4
4
  export default class Actor {
5
5
  constructor() {
6
6
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -21,6 +21,10 @@ export default class Actor {
21
21
  return type === ActorType.BOT;
22
22
  }
23
23
 
24
+ static isSystem(type) {
25
+ return type === ActorType.SYSTEM;
26
+ }
27
+
24
28
  static isEndUser(type) {
25
29
  return type === ActorType.ENDUSER;
26
30
  }
@@ -1,2 +1,2 @@
1
- import Actor from "./Actor";
1
+ import Actor from './Actor';
2
2
  export { Actor };
@@ -1,5 +1,5 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { AgentSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { AgentSchema } from '../../schema';
3
3
  export default class Agent {
4
4
  constructor() {
5
5
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,2 +1,2 @@
1
- import Agent from "./Agent";
1
+ import Agent from './Agent';
2
2
  export { Agent };
@@ -1,5 +1,5 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { AttachmentSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { AttachmentSchema } from '../../schema';
3
3
  export default class Attachment {
4
4
  constructor() {
5
5
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,2 +1,2 @@
1
- import Attachment from "./Attachment";
1
+ import Attachment from './Attachment';
2
2
  export { Attachment };
@@ -1,5 +1,5 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { BotSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { BotSchema } from '../../schema';
3
3
  export default class Bot {
4
4
  constructor() {
5
5
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,2 +1,2 @@
1
- import Bot from "./Bot";
1
+ import Bot from './Bot';
2
2
  export { Bot };
@@ -0,0 +1,52 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { CannedMessageStatus } from '../../enum/cannedMessage';
3
+ import { CannedMessageSchema } from '../../schema';
4
+ export default class Message {
5
+ constructor() {
6
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ const validatedData = validateSchema(CannedMessageSchema, data);
8
+ this.data = {
9
+ id: validatedData.id,
10
+ title: validatedData.title,
11
+ message: validatedData.message,
12
+ tags: validatedData.tags,
13
+ status: validatedData.status,
14
+ uuid: validatedData.uuid,
15
+ createdBy: validatedData.createdBy,
16
+ displayMessage: validatedData.displayMessage,
17
+ type: validatedData.type,
18
+ kind: validatedData.kind,
19
+ isActive: validatedData.isActive,
20
+ meta: validatedData.meta,
21
+ isPrivate: validatedData.isPrivate,
22
+ rejectionReason: validatedData.rejectionReason,
23
+ modifiedTime: validatedData.modifiedTime,
24
+ translations: validatedData.translations
25
+ };
26
+ }
27
+
28
+ static isApproved(status) {
29
+ return status === CannedMessageStatus.APPROVED;
30
+ }
31
+
32
+ static isRejected(status) {
33
+ return status === CannedMessageStatus.REJECTED;
34
+ }
35
+
36
+ static isPending(status) {
37
+ return status === CannedMessageStatus.PENDING;
38
+ }
39
+
40
+ static getMetaValue() {
41
+ let meta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
42
+ let key = arguments.length > 1 ? arguments[1] : undefined;
43
+ const item = meta.find(item => item.name === key);
44
+ return item ? item.value : '';
45
+ }
46
+
47
+ toJSON() {
48
+ return { ...this.data
49
+ };
50
+ }
51
+
52
+ }
@@ -0,0 +1,2 @@
1
+ import CannedMessage from './CannedMessage';
2
+ export { CannedMessage };
@@ -1,5 +1,5 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { ChannelSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { ChannelSchema } from '../../schema';
3
3
  export default class Channel {
4
4
  constructor() {
5
5
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,2 +1,2 @@
1
- import Channel from "./Channel";
1
+ import Channel from './Channel';
2
2
  export { Channel };
@@ -1,5 +1,5 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { ContactSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { ContactSchema } from '../../schema';
3
3
  export default class Contact {
4
4
  constructor() {
5
5
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,2 +1,2 @@
1
- import Contact from "./Contact";
1
+ import Contact from './Contact';
2
2
  export { Contact };
@@ -0,0 +1,22 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { CustomReplyExtensionSchema } from '../../schema';
3
+ export default class CustomReplyExtension {
4
+ constructor() {
5
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
+ const validatedData = validateSchema(CustomReplyExtensionSchema, data);
7
+ this.data = {
8
+ id: validatedData.id,
9
+ title: validatedData.title,
10
+ message: validatedData.message,
11
+ displayMessage: validatedData.displayMessage,
12
+ webUrl: validatedData.webUrl || '',
13
+ categoryName: validatedData.categoryName
14
+ };
15
+ }
16
+
17
+ toJSON() {
18
+ return { ...this.data
19
+ };
20
+ }
21
+
22
+ }
@@ -0,0 +1,2 @@
1
+ import CustomReplyExtension from './CustomReplyExtension';
2
+ export { CustomReplyExtension };
@@ -1,6 +1,6 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { IntegrationServices } from "../../enum";
3
- import { IntegrationServiceSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { IntegrationServices } from '../../enum';
3
+ import { IntegrationServiceSchema } from '../../schema';
4
4
  export default class IntegrationService {
5
5
  constructor() {
6
6
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,2 +1,2 @@
1
- import IntegrationService from "./IntegrationService";
1
+ import IntegrationService from './IntegrationService';
2
2
  export { IntegrationService };
@@ -1,6 +1,6 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { ActionType } from "../../enum";
3
- import { ActionSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { ActionType } from '../../enum';
3
+ import { ActionSchema } from '../../schema';
4
4
  export default class Action {
5
5
  constructor() {
6
6
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,5 +1,6 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { ExternalInfoSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { ExternalInfoAction } from '../../enum';
3
+ import { ExternalInfoSchema } from '../../schema';
3
4
  export default class ExternalInfo {
4
5
  constructor() {
5
6
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -9,6 +10,14 @@ export default class ExternalInfo {
9
10
  };
10
11
  }
11
12
 
13
+ static isGCConversationEnded(action) {
14
+ return action === ExternalInfoAction.GC_CONVERSATION_ENDED;
15
+ }
16
+
17
+ static isZIAConversationEnded(action) {
18
+ return action === ExternalInfoAction.ZIA_CONVERSATION_ENDED;
19
+ }
20
+
12
21
  toJSON() {
13
22
  return { ...this.data
14
23
  };
@@ -1,8 +1,8 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { Actor } from "../Actor";
3
- import { InfoSchema } from "../../schema/message";
4
- import { InfoAction } from "../../enum";
5
- import InfoTarget from "./InfoTarget";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { Actor } from '../Actor';
3
+ import { InfoSchema } from '../../schema/message';
4
+ import { InfoAction } from '../../enum';
5
+ import InfoTarget from './InfoTarget';
6
6
 
7
7
  function adaptTargets() {
8
8
  let targets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -21,6 +21,11 @@ export default class Info {
21
21
  };
22
22
  }
23
23
 
24
+ static isEndSessionMessage() {
25
+ let info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
+ return info && info.action === InfoAction.END_SESSION;
27
+ }
28
+
24
29
  static isAutoAssignMessage() {
25
30
  let info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
31
  return info && info.action === InfoAction.CHAT_AUTO_ASSIGN;
@@ -1,5 +1,5 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { InfoTargetSchema } from "../../schema/message";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { InfoTargetSchema } from '../../schema/message';
3
3
  export default class InfoTarget {
4
4
  constructor() {
5
5
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,5 +1,5 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { LocationSchema } from "../../schema";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { LocationSchema } from '../../schema';
3
3
  export default class Location {
4
4
  constructor() {
5
5
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,12 +1,12 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { MessageDirection, MessageStatus, MessageTypes } from "../../enum";
3
- import { MessageSchema } from "../../schema";
4
- import { Actor } from "../Actor";
5
- import { Attachment } from "../Attachment";
6
- import Action from "./Action";
7
- import ExternalInfo from "./ExternalInfo";
8
- import Info from "./Info";
9
- import Location from "./Location";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { MessageDirection, MessageStatus, MessageTypes, MessageMeta, MetaSystemMessageType } from '../../enum';
3
+ import { MessageSchema } from '../../schema';
4
+ import { Actor } from '../Actor';
5
+ import { Attachment } from '../Attachment';
6
+ import Action from './Action';
7
+ import ExternalInfo from './ExternalInfo';
8
+ import Info from './Info';
9
+ import Location from './Location';
10
10
  export default class Message {
11
11
  constructor() {
12
12
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -34,7 +34,8 @@ export default class Message {
34
34
  template: validatedData.template,
35
35
  type: validatedData.type,
36
36
  isRead: validatedData.isRead,
37
- article: validatedData.article
37
+ article: validatedData.article,
38
+ webUrl: validatedData.webUrl
38
39
  };
39
40
  }
40
41
 
@@ -58,14 +59,72 @@ export default class Message {
58
59
  return type === MessageTypes.INFO;
59
60
  }
60
61
 
62
+ static isExternalInfo(type) {
63
+ return type === MessageTypes.EXTERNAL_INFO;
64
+ }
65
+
61
66
  static isAttachment(type) {
62
67
  return type === MessageTypes.ATTACHMENT;
63
68
  }
64
69
 
70
+ static isTemplate(type) {
71
+ return type === MessageTypes.TEMPLATE;
72
+ }
73
+
65
74
  static isActionMessage(type) {
66
75
  return type === MessageTypes.ACTION;
67
76
  }
68
77
 
78
+ static getMetaValue() {
79
+ let meta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
80
+ let key = arguments.length > 1 ? arguments[1] : undefined;
81
+
82
+ if (Array.isArray(meta) && meta.length > 0) {
83
+ const item = meta.find(item => item.name === key);
84
+ return item ? item.value : '';
85
+ }
86
+
87
+ return '';
88
+ }
89
+
90
+ static getSystemMessageValue(meta) {
91
+ return Message.getMetaValue(meta, MessageMeta.SYSTEM_MESSAGE_TYPE);
92
+ }
93
+
94
+ static isSystemMessage(meta) {
95
+ const systemMessageType = Message.getSystemMessageValue(meta);
96
+ return !!systemMessageType;
97
+ }
98
+
99
+ static isHapinessRating(meta) {
100
+ const messageType = Message.getSystemMessageValue(meta);
101
+ return messageType === MetaSystemMessageType.CX_HAPPINESS_SURVEY;
102
+ }
103
+
104
+ static isWelcomeMessage(meta) {
105
+ const messageType = Message.getSystemMessageValue(meta);
106
+ return messageType === MetaSystemMessageType.WELCOMEMSG;
107
+ }
108
+
109
+ static isWorkflowMessage(meta) {
110
+ const messageType = Message.getSystemMessageValue(meta);
111
+ return messageType === MetaSystemMessageType.WORKFLOW_MESSAGE;
112
+ }
113
+
114
+ static isWorkflowNotification(meta) {
115
+ const messageType = Message.getSystemMessageValue(meta);
116
+ return messageType === MetaSystemMessageType.WORKFLOW_NOTIFICATION;
117
+ }
118
+
119
+ static isUnsupportedFile(meta) {
120
+ const messageType = Message.getSystemMessageValue(meta);
121
+ return messageType === MetaSystemMessageType.UN_SUPPORTED_FILE;
122
+ }
123
+
124
+ static isFailed(status) {
125
+ return status === MessageStatus.FAILED;
126
+ }
127
+
69
128
  static isAutoSent(systemMsgType) {
70
129
  return !!systemMsgType;
71
130
  }
@@ -1,7 +1,7 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { MessageWithSessionSchema } from "../../schema";
3
- import { Session } from "../Session";
4
- import Message from "./Message";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { MessageWithSessionSchema } from '../../schema';
3
+ import { Session } from '../Session';
4
+ import Message from './Message';
5
5
  export default class MessageWithSession {
6
6
  constructor() {
7
7
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1,7 +1,7 @@
1
- export { default as Message } from "./Message";
2
- export { default as Info } from "./Info";
3
- export { default as Action } from "./Action";
4
- export { default as ExternalInfo } from "./ExternalInfo";
5
- export { default as Location } from "./Location";
6
- export { default as MessageWithSession } from "./MessageWithSession";
7
- export { default as InfoTarget } from "./InfoTarget";
1
+ export { default as Message } from './Message';
2
+ export { default as Info } from './Info';
3
+ export { default as Action } from './Action';
4
+ export { default as ExternalInfo } from './ExternalInfo';
5
+ export { default as Location } from './Location';
6
+ export { default as MessageWithSession } from './MessageWithSession';
7
+ export { default as InfoTarget } from './InfoTarget';
@@ -1,7 +1,7 @@
1
- import { validateSchema } from "../../../core/utils";
2
- import { SessionSchema } from "../../schema";
3
- import { Actor } from "../Actor";
4
- import { SessionReplyStatus, SessionStatus } from "../../enum";
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { SessionSchema } from '../../schema';
3
+ import { Actor } from '../Actor';
4
+ import { SessionReplyStatus, SessionStatus } from '../../enum';
5
5
  export default class Session {
6
6
  constructor() {
7
7
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -36,14 +36,34 @@ export default class Session {
36
36
  return sessionStatus === SessionStatus.BLOCKED;
37
37
  }
38
38
 
39
- static isInactiveChannel(replyStatus) {
40
- return replyStatus === SessionReplyStatus.CHANNEL_INACTIVE;
39
+ static isOnProgress(sessionStatus) {
40
+ return sessionStatus === SessionStatus.ON_PROGRESS;
41
+ }
42
+
43
+ static isOnHold(sessionStatus) {
44
+ return sessionStatus === SessionStatus.ON_HOLD;
41
45
  }
42
46
 
43
47
  static isOpen(sessionStatus) {
44
48
  return sessionStatus === SessionStatus.OPEN;
45
49
  }
46
50
 
51
+ static isInactiveChannel(replyStatus) {
52
+ return replyStatus === SessionReplyStatus.CHANNEL_INACTIVE;
53
+ }
54
+
55
+ static isChannelDeleted(replyStatus) {
56
+ return replyStatus === SessionReplyStatus.CHANNEL_DELETED;
57
+ }
58
+
59
+ static isReplyAccepted(replyStatus) {
60
+ return replyStatus === SessionReplyStatus.ACCEPTED;
61
+ }
62
+
63
+ static isEndUserOffline(replyStatus) {
64
+ return replyStatus === SessionReplyStatus.ENDUSER_OFFLINE;
65
+ }
66
+
47
67
  static isCreated(sessionStatus) {
48
68
  return sessionStatus === SessionStatus.CREATED;
49
69
  }
@@ -1,2 +1,2 @@
1
- import Session from "./Session";
1
+ import Session from './Session';
2
2
  export { Session };
@@ -0,0 +1,24 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { TemplateCreditExhaustStatusCode } from '../../enum';
3
+ import { TemplateCreditExhaustStatusSchema } from '../../schema';
4
+ export default class TemplateCreditExhaustStatus {
5
+ constructor() {
6
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ const validatedData = validateSchema(TemplateCreditExhaustStatusSchema, data);
8
+ this.data = {
9
+ code: validatedData.code,
10
+ message: validatedData.message,
11
+ error: validatedData.error
12
+ };
13
+ }
14
+
15
+ static isInSufficientCredits(code) {
16
+ return code === TemplateCreditExhaustStatusCode.INSUFFICIENT_CREDITS;
17
+ }
18
+
19
+ toJSON() {
20
+ return { ...this.data
21
+ };
22
+ }
23
+
24
+ }
@@ -0,0 +1,18 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { TemplateLanguageSchema } from '../../schema';
3
+ export default class TemplateLanguage {
4
+ constructor() {
5
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
+ const validatedData = validateSchema(TemplateLanguageSchema, data);
7
+ this.data = {
8
+ code: validatedData.code,
9
+ language: validatedData.language
10
+ };
11
+ }
12
+
13
+ toJSON() {
14
+ return { ...this.data
15
+ };
16
+ }
17
+
18
+ }
@@ -0,0 +1,3 @@
1
+ import TemplateLanguage from './TemplateLanguage';
2
+ import TemplateCreditExhaustStatus from './TemplateCreditExhaustStatus';
3
+ export { TemplateLanguage, TemplateCreditExhaustStatus };
@@ -1,9 +1,12 @@
1
- export * from "./Actor";
2
- export * from "./Agent";
3
- export * from "./Session";
4
- export * from "./Bot";
5
- export * from "./Attachment";
6
- export * from "./Message";
7
- export * from "./Channel";
8
- export * from "./Contact";
9
- export * from "./IntegrationService";
1
+ export * from './Actor';
2
+ export * from './Agent';
3
+ export * from './Session';
4
+ export * from './Bot';
5
+ export * from './Attachment';
6
+ export * from './Message';
7
+ export * from './Channel';
8
+ export * from './Contact';
9
+ export * from './IntegrationService';
10
+ export * from './CannedMessage';
11
+ export * from './TemplateMessage';
12
+ export * from './CustomReplyExtension';
@@ -1,7 +1,7 @@
1
1
  const ActorType = {
2
2
  AGENT: 'AGENT',
3
3
  BOT: 'BOT',
4
- ENDUSER: 'ENDUSER',
4
+ ENDUSER: 'END_USER',
5
5
  SYSTEM: 'SYSTEM'
6
6
  };
7
7
  export default ActorType;
@@ -1,2 +1,2 @@
1
- import ActorType from "./ActorType";
1
+ import ActorType from './ActorType';
2
2
  export { ActorType };
@@ -1,2 +1,2 @@
1
- import AttachmentStatus from "./AttachmentStatus";
1
+ import AttachmentStatus from './AttachmentStatus';
2
2
  export { AttachmentStatus };
@@ -1,2 +1,2 @@
1
- import BotServiceType from "./BotServiceType";
1
+ import BotServiceType from './BotServiceType';
2
2
  export { BotServiceType };