@itleanchatbot/shared-models-js-postgres 2.1.0 → 2.1.2

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 (79) hide show
  1. package/package.json +1 -1
  2. package/src/seeders/test/20200924195050-create-ibmprovider.js +38 -0
  3. package/src/seeders/test/20200924195050-create-itlean-provider.js +40 -0
  4. package/src/seeders/test/20200924195050-seed-enterprises.js +24 -0
  5. package/src/seeders/test/20200925184253-seed-skils-itlean-provider.js +37 -0
  6. package/src/seeders/test/20200925184253-seed-skils.js +41 -0
  7. package/src/seeders/test/20200925184254-seed-Intention.js +39 -0
  8. package/src/seeders/test/20200925184258-seed-Intention-values.js +41 -0
  9. package/src/seeders/test/20200925191642-seed-entity-skill-itlean.js +23 -0
  10. package/src/seeders/test/20200925191642-seed-entity.js +23 -0
  11. package/src/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +32 -0
  12. package/src/seeders/test/20200925191643-seed-entity-values.js +33 -0
  13. package/src/seeders/test/20200929132705-seed-dialog-node.js +128 -0
  14. package/src/seeders/test/20201016200600-seed-responses.js +563 -0
  15. package/src/seeders/test/20201104183653-seed-create-ype-skill.js +42 -0
  16. package/src/seeders/test/20201104183700-seed-create-ype-intention.js +26 -0
  17. package/src/seeders/test/20201104183706-seed-create-ype-intention-values.js +70 -0
  18. package/src/seeders/test/20201104183714-seed-create-ype-entity.js +38 -0
  19. package/src/seeders/test/20201104183723-seed-create-ype-entity-values.js +243 -0
  20. package/src/seeders/test/20201104183727-seed-create-ype-synonyms.js +253 -0
  21. package/src/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +124 -0
  22. package/src/seeders/test/20210224171409-create-apiResource.js +114 -0
  23. package/src/seeders/test/20210422144458-seed-context-test.js +175 -0
  24. package/src/seeders/test/20210422181114-seed-jump-node.js +123 -0
  25. package/src/seeders/test/20210422182413-seed-jump-skill.js +123 -0
  26. package/src/seeders/test/20210426100156-seed-api-test.js +138 -0
  27. package/src/seeders/test/20210426103704-seed-multiple-response-test.js +272 -0
  28. package/src/seeders/test/20210426190844-seed-entity-search-test.js +160 -0
  29. package/src/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +160 -0
  30. package/src/seeders/test/20210428105402-seed-test-condition-1.js +190 -0
  31. package/src/seeders/test/20210430181906-seed-test-input-text-zero.js +120 -0
  32. package/src/seeders/test/20210430183204-seed-ype-test-condition.js +557 -0
  33. package/src/seeders/test/20210503172321-seed-invalid-condition.js +119 -0
  34. package/src/seeders/test/20210505140225-insert-skills.js +41 -0
  35. package/src/seeders/test/20210505183810-seed-chain-with-context.js +147 -0
  36. package/src/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +188 -0
  37. package/src/seeders/test/20210507204437-seed-condition-igual-true.js +119 -0
  38. package/src/seeders/test/20210511181006-seed-using-internal-functions.js +274 -0
  39. package/src/seeders/test/20210512140152-seed-ype-real-bot.js +2578 -0
  40. package/src/seeders/test/20210519162746-seed-response-with-context.js +186 -0
  41. package/src/seeders/test/20210524141819-seed-dialog-node-faq.js +244 -0
  42. package/src/seeders/test/20210525180523-seed-regex.js +173 -0
  43. package/src/seeders/test/20210602111930-insert-dialogNodes.js +200 -0
  44. package/src/seeders/test/20210610152534-seed-test-internal-function-in-context.js +216 -0
  45. package/src/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +147 -0
  46. package/src/seeders/test/20210611101042-bot-example-internal-functions.js +985 -0
  47. package/src/seeders/test/20210613111900-bot-example-api.js +420 -0
  48. package/src/seeders/test/20210614113654-miltiple-response-with-research.js +387 -0
  49. package/src/seeders/test/20210616212102-api-authentication-and-list.js +422 -0
  50. package/src/seeders/test/20210624172310-seed-api-duble-request.js +424 -0
  51. package/src/seeders/test/20210628135630-test-branches.js +224 -0
  52. package/src/seeders/test/20210629141030-test-departments.js +225 -0
  53. package/src/seeders/test/20210630105430-test-subDepartments.js +223 -0
  54. package/src/seeders/test/20210630114011-test-contact.js +178 -0
  55. package/src/seeders/test/20210701130630-test-channels.js +381 -0
  56. package/src/seeders/test/20210702191230-seed-test-counter-in-context.js +122 -0
  57. package/src/seeders/test/20210705061313-test-fields.js +152 -0
  58. package/src/seeders/test/20210705080813-test-groups.js +122 -0
  59. package/src/seeders/test/20210705105918-seed-test-function-slice.js +161 -0
  60. package/src/seeders/test/20210706105508-seed-node-without-condition.js +254 -0
  61. package/src/seeders/test/20210706112906-seed-1.0-on-response.js +172 -0
  62. package/src/seeders/test/20210706145547-seed-clean-context.js +132 -0
  63. package/src/seeders/test/20210707151538-seed-test-response-break-line.js +161 -0
  64. package/src/seeders/test/20210713155530-seed-test-itl0079-875.js +129 -0
  65. package/src/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +764 -0
  66. package/src/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +250 -0
  67. package/src/seeders/test/20210719154025-seed-2-contexts-together.js +133 -0
  68. package/src/seeders/test/20210802144227-seed-end-session-trigger.js +163 -0
  69. package/src/seeders/test/20210803103030-tests-dialogNodes.js +406 -0
  70. package/src/seeders/test/20210804094630-tests-lines.js +487 -0
  71. package/src/seeders/test/20210805104130-tests-lineConfigurations.js +106 -0
  72. package/src/seeders/test/20210805133330-tests-systemUsers.js +507 -0
  73. package/src/seeders/test/20210813124630-tests-getMessagesBySession.js +333 -0
  74. package/src/seeders/test/20210816151830-testes-inactivityTriggers.js +196 -0
  75. package/src/seeders/test/20210830134230-tests-sessionReports.js +254 -0
  76. package/src/seeders/test/20210830165830-tests-attendancesHistory.js +181 -0
  77. package/src/seeders/test/20210927115821-skill-test-open-faq.js +37 -0
  78. package/src/seeders/test/20211004131813-true-and-context-with-parent.js +190 -0
  79. package/src/seeders/test/20211006210203-context-concat-with-text.js +193 -0
@@ -0,0 +1,200 @@
1
+ /**
2
+ * ITL0079-588 | dialogNodes.getLevel.test.js | CT0001
3
+ */
4
+
5
+ 'use strict'
6
+
7
+ const { PROVIDER_TYPES } = require('./../../models/intelligence')
8
+
9
+ const skillId_01 = '96a85ad9-052f-4fbc-82b3-1f4ab99937bf'
10
+
11
+ module.exports = {
12
+ up: async (queryInterface) => {
13
+ const EnterpriseId = await queryInterface.rawSelect(
14
+ 'Enterprises',
15
+ { where: { cnpj: process.env.ENTERPRISE_CNPJ } },
16
+ ['id']
17
+ )
18
+
19
+ const ItleanProviderId = await queryInterface.rawSelect(
20
+ 'ItleanProviders',
21
+ { where: { EnterpriseId } },
22
+ ['id']
23
+ )
24
+
25
+ const IntelligenceId = await queryInterface.rawSelect(
26
+ 'Intelligences',
27
+ { where: { providerType: PROVIDER_TYPES.ITLEAN } },
28
+ ['id']
29
+ )
30
+
31
+ const [skill] = await queryInterface.bulkInsert(
32
+ 'Skills',
33
+ [
34
+ {
35
+ id: skillId_01,
36
+ name: `dialogNodes.getLevel.test.CT0001`,
37
+ lang: 'pt-br',
38
+ description: `fake-description-test${Date.now()}`,
39
+ IntelligenceId,
40
+ ItleanProviderId,
41
+ createdAt: new Date(),
42
+ updatedAt: new Date(),
43
+ },
44
+ ],
45
+ { returning: true }
46
+ )
47
+
48
+ const [api] = await queryInterface.bulkInsert(
49
+ 'Apis',
50
+ [
51
+ {
52
+ EnterpriseId,
53
+ baseUrl: JSON.stringify([
54
+ {
55
+ url: 'https://teste.com/api',
56
+ type: 'noAuth',
57
+ auth: {},
58
+ environment: 'sample',
59
+ },
60
+ ]),
61
+ type: 'json',
62
+ name: 'dialogNodes.getLevel.test.CT0001',
63
+ description: `fake-description-test${Date.now()}`,
64
+ createdAt: new Date(),
65
+ updatedAt: new Date(),
66
+ },
67
+ ],
68
+ { returning: true }
69
+ )
70
+
71
+ const apiResourcesToInsert = []
72
+
73
+ for (let i = 0; i < 8; i++) {
74
+ apiResourcesToInsert.push({
75
+ ApiId: api.id,
76
+ uri: '/teste',
77
+ method: 'POST',
78
+ name: 'dialogNodes.getLevel.test.CT0001 0' + i,
79
+ description: `fake-description-test${Date.now()}`,
80
+ createdAt: new Date(),
81
+ updatedAt: new Date(),
82
+ })
83
+ }
84
+
85
+ const ApiResources = await queryInterface.bulkInsert(
86
+ 'ApiResources',
87
+ apiResourcesToInsert,
88
+ { returning: true }
89
+ )
90
+
91
+ const [response] = await queryInterface.bulkInsert(
92
+ 'Responses',
93
+ [
94
+ {
95
+ SkillId: skill.id,
96
+ name: 'dialogNodes.getLevel.test.CT0001',
97
+ type: 'flow',
98
+ createdAt: new Date(),
99
+ updatedAt: new Date(),
100
+ },
101
+ ],
102
+ { returning: true }
103
+ )
104
+
105
+ const dialogNodes = await queryInterface.bulkInsert(
106
+ 'DialogNodes',
107
+ [
108
+ {
109
+ name: 'dialognodes_getlevel_test_ct0001',
110
+ condition: 'true',
111
+ step: 1,
112
+ replayWait: true,
113
+ JumpToDialogNodeId: null,
114
+ JumpToSkillId: null,
115
+ SkillId: skill.id,
116
+ DialogNodeFolderId: null,
117
+ type: 'node',
118
+ isMultipleResponse: false,
119
+ contexts: '[]',
120
+ hasMultipleResponse: true,
121
+ createdAt: new Date(),
122
+ updatedAt: new Date(),
123
+ },
124
+ {
125
+ name: null,
126
+ condition: 'true',
127
+ step: 1,
128
+ replayWait: true,
129
+ JumpToDialogNodeId: null,
130
+ JumpToSkillId: null,
131
+ SkillId: skill.id,
132
+ DialogNodeFolderId: null,
133
+ type: 'node',
134
+ isMultipleResponse: true,
135
+ contexts: '[]',
136
+ hasMultipleResponse: false,
137
+ createdAt: new Date(),
138
+ updatedAt: new Date(),
139
+ },
140
+ ],
141
+ { returning: true }
142
+ )
143
+
144
+ await queryInterface.bulkInsert(
145
+ 'DialogNodes_MultipleResponses',
146
+ [
147
+ {
148
+ DialogNodeId: dialogNodes[0].id,
149
+ ResponseId: dialogNodes[1].id,
150
+ createdAt: new Date(),
151
+ updatedAt: new Date(),
152
+ },
153
+ ],
154
+ { returning: true }
155
+ )
156
+
157
+ await queryInterface.bulkInsert(
158
+ 'Response_DialogNodes',
159
+ [
160
+ {
161
+ DialogNodeId: dialogNodes[1].id,
162
+ ResponseId: response.id,
163
+ createdAt: new Date(),
164
+ updatedAt: new Date(),
165
+ },
166
+ ],
167
+ { returning: true }
168
+ )
169
+
170
+ const dialogNodes_ApiResources = ApiResources.map((r, i) => {
171
+ return {
172
+ DialogNodeId: i < 4 ? dialogNodes[0].id : dialogNodes[1].id,
173
+ ApiResourceId: r.id,
174
+ response: `retorno_${i}`,
175
+ environment: 'sample',
176
+ createdAt: new Date(),
177
+ updatedAt: new Date(),
178
+ }
179
+ })
180
+
181
+ await queryInterface.bulkInsert(
182
+ 'DialogNodes_ApiResources',
183
+ dialogNodes_ApiResources,
184
+ { returning: true }
185
+ )
186
+
187
+ return null
188
+ },
189
+
190
+ down: async (queryInterface) => {
191
+ await queryInterface.bulkDelete('DialogNodes_ApiResources', null, {})
192
+ await queryInterface.bulkDelete('Response_DialogNodes', null, {})
193
+ await queryInterface.bulkDelete('DialogNodes_MultipleResponses', null, {})
194
+ await queryInterface.bulkDelete('DialogNodes', null, {})
195
+ await queryInterface.bulkDelete('Responses', null, {})
196
+ await queryInterface.bulkDelete('ApiResources', null, {})
197
+ await queryInterface.bulkDelete('Apis', null, {})
198
+ await queryInterface.bulkDelete('Skills', null, {})
199
+ },
200
+ }
@@ -0,0 +1,216 @@
1
+ 'use strict'
2
+ const SkillId = 'b8478fcb-3b4a-4433-9e5d-a5a90b638a81'
3
+
4
+ const dialogNode1Id = '7e1608f9-e080-466b-87fa-0ab331c48a56'
5
+ const dialogNode2Id = '3e257a3c-f1c7-427a-9f89-fc6c5d1c1f89'
6
+ const dialogNode3Id = '39790e47-3e1f-4793-bac0-bf930966dfa2'
7
+ const dialogNode4Id = 'a8ad054a-4ff3-4536-956d-3090e94d0db9'
8
+ const dialogNode5Id = 'cf7a1530-518f-4def-ac9b-d8bdf1400f06'
9
+
10
+ const responseId1 = 'ee6d456d-1454-4060-807a-e406ffd09bfb'
11
+
12
+ module.exports = {
13
+ up: async (queryInterface, Sequelize) => {
14
+ const ibmIntelligenceId = await queryInterface.rawSelect(
15
+ 'Intelligences',
16
+ {
17
+ where: {
18
+ providerType: 'ibm',
19
+ },
20
+ },
21
+ ['id']
22
+ )
23
+
24
+ const ibmProviderId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
25
+ await queryInterface.bulkInsert(
26
+ 'Skills',
27
+ [
28
+ {
29
+ id: SkillId,
30
+ IntelligenceId: ibmIntelligenceId,
31
+ AwsProviderId: null,
32
+ ItleanProviderId: null,
33
+ IbmProviderId: ibmProviderId,
34
+ name: 'Skill faq',
35
+ description: 'faq',
36
+ lang: 'pt-br',
37
+ createdAt: Sequelize.literal('now()'),
38
+ updatedAt: Sequelize.literal('now()'),
39
+ },
40
+ ],
41
+ {}
42
+ )
43
+
44
+ await queryInterface.bulkInsert(
45
+ 'DialogNodes',
46
+ [
47
+ {
48
+ id: dialogNode1Id,
49
+ name: 'randomFloor',
50
+ condition: 'input.text === 1',
51
+ SkillId,
52
+ contexts: JSON.stringify({
53
+ randomFloor: 'randomFloor(100)%2',
54
+ }),
55
+ step: 1,
56
+ replayWait: true,
57
+ type: 'node',
58
+ isMultipleResponse: false,
59
+ JumpToDialogNodeId: null,
60
+ JumpToSkillId: null,
61
+ DialogNodeFolderId: null,
62
+ createdAt: Sequelize.literal('now()'),
63
+ updatedAt: Sequelize.literal('now()'),
64
+ },
65
+ {
66
+ id: dialogNode2Id,
67
+ name: 'parseInt',
68
+ condition: 'input.text === 2',
69
+ SkillId,
70
+ contexts: JSON.stringify({
71
+ parseInt: 'parseInt(2.5)',
72
+ }),
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: 'parseInt === 2 ',
86
+ condition: 'input.text === 3 && $parseInt === 2',
87
+ SkillId,
88
+ contexts: '{}',
89
+ step: 3,
90
+ replayWait: true,
91
+ type: 'node',
92
+ isMultipleResponse: false,
93
+ JumpToDialogNodeId: null,
94
+ JumpToSkillId: null,
95
+ DialogNodeFolderId: null,
96
+ createdAt: Sequelize.literal('now()'),
97
+ updatedAt: Sequelize.literal('now()'),
98
+ },
99
+ {
100
+ id: dialogNode4Id,
101
+ name: 'randomFloor === 0',
102
+ condition: '$randomFloor === 0',
103
+ SkillId,
104
+ contexts: '{}',
105
+ step: 4,
106
+ replayWait: true,
107
+ type: 'node',
108
+ isMultipleResponse: false,
109
+ JumpToDialogNodeId: null,
110
+ JumpToSkillId: null,
111
+ DialogNodeFolderId: null,
112
+ createdAt: Sequelize.literal('now()'),
113
+ updatedAt: Sequelize.literal('now()'),
114
+ },
115
+ {
116
+ id: dialogNode5Id,
117
+ name: 'randomFloor === 1',
118
+ condition: '$randomFloor === 1',
119
+ SkillId,
120
+ contexts: '{}',
121
+ step: 5,
122
+ replayWait: true,
123
+ type: 'node',
124
+ isMultipleResponse: false,
125
+ JumpToDialogNodeId: null,
126
+ JumpToSkillId: null,
127
+ DialogNodeFolderId: null,
128
+ createdAt: Sequelize.literal('now()'),
129
+ updatedAt: Sequelize.literal('now()'),
130
+ },
131
+ ],
132
+ {}
133
+ )
134
+
135
+ await queryInterface.bulkInsert(
136
+ 'Responses',
137
+ [
138
+ {
139
+ id: responseId1,
140
+ name: 'Oi! Meus contextos tem funções internas',
141
+ SkillId,
142
+ createdAt: Sequelize.literal('now()'),
143
+ updatedAt: Sequelize.literal('now()'),
144
+ },
145
+ ],
146
+ {}
147
+ )
148
+
149
+ await queryInterface.bulkInsert(
150
+ 'ResponsesBoxes',
151
+ [
152
+ {
153
+ ResponseId: responseId1,
154
+ ChannelTypeId: null,
155
+ type: 'flow',
156
+ payload: JSON.stringify([
157
+ {
158
+ id: '',
159
+ type: 'text',
160
+ messages: [{ message: 'Oi! 😍' }],
161
+ },
162
+ ]),
163
+ createdAt: Sequelize.literal('now()'),
164
+ updatedAt: Sequelize.literal('now()'),
165
+ },
166
+ ],
167
+ {}
168
+ )
169
+
170
+ await queryInterface.bulkInsert('Response_DialogNodes', [
171
+ {
172
+ DialogNodeId: dialogNode1Id,
173
+ ResponseId: responseId1,
174
+ createdAt: Sequelize.literal('now()'),
175
+ updatedAt: Sequelize.literal('now()'),
176
+ },
177
+ {
178
+ DialogNodeId: dialogNode2Id,
179
+ ResponseId: responseId1,
180
+ createdAt: Sequelize.literal('now()'),
181
+ updatedAt: Sequelize.literal('now()'),
182
+ },
183
+ {
184
+ DialogNodeId: dialogNode3Id,
185
+ ResponseId: responseId1,
186
+ createdAt: Sequelize.literal('now()'),
187
+ updatedAt: Sequelize.literal('now()'),
188
+ },
189
+ {
190
+ DialogNodeId: dialogNode4Id,
191
+ ResponseId: responseId1,
192
+ createdAt: Sequelize.literal('now()'),
193
+ updatedAt: Sequelize.literal('now()'),
194
+ },
195
+ {
196
+ DialogNodeId: dialogNode5Id,
197
+ ResponseId: responseId1,
198
+ createdAt: Sequelize.literal('now()'),
199
+ updatedAt: Sequelize.literal('now()'),
200
+ },
201
+ ])
202
+ },
203
+
204
+ down: async (queryInterface) => {
205
+ await queryInterface.bulkDelete('Response_DialogNodes', [
206
+ { ResponseId: responseId1 },
207
+ ])
208
+ await queryInterface.bulkDelete('ResponsesBoxes', [
209
+ { ResponseId: responseId1 },
210
+ ])
211
+
212
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
213
+ await queryInterface.bulkDelete('DialogNodes', [{ SkillId }])
214
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
215
+ },
216
+ }
@@ -0,0 +1,147 @@
1
+ 'use strict'
2
+ const SkillId = '5530f21a-074a-4ff8-8e03-d935e890bad0'
3
+
4
+ const dialogNode1Id = 'afb9988a-d8cc-4acb-a5f1-51cac89a381f'
5
+ const dialogNode2Id = '5671e6cc-6991-4ccf-b0fd-445615d75870'
6
+
7
+ const responseId1 = '3f30c5aa-56e7-497d-891f-fc25b4af4913'
8
+
9
+ module.exports = {
10
+ up: async (queryInterface, Sequelize) => {
11
+ const ibmIntelligenceId = await queryInterface.rawSelect(
12
+ 'Intelligences',
13
+ {
14
+ where: {
15
+ providerType: 'ibm',
16
+ },
17
+ },
18
+ ['id']
19
+ )
20
+
21
+ const ibmProviderId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
22
+ await queryInterface.bulkInsert(
23
+ 'Skills',
24
+ [
25
+ {
26
+ id: SkillId,
27
+ IntelligenceId: ibmIntelligenceId,
28
+ AwsProviderId: null,
29
+ ItleanProviderId: null,
30
+ IbmProviderId: ibmProviderId,
31
+ name: 'Skill test find to array',
32
+ description: 'test find to array',
33
+ lang: 'pt-br',
34
+ createdAt: Sequelize.literal('now()'),
35
+ updatedAt: Sequelize.literal('now()'),
36
+ },
37
+ ],
38
+ {}
39
+ )
40
+
41
+ await queryInterface.bulkInsert(
42
+ 'DialogNodes',
43
+ [
44
+ {
45
+ id: dialogNode1Id,
46
+ name: 'findToArray set context',
47
+ condition: 'input.text === first',
48
+ SkillId,
49
+ contexts: JSON.stringify({
50
+ array: [1, 2, 3, 4, 5, 6],
51
+ }),
52
+ step: 1,
53
+ replayWait: true,
54
+ type: 'node',
55
+ isMultipleResponse: false,
56
+ JumpToDialogNodeId: null,
57
+ JumpToSkillId: null,
58
+ DialogNodeFolderId: null,
59
+ createdAt: Sequelize.literal('now()'),
60
+ updatedAt: Sequelize.literal('now()'),
61
+ },
62
+ {
63
+ id: dialogNode2Id,
64
+ name: 'findToArray === 5',
65
+ condition: 'input.text === oi',
66
+ SkillId,
67
+ contexts: JSON.stringify({
68
+ findToArrayResult: 'findInArray($array,item===5)',
69
+ }),
70
+ step: 2,
71
+ replayWait: true,
72
+ type: 'node',
73
+ isMultipleResponse: false,
74
+ JumpToDialogNodeId: null,
75
+ JumpToSkillId: null,
76
+ DialogNodeFolderId: null,
77
+ createdAt: Sequelize.literal('now()'),
78
+ updatedAt: Sequelize.literal('now()'),
79
+ },
80
+ ],
81
+ {}
82
+ )
83
+
84
+ await queryInterface.bulkInsert(
85
+ 'Responses',
86
+ [
87
+ {
88
+ id: responseId1,
89
+ name: 'Oi! Meus contextos tem funções internas',
90
+ SkillId,
91
+ createdAt: Sequelize.literal('now()'),
92
+ updatedAt: Sequelize.literal('now()'),
93
+ },
94
+ ],
95
+ {}
96
+ )
97
+
98
+ await queryInterface.bulkInsert(
99
+ 'ResponsesBoxes',
100
+ [
101
+ {
102
+ ResponseId: responseId1,
103
+ ChannelTypeId: null,
104
+ type: 'flow',
105
+ payload: JSON.stringify([
106
+ {
107
+ id: '',
108
+ type: 'text',
109
+ messages: [{ message: 'Oi! 😍' }],
110
+ },
111
+ ]),
112
+ createdAt: Sequelize.literal('now()'),
113
+ updatedAt: Sequelize.literal('now()'),
114
+ },
115
+ ],
116
+ {}
117
+ )
118
+
119
+ await queryInterface.bulkInsert('Response_DialogNodes', [
120
+ {
121
+ DialogNodeId: dialogNode1Id,
122
+ ResponseId: responseId1,
123
+ createdAt: Sequelize.literal('now()'),
124
+ updatedAt: Sequelize.literal('now()'),
125
+ },
126
+ {
127
+ DialogNodeId: dialogNode2Id,
128
+ ResponseId: responseId1,
129
+ createdAt: Sequelize.literal('now()'),
130
+ updatedAt: Sequelize.literal('now()'),
131
+ },
132
+ ])
133
+ },
134
+
135
+ down: async (queryInterface) => {
136
+ await queryInterface.bulkDelete('Response_DialogNodes', [
137
+ { ResponseId: responseId1 },
138
+ ])
139
+ await queryInterface.bulkDelete('ResponsesBoxes', [
140
+ { ResponseId: responseId1 },
141
+ ])
142
+
143
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
144
+ await queryInterface.bulkDelete('DialogNodes', [{ SkillId }])
145
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
146
+ },
147
+ }