@zohoim/client-sdk 1.0.0-canned10 → 1.0.0-canned12
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 +4 -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/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 +4 -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 +4 -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/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/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 +3 -1
- package/es/domain/enum/index.js +2 -1
- package/es/domain/enum/session/AssigneeFilter.js +6 -0
- package/es/domain/enum/session/SessionStatus.js +2 -1
- package/es/domain/enum/session/index.js +2 -1
- 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 +4 -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/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 +3 -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/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 +73 -24
- package/es/frameworks/managers/ModuleManager.js +25 -2
- package/es/frameworks/sdk/IMSDK.js +28 -11
- package/es/frameworks/sdk/integrationServices/IntegrationServiceSDK.js +30 -0
- package/es/frameworks/sdk/integrationServices/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 +4 -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/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 +4 -1
- package/es/infrastructure/api/integrationServices/IntegrationServiceAPI.js +14 -0
- package/es/infrastructure/api/integrationServices/index.js +2 -0
- package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +1 -1
- package/es/infrastructure/api/registry/createPublicBaseUrl.js +4 -0
- package/es/infrastructure/api/registry/getRegistryConfig.js +7 -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 +9 -3
- 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/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 +4 -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/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,7 @@ 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';
|
|
@@ -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,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,9 @@ 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'
|
|
11
14
|
};
|
|
12
15
|
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,7 @@ 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';
|
|
@@ -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,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 { UserPreferenceSchema } from '../../schema';
|
|
3
|
+
import { CollapseSidePanel } from '../../enum';
|
|
4
|
+
export default class UserPreference {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema({
|
|
8
|
+
schema: UserPreferenceSchema,
|
|
9
|
+
data,
|
|
10
|
+
entityName: 'UserPreference'
|
|
11
|
+
});
|
|
12
|
+
this.data = {
|
|
13
|
+
collapseSidePanel: validatedData.collapseSidePanel
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static isCollpseView(view) {
|
|
18
|
+
return view === CollapseSidePanel.ENABLED;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
toJSON() {
|
|
22
|
+
return { ...this.data
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -10,4 +10,6 @@ export * from './IntegrationService';
|
|
|
10
10
|
export * from './CannedMessage';
|
|
11
11
|
export * from './TemplateMessage';
|
|
12
12
|
export * from './CustomReplyExtension';
|
|
13
|
-
export * from './Placeholder';
|
|
13
|
+
export * from './Placeholder';
|
|
14
|
+
export * from './UserPreference';
|
|
15
|
+
export * from './WhatsAppPricing';
|
package/es/domain/enum/index.js
CHANGED
|
@@ -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,7 @@ 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';
|
package/es/domain/interfaces/repositories/integrationServices/IIntegrationServiceRepository.js
ADDED
|
@@ -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
|
+
}
|