@zohoim/client-sdk 1.0.0-poc49 → 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/contacts/ContactService.js +26 -0
- package/es/application/services/contacts/index.js +2 -0
- package/es/application/services/index.js +4 -1
- 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 +31 -1
- package/es/core/constants/ModuleNames.js +4 -1
- package/es/domain/dto/agents/getAgentsRequest.js +12 -0
- package/es/domain/dto/agents/index.js +1 -0
- package/es/domain/dto/bots/index.js +1 -2
- package/es/domain/dto/channels/agents/index.js +1 -2
- 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 +4 -1
- 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 -2
- package/es/domain/dto/sessions/markSessionAsReadRequest.js +13 -0
- package/es/domain/dto/sessions/updateSessionStatusRequest.js +17 -0
- package/es/domain/entities/Attachment/Attachment.js +22 -0
- package/es/domain/entities/Attachment/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/index.js +4 -1
- package/es/domain/enum/actor/ActorType.js +2 -1
- package/es/domain/enum/index.js +2 -1
- 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/interfaces/repositories/agents/IAgentRepository.js +9 -0
- package/es/domain/interfaces/repositories/agents/index.js +2 -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 +4 -1
- 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 +32 -2
- package/es/domain/schema/attachment/AttachmentSchema.js +27 -0
- package/es/domain/schema/attachment/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 +4 -1
- 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/frameworks/managers/ModuleFactory.js +27 -0
- package/es/frameworks/managers/ModuleManager.js +1 -1
- package/es/frameworks/sdk/IMSDK.js +15 -0
- package/es/frameworks/sdk/agents/AgentSDK.js +30 -0
- package/es/frameworks/sdk/agents/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/messages/MessageSDK.js +32 -0
- package/es/frameworks/sdk/messages/index.js +2 -0
- package/es/frameworks/sdk/sessions/SessionSDK.js +6 -2
- 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/contacts/contactAdapter.js +24 -0
- package/es/infrastructure/adapters/contacts/index.js +2 -0
- package/es/infrastructure/adapters/index.js +5 -1
- 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/api/agents/AgentAPI.js +21 -0
- package/es/infrastructure/api/agents/index.js +2 -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 +4 -1
- 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/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/getRegistryConfig.js +7 -1
- 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/sessionAPIRegistry.js +37 -3
- package/es/infrastructure/api/sessions/SessionAPI.js +61 -1
- package/es/infrastructure/repositories/agents/AgentRepository.js +27 -0
- package/es/infrastructure/repositories/agents/index.js +2 -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 +4 -1
- 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 +43 -3
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModuleNames } from "../../../core/constants";
|
|
2
|
-
import { updateSessionAssigneeRequest } from "../../../domain/dto";
|
|
2
|
+
import { updateSessionAssigneeRequest, getSessionsRequest, getSessionRequest, getSessionAttachmentsRequest, getSessionLastMessagesRequest, markSessionAsReadRequest, updateSessionStatusRequest } from "../../../domain/dto";
|
|
3
3
|
import BaseAPI from "../BaseAPI";
|
|
4
4
|
export default class SessionAPI extends BaseAPI {
|
|
5
5
|
constructor() {
|
|
@@ -18,4 +18,64 @@ export default class SessionAPI extends BaseAPI {
|
|
|
18
18
|
return httpRequest;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
async getSessions() {
|
|
22
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionsRequest();
|
|
23
|
+
const operation = 'getSessions';
|
|
24
|
+
const httpRequest = await this.request({
|
|
25
|
+
request,
|
|
26
|
+
operation
|
|
27
|
+
});
|
|
28
|
+
return httpRequest;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async getSession() {
|
|
32
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionRequest();
|
|
33
|
+
const operation = 'getSession';
|
|
34
|
+
const httpRequest = await this.request({
|
|
35
|
+
request,
|
|
36
|
+
operation
|
|
37
|
+
});
|
|
38
|
+
return httpRequest;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async getSessionAttachments() {
|
|
42
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionAttachmentsRequest();
|
|
43
|
+
const operation = 'getSessionAttachments';
|
|
44
|
+
const httpRequest = await this.request({
|
|
45
|
+
request,
|
|
46
|
+
operation
|
|
47
|
+
});
|
|
48
|
+
return httpRequest;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async getSessionLastMessages() {
|
|
52
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getSessionLastMessagesRequest();
|
|
53
|
+
const operation = 'getSessionLastMessages';
|
|
54
|
+
const httpRequest = await this.request({
|
|
55
|
+
request,
|
|
56
|
+
operation
|
|
57
|
+
});
|
|
58
|
+
return httpRequest;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async markSessionAsRead() {
|
|
62
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : markSessionAsReadRequest();
|
|
63
|
+
const operation = 'markSessionAsRead';
|
|
64
|
+
const httpRequest = await this.request({
|
|
65
|
+
request,
|
|
66
|
+
operation
|
|
67
|
+
});
|
|
68
|
+
return httpRequest;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async updateSessionStatus() {
|
|
72
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateSessionStatusRequest();
|
|
73
|
+
const operation = 'updateSessionStatus';
|
|
74
|
+
const httpRequest = await this.request({
|
|
75
|
+
request,
|
|
76
|
+
operation
|
|
77
|
+
});
|
|
78
|
+
return httpRequest;
|
|
79
|
+
}
|
|
80
|
+
|
|
21
81
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ResponseUtils } from "../../../core/utils";
|
|
2
|
+
import { IAgentRepository } from "../../../domain/interfaces/repositories";
|
|
3
|
+
import { AgentAdapter } from "../../adapters";
|
|
4
|
+
import { AgentAPI } from "../../api";
|
|
5
|
+
export default class AgentRepository extends IAgentRepository {
|
|
6
|
+
constructor(_ref) {
|
|
7
|
+
let {
|
|
8
|
+
agentAPI,
|
|
9
|
+
agentAdapter
|
|
10
|
+
} = _ref;
|
|
11
|
+
super();
|
|
12
|
+
this.agentAPI = agentAPI || new AgentAPI();
|
|
13
|
+
this.agentAdapter = agentAdapter || new AgentAdapter();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async getAgents(request) {
|
|
17
|
+
const response = await this.agentAPI.getAgents(request);
|
|
18
|
+
return ResponseUtils.adaptListResponse(response, this.agentAdapter.adapt);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
toJSON() {
|
|
22
|
+
return {
|
|
23
|
+
getAgents: this.getAgents.bind(this)
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ResponseUtils } from "../../../core/utils";
|
|
2
|
+
import { IContactRepository } from "../../../domain/interfaces/repositories";
|
|
3
|
+
import { ContactAdapter } from "../../adapters";
|
|
4
|
+
import { ContactAPI } from "../../api";
|
|
5
|
+
export default class ContactRepository extends IContactRepository {
|
|
6
|
+
constructor(_ref) {
|
|
7
|
+
let {
|
|
8
|
+
contactAPI,
|
|
9
|
+
contactAdapter
|
|
10
|
+
} = _ref;
|
|
11
|
+
super();
|
|
12
|
+
this.contactAPI = contactAPI || new ContactAPI();
|
|
13
|
+
this.contactAdapter = contactAdapter || new ContactAdapter();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async getContacts(request) {
|
|
17
|
+
const response = await this.contactAPI.getContacts(request);
|
|
18
|
+
return ResponseUtils.adaptListResponse(response, this.contactAdapter.adapt);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async searchContacts(request) {
|
|
22
|
+
const response = await this.contactAPI.searchContacts(request);
|
|
23
|
+
return ResponseUtils.adaptListResponse(response, this.contactAdapter.adapt);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
toJSON() {
|
|
27
|
+
return {
|
|
28
|
+
getContacts: this.getContacts.bind(this),
|
|
29
|
+
searchContacts: this.searchContacts.bind(this)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { MessageAdapter } from "../../adapters";
|
|
2
|
+
import { ResponseUtils } from "../../../core/utils";
|
|
3
|
+
import { MessageAPI } from "../../api";
|
|
4
|
+
import { IMessageRepository } from "../../../domain/interfaces/repositories/messages";
|
|
5
|
+
import MessageWithSessionAdapter from "../../adapters/message/MessageWithSessionAdapter";
|
|
6
|
+
export default class MessageRepository extends IMessageRepository {
|
|
7
|
+
constructor(_ref) {
|
|
8
|
+
let {
|
|
9
|
+
messageAPI,
|
|
10
|
+
messageAdapter,
|
|
11
|
+
messageWithSessionAdapter
|
|
12
|
+
} = _ref;
|
|
13
|
+
super();
|
|
14
|
+
this.messageAPI = messageAPI || new MessageAPI();
|
|
15
|
+
this.messageAdapter = messageAdapter || new MessageAdapter();
|
|
16
|
+
this.messageWithSessionAdapter = messageWithSessionAdapter || new MessageWithSessionAdapter();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
async getMessages(request) {
|
|
20
|
+
const response = await this.messageAPI.getMessages(request);
|
|
21
|
+
return ResponseUtils.adaptListResponse(response, this.messageAdapter.adapt);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async getFullContent(request) {
|
|
25
|
+
const response = await this.messageAPI.getFullContent(request);
|
|
26
|
+
return response;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async sendMessage(request) {
|
|
30
|
+
const response = await this.messageAPI.sendMessage(request);
|
|
31
|
+
return ResponseUtils.adaptSingleResponse(response, this.messageAdapter.adapt);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async sendAttachment(request) {
|
|
35
|
+
const response = await this.messageAPI.sendAttachment(request);
|
|
36
|
+
return ResponseUtils.adaptSingleResponse(response, this.messageAdapter.adapt);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async resendMessage(request) {
|
|
40
|
+
const response = await this.messageAPI.resendMessage(request);
|
|
41
|
+
return ResponseUtils.adaptSingleResponse(response, this.messageAdapter.adapt);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async deleteMessage(request) {
|
|
45
|
+
const response = await this.messageAPI.deleteMessage(request);
|
|
46
|
+
return ResponseUtils.adaptSingleResponse(response, this.messageAdapter.adapt);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async initiateSession(request) {
|
|
50
|
+
const response = await this.messageAPI.initiateSession(request);
|
|
51
|
+
return ResponseUtils.adaptSingleResponse(response, this.messageAdapter.adapt);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
async getSearchedMessages(request) {
|
|
55
|
+
const response = await this.messageAPI.getSearchedMessages(request);
|
|
56
|
+
return ResponseUtils.adaptListResponse(response, this.messageWithSessionAdapter.adapt);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
toJSON() {
|
|
60
|
+
return {
|
|
61
|
+
getMessages: this.getMessages.bind(this),
|
|
62
|
+
getFullContent: this.getFullContent.bind(this),
|
|
63
|
+
sendMessage: this.sendMessage.bind(this),
|
|
64
|
+
sendAttachment: this.sendAttachment.bind(this),
|
|
65
|
+
resendMessage: this.resendMessage.bind(this),
|
|
66
|
+
deleteMessage: this.deleteMessage.bind(this),
|
|
67
|
+
initiateSession: this.initiateSession.bind(this),
|
|
68
|
+
getSearchedMessages: this.getSearchedMessages.bind(this)
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
+
import { AttachmentAdapter, MessageAdapter, SessionAdapter } from "../../adapters/index";
|
|
1
2
|
import { ResponseUtils } from "../../../core/utils";
|
|
2
3
|
import { ISessionRepository } from "../../../domain/interfaces/repositories";
|
|
3
|
-
import { SessionAdapter } from "../../adapters";
|
|
4
4
|
import { SessionAPI } from "../../api";
|
|
5
5
|
export default class SessionRepository extends ISessionRepository {
|
|
6
6
|
constructor(_ref) {
|
|
7
7
|
let {
|
|
8
8
|
sessionAPI,
|
|
9
|
-
sessionAdapter
|
|
9
|
+
sessionAdapter,
|
|
10
|
+
attachmentAdapter,
|
|
11
|
+
messageAdapter
|
|
10
12
|
} = _ref;
|
|
11
13
|
super();
|
|
12
14
|
this.sessionAPI = sessionAPI || new SessionAPI();
|
|
13
15
|
this.sessionAdapter = sessionAdapter || new SessionAdapter();
|
|
16
|
+
this.attachmentAdapter = attachmentAdapter || new AttachmentAdapter();
|
|
17
|
+
this.messageAdapter = messageAdapter || new MessageAdapter();
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
async updateAssignee(request) {
|
|
@@ -18,9 +22,45 @@ export default class SessionRepository extends ISessionRepository {
|
|
|
18
22
|
return ResponseUtils.adaptSingleResponse(response, this.sessionAdapter.adapt);
|
|
19
23
|
}
|
|
20
24
|
|
|
25
|
+
async getSessions(request) {
|
|
26
|
+
const response = await this.sessionAPI.getSessions(request);
|
|
27
|
+
return ResponseUtils.adaptListResponse(response, this.sessionAdapter.adapt);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async getSession(request) {
|
|
31
|
+
const response = await this.sessionAPI.getSession(request);
|
|
32
|
+
return ResponseUtils.adaptSingleResponse(response, this.sessionAdapter.adapt);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async getSessionAttachments(request) {
|
|
36
|
+
const response = await this.sessionAPI.getSessionAttachments(request);
|
|
37
|
+
return ResponseUtils.adaptListResponse(response, this.attachmentAdapter.adapt);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async getSessionLastMessages(request) {
|
|
41
|
+
const response = await this.sessionAPI.getSessionLastMessages(request);
|
|
42
|
+
return ResponseUtils.adaptListResponse(response, this.messageAdapter.adapt);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async markSessionAsRead(request) {
|
|
46
|
+
const response = await this.sessionAPI.markSessionAsRead(request);
|
|
47
|
+
return ResponseUtils.adaptSingleResponse(response, this.sessionAdapter.adapt);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async updateSessionStatus(request) {
|
|
51
|
+
const response = await this.sessionAPI.updateSessionStatus(request);
|
|
52
|
+
return ResponseUtils.adaptSingleResponse(response, this.sessionAdapter.adapt);
|
|
53
|
+
}
|
|
54
|
+
|
|
21
55
|
toJSON() {
|
|
22
56
|
return {
|
|
23
|
-
updateAssignee: this.updateAssignee.bind(this)
|
|
57
|
+
updateAssignee: this.updateAssignee.bind(this),
|
|
58
|
+
getSessions: this.getSessions.bind(this),
|
|
59
|
+
getSession: this.getSession.bind(this),
|
|
60
|
+
getSessionAttachments: this.getSessionAttachments.bind(this),
|
|
61
|
+
getSessionLastMessages: this.getSessionLastMessages.bind(this),
|
|
62
|
+
markSessionAsRead: this.markSessionAsRead.bind(this),
|
|
63
|
+
updateSessionStatus: this.updateSessionStatus.bind(this)
|
|
24
64
|
};
|
|
25
65
|
}
|
|
26
66
|
|