@zohoim/client-sdk 1.0.0-poc88 → 1.0.0-poc89
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/messages/MessageService.js +5 -0
- package/es/domain/dto/messages/getMessageRequest.js +14 -0
- package/es/domain/dto/messages/index.js +1 -0
- package/es/domain/dto/messages/initiateSessionRequest.js +1 -0
- package/es/domain/dto/messages/sendAttachmentRequest.js +0 -1
- package/es/domain/dto/messages/sendMessageRequest.js +2 -0
- package/es/domain/dto/sessions/markSessionAsReadRequest.js +5 -1
- package/es/domain/entities/Actor/Actor.js +5 -1
- package/es/domain/entities/Message/Action.js +4 -0
- package/es/domain/entities/Message/ExternalInfo.js +9 -0
- package/es/domain/entities/Message/Info.js +12 -0
- package/es/domain/entities/Message/Message.js +34 -1
- package/es/domain/entities/Session/Session.js +22 -2
- package/es/domain/enum/message/MessageType.js +5 -1
- package/es/domain/interfaces/repositories/messages/IMessageRepository.js +6 -1
- package/es/domain/schema/message/MessageSchema.js +4 -0
- package/es/infrastructure/api/BaseAPI.js +9 -56
- package/es/infrastructure/api/UrlBuilder.js +53 -0
- package/es/infrastructure/api/messages/MessageAPI.js +11 -1
- package/es/infrastructure/api/registry/messages/messageAPIRegistry.js +6 -1
- package/es/infrastructure/repositories/messages/MessageRepository.js +8 -0
- package/package.json +1 -1
|
@@ -12,6 +12,10 @@ export default class MessageService extends IMessageRepository {
|
|
|
12
12
|
return this.messageRepository.getMessages(request);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
async getMessage(request) {
|
|
16
|
+
return this.messageRepository.getMessage(request);
|
|
17
|
+
}
|
|
18
|
+
|
|
15
19
|
async getFullContent(request) {
|
|
16
20
|
return this.messageRepository.getFullContent(request);
|
|
17
21
|
}
|
|
@@ -43,6 +47,7 @@ export default class MessageService extends IMessageRepository {
|
|
|
43
47
|
toJSON() {
|
|
44
48
|
return {
|
|
45
49
|
getMessages: this.getMessages.bind(this),
|
|
50
|
+
getMessage: this.getMessage.bind(this),
|
|
46
51
|
getFullContent: this.getFullContent.bind(this),
|
|
47
52
|
sendMessage: this.sendMessage.bind(this),
|
|
48
53
|
sendAttachment: this.sendAttachment.bind(this),
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import RequestBuilder from '../RequestBuilder';
|
|
2
|
+
|
|
3
|
+
function getMessageRequest() {
|
|
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 getMessageRequest;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as getMessagesRequest } from './getMessagesRequest';
|
|
2
|
+
export { default as getMessageRequest } from './getMessageRequest';
|
|
2
3
|
export { default as deleteMessageRequest } from './deleteMessageRequest';
|
|
3
4
|
export { default as getFullContentRequest } from './getFullContentRequest';
|
|
4
5
|
export { default as resendMessageRequest } from './resendMessageRequest';
|
|
@@ -2,11 +2,15 @@ import RequestBuilder from '../RequestBuilder';
|
|
|
2
2
|
|
|
3
3
|
function markSessionAsReadRequest() {
|
|
4
4
|
let {
|
|
5
|
-
body = {}
|
|
5
|
+
body = {},
|
|
6
|
+
params = {}
|
|
6
7
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7
8
|
return new RequestBuilder().withBody({
|
|
8
9
|
lastSeenMessageId: null,
|
|
9
10
|
...body
|
|
11
|
+
}).withParams({
|
|
12
|
+
sessionId: null,
|
|
13
|
+
...params
|
|
10
14
|
}).build();
|
|
11
15
|
}
|
|
12
16
|
|
|
@@ -21,10 +21,14 @@ export default class Actor {
|
|
|
21
21
|
return type === ActorType.BOT;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
static
|
|
24
|
+
static isEnduser(type) {
|
|
25
25
|
return type === ActorType.ENDUSER;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
static isSystemMessage(type) {
|
|
29
|
+
return type === ActorType.SYSTEM;
|
|
30
|
+
}
|
|
31
|
+
|
|
28
32
|
toJSON() {
|
|
29
33
|
return { ...this.data
|
|
30
34
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { validateSchema } from '../../../core/utils';
|
|
2
|
+
import { ExternalInfoAction } from '../../enum';
|
|
2
3
|
import { ExternalInfoSchema } from '../../schema';
|
|
3
4
|
export default class ExternalInfo {
|
|
4
5
|
constructor() {
|
|
@@ -9,6 +10,14 @@ export default class ExternalInfo {
|
|
|
9
10
|
};
|
|
10
11
|
}
|
|
11
12
|
|
|
13
|
+
static isGCConversationEnded(action) {
|
|
14
|
+
return action === ExternalInfoAction.GC_CONVERSATION_ENDED;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static isZIAConversationEnded(action) {
|
|
18
|
+
return action === ExternalInfoAction.ZIA_CONVERSATION_ENDED;
|
|
19
|
+
}
|
|
20
|
+
|
|
12
21
|
toJSON() {
|
|
13
22
|
return { ...this.data
|
|
14
23
|
};
|
|
@@ -24,6 +24,18 @@ export default class Info {
|
|
|
24
24
|
return info && info.action === InfoAction.CHAT_TRANSFER;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
static isChatTransfer(action) {
|
|
28
|
+
return action === InfoAction.CHAT_TRANSFER;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static isAutoAssign(action) {
|
|
32
|
+
return action === InfoAction.CHAT_AUTO_ASSIGN;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static isEndSession(action) {
|
|
36
|
+
return action === InfoAction.END_SESSION;
|
|
37
|
+
}
|
|
38
|
+
|
|
27
39
|
toJSON() {
|
|
28
40
|
return { ...this.data
|
|
29
41
|
};
|
|
@@ -34,7 +34,8 @@ export default class Message {
|
|
|
34
34
|
template: validatedData.template,
|
|
35
35
|
type: validatedData.type,
|
|
36
36
|
isRead: validatedData.isRead,
|
|
37
|
-
article: validatedData.article
|
|
37
|
+
article: validatedData.article,
|
|
38
|
+
webUrl: validatedData.webUrl
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
|
|
@@ -58,10 +59,18 @@ export default class Message {
|
|
|
58
59
|
return type === MessageTypes.INFO;
|
|
59
60
|
}
|
|
60
61
|
|
|
62
|
+
static isExternalInfo(type) {
|
|
63
|
+
return type === MessageTypes.EXTERNAL_INFO;
|
|
64
|
+
}
|
|
65
|
+
|
|
61
66
|
static isAttachment(type) {
|
|
62
67
|
return type === MessageTypes.ATTACHMENT;
|
|
63
68
|
}
|
|
64
69
|
|
|
70
|
+
static isTemplate(type) {
|
|
71
|
+
return type === MessageTypes.TEMPLATE;
|
|
72
|
+
}
|
|
73
|
+
|
|
65
74
|
static isActionMessage(type) {
|
|
66
75
|
return type === MessageTypes.ACTION;
|
|
67
76
|
}
|
|
@@ -70,6 +79,30 @@ export default class Message {
|
|
|
70
79
|
return !!systemMsgType;
|
|
71
80
|
}
|
|
72
81
|
|
|
82
|
+
static isSystemMessage(message) {
|
|
83
|
+
return !!message;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
static isHapinessRating(systemMessageType) {
|
|
87
|
+
return systemMessageType === MessageTypes.CX_HAPPINESS_SURVEY;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static isWelcomeMessage(systemMessageType) {
|
|
91
|
+
return systemMessageType === MessageTypes.WELCOMEMSG;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
static isWorkflowMessage(systemMessageType) {
|
|
95
|
+
return systemMessageType === MessageTypes.WORKFLOW_MESSAGE;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
static isWorkflowNotification(systemMessageType) {
|
|
99
|
+
return systemMessageType === MessageTypes.WORKFLOW_NOTIFICATION;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static isFailed(status) {
|
|
103
|
+
return status === MessageStatus.FAILED;
|
|
104
|
+
}
|
|
105
|
+
|
|
73
106
|
static getMetaValue() {
|
|
74
107
|
let meta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
75
108
|
let key = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -36,18 +36,38 @@ export default class Session {
|
|
|
36
36
|
return sessionStatus === SessionStatus.BLOCKED;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
static
|
|
40
|
-
return
|
|
39
|
+
static isOnProgress(sessionStatus) {
|
|
40
|
+
return sessionStatus === SessionStatus.ON_PROGRESS;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static isHold(sessionStatus) {
|
|
44
|
+
return sessionStatus === SessionStatus.ON_HOLD;
|
|
41
45
|
}
|
|
42
46
|
|
|
43
47
|
static isOpen(sessionStatus) {
|
|
44
48
|
return sessionStatus === SessionStatus.OPEN;
|
|
45
49
|
}
|
|
46
50
|
|
|
51
|
+
static isInactiveChannel(replyStatus) {
|
|
52
|
+
return replyStatus === SessionReplyStatus.CHANNEL_INACTIVE;
|
|
53
|
+
}
|
|
54
|
+
|
|
47
55
|
static isCreated(sessionStatus) {
|
|
48
56
|
return sessionStatus === SessionStatus.CREATED;
|
|
49
57
|
}
|
|
50
58
|
|
|
59
|
+
static isChannelDeleted(replyStatus) {
|
|
60
|
+
return replyStatus === SessionReplyStatus.CHANNEL_DELETED;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static isReplyAccepted(replyStatus) {
|
|
64
|
+
return replyStatus === SessionReplyStatus.ACCEPTED;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static isEndUserOffline(replyStatus) {
|
|
68
|
+
return replyStatus === SessionReplyStatus.ENDUSER_OFFLINE;
|
|
69
|
+
}
|
|
70
|
+
|
|
51
71
|
static isAssignedToOtherService(replyStatus) {
|
|
52
72
|
return replyStatus === SessionReplyStatus.ASSIGNED_TO_OTHER_SERVICE;
|
|
53
73
|
}
|
|
@@ -6,6 +6,10 @@ const MessageTypes = {
|
|
|
6
6
|
LAYOUT: 'LAYOUT',
|
|
7
7
|
EXTERNAL_INFO: 'EXTERNAL_INFO',
|
|
8
8
|
TEMPLATE: 'TEMPLATE',
|
|
9
|
-
ACTION: 'ACTION'
|
|
9
|
+
ACTION: 'ACTION',
|
|
10
|
+
WELCOMEMSG: 'WELCOMEMSG',
|
|
11
|
+
WORKFLOW_MESSAGE: 'WORKFLOW_MESSAGE',
|
|
12
|
+
WORKFLOW_NOTIFICATION: 'WORKFLOW_NOTIFICATION',
|
|
13
|
+
CX_HAPPINESS_SURVEY: 'CX_HAPPINESS_SURVEY'
|
|
10
14
|
};
|
|
11
15
|
export default MessageTypes;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
|
2
2
|
import { ModuleNames } from '../../../../core/constants';
|
|
3
3
|
import BaseAPI from '../../../../infrastructure/api/BaseAPI';
|
|
4
|
-
import { getMessagesRequest, deleteMessageRequest, getFullContentRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, initiateSessionRequest, searchMessagesRequest } from '../../../dto';
|
|
4
|
+
import { getMessagesRequest, getMessageRequest, deleteMessageRequest, getFullContentRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, initiateSessionRequest, searchMessagesRequest } from '../../../dto';
|
|
5
5
|
export default class IMessageRepository extends BaseAPI {
|
|
6
6
|
constructor() {
|
|
7
7
|
super({
|
|
@@ -14,6 +14,11 @@ export default class IMessageRepository extends BaseAPI {
|
|
|
14
14
|
throw new Error('Method not implemented.');
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
getMessage() {
|
|
18
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getMessageRequest();
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
|
|
17
22
|
getFullContent() {
|
|
18
23
|
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getFullContentRequest();
|
|
19
24
|
throw new Error('Method not implemented.');
|
|
@@ -2,6 +2,7 @@ import { ResponseTypes } from '../../core/constants';
|
|
|
2
2
|
import { ResponseUtils } from '../../core/utils';
|
|
3
3
|
import configRegistry from '../config/configRegistry';
|
|
4
4
|
import { getRegistryConfig } from './registry';
|
|
5
|
+
import UrlBuilder from './UrlBuilder';
|
|
5
6
|
export default class BaseAPI {
|
|
6
7
|
constructor() {
|
|
7
8
|
let {
|
|
@@ -9,78 +10,30 @@ export default class BaseAPI {
|
|
|
9
10
|
configProvider = configRegistry,
|
|
10
11
|
registryProvider = {
|
|
11
12
|
getRegistryConfig
|
|
12
|
-
}
|
|
13
|
+
},
|
|
14
|
+
urlBuilder = new UrlBuilder()
|
|
13
15
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
14
16
|
this.configProvider = configProvider;
|
|
15
17
|
this.registryProvider = registryProvider;
|
|
16
18
|
this.httpClient = this.configProvider.getHttpClient();
|
|
17
19
|
this.baseURL = this.configProvider.getBaseURL();
|
|
18
20
|
this.module = module;
|
|
21
|
+
this.urlBuilder = urlBuilder;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
let _url = url;
|
|
23
|
-
Object.entries(params).forEach(_ref => {
|
|
24
|
-
let [key, value] = _ref;
|
|
25
|
-
_url = url.replace(`:${key}`, value);
|
|
26
|
-
});
|
|
27
|
-
return _url;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
buildUrl(_ref2) {
|
|
31
|
-
let {
|
|
32
|
-
url,
|
|
33
|
-
params,
|
|
34
|
-
query
|
|
35
|
-
} = _ref2;
|
|
36
|
-
|
|
37
|
-
const _params = params || {};
|
|
38
|
-
|
|
39
|
-
const _query = query || {};
|
|
40
|
-
|
|
41
|
-
let _url = this.replacePathParams(url, _params);
|
|
42
|
-
|
|
43
|
-
if (this.baseURL) {
|
|
44
|
-
_url = `${this.baseURL}${_url}`;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const queryString = this.buildQuery(_query);
|
|
48
|
-
|
|
49
|
-
if (queryString) {
|
|
50
|
-
return `${_url}?${queryString}`;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return _url;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
buildQuery(query) {
|
|
57
|
-
const filteredQuery = Object.entries(query).filter(_ref3 => {
|
|
58
|
-
let [, value] = _ref3;
|
|
59
|
-
return value !== undefined && value !== null && value !== '';
|
|
60
|
-
}).reduce((acc, _ref4) => {
|
|
61
|
-
let [key, value] = _ref4;
|
|
62
|
-
acc[key] = value;
|
|
63
|
-
return acc;
|
|
64
|
-
}, {});
|
|
65
|
-
return Object.entries(filteredQuery).map(_ref5 => {
|
|
66
|
-
let [key, value] = _ref5;
|
|
67
|
-
return `${key}=${value}`;
|
|
68
|
-
}).join('&');
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
async request(_ref6) {
|
|
24
|
+
async request(_ref) {
|
|
72
25
|
let {
|
|
73
26
|
request,
|
|
74
27
|
operation,
|
|
75
28
|
header
|
|
76
|
-
} =
|
|
29
|
+
} = _ref;
|
|
77
30
|
const config = this.registryProvider.getRegistryConfig(this.module, operation);
|
|
78
31
|
|
|
79
32
|
if (!config) {
|
|
80
33
|
throw new Error(`Operation "${operation}" not found in registry for module "${this.module}"`);
|
|
81
34
|
}
|
|
82
35
|
|
|
83
|
-
const url = this.buildUrl({
|
|
36
|
+
const url = this.urlBuilder.buildUrl({
|
|
84
37
|
url: config.endpoint,
|
|
85
38
|
params: request.params || {},
|
|
86
39
|
query: request.query || {}
|
|
@@ -125,7 +78,7 @@ export default class BaseAPI {
|
|
|
125
78
|
Object.prototype.hasOwnProperty.call(customPrototype, methodName);
|
|
126
79
|
}
|
|
127
80
|
|
|
128
|
-
async executeAPICall(
|
|
81
|
+
async executeAPICall(_ref2) {
|
|
129
82
|
let {
|
|
130
83
|
operation,
|
|
131
84
|
request,
|
|
@@ -133,7 +86,7 @@ export default class BaseAPI {
|
|
|
133
86
|
customAPI,
|
|
134
87
|
adapter,
|
|
135
88
|
responseType = ResponseTypes.SINGLE
|
|
136
|
-
} =
|
|
89
|
+
} = _ref2;
|
|
137
90
|
const response = await apiProxy[operation](request);
|
|
138
91
|
const isOverridden = this.isMethodOverridden(customAPI, operation);
|
|
139
92
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export default class UrlBuilder {
|
|
2
|
+
constructor(baseURL) {
|
|
3
|
+
this.baseURL = baseURL;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
replacePathParams(url, params) {
|
|
7
|
+
let processedUrl = url;
|
|
8
|
+
Object.entries(params).forEach(_ref => {
|
|
9
|
+
let [key, value] = _ref;
|
|
10
|
+
processedUrl = processedUrl.replace(`:${key}`, value);
|
|
11
|
+
});
|
|
12
|
+
return processedUrl;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
buildUrl(_ref2) {
|
|
16
|
+
let {
|
|
17
|
+
url,
|
|
18
|
+
params,
|
|
19
|
+
query
|
|
20
|
+
} = _ref2;
|
|
21
|
+
const paramsObj = params || {};
|
|
22
|
+
const queryObj = query || {};
|
|
23
|
+
let processedUrl = this.replacePathParams(url, paramsObj);
|
|
24
|
+
|
|
25
|
+
if (this.baseURL) {
|
|
26
|
+
processedUrl = `${this.baseURL}${processedUrl}`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const queryString = this.buildQuery(queryObj);
|
|
30
|
+
|
|
31
|
+
if (queryString) {
|
|
32
|
+
return `${processedUrl}?${queryString}`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return processedUrl;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
buildQuery(query) {
|
|
39
|
+
const filteredQuery = Object.entries(query).filter(_ref3 => {
|
|
40
|
+
let [, value] = _ref3;
|
|
41
|
+
return value !== undefined && value !== null && value !== '';
|
|
42
|
+
}).reduce((acc, _ref4) => {
|
|
43
|
+
let [key, value] = _ref4;
|
|
44
|
+
acc[key] = value;
|
|
45
|
+
return acc;
|
|
46
|
+
}, {});
|
|
47
|
+
return Object.entries(filteredQuery).map(_ref5 => {
|
|
48
|
+
let [key, value] = _ref5;
|
|
49
|
+
return `${key}=${value}`;
|
|
50
|
+
}).join('&');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getMessagesRequest, deleteMessageRequest, getFullContentRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, initiateSessionRequest, searchMessagesRequest } from '../../../domain/dto';
|
|
1
|
+
import { getMessagesRequest, deleteMessageRequest, getFullContentRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, initiateSessionRequest, searchMessagesRequest, getMessageRequest } from '../../../domain/dto';
|
|
2
2
|
import { IMessageRepository } from '../../../domain/interfaces/repositories';
|
|
3
3
|
export default class MessageAPI extends IMessageRepository {
|
|
4
4
|
async getMessages() {
|
|
@@ -11,6 +11,16 @@ export default class MessageAPI extends IMessageRepository {
|
|
|
11
11
|
return httpRequest;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
async getMessage() {
|
|
15
|
+
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getMessageRequest();
|
|
16
|
+
const operation = 'getMessage';
|
|
17
|
+
const httpRequest = await this.request({
|
|
18
|
+
operation,
|
|
19
|
+
request
|
|
20
|
+
});
|
|
21
|
+
return httpRequest;
|
|
22
|
+
}
|
|
23
|
+
|
|
14
24
|
async getFullContent() {
|
|
15
25
|
let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getFullContentRequest();
|
|
16
26
|
const operation = 'getFullContent';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTTP_METHODS } from '../../../../core/constants';
|
|
2
|
-
import { deleteMessageRequest, getFullContentRequest, getMessagesRequest, initiateSessionRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, searchMessagesRequest } from '../../../../domain/dto';
|
|
2
|
+
import { deleteMessageRequest, getFullContentRequest, getMessagesRequest, initiateSessionRequest, resendMessageRequest, sendAttachmentRequest, sendMessageRequest, searchMessagesRequest, getMessageRequest } from '../../../../domain/dto';
|
|
3
3
|
import constructChannelEndPoint from '../channels/constructChannelEndPoint';
|
|
4
4
|
import constructMessageEndPoint from './constructMessageEndPoint';
|
|
5
5
|
import createAPIRegistry from '../createAPIRegistry';
|
|
@@ -17,6 +17,10 @@ function getMessages() {
|
|
|
17
17
|
return createAPIRegistry(constructMessageEndPoint(MESSAGES_URL), HTTP_METHODS.GET, getMessagesRequest());
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
function getMessage() {
|
|
21
|
+
return createAPIRegistry(constructMessageEndPoint(SINGLE_MESSAGE_URL), HTTP_METHODS.GET, getMessageRequest());
|
|
22
|
+
}
|
|
23
|
+
|
|
20
24
|
function getFullContent() {
|
|
21
25
|
return createAPIRegistry(constructMessageEndPoint(FULL_CONTENT_URL), HTTP_METHODS.GET, getFullContentRequest());
|
|
22
26
|
}
|
|
@@ -47,6 +51,7 @@ function searchMessages() {
|
|
|
47
51
|
|
|
48
52
|
export default {
|
|
49
53
|
getMessages,
|
|
54
|
+
getMessage,
|
|
50
55
|
getFullContent,
|
|
51
56
|
sendMessage,
|
|
52
57
|
sendAttachment,
|
|
@@ -43,6 +43,13 @@ export default class MessageRepository extends IMessageRepository {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
async getMessage(request) {
|
|
47
|
+
return this.invokeAPI({
|
|
48
|
+
operation: 'getMessage',
|
|
49
|
+
request
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
46
53
|
async getFullContent(request) {
|
|
47
54
|
return this.invokeAPI({
|
|
48
55
|
operation: 'getFullContent',
|
|
@@ -98,6 +105,7 @@ export default class MessageRepository extends IMessageRepository {
|
|
|
98
105
|
toJSON() {
|
|
99
106
|
return {
|
|
100
107
|
getMessages: this.getMessages.bind(this),
|
|
108
|
+
getMessage: this.getMessage.bind(this),
|
|
101
109
|
getFullContent: this.getFullContent.bind(this),
|
|
102
110
|
sendMessage: this.sendMessage.bind(this),
|
|
103
111
|
sendAttachment: this.sendAttachment.bind(this),
|