@zohoim/client-sdk 0.0.5-poc07 → 0.0.6

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.
Files changed (90) hide show
  1. package/es/application/services/cannedMessages/CannedMessageService.js +51 -0
  2. package/es/application/services/cannedMessages/index.js +2 -0
  3. package/es/application/services/index.js +3 -1
  4. package/es/application/services/templateMessages/TemplateMessageService.js +26 -0
  5. package/es/application/services/templateMessages/index.js +2 -0
  6. package/es/core/constants/ModuleNames.js +4 -1
  7. package/es/domain/dto/cannedMessages/createCannedMessageRequest.js +18 -0
  8. package/es/domain/dto/cannedMessages/deleteCannedMessageRequest.js +13 -0
  9. package/es/domain/dto/cannedMessages/disableCannedMessageRequest.js +13 -0
  10. package/es/domain/dto/cannedMessages/enableCannedMessageRequest.js +13 -0
  11. package/es/domain/dto/cannedMessages/getCannedMessageRequest.js +13 -0
  12. package/es/domain/dto/cannedMessages/getCannedMessagesRequest.js +18 -0
  13. package/es/domain/dto/cannedMessages/index.js +7 -0
  14. package/es/domain/dto/cannedMessages/updateCannedMessageRequest.js +20 -0
  15. package/es/domain/dto/index.js +3 -1
  16. package/es/domain/dto/messages/initiateSessionRequest.js +2 -0
  17. package/es/domain/dto/templateMessages/getTemplateCreditExhaustStatusRequest.js +13 -0
  18. package/es/domain/dto/templateMessages/getTemplateLanguagesRequest.js +7 -0
  19. package/es/domain/dto/templateMessages/index.js +2 -0
  20. package/es/domain/entities/CannedMessage/CannedMessage.js +58 -0
  21. package/es/domain/entities/CannedMessage/index.js +2 -0
  22. package/es/domain/entities/CustomReplyExtension/CustomReplyExtension.js +26 -0
  23. package/es/domain/entities/CustomReplyExtension/index.js +2 -0
  24. package/es/domain/entities/TemplateMessage/TemplateCreditExhaustStatus.js +27 -0
  25. package/es/domain/entities/TemplateMessage/TemplateLanguage.js +22 -0
  26. package/es/domain/entities/TemplateMessage/index.js +3 -0
  27. package/es/domain/entities/index.js +4 -1
  28. package/es/domain/enum/cannedMessage/CannedMessageStatus.js +7 -0
  29. package/es/domain/enum/cannedMessage/CannedMessageType.js +5 -0
  30. package/es/domain/enum/cannedMessage/TemplateItemButtonType.js +6 -0
  31. package/es/domain/enum/cannedMessage/TemplateItemFooterType.js +4 -0
  32. package/es/domain/enum/cannedMessage/TemplateItemHeaderType.js +7 -0
  33. package/es/domain/enum/cannedMessage/index.js +6 -0
  34. package/es/domain/enum/index.js +3 -1
  35. package/es/domain/enum/session/SessionReplyStatus.js +4 -1
  36. package/es/domain/enum/templateMessage/TemplateCreditExhaustStatusCode.js +4 -0
  37. package/es/domain/enum/templateMessage/index.js +2 -0
  38. package/es/domain/interfaces/repositories/cannedMessages/ICannedMessageRepository.js +47 -0
  39. package/es/domain/interfaces/repositories/cannedMessages/index.js +2 -0
  40. package/es/domain/interfaces/repositories/index.js +3 -1
  41. package/es/domain/interfaces/repositories/templateMessages/ITemplateMessageRepository.js +21 -0
  42. package/es/domain/interfaces/repositories/templateMessages/index.js +2 -0
  43. package/es/domain/schema/cannedMessage/CannedMessageSchema.js +65 -0
  44. package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemButtonsSchema.js +17 -0
  45. package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemFooterSchema.js +13 -0
  46. package/es/domain/schema/cannedMessage/TemplateItem/TemplateItemHeaderSchema.js +19 -0
  47. package/es/domain/schema/cannedMessage/TemplateItem/index.js +4 -0
  48. package/es/domain/schema/cannedMessage/TemplateItemsSchema.js +21 -0
  49. package/es/domain/schema/cannedMessage/TranslationsSchema.js +43 -0
  50. package/es/domain/schema/cannedMessage/index.js +2 -0
  51. package/es/domain/schema/customReplyExtension/CustomReplyExtensionSchema.js +28 -0
  52. package/es/domain/schema/customReplyExtension/index.js +2 -0
  53. package/es/domain/schema/index.js +4 -1
  54. package/es/domain/schema/templateMessage/TemplateCreditExhaustStatusSchema.js +11 -0
  55. package/es/domain/schema/templateMessage/TemplateLanguageSchema.js +11 -0
  56. package/es/domain/schema/templateMessage/index.js +3 -0
  57. package/es/frameworks/managers/ModuleFactory.js +18 -0
  58. package/es/frameworks/managers/ModuleManager.js +1 -1
  59. package/es/frameworks/sdk/IMSDK.js +10 -0
  60. package/es/frameworks/sdk/cannedMessages/CannedMessageSDK.js +30 -0
  61. package/es/frameworks/sdk/cannedMessages/index.js +2 -0
  62. package/es/frameworks/sdk/templateMessages/TemplateMessageSDK.js +30 -0
  63. package/es/frameworks/sdk/templateMessages/index.js +2 -0
  64. package/es/infrastructure/adapters/cannedMessages/CannedMessageAdapter.js +34 -0
  65. package/es/infrastructure/adapters/cannedMessages/index.js +2 -0
  66. package/es/infrastructure/adapters/customReplyExtension/CustomReplyExtensionAdapter.js +24 -0
  67. package/es/infrastructure/adapters/customReplyExtension/index.js +2 -0
  68. package/es/infrastructure/adapters/index.js +4 -1
  69. package/es/infrastructure/adapters/messages/MessageAdapter.js +5 -1
  70. package/es/infrastructure/adapters/templateMessages/TemplateCreditExhaustStatusAdapter.js +20 -0
  71. package/es/infrastructure/adapters/templateMessages/TemplateLanguageAdapter.js +20 -0
  72. package/es/infrastructure/adapters/templateMessages/index.js +3 -0
  73. package/es/infrastructure/api/cannedMessages/CannedMessageAPI.js +74 -0
  74. package/es/infrastructure/api/cannedMessages/index.js +2 -0
  75. package/es/infrastructure/api/index.js +3 -1
  76. package/es/infrastructure/api/registry/cannedMessages/cannedMessageAPIRegistry.js +42 -0
  77. package/es/infrastructure/api/registry/cannedMessages/constructCannedMessageEndPoint.js +10 -0
  78. package/es/infrastructure/api/registry/cannedMessages/index.js +2 -0
  79. package/es/infrastructure/api/registry/getRegistryConfig.js +5 -1
  80. package/es/infrastructure/api/registry/templateMessages/constructTemplateMessageEndPoint.js +11 -0
  81. package/es/infrastructure/api/registry/templateMessages/index.js +2 -0
  82. package/es/infrastructure/api/registry/templateMessages/templateMessageAPIRegistry.js +18 -0
  83. package/es/infrastructure/api/templateMessages/TemplateMessageAPI.js +24 -0
  84. package/es/infrastructure/api/templateMessages/index.js +2 -0
  85. package/es/infrastructure/repositories/cannedMessages/CannedMessageRepository.js +97 -0
  86. package/es/infrastructure/repositories/cannedMessages/index.js +2 -0
  87. package/es/infrastructure/repositories/index.js +3 -1
  88. package/es/infrastructure/repositories/templateMessages/TemplateMessageRepository.js +77 -0
  89. package/es/infrastructure/repositories/templateMessages/index.js +2 -0
  90. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ import { ICannedMessageRepository } from '../../../domain/interfaces/repositories';
2
+ export default class CannedMessageService extends ICannedMessageRepository {
3
+ constructor(_ref) {
4
+ let {
5
+ cannedMessageRepository
6
+ } = _ref;
7
+ super();
8
+ this.cannedMessageRepository = cannedMessageRepository;
9
+ }
10
+
11
+ async getCannedMessages(request) {
12
+ return this.cannedMessageRepository.getCannedMessages(request);
13
+ }
14
+
15
+ async getCannedMessage(request) {
16
+ return this.cannedMessageRepository.getCannedMessage(request);
17
+ }
18
+
19
+ async createCannedMessage(request) {
20
+ return this.cannedMessageRepository.createCannedMessage(request);
21
+ }
22
+
23
+ async deleteCannedMessage(request) {
24
+ return this.cannedMessageRepository.deleteCannedMessage(request);
25
+ }
26
+
27
+ async updateCannedMessage(request) {
28
+ return this.cannedMessageRepository.updateCannedMessage(request);
29
+ }
30
+
31
+ async enableCannedMessage(request) {
32
+ return this.cannedMessageRepository.enableCannedMessage(request);
33
+ }
34
+
35
+ async disableCannedMessage(request) {
36
+ return this.cannedMessageRepository.disableCannedMessage(request);
37
+ }
38
+
39
+ toJSON() {
40
+ return {
41
+ getCannedMessages: this.getCannedMessages.bind(this),
42
+ getCannedMessage: this.getCannedMessage.bind(this),
43
+ createCannedMessage: this.createCannedMessage.bind(this),
44
+ deleteCannedMessage: this.deleteCannedMessage.bind(this),
45
+ updateCannedMessage: this.updateCannedMessage.bind(this),
46
+ enableCannedMessage: this.enableCannedMessage.bind(this),
47
+ disableCannedMessage: this.disableCannedMessage.bind(this)
48
+ };
49
+ }
50
+
51
+ }
@@ -0,0 +1,2 @@
1
+ import CannedMessageService from './CannedMessageService';
2
+ export { CannedMessageService };
@@ -3,4 +3,6 @@ export * from './sessions';
3
3
  export * from './bots';
4
4
  export * from './messages';
5
5
  export * from './agents';
6
- export * from './contacts';
6
+ export * from './contacts';
7
+ export * from './cannedMessages';
8
+ export * from './templateMessages';
@@ -0,0 +1,26 @@
1
+ import { ITemplateMessageRepository } from '../../../domain/interfaces/repositories';
2
+ export default class TemplateMessageService extends ITemplateMessageRepository {
3
+ constructor(_ref) {
4
+ let {
5
+ templateMessageRepository
6
+ } = _ref;
7
+ super();
8
+ this.templateMessageRepository = templateMessageRepository;
9
+ }
10
+
11
+ async getTemplateLanguages(request) {
12
+ return this.templateMessageRepository.getTemplateLanguages(request);
13
+ }
14
+
15
+ async getWhatsAppTemplateCreditExhaustStatus(request) {
16
+ return this.templateMessageRepository.getWhatsAppTemplateCreditExhaustStatus(request);
17
+ }
18
+
19
+ toJSON() {
20
+ return {
21
+ getTemplateLanguages: this.getTemplateLanguages.bind(this),
22
+ getWhatsAppTemplateCreditExhaustStatus: this.getWhatsAppTemplateCreditExhaustStatus.bind(this)
23
+ };
24
+ }
25
+
26
+ }
@@ -0,0 +1,2 @@
1
+ import TemplateMessageService from './TemplateMessageService';
2
+ export { TemplateMessageService };
@@ -4,6 +4,9 @@ const ModuleNames = {
4
4
  BOTS: 'bots',
5
5
  MESSAGES: 'messages',
6
6
  CONTACTS: 'contacts',
7
- AGENTS: 'agents'
7
+ AGENTS: 'agents',
8
+ CANNED_MESSAGES: 'cannedMessages',
9
+ TEMPLATE_MESSAGES: 'templateMessages',
10
+ CUSTOM_REPLY_EXTENSIONS: 'articles'
8
11
  };
9
12
  export default ModuleNames;
@@ -0,0 +1,18 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function createCannedMessageRequest() {
4
+ let {
5
+ params = {},
6
+ body = {}
7
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ return new RequestBuilder().withParams({ ...params
9
+ }).withBody({
10
+ title: null,
11
+ message: null,
12
+ tags: null,
13
+ type: null,
14
+ ...body
15
+ }).build();
16
+ }
17
+
18
+ export default createCannedMessageRequest;
@@ -0,0 +1,13 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function deleteCannedMessageRequest() {
4
+ let {
5
+ params = {}
6
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ return new RequestBuilder().withParams({
8
+ cannedMessageId: null,
9
+ ...params
10
+ }).build();
11
+ }
12
+
13
+ export default deleteCannedMessageRequest;
@@ -0,0 +1,13 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function disableCannedMessageRequest() {
4
+ let {
5
+ params = {}
6
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ return new RequestBuilder().withParams({
8
+ cannedMessageId: null,
9
+ ...params
10
+ }).build();
11
+ }
12
+
13
+ export default disableCannedMessageRequest;
@@ -0,0 +1,13 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function enableCannedMessageRequest() {
4
+ let {
5
+ params = {}
6
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ return new RequestBuilder().withParams({
8
+ cannedMessageId: null,
9
+ ...params
10
+ }).build();
11
+ }
12
+
13
+ export default enableCannedMessageRequest;
@@ -0,0 +1,13 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function getCannedMessageRequest() {
4
+ let {
5
+ params = {}
6
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ return new RequestBuilder().withParams({
8
+ cannedMessageId: null,
9
+ ...params
10
+ }).build();
11
+ }
12
+
13
+ export default getCannedMessageRequest;
@@ -0,0 +1,18 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function getCannedMessagesRequest() {
4
+ let {
5
+ query = {},
6
+ params = {}
7
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ return new RequestBuilder().withParams({ ...params
9
+ }).withQuery({
10
+ from: 0,
11
+ limit: 10,
12
+ modifiedAfter: null,
13
+ type: null,
14
+ ...query
15
+ }).build();
16
+ }
17
+
18
+ export default getCannedMessagesRequest;
@@ -0,0 +1,7 @@
1
+ export { default as getCannedMessagesRequest } from './getCannedMessagesRequest';
2
+ export { default as getCannedMessageRequest } from './getCannedMessageRequest';
3
+ export { default as deleteCannedMessageRequest } from './deleteCannedMessageRequest';
4
+ export { default as createCannedMessageRequest } from './createCannedMessageRequest';
5
+ export { default as enableCannedMessageRequest } from './enableCannedMessageRequest';
6
+ export { default as disableCannedMessageRequest } from './disableCannedMessageRequest';
7
+ export { default as updateCannedMessageRequest } from './updateCannedMessageRequest';
@@ -0,0 +1,20 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function updateCannedMessageRequest() {
4
+ let {
5
+ params = {},
6
+ body = {}
7
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ return new RequestBuilder().withParams({
9
+ cannedMessageId: null,
10
+ ...params
11
+ }).withBody({
12
+ title: null,
13
+ message: null,
14
+ tags: null,
15
+ type: null,
16
+ ...body
17
+ }).build();
18
+ }
19
+
20
+ export default updateCannedMessageRequest;
@@ -3,4 +3,6 @@ export * from './sessions';
3
3
  export * from './bots';
4
4
  export * from './messages';
5
5
  export * from './agents';
6
- export * from './contacts';
6
+ export * from './contacts';
7
+ export * from './cannedMessages';
8
+ export * from './templateMessages';
@@ -15,6 +15,8 @@ function initiateSessionRequest() {
15
15
  language: null,
16
16
  parameters: {},
17
17
  message: null,
18
+ headerMessage: null,
19
+ urlMessage: null,
18
20
  ...body
19
21
  }).build();
20
22
  }
@@ -0,0 +1,13 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function getTemplateCreditExhaustStatusRequest() {
4
+ let {
5
+ params = {}
6
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ return new RequestBuilder().withParams({ ...params,
8
+ channelId: null,
9
+ receiverId: null
10
+ }).build();
11
+ }
12
+
13
+ export default getTemplateCreditExhaustStatusRequest;
@@ -0,0 +1,7 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function getTemplateLanguagesRequest() {
4
+ return new RequestBuilder().build();
5
+ }
6
+
7
+ export default getTemplateLanguagesRequest;
@@ -0,0 +1,2 @@
1
+ export { default as getTemplateLanguagesRequest } from './getTemplateLanguagesRequest';
2
+ export { default as getTemplateCreditExhaustStatusRequest } from './getTemplateCreditExhaustStatusRequest';
@@ -0,0 +1,58 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { CannedMessageStatus } from '../../enum';
3
+ import { CannedMessageSchema } from '../../schema';
4
+ import { Actor } from '../Actor';
5
+ export default class CannedMessage {
6
+ constructor() {
7
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ const validatedData = validateSchema({
9
+ schema: CannedMessageSchema,
10
+ data,
11
+ entityName: 'CannedMessage'
12
+ });
13
+ let {
14
+ createdBy
15
+ } = validatedData;
16
+
17
+ if (createdBy && typeof createdBy === 'object' && !Array.isArray(createdBy)) {
18
+ createdBy = new Actor(createdBy);
19
+ }
20
+
21
+ this.data = {
22
+ id: validatedData.id,
23
+ title: validatedData.title,
24
+ message: validatedData.message,
25
+ tags: validatedData.tags,
26
+ status: validatedData.status,
27
+ uuid: validatedData.uuid,
28
+ createdBy,
29
+ displayMessage: validatedData.displayMessage,
30
+ type: validatedData.type,
31
+ isActive: validatedData.isActive,
32
+ meta: validatedData.meta,
33
+ isPrivate: validatedData.isPrivate,
34
+ rejectionReason: validatedData.rejectionReason,
35
+ modifiedTime: validatedData.modifiedTime,
36
+ translations: validatedData.translations,
37
+ parameters: validatedData.parameters
38
+ };
39
+ }
40
+
41
+ static isApproved(status) {
42
+ return status === CannedMessageStatus.APPROVED;
43
+ }
44
+
45
+ static isRejected(status) {
46
+ return status === CannedMessageStatus.REJECTED;
47
+ }
48
+
49
+ static isPending(status) {
50
+ return status === CannedMessageStatus.PENDING;
51
+ }
52
+
53
+ toJSON() {
54
+ return { ...this.data
55
+ };
56
+ }
57
+
58
+ }
@@ -0,0 +1,2 @@
1
+ import CannedMessage from './CannedMessage';
2
+ export { CannedMessage };
@@ -0,0 +1,26 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { CustomReplyExtensionSchema } from '../../schema';
3
+ export default class CustomReplyExtension {
4
+ constructor() {
5
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
+ const validatedData = validateSchema({
7
+ schema: CustomReplyExtensionSchema,
8
+ data,
9
+ entityName: 'CustomReplyExtension'
10
+ });
11
+ this.data = {
12
+ id: validatedData.id,
13
+ title: validatedData.title,
14
+ message: validatedData.message,
15
+ displayMessage: validatedData.displayMessage,
16
+ webUrl: validatedData.webUrl || null,
17
+ categoryName: validatedData.categoryName
18
+ };
19
+ }
20
+
21
+ toJSON() {
22
+ return { ...this.data
23
+ };
24
+ }
25
+
26
+ }
@@ -0,0 +1,2 @@
1
+ import CustomReplyExtension from './CustomReplyExtension';
2
+ export { CustomReplyExtension };
@@ -0,0 +1,27 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { TemplateCreditExhaustStatusCode } from '../../enum';
3
+ import { TemplateCreditExhaustStatusSchema } from '../../schema';
4
+ export default class TemplateCreditExhaustStatus {
5
+ constructor() {
6
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ const validatedData = validateSchema({
8
+ schema: TemplateCreditExhaustStatusSchema,
9
+ data,
10
+ entityName: 'TemplateCreditExhaustStatus'
11
+ });
12
+ this.data = {
13
+ code: validatedData.code,
14
+ message: validatedData.message
15
+ };
16
+ }
17
+
18
+ static isInSufficientCredits(code) {
19
+ return code === TemplateCreditExhaustStatusCode.INSUFFICIENT_CREDITS;
20
+ }
21
+
22
+ toJSON() {
23
+ return { ...this.data
24
+ };
25
+ }
26
+
27
+ }
@@ -0,0 +1,22 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import { TemplateLanguageSchema } from '../../schema';
3
+ export default class TemplateLanguage {
4
+ constructor() {
5
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
+ const validatedData = validateSchema({
7
+ schema: TemplateLanguageSchema,
8
+ data,
9
+ entityName: 'TemplateLanguage'
10
+ });
11
+ this.data = {
12
+ code: validatedData.code,
13
+ language: validatedData.language
14
+ };
15
+ }
16
+
17
+ toJSON() {
18
+ return { ...this.data
19
+ };
20
+ }
21
+
22
+ }
@@ -0,0 +1,3 @@
1
+ import TemplateLanguage from './TemplateLanguage';
2
+ import TemplateCreditExhaustStatus from './TemplateCreditExhaustStatus';
3
+ export { TemplateLanguage, TemplateCreditExhaustStatus };
@@ -6,4 +6,7 @@ export * from './Attachment';
6
6
  export * from './Message';
7
7
  export * from './Channel';
8
8
  export * from './Contact';
9
- export * from './IntegrationService';
9
+ export * from './IntegrationService';
10
+ export * from './CannedMessage';
11
+ export * from './TemplateMessage';
12
+ export * from './CustomReplyExtension';
@@ -0,0 +1,7 @@
1
+ const CannedMessageStatus = {
2
+ APPROVED: 'APPROVED',
3
+ PENDING: 'PENDING',
4
+ REJECTED: 'REJECTED',
5
+ FAILED: 'FAILED'
6
+ };
7
+ export default CannedMessageStatus;
@@ -0,0 +1,5 @@
1
+ const CannedMessageType = {
2
+ CANNED: 'CANNED',
3
+ TEMPLATE: 'TEMPLATE'
4
+ };
5
+ export default CannedMessageType;
@@ -0,0 +1,6 @@
1
+ const TemplateItemButtonType = {
2
+ QUICK_REPLY: 'QUICK_REPLY',
3
+ URL: 'URL',
4
+ PHONE_NUMBER: 'PHONE_NUMBER'
5
+ };
6
+ export default TemplateItemButtonType;
@@ -0,0 +1,4 @@
1
+ const TemplateItemFooterType = {
2
+ TEXT: 'TEXT'
3
+ };
4
+ export default TemplateItemFooterType;
@@ -0,0 +1,7 @@
1
+ const TemplateItemHeaderType = {
2
+ IMAGE: 'IMAGE',
3
+ TEXT: 'TEXT',
4
+ VIDEO: 'VIDEO',
5
+ DOCUMENT: 'DOCUMENT'
6
+ };
7
+ export default TemplateItemHeaderType;
@@ -0,0 +1,6 @@
1
+ import CannedMessageStatus from './CannedMessageStatus';
2
+ import CannedMessageType from './CannedMessageType';
3
+ import TemplateItemHeaderType from './TemplateItemHeaderType';
4
+ import TemplateItemFooterType from './TemplateItemFooterType';
5
+ import TemplateItemButtonType from './TemplateItemButtonType';
6
+ export { CannedMessageStatus, CannedMessageType, TemplateItemHeaderType, TemplateItemFooterType, TemplateItemButtonType };
@@ -3,4 +3,6 @@ export * from './session';
3
3
  export * from './actor';
4
4
  export * from './bot';
5
5
  export * from './message';
6
- export * from './attachment';
6
+ export * from './attachment';
7
+ export * from './cannedMessage';
8
+ export * from './templateMessage';
@@ -16,6 +16,9 @@ const SessionReplyStatus = {
16
16
  CHANNEL_DELETED: 'CHANNEL_DELETED',
17
17
  ENDUSER_OFFLINE: 'ENDUSER_OFFLINE',
18
18
  CONFIG_SKIPPED_CHANNEL: 'CONFIG_SKIPPED_CHANNEL',
19
- ASSIGNED_TO_OTHER_SERVICE: 'ASSIGNED_TO_OTHER_SERVICE'
19
+ ASSIGNED_TO_OTHER_SERVICE: 'ASSIGNED_TO_OTHER_SERVICE',
20
+ WECOM_TRAIL_EXPIRED: 'WECOM_TRAIL_EXPIRED',
21
+ WECOM_LICENSE_EXPIRED: 'WECOM_LICENSE_EXPIRED',
22
+ OUTGOING_LIMIT_REACHED: 'OUTGOING_LIMIT_REACHED'
20
23
  };
21
24
  export default SessionReplyStatus;
@@ -0,0 +1,4 @@
1
+ const TemplateCreditExhaustStatusCode = {
2
+ INSUFFICIENT_CREDITS: 'INSUFFICIENT_CREDITS'
3
+ };
4
+ export default TemplateCreditExhaustStatusCode;
@@ -0,0 +1,2 @@
1
+ import TemplateCreditExhaustStatusCode from './TemplateCreditExhaustStatusCode';
2
+ export { TemplateCreditExhaustStatusCode };
@@ -0,0 +1,47 @@
1
+ /* eslint-disable no-unused-vars */
2
+ import { ModuleNames } from '../../../../core/constants';
3
+ import BaseAPI from '../../../../infrastructure/api/BaseAPI';
4
+ import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, disableCannedMessageRequest, enableCannedMessageRequest } from '../../../dto';
5
+ export default class ICannedMessageRepository extends BaseAPI {
6
+ constructor() {
7
+ super({
8
+ module: ModuleNames.CANNED_MESSAGES
9
+ });
10
+ }
11
+
12
+ getCannedMessages() {
13
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCannedMessagesRequest();
14
+ throw new Error('Method not implemented.');
15
+ }
16
+
17
+ getCannedMessage() {
18
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getCannedMessageRequest();
19
+ throw new Error('Method not implemented.');
20
+ }
21
+
22
+ createCannedMessage() {
23
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : createCannedMessageRequest();
24
+ throw new Error('Method not implemented.');
25
+ }
26
+
27
+ updateCannedMessage() {
28
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateCannedMessageRequest();
29
+ throw new Error('Method not implemented.');
30
+ }
31
+
32
+ deleteCannedMessage() {
33
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteCannedMessageRequest();
34
+ throw new Error('Method not implemented.');
35
+ }
36
+
37
+ enableCannedMessage() {
38
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : enableCannedMessageRequest();
39
+ throw new Error('Method not implemented.');
40
+ }
41
+
42
+ disableCannedMessage() {
43
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : disableCannedMessageRequest();
44
+ throw new Error('Method not implemented.');
45
+ }
46
+
47
+ }
@@ -0,0 +1,2 @@
1
+ import ICannedMessageRepository from './ICannedMessageRepository';
2
+ export { ICannedMessageRepository };
@@ -3,4 +3,6 @@ export * from './sessions';
3
3
  export * from './bots';
4
4
  export * from './messages';
5
5
  export * from './agents';
6
- export * from './contacts';
6
+ export * from './contacts';
7
+ export * from './cannedMessages';
8
+ export * from './templateMessages';
@@ -0,0 +1,21 @@
1
+ import { ModuleNames } from '../../../../core/constants';
2
+ import BaseAPI from '../../../../infrastructure/api/BaseAPI';
3
+ import { getTemplateCreditExhaustStatusRequest, getTemplateLanguagesRequest } from '../../../dto';
4
+ export default class ITemplateMessageRepository extends BaseAPI {
5
+ constructor() {
6
+ super({
7
+ module: ModuleNames.TEMPLATE_MESSAGES
8
+ });
9
+ }
10
+
11
+ async getTemplateLanguages() {
12
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getTemplateLanguagesRequest();
13
+ throw new Error('Method not implemented');
14
+ }
15
+
16
+ async getWhatsAppTemplateCreditExhaustStatus() {
17
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getTemplateCreditExhaustStatusRequest();
18
+ throw new Error('Method not implemented');
19
+ }
20
+
21
+ }
@@ -0,0 +1,2 @@
1
+ import ITemplateMessageRepository from './ITemplateMessageRepository';
2
+ export { ITemplateMessageRepository };