@zohoim/client-sdk 1.0.0-canned04 → 1.0.0-canned05

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 (22) hide show
  1. package/es/application/services/cannedMessages/CannedMessageService.js +16 -1
  2. package/es/application/services/templateMessages/TemplateMessageService.js +6 -1
  3. package/es/domain/dto/cannedMessages/addTranslationRequest.js +18 -0
  4. package/es/domain/dto/cannedMessages/deleteTranslationRequest.js +14 -0
  5. package/es/domain/dto/cannedMessages/index.js +4 -1
  6. package/es/domain/dto/cannedMessages/updateTranslationRequest.js +18 -0
  7. package/es/domain/dto/templateMessages/getTemplateTagsRequest.js +7 -0
  8. package/es/domain/dto/templateMessages/index.js +2 -1
  9. package/es/domain/entities/CannedMessage/CannedMessage.js +8 -2
  10. package/es/domain/entities/CannedMessage/Translation.js +29 -0
  11. package/es/domain/entities/CannedMessage/index.js +2 -1
  12. package/es/domain/interfaces/repositories/cannedMessages/ICannedMessageRepository.js +16 -1
  13. package/es/domain/interfaces/repositories/templateMessages/ITemplateMessageRepository.js +7 -1
  14. package/es/domain/schema/cannedMessage/TranslationsSchema.js +1 -1
  15. package/es/domain/schema/cannedMessage/index.js +2 -1
  16. package/es/infrastructure/api/cannedMessages/CannedMessageAPI.js +31 -1
  17. package/es/infrastructure/api/registry/cannedMessages/cannedMessageAPIRegistry.js +17 -2
  18. package/es/infrastructure/api/registry/templateMessages/templateMessageAPIRegistry.js +7 -2
  19. package/es/infrastructure/api/templateMessages/TemplateMessageAPI.js +11 -1
  20. package/es/infrastructure/repositories/cannedMessages/CannedMessageRepository.js +26 -1
  21. package/es/infrastructure/repositories/templateMessages/TemplateMessageRepository.js +10 -1
  22. package/package.json +1 -1
@@ -36,6 +36,18 @@ export default class CannedMessageService extends ICannedMessageRepository {
36
36
  return this.cannedMessageRepository.disableCannedMessage(request);
37
37
  }
38
38
 
39
+ async addTranslation(request) {
40
+ return this.cannedMessageRepository.addTranslation(request);
41
+ }
42
+
43
+ async updateTranslation(request) {
44
+ return this.cannedMessageRepository.updateTranslation(request);
45
+ }
46
+
47
+ async deleteTranslation(request) {
48
+ return this.cannedMessageRepository.deleteTranslation(request);
49
+ }
50
+
39
51
  toJSON() {
40
52
  return {
41
53
  getCannedMessages: this.getCannedMessages.bind(this),
@@ -44,7 +56,10 @@ export default class CannedMessageService extends ICannedMessageRepository {
44
56
  deleteCannedMessage: this.deleteCannedMessage.bind(this),
45
57
  updateCannedMessage: this.updateCannedMessage.bind(this),
46
58
  enableCannedMessage: this.enableCannedMessage.bind(this),
47
- disableCannedMessage: this.disableCannedMessage.bind(this)
59
+ disableCannedMessage: this.disableCannedMessage.bind(this),
60
+ addTranslation: this.addTranslation.bind(this),
61
+ updateTranslation: this.updateTranslation.bind(this),
62
+ deleteTranslation: this.deleteTranslation.bind(this)
48
63
  };
49
64
  }
50
65
 
@@ -16,10 +16,15 @@ export default class TemplateMessageService extends ITemplateMessageRepository {
16
16
  return this.templateMessageRepository.getWhatsAppTemplateCreditExhaustStatus(request);
17
17
  }
18
18
 
19
+ async getTemplateTags() {
20
+ return this.templateMessageRepository.getTemplateTags();
21
+ }
22
+
19
23
  toJSON() {
20
24
  return {
21
25
  getTemplateLanguages: this.getTemplateLanguages.bind(this),
22
- getWhatsAppTemplateCreditExhaustStatus: this.getWhatsAppTemplateCreditExhaustStatus.bind(this)
26
+ getWhatsAppTemplateCreditExhaustStatus: this.getWhatsAppTemplateCreditExhaustStatus.bind(this),
27
+ getTemplateTags: this.getTemplateTags.bind(this)
23
28
  };
24
29
  }
25
30
 
@@ -0,0 +1,18 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function addTranslationRequest() {
4
+ let {
5
+ params = {},
6
+ body = {}
7
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ return new RequestBuilder().withParams({
9
+ cannedMessageId: null,
10
+ translationId: null,
11
+ ...params
12
+ }).withBody({
13
+ message: null,
14
+ ...body
15
+ }).build();
16
+ }
17
+
18
+ export default addTranslationRequest;
@@ -0,0 +1,14 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function deleteTranslationRequest() {
4
+ let {
5
+ params = {}
6
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ return new RequestBuilder().withParams({
8
+ cannedMessageId: null,
9
+ translationId: null,
10
+ ...params
11
+ }).build();
12
+ }
13
+
14
+ export default deleteTranslationRequest;
@@ -4,4 +4,7 @@ export { default as deleteCannedMessageRequest } from './deleteCannedMessageRequ
4
4
  export { default as createCannedMessageRequest } from './createCannedMessageRequest';
5
5
  export { default as enableCannedMessageRequest } from './enableCannedMessageRequest';
6
6
  export { default as disableCannedMessageRequest } from './disableCannedMessageRequest';
7
- export { default as updateCannedMessageRequest } from './updateCannedMessageRequest';
7
+ export { default as updateCannedMessageRequest } from './updateCannedMessageRequest';
8
+ export { default as addTranslationRequest } from './addTranslationRequest';
9
+ export { default as updateTranslationRequest } from './updateTranslationRequest';
10
+ export { default as deleteTranslationRequest } from './deleteTranslationRequest';
@@ -0,0 +1,18 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function updateTranslationRequest() {
4
+ let {
5
+ params = {},
6
+ body = {}
7
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ return new RequestBuilder().withParams({
9
+ cannedMessageId: null,
10
+ translationId: null,
11
+ ...params
12
+ }).withBody({
13
+ message: null,
14
+ ...body
15
+ }).build();
16
+ }
17
+
18
+ export default updateTranslationRequest;
@@ -0,0 +1,7 @@
1
+ import RequestBuilder from '../RequestBuilder';
2
+
3
+ function getTemplateTagsRequest() {
4
+ return new RequestBuilder().build();
5
+ }
6
+
7
+ export default getTemplateTagsRequest;
@@ -1,2 +1,3 @@
1
1
  export { default as getTemplateLanguagesRequest } from './getTemplateLanguagesRequest';
2
- export { default as getTemplateCreditExhaustStatusRequest } from './getTemplateCreditExhaustStatusRequest';
2
+ export { default as getTemplateCreditExhaustStatusRequest } from './getTemplateCreditExhaustStatusRequest';
3
+ export { default as getTemplateTagsRequest } from './getTemplateTagsRequest';
@@ -2,6 +2,7 @@ import { validateSchema } from '../../../core/utils';
2
2
  import { CannedMessageStatus, CannedMessageType } from '../../enum';
3
3
  import { CannedMessageSchema } from '../../schema';
4
4
  import { Actor } from '../Actor';
5
+ import Translation from './Translation';
5
6
  export default class CannedMessage {
6
7
  constructor() {
7
8
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -11,13 +12,18 @@ export default class CannedMessage {
11
12
  entityName: 'CannedMessage'
12
13
  });
13
14
  let {
14
- createdBy
15
+ createdBy,
16
+ translations
15
17
  } = validatedData;
16
18
 
17
19
  if (createdBy && typeof createdBy === 'object' && !Array.isArray(createdBy)) {
18
20
  createdBy = new Actor(createdBy).toJSON();
19
21
  }
20
22
 
23
+ if (Array.isArray(translations)) {
24
+ translations = translations.map(item => new Translation(item).toJSON());
25
+ }
26
+
21
27
  this.data = {
22
28
  id: validatedData.id,
23
29
  title: validatedData.title,
@@ -33,7 +39,7 @@ export default class CannedMessage {
33
39
  isPrivate: validatedData.isPrivate,
34
40
  rejectionReason: validatedData.rejectionReason,
35
41
  modifiedTime: validatedData.modifiedTime,
36
- translations: validatedData.translations,
42
+ translations,
37
43
  parameters: validatedData.parameters,
38
44
  primaryLanguage: validatedData.primaryLanguage,
39
45
  wabaId: validatedData.wabaId
@@ -0,0 +1,29 @@
1
+ import { validateSchema } from '../../../core/utils';
2
+ import TranslationsSchema from '../../schema/cannedMessage/TranslationsSchema';
3
+ export default class Translation {
4
+ constructor() {
5
+ let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6
+ const validatedData = validateSchema({
7
+ schema: TranslationsSchema,
8
+ data,
9
+ entityName: 'Translation'
10
+ });
11
+ this.data = {
12
+ id: validatedData.id,
13
+ language: validatedData.language,
14
+ message: validatedData.message,
15
+ displayMessage: validatedData.displayMessage,
16
+ uuid: validatedData.uuid,
17
+ status: validatedData.status,
18
+ modifiedTime: validatedData.modifiedTime,
19
+ failedReason: validatedData.failedReason,
20
+ templateItems: validatedData.templateItems
21
+ };
22
+ }
23
+
24
+ toJSON() {
25
+ return { ...this.data
26
+ };
27
+ }
28
+
29
+ }
@@ -1,2 +1,3 @@
1
1
  import CannedMessage from './CannedMessage';
2
- export { CannedMessage };
2
+ import Translation from './Translation';
3
+ export { CannedMessage, Translation };
@@ -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 { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, disableCannedMessageRequest, enableCannedMessageRequest } from '../../../dto';
4
+ import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, disableCannedMessageRequest, enableCannedMessageRequest, addTranslationRequest, updateTranslationRequest, deleteTranslationRequest } from '../../../dto';
5
5
  export default class ICannedMessageRepository extends BaseAPI {
6
6
  constructor() {
7
7
  super({
@@ -44,4 +44,19 @@ export default class ICannedMessageRepository extends BaseAPI {
44
44
  throw new Error('Method not implemented.');
45
45
  }
46
46
 
47
+ addTranslation() {
48
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : addTranslationRequest();
49
+ throw new Error('Method not implemented.');
50
+ }
51
+
52
+ updateTranslation() {
53
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateTranslationRequest();
54
+ throw new Error('Method not implemented.');
55
+ }
56
+
57
+ deleteTranslation() {
58
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteTranslationRequest();
59
+ throw new Error('Method not implemented.');
60
+ }
61
+
47
62
  }
@@ -1,6 +1,7 @@
1
+ /* eslint-disable no-unused-vars */
1
2
  import { ModuleNames } from '../../../../core/constants';
2
3
  import BaseAPI from '../../../../infrastructure/api/BaseAPI';
3
- import { getTemplateCreditExhaustStatusRequest, getTemplateLanguagesRequest } from '../../../dto';
4
+ import { getTemplateCreditExhaustStatusRequest, getTemplateLanguagesRequest, getTemplateTagsRequest } from '../../../dto';
4
5
  export default class ITemplateMessageRepository extends BaseAPI {
5
6
  constructor() {
6
7
  super({
@@ -18,4 +19,9 @@ export default class ITemplateMessageRepository extends BaseAPI {
18
19
  throw new Error('Method not implemented');
19
20
  }
20
21
 
22
+ async getTemplateTags() {
23
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getTemplateTagsRequest();
24
+ throw new Error('Method not implemented');
25
+ }
26
+
21
27
  }
@@ -31,7 +31,7 @@ const TranslationsSchema = {
31
31
  },
32
32
  status: {
33
33
  type: 'string',
34
- required: true,
34
+ required: false,
35
35
  enum: Object.values(CannedMessageStatus)
36
36
  },
37
37
  templateItems: {
@@ -1,2 +1,3 @@
1
1
  import CannedMessageSchema from './CannedMessageSchema';
2
- export { CannedMessageSchema };
2
+ import TranslationsSchema from './TranslationsSchema';
3
+ export { CannedMessageSchema, TranslationsSchema };
@@ -1,4 +1,4 @@
1
- import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, enableCannedMessageRequest, disableCannedMessageRequest } from '../../../domain/dto';
1
+ import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, enableCannedMessageRequest, disableCannedMessageRequest, addTranslationRequest, updateTranslationRequest, deleteTranslationRequest } from '../../../domain/dto';
2
2
  import { ICannedMessageRepository } from '../../../domain/interfaces/repositories';
3
3
  export default class CannedMessageAPI extends ICannedMessageRepository {
4
4
  async getCannedMessages() {
@@ -71,4 +71,34 @@ export default class CannedMessageAPI extends ICannedMessageRepository {
71
71
  return httpRequest;
72
72
  }
73
73
 
74
+ async addTranslation() {
75
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : addTranslationRequest();
76
+ const operation = 'addTranslation';
77
+ const httpRequest = await this.request({
78
+ operation,
79
+ request
80
+ });
81
+ return httpRequest;
82
+ }
83
+
84
+ async updateTranslation() {
85
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : updateTranslationRequest();
86
+ const operation = 'updateTranslation';
87
+ const httpRequest = await this.request({
88
+ operation,
89
+ request
90
+ });
91
+ return httpRequest;
92
+ }
93
+
94
+ async deleteTranslation() {
95
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : deleteTranslationRequest();
96
+ const operation = 'deleteTranslation';
97
+ const httpRequest = await this.request({
98
+ operation,
99
+ request
100
+ });
101
+ return httpRequest;
102
+ }
103
+
74
104
  }
@@ -1,5 +1,5 @@
1
1
  import { HTTP_METHODS } from '../../../../core/constants';
2
- import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, enableCannedMessageRequest, disableCannedMessageRequest } from '../../../../domain/dto';
2
+ import { getCannedMessageRequest, getCannedMessagesRequest, createCannedMessageRequest, updateCannedMessageRequest, deleteCannedMessageRequest, enableCannedMessageRequest, disableCannedMessageRequest, addTranslationRequest, updateTranslationRequest, deleteTranslationRequest } from '../../../../domain/dto';
3
3
  import constructCannedMessageEndPoint from './constructCannedMessageEndPoint';
4
4
  import createAPIRegistry from '../createAPIRegistry';
5
5
 
@@ -31,6 +31,18 @@ function deleteCannedMessage() {
31
31
  return createAPIRegistry(constructCannedMessageEndPoint('/:cannedMessageId'), HTTP_METHODS.DELETE, deleteCannedMessageRequest());
32
32
  }
33
33
 
34
+ function addTranslation() {
35
+ return createAPIRegistry(constructCannedMessageEndPoint('/:cannedMessageId/translations'), HTTP_METHODS.POST, addTranslationRequest());
36
+ }
37
+
38
+ function updateTranslation() {
39
+ return createAPIRegistry(constructCannedMessageEndPoint('/:cannedMessageId/translations/:translationId'), HTTP_METHODS.PATCH, updateTranslationRequest());
40
+ }
41
+
42
+ function deleteTranslation() {
43
+ return createAPIRegistry(constructCannedMessageEndPoint('/:cannedMessageId/translations/:translationId'), HTTP_METHODS.DELETE, deleteTranslationRequest());
44
+ }
45
+
34
46
  export default {
35
47
  getCannedMessage,
36
48
  getCannedMessages,
@@ -38,5 +50,8 @@ export default {
38
50
  updateCannedMessage,
39
51
  deleteCannedMessage,
40
52
  enableCannedMessage,
41
- disableCannedMessage
53
+ disableCannedMessage,
54
+ addTranslation,
55
+ updateTranslation,
56
+ deleteTranslation
42
57
  };
@@ -1,5 +1,5 @@
1
1
  import { HTTP_METHODS } from '../../../../core/constants';
2
- import { getTemplateLanguagesRequest, getTemplateCreditExhaustStatusRequest } from '../../../../domain/dto';
2
+ import { getTemplateLanguagesRequest, getTemplateCreditExhaustStatusRequest, getTemplateTagsRequest } from '../../../../domain/dto';
3
3
  import createAPIRegistry from '../createAPIRegistry';
4
4
  import constructTemplateMessageEndPoint from './constructTemplateMessageEndPoint';
5
5
 
@@ -12,7 +12,12 @@ function getWhatsAppTemplateCreditExhaustStatus() {
12
12
  HTTP_METHODS.POST, getTemplateCreditExhaustStatusRequest());
13
13
  }
14
14
 
15
+ function getTemplateTags() {
16
+ return createAPIRegistry(constructTemplateMessageEndPoint('/templateTags'), HTTP_METHODS.GET, getTemplateTagsRequest());
17
+ }
18
+
15
19
  export default {
16
20
  getTemplateLanguages,
17
- getWhatsAppTemplateCreditExhaustStatus
21
+ getWhatsAppTemplateCreditExhaustStatus,
22
+ getTemplateTags
18
23
  };
@@ -1,4 +1,4 @@
1
- import { getTemplateLanguagesRequest, getTemplateCreditExhaustStatusRequest } from '../../../domain/dto';
1
+ import { getTemplateLanguagesRequest, getTemplateCreditExhaustStatusRequest, getTemplateTagsRequest } from '../../../domain/dto';
2
2
  import { ITemplateMessageRepository } from '../../../domain/interfaces/repositories';
3
3
  export default class TemplateMessageAPI extends ITemplateMessageRepository {
4
4
  async getTemplateLanguages() {
@@ -21,4 +21,14 @@ export default class TemplateMessageAPI extends ITemplateMessageRepository {
21
21
  return httpRequest;
22
22
  }
23
23
 
24
+ async getTemplateTags() {
25
+ let request = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getTemplateTagsRequest();
26
+ const operation = 'getTemplateTags';
27
+ const httpRequest = await this.request({
28
+ request,
29
+ operation
30
+ });
31
+ return httpRequest;
32
+ }
33
+
24
34
  }
@@ -85,6 +85,28 @@ export default class CannedMessageRepository extends ICannedMessageRepository {
85
85
  });
86
86
  }
87
87
 
88
+ async addTranslation(request) {
89
+ return this.invokeAPI({
90
+ operation: 'addTranslation',
91
+ request
92
+ });
93
+ }
94
+
95
+ async updateTranslation(request) {
96
+ return this.invokeAPI({
97
+ operation: 'updateTranslation',
98
+ request
99
+ });
100
+ }
101
+
102
+ async deleteTranslation(request) {
103
+ return this.invokeAPI({
104
+ operation: 'deleteTranslation',
105
+ request,
106
+ responseType: ResponseTypes.NONE
107
+ });
108
+ }
109
+
88
110
  toJSON() {
89
111
  return {
90
112
  getCannedMessages: this.getCannedMessages.bind(this),
@@ -93,7 +115,10 @@ export default class CannedMessageRepository extends ICannedMessageRepository {
93
115
  updateCannedMessage: this.updateCannedMessage.bind(this),
94
116
  deleteCannedMessage: this.deleteCannedMessage.bind(this),
95
117
  enableCannedMessage: this.enableCannedMessage.bind(this),
96
- disableCannedMessage: this.disableCannedMessage.bind(this)
118
+ disableCannedMessage: this.disableCannedMessage.bind(this),
119
+ addTranslation: this.addTranslation.bind(this),
120
+ updateTranslation: this.updateTranslation.bind(this),
121
+ deleteTranslation: this.deleteTranslation.bind(this)
97
122
  };
98
123
  }
99
124
 
@@ -67,10 +67,19 @@ export default class TemplateMessageRepository extends ITemplateMessageRepositor
67
67
  });
68
68
  }
69
69
 
70
+ async getTemplateTags(request) {
71
+ return this.invokeTemplateLanguageAPI({
72
+ operation: 'getTemplateTags',
73
+ request,
74
+ adapter: null
75
+ });
76
+ }
77
+
70
78
  toJSON() {
71
79
  return {
72
80
  getTemplateLanguages: this.getTemplateLanguages.bind(this),
73
- getWhatsAppTemplateCreditExhaustStatus: this.getWhatsAppTemplateCreditExhaustStatus.bind(this)
81
+ getWhatsAppTemplateCreditExhaustStatus: this.getWhatsAppTemplateCreditExhaustStatus.bind(this),
82
+ getTemplateTags: this.getTemplateTags.bind(this)
74
83
  };
75
84
  }
76
85
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohoim/client-sdk",
3
- "version": "1.0.0-canned04",
3
+ "version": "1.0.0-canned05",
4
4
  "description": "To have the client sdk for the IM",
5
5
  "main": "es/index.js",
6
6
  "module": "es/index.js",