@zohoim/client-sdk 1.0.0-replyAreaPoc9 → 1.0.0-subscription2

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 (151) hide show
  1. package/es/application/services/channels/ChannelService.js +6 -1
  2. package/es/application/services/index.js +5 -1
  3. package/es/application/services/integrationServices/IntegrationService.js +21 -0
  4. package/es/application/services/integrationServices/index.js +2 -0
  5. package/es/application/services/sessions/SessionService.js +6 -1
  6. package/es/application/services/subscription/SubscriptionService.js +36 -0
  7. package/es/application/services/subscription/index.js +2 -0
  8. package/es/application/services/userPreferences/UserPreferenceService.js +26 -0
  9. package/es/application/services/userPreferences/index.js +2 -0
  10. package/es/application/services/whatsAppPricing/WhatsAppPricingService.js +21 -0
  11. package/es/application/services/whatsAppPricing/index.js +2 -0
  12. package/es/core/constants/ModuleNames.js +5 -1
  13. package/es/core/constants/ModuleTypes.js +5 -0
  14. package/es/core/constants/index.js +2 -1
  15. package/es/core/utils/validateSchema.js +25 -0
  16. package/es/domain/dto/channels/getChannelRequest.js +13 -0
  17. package/es/domain/dto/channels/getChannelsRequest.js +3 -1
  18. package/es/domain/dto/channels/index.js +2 -1
  19. package/es/domain/dto/index.js +5 -1
  20. package/es/domain/dto/integrationServices/getIntegrationsRequest.js +7 -0
  21. package/es/domain/dto/integrationServices/index.js +1 -0
  22. package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +6 -1
  23. package/es/domain/dto/sessions/getSessionMetricsRequest.js +16 -0
  24. package/es/domain/dto/sessions/index.js +2 -1
  25. package/es/domain/dto/subscription/buyAddOnRequest.js +18 -0
  26. package/es/domain/dto/subscription/getAddOnsRequest.js +15 -0
  27. package/es/domain/dto/subscription/getLicenseDetailsRequest.js +7 -0
  28. package/es/domain/dto/subscription/index.js +4 -0
  29. package/es/domain/dto/subscription/modifyAddOnRequest.js +18 -0
  30. package/es/domain/dto/userPreferences/getPreferencesRequest.js +7 -0
  31. package/es/domain/dto/userPreferences/index.js +2 -0
  32. package/es/domain/dto/userPreferences/updatePreferencesRequest.js +9 -0
  33. package/es/domain/dto/whatsAppPricing/calculateWhatsAppPricingRequest.js +14 -0
  34. package/es/domain/dto/whatsAppPricing/index.js +1 -0
  35. package/es/domain/entities/Channel/Channel.js +22 -4
  36. package/es/domain/entities/IntegrationService/IntegrationService.js +8 -1
  37. package/es/domain/entities/Session/SessionMetrics.js +21 -0
  38. package/es/domain/entities/Session/index.js +2 -1
  39. package/es/domain/entities/Subscription/AddOn.js +26 -0
  40. package/es/domain/entities/Subscription/LicenseDetails.js +21 -0
  41. package/es/domain/entities/Subscription/SubscriptionInfo.js +26 -0
  42. package/es/domain/entities/Subscription/index.js +4 -0
  43. package/es/domain/entities/UserPreference/UserPreference.js +26 -0
  44. package/es/domain/entities/UserPreference/index.js +2 -0
  45. package/es/domain/entities/WhatsAppPricing/WhatsAppPricing.js +25 -0
  46. package/es/domain/entities/WhatsAppPricing/WhatsAppPricingCategory.js +22 -0
  47. package/es/domain/entities/WhatsAppPricing/index.js +3 -0
  48. package/es/domain/entities/index.js +4 -1
  49. package/es/domain/enum/index.js +3 -1
  50. package/es/domain/enum/session/AssigneeFilter.js +6 -0
  51. package/es/domain/enum/session/SessionReplyStatus.js +4 -1
  52. package/es/domain/enum/session/SessionStatus.js +2 -1
  53. package/es/domain/enum/session/index.js +2 -1
  54. package/es/domain/enum/subscription/AddOnModule.js +5 -0
  55. package/es/domain/enum/subscription/AddOnName.js +5 -0
  56. package/es/domain/enum/subscription/AddOnType.js +5 -0
  57. package/es/domain/enum/subscription/SubscriptionStatus.js +4 -0
  58. package/es/domain/enum/subscription/index.js +5 -0
  59. package/es/domain/enum/userPreference/CollapseSidePanel.js +5 -0
  60. package/es/domain/enum/userPreference/index.js +2 -0
  61. package/es/domain/interfaces/repositories/channels/IChannelRepository.js +7 -1
  62. package/es/domain/interfaces/repositories/index.js +5 -1
  63. package/es/domain/interfaces/repositories/integrationServices/IIntegrationServiceRepository.js +17 -0
  64. package/es/domain/interfaces/repositories/integrationServices/index.js +2 -0
  65. package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +6 -1
  66. package/es/domain/interfaces/repositories/subscription/ISubscriptionRepository.js +32 -0
  67. package/es/domain/interfaces/repositories/subscription/index.js +2 -0
  68. package/es/domain/interfaces/repositories/userPreferences/IUserPreferenceRepository.js +23 -0
  69. package/es/domain/interfaces/repositories/userPreferences/index.js +2 -0
  70. package/es/domain/interfaces/repositories/whatsAppPricing/IWhatsAppPricingRepository.js +18 -0
  71. package/es/domain/interfaces/repositories/whatsAppPricing/index.js +2 -0
  72. package/es/domain/schema/channel/ChannelSchema.js +39 -5
  73. package/es/domain/schema/index.js +4 -1
  74. package/es/domain/schema/integrationService/IntegrationServiceSchema.js +12 -0
  75. package/es/domain/schema/session/SessionMetrics/AssigneeSchema.js +20 -0
  76. package/es/domain/schema/session/SessionMetrics/SessionMetricsForAssigneeSchema.js +32 -0
  77. package/es/domain/schema/session/SessionMetrics/index.js +2 -0
  78. package/es/domain/schema/session/SessionMetricsSchema.js +9 -0
  79. package/es/domain/schema/session/index.js +2 -1
  80. package/es/domain/schema/subscription/AddOnSchema.js +29 -0
  81. package/es/domain/schema/subscription/LicenseDetailsSchema.js +7 -0
  82. package/es/domain/schema/subscription/SubscriptionInfoSchema.js +29 -0
  83. package/es/domain/schema/subscription/index.js +4 -0
  84. package/es/domain/schema/userPreference/UserPreferenceSchema.js +9 -0
  85. package/es/domain/schema/userPreference/index.js +2 -0
  86. package/es/domain/schema/whatsAppPricing/WhatsAppPricingCategorySchema.js +11 -0
  87. package/es/domain/schema/whatsAppPricing/WhatsAppPricingSchema.js +21 -0
  88. package/es/domain/schema/whatsAppPricing/index.js +3 -0
  89. package/es/frameworks/managers/ModuleFactory.js +84 -24
  90. package/es/frameworks/managers/ModuleManager.js +25 -2
  91. package/es/frameworks/sdk/IMSDK.js +33 -11
  92. package/es/frameworks/sdk/integrationServices/IntegrationServiceSDK.js +30 -0
  93. package/es/frameworks/sdk/integrationServices/index.js +2 -0
  94. package/es/frameworks/sdk/subscription/SubscriptionSDK.js +32 -0
  95. package/es/frameworks/sdk/subscription/index.js +2 -0
  96. package/es/frameworks/sdk/userPreferences/UserPreferencesSDK.js +30 -0
  97. package/es/frameworks/sdk/userPreferences/index.js +2 -0
  98. package/es/frameworks/sdk/whatsAppPricing/WhatsAppPricingSDK.js +28 -0
  99. package/es/frameworks/sdk/whatsAppPricing/index.js +2 -0
  100. package/es/infrastructure/adapters/channels/ChannelAdapter.js +16 -2
  101. package/es/infrastructure/adapters/index.js +5 -1
  102. package/es/infrastructure/adapters/integrationServices/IntegrationServiceAdapter.js +25 -0
  103. package/es/infrastructure/adapters/integrationServices/index.js +2 -0
  104. package/es/infrastructure/adapters/sessions/SessionMetricsAdapter.js +19 -0
  105. package/es/infrastructure/adapters/sessions/index.js +2 -1
  106. package/es/infrastructure/adapters/subscription/AddOnAdapter.js +24 -0
  107. package/es/infrastructure/adapters/subscription/LicenseDetailsAdapter.js +20 -0
  108. package/es/infrastructure/adapters/subscription/index.js +3 -0
  109. package/es/infrastructure/adapters/userPreferences/UserPreferenceAdapter.js +19 -0
  110. package/es/infrastructure/adapters/userPreferences/index.js +2 -0
  111. package/es/infrastructure/adapters/whatsAppPricing/WhatsAppPricingAdapter.js +22 -0
  112. package/es/infrastructure/adapters/whatsAppPricing/index.js +2 -0
  113. package/es/infrastructure/api/BaseAPI.js +5 -4
  114. package/es/infrastructure/api/index.js +5 -1
  115. package/es/infrastructure/api/integrationServices/IntegrationServiceAPI.js +14 -0
  116. package/es/infrastructure/api/integrationServices/index.js +2 -0
  117. package/es/infrastructure/api/registry/createPublicBaseUrl.js +4 -0
  118. package/es/infrastructure/api/registry/getRegistryConfig.js +9 -1
  119. package/es/infrastructure/api/registry/integrationServices/constructIntegrationServiceEndPoint.js +10 -0
  120. package/es/infrastructure/api/registry/integrationServices/index.js +2 -0
  121. package/es/infrastructure/api/registry/integrationServices/integrationServiceAPIRegistry.js +12 -0
  122. package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +8 -2
  123. package/es/infrastructure/api/registry/subscription/constructSubscriptionEndPoint.js +10 -0
  124. package/es/infrastructure/api/registry/subscription/index.js +2 -0
  125. package/es/infrastructure/api/registry/subscription/subscriptionAPIRegistry.js +30 -0
  126. package/es/infrastructure/api/registry/userPreferences/constructUserPreferencesEndPoint.js +10 -0
  127. package/es/infrastructure/api/registry/userPreferences/index.js +2 -0
  128. package/es/infrastructure/api/registry/userPreferences/userPreferenceAPIRegistry.js +17 -0
  129. package/es/infrastructure/api/registry/whatsAppPricing/constructWhatsAppPricingEndPoint.js +10 -0
  130. package/es/infrastructure/api/registry/whatsAppPricing/index.js +2 -0
  131. package/es/infrastructure/api/registry/whatsAppPricing/whatsAppPricingAPIRegistry.js +13 -0
  132. package/es/infrastructure/api/sessions/SessionAPI.js +11 -1
  133. package/es/infrastructure/api/subscription/SubscriptionAPI.js +48 -0
  134. package/es/infrastructure/api/subscription/index.js +2 -0
  135. package/es/infrastructure/api/userPreferences/UserPreferenceAPI.js +24 -0
  136. package/es/infrastructure/api/userPreferences/index.js +2 -0
  137. package/es/infrastructure/api/whatsAppPricing/WhatsAppPricingAPI.js +14 -0
  138. package/es/infrastructure/api/whatsAppPricing/index.js +2 -0
  139. package/es/infrastructure/config/configRegistry.js +8 -1
  140. package/es/infrastructure/repositories/channels/ChannelRepository.js +10 -1
  141. package/es/infrastructure/repositories/index.js +5 -1
  142. package/es/infrastructure/repositories/integrationServices/IntegrationServiceRepository.js +49 -0
  143. package/es/infrastructure/repositories/integrationServices/index.js +2 -0
  144. package/es/infrastructure/repositories/sessions/SessionRepository.js +14 -3
  145. package/es/infrastructure/repositories/subscription/SubscriptionRepository.js +83 -0
  146. package/es/infrastructure/repositories/subscription/index.js +2 -0
  147. package/es/infrastructure/repositories/userPreferences/UserPreferenceRepository.js +58 -0
  148. package/es/infrastructure/repositories/userPreferences/index.js +2 -0
  149. package/es/infrastructure/repositories/whatsAppPricing/WhatsAppPricingRepository.js +49 -0
  150. package/es/infrastructure/repositories/whatsAppPricing/index.js +2 -0
  151. package/package.json +1 -1
@@ -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-subscription2",
4
4
  "description": "To have the client sdk for the IM",
5
5
  "main": "es/index.js",
6
6
  "module": "es/index.js",