@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
@@ -60,6 +60,18 @@ const CannedMessageSchema = {
60
60
  parameters: {
61
61
  type: 'object',
62
62
  required: false
63
+ },
64
+ primaryLanguage: {
65
+ type: 'string',
66
+ required: false
67
+ },
68
+ wabaId: {
69
+ type: 'string',
70
+ required: false
71
+ },
72
+ modifiedTime: {
73
+ type: 'string',
74
+ required: false
63
75
  }
64
76
  };
65
77
  export default CannedMessageSchema;
@@ -11,7 +11,7 @@ const TemplateItemButtonsSchema = {
11
11
  },
12
12
  action: {
13
13
  type: 'string',
14
- required: true
14
+ required: false
15
15
  }
16
16
  };
17
17
  export default TemplateItemButtonsSchema;
@@ -15,7 +15,7 @@ const TranslationsSchema = {
15
15
  },
16
16
  message: {
17
17
  type: 'string',
18
- required: true
18
+ required: false
19
19
  },
20
20
  uuid: {
21
21
  type: 'string',
@@ -31,7 +31,7 @@ const TranslationsSchema = {
31
31
  },
32
32
  status: {
33
33
  type: 'string',
34
- required: true,
34
+ required: false,
35
35
  enum: Object.values(CannedMessageStatus)
36
36
  },
37
37
  templateItems: {
@@ -1,2 +1,4 @@
1
1
  import CannedMessageSchema from './CannedMessageSchema';
2
- export { CannedMessageSchema };
2
+ import TranslationsSchema from './TranslationsSchema';
3
+ export * from './TemplateItem';
4
+ export { CannedMessageSchema, TranslationsSchema };
@@ -1,13 +1,15 @@
1
- import { IntegrationServiceSchema } from '../integrationService';
2
1
  const ChannelSchema = {
3
2
  id: {
4
3
  type: 'string',
5
4
  required: true
6
5
  },
7
- integrationService: {
8
- type: 'object',
9
- required: true,
10
- schema: IntegrationServiceSchema
6
+ integrationServiceType: {
7
+ type: 'string',
8
+ required: false
9
+ },
10
+ integrationServiceId: {
11
+ type: 'string',
12
+ required: false
11
13
  },
12
14
  name: {
13
15
  type: 'string',
@@ -21,6 +23,14 @@ const ChannelSchema = {
21
23
  type: 'boolean',
22
24
  required: true
23
25
  },
26
+ isDeleted: {
27
+ type: 'boolean',
28
+ required: true
29
+ },
30
+ isSandBox: {
31
+ type: 'boolean',
32
+ required: true
33
+ },
24
34
  createdTime: {
25
35
  type: 'string',
26
36
  required: true
@@ -29,6 +39,10 @@ const ChannelSchema = {
29
39
  type: 'string',
30
40
  required: false
31
41
  },
42
+ universalLink: {
43
+ type: 'string',
44
+ required: true
45
+ },
32
46
  isSubscribed: {
33
47
  type: 'boolean',
34
48
  required: false
@@ -44,6 +58,26 @@ const ChannelSchema = {
44
58
  photoURL: {
45
59
  type: 'string',
46
60
  required: false
61
+ },
62
+ configParams: {
63
+ type: 'object',
64
+ required: false
65
+ },
66
+ authorizationPending: {
67
+ type: 'boolean',
68
+ required: false
69
+ },
70
+ meta: {
71
+ type: 'array',
72
+ required: false
73
+ },
74
+ logoURL: {
75
+ type: 'string',
76
+ required: false
77
+ },
78
+ workspaceId: {
79
+ type: 'string',
80
+ required: false
47
81
  }
48
82
  };
49
83
  export default ChannelSchema;
@@ -22,6 +22,18 @@ const ContactSchema = {
22
22
  mobile: {
23
23
  type: 'string',
24
24
  required: false
25
+ },
26
+ webUrl: {
27
+ type: 'string',
28
+ required: false
29
+ },
30
+ layoutId: {
31
+ type: 'string',
32
+ required: false
33
+ },
34
+ customFields: {
35
+ type: 'object',
36
+ required: false
25
37
  }
26
38
  };
27
39
  export default ContactSchema;
@@ -8,4 +8,9 @@ export * from './integrationService';
8
8
  export * from './contact';
9
9
  export * from './cannedMessage';
10
10
  export * from './templateMessage';
11
- export * from './customReplyExtension';
11
+ export * from './customReplyExtension';
12
+ export * from './placeholder';
13
+ export * from './userPreference';
14
+ export * from './whatsAppPricing';
15
+ export * from './call';
16
+ export * from './subscription';
@@ -26,6 +26,18 @@ const IntegrationServiceSchema = {
26
26
  logoURL: {
27
27
  type: 'string',
28
28
  required: false
29
+ },
30
+ domain: {
31
+ type: 'string',
32
+ required: false
33
+ },
34
+ channelAlias: {
35
+ type: 'string',
36
+ required: false
37
+ },
38
+ isParentAccountNeeded: {
39
+ type: 'boolean',
40
+ required: false
29
41
  }
30
42
  };
31
43
  export default IntegrationServiceSchema;
@@ -0,0 +1,19 @@
1
+ const PlaceholderSchema = {
2
+ apiName: {
3
+ type: 'string',
4
+ required: false
5
+ },
6
+ i18nFieldLabel: {
7
+ type: 'string',
8
+ required: true
9
+ },
10
+ fieldLabel: {
11
+ type: 'string',
12
+ required: true
13
+ },
14
+ placeHolder: {
15
+ type: 'string',
16
+ required: true
17
+ }
18
+ };
19
+ export default PlaceholderSchema;
@@ -0,0 +1,2 @@
1
+ import PlaceholderSchema from './PlaceholderSchema';
2
+ export { PlaceholderSchema };
@@ -0,0 +1,20 @@
1
+ import { AssigneeFilter } from '../../../enum';
2
+ import SessionMetricsForAssigneeSchema from './SessionMetricsForAssigneeSchema';
3
+ const AssigneeSchema = {
4
+ [AssigneeFilter.NONE]: {
5
+ type: 'object',
6
+ required: true,
7
+ schema: SessionMetricsForAssigneeSchema
8
+ },
9
+ [AssigneeFilter.MINE]: {
10
+ type: 'object',
11
+ required: true,
12
+ schema: SessionMetricsForAssigneeSchema
13
+ },
14
+ [AssigneeFilter.UNASSIGNED]: {
15
+ type: 'object',
16
+ required: true,
17
+ schema: SessionMetricsForAssigneeSchema
18
+ }
19
+ };
20
+ export default AssigneeSchema;
@@ -0,0 +1,32 @@
1
+ import { SessionStatus } from '../../../enum';
2
+ const SessionMetricsForAssigneeSchema = {
3
+ [SessionStatus.CREATED]: {
4
+ type: 'string',
5
+ required: true
6
+ },
7
+ [SessionStatus.OPEN]: {
8
+ type: 'string',
9
+ required: true
10
+ },
11
+ [SessionStatus.ON_PROGRESS]: {
12
+ type: 'string',
13
+ required: true
14
+ },
15
+ [SessionStatus.ON_HOLD]: {
16
+ type: 'string',
17
+ required: true
18
+ },
19
+ [SessionStatus.ENDED]: {
20
+ type: 'string',
21
+ required: true
22
+ },
23
+ [SessionStatus.BLOCKED]: {
24
+ type: 'string',
25
+ required: true
26
+ },
27
+ [SessionStatus.MISSED]: {
28
+ type: 'string',
29
+ required: true
30
+ }
31
+ };
32
+ export default SessionMetricsForAssigneeSchema;
@@ -0,0 +1,2 @@
1
+ import AssigneeSchema from './AssigneeSchema';
2
+ export { AssigneeSchema };
@@ -0,0 +1,9 @@
1
+ import AssigneeSchema from './SessionMetrics/AssigneeSchema';
2
+ const SessionMetricsSchema = {
3
+ assignee: {
4
+ type: 'object',
5
+ required: true,
6
+ schema: AssigneeSchema
7
+ }
8
+ };
9
+ export default SessionMetricsSchema;
@@ -1,2 +1,3 @@
1
1
  import SessionSchema from './SessionSchema';
2
- export { SessionSchema };
2
+ import SessionMetricsSchema from './SessionMetricsSchema';
3
+ export { SessionSchema, SessionMetricsSchema };
@@ -0,0 +1,29 @@
1
+ import { AddOnModule, AddOnName, AddOnType } from '../../enum';
2
+ import SubscriptionInfoSchema from './SubscriptionInfoSchema';
3
+ const AddOnSchema = {
4
+ name: {
5
+ type: 'string',
6
+ required: true,
7
+ enum: Object.values(AddOnName)
8
+ },
9
+ type: {
10
+ type: 'string',
11
+ required: true,
12
+ enum: Object.values(AddOnType)
13
+ },
14
+ module: {
15
+ type: 'string',
16
+ required: true,
17
+ enum: Object.values(AddOnModule)
18
+ },
19
+ cost: {
20
+ type: 'string',
21
+ required: false
22
+ },
23
+ subscriptionInfo: {
24
+ type: 'object',
25
+ required: false,
26
+ schema: SubscriptionInfoSchema
27
+ }
28
+ };
29
+ export default AddOnSchema;
@@ -0,0 +1,7 @@
1
+ const LicenseDetailsSchema = {
2
+ paymentSource: {
3
+ type: 'boolean',
4
+ required: true
5
+ }
6
+ };
7
+ export default LicenseDetailsSchema;
@@ -0,0 +1,29 @@
1
+ import { SubscriptionStatus } from '../../enum';
2
+ const SubscriptionInfoSchema = {
3
+ count: {
4
+ type: 'string',
5
+ required: true
6
+ },
7
+ available: {
8
+ type: 'string',
9
+ required: true
10
+ },
11
+ renewalCount: {
12
+ type: 'string',
13
+ required: false
14
+ },
15
+ renewalThreshold: {
16
+ type: 'string',
17
+ required: false
18
+ },
19
+ status: {
20
+ type: 'string',
21
+ required: true,
22
+ enum: Object.values(SubscriptionStatus)
23
+ },
24
+ reserved: {
25
+ type: 'string',
26
+ required: false
27
+ }
28
+ };
29
+ export default SubscriptionInfoSchema;
@@ -0,0 +1,4 @@
1
+ import AddOnSchema from './AddOnSchema';
2
+ import LicenseDetailsSchema from './LicenseDetailsSchema';
3
+ import SubscriptionInfoSchema from './SubscriptionInfoSchema';
4
+ export { AddOnSchema, LicenseDetailsSchema, SubscriptionInfoSchema };
@@ -0,0 +1,7 @@
1
+ const TemplateTagsSchema = {
2
+ tags: {
3
+ type: 'array',
4
+ required: true
5
+ }
6
+ };
7
+ export default TemplateTagsSchema;
@@ -1,3 +1,4 @@
1
1
  import TemplateLanguageSchema from './TemplateLanguageSchema';
2
2
  import TemplateCreditExhaustStatusSchema from './TemplateCreditExhaustStatusSchema';
3
- export { TemplateLanguageSchema, TemplateCreditExhaustStatusSchema };
3
+ import TemplateTagsSchema from './TemplateTagsSchema';
4
+ export { TemplateLanguageSchema, TemplateCreditExhaustStatusSchema, TemplateTagsSchema };
@@ -0,0 +1,9 @@
1
+ import { CollapseSidePanel } from '../../enum';
2
+ const UserPreferenceSchema = {
3
+ collapseSidePanel: {
4
+ type: 'string',
5
+ required: true,
6
+ enum: Object.values(CollapseSidePanel)
7
+ }
8
+ };
9
+ export default UserPreferenceSchema;
@@ -0,0 +1,2 @@
1
+ import UserPreferenceSchema from './UserPreferenceSchema';
2
+ export { UserPreferenceSchema };
@@ -0,0 +1,11 @@
1
+ const WhatsAppPricingCategorySchema = {
2
+ type: {
3
+ type: 'string',
4
+ required: true
5
+ },
6
+ value: {
7
+ type: 'number',
8
+ required: true
9
+ }
10
+ };
11
+ export default WhatsAppPricingCategorySchema;
@@ -0,0 +1,21 @@
1
+ import WhatsAppPricingCategorySchema from './WhatsAppPricingCategorySchema';
2
+ const WhatsAppPricingSchema = {
3
+ total: {
4
+ type: 'number',
5
+ required: true
6
+ },
7
+ creditsCount: {
8
+ type: 'number',
9
+ required: true
10
+ },
11
+ actutalCreditsAmount: {
12
+ type: 'number',
13
+ required: true
14
+ },
15
+ category: {
16
+ type: 'array',
17
+ required: true,
18
+ schema: WhatsAppPricingCategorySchema
19
+ }
20
+ };
21
+ export default WhatsAppPricingSchema;
@@ -0,0 +1,3 @@
1
+ import WhatsAppPricingSchema from './WhatsAppPricingSchema';
2
+ import WhatsAppPricingCategorySchema from './WhatsAppPricingCategorySchema';
3
+ export { WhatsAppPricingSchema, WhatsAppPricingCategorySchema };
@@ -1,4 +1,4 @@
1
- import { ModuleNames } from '../../core/constants';
1
+ import { ModuleNames, ModuleTypes } from '../../core/constants';
2
2
  import { BotSDK } from '../sdk/bots';
3
3
  import { ChannelSDK } from '../sdk/channels';
4
4
  import { SessionSDK } from '../sdk/sessions';
@@ -7,70 +7,141 @@ import { AgentSDK } from '../sdk/agents';
7
7
  import { ContactSDK } from '../sdk/contacts';
8
8
  import { CannedMessageSDK } from '../sdk/cannedMessages';
9
9
  import { TemplateMessageSDK } from '../sdk/templateMessages';
10
+ import { WhatsAppPricingSDK } from '../sdk/whatsAppPricing';
11
+ import { IntegrationServiceSDK } from '../sdk/integrationServices';
12
+ import { UserPreferencesSDK } from '../sdk/userPreferences';
13
+ import { CallSDK } from '../sdk/calls';
14
+ import { SubscriptionSDK } from '../sdk/subscription';
10
15
  const ModuleFactory = {
11
16
  [ModuleNames.CHANNELS]: _ref => {
12
17
  let {
13
18
  config
14
19
  } = _ref;
15
- return new ChannelSDK({
16
- config
17
- }).toJSON();
20
+ return {
21
+ [ModuleTypes.AUTHENTICATED]: new ChannelSDK({
22
+ config
23
+ }).toJSON()
24
+ };
18
25
  },
19
26
  [ModuleNames.SESSIONS]: _ref2 => {
20
27
  let {
21
28
  config
22
29
  } = _ref2;
23
- return new SessionSDK({
24
- config
25
- }).toJSON();
30
+ return {
31
+ [ModuleTypes.AUTHENTICATED]: new SessionSDK({
32
+ config
33
+ }).toJSON()
34
+ };
26
35
  },
27
36
  [ModuleNames.BOTS]: _ref3 => {
28
37
  let {
29
38
  config
30
39
  } = _ref3;
31
- return new BotSDK({
32
- config
33
- }).toJSON();
40
+ return {
41
+ [ModuleTypes.AUTHENTICATED]: new BotSDK({
42
+ config
43
+ }).toJSON()
44
+ };
34
45
  },
35
46
  [ModuleNames.AGENTS]: _ref4 => {
36
47
  let {
37
48
  config
38
49
  } = _ref4;
39
- return new AgentSDK({
40
- config
41
- }).toJSON();
50
+ return {
51
+ [ModuleTypes.AUTHENTICATED]: new AgentSDK({
52
+ config
53
+ }).toJSON()
54
+ };
42
55
  },
43
56
  [ModuleNames.CONTACTS]: _ref5 => {
44
57
  let {
45
58
  config
46
59
  } = _ref5;
47
- return new ContactSDK({
48
- config
49
- }).toJSON();
60
+ return {
61
+ [ModuleTypes.AUTHENTICATED]: new ContactSDK({
62
+ config
63
+ }).toJSON()
64
+ };
50
65
  },
51
66
  [ModuleNames.MESSAGES]: _ref6 => {
52
67
  let {
53
68
  config
54
69
  } = _ref6;
55
- return new MessageSDK({
56
- config
57
- }).toJSON();
70
+ return {
71
+ [ModuleTypes.AUTHENTICATED]: new MessageSDK({
72
+ config
73
+ }).toJSON()
74
+ };
58
75
  },
59
76
  [ModuleNames.CANNED_MESSAGES]: _ref7 => {
60
77
  let {
61
78
  config
62
79
  } = _ref7;
63
- return new CannedMessageSDK({
64
- config
65
- }).toJSON();
80
+ return {
81
+ [ModuleTypes.AUTHENTICATED]: new CannedMessageSDK({
82
+ config
83
+ }).toJSON()
84
+ };
66
85
  },
67
86
  [ModuleNames.TEMPLATE_MESSAGES]: _ref8 => {
68
87
  let {
69
88
  config
70
89
  } = _ref8;
71
- return new TemplateMessageSDK({
90
+ return {
91
+ [ModuleTypes.AUTHENTICATED]: new TemplateMessageSDK({
92
+ config
93
+ }).toJSON()
94
+ };
95
+ },
96
+ [ModuleNames.INTEGRATION_SERVICES]: _ref9 => {
97
+ let {
98
+ config
99
+ } = _ref9;
100
+ return {
101
+ [ModuleTypes.AUTHENTICATED]: new IntegrationServiceSDK({
102
+ config
103
+ }).toJSON()
104
+ };
105
+ },
106
+ [ModuleNames.USER_PREFERENCES]: _ref10 => {
107
+ let {
108
+ config
109
+ } = _ref10;
110
+ return {
111
+ [ModuleTypes.AUTHENTICATED]: new UserPreferencesSDK({
112
+ config
113
+ }).toJSON()
114
+ };
115
+ },
116
+ [ModuleNames.WHATSAPP_PRICING]: _ref11 => {
117
+ let {
118
+ config
119
+ } = _ref11;
120
+ return {
121
+ [ModuleTypes.PUBLIC]: new WhatsAppPricingSDK({
122
+ config
123
+ }).toJSON()
124
+ };
125
+ },
126
+ [ModuleNames.CALLS]: _ref12 => {
127
+ let {
128
+ config
129
+ } = _ref12;
130
+ return {
131
+ [ModuleTypes.AUTHENTICATED]: new CallSDK({
132
+ config
133
+ }).toJSON()
134
+ };
135
+ },
136
+ [ModuleNames.SUBSCRIPTION]: _ref13 => {
137
+ let {
72
138
  config
73
- }).toJSON();
139
+ } = _ref13;
140
+ return {
141
+ [ModuleTypes.AUTHENTICATED]: new SubscriptionSDK({
142
+ config
143
+ }).toJSON()
144
+ };
74
145
  }
75
146
  };
76
147
  export default ModuleFactory;
@@ -1,9 +1,9 @@
1
- import { ModuleNames } from '../../core/constants';
1
+ import { ModuleNames, ModuleTypes } from '../../core/constants';
2
2
  import ModuleFactory from './ModuleFactory';
3
3
  export default class ModuleManager {
4
4
  constructor() {
5
5
  this._modules = new Map();
6
- this.supportedModules = [ModuleNames.CHANNELS, ModuleNames.SESSIONS, ModuleNames.BOTS, ModuleNames.MESSAGES, ModuleNames.AGENTS, ModuleNames.CONTACTS, ModuleNames.CANNED_MESSAGES, ModuleNames.TEMPLATE_MESSAGES];
6
+ this.supportedModules = [ModuleNames.CHANNELS, ModuleNames.SESSIONS, ModuleNames.BOTS, ModuleNames.MESSAGES, ModuleNames.AGENTS, ModuleNames.CONTACTS, ModuleNames.CANNED_MESSAGES, ModuleNames.TEMPLATE_MESSAGES, ModuleNames.INTEGRATION_SERVICES, ModuleNames.USER_PREFERENCES, ModuleNames.WHATSAPP_PRICING, ModuleNames.CALLS, ModuleNames.SUBSCRIPTION];
7
7
  }
8
8
 
9
9
  initialize(_ref) {
@@ -37,6 +37,29 @@ export default class ModuleManager {
37
37
  return this._modules.get(moduleName);
38
38
  }
39
39
 
40
+ getModuleByType(moduleName) {
41
+ let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ModuleTypes.AUTHENTICATED;
42
+ const moduleEntry = this.getModule(moduleName);
43
+
44
+ if (!moduleEntry) {
45
+ return undefined;
46
+ }
47
+
48
+ return moduleEntry[type];
49
+ }
50
+
51
+ getModulesByType(type) {
52
+ const result = {};
53
+
54
+ this._modules.forEach((moduleEntry, moduleName) => {
55
+ if (moduleEntry[type]) {
56
+ result[moduleName] = moduleEntry[type];
57
+ }
58
+ });
59
+
60
+ return result;
61
+ }
62
+
40
63
  hasModule(moduleName) {
41
64
  return this._modules.has(moduleName);
42
65
  }