@zohoim/client-sdk 0.0.1

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 (224) 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/ResponseTypes.js +6 -0
  17. package/es/core/constants/index.js +6 -0
  18. package/es/core/errors/AdapterError.js +7 -0
  19. package/es/core/errors/ValidationError.js +7 -0
  20. package/es/core/errors/index.js +3 -0
  21. package/es/core/utils/ResponseUtils.js +24 -0
  22. package/es/core/utils/index.js +3 -0
  23. package/es/core/utils/validateSchema.js +76 -0
  24. package/es/domain/dto/RequestBuilder.js +44 -0
  25. package/es/domain/dto/agents/getAgentsRequest.js +12 -0
  26. package/es/domain/dto/agents/index.js +1 -0
  27. package/es/domain/dto/bots/getBotsRequest.js +15 -0
  28. package/es/domain/dto/bots/index.js +1 -0
  29. package/es/domain/dto/channels/agents/getChannelAgentsRequest.js +13 -0
  30. package/es/domain/dto/channels/agents/index.js +1 -0
  31. package/es/domain/dto/channels/getChannelsRequest.js +23 -0
  32. package/es/domain/dto/channels/index.js +3 -0
  33. package/es/domain/dto/contacts/getContactsRequest.js +11 -0
  34. package/es/domain/dto/contacts/index.js +1 -0
  35. package/es/domain/dto/index.js +6 -0
  36. package/es/domain/dto/messages/deleteMessageRequest.js +14 -0
  37. package/es/domain/dto/messages/getFullContentRequest.js +14 -0
  38. package/es/domain/dto/messages/getMessagesRequest.js +20 -0
  39. package/es/domain/dto/messages/index.js +8 -0
  40. package/es/domain/dto/messages/initiateSessionRequest.js +21 -0
  41. package/es/domain/dto/messages/resendMessageRequest.js +14 -0
  42. package/es/domain/dto/messages/searchMessagesRequest.js +22 -0
  43. package/es/domain/dto/messages/sendAttachmentRequest.js +20 -0
  44. package/es/domain/dto/messages/sendMessageRequest.js +17 -0
  45. package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +13 -0
  46. package/es/domain/dto/sessions/getSessionLastMessagesRequest.js +13 -0
  47. package/es/domain/dto/sessions/getSessionRequest.js +13 -0
  48. package/es/domain/dto/sessions/getSessionsRequest.js +26 -0
  49. package/es/domain/dto/sessions/index.js +7 -0
  50. package/es/domain/dto/sessions/markSessionAsReadRequest.js +13 -0
  51. package/es/domain/dto/sessions/updateSessionAssigneeRequest.js +12 -0
  52. package/es/domain/dto/sessions/updateSessionStatusRequest.js +17 -0
  53. package/es/domain/entities/Actor/Actor.js +28 -0
  54. package/es/domain/entities/Actor/index.js +2 -0
  55. package/es/domain/entities/Agent/Agent.js +26 -0
  56. package/es/domain/entities/Agent/index.js +2 -0
  57. package/es/domain/entities/Attachment/Attachment.js +22 -0
  58. package/es/domain/entities/Attachment/index.js +2 -0
  59. package/es/domain/entities/Bot/Bot.js +23 -0
  60. package/es/domain/entities/Bot/index.js +2 -0
  61. package/es/domain/entities/Channel/Channel.js +38 -0
  62. package/es/domain/entities/Channel/index.js +2 -0
  63. package/es/domain/entities/Contact/Contact.js +22 -0
  64. package/es/domain/entities/Contact/index.js +2 -0
  65. package/es/domain/entities/Message/Action.js +19 -0
  66. package/es/domain/entities/Message/ExternalInfo.js +17 -0
  67. package/es/domain/entities/Message/Info.js +21 -0
  68. package/es/domain/entities/Message/Location.js +18 -0
  69. package/es/domain/entities/Message/Message.js +45 -0
  70. package/es/domain/entities/Message/MessageWithSession.js +21 -0
  71. package/es/domain/entities/Message/index.js +6 -0
  72. package/es/domain/entities/Session/Session.js +35 -0
  73. package/es/domain/entities/Session/index.js +2 -0
  74. package/es/domain/entities/index.js +8 -0
  75. package/es/domain/enum/actor/ActorType.js +7 -0
  76. package/es/domain/enum/actor/index.js +2 -0
  77. package/es/domain/enum/bot/BotServiceType.js +7 -0
  78. package/es/domain/enum/bot/index.js +2 -0
  79. package/es/domain/enum/index.js +5 -0
  80. package/es/domain/enum/integrationServices/IntegrationServices.js +11 -0
  81. package/es/domain/enum/integrationServices/index.js +2 -0
  82. package/es/domain/enum/message/ActionSubType.js +6 -0
  83. package/es/domain/enum/message/ActionType.js +6 -0
  84. package/es/domain/enum/message/ExternalInfoAction.js +9 -0
  85. package/es/domain/enum/message/InfoAction.js +17 -0
  86. package/es/domain/enum/message/InfoSessionStatus.js +10 -0
  87. package/es/domain/enum/message/MessageContentType.js +6 -0
  88. package/es/domain/enum/message/MessageDirection.js +6 -0
  89. package/es/domain/enum/message/MessageStatus.js +11 -0
  90. package/es/domain/enum/message/MessageType.js +11 -0
  91. package/es/domain/enum/message/index.js +10 -0
  92. package/es/domain/enum/session/SessionReplyStatus.js +20 -0
  93. package/es/domain/enum/session/SessionStatus.js +9 -0
  94. package/es/domain/enum/session/index.js +3 -0
  95. package/es/domain/interfaces/IAdapter.js +6 -0
  96. package/es/domain/interfaces/index.js +3 -0
  97. package/es/domain/interfaces/repositories/agents/IAgentRepository.js +17 -0
  98. package/es/domain/interfaces/repositories/agents/index.js +2 -0
  99. package/es/domain/interfaces/repositories/bots/IBotRepository.js +17 -0
  100. package/es/domain/interfaces/repositories/bots/index.js +2 -0
  101. package/es/domain/interfaces/repositories/channels/IChannelAgentRepository.js +17 -0
  102. package/es/domain/interfaces/repositories/channels/IChannelRepository.js +17 -0
  103. package/es/domain/interfaces/repositories/channels/index.js +3 -0
  104. package/es/domain/interfaces/repositories/contacts/IContactRepository.js +17 -0
  105. package/es/domain/interfaces/repositories/contacts/index.js +2 -0
  106. package/es/domain/interfaces/repositories/index.js +6 -0
  107. package/es/domain/interfaces/repositories/messages/IMessageRepository.js +52 -0
  108. package/es/domain/interfaces/repositories/messages/index.js +2 -0
  109. package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +47 -0
  110. package/es/domain/interfaces/repositories/sessions/index.js +2 -0
  111. package/es/domain/schema/actor/ActorSchema.js +33 -0
  112. package/es/domain/schema/actor/AgentSchema.js +45 -0
  113. package/es/domain/schema/actor/index.js +3 -0
  114. package/es/domain/schema/attachment/AttachmentSchema.js +27 -0
  115. package/es/domain/schema/attachment/index.js +2 -0
  116. package/es/domain/schema/bot/BotSchema.js +33 -0
  117. package/es/domain/schema/bot/index.js +2 -0
  118. package/es/domain/schema/channel/ChannelSchema.js +49 -0
  119. package/es/domain/schema/channel/index.js +2 -0
  120. package/es/domain/schema/contact/ContactSchema.js +27 -0
  121. package/es/domain/schema/contact/index.js +2 -0
  122. package/es/domain/schema/index.js +8 -0
  123. package/es/domain/schema/integrationService/IntegrationServiceSchema.js +31 -0
  124. package/es/domain/schema/integrationService/index.js +2 -0
  125. package/es/domain/schema/message/ActionSchema.js +18 -0
  126. package/es/domain/schema/message/ExternalInfoSchema.js +9 -0
  127. package/es/domain/schema/message/InfoSchema.js +24 -0
  128. package/es/domain/schema/message/LocationSchema.js +11 -0
  129. package/es/domain/schema/message/MessageSchema.js +112 -0
  130. package/es/domain/schema/message/MessageWithSessionSchema.js +10 -0
  131. package/es/domain/schema/message/index.js +7 -0
  132. package/es/domain/schema/session/SessionSchema.js +82 -0
  133. package/es/domain/schema/session/index.js +2 -0
  134. package/es/frameworks/managers/ModuleFactory.js +58 -0
  135. package/es/frameworks/managers/ModuleManager.js +44 -0
  136. package/es/frameworks/managers/index.js +2 -0
  137. package/es/frameworks/sdk/IMSDK.js +62 -0
  138. package/es/frameworks/sdk/agents/AgentSDK.js +30 -0
  139. package/es/frameworks/sdk/agents/index.js +2 -0
  140. package/es/frameworks/sdk/bots/BotSDK.js +30 -0
  141. package/es/frameworks/sdk/bots/index.js +2 -0
  142. package/es/frameworks/sdk/channels/ChannelSDK.js +37 -0
  143. package/es/frameworks/sdk/channels/index.js +2 -0
  144. package/es/frameworks/sdk/contacts/ContactSDK.js +30 -0
  145. package/es/frameworks/sdk/contacts/index.js +2 -0
  146. package/es/frameworks/sdk/index.js +2 -0
  147. package/es/frameworks/sdk/messages/MessageSDK.js +32 -0
  148. package/es/frameworks/sdk/messages/index.js +2 -0
  149. package/es/frameworks/sdk/sessions/SessionSDK.js +34 -0
  150. package/es/frameworks/sdk/sessions/index.js +2 -0
  151. package/es/index.html +25 -0
  152. package/es/index.js +12 -0
  153. package/es/infrastructure/adapters/agents/AgentAdapter.js +28 -0
  154. package/es/infrastructure/adapters/agents/index.js +2 -0
  155. package/es/infrastructure/adapters/attachments/AttachmentAdapter.js +24 -0
  156. package/es/infrastructure/adapters/attachments/index.js +2 -0
  157. package/es/infrastructure/adapters/bots/BotAdapter.js +25 -0
  158. package/es/infrastructure/adapters/bots/index.js +2 -0
  159. package/es/infrastructure/adapters/channels/ChannelAdapter.js +29 -0
  160. package/es/infrastructure/adapters/channels/ChannelAgentAdapter.js +49 -0
  161. package/es/infrastructure/adapters/channels/index.js +3 -0
  162. package/es/infrastructure/adapters/contacts/ContactAdapter.js +24 -0
  163. package/es/infrastructure/adapters/contacts/index.js +2 -0
  164. package/es/infrastructure/adapters/index.js +7 -0
  165. package/es/infrastructure/adapters/messages/MessageAdapter.js +41 -0
  166. package/es/infrastructure/adapters/messages/MessageWithSessionAdapter.js +23 -0
  167. package/es/infrastructure/adapters/messages/index.js +2 -0
  168. package/es/infrastructure/adapters/sessions/SessionAdapter.js +36 -0
  169. package/es/infrastructure/adapters/sessions/index.js +2 -0
  170. package/es/infrastructure/api/BaseAPI.js +147 -0
  171. package/es/infrastructure/api/agents/AgentAPI.js +14 -0
  172. package/es/infrastructure/api/agents/index.js +2 -0
  173. package/es/infrastructure/api/bots/BotAPI.js +14 -0
  174. package/es/infrastructure/api/bots/index.js +2 -0
  175. package/es/infrastructure/api/channels/ChannelAPI.js +14 -0
  176. package/es/infrastructure/api/channels/ChannelAgentAPI.js +22 -0
  177. package/es/infrastructure/api/channels/index.js +3 -0
  178. package/es/infrastructure/api/contacts/ContactAPI.js +14 -0
  179. package/es/infrastructure/api/contacts/index.js +2 -0
  180. package/es/infrastructure/api/index.js +6 -0
  181. package/es/infrastructure/api/messages/MessageAPI.js +84 -0
  182. package/es/infrastructure/api/messages/index.js +2 -0
  183. package/es/infrastructure/api/registry/agents/agentAPIRegistry.js +12 -0
  184. package/es/infrastructure/api/registry/agents/constructAgentEndPoint.js +10 -0
  185. package/es/infrastructure/api/registry/agents/index.js +2 -0
  186. package/es/infrastructure/api/registry/bots/botAPIRegistry.js +12 -0
  187. package/es/infrastructure/api/registry/bots/constructBotEndPoint.js +10 -0
  188. package/es/infrastructure/api/registry/bots/index.js +2 -0
  189. package/es/infrastructure/api/registry/channels/channelAPIRegistry.js +16 -0
  190. package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +12 -0
  191. package/es/infrastructure/api/registry/channels/constructChannelEndPoint.js +10 -0
  192. package/es/infrastructure/api/registry/channels/index.js +2 -0
  193. package/es/infrastructure/api/registry/contacts/constructContactEndPoint.js +10 -0
  194. package/es/infrastructure/api/registry/contacts/contactAPIRegistry.js +12 -0
  195. package/es/infrastructure/api/registry/contacts/index.js +2 -0
  196. package/es/infrastructure/api/registry/createAPIRegistry.js +7 -0
  197. package/es/infrastructure/api/registry/createBaseUrl.js +3 -0
  198. package/es/infrastructure/api/registry/getRegistryConfig.js +26 -0
  199. package/es/infrastructure/api/registry/index.js +2 -0
  200. package/es/infrastructure/api/registry/messages/constructMessageEndPoint.js +4 -0
  201. package/es/infrastructure/api/registry/messages/index.js +2 -0
  202. package/es/infrastructure/api/registry/messages/messageAPIRegistry.js +57 -0
  203. package/es/infrastructure/api/registry/sessions/constructSessionEndPoint.js +10 -0
  204. package/es/infrastructure/api/registry/sessions/index.js +2 -0
  205. package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +46 -0
  206. package/es/infrastructure/api/sessions/SessionAPI.js +74 -0
  207. package/es/infrastructure/api/sessions/index.js +2 -0
  208. package/es/infrastructure/config/configRegistry.js +27 -0
  209. package/es/infrastructure/config/index.js +2 -0
  210. package/es/infrastructure/repositories/agents/AgentRepository.js +49 -0
  211. package/es/infrastructure/repositories/agents/index.js +2 -0
  212. package/es/infrastructure/repositories/bots/BotRepository.js +49 -0
  213. package/es/infrastructure/repositories/bots/index.js +2 -0
  214. package/es/infrastructure/repositories/channels/ChannelAgentRepository.js +49 -0
  215. package/es/infrastructure/repositories/channels/ChannelRepository.js +49 -0
  216. package/es/infrastructure/repositories/channels/index.js +3 -0
  217. package/es/infrastructure/repositories/contacts/ContactRepository.js +49 -0
  218. package/es/infrastructure/repositories/contacts/index.js +2 -0
  219. package/es/infrastructure/repositories/index.js +6 -0
  220. package/es/infrastructure/repositories/messages/MessageRepository.js +111 -0
  221. package/es/infrastructure/repositories/messages/index.js +2 -0
  222. package/es/infrastructure/repositories/sessions/SessionRepository.js +105 -0
  223. package/es/infrastructure/repositories/sessions/index.js +2 -0
  224. package/package.json +36 -0
@@ -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
+ }
@@ -0,0 +1,3 @@
1
+ import IAdapter from "./IAdapter";
2
+ export * from "./repositories";
3
+ export { IAdapter };
@@ -0,0 +1,17 @@
1
+ import { ModuleNames } from "../../../../core/constants";
2
+ import BaseAPI from "../../../../infrastructure/api/BaseAPI";
3
+ import { getAgentsRequest } from "../../../dto";
4
+ export default class IAgentRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: ModuleNames.AGENTS
8
+ });
9
+ } // eslint-disable-next-line no-unused-vars
10
+
11
+
12
+ async getAgents() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getAgentsRequest();
14
+ throw new Error('Method not implemented');
15
+ }
16
+
17
+ }
@@ -0,0 +1,2 @@
1
+ import IAgentRepository from "./IAgentRepository";
2
+ export { IAgentRepository };
@@ -0,0 +1,17 @@
1
+ import { ModuleNames } from "../../../../core/constants";
2
+ import BaseAPI from "../../../../infrastructure/api/BaseAPI";
3
+ import { getBotsRequest } from "../../../dto";
4
+ export default class IBotRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: ModuleNames.BOTS
8
+ });
9
+ } // eslint-disable-next-line no-unused-vars
10
+
11
+
12
+ async getBots() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBotsRequest();
14
+ throw new Error('Method not implemented');
15
+ }
16
+
17
+ }
@@ -0,0 +1,2 @@
1
+ import IBotRepository from "./IBotRepository";
2
+ export { IBotRepository };
@@ -0,0 +1,17 @@
1
+ import { ModuleNames } from "../../../../core/constants";
2
+ import BaseAPI from "../../../../infrastructure/api/BaseAPI";
3
+ import { getChannelAgentsRequest } from "../../../dto";
4
+ export default class IChannelAgentRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: `${ModuleNames.CHANNELS}.${ModuleNames.AGENTS}`
8
+ });
9
+ } // eslint-disable-next-line no-unused-vars
10
+
11
+
12
+ getAgents() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelAgentsRequest();
14
+ throw new Error('Method not implemented.');
15
+ }
16
+
17
+ }
@@ -0,0 +1,17 @@
1
+ import { ModuleNames } from "../../../../core/constants";
2
+ import BaseAPI from "../../../../infrastructure/api/BaseAPI";
3
+ import { getChannelsRequest } from "../../../dto";
4
+ export default class IChannelRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: ModuleNames.CHANNELS
8
+ });
9
+ } // eslint-disable-next-line no-unused-vars
10
+
11
+
12
+ getChannels() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelsRequest();
14
+ throw new Error('Method not implemented.');
15
+ }
16
+
17
+ }
@@ -0,0 +1,3 @@
1
+ import IChannelAgentRepository from "./IChannelAgentRepository";
2
+ import IChannelRepository from "./IChannelRepository";
3
+ export { IChannelRepository, IChannelAgentRepository };
@@ -0,0 +1,17 @@
1
+ import { ModuleNames } from "../../../../core/constants";
2
+ import BaseAPI from "../../../../infrastructure/api/BaseAPI";
3
+ import { getContactsRequest } from "../../../dto";
4
+ export default class IContactRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: ModuleNames.CONTACTS
8
+ });
9
+ } // eslint-disable-next-line no-unused-vars
10
+
11
+
12
+ async getContacts() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getContactsRequest();
14
+ throw new Error('Method not implemented');
15
+ }
16
+
17
+ }
@@ -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,52 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { ModuleNames } from "../../../../core/constants";
3
+ import BaseAPI from "../../../../infrastructure/api/BaseAPI";
4
+ import { getMessagesRequest, deleteMessageRequest, getFullContentRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, initiateSessionRequest, searchMessagesRequest } from "../../../dto";
5
+ export default class IMessageRepository extends BaseAPI {
6
+ constructor() {
7
+ super({
8
+ module: ModuleNames.MESSAGES
9
+ });
10
+ }
11
+
12
+ getMessages() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getMessagesRequest();
14
+ throw new Error('Method not implemented.');
15
+ }
16
+
17
+ getFullContent() {
18
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getFullContentRequest();
19
+ throw new Error('Method not implemented.');
20
+ }
21
+
22
+ sendMessage() {
23
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendMessageRequest();
24
+ throw new Error('Method not implemented.');
25
+ }
26
+
27
+ sendAttachment() {
28
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendAttachmentRequest();
29
+ throw new Error('Method not implemented.');
30
+ }
31
+
32
+ resendMessage() {
33
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : resendMessageRequest();
34
+ throw new Error('Method not implemented.');
35
+ }
36
+
37
+ deleteMessage() {
38
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteMessageRequest();
39
+ throw new Error('Method not implemented.');
40
+ }
41
+
42
+ initiateSession() {
43
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initiateSessionRequest();
44
+ throw new Error('Method not implemented.');
45
+ }
46
+
47
+ searchMessages() {
48
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : searchMessagesRequest();
49
+ throw new Error('Method not implemented.');
50
+ }
51
+
52
+ }
@@ -0,0 +1,2 @@
1
+ import IMessageRepository from "./IMessageRepository";
2
+ export { IMessageRepository };
@@ -0,0 +1,47 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { ModuleNames } from "../../../../core/constants";
3
+ import BaseAPI from "../../../../infrastructure/api/BaseAPI";
4
+ import { updateSessionAssigneeRequest, getSessionsRequest, getSessionRequest, getSessionAttachmentsRequest, getSessionLastMessagesRequest, markSessionAsReadRequest, updateSessionStatusRequest } from "../../../dto";
5
+ export default class ISessionRepository extends BaseAPI {
6
+ constructor() {
7
+ super({
8
+ module: ModuleNames.SESSIONS
9
+ });
10
+ }
11
+
12
+ updateAssignee() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateSessionAssigneeRequest();
14
+ throw new Error('Method not implemented.');
15
+ }
16
+
17
+ getSessions() {
18
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionsRequest();
19
+ throw new Error('Method not implemented.');
20
+ }
21
+
22
+ getSession() {
23
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionRequest();
24
+ throw new Error('Method not implemented.');
25
+ }
26
+
27
+ getSessionAttachments() {
28
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionAttachmentsRequest();
29
+ throw new Error('Method not implemented.');
30
+ }
31
+
32
+ getSessionLastMessages() {
33
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionLastMessagesRequest();
34
+ throw new Error('Method not implemented.');
35
+ }
36
+
37
+ markSessionAsRead() {
38
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : markSessionAsReadRequest();
39
+ throw new Error('Method not implemented.');
40
+ }
41
+
42
+ updateSessionStatus() {
43
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateSessionStatusRequest();
44
+ throw new Error('Method not implemented.');
45
+ }
46
+
47
+ }
@@ -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,45 @@
1
+ import { ActorType } from "../../enum";
2
+ const AgentSchema = {
3
+ id: {
4
+ type: 'string',
5
+ required: true
6
+ },
7
+ firstName: {
8
+ type: 'string',
9
+ required: false
10
+ },
11
+ lastName: {
12
+ type: 'string',
13
+ required: false
14
+ },
15
+ name: {
16
+ type: 'string',
17
+ required: false
18
+ },
19
+ email: {
20
+ type: 'string',
21
+ required: true
22
+ },
23
+ photoURL: {
24
+ type: 'string',
25
+ required: false
26
+ },
27
+ zuid: {
28
+ type: 'string',
29
+ required: true
30
+ },
31
+ role: {
32
+ type: 'string',
33
+ required: false
34
+ },
35
+ status: {
36
+ type: 'string',
37
+ required: false
38
+ },
39
+ type: {
40
+ type: 'string',
41
+ required: true,
42
+ enum: [ActorType.AGENT]
43
+ }
44
+ };
45
+ 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: false
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;
@@ -0,0 +1,2 @@
1
+ import IntegrationServiceSchema from "./IntegrationServiceSchema";
2
+ export { IntegrationServiceSchema };