@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,114 @@
1
+ 'use strict'
2
+
3
+ const apiId = '7b62d509-9634-4c09-ab82-d753b12ebe9c'
4
+
5
+ const apiBodyId = '5c55f6c5-b4b2-4c0c-94b7-e241ed534f45'
6
+
7
+ const apiResourceId = '2ea2a347-bfdf-4209-b51f-7cacfa511299'
8
+
9
+ module.exports = {
10
+ up: async (queryInterface, Sequelize) => {
11
+ await queryInterface.bulkInsert('Apis', [
12
+ {
13
+ id: apiId,
14
+ baseUrl: JSON.stringify([
15
+ {
16
+ url: 'https://leanbot.api.dev.itlean.com.br',
17
+ type: 'apiKey',
18
+ auth: {
19
+ key: 'x-api-key',
20
+ value: 'key',
21
+ addTo: 'header',
22
+ },
23
+ environment: 'test',
24
+ },
25
+ ]),
26
+ type: 'json',
27
+ name: 'Api Seeder',
28
+ description: 'Api Seeder',
29
+ EnterpriseId: null,
30
+ createdAt: Sequelize.literal('now()'),
31
+ updatedAt: Sequelize.literal('now()'),
32
+ },
33
+ ])
34
+
35
+ await queryInterface.bulkInsert('ApiResourcesBodies', [
36
+ {
37
+ id: apiBodyId,
38
+ content: JSON.stringify({
39
+ getContext: '#email',
40
+ notInContext: '#notInContext',
41
+ noReplace: 'noReplace',
42
+ }),
43
+ type: 'json',
44
+ createdAt: Sequelize.literal('now()'),
45
+ updatedAt: Sequelize.literal('now()'),
46
+ },
47
+ ])
48
+
49
+ const resourcePathParamToReplaceKey = '$lang'
50
+
51
+ await queryInterface.bulkInsert('ApiResources', [
52
+ {
53
+ id: apiResourceId,
54
+ uri: `/api/framework/${resourcePathParamToReplaceKey}`,
55
+ method: 'POST',
56
+ name: 'Api Resource Seeder',
57
+ description: 'Api Resource Seeder',
58
+ ApiId: apiId,
59
+ ApiResourcesBodyId: apiBodyId,
60
+ createdAt: Sequelize.literal('now()'),
61
+ updatedAt: Sequelize.literal('now()'),
62
+ },
63
+ ])
64
+
65
+ await queryInterface.bulkInsert('ApiResourcesHeaders', [
66
+ {
67
+ id: '61b94d90-149c-4b82-b354-6b06c1e654c7',
68
+ ApiResourceId: apiResourceId,
69
+ value: 'en',
70
+ type: 'Accept-Language',
71
+ createdAt: Sequelize.literal('now()'),
72
+ updatedAt: Sequelize.literal('now()'),
73
+ },
74
+ ])
75
+
76
+ await queryInterface.bulkInsert('ApiResourcesPathParams', [
77
+ {
78
+ id: '715f4fd0-4920-4503-92ee-e27eb568bc1d',
79
+ ApiResourceId: apiResourceId,
80
+ key: resourcePathParamToReplaceKey,
81
+ value: 'en',
82
+ createdAt: Sequelize.literal('now()'),
83
+ updatedAt: Sequelize.literal('now()'),
84
+ },
85
+ ])
86
+
87
+ await queryInterface.bulkInsert('ApiResourcesQueryStringParams', [
88
+ {
89
+ id: '18de7724-a4d9-4f7b-88d3-06865f685659',
90
+ ApiResourceId: apiResourceId,
91
+ key: 'lang',
92
+ type: 'string',
93
+ value: 'en',
94
+ createdAt: Sequelize.literal('now()'),
95
+ updatedAt: Sequelize.literal('now()'),
96
+ },
97
+ ])
98
+ },
99
+
100
+ down: async (queryInterface) => {
101
+ await queryInterface.bulkDelete('ApiResourcesQueryStringParams', [
102
+ { ApiResourceId: apiResourceId },
103
+ ])
104
+ await queryInterface.bulkDelete('ApiResourcesPathParams', [
105
+ { ApiResourceId: apiResourceId },
106
+ ])
107
+ await queryInterface.bulkDelete('ApiResourcesHeaders', [
108
+ { ApiResourceId: apiResourceId },
109
+ ])
110
+ await queryInterface.bulkDelete('ApiResources', [{ id: apiResourceId }])
111
+ await queryInterface.bulkDelete('ApiResourcesBodies', [{ id: apiBodyId }])
112
+ await queryInterface.bulkDelete('Apis', [{ id: apiId }])
113
+ },
114
+ }
@@ -0,0 +1,175 @@
1
+ 'use strict'
2
+
3
+ const SkillId = 'a7294acb-1ccb-417d-b519-12a1b440a33c'
4
+ const dialogNode1Id = 'e1544af6-6876-4b56-a6b3-dff7898ecabd'
5
+ const dialogNode2Id = '37def415-8e87-4180-bbff-f191528df460'
6
+
7
+ const responseId1 = 'd27e6c79-c830-493a-9498-ab80bc040178'
8
+ const responseId2 = '0cbec138-2a5a-47e4-a92e-31405d5594a3'
9
+
10
+ module.exports = {
11
+ up: async (queryInterface, Sequelize) => {
12
+ const ibmIntelligenceId = await queryInterface.rawSelect(
13
+ 'Intelligences',
14
+ {
15
+ where: {
16
+ providerType: 'ibm',
17
+ },
18
+ },
19
+ ['id']
20
+ )
21
+
22
+ const ibmProviderId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
23
+
24
+ await queryInterface.bulkInsert(
25
+ 'Skills',
26
+ [
27
+ {
28
+ id: SkillId,
29
+ IntelligenceId: ibmIntelligenceId,
30
+ AwsProviderId: null,
31
+ ItleanProviderId: null,
32
+ IbmProviderId: ibmProviderId,
33
+ name: 'Skill Context chain',
34
+ description: 'Get context by chain',
35
+ lang: 'pt-br',
36
+ createdAt: Sequelize.literal('now()'),
37
+ updatedAt: Sequelize.literal('now()'),
38
+ },
39
+ ],
40
+ {}
41
+ )
42
+
43
+ await queryInterface.bulkInsert(
44
+ 'DialogNodes',
45
+ [
46
+ {
47
+ id: dialogNode1Id,
48
+ name: 'by pass',
49
+ condition: 'input.text === oi',
50
+ SkillId,
51
+ contexts: JSON.stringify({
52
+ test: 'test-value',
53
+ }),
54
+ step: 1,
55
+ replayWait: true,
56
+ type: 'node',
57
+ isMultipleResponse: false,
58
+ JumpToDialogNodeId: null,
59
+ JumpToSkillId: null,
60
+ DialogNodeFolderId: null,
61
+ createdAt: Sequelize.literal('now()'),
62
+ updatedAt: Sequelize.literal('now()'),
63
+ },
64
+ {
65
+ id: dialogNode2Id,
66
+ name: 'context chain',
67
+ condition: '$test',
68
+ SkillId,
69
+ contexts: '[]',
70
+ step: 1,
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!',
90
+ SkillId,
91
+ createdAt: Sequelize.literal('now()'),
92
+ updatedAt: Sequelize.literal('now()'),
93
+ },
94
+ {
95
+ id: responseId2,
96
+ name: 'Node with context config',
97
+ SkillId,
98
+ createdAt: Sequelize.literal('now()'),
99
+ updatedAt: Sequelize.literal('now()'),
100
+ },
101
+ ],
102
+ {}
103
+ )
104
+
105
+ await queryInterface.bulkInsert(
106
+ 'ResponsesBoxes',
107
+ [
108
+ {
109
+ ResponseId: responseId1,
110
+ ChannelTypeId: null,
111
+ type: 'flow',
112
+ payload: JSON.stringify([
113
+ {
114
+ id: '',
115
+ type: 'text',
116
+ messages: [{ message: 'Mensagem de teste! 😍' }],
117
+ },
118
+ ]),
119
+ createdAt: Sequelize.literal('now()'),
120
+ updatedAt: Sequelize.literal('now()'),
121
+ },
122
+ {
123
+ ResponseId: responseId2,
124
+ ChannelTypeId: null,
125
+ type: 'flow',
126
+ payload: JSON.stringify([
127
+ {
128
+ id: '',
129
+ type: 'text',
130
+ messages: [{ message: 'Mensagem de teste! 😍' }],
131
+ },
132
+ ]),
133
+ createdAt: Sequelize.literal('now()'),
134
+ updatedAt: Sequelize.literal('now()'),
135
+ },
136
+ ],
137
+ {}
138
+ )
139
+
140
+ await queryInterface.bulkInsert('Response_DialogNodes', [
141
+ {
142
+ DialogNodeId: dialogNode1Id,
143
+ ResponseId: responseId1,
144
+ createdAt: Sequelize.literal('now()'),
145
+ updatedAt: Sequelize.literal('now()'),
146
+ },
147
+ {
148
+ DialogNodeId: dialogNode2Id,
149
+ ResponseId: responseId2,
150
+ createdAt: Sequelize.literal('now()'),
151
+ updatedAt: Sequelize.literal('now()'),
152
+ },
153
+ ])
154
+ },
155
+
156
+ down: async (queryInterface) => {
157
+ await queryInterface.bulkDelete('Response_DialogNodes', [
158
+ { ResponseId: responseId1 },
159
+ ])
160
+ await queryInterface.bulkDelete('Response_DialogNodes', [
161
+ { ResponseId: responseId2 },
162
+ ])
163
+ await queryInterface.bulkDelete('ResponsesBoxes', [
164
+ { ResponseId: responseId1 },
165
+ ])
166
+ await queryInterface.bulkDelete('ResponsesBoxes', [
167
+ { ResponseId: responseId2 },
168
+ ])
169
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
170
+ await queryInterface.bulkDelete('Responses', [{ id: responseId2 }])
171
+ await queryInterface.bulkDelete('DialogNodes', [{ id: dialogNode1Id }])
172
+ await queryInterface.bulkDelete('DialogNodes', [{ id: dialogNode2Id }])
173
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
174
+ },
175
+ }
@@ -0,0 +1,123 @@
1
+ 'use strict'
2
+
3
+ const SkillId = 'd1291c8c-cb72-4a54-9967-5d787ed85633'
4
+ const dialogNode1Id = '57f6b121-f2d0-4935-9843-c5c4d58a71b4'
5
+ const JumpToDialogNodeId = '4edbd318-ae8d-4141-88f2-90af2cc2e69e'
6
+
7
+ const responseId1 = '2a0d34cb-8562-4a67-8473-089de61e45d5'
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
+ await queryInterface.bulkInsert(
24
+ 'Skills',
25
+ [
26
+ {
27
+ id: SkillId,
28
+ IntelligenceId: ibmIntelligenceId,
29
+ AwsProviderId: null,
30
+ ItleanProviderId: null,
31
+ IbmProviderId: ibmProviderId,
32
+ name: 'Skill jump to node',
33
+ description: 'jump to node',
34
+ lang: 'pt-br',
35
+ createdAt: Sequelize.literal('now()'),
36
+ updatedAt: Sequelize.literal('now()'),
37
+ },
38
+ ],
39
+ {}
40
+ )
41
+
42
+ await queryInterface.bulkInsert(
43
+ 'DialogNodes',
44
+ [
45
+ {
46
+ id: dialogNode1Id,
47
+ name: 'by pass jump node',
48
+ condition: 'input.text === oi',
49
+ SkillId,
50
+ contexts: JSON.stringify({
51
+ test: 'test-value',
52
+ }),
53
+ step: 1,
54
+ replayWait: true,
55
+ type: 'node',
56
+ isMultipleResponse: false,
57
+ JumpToDialogNodeId,
58
+ JumpToSkillId: null,
59
+ DialogNodeFolderId: null,
60
+ createdAt: Sequelize.literal('now()'),
61
+ updatedAt: Sequelize.literal('now()'),
62
+ },
63
+ ],
64
+ {}
65
+ )
66
+
67
+ await queryInterface.bulkInsert(
68
+ 'Responses',
69
+ [
70
+ {
71
+ id: responseId1,
72
+ name: 'Oi! Eu tenho um jump',
73
+ SkillId,
74
+ createdAt: Sequelize.literal('now()'),
75
+ updatedAt: Sequelize.literal('now()'),
76
+ },
77
+ ],
78
+ {}
79
+ )
80
+
81
+ await queryInterface.bulkInsert(
82
+ 'ResponsesBoxes',
83
+ [
84
+ {
85
+ ResponseId: responseId1,
86
+ ChannelTypeId: null,
87
+ type: 'flow',
88
+ payload: JSON.stringify([
89
+ {
90
+ id: '',
91
+ type: 'text',
92
+ messages: [{ message: 'Mensagem de teste! 😍' }],
93
+ },
94
+ ]),
95
+ createdAt: Sequelize.literal('now()'),
96
+ updatedAt: Sequelize.literal('now()'),
97
+ },
98
+ ],
99
+ {}
100
+ )
101
+
102
+ await queryInterface.bulkInsert('Response_DialogNodes', [
103
+ {
104
+ DialogNodeId: dialogNode1Id,
105
+ ResponseId: responseId1,
106
+ createdAt: Sequelize.literal('now()'),
107
+ updatedAt: Sequelize.literal('now()'),
108
+ },
109
+ ])
110
+ },
111
+
112
+ down: async (queryInterface) => {
113
+ await queryInterface.bulkDelete('Response_DialogNodes', [
114
+ { ResponseId: responseId1 },
115
+ ])
116
+ await queryInterface.bulkDelete('ResponsesBoxes', [
117
+ { ResponseId: responseId1 },
118
+ ])
119
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
120
+ await queryInterface.bulkDelete('DialogNodes', [{ id: dialogNode1Id }])
121
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
122
+ },
123
+ }
@@ -0,0 +1,123 @@
1
+ 'use strict'
2
+
3
+ const SkillId = 'dd3bb23e-a170-4185-b3a0-b8f15996db01'
4
+ const dialogNode1Id = 'd266dced-d138-4683-bcad-3ddb037c9498'
5
+ const JumpToSkillId = '1a188e17-f57b-4778-8c8e-58a516864ada'
6
+
7
+ const responseId1 = 'b5e5ee5d-17a5-4d1f-8aba-ddc53fdd7e81'
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
+ await queryInterface.bulkInsert(
24
+ 'Skills',
25
+ [
26
+ {
27
+ id: SkillId,
28
+ IntelligenceId: ibmIntelligenceId,
29
+ AwsProviderId: null,
30
+ ItleanProviderId: null,
31
+ IbmProviderId: ibmProviderId,
32
+ name: 'Skill jump to skill',
33
+ description: 'jump to skill',
34
+ lang: 'pt-br',
35
+ createdAt: Sequelize.literal('now()'),
36
+ updatedAt: Sequelize.literal('now()'),
37
+ },
38
+ ],
39
+ {}
40
+ )
41
+
42
+ await queryInterface.bulkInsert(
43
+ 'DialogNodes',
44
+ [
45
+ {
46
+ id: dialogNode1Id,
47
+ name: 'by pass jump skill',
48
+ condition: 'input.text === oi',
49
+ SkillId,
50
+ contexts: JSON.stringify({
51
+ test: 'test-value',
52
+ }),
53
+ step: 1,
54
+ replayWait: true,
55
+ type: 'node',
56
+ isMultipleResponse: false,
57
+ JumpToDialogNodeId: null,
58
+ JumpToSkillId,
59
+ DialogNodeFolderId: null,
60
+ createdAt: Sequelize.literal('now()'),
61
+ updatedAt: Sequelize.literal('now()'),
62
+ },
63
+ ],
64
+ {}
65
+ )
66
+
67
+ await queryInterface.bulkInsert(
68
+ 'Responses',
69
+ [
70
+ {
71
+ id: responseId1,
72
+ name: 'Oi! Eu tenho um jump de skill',
73
+ SkillId,
74
+ createdAt: Sequelize.literal('now()'),
75
+ updatedAt: Sequelize.literal('now()'),
76
+ },
77
+ ],
78
+ {}
79
+ )
80
+
81
+ await queryInterface.bulkInsert(
82
+ 'ResponsesBoxes',
83
+ [
84
+ {
85
+ ResponseId: responseId1,
86
+ ChannelTypeId: null,
87
+ type: 'flow',
88
+ payload: JSON.stringify([
89
+ {
90
+ id: '',
91
+ type: 'text',
92
+ messages: [{ message: 'Mensagem de teste! 😍' }],
93
+ },
94
+ ]),
95
+ createdAt: Sequelize.literal('now()'),
96
+ updatedAt: Sequelize.literal('now()'),
97
+ },
98
+ ],
99
+ {}
100
+ )
101
+
102
+ await queryInterface.bulkInsert('Response_DialogNodes', [
103
+ {
104
+ DialogNodeId: dialogNode1Id,
105
+ ResponseId: responseId1,
106
+ createdAt: Sequelize.literal('now()'),
107
+ updatedAt: Sequelize.literal('now()'),
108
+ },
109
+ ])
110
+ },
111
+
112
+ down: async (queryInterface) => {
113
+ await queryInterface.bulkDelete('Response_DialogNodes', [
114
+ { ResponseId: responseId1 },
115
+ ])
116
+ await queryInterface.bulkDelete('ResponsesBoxes', [
117
+ { ResponseId: responseId1 },
118
+ ])
119
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
120
+ await queryInterface.bulkDelete('DialogNodes', [{ id: dialogNode1Id }])
121
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
122
+ },
123
+ }
@@ -0,0 +1,138 @@
1
+ 'use strict'
2
+
3
+ const SkillId = 'e7b7017b-fbf4-4a2a-8a56-919dc40aab17'
4
+ const dialogNode1Id = 'ae1d107a-2ca9-4c1f-a1c7-1ba8029263ca'
5
+
6
+ const responseId1 = '93b082e4-2e75-4166-93ec-ea6c51ed0dee'
7
+
8
+ const apiResourceId = '2ea2a347-bfdf-4209-b51f-7cacfa511299'
9
+
10
+ module.exports = {
11
+ up: async (queryInterface, Sequelize) => {
12
+ const ibmIntelligenceId = await queryInterface.rawSelect(
13
+ 'Intelligences',
14
+ {
15
+ where: {
16
+ providerType: 'ibm',
17
+ },
18
+ },
19
+ ['id']
20
+ )
21
+
22
+ const ibmProviderId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
23
+
24
+ await queryInterface.bulkInsert(
25
+ 'Skills',
26
+ [
27
+ {
28
+ id: SkillId,
29
+ IntelligenceId: ibmIntelligenceId,
30
+ AwsProviderId: null,
31
+ ItleanProviderId: null,
32
+ IbmProviderId: ibmProviderId,
33
+ name: 'Skill api test',
34
+ description: 'test api request',
35
+ lang: 'pt-br',
36
+ createdAt: Sequelize.literal('now()'),
37
+ updatedAt: Sequelize.literal('now()'),
38
+ },
39
+ ],
40
+ {}
41
+ )
42
+
43
+ await queryInterface.bulkInsert(
44
+ 'DialogNodes',
45
+ [
46
+ {
47
+ id: dialogNode1Id,
48
+ name: 'by pass api request',
49
+ condition: 'input.text === oi',
50
+ SkillId,
51
+ contexts: JSON.stringify({
52
+ test: 'test-value',
53
+ }),
54
+ step: 1,
55
+ replayWait: true,
56
+ type: 'node',
57
+ isMultipleResponse: false,
58
+ JumpToDialogNodeId: null,
59
+ JumpToSkillId: null,
60
+ DialogNodeFolderId: null,
61
+ createdAt: Sequelize.literal('now()'),
62
+ updatedAt: Sequelize.literal('now()'),
63
+ },
64
+ ],
65
+ {}
66
+ )
67
+
68
+ await queryInterface.bulkInsert(
69
+ 'Responses',
70
+ [
71
+ {
72
+ id: responseId1,
73
+ name: 'Oi! Eu tenho uma chamada de api',
74
+ SkillId,
75
+ createdAt: Sequelize.literal('now()'),
76
+ updatedAt: Sequelize.literal('now()'),
77
+ },
78
+ ],
79
+ {}
80
+ )
81
+
82
+ await queryInterface.bulkInsert(
83
+ 'ResponsesBoxes',
84
+ [
85
+ {
86
+ ResponseId: responseId1,
87
+ ChannelTypeId: null,
88
+ type: 'flow',
89
+ payload: JSON.stringify([
90
+ {
91
+ id: '',
92
+ type: 'text',
93
+ messages: [{ message: 'Mensagem de teste! 😍' }],
94
+ },
95
+ ]),
96
+ createdAt: Sequelize.literal('now()'),
97
+ updatedAt: Sequelize.literal('now()'),
98
+ },
99
+ ],
100
+ {}
101
+ )
102
+
103
+ await queryInterface.bulkInsert('Response_DialogNodes', [
104
+ {
105
+ DialogNodeId: dialogNode1Id,
106
+ ResponseId: responseId1,
107
+ createdAt: Sequelize.literal('now()'),
108
+ updatedAt: Sequelize.literal('now()'),
109
+ },
110
+ ])
111
+
112
+ await queryInterface.bulkInsert('DialogNodes_ApiResources', [
113
+ {
114
+ DialogNodeId: dialogNode1Id,
115
+ ApiResourceId: apiResourceId,
116
+ response: 'apiTest',
117
+ environment: 'test',
118
+ createdAt: Sequelize.literal('now()'),
119
+ updatedAt: Sequelize.literal('now()'),
120
+ },
121
+ ])
122
+ },
123
+
124
+ down: async (queryInterface) => {
125
+ await queryInterface.bulkDelete('DialogNodes_ApiResources', [
126
+ { DialogNodeId: dialogNode1Id },
127
+ ])
128
+ await queryInterface.bulkDelete('Response_DialogNodes', [
129
+ { DialogNodeId: dialogNode1Id },
130
+ ])
131
+ await queryInterface.bulkDelete('ResponsesBoxes', [
132
+ { ResponseId: responseId1 },
133
+ ])
134
+ await queryInterface.bulkDelete('Responses', [{ id: responseId1 }])
135
+ await queryInterface.bulkDelete('DialogNodes', [{ id: dialogNode1Id }])
136
+ await queryInterface.bulkDelete('Skills', [{ id: SkillId }])
137
+ },
138
+ }