@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,557 @@
1
+ 'use strict'
2
+ const SkillId = 'c97957f1-b1b9-45b6-beaf-32278e253b98'
3
+
4
+ const dialogNode1Id = '67fc4f9b-41f0-49eb-88a7-0be4fd7cda00'
5
+ const dialogNode2Id = 'bfd4a3ce-7369-4889-bf41-2d102adcea5f'
6
+
7
+ const dialogNodeFolder1Id = '7c60a533-3138-4557-b4db-00f1f028cc1c'
8
+ const dialogNodeFolder2Id = 'b30f9d1d-e341-4220-9b68-54b931b34959'
9
+ const dialogNodeFolder3Id = 'c3b577f1-4e09-4b00-bd26-06579ed18f1e'
10
+ const dialogNodeFolder4Id = 'bed9f706-25ca-4cb7-8df5-6f80f4fa275e'
11
+ const dialogNodeFolder5Id = '924e5d35-8f07-4992-b44b-fdd7331b6048'
12
+
13
+ const responseId1 = '989ba797-ec59-45ad-8418-daadaf021942'
14
+
15
+ const IntentionId = '61503c99-cc41-4afa-968d-87739a4574dd'
16
+
17
+ const EntityProductId = '6aabcd30-08f8-4ac3-8c66-c51241961c8e'
18
+ const EntityHowToUseId = '4c8c6059-a5a8-4936-b67c-6307d22fb589'
19
+
20
+ const EntityProduct1_1Id = '0479ac01-92c0-44c2-b555-be7d389ad4d5'
21
+ const EntityProduct1_2Id = '73d94f6c-2750-4134-b257-28df0211ac4f'
22
+ const EntityProduct1_3Id = '3132aa1f-5fcd-4b25-bb60-4f7869232305'
23
+ const EntityProduct1_4Id = 'cf8f77a7-782a-4ffa-9e86-7f61eb9d24e0'
24
+ const EntityProduct1_5Id = '84721b74-c767-42c4-b1fb-5ac862123bed'
25
+
26
+ const EntityHowToUse1_1Id = '015cde08-a43a-454d-b50b-c664d8f49369'
27
+
28
+ module.exports = {
29
+ up: async (queryInterface, Sequelize) => {
30
+ const ibmIntelligenceId = await queryInterface.rawSelect(
31
+ 'Intelligences',
32
+ {
33
+ where: {
34
+ providerType: 'ibm',
35
+ },
36
+ },
37
+ ['id']
38
+ )
39
+
40
+ const channelTypeId = await queryInterface.rawSelect(
41
+ 'ChannelTypes',
42
+ {
43
+ where: {
44
+ channelName: 'webchat',
45
+ },
46
+ },
47
+ ['id']
48
+ )
49
+
50
+ const ibmProviderId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
51
+ await queryInterface.bulkInsert(
52
+ 'Skills',
53
+ [
54
+ {
55
+ id: SkillId,
56
+ IntelligenceId: ibmIntelligenceId,
57
+ AwsProviderId: null,
58
+ ItleanProviderId: null,
59
+ IbmProviderId: ibmProviderId,
60
+ name: 'Skill ype',
61
+ description: 'ype',
62
+ lang: 'pt-br',
63
+ createdAt: Sequelize.literal('now()'),
64
+ updatedAt: Sequelize.literal('now()'),
65
+ },
66
+ ],
67
+ {}
68
+ )
69
+
70
+ await queryInterface.bulkInsert(
71
+ 'Intentions',
72
+ [
73
+ {
74
+ id: IntentionId,
75
+ name: 'modo_de_usar_produtos',
76
+ description: '',
77
+ SkillId,
78
+ createdAt: Sequelize.literal('now()'),
79
+ updatedAt: Sequelize.literal('now()'),
80
+ },
81
+ ],
82
+ {}
83
+ )
84
+
85
+ await queryInterface.bulkInsert(
86
+ 'IntentionValues',
87
+ [
88
+ {
89
+ name: 'modo de uso',
90
+ IntentionId,
91
+ createdAt: Sequelize.literal('now()'),
92
+ updatedAt: Sequelize.literal('now()'),
93
+ },
94
+ {
95
+ name: 'modo de usar',
96
+ IntentionId,
97
+ createdAt: Sequelize.literal('now()'),
98
+ updatedAt: Sequelize.literal('now()'),
99
+ },
100
+ {
101
+ name: 'Com o que devo utilizar',
102
+ IntentionId,
103
+ createdAt: Sequelize.literal('now()'),
104
+ updatedAt: Sequelize.literal('now()'),
105
+ },
106
+ {
107
+ name: 'Com devo utilizar',
108
+ IntentionId,
109
+ createdAt: Sequelize.literal('now()'),
110
+ updatedAt: Sequelize.literal('now()'),
111
+ },
112
+ {
113
+ name: 'Como faço para utilizar',
114
+ IntentionId,
115
+ createdAt: Sequelize.literal('now()'),
116
+ updatedAt: Sequelize.literal('now()'),
117
+ },
118
+ {
119
+ name: 'Como posso utilizar',
120
+ IntentionId,
121
+ createdAt: Sequelize.literal('now()'),
122
+ updatedAt: Sequelize.literal('now()'),
123
+ },
124
+ {
125
+ name: 'Como usar',
126
+ IntentionId,
127
+ createdAt: Sequelize.literal('now()'),
128
+ updatedAt: Sequelize.literal('now()'),
129
+ },
130
+ {
131
+ name: 'Como utilizar',
132
+ IntentionId,
133
+ createdAt: Sequelize.literal('now()'),
134
+ updatedAt: Sequelize.literal('now()'),
135
+ },
136
+ {
137
+ name: 'CONHEÇA A LINHA COMPLETA',
138
+ IntentionId,
139
+ createdAt: Sequelize.literal('now()'),
140
+ updatedAt: Sequelize.literal('now()'),
141
+ },
142
+ {
143
+ name: 'Desisnfecção utilizando',
144
+ IntentionId,
145
+ createdAt: Sequelize.literal('now()'),
146
+ updatedAt: Sequelize.literal('now()'),
147
+ },
148
+ ],
149
+ {}
150
+ )
151
+
152
+ await queryInterface.bulkInsert(
153
+ 'Entities',
154
+ [
155
+ {
156
+ id: EntityProductId,
157
+ name: 'produtos',
158
+ SkillId,
159
+ createdAt: Sequelize.literal('now()'),
160
+ updatedAt: Sequelize.literal('now()'),
161
+ },
162
+ {
163
+ id: EntityHowToUseId,
164
+ name: 'modo_usar',
165
+ SkillId,
166
+ createdAt: Sequelize.literal('now()'),
167
+ updatedAt: Sequelize.literal('now()'),
168
+ },
169
+ ],
170
+ {}
171
+ )
172
+
173
+ await queryInterface.bulkInsert(
174
+ 'EntityValues',
175
+ [
176
+ {
177
+ id: EntityProduct1_1Id,
178
+ EntityId: EntityProductId,
179
+ name: 'detergente_tradicional_ype',
180
+ synonyms:
181
+ 'Detergente Tradicional, Detergente, detergente tradicional',
182
+ type: 'synonyms',
183
+ createdAt: Sequelize.literal('now()'),
184
+ updatedAt: Sequelize.literal('now()'),
185
+ },
186
+ {
187
+ id: EntityProduct1_2Id,
188
+ EntityId: EntityProductId,
189
+ name: 'sabao_em_po',
190
+ type: 'synonyms',
191
+ synonyms: 'Sabão em pó, Sabão, Sabao em po',
192
+ createdAt: Sequelize.literal('now()'),
193
+ updatedAt: Sequelize.literal('now()'),
194
+ },
195
+ {
196
+ id: EntityProduct1_3Id,
197
+ EntityId: EntityProductId,
198
+ name: 'amaciante',
199
+ type: 'synonyms',
200
+ synonyms: 'Amaciante Ypê, Amaciante',
201
+ createdAt: Sequelize.literal('now()'),
202
+ updatedAt: Sequelize.literal('now()'),
203
+ },
204
+ {
205
+ id: EntityProduct1_4Id,
206
+ EntityId: EntityProductId,
207
+ name: 'agua_sanitaria',
208
+ type: 'synonyms',
209
+ synonyms: 'Água Sanitária Ypê, agua sanitaria ype, Água Sanitária',
210
+ createdAt: Sequelize.literal('now()'),
211
+ updatedAt: Sequelize.literal('now()'),
212
+ },
213
+ {
214
+ id: EntityProduct1_5Id,
215
+ EntityId: EntityProductId,
216
+ name: 'multiuso_premium',
217
+ type: 'synonyms',
218
+ synonyms:
219
+ 'Multiuso Premium Ypê, Multiuso Premium, Multiuso Premium Ype',
220
+ createdAt: Sequelize.literal('now()'),
221
+ updatedAt: Sequelize.literal('now()'),
222
+ },
223
+ {
224
+ id: EntityHowToUse1_1Id,
225
+ EntityId: EntityHowToUseId,
226
+ name: 'modo de usar',
227
+ type: 'synonyms',
228
+ synonyms: 'modo de usar, modo de uso, como usar',
229
+ createdAt: Sequelize.literal('now()'),
230
+ updatedAt: Sequelize.literal('now()'),
231
+ },
232
+ ],
233
+ {}
234
+ )
235
+ await queryInterface.bulkInsert(
236
+ 'Synonyms',
237
+ [
238
+ {
239
+ EntityId: EntityProductId,
240
+ EntityValueId: EntityProduct1_1Id,
241
+ name: 'Detergente Tradicional',
242
+ type: 'synonyms',
243
+ createdAt: Sequelize.literal('now()'),
244
+ updatedAt: Sequelize.literal('now()'),
245
+ },
246
+ {
247
+ EntityId: EntityProductId,
248
+ EntityValueId: EntityProduct1_1Id,
249
+ name: 'Detergente',
250
+ type: 'synonyms',
251
+ createdAt: Sequelize.literal('now()'),
252
+ updatedAt: Sequelize.literal('now()'),
253
+ },
254
+ {
255
+ EntityId: EntityProductId,
256
+ EntityValueId: EntityProduct1_1Id,
257
+ name: 'detergente tradicional',
258
+ type: 'synonyms',
259
+ createdAt: Sequelize.literal('now()'),
260
+ updatedAt: Sequelize.literal('now()'),
261
+ },
262
+ {
263
+ EntityId: EntityHowToUseId,
264
+ EntityValueId: EntityProduct1_2Id,
265
+ name: 'Sabão em pó',
266
+ type: 'synonyms',
267
+ createdAt: Sequelize.literal('now()'),
268
+ updatedAt: Sequelize.literal('now()'),
269
+ },
270
+ {
271
+ EntityId: EntityHowToUseId,
272
+ EntityValueId: EntityProduct1_3Id,
273
+ name: 'Amaciante Ypê',
274
+ type: 'synonyms',
275
+ createdAt: Sequelize.literal('now()'),
276
+ updatedAt: Sequelize.literal('now()'),
277
+ },
278
+ {
279
+ EntityId: EntityHowToUseId,
280
+ EntityValueId: EntityProduct1_3Id,
281
+ name: 'Amaciante',
282
+ type: 'synonyms',
283
+ createdAt: Sequelize.literal('now()'),
284
+ updatedAt: Sequelize.literal('now()'),
285
+ },
286
+ {
287
+ EntityId: EntityHowToUseId,
288
+ EntityValueId: EntityProduct1_4Id,
289
+ name: 'Água Sanitária Ypê',
290
+ type: 'synonyms',
291
+ createdAt: Sequelize.literal('now()'),
292
+ updatedAt: Sequelize.literal('now()'),
293
+ },
294
+ {
295
+ EntityId: EntityHowToUseId,
296
+ EntityValueId: EntityProduct1_4Id,
297
+ name: 'agua sanitaria ype',
298
+ type: 'synonyms',
299
+ createdAt: Sequelize.literal('now()'),
300
+ updatedAt: Sequelize.literal('now()'),
301
+ },
302
+ {
303
+ EntityId: EntityHowToUseId,
304
+ EntityValueId: EntityProduct1_4Id,
305
+ name: 'Água Sanitária',
306
+ type: 'synonyms',
307
+ createdAt: Sequelize.literal('now()'),
308
+ updatedAt: Sequelize.literal('now()'),
309
+ },
310
+ {
311
+ EntityId: EntityHowToUseId,
312
+ EntityValueId: EntityProduct1_5Id,
313
+ name: 'Multiuso Premium Ypê',
314
+ type: 'synonyms',
315
+ createdAt: Sequelize.literal('now()'),
316
+ updatedAt: Sequelize.literal('now()'),
317
+ },
318
+ {
319
+ EntityId: EntityHowToUseId,
320
+ EntityValueId: EntityProduct1_5Id,
321
+ name: 'Multiuso Premium',
322
+ type: 'synonyms',
323
+ createdAt: Sequelize.literal('now()'),
324
+ updatedAt: Sequelize.literal('now()'),
325
+ },
326
+ {
327
+ EntityId: EntityHowToUseId,
328
+ EntityValueId: EntityProduct1_5Id,
329
+ name: 'Multiuso Premium Ype',
330
+ type: 'synonyms',
331
+ createdAt: Sequelize.literal('now()'),
332
+ updatedAt: Sequelize.literal('now()'),
333
+ },
334
+ {
335
+ EntityId: EntityHowToUseId,
336
+ EntityValueId: EntityProduct1_2Id,
337
+ name: 'Sabao em po',
338
+ type: 'synonyms',
339
+ createdAt: Sequelize.literal('now()'),
340
+ updatedAt: Sequelize.literal('now()'),
341
+ },
342
+ {
343
+ EntityId: EntityHowToUseId,
344
+ EntityValueId: EntityHowToUse1_1Id,
345
+ name: 'modo de usar',
346
+ type: 'synonyms',
347
+ createdAt: Sequelize.literal('now()'),
348
+ updatedAt: Sequelize.literal('now()'),
349
+ },
350
+ {
351
+ EntityId: EntityHowToUseId,
352
+ EntityValueId: EntityHowToUse1_1Id,
353
+ name: 'modo de uso',
354
+ type: 'synonyms',
355
+ createdAt: Sequelize.literal('now()'),
356
+ updatedAt: Sequelize.literal('now()'),
357
+ },
358
+ ],
359
+ {}
360
+ )
361
+ await queryInterface.bulkInsert(
362
+ 'DialogNodes',
363
+ [
364
+ {
365
+ id: dialogNodeFolder1Id,
366
+ name: 'Ype Folder 1',
367
+ condition: '',
368
+ SkillId,
369
+ contexts: '{}',
370
+ step: 1,
371
+ replayWait: true,
372
+ type: 'folder',
373
+ isMultipleResponse: false,
374
+ JumpToDialogNodeId: null,
375
+ JumpToSkillId: null,
376
+ DialogNodeFolderId: null,
377
+ createdAt: Sequelize.literal('now()'),
378
+ updatedAt: Sequelize.literal('now()'),
379
+ },
380
+ {
381
+ id: dialogNodeFolder2Id,
382
+ name: 'Ype Folder 2',
383
+ condition: '',
384
+ SkillId,
385
+ contexts: '{}',
386
+ step: 1,
387
+ replayWait: true,
388
+ type: 'folder',
389
+ isMultipleResponse: false,
390
+ JumpToDialogNodeId: null,
391
+ JumpToSkillId: null,
392
+ DialogNodeFolderId: dialogNodeFolder1Id,
393
+ createdAt: Sequelize.literal('now()'),
394
+ updatedAt: Sequelize.literal('now()'),
395
+ },
396
+ {
397
+ id: dialogNodeFolder3Id,
398
+ name: 'Ype Folder 3',
399
+ condition: '',
400
+ SkillId,
401
+ contexts: '{}',
402
+ step: 1,
403
+ replayWait: true,
404
+ type: 'folder',
405
+ isMultipleResponse: false,
406
+ JumpToDialogNodeId: null,
407
+ JumpToSkillId: null,
408
+ DialogNodeFolderId: dialogNodeFolder2Id,
409
+ createdAt: Sequelize.literal('now()'),
410
+ updatedAt: Sequelize.literal('now()'),
411
+ },
412
+ {
413
+ id: dialogNodeFolder4Id,
414
+ name: 'Ype Folder 4',
415
+ condition: '',
416
+ SkillId,
417
+ contexts: '{}',
418
+ step: 1,
419
+ replayWait: true,
420
+ type: 'folder',
421
+ isMultipleResponse: false,
422
+ JumpToDialogNodeId: null,
423
+ JumpToSkillId: null,
424
+ DialogNodeFolderId: dialogNodeFolder3Id,
425
+ createdAt: Sequelize.literal('now()'),
426
+ updatedAt: Sequelize.literal('now()'),
427
+ },
428
+ {
429
+ id: dialogNodeFolder5Id,
430
+ name: 'Ype Folder 5',
431
+ condition: '',
432
+ SkillId,
433
+ contexts: '{}',
434
+ step: 1,
435
+ replayWait: true,
436
+ type: 'folder',
437
+ isMultipleResponse: false,
438
+ JumpToDialogNodeId: null,
439
+ JumpToSkillId: null,
440
+ DialogNodeFolderId: dialogNodeFolder3Id,
441
+ createdAt: Sequelize.literal('now()'),
442
+ updatedAt: Sequelize.literal('now()'),
443
+ },
444
+ {
445
+ id: dialogNode1Id,
446
+ name: 'Ype Conditions test Detergente',
447
+ condition:
448
+ '#modo_de_usar_produtos && @produtos:detergente_tradicional_ype || input.text == menu_prod_deter_ype_ModoUsar || $nivel_2 == menu_prod_deter_ype && @modo_usar',
449
+ SkillId,
450
+ contexts: JSON.stringify({
451
+ nivel_2: 'menu_prod_deter_ype',
452
+ }),
453
+ step: 1,
454
+ replayWait: true,
455
+ type: 'node',
456
+ isMultipleResponse: false,
457
+ JumpToDialogNodeId: null,
458
+ JumpToSkillId: null,
459
+ DialogNodeFolderId: dialogNodeFolder4Id,
460
+ createdAt: Sequelize.literal('now()'),
461
+ updatedAt: Sequelize.literal('now()'),
462
+ },
463
+ {
464
+ id: dialogNode2Id,
465
+ name: 'Ype Conditions test Sabão',
466
+ condition:
467
+ '#modo_usar_produtos && @produtos:sabao_em_po || input.text == produtos_sabaopotixan_ModoUsar || $nivel_2 == produtos_sabaopotixan && @modo_usar',
468
+ SkillId,
469
+ contexts: JSON.stringify({
470
+ nivel_2: 'produtos_sabaopotixan',
471
+ }),
472
+ step: 1,
473
+ replayWait: true,
474
+ type: 'node',
475
+ isMultipleResponse: false,
476
+ JumpToDialogNodeId: null,
477
+ JumpToSkillId: null,
478
+ DialogNodeFolderId: dialogNodeFolder5Id,
479
+ createdAt: Sequelize.literal('now()'),
480
+ updatedAt: Sequelize.literal('now()'),
481
+ },
482
+ ],
483
+ {}
484
+ )
485
+
486
+ await queryInterface.bulkInsert(
487
+ 'Responses',
488
+ [
489
+ {
490
+ id: responseId1,
491
+ name: 'Oi! Minha condição é input.text == 0',
492
+ SkillId,
493
+ createdAt: Sequelize.literal('now()'),
494
+ updatedAt: Sequelize.literal('now()'),
495
+ },
496
+ ],
497
+ {}
498
+ )
499
+
500
+ await queryInterface.bulkInsert(
501
+ 'ResponsesBoxes',
502
+ [
503
+ {
504
+ ResponseId: responseId1,
505
+ ChannelTypeId: channelTypeId,
506
+ type: 'flow',
507
+ payload: '',
508
+ createdAt: Sequelize.literal('now()'),
509
+ updatedAt: Sequelize.literal('now()'),
510
+ },
511
+ ],
512
+ {}
513
+ )
514
+
515
+ await queryInterface.bulkInsert('Response_DialogNodes', [
516
+ {
517
+ DialogNodeId: dialogNode1Id,
518
+ ResponseId: responseId1,
519
+ createdAt: Sequelize.literal('now()'),
520
+ updatedAt: Sequelize.literal('now()'),
521
+ },
522
+
523
+ {
524
+ DialogNodeId: dialogNode2Id,
525
+ ResponseId: responseId1,
526
+ createdAt: Sequelize.literal('now()'),
527
+ updatedAt: Sequelize.literal('now()'),
528
+ },
529
+ ])
530
+ },
531
+
532
+ down: async (queryInterface) => {
533
+ await queryInterface.bulkDelete('Response_DialogNodes', [
534
+ { ResponseId: responseId1 },
535
+ ])
536
+ await queryInterface.bulkDelete('ResponsesBoxes', [
537
+ { ResponseId: responseId1 },
538
+ ])
539
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
540
+ await queryInterface.bulkDelete('DialogNodes', [{ SkillId }])
541
+
542
+ await queryInterface.bulkDelete('IntentionValues', [{ IntentionId }])
543
+ await queryInterface.bulkDelete('Intentions', [{ SkillId }])
544
+ await queryInterface.bulkDelete('Entities', [{ SkillId }])
545
+ await queryInterface.bulkDelete('Synonyms', [{ EntityId: EntityProductId }])
546
+ await queryInterface.bulkDelete('Synonyms', [
547
+ { EntityId: EntityHowToUseId },
548
+ ])
549
+ await queryInterface.bulkDelete('EntityValues', [
550
+ { EntityId: EntityProductId },
551
+ ])
552
+ await queryInterface.bulkDelete('EntityValues', [
553
+ { EntityId: EntityHowToUseId },
554
+ ])
555
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
556
+ },
557
+ }
@@ -0,0 +1,119 @@
1
+ 'use strict'
2
+ const SkillId = '7f0dca03-e97a-42c0-aa7e-352372491e58'
3
+
4
+ const dialogNode1Id = '8f3441bb-8a53-4bca-840e-21db0d41418f'
5
+
6
+ const responseId1 = '9244ff98-1b04-4a4b-a52b-96c0d08affa6'
7
+
8
+ module.exports = {
9
+ up: async (queryInterface, Sequelize) => {
10
+ const ibmIntelligenceId = await queryInterface.rawSelect(
11
+ 'Intelligences',
12
+ {
13
+ where: {
14
+ providerType: 'ibm',
15
+ },
16
+ },
17
+ ['id']
18
+ )
19
+
20
+ const ibmProviderId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
21
+ await queryInterface.bulkInsert(
22
+ 'Skills',
23
+ [
24
+ {
25
+ id: SkillId,
26
+ IntelligenceId: ibmIntelligenceId,
27
+ AwsProviderId: null,
28
+ ItleanProviderId: null,
29
+ IbmProviderId: ibmProviderId,
30
+ name: 'Skill without condition',
31
+ description: 'without condition',
32
+ lang: 'pt-br',
33
+ createdAt: Sequelize.literal('now()'),
34
+ updatedAt: Sequelize.literal('now()'),
35
+ },
36
+ ],
37
+ {}
38
+ )
39
+
40
+ await queryInterface.bulkInsert(
41
+ 'DialogNodes',
42
+ [
43
+ {
44
+ id: dialogNode1Id,
45
+ name: 'without condition',
46
+ condition: '',
47
+ SkillId,
48
+ contexts: '[]',
49
+ step: 1,
50
+ replayWait: true,
51
+ type: 'node',
52
+ isMultipleResponse: false,
53
+ JumpToDialogNodeId: null,
54
+ JumpToSkillId: '69f6c36c-5e97-4d4b-88f5-aa27ae67c738',
55
+ DialogNodeFolderId: null,
56
+ createdAt: Sequelize.literal('now()'),
57
+ updatedAt: Sequelize.literal('now()'),
58
+ },
59
+ ],
60
+ {}
61
+ )
62
+
63
+ await queryInterface.bulkInsert(
64
+ 'Responses',
65
+ [
66
+ {
67
+ id: responseId1,
68
+ name: 'Oi! Eu não tenho condição',
69
+ SkillId,
70
+ createdAt: Sequelize.literal('now()'),
71
+ updatedAt: Sequelize.literal('now()'),
72
+ },
73
+ ],
74
+ {}
75
+ )
76
+
77
+ await queryInterface.bulkInsert(
78
+ 'ResponsesBoxes',
79
+ [
80
+ {
81
+ ResponseId: responseId1,
82
+ ChannelTypeId: null,
83
+ type: 'flow',
84
+ payload: JSON.stringify([
85
+ {
86
+ id: '',
87
+ type: 'text',
88
+ messages: [{ message: 'Mensagem de teste! 😍' }],
89
+ },
90
+ ]),
91
+ createdAt: Sequelize.literal('now()'),
92
+ updatedAt: Sequelize.literal('now()'),
93
+ },
94
+ ],
95
+ {}
96
+ )
97
+
98
+ await queryInterface.bulkInsert('Response_DialogNodes', [
99
+ {
100
+ DialogNodeId: dialogNode1Id,
101
+ ResponseId: responseId1,
102
+ createdAt: Sequelize.literal('now()'),
103
+ updatedAt: Sequelize.literal('now()'),
104
+ },
105
+ ])
106
+ },
107
+
108
+ down: async (queryInterface) => {
109
+ await queryInterface.bulkDelete('Response_DialogNodes', [
110
+ { ResponseId: responseId1 },
111
+ ])
112
+ await queryInterface.bulkDelete('ResponsesBoxes', [
113
+ { ResponseId: responseId1 },
114
+ ])
115
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
116
+ await queryInterface.bulkDelete('DialogNodes', [{ id: dialogNode1Id }])
117
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
118
+ },
119
+ }
@@ -0,0 +1,41 @@
1
+ 'use strict'
2
+ const { PROVIDER_TYPES } = require('./../../models/intelligence')
3
+
4
+ module.exports = {
5
+ up: async (queryInterface) => {
6
+ const EnterpriseId = await queryInterface.rawSelect(
7
+ 'Enterprises',
8
+ { where: { cnpj: process.env.ENTERPRISE_CNPJ } },
9
+ ['id']
10
+ )
11
+ const ItleanProviderId = await queryInterface.rawSelect(
12
+ 'ItleanProviders',
13
+ { where: { EnterpriseId } },
14
+ ['id']
15
+ )
16
+ const IntelligenceId = await queryInterface.rawSelect(
17
+ 'Intelligences',
18
+ { where: { providerType: PROVIDER_TYPES.ITLEAN } },
19
+ ['id']
20
+ )
21
+ await queryInterface.bulkInsert(
22
+ 'Skills',
23
+ [
24
+ {
25
+ name: `Test${Date.now()}`,
26
+ lang: 'pt-br',
27
+ description: `fake-description-test${Date.now()}`,
28
+ IntelligenceId,
29
+ ItleanProviderId,
30
+ createdAt: new Date(),
31
+ updatedAt: new Date(),
32
+ },
33
+ ],
34
+ {}
35
+ )
36
+ },
37
+
38
+ down: async (queryInterface) => {
39
+ await queryInterface.bulkDelete('Skills', null, {})
40
+ },
41
+ }