@zohoim/client-sdk 1.0.0-poc5 → 1.0.0-poc50
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 +21 -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 +26 -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/index.js +5 -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 +76 -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/getBotsRequest.js +15 -0
- package/es/domain/dto/bots/index.js +1 -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 +10 -0
- package/es/domain/dto/contacts/index.js +2 -0
- package/es/domain/dto/contacts/searchContactsRequest.js +11 -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/getSearchedMessagesRequest.js +22 -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/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 +13 -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/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 +45 -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 +35 -0
- package/es/domain/entities/Session/index.js +2 -0
- package/es/domain/entities/index.js +8 -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/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 +5 -0
- package/es/domain/enum/session/SessionReplyStatus.js +20 -0
- package/es/domain/enum/session/SessionStatus.js +9 -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 +9 -0
- package/es/domain/interfaces/repositories/agents/index.js +2 -0
- package/es/domain/interfaces/repositories/bots/IBotRepository.js +9 -0
- package/es/domain/interfaces/repositories/bots/index.js +2 -0
- package/es/domain/interfaces/repositories/channels/IChannelAgentRepository.js +9 -0
- package/es/domain/interfaces/repositories/channels/IChannelRepository.js +9 -0
- package/es/domain/interfaces/repositories/channels/index.js +3 -0
- package/es/domain/interfaces/repositories/contacts/IContactRepository.js +14 -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 +43 -0
- package/es/domain/interfaces/repositories/messages/index.js +2 -0
- package/es/domain/interfaces/repositories/sessions/ISessionRepository.js +39 -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 +29 -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 +15 -0
- package/es/domain/schema/message/ExternalInfoSchema.js +7 -0
- package/es/domain/schema/message/InfoSchema.js +21 -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 +9 -6
- package/es/infrastructure/adapters/agents/agentAdapter.js +27 -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 +30 -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/message/MessageAdapter.js +41 -0
- package/es/infrastructure/adapters/message/MessageWithSessionAdapter.js +23 -0
- package/es/infrastructure/adapters/message/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 +92 -0
- package/es/infrastructure/api/agents/AgentAPI.js +21 -0
- package/es/infrastructure/api/agents/index.js +2 -0
- package/es/infrastructure/api/bots/BotAPI.js +21 -0
- package/es/infrastructure/api/bots/index.js +2 -0
- package/es/infrastructure/api/channels/ChannelAPI.js +21 -0
- package/es/infrastructure/api/channels/ChannelAgentAPI.js +29 -0
- package/es/infrastructure/api/channels/index.js +3 -0
- package/es/infrastructure/api/contacts/ContactAPI.js +31 -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 +91 -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 +12 -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 +17 -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 +10 -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 +81 -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 +27 -0
- package/es/infrastructure/repositories/agents/index.js +2 -0
- package/es/infrastructure/repositories/bots/BotRepository.js +27 -0
- package/es/infrastructure/repositories/bots/index.js +2 -0
- package/es/infrastructure/repositories/channels/ChannelAgentRepository.js +27 -0
- package/es/infrastructure/repositories/channels/ChannelRepository.js +27 -0
- package/es/infrastructure/repositories/channels/index.js +3 -0
- package/es/infrastructure/repositories/contacts/ContactRepository.js +33 -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 +72 -0
- package/es/infrastructure/repositories/messages/index.js +2 -0
- package/es/infrastructure/repositories/sessions/SessionRepository.js +67 -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/interfaces/channels/IChannelAgent.js +0 -6
- package/es/domain/interfaces/channels/index.js +0 -2
- package/es/domain/services/channels/ChannelAgentService.js +0 -14
- package/es/domain/services/channels/index.js +0 -2
- package/es/domain/services/index.js +0 -1
- /package/es/{domain → core}/errors/ValidationError.js +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function resendMessageRequest() {
|
|
4
|
+
let {
|
|
5
|
+
params = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withParams({
|
|
8
|
+
sessionId: null,
|
|
9
|
+
messageId: null,
|
|
10
|
+
...params
|
|
11
|
+
}).build();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default resendMessageRequest;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function sendAttachmentRequest() {
|
|
4
|
+
let {
|
|
5
|
+
params = {},
|
|
6
|
+
body = {}
|
|
7
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
return new RequestBuilder().withParams({
|
|
9
|
+
sessionId: null,
|
|
10
|
+
messageId: null,
|
|
11
|
+
...params
|
|
12
|
+
}).withBody({
|
|
13
|
+
message: null,
|
|
14
|
+
file: null,
|
|
15
|
+
replyToMessageId: null,
|
|
16
|
+
...body
|
|
17
|
+
}).build();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default sendAttachmentRequest;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function sendMessageRequest() {
|
|
4
|
+
let {
|
|
5
|
+
params = {},
|
|
6
|
+
body = {}
|
|
7
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
return new RequestBuilder().withParams({
|
|
9
|
+
sessionId: null,
|
|
10
|
+
...params
|
|
11
|
+
}).withBody({
|
|
12
|
+
message: null,
|
|
13
|
+
...body
|
|
14
|
+
}).build();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default sendMessageRequest;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function getSessionAttachmentsRequest() {
|
|
4
|
+
let {
|
|
5
|
+
params = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withParams({
|
|
8
|
+
sessionId: null,
|
|
9
|
+
...params
|
|
10
|
+
}).build();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default getSessionAttachmentsRequest;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function getSessionLastMessagesRequest() {
|
|
4
|
+
let {
|
|
5
|
+
body = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withBody({
|
|
8
|
+
data: null,
|
|
9
|
+
...body
|
|
10
|
+
}).build();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default getSessionLastMessagesRequest;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function getSessionRequest() {
|
|
4
|
+
let {
|
|
5
|
+
params = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withParams({
|
|
8
|
+
sessionId: null,
|
|
9
|
+
...params
|
|
10
|
+
}).build();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default getSessionRequest;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function getSessionsRequest() {
|
|
4
|
+
let {
|
|
5
|
+
query = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withQuery({
|
|
8
|
+
from: 0,
|
|
9
|
+
limit: 50,
|
|
10
|
+
channelIds: null,
|
|
11
|
+
channelId: null,
|
|
12
|
+
agentId: null,
|
|
13
|
+
contactId: null,
|
|
14
|
+
profileId: null,
|
|
15
|
+
modifiedAfter: null,
|
|
16
|
+
createdBefore: null,
|
|
17
|
+
createdAfter: null,
|
|
18
|
+
status: null,
|
|
19
|
+
assigneeFilter: null,
|
|
20
|
+
workspaceId: null,
|
|
21
|
+
botIds: null,
|
|
22
|
+
...query
|
|
23
|
+
}).build();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default getSessionsRequest;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as updateSessionAssigneeRequest } from "./updateSessionAssigneeRequest";
|
|
2
|
+
export { default as getSessionsRequest } from "./getSessionsRequest";
|
|
3
|
+
export { default as getSessionRequest } from "./getSessionRequest";
|
|
4
|
+
export { default as getSessionAttachmentsRequest } from "./getSessionAttachmentsRequest";
|
|
5
|
+
export { default as getSessionLastMessagesRequest } from "./getSessionLastMessagesRequest";
|
|
6
|
+
export { default as markSessionAsReadRequest } from "./markSessionAsReadRequest";
|
|
7
|
+
export { default as updateSessionStatusRequest } from "./updateSessionStatusRequest";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function markSessionAsReadRequest() {
|
|
4
|
+
let {
|
|
5
|
+
body = {}
|
|
6
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
return new RequestBuilder().withBody({
|
|
8
|
+
lastSeenMessageId: null,
|
|
9
|
+
...body
|
|
10
|
+
}).build();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default markSessionAsReadRequest;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function updateSessionAssigneeRequest() {
|
|
4
|
+
return new RequestBuilder().withParams({
|
|
5
|
+
sessionId: null
|
|
6
|
+
}).withBody({
|
|
7
|
+
agentId: null,
|
|
8
|
+
botId: null
|
|
9
|
+
}).build();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default updateSessionAssigneeRequest;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function updateSessionStatusRequest() {
|
|
4
|
+
let {
|
|
5
|
+
params = {},
|
|
6
|
+
body = {}
|
|
7
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
return new RequestBuilder().withParams({
|
|
9
|
+
sessionId: null,
|
|
10
|
+
...params
|
|
11
|
+
}).withBody({
|
|
12
|
+
status: null,
|
|
13
|
+
...body
|
|
14
|
+
}).build();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default updateSessionStatusRequest;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { ActorType } from "../../enum";
|
|
3
|
+
import { ActorSchema } from "../../schema";
|
|
4
|
+
export default class Actor {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema(ActorSchema, data);
|
|
8
|
+
this.data = {
|
|
9
|
+
name: validatedData.name,
|
|
10
|
+
type: validatedData.type,
|
|
11
|
+
photoURL: validatedData.photoURL,
|
|
12
|
+
extId: validatedData.extId,
|
|
13
|
+
id: validatedData.id,
|
|
14
|
+
email: validatedData.email,
|
|
15
|
+
botType: validatedData.botType
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static isBot(type) {
|
|
20
|
+
return type === ActorType.BOT;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
toJSON() {
|
|
24
|
+
return { ...this.data
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
export {
|
|
1
|
+
import Actor from "./Actor";
|
|
2
|
+
export { Actor };
|
|
@@ -1,110 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { AgentSchema } from "../../schema";
|
|
3
3
|
export default class Agent {
|
|
4
4
|
constructor() {
|
|
5
|
-
let {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
email,
|
|
16
|
-
name,
|
|
17
|
-
zuid
|
|
18
|
-
});
|
|
19
|
-
this._id = id;
|
|
20
|
-
this._name = name;
|
|
21
|
-
this._email = email;
|
|
22
|
-
this._photoURL = photoURL;
|
|
23
|
-
this._zuid = zuid;
|
|
24
|
-
this.setType(type);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static validateFields(_ref) {
|
|
28
|
-
let {
|
|
29
|
-
id,
|
|
30
|
-
email,
|
|
31
|
-
name,
|
|
32
|
-
zuid
|
|
33
|
-
} = _ref;
|
|
34
|
-
Agent.validateId(id);
|
|
35
|
-
Agent.validateEmail(email);
|
|
36
|
-
Agent.validateName(name);
|
|
37
|
-
Agent.validateZuid(zuid);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
static validateId(id) {
|
|
41
|
-
if (!id) {
|
|
42
|
-
throw new ValidationError('Agent ID is required');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
static validateEmail(email) {
|
|
47
|
-
if (!email) {
|
|
48
|
-
throw new ValidationError('Agent email is required');
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
static validateName(name) {
|
|
53
|
-
if (!name) {
|
|
54
|
-
throw new ValidationError('Agent name is required');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
static validateZuid(zuid) {
|
|
59
|
-
if (!zuid) {
|
|
60
|
-
throw new ValidationError('Agent zuid is required');
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
static validateType(type) {
|
|
65
|
-
return type === ActorType.AGENT;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
setType(type) {
|
|
69
|
-
if (!Agent.validateType(type)) {
|
|
70
|
-
throw new Error('Invalid actor type. Must be AGENT');
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
this._type = type;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
get id() {
|
|
77
|
-
return this._id;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
get name() {
|
|
81
|
-
return this._name;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
get email() {
|
|
85
|
-
return this._email;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
get photoURL() {
|
|
89
|
-
return this._photoURL;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
get zuid() {
|
|
93
|
-
return this._zuid;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
get type() {
|
|
97
|
-
return this._type;
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(AgentSchema, data);
|
|
7
|
+
this.data = {
|
|
8
|
+
id: validatedData.id,
|
|
9
|
+
name: validatedData.name,
|
|
10
|
+
email: validatedData.email,
|
|
11
|
+
photoURL: validatedData.photoURL || '',
|
|
12
|
+
zuid: validatedData.zuid,
|
|
13
|
+
type: validatedData.type
|
|
14
|
+
};
|
|
98
15
|
}
|
|
99
16
|
|
|
100
17
|
toJSON() {
|
|
101
|
-
return {
|
|
102
|
-
id: this._id,
|
|
103
|
-
name: this._name,
|
|
104
|
-
email: this._email,
|
|
105
|
-
photoURL: this._photoURL,
|
|
106
|
-
zuid: this._zuid,
|
|
107
|
-
type: this._type
|
|
18
|
+
return { ...this.data
|
|
108
19
|
};
|
|
109
20
|
}
|
|
110
21
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import Agent from
|
|
1
|
+
import Agent from "./Agent";
|
|
2
2
|
export { Agent };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { AttachmentSchema } from "../../schema";
|
|
3
|
+
export default class Attachment {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(AttachmentSchema, data);
|
|
7
|
+
this.data = {
|
|
8
|
+
id: validatedData.id,
|
|
9
|
+
name: validatedData.name,
|
|
10
|
+
type: validatedData.type,
|
|
11
|
+
createdTime: validatedData.createdTime,
|
|
12
|
+
size: validatedData.size,
|
|
13
|
+
url: validatedData.url
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJSON() {
|
|
18
|
+
return { ...this.data
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { BotSchema } from "../../schema";
|
|
3
|
+
export default class Bot {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(BotSchema, data);
|
|
7
|
+
this.data = {
|
|
8
|
+
id: validatedData.id,
|
|
9
|
+
botServiceType: validatedData.botServiceType,
|
|
10
|
+
name: validatedData.name,
|
|
11
|
+
isActive: validatedData.isActive,
|
|
12
|
+
createdTime: validatedData.createdTime,
|
|
13
|
+
photoURL: validatedData.photoURL || null,
|
|
14
|
+
createdBy: validatedData.createdBy
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
toJSON() {
|
|
19
|
+
return { ...this.data
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { ChannelSchema } from "../../schema";
|
|
3
|
+
export default class Channel {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(ChannelSchema, data); // Set required properties from schema
|
|
7
|
+
|
|
8
|
+
this.id = validatedData.id;
|
|
9
|
+
this.integrationService = validatedData.integrationService;
|
|
10
|
+
this.name = validatedData.name;
|
|
11
|
+
this.isActive = validatedData.isActive;
|
|
12
|
+
this.createdTime = validatedData.createdTime; // Set optional properties from schema
|
|
13
|
+
|
|
14
|
+
this.defaultBotId = validatedData.defaultBotId || null;
|
|
15
|
+
this.accountName = validatedData.accountName || null;
|
|
16
|
+
this.isSubscribed = validatedData.isSubscribed || false;
|
|
17
|
+
this.createdBy = validatedData.createdBy || null;
|
|
18
|
+
this.isOwner = validatedData.isOwner || false;
|
|
19
|
+
this.photoURL = validatedData.photoURL || null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
toJSON() {
|
|
23
|
+
return {
|
|
24
|
+
id: this.id,
|
|
25
|
+
integrationService: this.integrationService,
|
|
26
|
+
name: this.name,
|
|
27
|
+
defaultBotId: this.defaultBotId,
|
|
28
|
+
isActive: this.isActive,
|
|
29
|
+
createdTime: this.createdTime,
|
|
30
|
+
accountName: this.accountName,
|
|
31
|
+
isSubscribed: this.isSubscribed,
|
|
32
|
+
createdBy: this.createdBy,
|
|
33
|
+
isOwner: this.isOwner,
|
|
34
|
+
photoURL: this.photoURL
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { ContactSchema } from "../../schema";
|
|
3
|
+
export default class Contact {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(ContactSchema, data);
|
|
7
|
+
this.data = {
|
|
8
|
+
id: validatedData.id,
|
|
9
|
+
name: validatedData.name,
|
|
10
|
+
email: validatedData.email,
|
|
11
|
+
photoURL: validatedData.photoURL || '',
|
|
12
|
+
mobile: validatedData.mobile,
|
|
13
|
+
phone: validatedData.phone
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
toJSON() {
|
|
18
|
+
return { ...this.data
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { ActionSchema } from "../../schema";
|
|
3
|
+
export default class Action {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(ActionSchema, data);
|
|
7
|
+
this.data = {
|
|
8
|
+
type: validatedData.type,
|
|
9
|
+
subType: validatedData.subType,
|
|
10
|
+
value: validatedData.value
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
toJSON() {
|
|
15
|
+
return { ...this.data
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { ExternalInfoSchema } from "../../schema";
|
|
3
|
+
export default class ExternalInfo {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(ExternalInfoSchema, data);
|
|
7
|
+
this.data = {
|
|
8
|
+
action: validatedData.action
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
toJSON() {
|
|
13
|
+
return { ...this.data
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { Actor } from "../Actor";
|
|
3
|
+
import { InfoSchema } from "../../schema/message";
|
|
4
|
+
export default class Info {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema(InfoSchema, data);
|
|
8
|
+
this.data = {
|
|
9
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
10
|
+
action: validatedData.action,
|
|
11
|
+
sessionStatus: validatedData.sessionStatus,
|
|
12
|
+
targets: validatedData.targets
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
toJSON() {
|
|
17
|
+
return { ...this.data
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { LocationSchema } from "../../schema";
|
|
3
|
+
export default class Location {
|
|
4
|
+
constructor() {
|
|
5
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
const validatedData = validateSchema(LocationSchema, data);
|
|
7
|
+
this.data = {
|
|
8
|
+
latitude: validatedData.latitude,
|
|
9
|
+
longitude: validatedData.longitude
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
toJSON() {
|
|
14
|
+
return { ...this.data
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { MessageSchema } from "../../schema";
|
|
3
|
+
import { Actor } from "../Actor";
|
|
4
|
+
import { Attachment } from "../Attachment";
|
|
5
|
+
import Action from "./Action";
|
|
6
|
+
import ExternalInfo from "./ExternalInfo";
|
|
7
|
+
import Info from "./Info";
|
|
8
|
+
import Location from "./Location";
|
|
9
|
+
export default class Message {
|
|
10
|
+
constructor() {
|
|
11
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12
|
+
const validatedData = validateSchema(MessageSchema, data);
|
|
13
|
+
this.data = {
|
|
14
|
+
id: validatedData.id,
|
|
15
|
+
sessionId: validatedData.sessionId,
|
|
16
|
+
displayMessage: validatedData.displayMessage,
|
|
17
|
+
statusUpdatedTime: validatedData.statusUpdatedTime,
|
|
18
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
19
|
+
direction: validatedData.direction,
|
|
20
|
+
createdTime: validatedData.createdTime,
|
|
21
|
+
index: validatedData.index,
|
|
22
|
+
replyToMessage: validatedData.replyToMessage ? new Message(validatedData.replyToMessage).toJSON() : null,
|
|
23
|
+
status: validatedData.status,
|
|
24
|
+
info: validatedData.info ? new Info(validatedData.info).toJSON() : null,
|
|
25
|
+
location: validatedData.location ? new Location(validatedData.location).toJSON() : null,
|
|
26
|
+
externalInfo: validatedData.externalInfo ? new ExternalInfo(validatedData.externalInfo).toJSON() : null,
|
|
27
|
+
layout: validatedData.layout,
|
|
28
|
+
action: validatedData.action ? new Action(validatedData.action).toJSON() : null,
|
|
29
|
+
meta: validatedData.meta,
|
|
30
|
+
contentType: validatedData.contentType,
|
|
31
|
+
fullContentURL: validatedData.fullContentURL,
|
|
32
|
+
attachment: validatedData.attachment ? new Attachment(validatedData.attachment).toJSON() : null,
|
|
33
|
+
template: validatedData.template,
|
|
34
|
+
type: validatedData.type,
|
|
35
|
+
isRead: validatedData.isRead,
|
|
36
|
+
article: validatedData.article
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
toJSON() {
|
|
41
|
+
return { ...this.data
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
@@ -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,35 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { SessionSchema } from "../../schema";
|
|
3
|
+
import { Actor } from "../Actor";
|
|
4
|
+
export default class Session {
|
|
5
|
+
constructor() {
|
|
6
|
+
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
|
+
const validatedData = validateSchema(SessionSchema, data);
|
|
8
|
+
this.data = {
|
|
9
|
+
channelId: validatedData.channelId,
|
|
10
|
+
status: validatedData.status,
|
|
11
|
+
createdTime: validatedData.createdTime,
|
|
12
|
+
agentId: validatedData.agentId,
|
|
13
|
+
botId: validatedData.botId,
|
|
14
|
+
actor: new Actor(validatedData.actor).toJSON(),
|
|
15
|
+
subject: validatedData.subject,
|
|
16
|
+
messagesCount: validatedData.messagesCount,
|
|
17
|
+
agentLastActiveTime: validatedData.agentLastActiveTime,
|
|
18
|
+
contactLastActiveTime: validatedData.contactLastActiveTime,
|
|
19
|
+
lastActiveTime: validatedData.lastActiveTime,
|
|
20
|
+
unreadMessagesCount: validatedData.unreadMessagesCount,
|
|
21
|
+
integrationServiceId: validatedData.integrationServiceId,
|
|
22
|
+
replyStatus: validatedData.replyStatus,
|
|
23
|
+
id: validatedData.id,
|
|
24
|
+
contactId: validatedData.contactId,
|
|
25
|
+
meta: validatedData.meta,
|
|
26
|
+
assignee: validatedData.assignee ? new Actor(validatedData.assignee).toJSON() : null
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
toJSON() {
|
|
31
|
+
return { ...this.data
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
}
|