@zohoim/client-sdk 1.0.0-poc7 → 1.0.0-poc71
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 +51 -0
- package/es/application/services/sessions/index.js +2 -0
- package/es/core/constants/ModuleNames.js +9 -0
- package/es/core/constants/ResponseTypes.js +6 -0
- package/es/core/constants/index.js +6 -0
- package/es/core/errors/AdapterError.js +7 -0
- package/es/core/errors/index.js +3 -0
- 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 +7 -0
- package/es/domain/dto/sessions/markSessionAsReadRequest.js +13 -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 +28 -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 +22 -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 +19 -0
- package/es/domain/entities/Message/ExternalInfo.js +17 -0
- package/es/domain/entities/Message/Info.js +21 -0
- package/es/domain/entities/Message/Location.js +18 -0
- package/es/domain/entities/Message/Message.js +66 -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 +48 -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/bot/BotServiceType.js +7 -0
- package/es/domain/enum/bot/index.js +2 -0
- package/es/domain/enum/index.js +5 -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 +11 -0
- package/es/domain/enum/message/index.js +10 -0
- package/es/domain/enum/session/SessionReplyStatus.js +20 -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 +47 -0
- package/es/domain/interfaces/repositories/sessions/index.js +2 -0
- package/es/domain/schema/actor/ActorSchema.js +33 -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 +27 -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 +112 -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/frameworks/managers/ModuleManager.js +44 -0
- 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 -4
- 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 +24 -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 +49 -0
- package/es/infrastructure/adapters/channels/index.js +3 -0
- 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 -0
- 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 +147 -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 +22 -0
- package/es/infrastructure/api/channels/index.js +3 -0
- 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 -0
- 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 +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 +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 +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 +111 -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/domain/entities/Actor/ActorType.js +0 -6
- package/es/domain/errors/index.js +0 -2
- package/es/domain/interfaces/channels/IChannelAgent.js +0 -9
- package/es/domain/interfaces/channels/index.js +0 -2
- package/es/domain/services/channels/ChannelAgentService.js +0 -16
- package/es/domain/services/channels/index.js +0 -2
- package/es/domain/services/index.js +0 -1
- package/es/domain/types/channels/GetChannelAgentsRequest.js +0 -7
- package/es/domain/types/channels/index.js +0 -2
- package/es/domain/types/index.js +0 -1
- package/es/modules/channels/index.js +0 -1
- package/es/modules/channels/sdk/ChannelAgentsSDK.js +0 -13
- package/es/modules/channels/sdk/ChannelSDK.js +0 -7
- package/es/modules/channels/sdk/index.js +0 -2
- package/es/modules/index.js +0 -1
- package/es/sdk/IMSDK.js +0 -7
- package/es/sdk/index.js +0 -2
- /package/es/{domain → core}/errors/ValidationError.js +0 -0
|
@@ -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,48 @@
|
|
|
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
|
+
toJSON() {
|
|
44
|
+
return { ...this.data
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
@@ -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,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,20 @@
|
|
|
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
|
+
};
|
|
20
|
+
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
|
+
}
|
|
@@ -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 { updateSessionAssigneeRequest, getSessionsRequest, getSessionRequest, getSessionAttachmentsRequest, getSessionLastMessagesRequest, markSessionAsReadRequest, updateSessionStatusRequest } from "../../../dto";
|
|
5
|
+
export default class ISessionRepository extends BaseAPI {
|
|
6
|
+
constructor() {
|
|
7
|
+
super({
|
|
8
|
+
module: ModuleNames.SESSIONS
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
updateAssignee() {
|
|
13
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateSessionAssigneeRequest();
|
|
14
|
+
throw new Error('Method not implemented.');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getSessions() {
|
|
18
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionsRequest();
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getSession() {
|
|
23
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionRequest();
|
|
24
|
+
throw new Error('Method not implemented.');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getSessionAttachments() {
|
|
28
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionAttachmentsRequest();
|
|
29
|
+
throw new Error('Method not implemented.');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
getSessionLastMessages() {
|
|
33
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionLastMessagesRequest();
|
|
34
|
+
throw new Error('Method not implemented.');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
markSessionAsRead() {
|
|
38
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : markSessionAsReadRequest();
|
|
39
|
+
throw new Error('Method not implemented.');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
updateSessionStatus() {
|
|
43
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateSessionStatusRequest();
|
|
44
|
+
throw new Error('Method not implemented.');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ActorType } from "../../enum";
|
|
2
|
+
const ActorSchema = {
|
|
3
|
+
name: {
|
|
4
|
+
type: 'string',
|
|
5
|
+
required: false
|
|
6
|
+
},
|
|
7
|
+
type: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
required: true,
|
|
10
|
+
enum: Object.values(ActorType)
|
|
11
|
+
},
|
|
12
|
+
photoURL: {
|
|
13
|
+
type: 'string',
|
|
14
|
+
required: false
|
|
15
|
+
},
|
|
16
|
+
extId: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
required: false
|
|
19
|
+
},
|
|
20
|
+
id: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
required: false
|
|
23
|
+
},
|
|
24
|
+
email: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
required: false
|
|
27
|
+
},
|
|
28
|
+
botType: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
required: false
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export default ActorSchema;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ActorType } from "../../enum";
|
|
2
|
+
const AgentSchema = {
|
|
3
|
+
id: {
|
|
4
|
+
type: 'string',
|
|
5
|
+
required: true
|
|
6
|
+
},
|
|
7
|
+
firstName: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
required: false
|
|
10
|
+
},
|
|
11
|
+
lastName: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
required: false
|
|
14
|
+
},
|
|
15
|
+
name: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
required: false
|
|
18
|
+
},
|
|
19
|
+
email: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
required: true
|
|
22
|
+
},
|
|
23
|
+
photoURL: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
required: false
|
|
26
|
+
},
|
|
27
|
+
zuid: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
required: true
|
|
30
|
+
},
|
|
31
|
+
role: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
required: false
|
|
34
|
+
},
|
|
35
|
+
status: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
required: false
|
|
38
|
+
},
|
|
39
|
+
type: {
|
|
40
|
+
type: 'string',
|
|
41
|
+
required: true,
|
|
42
|
+
enum: [ActorType.AGENT]
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
export default AgentSchema;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const AttachmentSchema = {
|
|
2
|
+
id: {
|
|
3
|
+
type: 'string',
|
|
4
|
+
required: true
|
|
5
|
+
},
|
|
6
|
+
name: {
|
|
7
|
+
type: 'string',
|
|
8
|
+
required: true
|
|
9
|
+
},
|
|
10
|
+
type: {
|
|
11
|
+
type: 'string',
|
|
12
|
+
required: true
|
|
13
|
+
},
|
|
14
|
+
createdTime: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
required: false
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
type: 'number',
|
|
20
|
+
required: true
|
|
21
|
+
},
|
|
22
|
+
url: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
required: false
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export default AttachmentSchema;
|