@zohoim/client-sdk 0.0.1
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 +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/ValidationError.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 +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 -0
- package/es/domain/entities/Agent/Agent.js +26 -0
- package/es/domain/entities/Agent/index.js +2 -0
- 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 -0
- 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 +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 -0
- 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 +17 -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.html +25 -0
- package/es/index.js +12 -0
- 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 +14 -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 +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 +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 +49 -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 +36 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import RequestBuilder from "../RequestBuilder";
|
|
2
|
+
|
|
3
|
+
function searchMessagesRequest() {
|
|
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
|
+
searchStr: null,
|
|
11
|
+
channelId: null,
|
|
12
|
+
agentId: null,
|
|
13
|
+
botId: null,
|
|
14
|
+
contactId: null,
|
|
15
|
+
sessionId: null,
|
|
16
|
+
sortBy: null,
|
|
17
|
+
workSpaceId: null,
|
|
18
|
+
...query
|
|
19
|
+
}).build();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default searchMessagesRequest;
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { validateSchema } from "../../../core/utils";
|
|
2
|
+
import { AgentSchema } from "../../schema";
|
|
3
|
+
export default class Agent {
|
|
4
|
+
constructor() {
|
|
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
|
+
firstName: validatedData.firstName,
|
|
10
|
+
lastName: validatedData.lastName,
|
|
11
|
+
email: validatedData.email,
|
|
12
|
+
photoURL: validatedData.photoURL || null,
|
|
13
|
+
zuid: validatedData.zuid,
|
|
14
|
+
role: validatedData.role,
|
|
15
|
+
status: validatedData.status,
|
|
16
|
+
type: validatedData.type,
|
|
17
|
+
name: validatedData.name
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
toJSON() {
|
|
22
|
+
return { ...this.data
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
@@ -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 || null,
|
|
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
|
+
}
|
|
@@ -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;
|