@itleanchatbot/shared-models-js-postgres 2.0.0 → 2.1.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.
Files changed (175) hide show
  1. package/README.md +28 -3
  2. package/package.json +6 -4
  3. package/src/migrations/20210503142857-create-intelligences.js +1 -1
  4. package/src/migrations/20210503154612-create-skills.js +1 -1
  5. package/src/migrations/20210503162618-create-entities-values.js +1 -1
  6. package/src/migrations/20210503162752-create-synonyms.js +1 -1
  7. package/src/migrations/20210503163437-create-responses-boxes.js +1 -1
  8. package/src/migrations/20210503190515-create-apis.js +1 -1
  9. package/src/migrations/20210503191041-create-apis-resources-body.js +1 -1
  10. package/src/migrations/20210503191107-create-apis-resources.js +1 -1
  11. package/src/migrations/20210503193511-create-dialog-nodes.js +1 -1
  12. package/src/migrations/20210504144332-create-messages-hsm.js +1 -1
  13. package/src/migrations/20210727110430-create-endSessionTriggers.js +1 -1
  14. package/src/migrations/20210906144034-alter-api-body-migration.js +2 -2
  15. package/src/migrations/20210927141630-alter-attendances.js +3 -3
  16. package/src/models/apiKeys.js +1 -1
  17. package/src/models/apiResourceBodies.js +1 -1
  18. package/src/models/apiResourceHeaders.js +1 -1
  19. package/src/models/apiResourcePathParams.js +1 -1
  20. package/src/models/apiResourceQueryStringParams.js +1 -1
  21. package/src/models/apiResources.js +1 -1
  22. package/src/models/apis.js +1 -1
  23. package/src/models/attendanceScale.js +1 -1
  24. package/src/models/attendanceScaleOff.js +1 -1
  25. package/src/models/attendances.js +1 -1
  26. package/src/models/botIterable.js +1 -5
  27. package/src/models/branches.js +1 -1
  28. package/src/models/channelConfigurations.js +1 -1
  29. package/src/models/channelTypes.js +15 -1
  30. package/src/models/channels.js +1 -1
  31. package/src/models/client.js +1 -1
  32. package/src/models/comments.js +1 -1
  33. package/src/models/contacts.js +41 -0
  34. package/src/models/customPostbacks.js +1 -1
  35. package/src/models/departments.js +1 -1
  36. package/src/models/dialogNodes.js +1 -1
  37. package/src/models/dialogNodes_MultipleResponses.js +1 -1
  38. package/src/models/dialogNodes_apiResources.js +1 -1
  39. package/src/models/endSessionTriggers.js +1 -1
  40. package/src/models/enterprises.js +1 -1
  41. package/src/models/entity.js +1 -1
  42. package/src/models/entityValues.js +1 -1
  43. package/src/models/faqQuestions.js +1 -1
  44. package/src/models/faqTriggers.js +1 -1
  45. package/src/models/fields.js +28 -0
  46. package/src/models/files.js +1 -1
  47. package/src/models/groups.js +45 -0
  48. package/src/models/groupsContracts.js +13 -0
  49. package/src/models/groupsSendHsms.js +13 -0
  50. package/src/models/ibmProvider.js +1 -1
  51. package/src/models/inactivityTriggers.js +1 -1
  52. package/src/models/index.js +1 -1
  53. package/src/models/intelligence.js +1 -1
  54. package/src/models/intention.js +1 -1
  55. package/src/models/intentionValue.js +1 -1
  56. package/src/models/itleanProvider.js +1 -1
  57. package/src/models/language.js +21 -0
  58. package/src/models/lineConfigurations.js +1 -1
  59. package/src/models/lines.js +1 -1
  60. package/src/models/messagesHsm.js +6 -2
  61. package/src/models/onlineEditions.js +27 -0
  62. package/src/models/openFaqs.js +1 -1
  63. package/src/models/permissions.js +1 -1
  64. package/src/models/postbackGupshup.js +1 -1
  65. package/src/models/profile.js +1 -1
  66. package/src/models/profiles_permission.js +1 -1
  67. package/src/models/quickMessages.js +1 -1
  68. package/src/models/responseChannels.js +39 -0
  69. package/src/models/response_DialogNodes.js +1 -1
  70. package/src/models/responses.js +1 -1
  71. package/src/models/responsesBoxes.js +1 -1
  72. package/src/models/returnHsm.js +1 -1
  73. package/src/models/sendHsm.js +51 -0
  74. package/src/models/sendHsmReturnHsm.js +13 -0
  75. package/src/models/sessions.js +1 -1
  76. package/src/models/skill.js +1 -1
  77. package/src/models/socketClients.js +1 -1
  78. package/src/models/stopwords.js +1 -1
  79. package/src/models/subDepartments.js +1 -1
  80. package/src/models/synonyms.js +1 -1
  81. package/src/models/systemUsers.js +1 -1
  82. package/src/models/systemUsers_Lines.js +1 -1
  83. package/src/models/systemUsers_profiles.js +1 -1
  84. package/src/models/templates.js +1 -1
  85. package/src/models/transhipConversations.js +1 -1
  86. package/src/models/transhipInactivityTriggers.js +1 -1
  87. package/src/models/transhipTriggers.js +1 -1
  88. package/src/presenters/database/migrationHelpers.js +62 -0
  89. package/src/presenters/encryptation.js +14 -0
  90. package/src/seeders/20210505130137-insert-channel-types.js +1 -1
  91. package/src/seeders/20210505132612-insert-intelligence.js +3 -3
  92. package/src/seeders/20210505134700-insert-profiles-permissions.js +3 -3
  93. package/src/seeders/20210505135931-insert-system-users.js +2 -2
  94. package/src/seeders/20210505140259-insert-itlean-provider.js +3 -3
  95. package/src/seeders/20210505140343-insert-templates.js +2 -3
  96. package/src/seeders/20210902160430-insert-apiKey.js +1 -1
  97. package/src/seeders/test/20200924195050-create-ibmprovider.js +38 -0
  98. package/src/seeders/test/20200924195050-create-itlean-provider.js +40 -0
  99. package/src/seeders/test/20200924195050-seed-enterprises.js +24 -0
  100. package/src/seeders/test/20200925184253-seed-skils-itlean-provider.js +37 -0
  101. package/src/seeders/test/20200925184253-seed-skils.js +41 -0
  102. package/src/seeders/test/20200925184254-seed-Intention.js +39 -0
  103. package/src/seeders/test/20200925184258-seed-Intention-values.js +41 -0
  104. package/src/seeders/test/20200925191642-seed-entity-skill-itlean.js +23 -0
  105. package/src/seeders/test/20200925191642-seed-entity.js +23 -0
  106. package/src/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +32 -0
  107. package/src/seeders/test/20200925191643-seed-entity-values.js +33 -0
  108. package/src/seeders/test/20200929132705-seed-dialog-node.js +128 -0
  109. package/src/seeders/test/20201016200600-seed-responses.js +563 -0
  110. package/src/seeders/test/20201104183653-seed-create-ype-skill.js +42 -0
  111. package/src/seeders/test/20201104183700-seed-create-ype-intention.js +26 -0
  112. package/src/seeders/test/20201104183706-seed-create-ype-intention-values.js +70 -0
  113. package/src/seeders/test/20201104183714-seed-create-ype-entity.js +38 -0
  114. package/src/seeders/test/20201104183723-seed-create-ype-entity-values.js +243 -0
  115. package/src/seeders/test/20201104183727-seed-create-ype-synonyms.js +253 -0
  116. package/src/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +124 -0
  117. package/src/seeders/test/20210224171409-create-apiResource.js +114 -0
  118. package/src/seeders/test/20210422144458-seed-context-test.js +175 -0
  119. package/src/seeders/test/20210422181114-seed-jump-node.js +123 -0
  120. package/src/seeders/test/20210422182413-seed-jump-skill.js +123 -0
  121. package/src/seeders/test/20210426100156-seed-api-test.js +138 -0
  122. package/src/seeders/test/20210426103704-seed-multiple-response-test.js +272 -0
  123. package/src/seeders/test/20210426190844-seed-entity-search-test.js +160 -0
  124. package/src/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +160 -0
  125. package/src/seeders/test/20210428105402-seed-test-condition-1.js +190 -0
  126. package/src/seeders/test/20210430181906-seed-test-input-text-zero.js +120 -0
  127. package/src/seeders/test/20210430183204-seed-ype-test-condition.js +557 -0
  128. package/src/seeders/test/20210503172321-seed-invalid-condition.js +119 -0
  129. package/src/seeders/test/20210505140225-insert-skills.js +41 -0
  130. package/src/seeders/test/20210505183810-seed-chain-with-context.js +147 -0
  131. package/src/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +188 -0
  132. package/src/seeders/test/20210507204437-seed-condition-igual-true.js +119 -0
  133. package/src/seeders/test/20210511181006-seed-using-internal-functions.js +274 -0
  134. package/src/seeders/test/20210512140152-seed-ype-real-bot.js +2578 -0
  135. package/src/seeders/test/20210519162746-seed-response-with-context.js +186 -0
  136. package/src/seeders/test/20210524141819-seed-dialog-node-faq.js +244 -0
  137. package/src/seeders/test/20210525180523-seed-regex.js +173 -0
  138. package/src/seeders/test/20210602111930-insert-dialogNodes.js +200 -0
  139. package/src/seeders/test/20210610152534-seed-test-internal-function-in-context.js +216 -0
  140. package/src/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +147 -0
  141. package/src/seeders/test/20210611101042-bot-example-internal-functions.js +985 -0
  142. package/src/seeders/test/20210613111900-bot-example-api.js +420 -0
  143. package/src/seeders/test/20210614113654-miltiple-response-with-research.js +387 -0
  144. package/src/seeders/test/20210616212102-api-authentication-and-list.js +422 -0
  145. package/src/seeders/test/20210624172310-seed-api-duble-request.js +424 -0
  146. package/src/seeders/test/20210628135630-test-branches.js +224 -0
  147. package/src/seeders/test/20210629141030-test-departments.js +225 -0
  148. package/src/seeders/test/20210630105430-test-subDepartments.js +223 -0
  149. package/src/seeders/test/20210630114011-test-contact.js +178 -0
  150. package/src/seeders/test/20210701130630-test-channels.js +381 -0
  151. package/src/seeders/test/20210702191230-seed-test-counter-in-context.js +122 -0
  152. package/src/seeders/test/20210705061313-test-fields.js +152 -0
  153. package/src/seeders/test/20210705080813-test-groups.js +122 -0
  154. package/src/seeders/test/20210705105918-seed-test-function-slice.js +161 -0
  155. package/src/seeders/test/20210706105508-seed-node-without-condition.js +254 -0
  156. package/src/seeders/test/20210706112906-seed-1.0-on-response.js +172 -0
  157. package/src/seeders/test/20210706145547-seed-clean-context.js +132 -0
  158. package/src/seeders/test/20210707151538-seed-test-response-break-line.js +161 -0
  159. package/src/seeders/test/20210713155530-seed-test-itl0079-875.js +129 -0
  160. package/src/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +764 -0
  161. package/src/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +250 -0
  162. package/src/seeders/test/20210719154025-seed-2-contexts-together.js +133 -0
  163. package/src/seeders/test/20210802144227-seed-end-session-trigger.js +163 -0
  164. package/src/seeders/test/20210803103030-tests-dialogNodes.js +406 -0
  165. package/src/seeders/test/20210804094630-tests-lines.js +487 -0
  166. package/src/seeders/test/20210805104130-tests-lineConfigurations.js +106 -0
  167. package/src/seeders/test/20210805133330-tests-systemUsers.js +507 -0
  168. package/src/seeders/test/20210813124630-tests-getMessagesBySession.js +333 -0
  169. package/src/seeders/test/20210816151830-testes-inactivityTriggers.js +196 -0
  170. package/src/seeders/test/20210830134230-tests-sessionReports.js +254 -0
  171. package/src/seeders/test/20210830165830-tests-attendancesHistory.js +181 -0
  172. package/src/seeders/test/20210927115821-skill-test-open-faq.js +37 -0
  173. package/src/seeders/test/20211004131813-true-and-context-with-parent.js +190 -0
  174. package/src/seeders/test/20211006210203-context-concat-with-text.js +193 -0
  175. package/src/migrations/20210613125036-unnamed-migration.js +0 -21
@@ -0,0 +1,274 @@
1
+ 'use strict'
2
+ const SkillId = '03484722-36ef-45fd-9111-4aad88e6b7b3'
3
+
4
+ const dialogNode1Id = 'c5b62e86-8eba-4b06-80b3-2874c1d7d832'
5
+ const dialogNode2Id = 'f7c2ed04-8645-4355-aac3-7d0f496e9a86'
6
+ const dialogNode3Id = 'e1743418-f04e-452e-8bb2-90ba55e1430e'
7
+ const dialogNode4Id = 'e8ee9e54-11c2-4c70-9786-87ba543b403c'
8
+ const dialogNode5Id = '7a4170de-75cd-400d-8ae2-b598abeb42f0'
9
+ const dialogNode6Id = 'dc1dede2-7932-42bd-bd7f-3bdf4a8af387'
10
+ const dialogNode7Id = 'c5ba736f-892c-4d3d-8487-8fbfec588c0b'
11
+
12
+ const responseId1 = '12bc90e6-d956-4cfc-994f-d63a76483dc7'
13
+
14
+ module.exports = {
15
+ up: async (queryInterface, Sequelize) => {
16
+ const ibmIntelligenceId = await queryInterface.rawSelect(
17
+ 'Intelligences',
18
+ {
19
+ where: {
20
+ providerType: 'ibm',
21
+ },
22
+ },
23
+ ['id']
24
+ )
25
+
26
+ const ibmProviderId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
27
+ await queryInterface.bulkInsert(
28
+ 'Skills',
29
+ [
30
+ {
31
+ id: SkillId,
32
+ IntelligenceId: ibmIntelligenceId,
33
+ AwsProviderId: null,
34
+ ItleanProviderId: null,
35
+ IbmProviderId: ibmProviderId,
36
+ name: 'Skill internal function',
37
+ description: 'internal function invoke',
38
+ lang: 'pt-br',
39
+ createdAt: Sequelize.literal('now()'),
40
+ updatedAt: Sequelize.literal('now()'),
41
+ },
42
+ ],
43
+ {}
44
+ )
45
+
46
+ await queryInterface.bulkInsert(
47
+ 'DialogNodes',
48
+ [
49
+ {
50
+ id: dialogNode1Id,
51
+ name: 'internal function',
52
+ condition:
53
+ "input.text === 'date' && now() === date().format('DD/MM/YYYY')",
54
+ SkillId,
55
+ contexts: '[]',
56
+ step: 1,
57
+ replayWait: true,
58
+ type: 'node',
59
+ isMultipleResponse: false,
60
+ JumpToDialogNodeId: null,
61
+ JumpToSkillId: null,
62
+ DialogNodeFolderId: null,
63
+ createdAt: Sequelize.literal('now()'),
64
+ updatedAt: Sequelize.literal('now()'),
65
+ },
66
+ {
67
+ id: dialogNode2Id,
68
+ name: 'internal function',
69
+ condition:
70
+ "input.text === 'date_string' && now('DD/MM/YYYY') === date().format('DD/MM/YYYY')",
71
+ SkillId,
72
+ contexts: '[]',
73
+ step: 2,
74
+ replayWait: true,
75
+ type: 'node',
76
+ isMultipleResponse: false,
77
+ JumpToDialogNodeId: null,
78
+ JumpToSkillId: null,
79
+ DialogNodeFolderId: null,
80
+ createdAt: Sequelize.literal('now()'),
81
+ updatedAt: Sequelize.literal('now()'),
82
+ },
83
+ {
84
+ id: dialogNode3Id,
85
+ name: 'internal function',
86
+ condition:
87
+ "(input.text === 'length' || input.text === 'size') && size('abc') === 'abc'.length",
88
+ SkillId,
89
+ contexts: '[]',
90
+ step: 3,
91
+ replayWait: true,
92
+ type: 'node',
93
+ isMultipleResponse: false,
94
+ JumpToDialogNodeId: null,
95
+ JumpToSkillId: null,
96
+ DialogNodeFolderId: null,
97
+ createdAt: Sequelize.literal('now()'),
98
+ updatedAt: Sequelize.literal('now()'),
99
+ },
100
+
101
+ {
102
+ id: dialogNode4Id,
103
+ name: 'internal function',
104
+ condition:
105
+ "input.text === 'randomFloor' && randomFloor(100)%2 === parseInt(0)",
106
+ SkillId,
107
+ contexts: '[]',
108
+ step: 4,
109
+ replayWait: true,
110
+ type: 'node',
111
+ isMultipleResponse: false,
112
+ JumpToDialogNodeId: null,
113
+ JumpToSkillId: null,
114
+ DialogNodeFolderId: null,
115
+ createdAt: Sequelize.literal('now()'),
116
+ updatedAt: Sequelize.literal('now()'),
117
+ },
118
+
119
+ {
120
+ id: dialogNode5Id,
121
+ name: 'internal function',
122
+ condition:
123
+ 'input.text === randomFloorContext && $contextField === parseInt(0)',
124
+ SkillId,
125
+ contexts: JSON.stringify({
126
+ contextField: 'randomFloor(100)%2',
127
+ }),
128
+ step: 5,
129
+ replayWait: true,
130
+ type: 'node',
131
+ isMultipleResponse: false,
132
+ JumpToDialogNodeId: null,
133
+ JumpToSkillId: null,
134
+ DialogNodeFolderId: null,
135
+ createdAt: Sequelize.literal('now()'),
136
+ updatedAt: Sequelize.literal('now()'),
137
+ },
138
+ {
139
+ id: dialogNode6Id,
140
+ name: 'internal function',
141
+ condition:
142
+ 'input.text === currency && currencyFormat(10.5) === 10,50',
143
+ SkillId,
144
+ contexts: JSON.stringify({
145
+ contextField: 'randomFloor(100)%2',
146
+ }),
147
+ step: 6,
148
+ replayWait: true,
149
+ type: 'node',
150
+ isMultipleResponse: false,
151
+ JumpToDialogNodeId: null,
152
+ JumpToSkillId: null,
153
+ DialogNodeFolderId: null,
154
+ createdAt: Sequelize.literal('now()'),
155
+ updatedAt: Sequelize.literal('now()'),
156
+ },
157
+ {
158
+ id: dialogNode7Id,
159
+ name: 'internal function',
160
+ condition:
161
+ 'input.text === extractValue && extractString(abc123) === abc',
162
+ SkillId,
163
+ contexts: JSON.stringify({
164
+ contextField: 'randomFloor(100)%2',
165
+ }),
166
+ step: 7,
167
+ replayWait: true,
168
+ type: 'node',
169
+ isMultipleResponse: false,
170
+ JumpToDialogNodeId: null,
171
+ JumpToSkillId: null,
172
+ DialogNodeFolderId: null,
173
+ createdAt: Sequelize.literal('now()'),
174
+ updatedAt: Sequelize.literal('now()'),
175
+ },
176
+ ],
177
+ {}
178
+ )
179
+
180
+ await queryInterface.bulkInsert(
181
+ 'Responses',
182
+ [
183
+ {
184
+ id: responseId1,
185
+ name: 'Oi! sou um teste de funções internas',
186
+ SkillId,
187
+ createdAt: Sequelize.literal('now()'),
188
+ updatedAt: Sequelize.literal('now()'),
189
+ },
190
+ ],
191
+ {}
192
+ )
193
+
194
+ await queryInterface.bulkInsert(
195
+ 'ResponsesBoxes',
196
+ [
197
+ {
198
+ ResponseId: responseId1,
199
+ ChannelTypeId: null,
200
+ type: 'flow',
201
+ payload: JSON.stringify([
202
+ {
203
+ id: '',
204
+ type: 'text',
205
+ messages: [
206
+ { message: 'Mensagem de teste! R$ currencyFormat(10) 😍' },
207
+ ],
208
+ },
209
+ ]),
210
+ createdAt: Sequelize.literal('now()'),
211
+ updatedAt: Sequelize.literal('now()'),
212
+ },
213
+ ],
214
+ {}
215
+ )
216
+
217
+ await queryInterface.bulkInsert('Response_DialogNodes', [
218
+ {
219
+ DialogNodeId: dialogNode1Id,
220
+ ResponseId: responseId1,
221
+ createdAt: Sequelize.literal('now()'),
222
+ updatedAt: Sequelize.literal('now()'),
223
+ },
224
+ {
225
+ DialogNodeId: dialogNode2Id,
226
+ ResponseId: responseId1,
227
+ createdAt: Sequelize.literal('now()'),
228
+ updatedAt: Sequelize.literal('now()'),
229
+ },
230
+ {
231
+ DialogNodeId: dialogNode3Id,
232
+ ResponseId: responseId1,
233
+ createdAt: Sequelize.literal('now()'),
234
+ updatedAt: Sequelize.literal('now()'),
235
+ },
236
+ {
237
+ DialogNodeId: dialogNode4Id,
238
+ ResponseId: responseId1,
239
+ createdAt: Sequelize.literal('now()'),
240
+ updatedAt: Sequelize.literal('now()'),
241
+ },
242
+ {
243
+ DialogNodeId: dialogNode5Id,
244
+ ResponseId: responseId1,
245
+ createdAt: Sequelize.literal('now()'),
246
+ updatedAt: Sequelize.literal('now()'),
247
+ },
248
+ {
249
+ DialogNodeId: dialogNode6Id,
250
+ ResponseId: responseId1,
251
+ createdAt: Sequelize.literal('now()'),
252
+ updatedAt: Sequelize.literal('now()'),
253
+ },
254
+ {
255
+ DialogNodeId: dialogNode7Id,
256
+ ResponseId: responseId1,
257
+ createdAt: Sequelize.literal('now()'),
258
+ updatedAt: Sequelize.literal('now()'),
259
+ },
260
+ ])
261
+ },
262
+
263
+ down: async (queryInterface) => {
264
+ await queryInterface.bulkDelete('Response_DialogNodes', [
265
+ { ResponseId: responseId1 },
266
+ ])
267
+ await queryInterface.bulkDelete('ResponsesBoxes', [
268
+ { ResponseId: responseId1 },
269
+ ])
270
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
271
+ await queryInterface.bulkDelete('DialogNodes', [{ SkillId }])
272
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
273
+ },
274
+ }