@zohoim/client-sdk 1.1.0-attachmentsList → 1.1.0-calls1

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 (143) 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/channels/ChannelService.js +6 -1
  4. package/es/application/services/index.js +5 -1
  5. package/es/application/services/integrationServices/IntegrationService.js +21 -0
  6. package/es/application/services/integrationServices/index.js +2 -0
  7. package/es/application/services/sessions/SessionService.js +6 -1
  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/calls/getCallRequest.js +14 -0
  17. package/es/domain/dto/calls/getCallsRequest.js +20 -0
  18. package/es/domain/dto/calls/index.js +4 -0
  19. package/es/domain/dto/calls/initiateCallRequest.js +15 -0
  20. package/es/domain/dto/calls/updateCallStatusRequest.js +15 -0
  21. package/es/domain/dto/channels/getChannelRequest.js +13 -0
  22. package/es/domain/dto/channels/getChannelsRequest.js +3 -1
  23. package/es/domain/dto/channels/index.js +2 -1
  24. package/es/domain/dto/index.js +5 -1
  25. package/es/domain/dto/integrationServices/getIntegrationsRequest.js +7 -0
  26. package/es/domain/dto/integrationServices/index.js +1 -0
  27. package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +5 -2
  28. package/es/domain/dto/sessions/getSessionMetricsRequest.js +16 -0
  29. package/es/domain/dto/sessions/index.js +2 -1
  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/Actor/Actor.js +4 -0
  36. package/es/domain/entities/Call/Call.js +47 -0
  37. package/es/domain/entities/Call/index.js +1 -0
  38. package/es/domain/entities/Channel/Channel.js +22 -4
  39. package/es/domain/entities/IntegrationService/IntegrationService.js +8 -1
  40. package/es/domain/entities/Session/SessionMetrics.js +21 -0
  41. package/es/domain/entities/Session/index.js +2 -1
  42. package/es/domain/entities/UserPreference/UserPreference.js +26 -0
  43. package/es/domain/entities/UserPreference/index.js +2 -0
  44. package/es/domain/entities/WhatsAppPricing/WhatsAppPricing.js +25 -0
  45. package/es/domain/entities/WhatsAppPricing/WhatsAppPricingCategory.js +22 -0
  46. package/es/domain/entities/WhatsAppPricing/index.js +3 -0
  47. package/es/domain/entities/index.js +4 -1
  48. package/es/domain/enum/call/CallStatus.js +8 -0
  49. package/es/domain/enum/call/index.js +1 -0
  50. package/es/domain/enum/index.js +3 -1
  51. package/es/domain/enum/session/AssigneeFilter.js +6 -0
  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/userPreference/CollapseSidePanel.js +5 -0
  55. package/es/domain/enum/userPreference/index.js +2 -0
  56. package/es/domain/interfaces/repositories/calls/ICallRepository.js +32 -0
  57. package/es/domain/interfaces/repositories/calls/index.js +1 -0
  58. package/es/domain/interfaces/repositories/channels/IChannelRepository.js +7 -1
  59. package/es/domain/interfaces/repositories/index.js +5 -1
  60. package/es/domain/interfaces/repositories/integrationServices/IIntegrationServiceRepository.js +17 -0
  61. package/es/domain/interfaces/repositories/integrationServices/index.js +2 -0
  62. package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +6 -1
  63. package/es/domain/interfaces/repositories/userPreferences/IUserPreferenceRepository.js +23 -0
  64. package/es/domain/interfaces/repositories/userPreferences/index.js +2 -0
  65. package/es/domain/interfaces/repositories/whatsAppPricing/IWhatsAppPricingRepository.js +18 -0
  66. package/es/domain/interfaces/repositories/whatsAppPricing/index.js +2 -0
  67. package/es/domain/schema/call/CallSchema.js +63 -0
  68. package/es/domain/schema/call/index.js +1 -0
  69. package/es/domain/schema/channel/ChannelSchema.js +39 -5
  70. package/es/domain/schema/index.js +4 -1
  71. package/es/domain/schema/integrationService/IntegrationServiceSchema.js +12 -0
  72. package/es/domain/schema/session/SessionMetrics/AssigneeSchema.js +20 -0
  73. package/es/domain/schema/session/SessionMetrics/SessionMetricsForAssigneeSchema.js +32 -0
  74. package/es/domain/schema/session/SessionMetrics/index.js +2 -0
  75. package/es/domain/schema/session/SessionMetricsSchema.js +9 -0
  76. package/es/domain/schema/session/index.js +2 -1
  77. package/es/domain/schema/userPreference/UserPreferenceSchema.js +9 -0
  78. package/es/domain/schema/userPreference/index.js +2 -0
  79. package/es/domain/schema/whatsAppPricing/WhatsAppPricingCategorySchema.js +11 -0
  80. package/es/domain/schema/whatsAppPricing/WhatsAppPricingSchema.js +21 -0
  81. package/es/domain/schema/whatsAppPricing/index.js +3 -0
  82. package/es/frameworks/managers/ModuleFactory.js +81 -23
  83. package/es/frameworks/managers/ModuleManager.js +25 -2
  84. package/es/frameworks/sdk/IMSDK.js +33 -11
  85. package/es/frameworks/sdk/calls/CallSDK.js +27 -0
  86. package/es/frameworks/sdk/calls/index.js +1 -0
  87. package/es/frameworks/sdk/integrationServices/IntegrationServiceSDK.js +30 -0
  88. package/es/frameworks/sdk/integrationServices/index.js +2 -0
  89. package/es/frameworks/sdk/userPreferences/UserPreferencesSDK.js +30 -0
  90. package/es/frameworks/sdk/userPreferences/index.js +2 -0
  91. package/es/frameworks/sdk/whatsAppPricing/WhatsAppPricingSDK.js +28 -0
  92. package/es/frameworks/sdk/whatsAppPricing/index.js +2 -0
  93. package/es/infrastructure/adapters/calls/CallAdapter.js +31 -0
  94. package/es/infrastructure/adapters/calls/index.js +1 -0
  95. package/es/infrastructure/adapters/channels/ChannelAdapter.js +16 -2
  96. package/es/infrastructure/adapters/index.js +5 -1
  97. package/es/infrastructure/adapters/integrationServices/IntegrationServiceAdapter.js +25 -0
  98. package/es/infrastructure/adapters/integrationServices/index.js +2 -0
  99. package/es/infrastructure/adapters/sessions/SessionMetricsAdapter.js +19 -0
  100. package/es/infrastructure/adapters/sessions/index.js +2 -1
  101. package/es/infrastructure/adapters/userPreferences/UserPreferenceAdapter.js +19 -0
  102. package/es/infrastructure/adapters/userPreferences/index.js +2 -0
  103. package/es/infrastructure/adapters/whatsAppPricing/WhatsAppPricingAdapter.js +22 -0
  104. package/es/infrastructure/adapters/whatsAppPricing/index.js +2 -0
  105. package/es/infrastructure/api/BaseAPI.js +5 -4
  106. package/es/infrastructure/api/calls/CallAPI.js +44 -0
  107. package/es/infrastructure/api/calls/index.js +1 -0
  108. package/es/infrastructure/api/index.js +5 -1
  109. package/es/infrastructure/api/integrationServices/IntegrationServiceAPI.js +14 -0
  110. package/es/infrastructure/api/integrationServices/index.js +2 -0
  111. package/es/infrastructure/api/registry/calls/callAPIRegistry.js +29 -0
  112. package/es/infrastructure/api/registry/calls/constructCallEndPoint.js +10 -0
  113. package/es/infrastructure/api/registry/calls/index.js +1 -0
  114. package/es/infrastructure/api/registry/createPublicBaseUrl.js +4 -0
  115. package/es/infrastructure/api/registry/getRegistryConfig.js +9 -1
  116. package/es/infrastructure/api/registry/integrationServices/constructIntegrationServiceEndPoint.js +10 -0
  117. package/es/infrastructure/api/registry/integrationServices/index.js +2 -0
  118. package/es/infrastructure/api/registry/integrationServices/integrationServiceAPIRegistry.js +12 -0
  119. package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +8 -2
  120. package/es/infrastructure/api/registry/userPreferences/constructUserPreferencesEndPoint.js +10 -0
  121. package/es/infrastructure/api/registry/userPreferences/index.js +2 -0
  122. package/es/infrastructure/api/registry/userPreferences/userPreferenceAPIRegistry.js +17 -0
  123. package/es/infrastructure/api/registry/whatsAppPricing/constructWhatsAppPricingEndPoint.js +10 -0
  124. package/es/infrastructure/api/registry/whatsAppPricing/index.js +2 -0
  125. package/es/infrastructure/api/registry/whatsAppPricing/whatsAppPricingAPIRegistry.js +13 -0
  126. package/es/infrastructure/api/sessions/SessionAPI.js +11 -1
  127. package/es/infrastructure/api/userPreferences/UserPreferenceAPI.js +24 -0
  128. package/es/infrastructure/api/userPreferences/index.js +2 -0
  129. package/es/infrastructure/api/whatsAppPricing/WhatsAppPricingAPI.js +14 -0
  130. package/es/infrastructure/api/whatsAppPricing/index.js +2 -0
  131. package/es/infrastructure/config/configRegistry.js +8 -1
  132. package/es/infrastructure/repositories/calls/CallRepository.js +73 -0
  133. package/es/infrastructure/repositories/calls/index.js +1 -0
  134. package/es/infrastructure/repositories/channels/ChannelRepository.js +10 -1
  135. package/es/infrastructure/repositories/index.js +5 -1
  136. package/es/infrastructure/repositories/integrationServices/IntegrationServiceRepository.js +49 -0
  137. package/es/infrastructure/repositories/integrationServices/index.js +2 -0
  138. package/es/infrastructure/repositories/sessions/SessionRepository.js +14 -3
  139. package/es/infrastructure/repositories/userPreferences/UserPreferenceRepository.js +58 -0
  140. package/es/infrastructure/repositories/userPreferences/index.js +2 -0
  141. package/es/infrastructure/repositories/whatsAppPricing/WhatsAppPricingRepository.js +49 -0
  142. package/es/infrastructure/repositories/whatsAppPricing/index.js +2 -0
  143. package/package.json +2 -2
@@ -0,0 +1,25 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { WhatsAppPricingSchema } from '../../schema';
3
+ import WhatsAppPricingCategory from './WhatsAppPricingCategory';
4
+ export default class WhatsAppPricing {
5
+ constructor() {
6
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ const validatedData = validateSchema({
8
+ schema: WhatsAppPricingSchema,
9
+ data,
10
+ entityName: 'WhatsAppPricing'
11
+ });
12
+ this.data = {
13
+ total: validatedData.total,
14
+ creditsCount: validatedData.creditsCount,
15
+ actutalCreditsAmount: validatedData.actutalCreditsAmount,
16
+ category: validatedData.category.map(item => new WhatsAppPricingCategory(item).toJSON())
17
+ };
18
+ }
19
+
20
+ toJSON() {
21
+ return { ...this.data
22
+ };
23
+ }
24
+
25
+ }
@@ -0,0 +1,22 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { WhatsAppPricingCategorySchema } from '../../schema';
3
+ export default class WhatsAppPricingCategory {
4
+ constructor() {
5
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
+ const validatedData = validateSchema({
7
+ schema: WhatsAppPricingCategorySchema,
8
+ data,
9
+ entityName: 'WhatsAppPricingCategory'
10
+ });
11
+ this.data = {
12
+ type: validatedData.type,
13
+ value: validatedData.value
14
+ };
15
+ }
16
+
17
+ toJSON() {
18
+ return { ...this.data
19
+ };
20
+ }
21
+
22
+ }
@@ -0,0 +1,3 @@
1
+ import WhatsAppPricing from './WhatsAppPricing';
2
+ import WhatsAppPricingCategory from './WhatsAppPricingCategory';
3
+ export { WhatsAppPricing, WhatsAppPricingCategory };
@@ -9,4 +9,7 @@ export * from './Contact';
9
9
  export * from './IntegrationService';
10
10
  export * from './CannedMessage';
11
11
  export * from './TemplateMessage';
12
- export * from './CustomReplyExtension';
12
+ export * from './CustomReplyExtension';
13
+ export * from './UserPreference';
14
+ export * from './WhatsAppPricing';
15
+ export * from './Call';
@@ -0,0 +1,8 @@
1
+ const CallStatus = {
2
+ INITIATED: 'INITIATED',
3
+ IN_PROGRESS: 'IN_PROGRESS',
4
+ ENDED: 'ENDED',
5
+ REJECTED: 'REJECTED',
6
+ MISSED: 'MISSED'
7
+ };
8
+ export default CallStatus;
@@ -0,0 +1 @@
1
+ export { default as CallStatus } from './CallStatus';
@@ -5,4 +5,6 @@ export * from './bot';
5
5
  export * from './message';
6
6
  export * from './attachment';
7
7
  export * from './cannedMessage';
8
- export * from './templateMessage';
8
+ export * from './templateMessage';
9
+ export * from './userPreference';
10
+ export * from './call';
@@ -0,0 +1,6 @@
1
+ const AssigneeFilter = {
2
+ NONE: 'NONE',
3
+ UNASSIGNED: 'UNASSIGNED',
4
+ MINE: 'MINE'
5
+ };
6
+ export default AssigneeFilter;
@@ -5,6 +5,7 @@ const SessionStatus = {
5
5
  ON_HOLD: 'ON_HOLD',
6
6
  ENDED: 'ENDED',
7
7
  BLOCKED: 'BLOCKED',
8
- UNASSIGNED: 'UNASSIGNED'
8
+ UNASSIGNED: 'UNASSIGNED',
9
+ MISSED: 'MISSED'
9
10
  };
10
11
  export default SessionStatus;
@@ -1,3 +1,4 @@
1
1
  import SessionReplyStatus from './SessionReplyStatus';
2
2
  import SessionStatus from './SessionStatus';
3
- export { SessionStatus, SessionReplyStatus };
3
+ import AssigneeFilter from './AssigneeFilter';
4
+ export { SessionStatus, SessionReplyStatus, AssigneeFilter };
@@ -0,0 +1,5 @@
1
+ const CollapseSidePanel = {
2
+ ENABLED: 'ENABLED',
3
+ DISABLED: 'DISABLED'
4
+ };
5
+ export default CollapseSidePanel;
@@ -0,0 +1,2 @@
1
+ import CollapseSidePanel from './CollapseSidePanel';
2
+ export { CollapseSidePanel };
@@ -0,0 +1,32 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { ModuleNames } from '../../../../core/constants';
3
+ import BaseAPI from '../../../../infrastructure/api/BaseAPI';
4
+ import { getCallsRequest, getCallRequest, initiateCallRequest, updateCallStatusRequest } from '../../../dto';
5
+ export default class ICallRepository extends BaseAPI {
6
+ constructor() {
7
+ super({
8
+ module: ModuleNames.CALLS
9
+ });
10
+ }
11
+
12
+ getCalls() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCallsRequest();
14
+ throw new Error('Method not implemented.');
15
+ }
16
+
17
+ getCall() {
18
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCallRequest();
19
+ throw new Error('Method not implemented.');
20
+ }
21
+
22
+ updateCallStatus() {
23
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateCallStatusRequest();
24
+ throw new Error('Method not implemented.');
25
+ }
26
+
27
+ initiateCall() {
28
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initiateCallRequest();
29
+ throw new Error('Method not implemented.');
30
+ }
31
+
32
+ }
@@ -0,0 +1 @@
1
+ export { default as ICallRepository } from './ICallRepository';
@@ -1,6 +1,6 @@
1
1
  import { ModuleNames } from '../../../../core/constants';
2
2
  import BaseAPI from '../../../../infrastructure/api/BaseAPI';
3
- import { getChannelsRequest } from '../../../dto';
3
+ import { getChannelRequest, getChannelsRequest } from '../../../dto';
4
4
  export default class IChannelRepository extends BaseAPI {
5
5
  constructor() {
6
6
  super({
@@ -12,6 +12,12 @@ export default class IChannelRepository extends BaseAPI {
12
12
  getChannels() {
13
13
  let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelsRequest();
14
14
  throw new Error('Method not implemented.');
15
+ } // eslint-disable-next-line no-unused-vars
16
+
17
+
18
+ getChannel() {
19
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelRequest();
20
+ throw new Error('Method not implemented.');
15
21
  }
16
22
 
17
23
  }
@@ -5,4 +5,8 @@ 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';
@@ -0,0 +1,17 @@
1
+ import { ModuleNames } from '../../../../core/constants';
2
+ import BaseAPI from '../../../../infrastructure/api/BaseAPI';
3
+ import { getIntegrationsRequest } from '../../../dto';
4
+ export default class IIntegrationServiceRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: ModuleNames.INTEGRATION_SERVICES
8
+ });
9
+ } // eslint-disable-next-line no-unused-vars
10
+
11
+
12
+ async getIntegrations() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getIntegrationsRequest();
14
+ throw new Error('Method not implemented');
15
+ }
16
+
17
+ }
@@ -0,0 +1,2 @@
1
+ import IIntegrationServiceRepository from './IIntegrationServiceRepository';
2
+ export { IIntegrationServiceRepository };
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-unused-vars */
2
2
  import { ModuleNames } from '../../../../core/constants';
3
3
  import BaseAPI from '../../../../infrastructure/api/BaseAPI';
4
- import { updateSessionAssigneeRequest, getSessionsRequest, getSessionRequest, getSessionAttachmentsRequest, getSessionLastMessagesRequest, markSessionAsReadRequest, updateSessionStatusRequest, pickupSessionRequest } from '../../../dto';
4
+ import { updateSessionAssigneeRequest, getSessionsRequest, getSessionRequest, getSessionAttachmentsRequest, getSessionLastMessagesRequest, markSessionAsReadRequest, updateSessionStatusRequest, pickupSessionRequest, getSessionMetricsRequest } from '../../../dto';
5
5
  export default class ISessionRepository extends BaseAPI {
6
6
  constructor() {
7
7
  super({
@@ -49,4 +49,9 @@ export default class ISessionRepository extends BaseAPI {
49
49
  throw new Error('Method not implemented.');
50
50
  }
51
51
 
52
+ getSessionMetrics() {
53
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionMetricsRequest();
54
+ throw new Error('Method not implemented.');
55
+ }
56
+
52
57
  }
@@ -0,0 +1,23 @@
1
+ import { ModuleNames } from '../../../../core/constants';
2
+ import BaseAPI from '../../../../infrastructure/api/BaseAPI';
3
+ import { getPreferencesRequest, updatePreferencesRequest } from '../../../dto';
4
+ export default class IUserPreferenceRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: ModuleNames.USER_PREFERENCES
8
+ });
9
+ } // eslint-disable-next-line no-unused-vars
10
+
11
+
12
+ async getPreferences() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getPreferencesRequest();
14
+ throw new Error('Method not implemented');
15
+ } // eslint-disable-next-line no-unused-vars
16
+
17
+
18
+ async updatePreferences() {
19
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updatePreferencesRequest();
20
+ throw new Error('Method not implemented');
21
+ }
22
+
23
+ }
@@ -0,0 +1,2 @@
1
+ import IUserPreferenceRepository from './IUserPreferenceRepository';
2
+ export { IUserPreferenceRepository };
@@ -0,0 +1,18 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { ModuleNames, ModuleTypes } from '../../../../core/constants';
3
+ import BaseAPI from '../../../../infrastructure/api/BaseAPI';
4
+ import { calculateWhatsAppPricingRequest } from '../../../dto';
5
+ export default class IWhatsAppPricingRepository extends BaseAPI {
6
+ constructor() {
7
+ super({
8
+ module: ModuleNames.WHATSAPP_PRICING,
9
+ moduleType: ModuleTypes.PUBLIC
10
+ });
11
+ }
12
+
13
+ async calculateWhatsAppPricing() {
14
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : calculateWhatsAppPricingRequest();
15
+ throw new Error('Method not implemented');
16
+ }
17
+
18
+ }
@@ -0,0 +1,2 @@
1
+ import IWhatsAppPricingRepository from './IWhatsAppPricingRepository';
2
+ export { IWhatsAppPricingRepository };
@@ -0,0 +1,63 @@
1
+ import { MessageDirection } from '../../enum/message';
2
+ import { CallStatus } from '../../enum/call';
3
+ import { ActorSchema } from '../actor';
4
+ import { IntegrationServices } from '../../enum';
5
+ const CallSchema = {
6
+ id: {
7
+ type: 'string',
8
+ required: true
9
+ },
10
+ actor: {
11
+ type: 'object',
12
+ required: true,
13
+ schema: ActorSchema
14
+ },
15
+ channelId: {
16
+ type: 'string',
17
+ required: true
18
+ },
19
+ createdTime: {
20
+ type: 'string',
21
+ required: true
22
+ },
23
+ direction: {
24
+ type: 'string',
25
+ required: true,
26
+ enum: Object.values(MessageDirection)
27
+ },
28
+ integrationServiceId: {
29
+ type: 'string',
30
+ required: true,
31
+ enum: Object.values(IntegrationServices)
32
+ },
33
+ meta: {
34
+ type: 'array',
35
+ required: false
36
+ },
37
+ participants: {
38
+ type: 'array',
39
+ required: false
40
+ },
41
+ sessionId: {
42
+ type: 'string',
43
+ required: true
44
+ },
45
+ session: {
46
+ type: 'object',
47
+ required: false
48
+ },
49
+ status: {
50
+ type: 'string',
51
+ required: true,
52
+ enum: Object.values(CallStatus)
53
+ },
54
+ statuses: {
55
+ type: 'array',
56
+ required: false
57
+ },
58
+ duration: {
59
+ type: 'string',
60
+ required: false
61
+ }
62
+ };
63
+ export default CallSchema;
@@ -0,0 +1 @@
1
+ export { default as CallSchema } from './CallSchema';
@@ -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;
@@ -8,4 +8,7 @@ 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 './userPreference';
13
+ export * from './whatsAppPricing';
14
+ export * from './call';
@@ -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,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,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 };