@zohoim/client-sdk 0.0.5-poc07 → 1.0.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.
- package/es/application/services/calls/CallService.js +36 -0
- package/es/application/services/calls/index.js +1 -0
- package/es/application/services/cannedMessages/CannedMessageService.js +51 -0
- package/es/application/services/cannedMessages/index.js +2 -0
- package/es/application/services/index.js +4 -1
- package/es/application/services/templateMessages/TemplateMessageService.js +26 -0
- package/es/application/services/templateMessages/index.js +2 -0
- package/es/core/constants/ModuleNames.js +5 -1
- package/es/domain/dto/calls/getCallRequest.js +14 -0
- package/es/domain/dto/calls/getCallsRequest.js +19 -0
- package/es/domain/dto/calls/index.js +4 -0
- package/es/domain/dto/calls/initiateCallRequest.js +15 -0
- package/es/domain/dto/calls/updateCallStatusRequest.js +16 -0
- package/es/domain/dto/cannedMessages/createCannedMessageRequest.js +18 -0
- package/es/domain/dto/cannedMessages/deleteCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/disableCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/enableCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/getCannedMessageRequest.js +13 -0
- package/es/domain/dto/cannedMessages/getCannedMessagesRequest.js +18 -0
- package/es/domain/dto/cannedMessages/index.js +7 -0
- package/es/domain/dto/cannedMessages/updateCannedMessageRequest.js +20 -0
- package/es/domain/dto/index.js +4 -1
- package/es/domain/dto/messages/initiateSessionRequest.js +2 -0
- package/es/domain/dto/templateMessages/getTemplateCreditExhaustStatusRequest.js +16 -0
- package/es/domain/dto/templateMessages/getTemplateLanguagesRequest.js +7 -0
- package/es/domain/dto/templateMessages/index.js +2 -0
- package/es/domain/entities/Call/Call.js +44 -0
- package/es/domain/entities/Call/index.js +1 -0
- package/es/domain/entities/CannedMessage/CannedMessage.js +50 -0
- package/es/domain/entities/CannedMessage/index.js +2 -0
- package/es/domain/entities/CustomReplyExtension/CustomReplyExtension.js +26 -0
- package/es/domain/entities/CustomReplyExtension/index.js +2 -0
- package/es/domain/entities/TemplateMessage/TemplateCreditExhaustStatus.js +27 -0
- package/es/domain/entities/TemplateMessage/TemplateLanguage.js +22 -0
- package/es/domain/entities/TemplateMessage/index.js +3 -0
- package/es/domain/entities/index.js +5 -1
- package/es/domain/enum/call/CallStatus.js +8 -0
- package/es/domain/enum/call/index.js +1 -0
- package/es/domain/enum/cannedMessage/CannedMessageStatus.js +7 -0
- package/es/domain/enum/cannedMessage/CannedMessageType.js +5 -0
- package/es/domain/enum/cannedMessage/TemplateItemButtonType.js +6 -0
- package/es/domain/enum/cannedMessage/TemplateItemFooterType.js +4 -0
- package/es/domain/enum/cannedMessage/TemplateItemHeaderType.js +7 -0
- package/es/domain/enum/cannedMessage/index.js +6 -0
- package/es/domain/enum/index.js +4 -1
- package/es/domain/enum/templateMessage/TemplateCreditExhaustStatusCode.js +4 -0
- package/es/domain/enum/templateMessage/index.js +2 -0
- package/es/domain/interfaces/repositories/calls/ICallRepository.js +32 -0
- package/es/domain/interfaces/repositories/calls/index.js +1 -0
- package/es/domain/interfaces/repositories/cannedMessages/ICannedMessageRepository.js +47 -0
- package/es/domain/interfaces/repositories/cannedMessages/index.js +2 -0
- package/es/domain/interfaces/repositories/index.js +4 -1
- package/es/domain/interfaces/repositories/templateMessages/ITemplateMessageRepository.js +21 -0
- package/es/domain/interfaces/repositories/templateMessages/index.js +2 -0
- package/es/domain/schema/call/CallSchema.js +59 -0
- package/es/domain/schema/call/index.js +1 -0
- package/es/domain/schema/cannedMessage/CannedMessageSchema.js +61 -0
- package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemButtonsSchema.js +17 -0
- package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemFooterSchema.js +13 -0
- package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemHeaderSchema.js +19 -0
- package/es/domain/schema/cannedMessage/TemplateItem/index.js +4 -0
- package/es/domain/schema/cannedMessage/TemplateItemsSchema.js +21 -0
- package/es/domain/schema/cannedMessage/TranslationsSchema.js +43 -0
- package/es/domain/schema/cannedMessage/index.js +2 -0
- package/es/domain/schema/customReplyExtension/CustomReplyExtensionSchema.js +28 -0
- package/es/domain/schema/customReplyExtension/index.js +2 -0
- package/es/domain/schema/index.js +5 -1
- package/es/domain/schema/templateMessage/TemplateCreditExhaustStatusSchema.js +11 -0
- package/es/domain/schema/templateMessage/TemplateLanguageSchema.js +11 -0
- package/es/domain/schema/templateMessage/index.js +3 -0
- package/es/frameworks/managers/ModuleFactory.js +27 -0
- package/es/frameworks/managers/ModuleManager.js +1 -1
- package/es/frameworks/sdk/IMSDK.js +15 -0
- package/es/frameworks/sdk/calls/CallSDK.js +27 -0
- package/es/frameworks/sdk/calls/index.js +1 -0
- package/es/frameworks/sdk/cannedMessages/CannedMessageSDK.js +30 -0
- package/es/frameworks/sdk/cannedMessages/index.js +2 -0
- package/es/frameworks/sdk/templateMessages/TemplateMessageSDK.js +30 -0
- package/es/frameworks/sdk/templateMessages/index.js +2 -0
- package/es/infrastructure/adapters/calls/CallAdapter.js +30 -0
- package/es/infrastructure/adapters/calls/index.js +1 -0
- package/es/infrastructure/adapters/cannedMessages/CannedMessageAdapter.js +28 -0
- package/es/infrastructure/adapters/cannedMessages/index.js +2 -0
- package/es/infrastructure/adapters/customReplyExtension/CustomReplyExtensionAdapter.js +24 -0
- package/es/infrastructure/adapters/customReplyExtension/index.js +2 -0
- package/es/infrastructure/adapters/index.js +5 -1
- package/es/infrastructure/adapters/templateMessages/TemplateCreditExhaustStatusAdapter.js +20 -0
- package/es/infrastructure/adapters/templateMessages/TemplateLanguageAdapter.js +20 -0
- package/es/infrastructure/adapters/templateMessages/index.js +3 -0
- package/es/infrastructure/api/calls/CallAPI.js +44 -0
- package/es/infrastructure/api/calls/index.js +1 -0
- package/es/infrastructure/api/cannedMessages/CannedMessageAPI.js +74 -0
- package/es/infrastructure/api/cannedMessages/index.js +2 -0
- package/es/infrastructure/api/index.js +4 -1
- package/es/infrastructure/api/registry/calls/callAPIRegistry.js +29 -0
- package/es/infrastructure/api/registry/calls/constructCallEndPoint.js +10 -0
- package/es/infrastructure/api/registry/calls/index.js +1 -0
- package/es/infrastructure/api/registry/cannedMessages/cannedMessageAPIRegistry.js +42 -0
- package/es/infrastructure/api/registry/cannedMessages/constructCannedMessageEndPoint.js +10 -0
- package/es/infrastructure/api/registry/cannedMessages/index.js +2 -0
- package/es/infrastructure/api/registry/getRegistryConfig.js +7 -1
- package/es/infrastructure/api/registry/templateMessages/constructTemplateMessageEndPoint.js +11 -0
- package/es/infrastructure/api/registry/templateMessages/index.js +2 -0
- package/es/infrastructure/api/registry/templateMessages/templateMessageAPIRegistry.js +18 -0
- package/es/infrastructure/api/templateMessages/TemplateMessageAPI.js +24 -0
- package/es/infrastructure/api/templateMessages/index.js +2 -0
- package/es/infrastructure/repositories/calls/CallRepository.js +73 -0
- package/es/infrastructure/repositories/calls/index.js +1 -0
- package/es/infrastructure/repositories/cannedMessages/CannedMessageRepository.js +97 -0
- package/es/infrastructure/repositories/cannedMessages/index.js +2 -0
- package/es/infrastructure/repositories/index.js +4 -1
- package/es/infrastructure/repositories/templateMessages/TemplateMessageRepository.js +77 -0
- package/es/infrastructure/repositories/templateMessages/index.js +2 -0
- package/package.json +2 -2
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import CannedMessageStatus from './CannedMessageStatus';
|
|
2
|
+
import CannedMessageType from './CannedMessageType';
|
|
3
|
+
import TemplateItemHeaderType from './TemplateItemHeaderType';
|
|
4
|
+
import TemplateItemFooterType from './TemplateItemFooterType';
|
|
5
|
+
import TemplateItemButtonType from './TemplateItemButtonType';
|
|
6
|
+
export { CannedMessageStatus, CannedMessageType, TemplateItemHeaderType, TemplateItemFooterType, TemplateItemButtonType };
|
package/es/domain/enum/index.js
CHANGED
|
@@ -3,4 +3,7 @@ export * from './session';
|
|
|
3
3
|
export * from './actor';
|
|
4
4
|
export * from './bot';
|
|
5
5
|
export * from './message';
|
|
6
|
-
export * from './attachment';
|
|
6
|
+
export * from './attachment';
|
|
7
|
+
export * from './cannedMessage';
|
|
8
|
+
export * from './templateMessage';
|
|
9
|
+
export * from './call';
|
|
@@ -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';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { ModuleNames } from '../../../../core/constants';
|
|
3
|
+
import BaseAPI from '../../../../infrastructure/api/BaseAPI';
|
|
4
|
+
import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, disableCannedMessageRequest, enableCannedMessageRequest } from '../../../dto';
|
|
5
|
+
export default class ICannedMessageRepository extends BaseAPI {
|
|
6
|
+
constructor() {
|
|
7
|
+
super({
|
|
8
|
+
module: ModuleNames.CANNED_MESSAGES
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
getCannedMessages() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCannedMessagesRequest();
|
|
14
|
+
throw new Error('Method not implemented.');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getCannedMessage() {
|
|
18
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCannedMessageRequest();
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
createCannedMessage() {
|
|
23
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : createCannedMessageRequest();
|
|
24
|
+
throw new Error('Method not implemented.');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
updateCannedMessage() {
|
|
28
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateCannedMessageRequest();
|
|
29
|
+
throw new Error('Method not implemented.');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
deleteCannedMessage() {
|
|
33
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteCannedMessageRequest();
|
|
34
|
+
throw new Error('Method not implemented.');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
enableCannedMessage() {
|
|
38
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : enableCannedMessageRequest();
|
|
39
|
+
throw new Error('Method not implemented.');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
disableCannedMessage() {
|
|
43
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : disableCannedMessageRequest();
|
|
44
|
+
throw new Error('Method not implemented.');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
@@ -3,4 +3,7 @@ export * from './sessions';
|
|
|
3
3
|
export * from './bots';
|
|
4
4
|
export * from './messages';
|
|
5
5
|
export * from './agents';
|
|
6
|
-
export * from './contacts';
|
|
6
|
+
export * from './contacts';
|
|
7
|
+
export * from './cannedMessages';
|
|
8
|
+
export * from './templateMessages';
|
|
9
|
+
export * from './calls';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ModuleNames } from '../../../../core/constants';
|
|
2
|
+
import BaseAPI from '../../../../infrastructure/api/BaseAPI';
|
|
3
|
+
import { getTemplateCreditExhaustStatusRequest, getTemplateLanguagesRequest } from '../../../dto';
|
|
4
|
+
export default class ITemplateMessageRepository extends BaseAPI {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
module: ModuleNames.TEMPLATE_MESSAGES
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async getTemplateLanguages() {
|
|
12
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getTemplateLanguagesRequest();
|
|
13
|
+
throw new Error('Method not implemented');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async getWhatsAppTemplateCreditExhaustStatus() {
|
|
17
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getTemplateCreditExhaustStatusRequest();
|
|
18
|
+
throw new Error('Method not implemented');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
};
|
|
59
|
+
export default CallSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CallSchema } from './CallSchema';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CannedMessageType } from '../../enum';
|
|
2
|
+
import { ActorSchema } from '../actor';
|
|
3
|
+
import TranslationsSchema from './TranslationsSchema';
|
|
4
|
+
const CannedMessageSchema = {
|
|
5
|
+
id: {
|
|
6
|
+
type: 'string',
|
|
7
|
+
required: true
|
|
8
|
+
},
|
|
9
|
+
title: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
required: true
|
|
12
|
+
},
|
|
13
|
+
tags: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
required: false
|
|
16
|
+
},
|
|
17
|
+
status: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
required: false
|
|
20
|
+
},
|
|
21
|
+
createdBy: {
|
|
22
|
+
type: 'object',
|
|
23
|
+
required: true,
|
|
24
|
+
schema: ActorSchema
|
|
25
|
+
},
|
|
26
|
+
uuid: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
required: false
|
|
29
|
+
},
|
|
30
|
+
displayMessage: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
required: true
|
|
33
|
+
},
|
|
34
|
+
type: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
required: true,
|
|
37
|
+
enum: Object.values(CannedMessageType)
|
|
38
|
+
},
|
|
39
|
+
translations: {
|
|
40
|
+
type: 'array',
|
|
41
|
+
required: false,
|
|
42
|
+
schema: TranslationsSchema
|
|
43
|
+
},
|
|
44
|
+
isPrivate: {
|
|
45
|
+
type: 'bool',
|
|
46
|
+
required: false
|
|
47
|
+
},
|
|
48
|
+
isActive: {
|
|
49
|
+
type: 'bool',
|
|
50
|
+
required: true
|
|
51
|
+
},
|
|
52
|
+
meta: {
|
|
53
|
+
type: 'array',
|
|
54
|
+
required: false
|
|
55
|
+
},
|
|
56
|
+
message: {
|
|
57
|
+
type: 'string',
|
|
58
|
+
required: false
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
export default CannedMessageSchema;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TemplateItemButtonType } from '../../../enum';
|
|
2
|
+
const TemplateItemButtonsSchema = {
|
|
3
|
+
type: {
|
|
4
|
+
type: 'string',
|
|
5
|
+
required: true,
|
|
6
|
+
enum: Object.values(TemplateItemButtonType)
|
|
7
|
+
},
|
|
8
|
+
message: {
|
|
9
|
+
type: 'string',
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
action: {
|
|
13
|
+
type: 'string',
|
|
14
|
+
required: true
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
export default TemplateItemButtonsSchema;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TemplateItemFooterType } from '../../../enum';
|
|
2
|
+
const TemplateItemFooterSchema = {
|
|
3
|
+
type: {
|
|
4
|
+
type: 'string',
|
|
5
|
+
required: true,
|
|
6
|
+
enum: Object.values(TemplateItemFooterType)
|
|
7
|
+
},
|
|
8
|
+
message: {
|
|
9
|
+
type: 'string',
|
|
10
|
+
required: true
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export default TemplateItemFooterSchema;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TemplateItemHeaderType } from '../../../enum';
|
|
2
|
+
import { AttachmentSchema } from '../../attachment';
|
|
3
|
+
const TemplateItemHeaderSchema = {
|
|
4
|
+
attachment: {
|
|
5
|
+
type: 'string',
|
|
6
|
+
required: false,
|
|
7
|
+
schema: AttachmentSchema
|
|
8
|
+
},
|
|
9
|
+
type: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
required: true,
|
|
12
|
+
enum: Object.values(TemplateItemHeaderType)
|
|
13
|
+
},
|
|
14
|
+
message: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
required: false
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export default TemplateItemHeaderSchema;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import TemplateItemButtonsSchema from './TemplateItemButtonsSchema';
|
|
2
|
+
import TemplateItemFooterSchema from './TemplateItemFooterSchema';
|
|
3
|
+
import TemplateItemHeaderSchema from './TemplateItemHeaderSchema';
|
|
4
|
+
export { TemplateItemButtonsSchema, TemplateItemFooterSchema, TemplateItemHeaderSchema };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import TemplateItemButtonsSchema from './TemplateItem/TemplateItemButtonsSchema';
|
|
2
|
+
import TemplateItemFooterSchema from './TemplateItem/TemplateItemFooterSchema';
|
|
3
|
+
import TemplateItemHeaderSchema from './TemplateItem/TemplateItemHeaderSchema';
|
|
4
|
+
const TemplateItemsSchema = {
|
|
5
|
+
header: {
|
|
6
|
+
type: 'string',
|
|
7
|
+
required: false,
|
|
8
|
+
schema: TemplateItemHeaderSchema
|
|
9
|
+
},
|
|
10
|
+
footer: {
|
|
11
|
+
type: 'string',
|
|
12
|
+
required: false,
|
|
13
|
+
schema: TemplateItemFooterSchema
|
|
14
|
+
},
|
|
15
|
+
buttons: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
required: false,
|
|
18
|
+
schema: TemplateItemButtonsSchema
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
export default TemplateItemsSchema;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CannedMessageStatus } from '../../enum';
|
|
2
|
+
import TemplateItemsSchema from './TemplateItemsSchema';
|
|
3
|
+
const TranslationsSchema = {
|
|
4
|
+
displayMessage: {
|
|
5
|
+
type: 'string',
|
|
6
|
+
required: true
|
|
7
|
+
},
|
|
8
|
+
id: {
|
|
9
|
+
type: 'string',
|
|
10
|
+
required: true
|
|
11
|
+
},
|
|
12
|
+
language: {
|
|
13
|
+
type: 'string',
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
message: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
required: true
|
|
19
|
+
},
|
|
20
|
+
uuid: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
required: true
|
|
23
|
+
},
|
|
24
|
+
failedReason: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
required: false
|
|
27
|
+
},
|
|
28
|
+
modifiedTime: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
required: false
|
|
31
|
+
},
|
|
32
|
+
status: {
|
|
33
|
+
type: 'string',
|
|
34
|
+
required: true,
|
|
35
|
+
enum: Object.values(CannedMessageStatus)
|
|
36
|
+
},
|
|
37
|
+
templateItems: {
|
|
38
|
+
type: 'object',
|
|
39
|
+
required: false,
|
|
40
|
+
schema: TemplateItemsSchema
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export default TranslationsSchema;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import '../../enum';
|
|
2
|
+
const CustomReplyExtensionSchema = {
|
|
3
|
+
id: {
|
|
4
|
+
type: 'string',
|
|
5
|
+
required: true
|
|
6
|
+
},
|
|
7
|
+
title: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
required: true
|
|
10
|
+
},
|
|
11
|
+
displayMessage: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
required: true
|
|
14
|
+
},
|
|
15
|
+
message: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
required: false
|
|
18
|
+
},
|
|
19
|
+
webUrl: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
required: false
|
|
22
|
+
},
|
|
23
|
+
categoryName: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
required: false
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
export default CustomReplyExtensionSchema;
|
|
@@ -5,4 +5,8 @@ export * from './attachment';
|
|
|
5
5
|
export * from './message';
|
|
6
6
|
export * from './channel';
|
|
7
7
|
export * from './integrationService';
|
|
8
|
-
export * from './contact';
|
|
8
|
+
export * from './contact';
|
|
9
|
+
export * from './cannedMessage';
|
|
10
|
+
export * from './templateMessage';
|
|
11
|
+
export * from './customReplyExtension';
|
|
12
|
+
export * from './call';
|
|
@@ -5,6 +5,9 @@ import { SessionSDK } from '../sdk/sessions';
|
|
|
5
5
|
import { MessageSDK } from '../sdk/messages';
|
|
6
6
|
import { AgentSDK } from '../sdk/agents';
|
|
7
7
|
import { ContactSDK } from '../sdk/contacts';
|
|
8
|
+
import { CannedMessageSDK } from '../sdk/cannedMessages';
|
|
9
|
+
import { TemplateMessageSDK } from '../sdk/templateMessages';
|
|
10
|
+
import { CallSDK } from '../sdk/calls';
|
|
8
11
|
const ModuleFactory = {
|
|
9
12
|
[ModuleNames.CHANNELS]: _ref => {
|
|
10
13
|
let {
|
|
@@ -53,6 +56,30 @@ const ModuleFactory = {
|
|
|
53
56
|
return new MessageSDK({
|
|
54
57
|
config
|
|
55
58
|
}).toJSON();
|
|
59
|
+
},
|
|
60
|
+
[ModuleNames.CANNED_MESSAGES]: _ref7 => {
|
|
61
|
+
let {
|
|
62
|
+
config
|
|
63
|
+
} = _ref7;
|
|
64
|
+
return new CannedMessageSDK({
|
|
65
|
+
config
|
|
66
|
+
}).toJSON();
|
|
67
|
+
},
|
|
68
|
+
[ModuleNames.TEMPLATE_MESSAGES]: _ref8 => {
|
|
69
|
+
let {
|
|
70
|
+
config
|
|
71
|
+
} = _ref8;
|
|
72
|
+
return new TemplateMessageSDK({
|
|
73
|
+
config
|
|
74
|
+
}).toJSON();
|
|
75
|
+
},
|
|
76
|
+
[ModuleNames.CALLS]: _ref9 => {
|
|
77
|
+
let {
|
|
78
|
+
config
|
|
79
|
+
} = _ref9;
|
|
80
|
+
return new CallSDK({
|
|
81
|
+
config
|
|
82
|
+
}).toJSON();
|
|
56
83
|
}
|
|
57
84
|
};
|
|
58
85
|
export default ModuleFactory;
|
|
@@ -3,7 +3,7 @@ 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];
|
|
6
|
+
this.supportedModules = [ModuleNames.CHANNELS, ModuleNames.SESSIONS, ModuleNames.BOTS, ModuleNames.MESSAGES, ModuleNames.AGENTS, ModuleNames.CONTACTS, ModuleNames.CANNED_MESSAGES, ModuleNames.TEMPLATE_MESSAGES, ModuleNames.CALLS];
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
initialize(_ref) {
|
|
@@ -43,6 +43,18 @@ export default class IMSDK {
|
|
|
43
43
|
return this._moduleManager.getModule(ModuleNames.CONTACTS);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
get cannedMessages() {
|
|
47
|
+
return this._moduleManager.getModule(ModuleNames.CANNED_MESSAGES);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
get templateMessages() {
|
|
51
|
+
return this._moduleManager.getModule(ModuleNames.TEMPLATE_MESSAGES);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
get calls() {
|
|
55
|
+
return this._moduleManager.getModule(ModuleNames.CALLS);
|
|
56
|
+
}
|
|
57
|
+
|
|
46
58
|
hasModule(moduleName) {
|
|
47
59
|
return this._moduleManager.hasModule(moduleName);
|
|
48
60
|
}
|
|
@@ -55,6 +67,9 @@ export default class IMSDK {
|
|
|
55
67
|
messages: this.messages,
|
|
56
68
|
agents: this.agents,
|
|
57
69
|
contacts: this.contacts,
|
|
70
|
+
cannedMessages: this.cannedMessages,
|
|
71
|
+
templateMessages: this.templateMessages,
|
|
72
|
+
calls: this.calls,
|
|
58
73
|
hasModule: this.hasModule.bind(this)
|
|
59
74
|
};
|
|
60
75
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CallService } from '../../../application/services';
|
|
2
|
+
import { CallRepository } from '../../../infrastructure/repositories';
|
|
3
|
+
export default class CallSDK {
|
|
4
|
+
constructor(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
config
|
|
7
|
+
} = _ref;
|
|
8
|
+
const {
|
|
9
|
+
callAPI,
|
|
10
|
+
callAdapter
|
|
11
|
+
} = config;
|
|
12
|
+
const callRepository = new CallRepository({
|
|
13
|
+
callAPI,
|
|
14
|
+
callAdapter
|
|
15
|
+
}).toJSON();
|
|
16
|
+
const callService = new CallService({
|
|
17
|
+
callRepository
|
|
18
|
+
}).toJSON();
|
|
19
|
+
this.services = { ...callService
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
toJSON() {
|
|
24
|
+
return this.services;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CallSDK } from './CallSDK';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CannedMessageService } from '../../../application/services';
|
|
2
|
+
import { CannedMessageRepository } from '../../../infrastructure/repositories';
|
|
3
|
+
|
|
4
|
+
class CannedMessageSDK {
|
|
5
|
+
constructor(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
config
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
cannedMessageAPI,
|
|
11
|
+
cannedMessageAdapter
|
|
12
|
+
} = config;
|
|
13
|
+
const cannedMessageRepository = new CannedMessageRepository({
|
|
14
|
+
cannedMessageAPI,
|
|
15
|
+
cannedMessageAdapter
|
|
16
|
+
}).toJSON();
|
|
17
|
+
const cannedMessageService = new CannedMessageService({
|
|
18
|
+
cannedMessageRepository
|
|
19
|
+
}).toJSON();
|
|
20
|
+
this.services = { ...cannedMessageService
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
toJSON() {
|
|
25
|
+
return this.services;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default CannedMessageSDK;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TemplateMessageService } from '../../../application/services';
|
|
2
|
+
import { TemplateMessageRepository } from '../../../infrastructure/repositories';
|
|
3
|
+
|
|
4
|
+
class TemplateMessageSDK {
|
|
5
|
+
constructor(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
config
|
|
8
|
+
} = _ref;
|
|
9
|
+
const {
|
|
10
|
+
templateMessageAPI,
|
|
11
|
+
templateLanguageAdapter
|
|
12
|
+
} = config;
|
|
13
|
+
const templateMessageRepository = new TemplateMessageRepository({
|
|
14
|
+
templateMessageAPI,
|
|
15
|
+
templateLanguageAdapter
|
|
16
|
+
}).toJSON();
|
|
17
|
+
const templateMessageService = new TemplateMessageService({
|
|
18
|
+
templateMessageRepository
|
|
19
|
+
}).toJSON();
|
|
20
|
+
this.services = { ...templateMessageService
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
toJSON() {
|
|
25
|
+
return this.services;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default TemplateMessageSDK;
|