@zohoim/client-sdk 1.0.0-poc5 → 1.0.0-poc51

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 (228) hide show
  1. package/es/application/services/agents/AgentService.js +21 -0
  2. package/es/application/services/agents/index.js +2 -0
  3. package/es/application/services/bots/BotService.js +21 -0
  4. package/es/application/services/bots/index.js +2 -0
  5. package/es/application/services/channels/ChannelAgentService.js +21 -0
  6. package/es/application/services/channels/ChannelService.js +21 -0
  7. package/es/application/services/channels/index.js +3 -0
  8. package/es/application/services/contacts/ContactService.js +21 -0
  9. package/es/application/services/contacts/index.js +2 -0
  10. package/es/application/services/index.js +6 -0
  11. package/es/application/services/messages/MessageService.js +56 -0
  12. package/es/application/services/messages/index.js +2 -0
  13. package/es/application/services/sessions/SessionService.js +51 -0
  14. package/es/application/services/sessions/index.js +2 -0
  15. package/es/core/constants/ModuleNames.js +9 -0
  16. package/es/core/constants/index.js +5 -0
  17. package/es/core/errors/AdapterError.js +7 -0
  18. package/es/core/errors/index.js +3 -0
  19. package/es/core/utils/ResponseUtils.js +24 -0
  20. package/es/core/utils/index.js +3 -0
  21. package/es/core/utils/validateSchema.js +76 -0
  22. package/es/domain/dto/RequestBuilder.js +44 -0
  23. package/es/domain/dto/agents/getAgentsRequest.js +12 -0
  24. package/es/domain/dto/agents/index.js +1 -0
  25. package/es/domain/dto/bots/getBotsRequest.js +15 -0
  26. package/es/domain/dto/bots/index.js +1 -0
  27. package/es/domain/dto/channels/agents/getChannelAgentsRequest.js +13 -0
  28. package/es/domain/dto/channels/agents/index.js +1 -0
  29. package/es/domain/dto/channels/getChannelsRequest.js +23 -0
  30. package/es/domain/dto/channels/index.js +3 -0
  31. package/es/domain/dto/contacts/getContactsRequest.js +10 -0
  32. package/es/domain/dto/contacts/index.js +1 -0
  33. package/es/domain/dto/index.js +6 -0
  34. package/es/domain/dto/messages/deleteMessageRequest.js +14 -0
  35. package/es/domain/dto/messages/getFullContentRequest.js +14 -0
  36. package/es/domain/dto/messages/getMessagesRequest.js +20 -0
  37. package/es/domain/dto/messages/index.js +8 -0
  38. package/es/domain/dto/messages/initiateSessionRequest.js +21 -0
  39. package/es/domain/dto/messages/resendMessageRequest.js +14 -0
  40. package/es/domain/dto/messages/searchMessagesRequest.js +22 -0
  41. package/es/domain/dto/messages/sendAttachmentRequest.js +20 -0
  42. package/es/domain/dto/messages/sendMessageRequest.js +17 -0
  43. package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +13 -0
  44. package/es/domain/dto/sessions/getSessionLastMessagesRequest.js +13 -0
  45. package/es/domain/dto/sessions/getSessionRequest.js +13 -0
  46. package/es/domain/dto/sessions/getSessionsRequest.js +26 -0
  47. package/es/domain/dto/sessions/index.js +7 -0
  48. package/es/domain/dto/sessions/markSessionAsReadRequest.js +13 -0
  49. package/es/domain/dto/sessions/updateSessionAssigneeRequest.js +12 -0
  50. package/es/domain/dto/sessions/updateSessionStatusRequest.js +17 -0
  51. package/es/domain/entities/Actor/Actor.js +28 -0
  52. package/es/domain/entities/Actor/index.js +2 -2
  53. package/es/domain/entities/Agent/Agent.js +16 -102
  54. package/es/domain/entities/Agent/index.js +1 -1
  55. package/es/domain/entities/Attachment/Attachment.js +22 -0
  56. package/es/domain/entities/Attachment/index.js +2 -0
  57. package/es/domain/entities/Bot/Bot.js +23 -0
  58. package/es/domain/entities/Bot/index.js +2 -0
  59. package/es/domain/entities/Channel/Channel.js +38 -0
  60. package/es/domain/entities/Channel/index.js +2 -0
  61. package/es/domain/entities/Contact/Contact.js +22 -0
  62. package/es/domain/entities/Contact/index.js +2 -0
  63. package/es/domain/entities/Message/Action.js +19 -0
  64. package/es/domain/entities/Message/ExternalInfo.js +17 -0
  65. package/es/domain/entities/Message/Info.js +21 -0
  66. package/es/domain/entities/Message/Location.js +18 -0
  67. package/es/domain/entities/Message/Message.js +45 -0
  68. package/es/domain/entities/Message/MessageWithSession.js +21 -0
  69. package/es/domain/entities/Message/index.js +6 -0
  70. package/es/domain/entities/Session/Session.js +35 -0
  71. package/es/domain/entities/Session/index.js +2 -0
  72. package/es/domain/entities/index.js +8 -2
  73. package/es/domain/enum/actor/ActorType.js +7 -0
  74. package/es/domain/enum/actor/index.js +2 -0
  75. package/es/domain/enum/bot/BotServiceType.js +7 -0
  76. package/es/domain/enum/bot/index.js +2 -0
  77. package/es/domain/enum/index.js +5 -0
  78. package/es/domain/enum/integrationServices/IntegrationServices.js +11 -0
  79. package/es/domain/enum/integrationServices/index.js +2 -0
  80. package/es/domain/enum/message/ActionSubType.js +6 -0
  81. package/es/domain/enum/message/ActionType.js +6 -0
  82. package/es/domain/enum/message/ExternalInfoAction.js +9 -0
  83. package/es/domain/enum/message/InfoAction.js +17 -0
  84. package/es/domain/enum/message/InfoSessionStatus.js +10 -0
  85. package/es/domain/enum/message/MessageContentType.js +6 -0
  86. package/es/domain/enum/message/MessageDirection.js +6 -0
  87. package/es/domain/enum/message/MessageStatus.js +11 -0
  88. package/es/domain/enum/message/MessageType.js +11 -0
  89. package/es/domain/enum/message/index.js +10 -0
  90. package/es/domain/enum/session/SessionReplyStatus.js +20 -0
  91. package/es/domain/enum/session/SessionStatus.js +9 -0
  92. package/es/domain/enum/session/index.js +3 -0
  93. package/es/domain/interfaces/IAdapter.js +6 -0
  94. package/es/domain/interfaces/index.js +3 -1
  95. package/es/domain/interfaces/repositories/agents/IAgentRepository.js +9 -0
  96. package/es/domain/interfaces/repositories/agents/index.js +2 -0
  97. package/es/domain/interfaces/repositories/bots/IBotRepository.js +9 -0
  98. package/es/domain/interfaces/repositories/bots/index.js +2 -0
  99. package/es/domain/interfaces/repositories/channels/IChannelAgentRepository.js +9 -0
  100. package/es/domain/interfaces/repositories/channels/IChannelRepository.js +9 -0
  101. package/es/domain/interfaces/repositories/channels/index.js +3 -0
  102. package/es/domain/interfaces/repositories/contacts/IContactRepository.js +9 -0
  103. package/es/domain/interfaces/repositories/contacts/index.js +2 -0
  104. package/es/domain/interfaces/repositories/index.js +6 -0
  105. package/es/domain/interfaces/repositories/messages/IMessageRepository.js +43 -0
  106. package/es/domain/interfaces/repositories/messages/index.js +2 -0
  107. package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +39 -0
  108. package/es/domain/interfaces/repositories/sessions/index.js +2 -0
  109. package/es/domain/schema/actor/ActorSchema.js +33 -0
  110. package/es/domain/schema/actor/AgentSchema.js +33 -0
  111. package/es/domain/schema/actor/index.js +3 -0
  112. package/es/domain/schema/attachment/AttachmentSchema.js +27 -0
  113. package/es/domain/schema/attachment/index.js +2 -0
  114. package/es/domain/schema/bot/BotSchema.js +33 -0
  115. package/es/domain/schema/bot/index.js +2 -0
  116. package/es/domain/schema/channel/ChannelSchema.js +49 -0
  117. package/es/domain/schema/channel/index.js +2 -0
  118. package/es/domain/schema/contact/ContactSchema.js +27 -0
  119. package/es/domain/schema/contact/index.js +2 -0
  120. package/es/domain/schema/index.js +8 -0
  121. package/es/domain/schema/integrationService/IntegrationServiceSchema.js +31 -0
  122. package/es/domain/schema/integrationService/index.js +2 -0
  123. package/es/domain/schema/message/ActionSchema.js +18 -0
  124. package/es/domain/schema/message/ExternalInfoSchema.js +9 -0
  125. package/es/domain/schema/message/InfoSchema.js +24 -0
  126. package/es/domain/schema/message/LocationSchema.js +11 -0
  127. package/es/domain/schema/message/MessageSchema.js +112 -0
  128. package/es/domain/schema/message/MessageWithSessionSchema.js +10 -0
  129. package/es/domain/schema/message/index.js +7 -0
  130. package/es/domain/schema/session/SessionSchema.js +82 -0
  131. package/es/domain/schema/session/index.js +2 -0
  132. package/es/frameworks/managers/ModuleFactory.js +58 -0
  133. package/es/frameworks/managers/ModuleManager.js +44 -0
  134. package/es/frameworks/managers/index.js +2 -0
  135. package/es/frameworks/sdk/IMSDK.js +62 -0
  136. package/es/frameworks/sdk/agents/AgentSDK.js +30 -0
  137. package/es/frameworks/sdk/agents/index.js +2 -0
  138. package/es/frameworks/sdk/bots/BotSDK.js +30 -0
  139. package/es/frameworks/sdk/bots/index.js +2 -0
  140. package/es/frameworks/sdk/channels/ChannelSDK.js +37 -0
  141. package/es/frameworks/sdk/channels/index.js +2 -0
  142. package/es/frameworks/sdk/contacts/ContactSDK.js +30 -0
  143. package/es/frameworks/sdk/contacts/index.js +2 -0
  144. package/es/frameworks/sdk/index.js +2 -0
  145. package/es/frameworks/sdk/messages/MessageSDK.js +32 -0
  146. package/es/frameworks/sdk/messages/index.js +2 -0
  147. package/es/frameworks/sdk/sessions/SessionSDK.js +34 -0
  148. package/es/frameworks/sdk/sessions/index.js +2 -0
  149. package/es/index.js +9 -6
  150. package/es/infrastructure/adapters/agents/AgentAdapter.js +29 -0
  151. package/es/infrastructure/adapters/agents/index.js +2 -0
  152. package/es/infrastructure/adapters/attachments/AttachmentAdapter.js +24 -0
  153. package/es/infrastructure/adapters/attachments/index.js +2 -0
  154. package/es/infrastructure/adapters/bots/BotAdapter.js +25 -0
  155. package/es/infrastructure/adapters/bots/index.js +2 -0
  156. package/es/infrastructure/adapters/channels/ChannelAdapter.js +29 -0
  157. package/es/infrastructure/adapters/channels/ChannelAgentAdapter.js +30 -0
  158. package/es/infrastructure/adapters/channels/index.js +3 -0
  159. package/es/infrastructure/adapters/contacts/ContactAdapter.js +24 -0
  160. package/es/infrastructure/adapters/contacts/index.js +2 -0
  161. package/es/infrastructure/adapters/index.js +7 -0
  162. package/es/infrastructure/adapters/messages/MessageAdapter.js +41 -0
  163. package/es/infrastructure/adapters/messages/MessageWithSessionAdapter.js +23 -0
  164. package/es/infrastructure/adapters/messages/index.js +2 -0
  165. package/es/infrastructure/adapters/sessions/SessionAdapter.js +36 -0
  166. package/es/infrastructure/adapters/sessions/index.js +2 -0
  167. package/es/infrastructure/api/BaseAPI.js +92 -0
  168. package/es/infrastructure/api/agents/AgentAPI.js +21 -0
  169. package/es/infrastructure/api/agents/index.js +2 -0
  170. package/es/infrastructure/api/bots/BotAPI.js +21 -0
  171. package/es/infrastructure/api/bots/index.js +2 -0
  172. package/es/infrastructure/api/channels/ChannelAPI.js +21 -0
  173. package/es/infrastructure/api/channels/ChannelAgentAPI.js +29 -0
  174. package/es/infrastructure/api/channels/index.js +3 -0
  175. package/es/infrastructure/api/contacts/ContactAPI.js +21 -0
  176. package/es/infrastructure/api/contacts/index.js +2 -0
  177. package/es/infrastructure/api/index.js +6 -0
  178. package/es/infrastructure/api/messages/MessageAPI.js +91 -0
  179. package/es/infrastructure/api/messages/index.js +2 -0
  180. package/es/infrastructure/api/registry/agents/agentAPIRegistry.js +12 -0
  181. package/es/infrastructure/api/registry/agents/constructAgentEndPoint.js +10 -0
  182. package/es/infrastructure/api/registry/agents/index.js +2 -0
  183. package/es/infrastructure/api/registry/bots/botAPIRegistry.js +12 -0
  184. package/es/infrastructure/api/registry/bots/constructBotEndPoint.js +10 -0
  185. package/es/infrastructure/api/registry/bots/index.js +2 -0
  186. package/es/infrastructure/api/registry/channels/channelAPIRegistry.js +16 -0
  187. package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +12 -0
  188. package/es/infrastructure/api/registry/channels/constructChannelEndPoint.js +10 -0
  189. package/es/infrastructure/api/registry/channels/index.js +2 -0
  190. package/es/infrastructure/api/registry/contacts/constructContactEndPoint.js +10 -0
  191. package/es/infrastructure/api/registry/contacts/contactAPIRegistry.js +12 -0
  192. package/es/infrastructure/api/registry/contacts/index.js +2 -0
  193. package/es/infrastructure/api/registry/createAPIRegistry.js +7 -0
  194. package/es/infrastructure/api/registry/createBaseUrl.js +3 -0
  195. package/es/infrastructure/api/registry/getRegistryConfig.js +26 -0
  196. package/es/infrastructure/api/registry/index.js +2 -0
  197. package/es/infrastructure/api/registry/messages/constructMessageEndPoint.js +4 -0
  198. package/es/infrastructure/api/registry/messages/index.js +2 -0
  199. package/es/infrastructure/api/registry/messages/messageAPIRegistry.js +57 -0
  200. package/es/infrastructure/api/registry/sessions/constructSessionEndPoint.js +10 -0
  201. package/es/infrastructure/api/registry/sessions/index.js +2 -0
  202. package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +46 -0
  203. package/es/infrastructure/api/sessions/SessionAPI.js +81 -0
  204. package/es/infrastructure/api/sessions/index.js +2 -0
  205. package/es/infrastructure/config/configRegistry.js +27 -0
  206. package/es/infrastructure/config/index.js +2 -0
  207. package/es/infrastructure/repositories/agents/AgentRepository.js +27 -0
  208. package/es/infrastructure/repositories/agents/index.js +2 -0
  209. package/es/infrastructure/repositories/bots/BotRepository.js +27 -0
  210. package/es/infrastructure/repositories/bots/index.js +2 -0
  211. package/es/infrastructure/repositories/channels/ChannelAgentRepository.js +27 -0
  212. package/es/infrastructure/repositories/channels/ChannelRepository.js +27 -0
  213. package/es/infrastructure/repositories/channels/index.js +3 -0
  214. package/es/infrastructure/repositories/contacts/ContactRepository.js +27 -0
  215. package/es/infrastructure/repositories/contacts/index.js +2 -0
  216. package/es/infrastructure/repositories/index.js +6 -0
  217. package/es/infrastructure/repositories/messages/MessageRepository.js +72 -0
  218. package/es/infrastructure/repositories/messages/index.js +2 -0
  219. package/es/infrastructure/repositories/sessions/SessionRepository.js +67 -0
  220. package/es/infrastructure/repositories/sessions/index.js +2 -0
  221. package/package.json +4 -1
  222. package/es/domain/entities/Actor/ActorType.js +0 -6
  223. package/es/domain/interfaces/channels/IChannelAgent.js +0 -6
  224. package/es/domain/interfaces/channels/index.js +0 -2
  225. package/es/domain/services/channels/ChannelAgentService.js +0 -14
  226. package/es/domain/services/channels/index.js +0 -2
  227. package/es/domain/services/index.js +0 -1
  228. /package/es/{domain → core}/errors/ValidationError.js +0 -0
@@ -0,0 +1,7 @@
1
+ const ActorType = {
2
+ AGENT: 'AGENT',
3
+ BOT: 'BOT',
4
+ ENDUSER: 'ENDUSER',
5
+ SYSTEM: 'SYSTEM'
6
+ };
7
+ export default ActorType;
@@ -0,0 +1,2 @@
1
+ import ActorType from "./ActorType";
2
+ export { ActorType };
@@ -0,0 +1,7 @@
1
+ const BotServiceType = {
2
+ DESK_GC_BOT: 'DESK_GC_BOT',
3
+ DESK_ZIA_BOT: 'DESK_ZIA_BOT',
4
+ ZOHO_GC_BOT: 'ZOHO_GC_BOT',
5
+ ZOHO_ZIA_BOT: 'ZOHO_ZIA_BOT'
6
+ };
7
+ export default BotServiceType;
@@ -0,0 +1,2 @@
1
+ import BotServiceType from "./BotServiceType";
2
+ export { BotServiceType };
@@ -0,0 +1,5 @@
1
+ export * from "./integrationServices";
2
+ export * from "./session";
3
+ export * from "./actor";
4
+ export * from "./bot";
5
+ export * from "./message";
@@ -0,0 +1,11 @@
1
+ const IntegrationServices = {
2
+ TWILIO: 'TWILIO',
3
+ WHATSAPP: 'WHATSAPP',
4
+ TELEGRAM: 'TELEGRAM',
5
+ WECHAT: 'WECHAT',
6
+ LINE: 'LINE',
7
+ IM_TALK: 'IM_TALK',
8
+ FACEBOOKMESSENGER: 'FACEBOOKMESSENGER',
9
+ INSTAGRAM: 'INSTAGRAM'
10
+ };
11
+ export default IntegrationServices;
@@ -0,0 +1,2 @@
1
+ import IntegrationServices from "./IntegrationServices";
2
+ export { IntegrationServices };
@@ -0,0 +1,6 @@
1
+ const ActionSubType = {
2
+ CONNECTION_AUTHENTICATE: 'CONNECTION_AUTHENTICATE',
3
+ AGENT: 'AGENT',
4
+ UN_IDENTIFIED: 'UN_IDENTIFIED'
5
+ };
6
+ export default ActionSubType;
@@ -0,0 +1,6 @@
1
+ const ActionType = {
2
+ TRANSAFER: 'TRANSAFER',
3
+ REDIRECT_URL: 'REDIRECT_URL',
4
+ UN_INDENTIFIED: 'UN_IDENTIFIED'
5
+ };
6
+ export default ActionType;
@@ -0,0 +1,9 @@
1
+ const ExternalInfoAction = {
2
+ UN_IDENTIFIED: "UN_IDENTIFIED",
3
+ GC_CONVERSATION_ENDED: "GC_CONVERSATION_ENDED",
4
+ ZIA_CONVERSATION_ENDED: "ZIA_CONVERSATION_ENDED",
5
+ NEW_FOLLOWER: "NEW_FOLLOWER",
6
+ CHAT_BLOCKED: "CHAT_BLOCKED",
7
+ CHAT_UNBLOCKED: "CHAT_UNBLOCKED"
8
+ };
9
+ export default ExternalInfoAction;
@@ -0,0 +1,17 @@
1
+ const InfoAction = {
2
+ UN_IDENTIFIED: "UN_IDENTIFIED",
3
+ END_SESSION: "END_SESSION",
4
+ BLOCK_SESSION: "BLOCK_SESSION",
5
+ UNBLOCK_SESSION: "UNBLOCK_SESSION",
6
+ CHAT_AUTO_ASSIGN: "CHAT_AUTO_ASSIGN",
7
+ CHAT_ACCEPT: "CHAT_ACCEPT",
8
+ CHAT_REOPEN: "CHAT_REOPEN",
9
+ CHAT_TRANSFER: "CHAT_TRANSFER",
10
+ ADD_PARTICIPANT: "ADD_PARTICIPANT",
11
+ REMOVE_PARTICIPANT: "REMOVE_PARTICIPANT",
12
+ CHAT_REOPENED_ON_TRANSFER: "CHAT_REOPENED_ON_TRANSFER",
13
+ CHAT_INITIATION: "CHAT_INITIATION",
14
+ USER_LEFT: "USER_LEFT",
15
+ USER_JOINED: "USER_JOINED"
16
+ };
17
+ export default InfoAction;
@@ -0,0 +1,10 @@
1
+ const InfoSessionStatus = {
2
+ CREATED: "CREATED",
3
+ OPEN: "OPEN",
4
+ ON_PROGRESS: "ON_PROGRESS",
5
+ ON_HOLD: "ON_HOLD",
6
+ ENDED: "ENDED",
7
+ BLOCKED: "BLOCKED",
8
+ MISSED: "MISSED"
9
+ };
10
+ export default InfoSessionStatus;
@@ -0,0 +1,6 @@
1
+ const MessageContentType = {
2
+ HTML_TEXT: 'text/html',
3
+ PLAIN_TEXT: 'text/plain',
4
+ APPLICATION_JSON: 'application/json'
5
+ };
6
+ export default MessageContentType;
@@ -0,0 +1,6 @@
1
+ const MessageDirection = {
2
+ OUT: 'OUT',
3
+ IN: 'IN'
4
+ }; // For im api need to changes this as out and in
5
+
6
+ export default MessageDirection;
@@ -0,0 +1,11 @@
1
+ const MessageStatus = {
2
+ SAVED: 'SAVED',
3
+ FAILED: 'FAILED',
4
+ QUEUED: 'QUEUED',
5
+ SENT: 'SENT',
6
+ DELIVERED: 'DELIVERED',
7
+ READ: 'READ',
8
+ DELETED: 'DELETED',
9
+ MISSED: 'MISSED'
10
+ };
11
+ export default MessageStatus;
@@ -0,0 +1,11 @@
1
+ const MessageTypes = {
2
+ TEXT: 'TEXT',
3
+ INFO: 'INFO',
4
+ ATTACHMENT: 'ATTACHMENT',
5
+ LOCATION: 'LOCATION',
6
+ LAYOUT: 'LAYOUT',
7
+ EXTERNAL_INFO: 'EXTERNAL_INFO',
8
+ TEMPLATE: 'TEMPLATE',
9
+ ACTION: 'ACTION'
10
+ };
11
+ export default MessageTypes;
@@ -0,0 +1,10 @@
1
+ import MessageTypes from "./MessageType";
2
+ import MessageStatus from "./MessageStatus";
3
+ import MessageDirection from "./MessageDirection";
4
+ import MessageContentType from "./MessageContentType";
5
+ import ActionType from "./ActionType";
6
+ import ExternalInfoAction from "./ExternalInfoAction";
7
+ import InfoSessionStatus from "./InfoSessionStatus";
8
+ import InfoAction from "./InfoAction";
9
+ import ActionSubType from "./ActionSubType";
10
+ export { MessageTypes, MessageStatus, MessageDirection, MessageContentType, ActionType, ActionSubType, ExternalInfoAction, InfoSessionStatus, InfoAction };
@@ -0,0 +1,20 @@
1
+ const SessionReplyStatus = {
2
+ ACCEPTED: 'ACCEPTED',
3
+ CHANNEL_INACTIVE: 'CHANNEL_INACTIVE',
4
+ CHANNEL_REVOKED: 'CHANNEL_REVOKED',
5
+ SESSION_ENDED: 'SESSION_ENDED',
6
+ SESSION_BLOCKED: 'SESSION_BLOCKED',
7
+ SESSION_EXPIRED: 'SESSION_EXPIRED',
8
+ UNASSIGNED: 'UNASSIGNED',
9
+ NOT_AN_ASSIGNEE: 'NOT_AN_ASSIGNEE',
10
+ CREDIT_EXHAUSTED: 'CREDIT_EXHAUSTED',
11
+ ACCESSTOKEN_EXPIRED: 'ACCESSTOKEN_EXPIRED',
12
+ PERMISSION_REVOKED: 'PERMISSION_REVOKED',
13
+ UNEXPECTED_ERROR: 'UNEXPECTED_ERROR',
14
+ PAGE_REMOVED: 'PAGE_REMOVED',
15
+ SANDBOX_LIMIT_REACHED: 'SANDBOX_LIMIT_REACHED',
16
+ CHANNEL_DELETED: 'CHANNEL_DELETED',
17
+ ENDUSER_OFFLINE: 'ENDUSER_OFFLINE',
18
+ CONFIG_SKIPPED_CHANNEL: 'CONFIG_SKIPPED_CHANNEL'
19
+ };
20
+ export default SessionReplyStatus;
@@ -0,0 +1,9 @@
1
+ const SessionStatus = {
2
+ CREATED: 'CREATED',
3
+ OPEN: 'OPEN',
4
+ ON_PROGRESS: 'ON_PROGRESS',
5
+ ON_HOLD: 'ON_HOLD',
6
+ ENDED: 'ENDED',
7
+ BLOCKED: 'BLOCKED'
8
+ };
9
+ export default SessionStatus;
@@ -0,0 +1,3 @@
1
+ import SessionReplyStatus from "./SessionReplyStatus";
2
+ import SessionStatus from "./SessionStatus";
3
+ export { SessionStatus, SessionReplyStatus };
@@ -0,0 +1,6 @@
1
+ export default class IAdapter {
2
+ adapt() {
3
+ throw new Error('Method "adapt" must be implemented');
4
+ }
5
+
6
+ }
@@ -1 +1,3 @@
1
- export * from './channels';
1
+ import IAdapter from "./IAdapter";
2
+ export * from "./repositories";
3
+ export { IAdapter };
@@ -0,0 +1,9 @@
1
+ import { getAgentsRequest } from "../../../dto";
2
+ export default class IAgentRepository {
3
+ // eslint-disable-next-line no-unused-vars
4
+ async getAgents() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getAgentsRequest();
6
+ throw new Error('Method not implemented');
7
+ }
8
+
9
+ }
@@ -0,0 +1,2 @@
1
+ import IAgentRepository from "./IAgentRepository";
2
+ export { IAgentRepository };
@@ -0,0 +1,9 @@
1
+ import { getBotsRequest } from "../../../dto";
2
+ export default class IBotRepository {
3
+ // eslint-disable-next-line no-unused-vars
4
+ async getBots() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBotsRequest();
6
+ throw new Error('Method not implemented');
7
+ }
8
+
9
+ }
@@ -0,0 +1,2 @@
1
+ import IBotRepository from "./IBotRepository";
2
+ export { IBotRepository };
@@ -0,0 +1,9 @@
1
+ import { getChannelAgentsRequest } from "../../../dto";
2
+ export default class IChannelAgentRepository {
3
+ // eslint-disable-next-line no-unused-vars
4
+ getAgents() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelAgentsRequest();
6
+ throw new Error('Method not implemented.');
7
+ }
8
+
9
+ }
@@ -0,0 +1,9 @@
1
+ import { getChannelsRequest } from "../../../dto";
2
+ export default class IChannelRepository {
3
+ // eslint-disable-next-line no-unused-vars
4
+ getChannels() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelsRequest();
6
+ throw new Error('Method not implemented.');
7
+ }
8
+
9
+ }
@@ -0,0 +1,3 @@
1
+ import IChannelAgentRepository from "./IChannelAgentRepository";
2
+ import IChannelRepository from "./IChannelRepository";
3
+ export { IChannelRepository, IChannelAgentRepository };
@@ -0,0 +1,9 @@
1
+ import { getContactsRequest } from "../../../dto";
2
+ export default class IContactRepository {
3
+ // eslint-disable-next-line no-unused-vars
4
+ async getContacts() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getContactsRequest();
6
+ throw new Error('Method not implemented');
7
+ }
8
+
9
+ }
@@ -0,0 +1,2 @@
1
+ import IContactRepository from "./IContactRepository";
2
+ export { IContactRepository };
@@ -0,0 +1,6 @@
1
+ export * from "./channels";
2
+ export * from "./sessions";
3
+ export * from "./bots";
4
+ export * from "./messages";
5
+ export * from "./agents";
6
+ export * from "./contacts";
@@ -0,0 +1,43 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { getMessagesRequest, deleteMessageRequest, getFullContentRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, initiateSessionRequest } from "../../../dto";
3
+ export default class IMessageRepository {
4
+ getMessages() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getMessagesRequest();
6
+ throw new Error('Method not implemented.');
7
+ }
8
+
9
+ getFullContent() {
10
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getFullContentRequest();
11
+ throw new Error('Method not implemented.');
12
+ }
13
+
14
+ sendMessage() {
15
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendMessageRequest();
16
+ throw new Error('Method not implemented.');
17
+ }
18
+
19
+ sendAttachment() {
20
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendAttachmentRequest();
21
+ throw new Error('Method not implemented.');
22
+ }
23
+
24
+ resendMessage() {
25
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : resendMessageRequest();
26
+ throw new Error('Method not implemented.');
27
+ }
28
+
29
+ deleteMessage() {
30
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteMessageRequest();
31
+ throw new Error('Method not implemented.');
32
+ }
33
+
34
+ initiateSession() {
35
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initiateSessionRequest();
36
+ throw new Error('Method not implemented.');
37
+ }
38
+
39
+ searchMessages() {
40
+ throw new Error('Method not implemented.');
41
+ }
42
+
43
+ }
@@ -0,0 +1,2 @@
1
+ import IMessageRepository from "./IMessageRepository";
2
+ export { IMessageRepository };
@@ -0,0 +1,39 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { updateSessionAssigneeRequest, getSessionsRequest, getSessionRequest, getSessionAttachmentsRequest, getSessionLastMessagesRequest, markSessionAsReadRequest, updateSessionStatusRequest } from "../../../dto";
3
+ export default class ISessionRepository {
4
+ updateAssignee() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateSessionAssigneeRequest();
6
+ throw new Error('Method not implemented.');
7
+ }
8
+
9
+ getSessions() {
10
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionsRequest();
11
+ throw new Error('Method not implemented.');
12
+ }
13
+
14
+ getSession() {
15
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionRequest();
16
+ throw new Error('Method not implemented.');
17
+ }
18
+
19
+ getSessionAttachments() {
20
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionAttachmentsRequest();
21
+ throw new Error('Method not implemented.');
22
+ }
23
+
24
+ getSessionLastMessages() {
25
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionLastMessagesRequest();
26
+ throw new Error('Method not implemented.');
27
+ }
28
+
29
+ markSessionAsRead() {
30
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : markSessionAsReadRequest();
31
+ throw new Error('Method not implemented.');
32
+ }
33
+
34
+ updateSessionStatus() {
35
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateSessionStatusRequest();
36
+ throw new Error('Method not implemented.');
37
+ }
38
+
39
+ }
@@ -0,0 +1,2 @@
1
+ import ISessionRepository from "./ISessionRepository";
2
+ export { ISessionRepository };
@@ -0,0 +1,33 @@
1
+ import { ActorType } from "../../enum";
2
+ const ActorSchema = {
3
+ name: {
4
+ type: 'string',
5
+ required: false
6
+ },
7
+ type: {
8
+ type: 'string',
9
+ required: true,
10
+ enum: Object.values(ActorType)
11
+ },
12
+ photoURL: {
13
+ type: 'string',
14
+ required: false
15
+ },
16
+ extId: {
17
+ type: 'string',
18
+ required: false
19
+ },
20
+ id: {
21
+ type: 'string',
22
+ required: false
23
+ },
24
+ email: {
25
+ type: 'string',
26
+ required: false
27
+ },
28
+ botType: {
29
+ type: 'string',
30
+ required: false
31
+ }
32
+ };
33
+ export default ActorSchema;
@@ -0,0 +1,33 @@
1
+ import { ActorType } from "../../enum";
2
+ const AgentSchema = {
3
+ id: {
4
+ type: 'string',
5
+ required: true
6
+ },
7
+ firstName: {
8
+ type: 'string',
9
+ required: true
10
+ },
11
+ lastName: {
12
+ type: 'string',
13
+ required: true
14
+ },
15
+ email: {
16
+ type: 'string',
17
+ required: true
18
+ },
19
+ photoURL: {
20
+ type: 'string',
21
+ required: false
22
+ },
23
+ zuid: {
24
+ type: 'string',
25
+ required: true
26
+ },
27
+ type: {
28
+ type: 'string',
29
+ required: true,
30
+ enum: [ActorType.AGENT]
31
+ }
32
+ };
33
+ export default AgentSchema;
@@ -0,0 +1,3 @@
1
+ import ActorSchema from "./ActorSchema";
2
+ import AgentSchema from "./AgentSchema";
3
+ export { ActorSchema, AgentSchema };
@@ -0,0 +1,27 @@
1
+ const AttachmentSchema = {
2
+ id: {
3
+ type: 'string',
4
+ required: true
5
+ },
6
+ name: {
7
+ type: 'string',
8
+ required: true
9
+ },
10
+ type: {
11
+ type: 'string',
12
+ required: true
13
+ },
14
+ createdTime: {
15
+ type: 'string',
16
+ required: false
17
+ },
18
+ size: {
19
+ type: 'number',
20
+ required: true
21
+ },
22
+ url: {
23
+ type: 'string',
24
+ required: true
25
+ }
26
+ };
27
+ export default AttachmentSchema;
@@ -0,0 +1,2 @@
1
+ import AttachmentSchema from "./AttachmentSchema";
2
+ export { AttachmentSchema };
@@ -0,0 +1,33 @@
1
+ import { BotServiceType } from "../../enum";
2
+ const BotSchema = {
3
+ id: {
4
+ type: 'string',
5
+ required: true
6
+ },
7
+ botServiceType: {
8
+ type: 'string',
9
+ required: true,
10
+ enum: [BotServiceType.DESK_GC_BOT, BotServiceType.DESK_ZIA_BOT, BotServiceType.ZOHO_GC_BOT, BotServiceType.ZOHO_ZIA_BOT]
11
+ },
12
+ name: {
13
+ type: 'string',
14
+ required: true
15
+ },
16
+ isActive: {
17
+ type: 'boolean',
18
+ required: true
19
+ },
20
+ createdTime: {
21
+ type: 'string',
22
+ required: true
23
+ },
24
+ photoURL: {
25
+ type: 'string',
26
+ required: false
27
+ },
28
+ createdBy: {
29
+ type: 'string',
30
+ required: true
31
+ }
32
+ };
33
+ export default BotSchema;
@@ -0,0 +1,2 @@
1
+ import BotSchema from "./BotSchema";
2
+ export { BotSchema };
@@ -0,0 +1,49 @@
1
+ import { IntegrationServiceSchema } from "../integrationService";
2
+ const ChannelSchema = {
3
+ id: {
4
+ type: 'string',
5
+ required: true
6
+ },
7
+ integrationService: {
8
+ type: 'object',
9
+ required: true,
10
+ schema: IntegrationServiceSchema
11
+ },
12
+ name: {
13
+ type: 'string',
14
+ required: true
15
+ },
16
+ defaultBotId: {
17
+ type: 'string',
18
+ required: false
19
+ },
20
+ isActive: {
21
+ type: 'boolean',
22
+ required: true
23
+ },
24
+ createdTime: {
25
+ type: 'string',
26
+ required: true
27
+ },
28
+ accountName: {
29
+ type: 'string',
30
+ required: false
31
+ },
32
+ isSubscribed: {
33
+ type: 'boolean',
34
+ required: false
35
+ },
36
+ createdBy: {
37
+ type: 'string',
38
+ required: false
39
+ },
40
+ isOwner: {
41
+ type: 'boolean',
42
+ required: false
43
+ },
44
+ photoURL: {
45
+ type: 'string',
46
+ required: false
47
+ }
48
+ };
49
+ export default ChannelSchema;
@@ -0,0 +1,2 @@
1
+ import ChannelSchema from "./ChannelSchema";
2
+ export { ChannelSchema };
@@ -0,0 +1,27 @@
1
+ const ContactSchema = {
2
+ id: {
3
+ type: 'string',
4
+ required: true
5
+ },
6
+ name: {
7
+ type: 'string',
8
+ required: true
9
+ },
10
+ email: {
11
+ type: 'string',
12
+ required: false
13
+ },
14
+ photoURL: {
15
+ type: 'string',
16
+ required: false
17
+ },
18
+ phone: {
19
+ type: 'string',
20
+ required: false
21
+ },
22
+ mobile: {
23
+ type: 'string',
24
+ required: false
25
+ }
26
+ };
27
+ export default ContactSchema;
@@ -0,0 +1,2 @@
1
+ import ContactSchema from "./ContactSchema";
2
+ export { ContactSchema };
@@ -0,0 +1,8 @@
1
+ export * from "./actor";
2
+ export * from "./session";
3
+ export * from "./bot";
4
+ export * from "./attachment";
5
+ export * from "./message";
6
+ export * from "./channel";
7
+ export * from "./integrationService";
8
+ export * from "./contact";
@@ -0,0 +1,31 @@
1
+ import { IntegrationServices } from "../../enum";
2
+ const IntegrationServiceSchema = {
3
+ label: {
4
+ type: 'string',
5
+ required: true
6
+ },
7
+ id: {
8
+ type: 'string',
9
+ required: true,
10
+ enum: Object.values(IntegrationServices)
11
+ },
12
+ provider: {
13
+ type: 'object',
14
+ required: true,
15
+ schema: {
16
+ name: {
17
+ type: 'string',
18
+ required: true
19
+ },
20
+ domain: {
21
+ type: 'string',
22
+ required: true
23
+ }
24
+ }
25
+ },
26
+ logoURL: {
27
+ type: 'string',
28
+ required: false
29
+ }
30
+ };
31
+ export default IntegrationServiceSchema;