@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.
- package/es/application/services/channels/ChannelService.js +6 -1
- package/es/application/services/index.js +5 -1
- package/es/application/services/integrationServices/IntegrationService.js +21 -0
- package/es/application/services/integrationServices/index.js +2 -0
- package/es/application/services/sessions/SessionService.js +6 -1
- package/es/application/services/subscription/SubscriptionService.js +36 -0
- package/es/application/services/subscription/index.js +2 -0
- package/es/application/services/userPreferences/UserPreferenceService.js +26 -0
- package/es/application/services/userPreferences/index.js +2 -0
- package/es/application/services/whatsAppPricing/WhatsAppPricingService.js +21 -0
- package/es/application/services/whatsAppPricing/index.js +2 -0
- package/es/core/constants/ModuleNames.js +5 -1
- package/es/core/constants/ModuleTypes.js +5 -0
- package/es/core/constants/index.js +2 -1
- package/es/core/utils/validateSchema.js +25 -0
- package/es/domain/dto/channels/getChannelRequest.js +13 -0
- package/es/domain/dto/channels/getChannelsRequest.js +3 -1
- package/es/domain/dto/channels/index.js +2 -1
- package/es/domain/dto/index.js +5 -1
- package/es/domain/dto/integrationServices/getIntegrationsRequest.js +7 -0
- package/es/domain/dto/integrationServices/index.js +1 -0
- package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +6 -1
- package/es/domain/dto/sessions/getSessionMetricsRequest.js +16 -0
- package/es/domain/dto/sessions/index.js +2 -1
- package/es/domain/dto/subscription/buyAddOnRequest.js +18 -0
- package/es/domain/dto/subscription/getAddOnsRequest.js +15 -0
- package/es/domain/dto/subscription/getLicenseDetailsRequest.js +7 -0
- package/es/domain/dto/subscription/index.js +4 -0
- package/es/domain/dto/subscription/modifyAddOnRequest.js +18 -0
- package/es/domain/dto/userPreferences/getPreferencesRequest.js +7 -0
- package/es/domain/dto/userPreferences/index.js +2 -0
- package/es/domain/dto/userPreferences/updatePreferencesRequest.js +9 -0
- package/es/domain/dto/whatsAppPricing/calculateWhatsAppPricingRequest.js +14 -0
- package/es/domain/dto/whatsAppPricing/index.js +1 -0
- package/es/domain/entities/Channel/Channel.js +22 -4
- package/es/domain/entities/IntegrationService/IntegrationService.js +8 -1
- package/es/domain/entities/Session/SessionMetrics.js +21 -0
- package/es/domain/entities/Session/index.js +2 -1
- package/es/domain/entities/Subscription/AddOn.js +26 -0
- package/es/domain/entities/Subscription/LicenseDetails.js +21 -0
- package/es/domain/entities/Subscription/SubscriptionInfo.js +26 -0
- package/es/domain/entities/Subscription/index.js +4 -0
- package/es/domain/entities/UserPreference/UserPreference.js +26 -0
- package/es/domain/entities/UserPreference/index.js +2 -0
- package/es/domain/entities/WhatsAppPricing/WhatsAppPricing.js +25 -0
- package/es/domain/entities/WhatsAppPricing/WhatsAppPricingCategory.js +22 -0
- package/es/domain/entities/WhatsAppPricing/index.js +3 -0
- package/es/domain/entities/index.js +4 -1
- package/es/domain/enum/index.js +3 -1
- package/es/domain/enum/session/AssigneeFilter.js +6 -0
- package/es/domain/enum/session/SessionReplyStatus.js +4 -1
- package/es/domain/enum/session/SessionStatus.js +2 -1
- package/es/domain/enum/session/index.js +2 -1
- package/es/domain/enum/subscription/AddOnModule.js +5 -0
- package/es/domain/enum/subscription/AddOnName.js +5 -0
- package/es/domain/enum/subscription/AddOnType.js +5 -0
- package/es/domain/enum/subscription/SubscriptionStatus.js +4 -0
- package/es/domain/enum/subscription/index.js +5 -0
- package/es/domain/enum/userPreference/CollapseSidePanel.js +5 -0
- package/es/domain/enum/userPreference/index.js +2 -0
- package/es/domain/interfaces/repositories/channels/IChannelRepository.js +7 -1
- package/es/domain/interfaces/repositories/index.js +5 -1
- package/es/domain/interfaces/repositories/integrationServices/IIntegrationServiceRepository.js +17 -0
- package/es/domain/interfaces/repositories/integrationServices/index.js +2 -0
- package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +6 -1
- package/es/domain/interfaces/repositories/subscription/ISubscriptionRepository.js +32 -0
- package/es/domain/interfaces/repositories/subscription/index.js +2 -0
- package/es/domain/interfaces/repositories/userPreferences/IUserPreferenceRepository.js +23 -0
- package/es/domain/interfaces/repositories/userPreferences/index.js +2 -0
- package/es/domain/interfaces/repositories/whatsAppPricing/IWhatsAppPricingRepository.js +18 -0
- package/es/domain/interfaces/repositories/whatsAppPricing/index.js +2 -0
- package/es/domain/schema/channel/ChannelSchema.js +39 -5
- package/es/domain/schema/index.js +4 -1
- package/es/domain/schema/integrationService/IntegrationServiceSchema.js +12 -0
- package/es/domain/schema/session/SessionMetrics/AssigneeSchema.js +20 -0
- package/es/domain/schema/session/SessionMetrics/SessionMetricsForAssigneeSchema.js +32 -0
- package/es/domain/schema/session/SessionMetrics/index.js +2 -0
- package/es/domain/schema/session/SessionMetricsSchema.js +9 -0
- package/es/domain/schema/session/index.js +2 -1
- package/es/domain/schema/subscription/AddOnSchema.js +29 -0
- package/es/domain/schema/subscription/LicenseDetailsSchema.js +7 -0
- package/es/domain/schema/subscription/SubscriptionInfoSchema.js +29 -0
- package/es/domain/schema/subscription/index.js +4 -0
- package/es/domain/schema/userPreference/UserPreferenceSchema.js +9 -0
- package/es/domain/schema/userPreference/index.js +2 -0
- package/es/domain/schema/whatsAppPricing/WhatsAppPricingCategorySchema.js +11 -0
- package/es/domain/schema/whatsAppPricing/WhatsAppPricingSchema.js +21 -0
- package/es/domain/schema/whatsAppPricing/index.js +3 -0
- package/es/frameworks/managers/ModuleFactory.js +84 -24
- package/es/frameworks/managers/ModuleManager.js +25 -2
- package/es/frameworks/sdk/IMSDK.js +33 -11
- package/es/frameworks/sdk/integrationServices/IntegrationServiceSDK.js +30 -0
- package/es/frameworks/sdk/integrationServices/index.js +2 -0
- package/es/frameworks/sdk/subscription/SubscriptionSDK.js +32 -0
- package/es/frameworks/sdk/subscription/index.js +2 -0
- package/es/frameworks/sdk/userPreferences/UserPreferencesSDK.js +30 -0
- package/es/frameworks/sdk/userPreferences/index.js +2 -0
- package/es/frameworks/sdk/whatsAppPricing/WhatsAppPricingSDK.js +28 -0
- package/es/frameworks/sdk/whatsAppPricing/index.js +2 -0
- package/es/infrastructure/adapters/channels/ChannelAdapter.js +16 -2
- package/es/infrastructure/adapters/index.js +5 -1
- package/es/infrastructure/adapters/integrationServices/IntegrationServiceAdapter.js +25 -0
- package/es/infrastructure/adapters/integrationServices/index.js +2 -0
- package/es/infrastructure/adapters/sessions/SessionMetricsAdapter.js +19 -0
- package/es/infrastructure/adapters/sessions/index.js +2 -1
- package/es/infrastructure/adapters/subscription/AddOnAdapter.js +24 -0
- package/es/infrastructure/adapters/subscription/LicenseDetailsAdapter.js +20 -0
- package/es/infrastructure/adapters/subscription/index.js +3 -0
- package/es/infrastructure/adapters/userPreferences/UserPreferenceAdapter.js +19 -0
- package/es/infrastructure/adapters/userPreferences/index.js +2 -0
- package/es/infrastructure/adapters/whatsAppPricing/WhatsAppPricingAdapter.js +22 -0
- package/es/infrastructure/adapters/whatsAppPricing/index.js +2 -0
- package/es/infrastructure/api/BaseAPI.js +5 -4
- package/es/infrastructure/api/index.js +5 -1
- package/es/infrastructure/api/integrationServices/IntegrationServiceAPI.js +14 -0
- package/es/infrastructure/api/integrationServices/index.js +2 -0
- package/es/infrastructure/api/registry/createPublicBaseUrl.js +4 -0
- package/es/infrastructure/api/registry/getRegistryConfig.js +9 -1
- package/es/infrastructure/api/registry/integrationServices/constructIntegrationServiceEndPoint.js +10 -0
- package/es/infrastructure/api/registry/integrationServices/index.js +2 -0
- package/es/infrastructure/api/registry/integrationServices/integrationServiceAPIRegistry.js +12 -0
- package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +8 -2
- package/es/infrastructure/api/registry/subscription/constructSubscriptionEndPoint.js +10 -0
- package/es/infrastructure/api/registry/subscription/index.js +2 -0
- package/es/infrastructure/api/registry/subscription/subscriptionAPIRegistry.js +30 -0
- package/es/infrastructure/api/registry/userPreferences/constructUserPreferencesEndPoint.js +10 -0
- package/es/infrastructure/api/registry/userPreferences/index.js +2 -0
- package/es/infrastructure/api/registry/userPreferences/userPreferenceAPIRegistry.js +17 -0
- package/es/infrastructure/api/registry/whatsAppPricing/constructWhatsAppPricingEndPoint.js +10 -0
- package/es/infrastructure/api/registry/whatsAppPricing/index.js +2 -0
- package/es/infrastructure/api/registry/whatsAppPricing/whatsAppPricingAPIRegistry.js +13 -0
- package/es/infrastructure/api/sessions/SessionAPI.js +11 -1
- package/es/infrastructure/api/subscription/SubscriptionAPI.js +48 -0
- package/es/infrastructure/api/subscription/index.js +2 -0
- package/es/infrastructure/api/userPreferences/UserPreferenceAPI.js +24 -0
- package/es/infrastructure/api/userPreferences/index.js +2 -0
- package/es/infrastructure/api/whatsAppPricing/WhatsAppPricingAPI.js +14 -0
- package/es/infrastructure/api/whatsAppPricing/index.js +2 -0
- package/es/infrastructure/config/configRegistry.js +8 -1
- package/es/infrastructure/repositories/channels/ChannelRepository.js +10 -1
- package/es/infrastructure/repositories/index.js +5 -1
- package/es/infrastructure/repositories/integrationServices/IntegrationServiceRepository.js +49 -0
- package/es/infrastructure/repositories/integrationServices/index.js +2 -0
- package/es/infrastructure/repositories/sessions/SessionRepository.js +14 -3
- package/es/infrastructure/repositories/subscription/SubscriptionRepository.js +83 -0
- package/es/infrastructure/repositories/subscription/index.js +2 -0
- package/es/infrastructure/repositories/userPreferences/UserPreferenceRepository.js +58 -0
- package/es/infrastructure/repositories/userPreferences/index.js +2 -0
- package/es/infrastructure/repositories/whatsAppPricing/WhatsAppPricingRepository.js +49 -0
- package/es/infrastructure/repositories/whatsAppPricing/index.js +2 -0
- package/package.json +1 -1
|
@@ -12,9 +12,14 @@ export default class ChannelService extends IChannelRepository {
|
|
|
12
12
|
return this.channelRepository.getChannels(request);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
async getChannel(request) {
|
|
16
|
+
return this.channelRepository.getChannel(request);
|
|
17
|
+
}
|
|
18
|
+
|
|
15
19
|
toJSON() {
|
|
16
20
|
return {
|
|
17
|
-
getChannels: this.getChannels.bind(this)
|
|
21
|
+
getChannels: this.getChannels.bind(this),
|
|
22
|
+
getChannel: this.getChannel.bind(this)
|
|
18
23
|
};
|
|
19
24
|
}
|
|
20
25
|
|
|
@@ -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 './subscription';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IIntegrationServiceRepository } from '../../../domain/interfaces/repositories';
|
|
2
|
+
export default class IntegrationService extends IIntegrationServiceRepository {
|
|
3
|
+
constructor(_ref) {
|
|
4
|
+
let {
|
|
5
|
+
integrationServiceRepository
|
|
6
|
+
} = _ref;
|
|
7
|
+
super();
|
|
8
|
+
this.integrationServiceRepository = integrationServiceRepository;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async getIntegrations(request) {
|
|
12
|
+
return this.integrationServiceRepository.getIntegrations(request);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
toJSON() {
|
|
16
|
+
return {
|
|
17
|
+
getIntegrations: this.getIntegrations.bind(this)
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -40,6 +40,10 @@ export default class SessionService extends ISessionRepository {
|
|
|
40
40
|
return this.sessionRepository.updateSessionStatus(request);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
async getSessionMetrics(request) {
|
|
44
|
+
return this.sessionRepository.getSessionMetrics(request);
|
|
45
|
+
}
|
|
46
|
+
|
|
43
47
|
toJSON() {
|
|
44
48
|
return {
|
|
45
49
|
pickupSession: this.pickupSession.bind(this),
|
|
@@ -49,7 +53,8 @@ export default class SessionService extends ISessionRepository {
|
|
|
49
53
|
getSessionAttachments: this.getSessionAttachments.bind(this),
|
|
50
54
|
getSessionLastMessages: this.getSessionLastMessages.bind(this),
|
|
51
55
|
markSessionAsRead: this.markSessionAsRead.bind(this),
|
|
52
|
-
updateSessionStatus: this.updateSessionStatus.bind(this)
|
|
56
|
+
updateSessionStatus: this.updateSessionStatus.bind(this),
|
|
57
|
+
getSessionMetrics: this.getSessionMetrics.bind(this)
|
|
53
58
|
};
|
|
54
59
|
}
|
|
55
60
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ISubscriptionRepository } from '../../../domain/interfaces/repositories';
|
|
2
|
+
export default class SubscriptionService extends ISubscriptionRepository {
|
|
3
|
+
constructor(_ref) {
|
|
4
|
+
let {
|
|
5
|
+
subscriptionRepository
|
|
6
|
+
} = _ref;
|
|
7
|
+
super();
|
|
8
|
+
this.subscriptionRepository = subscriptionRepository;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async getAddOns(request) {
|
|
12
|
+
return this.subscriptionRepository.getAddOns(request);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async buyAddOn(request) {
|
|
16
|
+
return this.subscriptionRepository.buyAddOn(request);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async modifyAddOn(request) {
|
|
20
|
+
return this.subscriptionRepository.modifyAddOn(request);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async getLicenseDetails(request) {
|
|
24
|
+
return this.subscriptionRepository.getLicenseDetails(request);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
toJSON() {
|
|
28
|
+
return {
|
|
29
|
+
getAddOns: this.getAddOns.bind(this),
|
|
30
|
+
buyAddOn: this.buyAddOn.bind(this),
|
|
31
|
+
modifyAddOn: this.modifyAddOn.bind(this),
|
|
32
|
+
getLicenseDetails: this.getLicenseDetails.bind(this)
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IUserPreferenceRepository } from '../../../domain/interfaces/repositories';
|
|
2
|
+
export default class UserPreferenceService extends IUserPreferenceRepository {
|
|
3
|
+
constructor(_ref) {
|
|
4
|
+
let {
|
|
5
|
+
userPreferenceRepository
|
|
6
|
+
} = _ref;
|
|
7
|
+
super();
|
|
8
|
+
this.userPreferenceRepository = userPreferenceRepository;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async getPreferences(request) {
|
|
12
|
+
return this.userPreferenceRepository.getPreferences(request);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async updatePreferences(request) {
|
|
16
|
+
return this.userPreferenceRepository.updatePreferences(request);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
toJSON() {
|
|
20
|
+
return {
|
|
21
|
+
getPreferences: this.getPreferences.bind(this),
|
|
22
|
+
updatePreferences: this.updatePreferences.bind(this)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IWhatsAppPricingRepository } from '../../../domain/interfaces/repositories';
|
|
2
|
+
export default class WhatsAppPricingService extends IWhatsAppPricingRepository {
|
|
3
|
+
constructor(_ref) {
|
|
4
|
+
let {
|
|
5
|
+
whatsAppPricingRepository
|
|
6
|
+
} = _ref;
|
|
7
|
+
super();
|
|
8
|
+
this.whatsAppPricingRepository = whatsAppPricingRepository;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async calculateWhatsAppPricing(request) {
|
|
12
|
+
return this.whatsAppPricingRepository.calculateWhatsAppPricing(request);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
toJSON() {
|
|
16
|
+
return {
|
|
17
|
+
calculateWhatsAppPricing: this.calculateWhatsAppPricing.bind(this)
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -7,6 +7,10 @@ const ModuleNames = {
|
|
|
7
7
|
AGENTS: 'agents',
|
|
8
8
|
CANNED_MESSAGES: 'cannedMessages',
|
|
9
9
|
TEMPLATE_MESSAGES: 'templateMessages',
|
|
10
|
-
CUSTOM_REPLY_EXTENSIONS: 'articles'
|
|
10
|
+
CUSTOM_REPLY_EXTENSIONS: 'articles',
|
|
11
|
+
INTEGRATION_SERVICES: 'integrationServices',
|
|
12
|
+
USER_PREFERENCES: 'userPreferences',
|
|
13
|
+
WHATSAPP_PRICING: 'whatsAppPricing',
|
|
14
|
+
SUBSCRIPTION: 'subscription'
|
|
11
15
|
};
|
|
12
16
|
export default ModuleNames;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HttpMethods } from '@zohoim/http-client';
|
|
2
2
|
import ModuleNames from './ModuleNames';
|
|
3
|
+
import ModuleTypes from './ModuleTypes';
|
|
3
4
|
import ResponseTypes from './ResponseTypes';
|
|
4
5
|
const IM_API_PREFIX = '/api/v1';
|
|
5
6
|
const HTTP_METHODS = HttpMethods;
|
|
6
|
-
export { ModuleNames, IM_API_PREFIX, HTTP_METHODS, ResponseTypes };
|
|
7
|
+
export { ModuleNames, ModuleTypes, IM_API_PREFIX, HTTP_METHODS, ResponseTypes };
|
|
@@ -94,6 +94,31 @@ export const validateSchema = _ref4 => {
|
|
|
94
94
|
path: fieldPath,
|
|
95
95
|
entityName
|
|
96
96
|
});
|
|
97
|
+
} // Array validation — schema (objects) or enum (primitives), not both
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
if (rules.type === 'array' && Array.isArray(value)) {
|
|
101
|
+
if (rules.schema && rules.enum) {
|
|
102
|
+
console.warn(`${entityName} - ${fieldPath} must define either schema or enum for array, not both`);
|
|
103
|
+
} else if (rules.schema) {
|
|
104
|
+
value.forEach((item, index) => {
|
|
105
|
+
validate({
|
|
106
|
+
schema: rules.schema,
|
|
107
|
+
data: item,
|
|
108
|
+
path: `${fieldPath}[${index}]`,
|
|
109
|
+
entityName
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
} else if (rules.enum) {
|
|
113
|
+
value.forEach((item, index) => {
|
|
114
|
+
validateEnumCheck({
|
|
115
|
+
value: item,
|
|
116
|
+
rules,
|
|
117
|
+
path: `${fieldPath}[${index}]`,
|
|
118
|
+
entityName
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
97
122
|
}
|
|
98
123
|
}
|
|
99
124
|
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import RequestBuilder from '../RequestBuilder';
|
|
2
|
+
|
|
3
|
+
function getChannelRequest() {
|
|
4
|
+
let {
|
|
5
|
+
params = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withParams({
|
|
8
|
+
channelId: null,
|
|
9
|
+
...params
|
|
10
|
+
}).build();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default getChannelRequest;
|
package/es/domain/dto/index.js
CHANGED
|
@@ -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 './subscription';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as getIntegrationsRequest } from './getIntegrationsRequest';
|
|
@@ -2,11 +2,16 @@ import RequestBuilder from '../RequestBuilder';
|
|
|
2
2
|
|
|
3
3
|
function getSessionAttachmentsRequest() {
|
|
4
4
|
let {
|
|
5
|
-
params = {}
|
|
5
|
+
params = {},
|
|
6
|
+
query = {}
|
|
6
7
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
8
|
return new RequestBuilder().withParams({
|
|
8
9
|
sessionId: null,
|
|
9
10
|
...params
|
|
11
|
+
}).withQuery({
|
|
12
|
+
from: null,
|
|
13
|
+
limit: null,
|
|
14
|
+
...query
|
|
10
15
|
}).build();
|
|
11
16
|
}
|
|
12
17
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import RequestBuilder from '../RequestBuilder';
|
|
2
|
+
|
|
3
|
+
function getSessionMetricsRequest() {
|
|
4
|
+
let {
|
|
5
|
+
query = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withQuery({
|
|
8
|
+
channelIds: null,
|
|
9
|
+
integrationServiceId: null,
|
|
10
|
+
excludeSyncingChannels: false,
|
|
11
|
+
assignmentType: null,
|
|
12
|
+
...query
|
|
13
|
+
}).build();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default getSessionMetricsRequest;
|
|
@@ -5,4 +5,5 @@ export { default as getSessionAttachmentsRequest } from './getSessionAttachments
|
|
|
5
5
|
export { default as getSessionLastMessagesRequest } from './getSessionLastMessagesRequest';
|
|
6
6
|
export { default as markSessionAsReadRequest } from './markSessionAsReadRequest';
|
|
7
7
|
export { default as updateSessionStatusRequest } from './updateSessionStatusRequest';
|
|
8
|
-
export { default as pickupSessionRequest } from './pickupSessionRequest';
|
|
8
|
+
export { default as pickupSessionRequest } from './pickupSessionRequest';
|
|
9
|
+
export { default as getSessionMetricsRequest } from './getSessionMetricsRequest';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import RequestBuilder from '../RequestBuilder';
|
|
2
|
+
|
|
3
|
+
function buyAddOnRequest() {
|
|
4
|
+
let {
|
|
5
|
+
body = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withBody({
|
|
8
|
+
name: null,
|
|
9
|
+
count: null,
|
|
10
|
+
autoRenewal: null,
|
|
11
|
+
renewalCount: null,
|
|
12
|
+
renewalThreshold: null,
|
|
13
|
+
source: null,
|
|
14
|
+
...body
|
|
15
|
+
}).build();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default buyAddOnRequest;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import RequestBuilder from '../RequestBuilder';
|
|
2
|
+
|
|
3
|
+
function getAddOnsRequest() {
|
|
4
|
+
let {
|
|
5
|
+
query = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withQuery({
|
|
8
|
+
subscription: true,
|
|
9
|
+
integrationServiceId: null,
|
|
10
|
+
currencyCode: null,
|
|
11
|
+
...query
|
|
12
|
+
}).build();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default getAddOnsRequest;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { default as getAddOnsRequest } from './getAddOnsRequest';
|
|
2
|
+
export { default as buyAddOnRequest } from './buyAddOnRequest';
|
|
3
|
+
export { default as modifyAddOnRequest } from './modifyAddOnRequest';
|
|
4
|
+
export { default as getLicenseDetailsRequest } from './getLicenseDetailsRequest';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import RequestBuilder from '../RequestBuilder';
|
|
2
|
+
|
|
3
|
+
function modifyAddOnRequest() {
|
|
4
|
+
let {
|
|
5
|
+
body = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withBody({
|
|
8
|
+
name: null,
|
|
9
|
+
count: null,
|
|
10
|
+
autoRenewal: null,
|
|
11
|
+
renewalCount: null,
|
|
12
|
+
renewalThreshold: null,
|
|
13
|
+
source: null,
|
|
14
|
+
...body
|
|
15
|
+
}).build();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default modifyAddOnRequest;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import RequestBuilder from '../RequestBuilder';
|
|
2
|
+
|
|
3
|
+
function calculateWhatsAppPricingRequest() {
|
|
4
|
+
let {
|
|
5
|
+
body = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withBody({
|
|
8
|
+
currency: null,
|
|
9
|
+
data: null,
|
|
10
|
+
...body
|
|
11
|
+
}).build();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default calculateWhatsAppPricingRequest;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as calculateWhatsAppPricingRequest } from './calculateWhatsAppPricingRequest';
|
|
@@ -10,32 +10,50 @@ export default class Channel {
|
|
|
10
10
|
}); // Set required properties from schema
|
|
11
11
|
|
|
12
12
|
this.id = validatedData.id;
|
|
13
|
-
this.integrationService = validatedData.integrationService;
|
|
14
13
|
this.name = validatedData.name;
|
|
15
14
|
this.isActive = validatedData.isActive;
|
|
16
|
-
this.
|
|
15
|
+
this.isDeleted = validatedData.isDeleted;
|
|
16
|
+
this.isSandBox = validatedData.isSandBox;
|
|
17
|
+
this.createdTime = validatedData.createdTime;
|
|
18
|
+
this.universalLink = validatedData.universalLink; // Set optional properties from schema
|
|
17
19
|
|
|
20
|
+
this.integrationServiceType = validatedData.integrationServiceType || '';
|
|
21
|
+
this.integrationServiceId = validatedData.integrationServiceId || '';
|
|
18
22
|
this.defaultBotId = validatedData.defaultBotId || null;
|
|
19
23
|
this.accountName = validatedData.accountName || null;
|
|
20
24
|
this.isSubscribed = validatedData.isSubscribed || false;
|
|
21
25
|
this.createdBy = validatedData.createdBy || null;
|
|
22
26
|
this.isOwner = validatedData.isOwner || false;
|
|
23
27
|
this.photoURL = validatedData.photoURL || null;
|
|
28
|
+
this.configParams = validatedData.configParams || null;
|
|
29
|
+
this.authorizationPending = validatedData.authorizationPending || false;
|
|
30
|
+
this.meta = validatedData.meta || [];
|
|
31
|
+
this.logoURL = validatedData.logoURL || null;
|
|
32
|
+
this.workspaceId = validatedData.workspaceId || '';
|
|
24
33
|
}
|
|
25
34
|
|
|
26
35
|
toJSON() {
|
|
27
36
|
return {
|
|
28
37
|
id: this.id,
|
|
29
|
-
|
|
38
|
+
integrationServiceType: this.integrationServiceType,
|
|
39
|
+
integrationServiceId: this.integrationServiceId,
|
|
30
40
|
name: this.name,
|
|
31
41
|
defaultBotId: this.defaultBotId,
|
|
32
42
|
isActive: this.isActive,
|
|
43
|
+
isDeleted: this.isDeleted,
|
|
44
|
+
isSandBox: this.isSandBox,
|
|
33
45
|
createdTime: this.createdTime,
|
|
34
46
|
accountName: this.accountName,
|
|
47
|
+
universalLink: this.universalLink,
|
|
35
48
|
isSubscribed: this.isSubscribed,
|
|
36
49
|
createdBy: this.createdBy,
|
|
37
50
|
isOwner: this.isOwner,
|
|
38
|
-
photoURL: this.photoURL
|
|
51
|
+
photoURL: this.photoURL,
|
|
52
|
+
configParams: this.configParams,
|
|
53
|
+
authorizationPending: this.authorizationPending,
|
|
54
|
+
meta: this.meta,
|
|
55
|
+
logoURL: this.logoURL,
|
|
56
|
+
workspaceId: this.workspaceId
|
|
39
57
|
};
|
|
40
58
|
}
|
|
41
59
|
|
|
@@ -13,7 +13,10 @@ export default class IntegrationService {
|
|
|
13
13
|
label: validatedData.label || '',
|
|
14
14
|
id: validatedData.id || '',
|
|
15
15
|
provider: validatedData.provider || {},
|
|
16
|
-
logoURL: validatedData.logoURL || null
|
|
16
|
+
logoURL: validatedData.logoURL || null,
|
|
17
|
+
domain: validatedData.domain || '',
|
|
18
|
+
channelAlias: validatedData.channelAlias,
|
|
19
|
+
isParentAccountNeeded: validatedData.isParentAccountNeeded
|
|
17
20
|
};
|
|
18
21
|
}
|
|
19
22
|
|
|
@@ -29,6 +32,10 @@ export default class IntegrationService {
|
|
|
29
32
|
return integrationServiceId === IntegrationServices.IM_TALK;
|
|
30
33
|
}
|
|
31
34
|
|
|
35
|
+
static isWecom(integrationServiceId) {
|
|
36
|
+
return integrationServiceId === IntegrationServices.WECOM;
|
|
37
|
+
}
|
|
38
|
+
|
|
32
39
|
toJSON() {
|
|
33
40
|
return { ...this.data
|
|
34
41
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { SessionMetricsSchema } from '../../schema';
|
|
3
|
+
export default class SessionMetrics {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: SessionMetricsSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'SessionMetrics'
|
|
10
|
+
});
|
|
11
|
+
this.data = {
|
|
12
|
+
assignee: validatedData.assignee
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
toJSON() {
|
|
17
|
+
return { ...this.data
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { AddOnSchema } from '../../schema';
|
|
3
|
+
import SubscriptionInfo from './SubscriptionInfo';
|
|
4
|
+
export default class AddOn {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: AddOnSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'AddOn' // No I18N
|
|
11
|
+
|
|
12
|
+
});
|
|
13
|
+
this.data = {
|
|
14
|
+
name: validatedData.name,
|
|
15
|
+
type: validatedData.type,
|
|
16
|
+
module: validatedData.module,
|
|
17
|
+
cost: validatedData.cost,
|
|
18
|
+
subscriptionInfo: validatedData.subscriptionInfo ? new SubscriptionInfo(validatedData.subscriptionInfo).toJSON() : null
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
toJSON() {
|
|
23
|
+
return this.data;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { LicenseDetailsSchema } from '../../schema';
|
|
3
|
+
export default class LicenseDetails {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: LicenseDetailsSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'LicenseDetails' // No I18N
|
|
10
|
+
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
paymentSource: validatedData.paymentSource
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJSON() {
|
|
18
|
+
return this.data;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { SubscriptionInfoSchema } from '../../schema';
|
|
3
|
+
export default class SubscriptionInfo {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema({
|
|
7
|
+
schema: SubscriptionInfoSchema,
|
|
8
|
+
data,
|
|
9
|
+
entityName: 'SubscriptionInfo' // No I18N
|
|
10
|
+
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
count: validatedData.count,
|
|
14
|
+
available: validatedData.available,
|
|
15
|
+
renewalCount: validatedData.renewalCount,
|
|
16
|
+
renewalThreshold: validatedData.renewalThreshold,
|
|
17
|
+
status: validatedData.status,
|
|
18
|
+
reserved: validatedData.reserved
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
toJSON() {
|
|
23
|
+
return this.data;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|