@zohoim/client-sdk 1.0.0-replyAreaPoc9 → 1.0.0-rightPanelSessionInfo-2

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 (239) hide show
  1. package/es/application/services/calls/CallService.js +36 -0
  2. package/es/application/services/calls/index.js +1 -0
  3. package/es/application/services/cannedMessages/CannedMessageService.js +21 -1
  4. package/es/application/services/channels/ChannelService.js +6 -1
  5. package/es/application/services/contacts/ContactService.js +6 -1
  6. package/es/application/services/index.js +6 -1
  7. package/es/application/services/integrationServices/IntegrationService.js +21 -0
  8. package/es/application/services/integrationServices/index.js +2 -0
  9. package/es/application/services/sessions/SessionService.js +6 -1
  10. package/es/application/services/subscription/SubscriptionService.js +36 -0
  11. package/es/application/services/subscription/index.js +2 -0
  12. package/es/application/services/templateMessages/TemplateMessageService.js +6 -1
  13. package/es/application/services/userPreferences/UserPreferenceService.js +26 -0
  14. package/es/application/services/userPreferences/index.js +2 -0
  15. package/es/application/services/whatsAppPricing/WhatsAppPricingService.js +21 -0
  16. package/es/application/services/whatsAppPricing/index.js +2 -0
  17. package/es/core/constants/ModuleNames.js +6 -1
  18. package/es/core/constants/ModuleTypes.js +5 -0
  19. package/es/core/constants/index.js +2 -1
  20. package/es/core/utils/validateSchema.js +27 -2
  21. package/es/domain/dto/calls/getCallRequest.js +14 -0
  22. package/es/domain/dto/calls/getCallsRequest.js +20 -0
  23. package/es/domain/dto/calls/index.js +4 -0
  24. package/es/domain/dto/calls/initiateCallRequest.js +15 -0
  25. package/es/domain/dto/calls/updateCallStatusRequest.js +15 -0
  26. package/es/domain/dto/cannedMessages/addTranslationRequest.js +19 -0
  27. package/es/domain/dto/cannedMessages/deleteTranslationRequest.js +14 -0
  28. package/es/domain/dto/cannedMessages/getCannedPlaceholdersRequest.js +7 -0
  29. package/es/domain/dto/cannedMessages/index.js +5 -1
  30. package/es/domain/dto/cannedMessages/updateTranslationRequest.js +20 -0
  31. package/es/domain/dto/channels/getChannelRequest.js +13 -0
  32. package/es/domain/dto/channels/getChannelsRequest.js +3 -1
  33. package/es/domain/dto/channels/index.js +2 -1
  34. package/es/domain/dto/contacts/getContactRequest.js +13 -0
  35. package/es/domain/dto/contacts/index.js +2 -1
  36. package/es/domain/dto/index.js +6 -1
  37. package/es/domain/dto/integrationServices/getIntegrationsRequest.js +7 -0
  38. package/es/domain/dto/integrationServices/index.js +1 -0
  39. package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +6 -1
  40. package/es/domain/dto/sessions/getSessionMetricsRequest.js +16 -0
  41. package/es/domain/dto/sessions/index.js +2 -1
  42. package/es/domain/dto/subscription/buyAddOnRequest.js +18 -0
  43. package/es/domain/dto/subscription/getAddOnsRequest.js +15 -0
  44. package/es/domain/dto/subscription/getLicenseDetailsRequest.js +7 -0
  45. package/es/domain/dto/subscription/index.js +4 -0
  46. package/es/domain/dto/subscription/modifyAddOnRequest.js +18 -0
  47. package/es/domain/dto/templateMessages/getTemplateCreditExhaustStatusRequest.js +3 -2
  48. package/es/domain/dto/templateMessages/getTemplateTagsRequest.js +7 -0
  49. package/es/domain/dto/templateMessages/index.js +2 -1
  50. package/es/domain/dto/userPreferences/getPreferencesRequest.js +7 -0
  51. package/es/domain/dto/userPreferences/index.js +2 -0
  52. package/es/domain/dto/userPreferences/updatePreferencesRequest.js +9 -0
  53. package/es/domain/dto/whatsAppPricing/calculateWhatsAppPricingRequest.js +14 -0
  54. package/es/domain/dto/whatsAppPricing/index.js +1 -0
  55. package/es/domain/entities/Actor/Actor.js +4 -0
  56. package/es/domain/entities/Call/Call.js +47 -0
  57. package/es/domain/entities/Call/index.js +1 -0
  58. package/es/domain/entities/CannedMessage/CannedMessage.js +34 -6
  59. package/es/domain/entities/CannedMessage/Translation.js +48 -0
  60. package/es/domain/entities/CannedMessage/index.js +2 -1
  61. package/es/domain/entities/Channel/Channel.js +22 -4
  62. package/es/domain/entities/Contact/Contact.js +4 -1
  63. package/es/domain/entities/IntegrationService/IntegrationService.js +8 -1
  64. package/es/domain/entities/Placeholder/Placeholder.js +24 -0
  65. package/es/domain/entities/Placeholder/index.js +2 -0
  66. package/es/domain/entities/Session/SessionMetrics.js +21 -0
  67. package/es/domain/entities/Session/index.js +2 -1
  68. package/es/domain/entities/Subscription/AddOn.js +26 -0
  69. package/es/domain/entities/Subscription/LicenseDetails.js +21 -0
  70. package/es/domain/entities/Subscription/SubscriptionInfo.js +26 -0
  71. package/es/domain/entities/Subscription/index.js +4 -0
  72. package/es/domain/entities/TemplateMessage/TemplateItemButton.js +48 -0
  73. package/es/domain/entities/TemplateMessage/TemplateItemFooter.js +27 -0
  74. package/es/domain/entities/TemplateMessage/TemplateItemHeader.js +48 -0
  75. package/es/domain/entities/TemplateMessage/TemplateTags.js +21 -0
  76. package/es/domain/entities/TemplateMessage/index.js +5 -1
  77. package/es/domain/entities/UserPreference/UserPreference.js +26 -0
  78. package/es/domain/entities/UserPreference/index.js +2 -0
  79. package/es/domain/entities/WhatsAppPricing/WhatsAppPricing.js +25 -0
  80. package/es/domain/entities/WhatsAppPricing/WhatsAppPricingCategory.js +22 -0
  81. package/es/domain/entities/WhatsAppPricing/index.js +3 -0
  82. package/es/domain/entities/index.js +6 -1
  83. package/es/domain/enum/call/CallStatus.js +8 -0
  84. package/es/domain/enum/call/index.js +1 -0
  85. package/es/domain/enum/cannedMessage/CannedMessageStatus.js +11 -1
  86. package/es/domain/enum/cannedMessage/CannedMessageType.js +3 -1
  87. package/es/domain/enum/cannedMessage/TemplateItemButtonType.js +7 -1
  88. package/es/domain/enum/cannedMessage/TemplateItemHeaderType.js +3 -1
  89. package/es/domain/enum/index.js +4 -1
  90. package/es/domain/enum/message/InfoAction.js +4 -1
  91. package/es/domain/enum/session/AssigneeFilter.js +6 -0
  92. package/es/domain/enum/session/SessionReplyStatus.js +4 -1
  93. package/es/domain/enum/session/SessionStatus.js +2 -1
  94. package/es/domain/enum/session/index.js +2 -1
  95. package/es/domain/enum/subscription/AddOnModule.js +5 -0
  96. package/es/domain/enum/subscription/AddOnName.js +5 -0
  97. package/es/domain/enum/subscription/AddOnType.js +5 -0
  98. package/es/domain/enum/subscription/SubscriptionStatus.js +4 -0
  99. package/es/domain/enum/subscription/index.js +5 -0
  100. package/es/domain/enum/userPreference/CollapseSidePanel.js +5 -0
  101. package/es/domain/enum/userPreference/index.js +2 -0
  102. package/es/domain/interfaces/repositories/calls/ICallRepository.js +32 -0
  103. package/es/domain/interfaces/repositories/calls/index.js +1 -0
  104. package/es/domain/interfaces/repositories/cannedMessages/ICannedMessageRepository.js +21 -1
  105. package/es/domain/interfaces/repositories/channels/IChannelRepository.js +7 -1
  106. package/es/domain/interfaces/repositories/contacts/IContactRepository.js +7 -1
  107. package/es/domain/interfaces/repositories/index.js +6 -1
  108. package/es/domain/interfaces/repositories/integrationServices/IIntegrationServiceRepository.js +17 -0
  109. package/es/domain/interfaces/repositories/integrationServices/index.js +2 -0
  110. package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +6 -1
  111. package/es/domain/interfaces/repositories/subscription/ISubscriptionRepository.js +32 -0
  112. package/es/domain/interfaces/repositories/subscription/index.js +2 -0
  113. package/es/domain/interfaces/repositories/templateMessages/ITemplateMessageRepository.js +7 -1
  114. package/es/domain/interfaces/repositories/userPreferences/IUserPreferenceRepository.js +23 -0
  115. package/es/domain/interfaces/repositories/userPreferences/index.js +2 -0
  116. package/es/domain/interfaces/repositories/whatsAppPricing/IWhatsAppPricingRepository.js +18 -0
  117. package/es/domain/interfaces/repositories/whatsAppPricing/index.js +2 -0
  118. package/es/domain/schema/call/CallSchema.js +63 -0
  119. package/es/domain/schema/call/index.js +1 -0
  120. package/es/domain/schema/cannedMessage/CannedMessageSchema.js +12 -0
  121. package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemButtonsSchema.js +1 -1
  122. package/es/domain/schema/cannedMessage/TranslationsSchema.js +2 -2
  123. package/es/domain/schema/cannedMessage/index.js +3 -1
  124. package/es/domain/schema/channel/ChannelSchema.js +39 -5
  125. package/es/domain/schema/contact/ContactSchema.js +12 -0
  126. package/es/domain/schema/index.js +6 -1
  127. package/es/domain/schema/integrationService/IntegrationServiceSchema.js +12 -0
  128. package/es/domain/schema/placeholder/PlaceholderSchema.js +19 -0
  129. package/es/domain/schema/placeholder/index.js +2 -0
  130. package/es/domain/schema/session/SessionMetrics/AssigneeSchema.js +20 -0
  131. package/es/domain/schema/session/SessionMetrics/SessionMetricsForAssigneeSchema.js +32 -0
  132. package/es/domain/schema/session/SessionMetrics/index.js +2 -0
  133. package/es/domain/schema/session/SessionMetricsSchema.js +9 -0
  134. package/es/domain/schema/session/index.js +2 -1
  135. package/es/domain/schema/subscription/AddOnSchema.js +29 -0
  136. package/es/domain/schema/subscription/LicenseDetailsSchema.js +7 -0
  137. package/es/domain/schema/subscription/SubscriptionInfoSchema.js +29 -0
  138. package/es/domain/schema/subscription/index.js +4 -0
  139. package/es/domain/schema/templateMessage/TemplateTagsSchema.js +7 -0
  140. package/es/domain/schema/templateMessage/index.js +2 -1
  141. package/es/domain/schema/userPreference/UserPreferenceSchema.js +9 -0
  142. package/es/domain/schema/userPreference/index.js +2 -0
  143. package/es/domain/schema/whatsAppPricing/WhatsAppPricingCategorySchema.js +11 -0
  144. package/es/domain/schema/whatsAppPricing/WhatsAppPricingSchema.js +21 -0
  145. package/es/domain/schema/whatsAppPricing/index.js +3 -0
  146. package/es/frameworks/managers/ModuleFactory.js +95 -24
  147. package/es/frameworks/managers/ModuleManager.js +25 -2
  148. package/es/frameworks/sdk/IMSDK.js +38 -11
  149. package/es/frameworks/sdk/calls/CallSDK.js +27 -0
  150. package/es/frameworks/sdk/calls/index.js +1 -0
  151. package/es/frameworks/sdk/integrationServices/IntegrationServiceSDK.js +30 -0
  152. package/es/frameworks/sdk/integrationServices/index.js +2 -0
  153. package/es/frameworks/sdk/subscription/SubscriptionSDK.js +32 -0
  154. package/es/frameworks/sdk/subscription/index.js +2 -0
  155. package/es/frameworks/sdk/userPreferences/UserPreferencesSDK.js +30 -0
  156. package/es/frameworks/sdk/userPreferences/index.js +2 -0
  157. package/es/frameworks/sdk/whatsAppPricing/WhatsAppPricingSDK.js +28 -0
  158. package/es/frameworks/sdk/whatsAppPricing/index.js +2 -0
  159. package/es/infrastructure/adapters/calls/CallAdapter.js +31 -0
  160. package/es/infrastructure/adapters/calls/index.js +1 -0
  161. package/es/infrastructure/adapters/cannedMessages/CannedMessageAdapter.js +3 -1
  162. package/es/infrastructure/adapters/cannedMessages/TranslationAdapter.js +27 -0
  163. package/es/infrastructure/adapters/cannedMessages/index.js +2 -1
  164. package/es/infrastructure/adapters/channels/ChannelAdapter.js +16 -2
  165. package/es/infrastructure/adapters/contacts/ContactAdapter.js +4 -1
  166. package/es/infrastructure/adapters/index.js +7 -1
  167. package/es/infrastructure/adapters/integrationServices/IntegrationServiceAdapter.js +25 -0
  168. package/es/infrastructure/adapters/integrationServices/index.js +2 -0
  169. package/es/infrastructure/adapters/placeholders/PlaceholderAdapter.js +22 -0
  170. package/es/infrastructure/adapters/placeholders/index.js +2 -0
  171. package/es/infrastructure/adapters/sessions/SessionMetricsAdapter.js +19 -0
  172. package/es/infrastructure/adapters/sessions/index.js +2 -1
  173. package/es/infrastructure/adapters/subscription/AddOnAdapter.js +24 -0
  174. package/es/infrastructure/adapters/subscription/LicenseDetailsAdapter.js +20 -0
  175. package/es/infrastructure/adapters/subscription/index.js +3 -0
  176. package/es/infrastructure/adapters/templateMessages/TemplateTagsAdapter.js +21 -0
  177. package/es/infrastructure/adapters/templateMessages/index.js +2 -1
  178. package/es/infrastructure/adapters/userPreferences/UserPreferenceAdapter.js +19 -0
  179. package/es/infrastructure/adapters/userPreferences/index.js +2 -0
  180. package/es/infrastructure/adapters/whatsAppPricing/WhatsAppPricingAdapter.js +22 -0
  181. package/es/infrastructure/adapters/whatsAppPricing/index.js +2 -0
  182. package/es/infrastructure/api/BaseAPI.js +5 -4
  183. package/es/infrastructure/api/calls/CallAPI.js +44 -0
  184. package/es/infrastructure/api/calls/index.js +1 -0
  185. package/es/infrastructure/api/cannedMessages/CannedMessageAPI.js +41 -1
  186. package/es/infrastructure/api/channels/ChannelAPI.js +11 -1
  187. package/es/infrastructure/api/contacts/ContactAPI.js +11 -1
  188. package/es/infrastructure/api/index.js +6 -1
  189. package/es/infrastructure/api/integrationServices/IntegrationServiceAPI.js +14 -0
  190. package/es/infrastructure/api/integrationServices/index.js +2 -0
  191. package/es/infrastructure/api/registry/calls/callAPIRegistry.js +29 -0
  192. package/es/infrastructure/api/registry/calls/constructCallEndPoint.js +10 -0
  193. package/es/infrastructure/api/registry/calls/index.js +1 -0
  194. package/es/infrastructure/api/registry/cannedMessages/cannedMessageAPIRegistry.js +22 -2
  195. package/es/infrastructure/api/registry/channels/channelAPIRegistry.js +7 -1
  196. package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +1 -1
  197. package/es/infrastructure/api/registry/contacts/contactAPIRegistry.js +8 -2
  198. package/es/infrastructure/api/registry/createPublicBaseUrl.js +4 -0
  199. package/es/infrastructure/api/registry/getRegistryConfig.js +11 -1
  200. package/es/infrastructure/api/registry/integrationServices/constructIntegrationServiceEndPoint.js +10 -0
  201. package/es/infrastructure/api/registry/integrationServices/index.js +2 -0
  202. package/es/infrastructure/api/registry/integrationServices/integrationServiceAPIRegistry.js +12 -0
  203. package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +9 -3
  204. package/es/infrastructure/api/registry/subscription/constructSubscriptionEndPoint.js +10 -0
  205. package/es/infrastructure/api/registry/subscription/index.js +2 -0
  206. package/es/infrastructure/api/registry/subscription/subscriptionAPIRegistry.js +30 -0
  207. package/es/infrastructure/api/registry/templateMessages/templateMessageAPIRegistry.js +7 -2
  208. package/es/infrastructure/api/registry/userPreferences/constructUserPreferencesEndPoint.js +10 -0
  209. package/es/infrastructure/api/registry/userPreferences/index.js +2 -0
  210. package/es/infrastructure/api/registry/userPreferences/userPreferenceAPIRegistry.js +17 -0
  211. package/es/infrastructure/api/registry/whatsAppPricing/constructWhatsAppPricingEndPoint.js +10 -0
  212. package/es/infrastructure/api/registry/whatsAppPricing/index.js +2 -0
  213. package/es/infrastructure/api/registry/whatsAppPricing/whatsAppPricingAPIRegistry.js +13 -0
  214. package/es/infrastructure/api/sessions/SessionAPI.js +11 -1
  215. package/es/infrastructure/api/subscription/SubscriptionAPI.js +48 -0
  216. package/es/infrastructure/api/subscription/index.js +2 -0
  217. package/es/infrastructure/api/templateMessages/TemplateMessageAPI.js +11 -1
  218. package/es/infrastructure/api/userPreferences/UserPreferenceAPI.js +24 -0
  219. package/es/infrastructure/api/userPreferences/index.js +2 -0
  220. package/es/infrastructure/api/whatsAppPricing/WhatsAppPricingAPI.js +14 -0
  221. package/es/infrastructure/api/whatsAppPricing/index.js +2 -0
  222. package/es/infrastructure/config/configRegistry.js +8 -1
  223. package/es/infrastructure/repositories/calls/CallRepository.js +73 -0
  224. package/es/infrastructure/repositories/calls/index.js +1 -0
  225. package/es/infrastructure/repositories/cannedMessages/CannedMessageRepository.js +50 -7
  226. package/es/infrastructure/repositories/channels/ChannelRepository.js +10 -1
  227. package/es/infrastructure/repositories/contacts/ContactRepository.js +9 -1
  228. package/es/infrastructure/repositories/index.js +6 -1
  229. package/es/infrastructure/repositories/integrationServices/IntegrationServiceRepository.js +49 -0
  230. package/es/infrastructure/repositories/integrationServices/index.js +2 -0
  231. package/es/infrastructure/repositories/sessions/SessionRepository.js +14 -3
  232. package/es/infrastructure/repositories/subscription/SubscriptionRepository.js +83 -0
  233. package/es/infrastructure/repositories/subscription/index.js +2 -0
  234. package/es/infrastructure/repositories/templateMessages/TemplateMessageRepository.js +15 -3
  235. package/es/infrastructure/repositories/userPreferences/UserPreferenceRepository.js +58 -0
  236. package/es/infrastructure/repositories/userPreferences/index.js +2 -0
  237. package/es/infrastructure/repositories/whatsAppPricing/WhatsAppPricingRepository.js +49 -0
  238. package/es/infrastructure/repositories/whatsAppPricing/index.js +2 -0
  239. package/package.json +2 -2
@@ -0,0 +1,24 @@
1
+ import { getPreferencesRequest, updatePreferencesRequest } from '../../../domain/dto';
2
+ import { IUserPreferenceRepository } from '../../../domain/interfaces/repositories';
3
+ export default class UserPreferenceAPI extends IUserPreferenceRepository {
4
+ async getPreferences() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getPreferencesRequest();
6
+ const operation = 'getPreferences';
7
+ const httpRequest = await this.request({
8
+ request,
9
+ operation
10
+ });
11
+ return httpRequest;
12
+ }
13
+
14
+ async updatePreferences() {
15
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updatePreferencesRequest();
16
+ const operation = 'updatePreferences';
17
+ const httpRequest = await this.request({
18
+ request,
19
+ operation
20
+ });
21
+ return httpRequest;
22
+ }
23
+
24
+ }
@@ -0,0 +1,2 @@
1
+ import UserPreferenceAPI from './UserPreferenceAPI';
2
+ export { UserPreferenceAPI };
@@ -0,0 +1,14 @@
1
+ import { calculateWhatsAppPricingRequest } from '../../../domain/dto';
2
+ import { IWhatsAppPricingRepository } from '../../../domain/interfaces/repositories';
3
+ export default class WhatsAppPricingAPI extends IWhatsAppPricingRepository {
4
+ async calculateWhatsAppPricing() {
5
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : calculateWhatsAppPricingRequest();
6
+ const operation = 'calculateWhatsAppPricing';
7
+ const httpRequest = await this.request({
8
+ request,
9
+ operation
10
+ });
11
+ return httpRequest;
12
+ }
13
+
14
+ }
@@ -0,0 +1,2 @@
1
+ import WhatsAppPricingAPI from './WhatsAppPricingAPI';
2
+ export { WhatsAppPricingAPI };
@@ -2,15 +2,18 @@ class ConfigRegistry {
2
2
  constructor() {
3
3
  this.baseURL = null;
4
4
  this.httpClient = null;
5
+ this.publicHttpClient = null;
5
6
  }
6
7
 
7
8
  setConfig(_ref) {
8
9
  let {
9
10
  baseURL,
10
- httpClient
11
+ httpClient,
12
+ publicHttpClient
11
13
  } = _ref;
12
14
  this.baseURL = baseURL;
13
15
  this.httpClient = httpClient;
16
+ this.publicHttpClient = publicHttpClient || null;
14
17
  }
15
18
 
16
19
  getBaseURL() {
@@ -21,6 +24,10 @@ class ConfigRegistry {
21
24
  return this.httpClient;
22
25
  }
23
26
 
27
+ getPublicHttpClient() {
28
+ return this.publicHttpClient;
29
+ }
30
+
24
31
  }
25
32
 
26
33
  const configRegistry = new ConfigRegistry();
@@ -0,0 +1,73 @@
1
+ import { CallAdapter } from '../../adapters';
2
+ import { CallAPI } from '../../api';
3
+ import { ICallRepository } from '../../../domain/interfaces/repositories/calls';
4
+ import { ResponseTypes } from '../../../core/constants';
5
+ export default class CallRepository extends ICallRepository {
6
+ constructor(_ref) {
7
+ let {
8
+ callAPI,
9
+ callAdapter
10
+ } = _ref;
11
+ super();
12
+ this.defaultAPI = new CallAPI();
13
+ this.customAPI = callAPI;
14
+ this.callAPI = this.createAPIProxy(this.customAPI, this.defaultAPI);
15
+ this.callAdapter = callAdapter || new CallAdapter();
16
+ }
17
+
18
+ async invokeAPI(_ref2) {
19
+ let {
20
+ operation,
21
+ request,
22
+ adapter = this.callAdapter,
23
+ responseType
24
+ } = _ref2;
25
+ return this.executeAPICall({
26
+ operation,
27
+ request,
28
+ apiProxy: this.callAPI,
29
+ customAPI: this.customAPI,
30
+ adapter,
31
+ responseType
32
+ });
33
+ }
34
+
35
+ async getCalls(request) {
36
+ return this.invokeAPI({
37
+ operation: 'getCalls',
38
+ request,
39
+ responseType: ResponseTypes.LIST
40
+ });
41
+ }
42
+
43
+ async getCall(request) {
44
+ return this.invokeAPI({
45
+ operation: 'getCall',
46
+ request
47
+ });
48
+ }
49
+
50
+ async updateCallStatus(request) {
51
+ return this.invokeAPI({
52
+ operation: 'updateCallStatus',
53
+ request
54
+ });
55
+ }
56
+
57
+ async initiateCall(request) {
58
+ return this.invokeAPI({
59
+ operation: 'initiateCall',
60
+ request
61
+ });
62
+ }
63
+
64
+ toJSON() {
65
+ return {
66
+ getCalls: this.getCalls.bind(this),
67
+ getCall: this.getCall.bind(this),
68
+ updateCallStatus: this.updateCallStatus.bind(this),
69
+ initiateCall: this.initiateCall.bind(this)
70
+ };
71
+ }
72
+
73
+ }
@@ -0,0 +1 @@
1
+ export { default as CallRepository } from './CallRepository';
@@ -1,4 +1,4 @@
1
- import { CannedMessageAdapter } from '../../adapters';
1
+ import { CannedMessageAdapter, PlaceholderAdapter, TranslationAdapter } from '../../adapters';
2
2
  import { CannedMessageAPI } from '../../api';
3
3
  import { ICannedMessageRepository } from '../../../domain/interfaces/repositories/cannedMessages';
4
4
  import { ResponseTypes } from '../../../core/constants';
@@ -6,13 +6,16 @@ export default class CannedMessageRepository extends ICannedMessageRepository {
6
6
  constructor(_ref) {
7
7
  let {
8
8
  cannedMessageAPI,
9
- cannedMessageAdapter
9
+ cannedMessageAdapter,
10
+ placeholderAdapter
10
11
  } = _ref;
11
12
  super();
12
13
  this.defaultAPI = new CannedMessageAPI();
13
14
  this.customAPI = cannedMessageAPI;
14
15
  this.cannedMessageAPI = this.createAPIProxy(this.customAPI, this.defaultAPI);
15
16
  this.cannedMessageAdapter = cannedMessageAdapter || new CannedMessageAdapter();
17
+ this.translationAdapter = new TranslationAdapter();
18
+ this.placeholderAdapter = placeholderAdapter || new PlaceholderAdapter();
16
19
  }
17
20
 
18
21
  async invokeAPI(_ref2) {
@@ -57,7 +60,8 @@ export default class CannedMessageRepository extends ICannedMessageRepository {
57
60
  async deleteCannedMessage(request) {
58
61
  return this.invokeAPI({
59
62
  operation: 'deleteCannedMessage',
60
- request
63
+ request,
64
+ responseType: ResponseTypes.NONE
61
65
  });
62
66
  }
63
67
 
@@ -71,14 +75,49 @@ export default class CannedMessageRepository extends ICannedMessageRepository {
71
75
  async enableCannedMessage(request) {
72
76
  return this.invokeAPI({
73
77
  operation: 'enableCannedMessage',
74
- request
78
+ request,
79
+ responseType: ResponseTypes.NONE
75
80
  });
76
81
  }
77
82
 
78
83
  async disableCannedMessage(request) {
79
84
  return this.invokeAPI({
80
85
  operation: 'disableCannedMessage',
81
- request
86
+ request,
87
+ responseType: ResponseTypes.NONE
88
+ });
89
+ }
90
+
91
+ async addTranslation(request) {
92
+ return this.invokeAPI({
93
+ operation: 'addTranslation',
94
+ request,
95
+ adapter: this.translationAdapter
96
+ });
97
+ }
98
+
99
+ async updateTranslation(request) {
100
+ return this.invokeAPI({
101
+ operation: 'updateTranslation',
102
+ request,
103
+ adapter: this.translationAdapter
104
+ });
105
+ }
106
+
107
+ async deleteTranslation(request) {
108
+ return this.invokeAPI({
109
+ operation: 'deleteTranslation',
110
+ request,
111
+ responseType: ResponseTypes.NONE
112
+ });
113
+ }
114
+
115
+ async getCannedPlaceholders(request) {
116
+ return this.invokeAPI({
117
+ operation: 'getCannedPlaceholders',
118
+ request,
119
+ adapter: this.placeholderAdapter,
120
+ responseType: ResponseTypes.LIST
82
121
  });
83
122
  }
84
123
 
@@ -89,8 +128,12 @@ export default class CannedMessageRepository extends ICannedMessageRepository {
89
128
  createCannedMessage: this.createCannedMessage.bind(this),
90
129
  updateCannedMessage: this.updateCannedMessage.bind(this),
91
130
  deleteCannedMessage: this.deleteCannedMessage.bind(this),
92
- enableCannedMssage: this.enableCannedMessage.bind(this),
93
- disableCannedMessage: this.disableCannedMessage.bind(this)
131
+ enableCannedMessage: this.enableCannedMessage.bind(this),
132
+ disableCannedMessage: this.disableCannedMessage.bind(this),
133
+ addTranslation: this.addTranslation.bind(this),
134
+ updateTranslation: this.updateTranslation.bind(this),
135
+ deleteTranslation: this.deleteTranslation.bind(this),
136
+ getCannedPlaceholders: this.getCannedPlaceholders.bind(this)
94
137
  };
95
138
  }
96
139
 
@@ -40,9 +40,18 @@ export default class ChannelRepository extends IChannelRepository {
40
40
  });
41
41
  }
42
42
 
43
+ async getChannel(request) {
44
+ return this.invokeAPI({
45
+ operation: 'getChannel',
46
+ request,
47
+ responseType: ResponseTypes.SINGLE
48
+ });
49
+ }
50
+
43
51
  toJSON() {
44
52
  return {
45
- getChannels: this.getChannels.bind(this)
53
+ getChannels: this.getChannels.bind(this),
54
+ getChannel: this.getChannel.bind(this)
46
55
  };
47
56
  }
48
57
 
@@ -40,9 +40,17 @@ export default class ContactRepository extends IContactRepository {
40
40
  });
41
41
  }
42
42
 
43
+ async getContact(request) {
44
+ return this.invokeAPI({
45
+ operation: 'getContact',
46
+ request
47
+ });
48
+ }
49
+
43
50
  toJSON() {
44
51
  return {
45
- getContacts: this.getContacts.bind(this)
52
+ getContacts: this.getContacts.bind(this),
53
+ getContact: this.getContact.bind(this)
46
54
  };
47
55
  }
48
56
 
@@ -5,4 +5,9 @@ export * from './messages';
5
5
  export * from './agents';
6
6
  export * from './contacts';
7
7
  export * from './cannedMessages';
8
- export * from './templateMessages';
8
+ export * from './templateMessages';
9
+ export * from './integrationServices';
10
+ export * from './userPreferences';
11
+ export * from './whatsAppPricing';
12
+ export * from './calls';
13
+ export * from './subscription';
@@ -0,0 +1,49 @@
1
+ import { IIntegrationServiceRepository } from '../../../domain/interfaces/repositories';
2
+ import { IntegrationServiceAdapter } from '../../adapters';
3
+ import { IntegrationServiceAPI } from '../../api';
4
+ import { ResponseTypes } from '../../../core/constants';
5
+ export default class IntegrationServiceRepository extends IIntegrationServiceRepository {
6
+ constructor(_ref) {
7
+ let {
8
+ integrationServiceAPI,
9
+ integrationServiceAdapter
10
+ } = _ref;
11
+ super();
12
+ this.defaultAPI = new IntegrationServiceAPI();
13
+ this.customAPI = integrationServiceAPI;
14
+ this.integrationServiceAPI = this.createAPIProxy(this.customAPI, this.defaultAPI);
15
+ this.integrationServiceAdapter = integrationServiceAdapter || new IntegrationServiceAdapter();
16
+ }
17
+
18
+ async invokeAPI(_ref2) {
19
+ let {
20
+ operation,
21
+ request,
22
+ adapter = this.integrationServiceAdapter,
23
+ responseType
24
+ } = _ref2;
25
+ return this.executeAPICall({
26
+ operation,
27
+ request,
28
+ apiProxy: this.integrationServiceAPI,
29
+ customAPI: this.customAPI,
30
+ adapter,
31
+ responseType
32
+ });
33
+ }
34
+
35
+ async getIntegrations(request) {
36
+ return this.invokeAPI({
37
+ operation: 'getIntegrations',
38
+ request,
39
+ responseType: ResponseTypes.LIST
40
+ });
41
+ }
42
+
43
+ toJSON() {
44
+ return {
45
+ getIntegrations: this.getIntegrations.bind(this)
46
+ };
47
+ }
48
+
49
+ }
@@ -0,0 +1,2 @@
1
+ import IntegrationServiceRepository from './IntegrationServiceRepository';
2
+ export { IntegrationServiceRepository };
@@ -1,4 +1,4 @@
1
- import { AttachmentAdapter, MessageAdapter, SessionAdapter } from '../../adapters/index';
1
+ import { AttachmentAdapter, MessageAdapter, SessionAdapter, SessionMetricsAdapter } from '../../adapters/index';
2
2
  import { ISessionRepository } from '../../../domain/interfaces/repositories';
3
3
  import { SessionAPI } from '../../api';
4
4
  import { ResponseTypes } from '../../../core/constants';
@@ -8,7 +8,8 @@ export default class SessionRepository extends ISessionRepository {
8
8
  sessionAPI,
9
9
  sessionAdapter,
10
10
  attachmentAdapter,
11
- messageAdapter
11
+ messageAdapter,
12
+ sessionMetricsAdapter
12
13
  } = _ref;
13
14
  super();
14
15
  this.defaultAPI = new SessionAPI();
@@ -17,6 +18,7 @@ export default class SessionRepository extends ISessionRepository {
17
18
  this.sessionAdapter = sessionAdapter || new SessionAdapter();
18
19
  this.attachmentAdapter = attachmentAdapter || new AttachmentAdapter();
19
20
  this.messageAdapter = messageAdapter || new MessageAdapter();
21
+ this.sessionMetricsAdapter = sessionMetricsAdapter || new SessionMetricsAdapter();
20
22
  }
21
23
 
22
24
  async invokeAPI(_ref2) {
@@ -97,6 +99,14 @@ export default class SessionRepository extends ISessionRepository {
97
99
  });
98
100
  }
99
101
 
102
+ async getSessionMetrics(request) {
103
+ return this.invokeAPI({
104
+ operation: 'getSessionMetrics',
105
+ request,
106
+ adapter: this.sessionMetricsAdapter
107
+ });
108
+ }
109
+
100
110
  toJSON() {
101
111
  return {
102
112
  pickupSession: this.pickupSession.bind(this),
@@ -106,7 +116,8 @@ export default class SessionRepository extends ISessionRepository {
106
116
  getSessionAttachments: this.getSessionAttachments.bind(this),
107
117
  getSessionLastMessages: this.getSessionLastMessages.bind(this),
108
118
  markSessionAsRead: this.markSessionAsRead.bind(this),
109
- updateSessionStatus: this.updateSessionStatus.bind(this)
119
+ updateSessionStatus: this.updateSessionStatus.bind(this),
120
+ getSessionMetrics: this.getSessionMetrics.bind(this)
110
121
  };
111
122
  }
112
123
 
@@ -0,0 +1,83 @@
1
+ import { AddOnAdapter, LicenseDetailsAdapter } from '../../adapters/index';
2
+ import { ISubscriptionRepository } from '../../../domain/interfaces/repositories';
3
+ import { SubscriptionAPI } from '../../api';
4
+ import { ResponseTypes } from '../../../core/constants';
5
+ export default class SubscriptionRepository extends ISubscriptionRepository {
6
+ constructor(_ref) {
7
+ let {
8
+ subscriptionAPI,
9
+ addOnAdapter,
10
+ licenseDetailsAdapter
11
+ } = _ref;
12
+ super();
13
+ this.defaultAPI = new SubscriptionAPI();
14
+ this.customAPI = subscriptionAPI;
15
+ this.subscriptionAPI = this.createAPIProxy(this.customAPI, this.defaultAPI);
16
+ this.addOnAdapter = addOnAdapter || new AddOnAdapter();
17
+ this.licenseDetailsAdapter = licenseDetailsAdapter || new LicenseDetailsAdapter();
18
+ }
19
+
20
+ async invokeAPI(_ref2) {
21
+ let {
22
+ operation,
23
+ request,
24
+ adapter = this.addOnAdapter,
25
+ responseType
26
+ } = _ref2;
27
+ return this.executeAPICall({
28
+ operation,
29
+ request,
30
+ apiProxy: this.subscriptionAPI,
31
+ customAPI: this.customAPI,
32
+ adapter,
33
+ responseType
34
+ });
35
+ }
36
+
37
+ async getAddOns(request) {
38
+ return this.invokeAPI({
39
+ operation: 'getAddOns',
40
+ // No I18N
41
+ request,
42
+ responseType: ResponseTypes.LIST
43
+ });
44
+ }
45
+
46
+ async buyAddOn(request) {
47
+ return this.invokeAPI({
48
+ operation: 'buyAddOn',
49
+ // No I18N
50
+ request,
51
+ responseType: ResponseTypes.SINGLE
52
+ });
53
+ }
54
+
55
+ async modifyAddOn(request) {
56
+ return this.invokeAPI({
57
+ operation: 'modifyAddOn',
58
+ // No I18N
59
+ request,
60
+ responseType: ResponseTypes.SINGLE
61
+ });
62
+ }
63
+
64
+ async getLicenseDetails(request) {
65
+ return this.invokeAPI({
66
+ operation: 'getLicenseDetails',
67
+ // No I18N
68
+ request,
69
+ adapter: this.licenseDetailsAdapter,
70
+ responseType: ResponseTypes.SINGLE
71
+ });
72
+ }
73
+
74
+ toJSON() {
75
+ return {
76
+ getAddOns: this.getAddOns.bind(this),
77
+ buyAddOn: this.buyAddOn.bind(this),
78
+ modifyAddOn: this.modifyAddOn.bind(this),
79
+ getLicenseDetails: this.getLicenseDetails.bind(this)
80
+ };
81
+ }
82
+
83
+ }
@@ -0,0 +1,2 @@
1
+ import SubscriptionRepository from './SubscriptionRepository';
2
+ export { SubscriptionRepository };
@@ -1,5 +1,5 @@
1
1
  import { ITemplateMessageRepository } from '../../../domain/interfaces/repositories';
2
- import { TemplateLanguageAdapter, TemplateCreditExhaustStatusAdapter } from '../../adapters';
2
+ import { TemplateLanguageAdapter, TemplateCreditExhaustStatusAdapter, TemplateTagsAdapter } from '../../adapters';
3
3
  import { TemplateMessageAPI } from '../../api';
4
4
  import { ResponseTypes } from '../../../core/constants';
5
5
  export default class TemplateMessageRepository extends ITemplateMessageRepository {
@@ -7,7 +7,8 @@ export default class TemplateMessageRepository extends ITemplateMessageRepositor
7
7
  let {
8
8
  templateMessageAPI,
9
9
  templateLanguageAdapter,
10
- templateCreditExhaustStatusAdapter
10
+ templateCreditExhaustStatusAdapter,
11
+ templateTagsAdapter
11
12
  } = _ref;
12
13
  super();
13
14
  this.defaultAPI = new TemplateMessageAPI();
@@ -15,6 +16,7 @@ export default class TemplateMessageRepository extends ITemplateMessageRepositor
15
16
  this.templateMessageAPI = this.createAPIProxy(this.customAPI, this.defaultAPI);
16
17
  this.templateLanguageAdapter = templateLanguageAdapter || new TemplateLanguageAdapter();
17
18
  this.templateCreditExhaustStatusAdapter = templateCreditExhaustStatusAdapter || new TemplateCreditExhaustStatusAdapter();
19
+ this.templateTagsAdapter = templateTagsAdapter || new TemplateTagsAdapter();
18
20
  }
19
21
 
20
22
  async invokeTemplateLanguageAPI(_ref2) {
@@ -67,10 +69,20 @@ export default class TemplateMessageRepository extends ITemplateMessageRepositor
67
69
  });
68
70
  }
69
71
 
72
+ async getTemplateTags(request) {
73
+ return this.invokeTemplateLanguageAPI({
74
+ operation: 'getTemplateTags',
75
+ request,
76
+ adapter: this.templateTagsAdapter,
77
+ responseType: ResponseTypes.SINGLE
78
+ });
79
+ }
80
+
70
81
  toJSON() {
71
82
  return {
72
83
  getTemplateLanguages: this.getTemplateLanguages.bind(this),
73
- getWhatsAppTemplateCreditExhaustStatus: this.getWhatsAppTemplateCreditExhaustStatus.bind(this)
84
+ getWhatsAppTemplateCreditExhaustStatus: this.getWhatsAppTemplateCreditExhaustStatus.bind(this),
85
+ getTemplateTags: this.getTemplateTags.bind(this)
74
86
  };
75
87
  }
76
88
 
@@ -0,0 +1,58 @@
1
+ import { IUserPreferenceRepository } from '../../../domain/interfaces/repositories';
2
+ import { UserPreferenceAdapter } from '../../adapters';
3
+ import { UserPreferenceAPI } from '../../api';
4
+ import { ResponseTypes } from '../../../core/constants';
5
+ export default class UserPreferenceRepository extends IUserPreferenceRepository {
6
+ constructor(_ref) {
7
+ let {
8
+ userPreferenceAPI,
9
+ userPreferenceAdapter
10
+ } = _ref;
11
+ super();
12
+ this.defaultAPI = new UserPreferenceAPI();
13
+ this.customAPI = userPreferenceAPI;
14
+ this.userPreferenceAPI = this.createAPIProxy(this.customAPI, this.defaultAPI);
15
+ this.userPreferenceAdapter = userPreferenceAdapter || new UserPreferenceAdapter();
16
+ }
17
+
18
+ async invokeAPI(_ref2) {
19
+ let {
20
+ operation,
21
+ request,
22
+ adapter = this.userPreferenceAdapter,
23
+ responseType
24
+ } = _ref2;
25
+ return this.executeAPICall({
26
+ operation,
27
+ request,
28
+ apiProxy: this.userPreferenceAPI,
29
+ customAPI: this.customAPI,
30
+ adapter,
31
+ responseType
32
+ });
33
+ }
34
+
35
+ async getPreferences(request) {
36
+ return this.invokeAPI({
37
+ operation: 'getPreferences',
38
+ request,
39
+ responseType: ResponseTypes.SINGLE
40
+ });
41
+ }
42
+
43
+ async updatePreferences(request) {
44
+ return this.invokeAPI({
45
+ operation: 'updatePreferences',
46
+ request,
47
+ responseType: ResponseTypes.SINGLE
48
+ });
49
+ }
50
+
51
+ toJSON() {
52
+ return {
53
+ getPreferences: this.getPreferences.bind(this),
54
+ updatePreferences: this.updatePreferences.bind(this)
55
+ };
56
+ }
57
+
58
+ }
@@ -0,0 +1,2 @@
1
+ import UserPreferenceRepository from './UserPreferenceRepository';
2
+ export { UserPreferenceRepository };
@@ -0,0 +1,49 @@
1
+ import { IWhatsAppPricingRepository } from '../../../domain/interfaces/repositories';
2
+ import { WhatsAppPricingAdapter } from '../../adapters';
3
+ import { WhatsAppPricingAPI } from '../../api';
4
+ import { ResponseTypes } from '../../../core/constants';
5
+ export default class WhatsAppPricingRepository extends IWhatsAppPricingRepository {
6
+ constructor(_ref) {
7
+ let {
8
+ whatsAppPricingAPI,
9
+ whatsAppPricingAdapter
10
+ } = _ref;
11
+ super();
12
+ this.defaultAPI = new WhatsAppPricingAPI();
13
+ this.customAPI = whatsAppPricingAPI;
14
+ this.whatsAppPricingAPI = this.createAPIProxy(this.customAPI, this.defaultAPI);
15
+ this.whatsAppPricingAdapter = whatsAppPricingAdapter || new WhatsAppPricingAdapter();
16
+ }
17
+
18
+ async invokeAPI(_ref2) {
19
+ let {
20
+ operation,
21
+ request,
22
+ adapter = this.whatsAppPricingAdapter,
23
+ responseType
24
+ } = _ref2;
25
+ return this.executeAPICall({
26
+ operation,
27
+ request,
28
+ apiProxy: this.whatsAppPricingAPI,
29
+ customAPI: this.customAPI,
30
+ adapter,
31
+ responseType
32
+ });
33
+ }
34
+
35
+ async calculateWhatsAppPricing(request) {
36
+ return this.invokeAPI({
37
+ operation: 'calculateWhatsAppPricing',
38
+ request,
39
+ responseType: ResponseTypes.SINGLE
40
+ });
41
+ }
42
+
43
+ toJSON() {
44
+ return {
45
+ calculateWhatsAppPricing: this.calculateWhatsAppPricing.bind(this)
46
+ };
47
+ }
48
+
49
+ }
@@ -0,0 +1,2 @@
1
+ import WhatsAppPricingRepository from './WhatsAppPricingRepository';
2
+ export { WhatsAppPricingRepository };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohoim/client-sdk",
3
- "version": "1.0.0-replyAreaPoc9",
3
+ "version": "1.0.0-rightPanelSessionInfo-2",
4
4
  "description": "To have the client sdk for the IM",
5
5
  "main": "es/index.js",
6
6
  "module": "es/index.js",
@@ -32,4 +32,4 @@
32
32
  "@zohodesk/docs-builder": "1.0.2",
33
33
  "@testing-library/jest-dom": "^5.16.5"
34
34
  }
35
- }
35
+ }