@zohoim/client-sdk 1.0.0-poc9 → 1.0.0-poc91
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/agents/AgentService.js +21 -0
- package/es/application/services/agents/index.js +2 -0
- package/es/application/services/bots/BotService.js +26 -0
- package/es/application/services/bots/index.js +2 -0
- package/es/application/services/channels/ChannelAgentService.js +21 -0
- package/es/application/services/channels/ChannelService.js +21 -0
- package/es/application/services/channels/index.js +3 -0
- package/es/application/services/contacts/ContactService.js +21 -0
- package/es/application/services/contacts/index.js +2 -0
- package/es/application/services/index.js +6 -0
- package/es/application/services/messages/MessageService.js +61 -0
- package/es/application/services/messages/index.js +2 -0
- package/es/application/services/sessions/SessionService.js +51 -0
- package/es/application/services/sessions/index.js +2 -0
- package/es/core/constants/ModuleNames.js +6 -1
- package/es/core/constants/ResponseTypes.js +6 -0
- package/es/core/constants/index.js +5 -3
- package/es/core/errors/index.js +2 -2
- package/es/core/utils/ResponseUtils.js +24 -0
- package/es/core/utils/index.js +3 -0
- package/es/core/utils/validateSchema.js +74 -0
- package/es/domain/dto/RequestBuilder.js +44 -0
- package/es/domain/dto/agents/getAgentsRequest.js +12 -0
- package/es/domain/dto/agents/index.js +1 -0
- package/es/domain/dto/bots/getBotRequest.js +9 -0
- package/es/domain/dto/bots/getBotsRequest.js +15 -0
- package/es/domain/dto/bots/index.js +2 -0
- package/es/domain/dto/channels/agents/getChannelAgentsRequest.js +13 -0
- package/es/domain/dto/channels/agents/index.js +1 -0
- package/es/domain/dto/channels/getChannelsRequest.js +23 -0
- package/es/domain/dto/channels/index.js +3 -0
- package/es/domain/dto/contacts/getContactsRequest.js +11 -0
- package/es/domain/dto/contacts/index.js +1 -0
- package/es/domain/dto/index.js +6 -0
- package/es/domain/dto/messages/deleteMessageRequest.js +14 -0
- package/es/domain/dto/messages/getFullContentRequest.js +14 -0
- package/es/domain/dto/messages/getMessageRequest.js +14 -0
- package/es/domain/dto/messages/getMessagesRequest.js +20 -0
- package/es/domain/dto/messages/index.js +9 -0
- package/es/domain/dto/messages/initiateSessionRequest.js +22 -0
- package/es/domain/dto/messages/resendMessageRequest.js +14 -0
- package/es/domain/dto/messages/searchMessagesRequest.js +22 -0
- package/es/domain/dto/messages/sendAttachmentRequest.js +19 -0
- package/es/domain/dto/messages/sendMessageRequest.js +19 -0
- package/es/domain/dto/sessions/getSessionAttachmentsRequest.js +13 -0
- package/es/domain/dto/sessions/getSessionLastMessagesRequest.js +13 -0
- package/es/domain/dto/sessions/getSessionRequest.js +13 -0
- package/es/domain/dto/sessions/getSessionsRequest.js +26 -0
- package/es/domain/dto/sessions/index.js +7 -0
- package/es/domain/dto/sessions/markSessionAsReadRequest.js +17 -0
- package/es/domain/dto/sessions/updateSessionAssigneeRequest.js +12 -0
- package/es/domain/dto/sessions/updateSessionStatusRequest.js +17 -0
- package/es/domain/entities/Actor/Actor.js +37 -0
- package/es/domain/entities/Actor/index.js +2 -2
- package/es/domain/entities/Agent/Agent.js +17 -102
- package/es/domain/entities/Agent/index.js +1 -1
- package/es/domain/entities/Attachment/Attachment.js +23 -0
- package/es/domain/entities/Attachment/index.js +2 -0
- package/es/domain/entities/Bot/Bot.js +23 -0
- package/es/domain/entities/Bot/index.js +2 -0
- package/es/domain/entities/Channel/Channel.js +38 -0
- package/es/domain/entities/Channel/index.js +2 -0
- package/es/domain/entities/Contact/Contact.js +22 -0
- package/es/domain/entities/Contact/index.js +2 -0
- package/es/domain/entities/IntegrationService/IntegrationService.js +33 -0
- package/es/domain/entities/IntegrationService/index.js +2 -0
- package/es/domain/entities/Message/Action.js +24 -0
- package/es/domain/entities/Message/ExternalInfo.js +26 -0
- package/es/domain/entities/Message/Info.js +34 -0
- package/es/domain/entities/Message/Location.js +18 -0
- package/es/domain/entities/Message/Message.js +114 -0
- package/es/domain/entities/Message/MessageWithSession.js +21 -0
- package/es/domain/entities/Message/index.js +6 -0
- package/es/domain/entities/Session/Session.js +76 -0
- package/es/domain/entities/Session/index.js +2 -0
- package/es/domain/entities/index.js +9 -2
- package/es/domain/enum/actor/ActorType.js +7 -0
- package/es/domain/enum/actor/index.js +2 -0
- package/es/domain/enum/attachment/AttachmentStatus.js +5 -0
- package/es/domain/enum/attachment/index.js +2 -0
- package/es/domain/enum/bot/BotServiceType.js +7 -0
- package/es/domain/enum/bot/index.js +2 -0
- package/es/domain/enum/index.js +6 -0
- package/es/domain/enum/integrationServices/IntegrationServices.js +11 -0
- package/es/domain/enum/integrationServices/index.js +2 -0
- package/es/domain/enum/message/ActionSubType.js +6 -0
- package/es/domain/enum/message/ActionType.js +6 -0
- package/es/domain/enum/message/ExternalInfoAction.js +9 -0
- package/es/domain/enum/message/InfoAction.js +17 -0
- package/es/domain/enum/message/InfoSessionStatus.js +10 -0
- package/es/domain/enum/message/MessageContentType.js +6 -0
- package/es/domain/enum/message/MessageDirection.js +6 -0
- package/es/domain/enum/message/MessageStatus.js +11 -0
- package/es/domain/enum/message/MessageType.js +15 -0
- package/es/domain/enum/message/index.js +10 -0
- package/es/domain/enum/session/SessionReplyStatus.js +21 -0
- package/es/domain/enum/session/SessionStatus.js +10 -0
- package/es/domain/enum/session/index.js +3 -0
- package/es/domain/interfaces/IAdapter.js +6 -0
- package/es/domain/interfaces/index.js +3 -1
- package/es/domain/interfaces/repositories/agents/IAgentRepository.js +17 -0
- package/es/domain/interfaces/repositories/agents/index.js +2 -0
- package/es/domain/interfaces/repositories/bots/IBotRepository.js +23 -0
- package/es/domain/interfaces/repositories/bots/index.js +2 -0
- package/es/domain/interfaces/repositories/channels/IChannelAgentRepository.js +17 -0
- package/es/domain/interfaces/repositories/channels/IChannelRepository.js +17 -0
- package/es/domain/interfaces/repositories/channels/index.js +3 -0
- package/es/domain/interfaces/repositories/contacts/IContactRepository.js +17 -0
- package/es/domain/interfaces/repositories/contacts/index.js +2 -0
- package/es/domain/interfaces/repositories/index.js +6 -0
- package/es/domain/interfaces/repositories/messages/IMessageRepository.js +57 -0
- package/es/domain/interfaces/repositories/messages/index.js +2 -0
- package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +47 -0
- package/es/domain/interfaces/repositories/sessions/index.js +2 -0
- package/es/domain/schema/actor/ActorSchema.js +37 -0
- package/es/domain/schema/actor/AgentSchema.js +45 -0
- package/es/domain/schema/actor/index.js +3 -0
- package/es/domain/schema/attachment/AttachmentSchema.js +33 -0
- package/es/domain/schema/attachment/index.js +2 -0
- package/es/domain/schema/bot/BotSchema.js +33 -0
- package/es/domain/schema/bot/index.js +2 -0
- package/es/domain/schema/channel/ChannelSchema.js +49 -0
- package/es/domain/schema/channel/index.js +2 -0
- package/es/domain/schema/contact/ContactSchema.js +27 -0
- package/es/domain/schema/contact/index.js +2 -0
- package/es/domain/schema/index.js +8 -0
- package/es/domain/schema/integrationService/IntegrationServiceSchema.js +31 -0
- package/es/domain/schema/integrationService/index.js +2 -0
- package/es/domain/schema/message/ActionSchema.js +18 -0
- package/es/domain/schema/message/ExternalInfoSchema.js +9 -0
- package/es/domain/schema/message/InfoSchema.js +24 -0
- package/es/domain/schema/message/LocationSchema.js +11 -0
- package/es/domain/schema/message/MessageSchema.js +116 -0
- package/es/domain/schema/message/MessageWithSessionSchema.js +10 -0
- package/es/domain/schema/message/index.js +7 -0
- package/es/domain/schema/session/SessionSchema.js +82 -0
- package/es/domain/schema/session/index.js +2 -0
- package/es/frameworks/managers/ModuleFactory.js +58 -0
- package/es/{infrastructure → frameworks}/managers/ModuleManager.js +11 -13
- package/es/frameworks/managers/index.js +2 -0
- package/es/frameworks/sdk/IMSDK.js +62 -0
- package/es/frameworks/sdk/agents/AgentSDK.js +30 -0
- package/es/frameworks/sdk/agents/index.js +2 -0
- package/es/frameworks/sdk/bots/BotSDK.js +30 -0
- package/es/frameworks/sdk/bots/index.js +2 -0
- package/es/frameworks/sdk/channels/ChannelSDK.js +37 -0
- package/es/frameworks/sdk/channels/index.js +2 -0
- package/es/frameworks/sdk/contacts/ContactSDK.js +30 -0
- package/es/frameworks/sdk/contacts/index.js +2 -0
- package/es/frameworks/sdk/index.js +2 -0
- package/es/frameworks/sdk/messages/MessageSDK.js +32 -0
- package/es/frameworks/sdk/messages/index.js +2 -0
- package/es/frameworks/sdk/sessions/SessionSDK.js +34 -0
- package/es/frameworks/sdk/sessions/index.js +2 -0
- package/es/index.js +12 -7
- package/es/infrastructure/adapters/agents/AgentAdapter.js +28 -0
- package/es/infrastructure/adapters/agents/index.js +2 -0
- package/es/infrastructure/adapters/attachments/AttachmentAdapter.js +25 -0
- package/es/infrastructure/adapters/attachments/index.js +2 -0
- package/es/infrastructure/adapters/bots/BotAdapter.js +25 -0
- package/es/infrastructure/adapters/bots/index.js +2 -0
- package/es/infrastructure/adapters/channels/ChannelAdapter.js +29 -0
- package/es/infrastructure/adapters/channels/ChannelAgentAdapter.js +27 -13
- package/es/infrastructure/adapters/channels/index.js +3 -2
- package/es/infrastructure/adapters/contacts/ContactAdapter.js +24 -0
- package/es/infrastructure/adapters/contacts/index.js +2 -0
- package/es/infrastructure/adapters/index.js +7 -1
- package/es/infrastructure/adapters/messages/MessageAdapter.js +41 -0
- package/es/infrastructure/adapters/messages/MessageWithSessionAdapter.js +23 -0
- package/es/infrastructure/adapters/messages/index.js +2 -0
- package/es/infrastructure/adapters/sessions/SessionAdapter.js +36 -0
- package/es/infrastructure/adapters/sessions/index.js +2 -0
- package/es/infrastructure/api/BaseAPI.js +100 -0
- package/es/infrastructure/api/UrlBuilder.js +53 -0
- package/es/infrastructure/api/agents/AgentAPI.js +14 -0
- package/es/infrastructure/api/agents/index.js +2 -0
- package/es/infrastructure/api/bots/BotAPI.js +24 -0
- package/es/infrastructure/api/bots/index.js +2 -0
- package/es/infrastructure/api/channels/ChannelAPI.js +14 -0
- package/es/infrastructure/api/channels/ChannelAgentAPI.js +16 -19
- package/es/infrastructure/api/channels/index.js +3 -2
- package/es/infrastructure/api/contacts/ContactAPI.js +14 -0
- package/es/infrastructure/api/contacts/index.js +2 -0
- package/es/infrastructure/api/index.js +6 -1
- package/es/infrastructure/api/messages/MessageAPI.js +94 -0
- package/es/infrastructure/api/messages/index.js +2 -0
- package/es/infrastructure/api/registry/agents/agentAPIRegistry.js +12 -0
- package/es/infrastructure/api/registry/agents/constructAgentEndPoint.js +10 -0
- package/es/infrastructure/api/registry/agents/index.js +2 -0
- package/es/infrastructure/api/registry/bots/botAPIRegistry.js +17 -0
- package/es/infrastructure/api/registry/bots/constructBotEndPoint.js +10 -0
- package/es/infrastructure/api/registry/bots/index.js +2 -0
- package/es/infrastructure/api/registry/channels/channelAPIRegistry.js +16 -0
- package/es/infrastructure/api/registry/channels/channelAgentAPIRegistry.js +12 -0
- package/es/infrastructure/api/registry/channels/constructChannelEndPoint.js +10 -0
- package/es/infrastructure/api/registry/channels/index.js +2 -0
- package/es/infrastructure/api/registry/contacts/constructContactEndPoint.js +10 -0
- package/es/infrastructure/api/registry/contacts/contactAPIRegistry.js +12 -0
- package/es/infrastructure/api/registry/contacts/index.js +2 -0
- package/es/infrastructure/api/registry/createAPIRegistry.js +7 -0
- package/es/infrastructure/api/registry/createBaseUrl.js +3 -0
- package/es/infrastructure/api/registry/getRegistryConfig.js +26 -0
- package/es/infrastructure/api/registry/index.js +2 -0
- package/es/infrastructure/api/registry/messages/constructMessageEndPoint.js +4 -0
- package/es/infrastructure/api/registry/messages/index.js +2 -0
- package/es/infrastructure/api/registry/messages/messageAPIRegistry.js +62 -0
- package/es/infrastructure/api/registry/sessions/constructSessionEndPoint.js +10 -0
- package/es/infrastructure/api/registry/sessions/index.js +2 -0
- package/es/infrastructure/api/registry/sessions/sessionAPIRegistry.js +46 -0
- package/es/infrastructure/api/sessions/SessionAPI.js +74 -0
- package/es/infrastructure/api/sessions/index.js +2 -0
- package/es/infrastructure/config/configRegistry.js +27 -0
- package/es/infrastructure/config/index.js +2 -0
- package/es/infrastructure/repositories/agents/AgentRepository.js +49 -0
- package/es/infrastructure/repositories/agents/index.js +2 -0
- package/es/infrastructure/repositories/bots/BotRepository.js +58 -0
- package/es/infrastructure/repositories/bots/index.js +2 -0
- package/es/infrastructure/repositories/channels/ChannelAgentRepository.js +49 -0
- package/es/infrastructure/repositories/channels/ChannelRepository.js +49 -0
- package/es/infrastructure/repositories/channels/index.js +3 -0
- package/es/infrastructure/repositories/contacts/ContactRepository.js +49 -0
- package/es/infrastructure/repositories/contacts/index.js +2 -0
- package/es/infrastructure/repositories/index.js +6 -0
- package/es/infrastructure/repositories/messages/MessageRepository.js +119 -0
- package/es/infrastructure/repositories/messages/index.js +2 -0
- package/es/infrastructure/repositories/sessions/SessionRepository.js +105 -0
- package/es/infrastructure/repositories/sessions/index.js +2 -0
- package/package.json +4 -1
- package/es/config/urls/channels/index.js +0 -2
- package/es/config/urls/channels/urls-channel-agents.js +0 -11
- package/es/config/urls/index.js +0 -1
- package/es/core/constants/HttpMethods.js +0 -8
- package/es/domain/entities/Actor/ActorType.js +0 -6
- package/es/domain/interfaces/BaseAPI.js +0 -33
- package/es/domain/interfaces/channels/IChannelAgent.js +0 -10
- package/es/domain/interfaces/channels/index.js +0 -2
- package/es/domain/services/channels/ChannelAgentService.js +0 -27
- package/es/domain/services/channels/index.js +0 -2
- package/es/domain/services/index.js +0 -1
- package/es/infrastructure/adapters/BaseAdapter.js +0 -23
- package/es/infrastructure/interfaces/api/channels/agents/GetChannelAgentsRequest.js +0 -13
- package/es/infrastructure/interfaces/api/channels/agents/index.js +0 -2
- package/es/infrastructure/interfaces/api/channels/index.js +0 -1
- package/es/infrastructure/interfaces/api/index.js +0 -1
- package/es/infrastructure/interfaces/index.js +0 -1
- package/es/infrastructure/managers/ModuleFactory.js +0 -15
- package/es/infrastructure/managers/index.js +0 -2
- package/es/infrastructure/sdk/IMSDK.js +0 -25
- package/es/infrastructure/sdk/channels/ChannelAgentsSDK.js +0 -22
- package/es/infrastructure/sdk/channels/ChannelSDK.js +0 -19
- package/es/infrastructure/sdk/channels/index.js +0 -2
- package/es/infrastructure/sdk/index.js +0 -2
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { MessageDirection, MessageStatus, MessageTypes } from "../../enum";
|
|
3
|
+
import { MessageSchema } from "../../schema";
|
|
4
|
+
import { Actor } from "../Actor";
|
|
5
|
+
import { Attachment } from "../Attachment";
|
|
6
|
+
import Action from "./Action";
|
|
7
|
+
import ExternalInfo from "./ExternalInfo";
|
|
8
|
+
import Info from "./Info";
|
|
9
|
+
import Location from "./Location";
|
|
10
|
+
export default class Message {
|
|
11
|
+
constructor() {
|
|
12
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13
|
+
const validatedData = validateSchema(MessageSchema, data);
|
|
14
|
+
this.data = {
|
|
15
|
+
id: validatedData.id,
|
|
16
|
+
sessionId: validatedData.sessionId,
|
|
17
|
+
displayMessage: validatedData.displayMessage,
|
|
18
|
+
statusUpdatedTime: validatedData.statusUpdatedTime,
|
|
19
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
20
|
+
direction: validatedData.direction,
|
|
21
|
+
createdTime: validatedData.createdTime,
|
|
22
|
+
index: validatedData.index,
|
|
23
|
+
replyToMessage: validatedData.replyToMessage ? new Message(validatedData.replyToMessage).toJSON() : null,
|
|
24
|
+
status: validatedData.status,
|
|
25
|
+
info: validatedData.info ? new Info(validatedData.info).toJSON() : null,
|
|
26
|
+
location: validatedData.location ? new Location(validatedData.location).toJSON() : null,
|
|
27
|
+
externalInfo: validatedData.externalInfo ? new ExternalInfo(validatedData.externalInfo).toJSON() : null,
|
|
28
|
+
layout: validatedData.layout,
|
|
29
|
+
action: validatedData.action ? new Action(validatedData.action).toJSON() : null,
|
|
30
|
+
meta: validatedData.meta,
|
|
31
|
+
contentType: validatedData.contentType,
|
|
32
|
+
fullContentURL: validatedData.fullContentURL,
|
|
33
|
+
attachment: validatedData.attachment ? new Attachment(validatedData.attachment).toJSON() : null,
|
|
34
|
+
template: validatedData.template,
|
|
35
|
+
type: validatedData.type,
|
|
36
|
+
isRead: validatedData.isRead,
|
|
37
|
+
article: validatedData.article,
|
|
38
|
+
webUrl: validatedData.webUrl
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static isLocation(type) {
|
|
43
|
+
return type === MessageTypes.LOCATION;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
static isDeleted(status) {
|
|
47
|
+
return status === MessageStatus.DELETED;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static isOutgoing(direction) {
|
|
51
|
+
return direction === MessageDirection.OUT;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static isIncoming(direction) {
|
|
55
|
+
return direction === MessageDirection.IN;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static isInfo(type) {
|
|
59
|
+
return type === MessageTypes.INFO;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static isExternalInfo(type) {
|
|
63
|
+
return type === MessageTypes.EXTERNAL_INFO;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static isAttachment(type) {
|
|
67
|
+
return type === MessageTypes.ATTACHMENT;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static isTemplate(type) {
|
|
71
|
+
return type === MessageTypes.TEMPLATE;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static isActionMessage(type) {
|
|
75
|
+
return type === MessageTypes.ACTION;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
static isSystemMessage(message) {
|
|
79
|
+
return !!message;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static isHapinessRating(systemMessageType) {
|
|
83
|
+
return systemMessageType === MessageTypes.CX_HAPPINESS_SURVEY;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
static isWelcomeMessage(systemMessageType) {
|
|
87
|
+
return systemMessageType === MessageTypes.WELCOMEMSG;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static isWorkflowMessage(systemMessageType) {
|
|
91
|
+
return systemMessageType === MessageTypes.WORKFLOW_MESSAGE;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
static isWorkflowNotification(systemMessageType) {
|
|
95
|
+
return systemMessageType === MessageTypes.WORKFLOW_NOTIFICATION;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
static isFailed(status) {
|
|
99
|
+
return status === MessageStatus.FAILED;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static getMetaValue() {
|
|
103
|
+
let meta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
104
|
+
let key = arguments.length > 1 ? arguments[1] : undefined;
|
|
105
|
+
const item = meta.find(item => item.name === key);
|
|
106
|
+
return item ? item.value : '';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
toJSON() {
|
|
110
|
+
return { ...this.data
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { MessageWithSessionSchema } from "../../schema";
|
|
3
|
+
import { Session } from "../Session";
|
|
4
|
+
import Message from "./Message";
|
|
5
|
+
export default class MessageWithSession {
|
|
6
|
+
constructor() {
|
|
7
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
const validatedData = validateSchema(MessageWithSessionSchema, data);
|
|
9
|
+
const messageData = new Message(validatedData).toJSON();
|
|
10
|
+
const sessionData = new Session(validatedData.session).toJSON();
|
|
11
|
+
this.data = { ...messageData,
|
|
12
|
+
session: sessionData
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
toJSON() {
|
|
17
|
+
return { ...this.data
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as Message } from "./Message";
|
|
2
|
+
export { default as Info } from "./Info";
|
|
3
|
+
export { default as Action } from "./Action";
|
|
4
|
+
export { default as ExternalInfo } from "./ExternalInfo";
|
|
5
|
+
export { default as Location } from "./Location";
|
|
6
|
+
export { default as MessageWithSession } from "./MessageWithSession";
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { SessionSchema } from "../../schema";
|
|
3
|
+
import { Actor } from "../Actor";
|
|
4
|
+
import { SessionReplyStatus, SessionStatus } from "../../enum";
|
|
5
|
+
export default class Session {
|
|
6
|
+
constructor() {
|
|
7
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
const validatedData = validateSchema(SessionSchema, data);
|
|
9
|
+
this.data = {
|
|
10
|
+
channelId: validatedData.channelId,
|
|
11
|
+
status: validatedData.status,
|
|
12
|
+
createdTime: validatedData.createdTime,
|
|
13
|
+
agentId: validatedData.agentId,
|
|
14
|
+
botId: validatedData.botId,
|
|
15
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
16
|
+
subject: validatedData.subject,
|
|
17
|
+
messagesCount: validatedData.messagesCount,
|
|
18
|
+
agentLastActiveTime: validatedData.agentLastActiveTime,
|
|
19
|
+
contactLastActiveTime: validatedData.contactLastActiveTime,
|
|
20
|
+
lastActiveTime: validatedData.lastActiveTime,
|
|
21
|
+
unreadMessagesCount: validatedData.unreadMessagesCount,
|
|
22
|
+
integrationServiceId: validatedData.integrationServiceId,
|
|
23
|
+
replyStatus: validatedData.replyStatus,
|
|
24
|
+
id: validatedData.id,
|
|
25
|
+
contactId: validatedData.contactId,
|
|
26
|
+
meta: validatedData.meta,
|
|
27
|
+
assignee: validatedData.assignee ? new Actor(validatedData.assignee).toJSON() : null
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static isEnded(sessionStatus) {
|
|
32
|
+
return sessionStatus === SessionStatus.ENDED;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static isBlocked(sessionStatus) {
|
|
36
|
+
return sessionStatus === SessionStatus.BLOCKED;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static isOnProgress(sessionStatus) {
|
|
40
|
+
return sessionStatus === SessionStatus.ON_PROGRESS;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static isHold(sessionStatus) {
|
|
44
|
+
return sessionStatus === SessionStatus.ON_HOLD;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static isOpen(sessionStatus) {
|
|
48
|
+
return sessionStatus === SessionStatus.OPEN;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
static isInactiveChannel(replyStatus) {
|
|
52
|
+
return replyStatus === SessionReplyStatus.CHANNEL_INACTIVE;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
static isChannelDeleted(replyStatus) {
|
|
56
|
+
return replyStatus === SessionReplyStatus.CHANNEL_DELETED;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static isReplyAccepted(replyStatus) {
|
|
60
|
+
return replyStatus === SessionReplyStatus.ACCEPTED;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static isEndUserOffline(replyStatus) {
|
|
64
|
+
return replyStatus === SessionReplyStatus.ENDUSER_OFFLINE;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static isAssignedToOtherService(replyStatus) {
|
|
68
|
+
return replyStatus === SessionReplyStatus.ASSIGNED_TO_OTHER_SERVICE;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
toJSON() {
|
|
72
|
+
return { ...this.data
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from "./Actor";
|
|
2
|
+
export * from "./Agent";
|
|
3
|
+
export * from "./Session";
|
|
4
|
+
export * from "./Bot";
|
|
5
|
+
export * from "./Attachment";
|
|
6
|
+
export * from "./Message";
|
|
7
|
+
export * from "./Channel";
|
|
8
|
+
export * from "./Contact";
|
|
9
|
+
export * from "./IntegrationService";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const IntegrationServices = {
|
|
2
|
+
TWILIO: 'TWILIO',
|
|
3
|
+
WHATSAPP: 'WHATSAPP',
|
|
4
|
+
TELEGRAM: 'TELEGRAM',
|
|
5
|
+
WECHAT: 'WECHAT',
|
|
6
|
+
LINE: 'LINE',
|
|
7
|
+
IM_TALK: 'IM_TALK',
|
|
8
|
+
FACEBOOKMESSENGER: 'FACEBOOKMESSENGER',
|
|
9
|
+
INSTAGRAM: 'INSTAGRAM'
|
|
10
|
+
};
|
|
11
|
+
export default IntegrationServices;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const ExternalInfoAction = {
|
|
2
|
+
UN_IDENTIFIED: 'UN_IDENTIFIED',
|
|
3
|
+
GC_CONVERSATION_ENDED: 'GC_CONVERSATION_ENDED',
|
|
4
|
+
ZIA_CONVERSATION_ENDED: 'ZIA_CONVERSATION_ENDED',
|
|
5
|
+
NEW_FOLLOWER: 'NEW_FOLLOWER',
|
|
6
|
+
CHAT_BLOCKED: 'CHAT_BLOCKED',
|
|
7
|
+
CHAT_UNBLOCKED: 'CHAT_UNBLOCKED'
|
|
8
|
+
};
|
|
9
|
+
export default ExternalInfoAction;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const InfoAction = {
|
|
2
|
+
UN_IDENTIFIED: 'UN_IDENTIFIED',
|
|
3
|
+
END_SESSION: 'END_SESSION',
|
|
4
|
+
BLOCK_SESSION: 'BLOCK_SESSION',
|
|
5
|
+
UNBLOCK_SESSION: 'UNBLOCK_SESSION',
|
|
6
|
+
CHAT_AUTO_ASSIGN: 'CHAT_AUTO_ASSIGN',
|
|
7
|
+
CHAT_ACCEPT: 'CHAT_ACCEPT',
|
|
8
|
+
CHAT_REOPEN: 'CHAT_REOPEN',
|
|
9
|
+
CHAT_TRANSFER: 'CHAT_TRANSFER',
|
|
10
|
+
ADD_PARTICIPANT: 'ADD_PARTICIPANT',
|
|
11
|
+
REMOVE_PARTICIPANT: 'REMOVE_PARTICIPANT',
|
|
12
|
+
CHAT_REOPENED_ON_TRANSFER: 'CHAT_REOPENED_ON_TRANSFER',
|
|
13
|
+
CHAT_INITIATION: 'CHAT_INITIATION',
|
|
14
|
+
USER_LEFT: 'USER_LEFT',
|
|
15
|
+
USER_JOINED: 'USER_JOINED'
|
|
16
|
+
};
|
|
17
|
+
export default InfoAction;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const MessageTypes = {
|
|
2
|
+
TEXT: 'TEXT',
|
|
3
|
+
INFO: 'INFO',
|
|
4
|
+
ATTACHMENT: 'ATTACHMENT',
|
|
5
|
+
LOCATION: 'LOCATION',
|
|
6
|
+
LAYOUT: 'LAYOUT',
|
|
7
|
+
EXTERNAL_INFO: 'EXTERNAL_INFO',
|
|
8
|
+
TEMPLATE: 'TEMPLATE',
|
|
9
|
+
ACTION: 'ACTION',
|
|
10
|
+
WELCOMEMSG: 'WELCOMEMSG',
|
|
11
|
+
WORKFLOW_MESSAGE: 'WORKFLOW_MESSAGE',
|
|
12
|
+
WORKFLOW_NOTIFICATION: 'WORKFLOW_NOTIFICATION',
|
|
13
|
+
CX_HAPPINESS_SURVEY: 'CX_HAPPINESS_SURVEY'
|
|
14
|
+
};
|
|
15
|
+
export default MessageTypes;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import MessageTypes from "./MessageType";
|
|
2
|
+
import MessageStatus from "./MessageStatus";
|
|
3
|
+
import MessageDirection from "./MessageDirection";
|
|
4
|
+
import MessageContentType from "./MessageContentType";
|
|
5
|
+
import ActionType from "./ActionType";
|
|
6
|
+
import ExternalInfoAction from "./ExternalInfoAction";
|
|
7
|
+
import InfoSessionStatus from "./InfoSessionStatus";
|
|
8
|
+
import InfoAction from "./InfoAction";
|
|
9
|
+
import ActionSubType from "./ActionSubType";
|
|
10
|
+
export { MessageTypes, MessageStatus, MessageDirection, MessageContentType, ActionType, ActionSubType, ExternalInfoAction, InfoSessionStatus, InfoAction };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const SessionReplyStatus = {
|
|
2
|
+
ACCEPTED: 'ACCEPTED',
|
|
3
|
+
CHANNEL_INACTIVE: 'CHANNEL_INACTIVE',
|
|
4
|
+
CHANNEL_REVOKED: 'CHANNEL_REVOKED',
|
|
5
|
+
SESSION_ENDED: 'SESSION_ENDED',
|
|
6
|
+
SESSION_BLOCKED: 'SESSION_BLOCKED',
|
|
7
|
+
SESSION_EXPIRED: 'SESSION_EXPIRED',
|
|
8
|
+
UNASSIGNED: 'UNASSIGNED',
|
|
9
|
+
NOT_AN_ASSIGNEE: 'NOT_AN_ASSIGNEE',
|
|
10
|
+
CREDIT_EXHAUSTED: 'CREDIT_EXHAUSTED',
|
|
11
|
+
ACCESSTOKEN_EXPIRED: 'ACCESSTOKEN_EXPIRED',
|
|
12
|
+
PERMISSION_REVOKED: 'PERMISSION_REVOKED',
|
|
13
|
+
UNEXPECTED_ERROR: 'UNEXPECTED_ERROR',
|
|
14
|
+
PAGE_REMOVED: 'PAGE_REMOVED',
|
|
15
|
+
SANDBOX_LIMIT_REACHED: 'SANDBOX_LIMIT_REACHED',
|
|
16
|
+
CHANNEL_DELETED: 'CHANNEL_DELETED',
|
|
17
|
+
ENDUSER_OFFLINE: 'ENDUSER_OFFLINE',
|
|
18
|
+
CONFIG_SKIPPED_CHANNEL: 'CONFIG_SKIPPED_CHANNEL',
|
|
19
|
+
ASSIGNED_TO_OTHER_SERVICE: 'ASSIGNED_TO_OTHER_SERVICE'
|
|
20
|
+
};
|
|
21
|
+
export default SessionReplyStatus;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ModuleNames } from "../../../../core/constants";
|
|
2
|
+
import BaseAPI from "../../../../infrastructure/api/BaseAPI";
|
|
3
|
+
import { getAgentsRequest } from "../../../dto";
|
|
4
|
+
export default class IAgentRepository extends BaseAPI {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
module: ModuleNames.AGENTS
|
|
8
|
+
});
|
|
9
|
+
} // eslint-disable-next-line no-unused-vars
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
async getAgents() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getAgentsRequest();
|
|
14
|
+
throw new Error('Method not implemented');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ModuleNames } from "../../../../core/constants";
|
|
2
|
+
import BaseAPI from "../../../../infrastructure/api/BaseAPI";
|
|
3
|
+
import { getBotsRequest, getBotRequest } from "../../../dto";
|
|
4
|
+
export default class IBotRepository extends BaseAPI {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
module: ModuleNames.BOTS
|
|
8
|
+
});
|
|
9
|
+
} // eslint-disable-next-line no-unused-vars
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
async getBots() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBotsRequest();
|
|
14
|
+
throw new Error('Method not implemented');
|
|
15
|
+
} // eslint-disable-next-line no-unused-vars
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
async getBot() {
|
|
19
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getBotRequest();
|
|
20
|
+
throw new Error('Method not implemented');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ModuleNames } from "../../../../core/constants";
|
|
2
|
+
import BaseAPI from "../../../../infrastructure/api/BaseAPI";
|
|
3
|
+
import { getChannelAgentsRequest } from "../../../dto";
|
|
4
|
+
export default class IChannelAgentRepository extends BaseAPI {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
module: `${ModuleNames.CHANNELS}.${ModuleNames.AGENTS}`
|
|
8
|
+
});
|
|
9
|
+
} // eslint-disable-next-line no-unused-vars
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
getAgents() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelAgentsRequest();
|
|
14
|
+
throw new Error('Method not implemented.');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ModuleNames } from "../../../../core/constants";
|
|
2
|
+
import BaseAPI from "../../../../infrastructure/api/BaseAPI";
|
|
3
|
+
import { getChannelsRequest } from "../../../dto";
|
|
4
|
+
export default class IChannelRepository extends BaseAPI {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
module: ModuleNames.CHANNELS
|
|
8
|
+
});
|
|
9
|
+
} // eslint-disable-next-line no-unused-vars
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
getChannels() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getChannelsRequest();
|
|
14
|
+
throw new Error('Method not implemented.');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ModuleNames } from "../../../../core/constants";
|
|
2
|
+
import BaseAPI from "../../../../infrastructure/api/BaseAPI";
|
|
3
|
+
import { getContactsRequest } from "../../../dto";
|
|
4
|
+
export default class IContactRepository extends BaseAPI {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({
|
|
7
|
+
module: ModuleNames.CONTACTS
|
|
8
|
+
});
|
|
9
|
+
} // eslint-disable-next-line no-unused-vars
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
async getContacts() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getContactsRequest();
|
|
14
|
+
throw new Error('Method not implemented');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { ModuleNames } from "../../../../core/constants";
|
|
3
|
+
import BaseAPI from "../../../../infrastructure/api/BaseAPI";
|
|
4
|
+
import { getMessagesRequest, getMessageRequest, deleteMessageRequest, getFullContentRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, initiateSessionRequest, searchMessagesRequest } from "../../../dto";
|
|
5
|
+
export default class IMessageRepository extends BaseAPI {
|
|
6
|
+
constructor() {
|
|
7
|
+
super({
|
|
8
|
+
module: ModuleNames.MESSAGES
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
getMessages() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getMessagesRequest();
|
|
14
|
+
throw new Error('Method not implemented.');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getMessage() {
|
|
18
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getMessageRequest();
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getFullContent() {
|
|
23
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getFullContentRequest();
|
|
24
|
+
throw new Error('Method not implemented.');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
sendMessage() {
|
|
28
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendMessageRequest();
|
|
29
|
+
throw new Error('Method not implemented.');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
sendAttachment() {
|
|
33
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendAttachmentRequest();
|
|
34
|
+
throw new Error('Method not implemented.');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
resendMessage() {
|
|
38
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : resendMessageRequest();
|
|
39
|
+
throw new Error('Method not implemented.');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
deleteMessage() {
|
|
43
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteMessageRequest();
|
|
44
|
+
throw new Error('Method not implemented.');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
initiateSession() {
|
|
48
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initiateSessionRequest();
|
|
49
|
+
throw new Error('Method not implemented.');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
searchMessages() {
|
|
53
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : searchMessagesRequest();
|
|
54
|
+
throw new Error('Method not implemented.');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
}
|