@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,250 @@
1
+ 'use strict'
2
+ const { Op } = require('sequelize')
3
+ const SkillId = '4bfa06fd-278a-483a-92a6-3bf800ee3946'
4
+
5
+ const dialogNodeInitId = '8c8b060b-4686-4392-af84-2435646a981c'
6
+
7
+ const dialogNodeIdMultipleResponseWithJump =
8
+ 'd22e82f8-9ccb-420d-9ce0-141a6e147933'
9
+ const dialogNodeIdMultipleResponseWelcome =
10
+ 'b7489e02-c01b-4d8d-aa6b-bbbce510cd0a'
11
+
12
+ const dialogNodeJumpId = 'db3c7f32-f36c-4cc0-8879-da322ea7fbf4'
13
+
14
+ const responseId1 = 'fd2f6e27-e2d5-4aea-8136-7c7ce90a84bf'
15
+
16
+ const nodesIds = [dialogNodeInitId]
17
+
18
+ const jumps = [dialogNodeJumpId]
19
+
20
+ const multipleResponses = [
21
+ dialogNodeIdMultipleResponseWithJump,
22
+ dialogNodeIdMultipleResponseWelcome,
23
+ ]
24
+
25
+ const responsesDialogNodesIds = [...nodesIds, ...jumps, ...multipleResponses]
26
+
27
+ module.exports = {
28
+ up: async (queryInterface, Sequelize) => {
29
+ const IntelligenceId = await queryInterface.rawSelect(
30
+ 'Intelligences',
31
+ {
32
+ where: {
33
+ providerType: 'itlean',
34
+ },
35
+ },
36
+ ['id']
37
+ )
38
+
39
+ const providerId = 'fe588d1c-cd6d-4b5a-b385-f3ef19348f04'
40
+
41
+ const ChannelTypeId = await queryInterface.rawSelect(
42
+ 'ChannelTypes',
43
+ { where: { channelName: 'webchat' } },
44
+ ['id']
45
+ )
46
+
47
+ await queryInterface.bulkInsert(
48
+ 'Skills',
49
+ [
50
+ {
51
+ id: SkillId,
52
+ IntelligenceId,
53
+ AwsProviderId: null,
54
+ ItleanProviderId: providerId,
55
+ IbmProviderId: null,
56
+ name: 'Skill test',
57
+ description: 'seed test - multiple response with several jumps',
58
+ lang: 'pt-br',
59
+ createdAt: Sequelize.literal('now()'),
60
+ updatedAt: Sequelize.literal('now()'),
61
+ },
62
+ ],
63
+ {}
64
+ )
65
+
66
+ // Create Dialog Nodes
67
+ // Jumps
68
+ await queryInterface.bulkInsert(
69
+ 'DialogNodes',
70
+ [
71
+ // Jump with multiple responses
72
+ {
73
+ id: dialogNodeJumpId,
74
+ name: 'jump',
75
+ condition: null,
76
+ SkillId,
77
+ contexts: JSON.stringify([
78
+ {
79
+ label: 'node',
80
+ value: 'jump',
81
+ },
82
+ ]),
83
+ step: 2,
84
+ replayWait: true,
85
+ type: 'node',
86
+ isMultipleResponse: false,
87
+ JumpToDialogNodeId: null,
88
+ JumpToSkillId: null,
89
+ DialogNodeFolderId: null,
90
+ hasMultipleResponse: false,
91
+ createdAt: Sequelize.literal('now()'),
92
+ updatedAt: Sequelize.literal('now()'),
93
+ },
94
+ ],
95
+ {}
96
+ )
97
+
98
+ // Another Dialog Nodes
99
+ await queryInterface.bulkInsert(
100
+ 'DialogNodes',
101
+ [
102
+ {
103
+ id: dialogNodeInitId,
104
+ name: 'init',
105
+ condition: 'true',
106
+ SkillId,
107
+ contexts: JSON.stringify([
108
+ {
109
+ label: 'node',
110
+ value: 'init',
111
+ },
112
+ ]),
113
+ step: 1,
114
+ replayWait: true,
115
+ type: 'node',
116
+ isMultipleResponse: false,
117
+ JumpToDialogNodeId: null,
118
+ JumpToSkillId: null,
119
+ DialogNodeFolderId: null,
120
+ hasMultipleResponse: true,
121
+ createdAt: Sequelize.literal('now()'),
122
+ updatedAt: Sequelize.literal('now()'),
123
+ },
124
+
125
+ // Multiple responses
126
+
127
+ {
128
+ id: dialogNodeIdMultipleResponseWithJump,
129
+ name: null,
130
+ condition: 'input.text === response_1',
131
+ SkillId,
132
+ contexts: JSON.stringify([]),
133
+ step: 1,
134
+ replayWait: false,
135
+ type: 'node',
136
+ isMultipleResponse: true,
137
+ JumpToDialogNodeId: dialogNodeJumpId,
138
+ JumpToSkillId: null,
139
+ DialogNodeFolderId: null,
140
+ hasMultipleResponse: false,
141
+ createdAt: Sequelize.literal('now()'),
142
+ updatedAt: Sequelize.literal('now()'),
143
+ },
144
+ {
145
+ id: dialogNodeIdMultipleResponseWelcome,
146
+ name: null,
147
+ condition: 'input.text === oi',
148
+ SkillId,
149
+ contexts: JSON.stringify([]),
150
+ step: 2,
151
+ replayWait: true,
152
+ type: 'node',
153
+ isMultipleResponse: true,
154
+ JumpToDialogNodeId: null,
155
+ JumpToSkillId: null,
156
+ DialogNodeFolderId: null,
157
+ hasMultipleResponse: false,
158
+ createdAt: Sequelize.literal('now()'),
159
+ updatedAt: Sequelize.literal('now()'),
160
+ },
161
+ ],
162
+ {}
163
+ )
164
+
165
+ await queryInterface.bulkInsert(
166
+ 'Responses',
167
+ [
168
+ {
169
+ id: responseId1,
170
+ name: 'default_response',
171
+ SkillId,
172
+ createdAt: Sequelize.literal('now()'),
173
+ updatedAt: Sequelize.literal('now()'),
174
+ },
175
+ ],
176
+ {}
177
+ )
178
+
179
+ await queryInterface.bulkInsert(
180
+ 'ResponsesBoxes',
181
+ [
182
+ {
183
+ ResponseId: responseId1,
184
+ ChannelTypeId: ChannelTypeId,
185
+ type: 'flow',
186
+ payload: JSON.stringify([
187
+ {
188
+ id: '',
189
+ type: 'text',
190
+ messages: [
191
+ {
192
+ message: `<:$node:>`,
193
+ },
194
+ ],
195
+ },
196
+ ]),
197
+ createdAt: Sequelize.literal('now()'),
198
+ updatedAt: Sequelize.literal('now()'),
199
+ },
200
+ ],
201
+ {}
202
+ )
203
+
204
+ await queryInterface.bulkInsert('Response_DialogNodes', [
205
+ {
206
+ DialogNodeId: dialogNodeIdMultipleResponseWelcome,
207
+ ResponseId: responseId1,
208
+ createdAt: Sequelize.literal('now()'),
209
+ updatedAt: Sequelize.literal('now()'),
210
+ },
211
+ {
212
+ DialogNodeId: dialogNodeJumpId,
213
+ ResponseId: responseId1,
214
+ createdAt: Sequelize.literal('now()'),
215
+ updatedAt: Sequelize.literal('now()'),
216
+ },
217
+ ])
218
+
219
+ const DialogNodes_MultipleResponses = []
220
+ for (const ResponseId of multipleResponses) {
221
+ DialogNodes_MultipleResponses.push({
222
+ ResponseId,
223
+ DialogNodeId: dialogNodeInitId,
224
+ createdAt: Sequelize.literal('now()'),
225
+ updatedAt: Sequelize.literal('now()'),
226
+ })
227
+ }
228
+
229
+ await queryInterface.bulkInsert('DialogNodes_MultipleResponses', [
230
+ ...DialogNodes_MultipleResponses,
231
+ ])
232
+ },
233
+
234
+ down: async (queryInterface) => {
235
+ await queryInterface.bulkDelete('Response_DialogNodes', [
236
+ { ResponseId: responseId1 },
237
+ ])
238
+ await queryInterface.bulkDelete('ResponsesBoxes', [
239
+ { ResponseId: responseId1 },
240
+ ])
241
+
242
+ await queryInterface.bulkDelete('DialogNodes_MultipleResponses', [
243
+ { ResponseId: { [Op.in]: responsesDialogNodesIds } },
244
+ ])
245
+
246
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
247
+ await queryInterface.bulkDelete('DialogNodes', [{ SkillId }])
248
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
249
+ },
250
+ }
@@ -0,0 +1,133 @@
1
+ 'use strict'
2
+ const SkillId = '662384b9-fe89-4d98-8d53-615486886487'
3
+
4
+ const dialogNode1Id = 'bb4aea66-0da0-44f1-8e8e-6b9a8d7d9717'
5
+
6
+ const responseId1 = '75686fa0-6696-4e9e-89c9-96378328681a'
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
+
22
+ const ChannelTypeId = await queryInterface.rawSelect(
23
+ 'ChannelTypes',
24
+ { where: { channelName: 'webchat' } },
25
+ ['id']
26
+ )
27
+
28
+ await queryInterface.bulkInsert(
29
+ 'Skills',
30
+ [
31
+ {
32
+ id: SkillId,
33
+ IntelligenceId: ibmIntelligenceId,
34
+ AwsProviderId: null,
35
+ ItleanProviderId: null,
36
+ IbmProviderId: ibmProviderId,
37
+ name: 'Skill together_context',
38
+ description: 'together_context',
39
+ lang: 'pt-br',
40
+ createdAt: Sequelize.literal('now()'),
41
+ updatedAt: Sequelize.literal('now()'),
42
+ },
43
+ ],
44
+ {}
45
+ )
46
+
47
+ await queryInterface.bulkInsert(
48
+ 'DialogNodes',
49
+ [
50
+ {
51
+ id: dialogNode1Id,
52
+ name: 'together_context',
53
+ condition: 'true',
54
+ SkillId,
55
+ contexts: JSON.stringify({
56
+ value: 'test',
57
+ }),
58
+ step: 1,
59
+ replayWait: true,
60
+ type: 'node',
61
+ isMultipleResponse: false,
62
+ JumpToDialogNodeId: null,
63
+ JumpToSkillId: null,
64
+ DialogNodeFolderId: null,
65
+ createdAt: Sequelize.literal('now()'),
66
+ updatedAt: Sequelize.literal('now()'),
67
+ },
68
+ ],
69
+ {}
70
+ )
71
+
72
+ await queryInterface.bulkInsert(
73
+ 'Responses',
74
+ [
75
+ {
76
+ id: responseId1,
77
+ name: 'together_context',
78
+ SkillId,
79
+ createdAt: Sequelize.literal('now()'),
80
+ updatedAt: Sequelize.literal('now()'),
81
+ },
82
+ ],
83
+ {}
84
+ )
85
+
86
+ await queryInterface.bulkInsert(
87
+ 'ResponsesBoxes',
88
+ [
89
+ {
90
+ ResponseId: responseId1,
91
+ ChannelTypeId: ChannelTypeId,
92
+ type: 'flow',
93
+ payload: JSON.stringify([
94
+ {
95
+ id: '',
96
+ type: 'text',
97
+ messages: [
98
+ {
99
+ message: `mensagem - <:$value1:><:$value2:>\n\n<:$value1:><:$value2:> \n\n <:$value1:><:$value2:>`,
100
+ },
101
+ ],
102
+ },
103
+ ]),
104
+ createdAt: Sequelize.literal('now()'),
105
+ updatedAt: Sequelize.literal('now()'),
106
+ },
107
+ ],
108
+ {}
109
+ )
110
+
111
+ await queryInterface.bulkInsert('Response_DialogNodes', [
112
+ {
113
+ DialogNodeId: dialogNode1Id,
114
+ ResponseId: responseId1,
115
+ createdAt: Sequelize.literal('now()'),
116
+ updatedAt: Sequelize.literal('now()'),
117
+ },
118
+ ])
119
+ },
120
+
121
+ down: async (queryInterface) => {
122
+ await queryInterface.bulkDelete('Response_DialogNodes', [
123
+ { ResponseId: responseId1 },
124
+ ])
125
+ await queryInterface.bulkDelete('ResponsesBoxes', [
126
+ { ResponseId: responseId1 },
127
+ ])
128
+
129
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
130
+ await queryInterface.bulkDelete('DialogNodes', [{ SkillId }])
131
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
132
+ },
133
+ }
@@ -0,0 +1,163 @@
1
+ 'use strict'
2
+ const SkillId = 'cfdac945-f374-4038-9dd9-da18331a3f71'
3
+
4
+ const dialogNode1Id = 'ee1ded02-2160-44eb-a9ed-f722bc7b9e58'
5
+ const jumpDialogNodeId = '53e45d83-18f0-4732-ae6b-aa493a8ed880'
6
+
7
+ const responseId1 = '0815d16f-f809-460f-8493-df7122c7afc8'
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
+
23
+ const ChannelTypeId = await queryInterface.rawSelect(
24
+ 'ChannelTypes',
25
+ { where: { channelName: 'webchat' } },
26
+ ['id']
27
+ )
28
+
29
+ await queryInterface.bulkInsert(
30
+ 'Skills',
31
+ [
32
+ {
33
+ id: SkillId,
34
+ IntelligenceId: ibmIntelligenceId,
35
+ AwsProviderId: null,
36
+ ItleanProviderId: null,
37
+ IbmProviderId: ibmProviderId,
38
+ name: 'Skill end sessions trigger',
39
+ description: 'end sessions trigger',
40
+ lang: 'pt-br',
41
+ createdAt: Sequelize.literal('now()'),
42
+ updatedAt: Sequelize.literal('now()'),
43
+ },
44
+ ],
45
+ {}
46
+ )
47
+
48
+ await queryInterface.bulkInsert(
49
+ 'DialogNodes',
50
+ [
51
+ {
52
+ id: dialogNode1Id,
53
+ name: 'end_sessions_trigger',
54
+ condition: 'input.text == end_session',
55
+ SkillId,
56
+ contexts: '{}',
57
+ step: 1,
58
+ replayWait: true,
59
+ type: 'end_session',
60
+ isMultipleResponse: false,
61
+ JumpToDialogNodeId: null,
62
+ JumpToSkillId: null,
63
+ DialogNodeFolderId: null,
64
+ createdAt: Sequelize.literal('now()'),
65
+ updatedAt: Sequelize.literal('now()'),
66
+ },
67
+ {
68
+ id: jumpDialogNodeId,
69
+ name: 'jump_node_end_sessions_trigger',
70
+ condition: null,
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
+ {}
85
+ )
86
+
87
+ await queryInterface.bulkInsert(
88
+ 'Responses',
89
+ [
90
+ {
91
+ id: responseId1,
92
+ name: 'end_session_response',
93
+ SkillId,
94
+ createdAt: Sequelize.literal('now()'),
95
+ updatedAt: Sequelize.literal('now()'),
96
+ },
97
+ ],
98
+ {}
99
+ )
100
+
101
+ await queryInterface.bulkInsert(
102
+ 'ResponsesBoxes',
103
+ [
104
+ {
105
+ ResponseId: responseId1,
106
+ ChannelTypeId: ChannelTypeId,
107
+ type: 'flow',
108
+ payload: JSON.stringify([
109
+ {
110
+ id: '',
111
+ type: 'text',
112
+ messages: [
113
+ {
114
+ message: `sessão fechada`,
115
+ },
116
+ ],
117
+ },
118
+ ]),
119
+ createdAt: Sequelize.literal('now()'),
120
+ updatedAt: Sequelize.literal('now()'),
121
+ },
122
+ ],
123
+ {}
124
+ )
125
+
126
+ await queryInterface.bulkInsert('Response_DialogNodes', [
127
+ {
128
+ DialogNodeId: jumpDialogNodeId,
129
+ ResponseId: responseId1,
130
+ createdAt: Sequelize.literal('now()'),
131
+ updatedAt: Sequelize.literal('now()'),
132
+ },
133
+ ])
134
+
135
+ await queryInterface.bulkInsert('EndSessionTriggers', [
136
+ {
137
+ DialogNodeId: dialogNode1Id,
138
+ JumpToDialogNodeId: jumpDialogNodeId,
139
+ createdAt: Sequelize.literal('now()'),
140
+ updatedAt: Sequelize.literal('now()'),
141
+ },
142
+ ])
143
+ },
144
+
145
+ down: async (queryInterface) => {
146
+ await queryInterface.bulkDelete('Response_DialogNodes', [
147
+ { ResponseId: responseId1 },
148
+ ])
149
+ await queryInterface.bulkDelete('ResponsesBoxes', [
150
+ { ResponseId: responseId1 },
151
+ ])
152
+
153
+ await queryInterface.bulkDelete('EndSessionTriggers', [
154
+ {
155
+ DialogNodeId: dialogNode1Id,
156
+ },
157
+ ])
158
+
159
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
160
+ await queryInterface.bulkDelete('DialogNodes', [{ SkillId }])
161
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
162
+ },
163
+ }