@zohoim/client-sdk 1.0.0-poc9 → 1.0.0-poc90
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 +56 -0
- package/es/application/services/messages/index.js +2 -0
- package/es/application/services/sessions/SessionService.js +56 -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/getMessagesRequest.js +20 -0
- package/es/domain/dto/messages/index.js +8 -0
- package/es/domain/dto/messages/initiateSessionRequest.js +21 -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 +20 -0
- package/es/domain/dto/messages/sendMessageRequest.js +17 -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 +8 -0
- package/es/domain/dto/sessions/markSessionAsReadRequest.js +13 -0
- package/es/domain/dto/sessions/pickupSessionRequest.js +9 -0
- package/es/domain/dto/sessions/updateSessionAssigneeRequest.js +12 -0
- package/es/domain/dto/sessions/updateSessionStatusRequest.js +18 -0
- package/es/domain/entities/Actor/Actor.js +33 -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 +25 -0
- package/es/domain/entities/Message/ExternalInfo.js +17 -0
- package/es/domain/entities/Message/Info.js +39 -0
- package/es/domain/entities/Message/InfoTarget.js +22 -0
- package/es/domain/entities/Message/Location.js +18 -0
- package/es/domain/entities/Message/Message.js +78 -0
- package/es/domain/entities/Message/MessageWithSession.js +21 -0
- package/es/domain/entities/Message/index.js +7 -0
- package/es/domain/entities/Session/Session.js +60 -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 +7 -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/InfoTargetType.js +7 -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 +11 -0
- package/es/domain/enum/message/index.js +11 -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 +52 -0
- package/es/domain/interfaces/repositories/messages/index.js +2 -0
- package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +52 -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/InfoTargetSchema.js +29 -0
- package/es/domain/schema/message/LocationSchema.js +11 -0
- package/es/domain/schema/message/MessageSchema.js +112 -0
- package/es/domain/schema/message/MessageWithSessionSchema.js +10 -0
- package/es/domain/schema/message/index.js +8 -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 +151 -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 +84 -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 +18 -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 +57 -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 +52 -0
- package/es/infrastructure/api/sessions/SessionAPI.js +84 -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 +111 -0
- package/es/infrastructure/repositories/messages/index.js +2 -0
- package/es/infrastructure/repositories/sessions/SessionRepository.js +113 -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,78 @@
|
|
|
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
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
static isLocation(type) {
|
|
42
|
+
return type === MessageTypes.LOCATION;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static isDeleted(status) {
|
|
46
|
+
return status === MessageStatus.DELETED;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static isOutgoing(direction) {
|
|
50
|
+
return direction === MessageDirection.OUT;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static isIncoming(direction) {
|
|
54
|
+
return direction === MessageDirection.IN;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static isInfo(type) {
|
|
58
|
+
return type === MessageTypes.INFO;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static isAttachment(type) {
|
|
62
|
+
return type === MessageTypes.ATTACHMENT;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static isActionMessage(type) {
|
|
66
|
+
return type === MessageTypes.ACTION;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
static isAutoSent(systemMsgType) {
|
|
70
|
+
return !!systemMsgType;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
toJSON() {
|
|
74
|
+
return { ...this.data
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
}
|
|
@@ -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,7 @@
|
|
|
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";
|
|
7
|
+
export { default as InfoTarget } from "./InfoTarget";
|
|
@@ -0,0 +1,60 @@
|
|
|
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 isInactiveChannel(replyStatus) {
|
|
40
|
+
return replyStatus === SessionReplyStatus.CHANNEL_INACTIVE;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static isOpen(sessionStatus) {
|
|
44
|
+
return sessionStatus === SessionStatus.OPEN;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static isCreated(sessionStatus) {
|
|
48
|
+
return sessionStatus === SessionStatus.CREATED;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
static isAssignedToOtherService(replyStatus) {
|
|
52
|
+
return replyStatus === SessionReplyStatus.ASSIGNED_TO_OTHER_SERVICE;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
toJSON() {
|
|
56
|
+
return { ...this.data
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
}
|
|
@@ -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,11 @@
|
|
|
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
|
+
import InfoTargetType from "./InfoTargetType";
|
|
11
|
+
export { MessageTypes, MessageStatus, MessageDirection, MessageContentType, ActionType, ActionSubType, ExternalInfoAction, InfoSessionStatus, InfoAction, InfoTargetType };
|
|
@@ -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,52 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { ModuleNames } from "../../../../core/constants";
|
|
3
|
+
import BaseAPI from "../../../../infrastructure/api/BaseAPI";
|
|
4
|
+
import { getMessagesRequest, 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
|
+
getFullContent() {
|
|
18
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getFullContentRequest();
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
sendMessage() {
|
|
23
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendMessageRequest();
|
|
24
|
+
throw new Error('Method not implemented.');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
sendAttachment() {
|
|
28
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : sendAttachmentRequest();
|
|
29
|
+
throw new Error('Method not implemented.');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
resendMessage() {
|
|
33
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : resendMessageRequest();
|
|
34
|
+
throw new Error('Method not implemented.');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
deleteMessage() {
|
|
38
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteMessageRequest();
|
|
39
|
+
throw new Error('Method not implemented.');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
initiateSession() {
|
|
43
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initiateSessionRequest();
|
|
44
|
+
throw new Error('Method not implemented.');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
searchMessages() {
|
|
48
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : searchMessagesRequest();
|
|
49
|
+
throw new Error('Method not implemented.');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
}
|