@itleanchatbot/shared-models-js-postgres 1.4.91 → 2.0.0

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 (180) hide show
  1. package/package.json +6 -2
  2. package/src/migrations/2021050204551-create-extension-uuid-ossp.js +12 -0
  3. package/src/migrations/20210503140511-create-channel-types.js +56 -0
  4. package/src/migrations/20210503141113-create-channel-configurations.js +56 -0
  5. package/src/migrations/20210503141528-create-enterprises.js +47 -0
  6. package/src/migrations/20210503142049-create-permissions.js.js +44 -0
  7. package/src/migrations/20210503142205-create-profiles.js.js +33 -0
  8. package/src/migrations/20210503142259-create-profiles-permissions.js +45 -0
  9. package/src/migrations/20210503142433-create-system-users.js +61 -0
  10. package/src/migrations/20210503142528-create-system-users-profiles.js +45 -0
  11. package/src/migrations/20210503142645-create-departments.js +49 -0
  12. package/src/migrations/20210503142739-create-clients.js +44 -0
  13. package/src/migrations/20210503142857-create-intelligences.js +48 -0
  14. package/src/migrations/20210503142959-create-ibm-providers.js +71 -0
  15. package/src/migrations/20210503151909-create-itlean-providers.js +53 -0
  16. package/src/migrations/20210503154612-create-skills.js +114 -0
  17. package/src/migrations/20210503161006-create-files.js +53 -0
  18. package/src/migrations/20210503161236-create-channels.js +66 -0
  19. package/src/migrations/20210503161308-create-sessions.js +67 -0
  20. package/src/migrations/20210503161503-create-subdepartments.js +49 -0
  21. package/src/migrations/20210503161543-create-branches.js +53 -0
  22. package/src/migrations/20210503161909-create-lines.js +55 -0
  23. package/src/migrations/20210503161947-create-entities.js +56 -0
  24. package/src/migrations/20210503162126-create-intentions.js +56 -0
  25. package/src/migrations/20210503162213-create-intentions-values.js +51 -0
  26. package/src/migrations/20210503162618-create-entities-values.js +67 -0
  27. package/src/migrations/20210503162752-create-synonyms.js +71 -0
  28. package/src/migrations/20210503163331-create-responses.js +58 -0
  29. package/src/migrations/20210503163437-create-responses-boxes.js +66 -0
  30. package/src/migrations/20210503163702-create-languages.js +42 -0
  31. package/src/migrations/20210503184109-create-groups.js +53 -0
  32. package/src/migrations/20210503185846-create-contacts.js +55 -0
  33. package/src/migrations/20210503190220-create-groups-contacts.js +47 -0
  34. package/src/migrations/20210503190338-create-fields.js +40 -0
  35. package/src/migrations/20210503190515-create-apis.js +65 -0
  36. package/src/migrations/20210503191041-create-apis-resources-body.js +46 -0
  37. package/src/migrations/20210503191107-create-apis-resources.js +74 -0
  38. package/src/migrations/20210503191253-create-apis-resources-headers.js +53 -0
  39. package/src/migrations/20210503193228-create-apis-resources-query-string-params.js +61 -0
  40. package/src/migrations/20210503193425-create-apis-resources-path-params.js +52 -0
  41. package/src/migrations/20210503193511-create-dialog-nodes.js +121 -0
  42. package/src/migrations/20210503193629-create-response-dialog-nodes.js +46 -0
  43. package/src/migrations/20210503193905-create-system-users-lines.js +45 -0
  44. package/src/migrations/20210503194004-create-attendances.js +80 -0
  45. package/src/migrations/20210503194036-create-tranship-conversations.js +65 -0
  46. package/src/migrations/20210503194204-create-line-configurations.js +75 -0
  47. package/src/migrations/20210504133611-create-templates.js +68 -0
  48. package/src/migrations/20210504133647-create-socket-clients.js +73 -0
  49. package/src/migrations/20210504143703-create-dialog-nodes-multiple-responses.js +47 -0
  50. package/src/migrations/20210504144332-create-messages-hsm.js +72 -0
  51. package/src/migrations/20210504144657-create-dialog-nodes-api-resources.js +54 -0
  52. package/src/migrations/20210504144730-create-send-hsm.js +62 -0
  53. package/src/migrations/20210504144859-create-messages-hsm-channels.js +48 -0
  54. package/src/migrations/20210504144931-create-open-faqs.js +55 -0
  55. package/src/migrations/20210504145032-create-return-hsm.js +50 -0
  56. package/src/migrations/20210504160623-create-group-send-hsm.js +52 -0
  57. package/src/migrations/20210504164445-create-extension-unaccent.js +11 -0
  58. package/src/migrations/20210504164516-create-extension-fuzzy.js +11 -0
  59. package/src/migrations/20210504164553-create-attendance-scale.js +48 -0
  60. package/src/migrations/20210504164613-create-attendance-scale-off.js +58 -0
  61. package/src/migrations/20210504165351-create-comments.js +42 -0
  62. package/src/migrations/20210504165421-create-quick-messages.js +49 -0
  63. package/src/migrations/20210504165514-create-bot-iterables.js +60 -0
  64. package/src/migrations/20210504165900-create-tranship-triggers.js +114 -0
  65. package/src/migrations/20210505025504-create-send-hsm-return-hsm.js +34 -0
  66. package/src/migrations/20210507012938-create-faq-triggers.js +68 -0
  67. package/src/migrations/20210518122431-alter-responses.js +17 -0
  68. package/src/migrations/20210524150418-create-faq-questions.js +51 -0
  69. package/src/migrations/20210524173157-alter-table-open-faq.js +17 -0
  70. package/src/migrations/20210526115430-alter-attendances.js +14 -0
  71. package/src/migrations/20210528101030-alter-attendances.js +82 -0
  72. package/src/migrations/20210609103918-create-table-postbakGupshup.js +46 -0
  73. package/src/migrations/20210613125036-unnamed-migration.js +21 -0
  74. package/src/migrations/20210614194609-alter-channels.js +14 -0
  75. package/src/migrations/20210618101840-alter-table-MessagesHsms.js +14 -0
  76. package/src/migrations/20210622132643-alter-table-postbackGupshup.js +11 -0
  77. package/src/migrations/20210623110159-alter-table-botinterable.js +176 -0
  78. package/src/migrations/20210623180356-alter-dialog-nodes-api-resources.js +15 -0
  79. package/src/migrations/20210625165930-alter-dialog-nodes-api-resources.js +15 -0
  80. package/src/migrations/20210708142712-alter-table-entity-values.js +17 -0
  81. package/src/migrations/20210708145259-alter-table-synonyms.js +25 -0
  82. package/src/migrations/20210719161230-alter-attendances.js +14 -0
  83. package/src/migrations/20210727095921-alter-name-size.js +39 -0
  84. package/src/migrations/20210727110430-create-endSessionTriggers.js +71 -0
  85. package/src/migrations/20210728140327-create-table-online-editing.js +42 -0
  86. package/src/migrations/20210810152747-alter-botIterables.js +26 -0
  87. package/src/migrations/20210812110330-create-indexes.js +101 -0
  88. package/src/migrations/20210816124430-create-inactivityTriggers.js +60 -0
  89. package/src/migrations/20210819155330-create-function.js +123 -0
  90. package/src/migrations/20210823145424-remove-names-botiterables.js +74 -0
  91. package/src/migrations/20210902145430-create-apiKeys.js +40 -0
  92. package/src/migrations/20210906092430-create-customPostback.js +44 -0
  93. package/src/migrations/20210906144034-alter-api-body-migration.js +74 -0
  94. package/src/migrations/20210910081430-create-transhipInactivityTriggers.js +48 -0
  95. package/src/migrations/20210923131530-alter-attendances.js +14 -0
  96. package/src/migrations/20210923140130-create-function.js +85 -0
  97. package/src/migrations/20210927141630-alter-attendances.js +32 -0
  98. package/src/migrations/20211020130541-alter-table-session-hasTranship.js +14 -0
  99. package/src/migrations/20211025155825-create-stopwords.js +52 -0
  100. package/src/models/index.js +45 -0
  101. package/src/{stopwords.js → models/stopwords.js} +0 -6
  102. package/src/seeders/20210414180447-change-ChannelTypes.js +47 -0
  103. package/src/seeders/20210505130137-insert-channel-types.js +65 -0
  104. package/src/seeders/20210505132612-insert-intelligence.js +27 -0
  105. package/src/seeders/20210505134121-insert-enterprise.js +15 -0
  106. package/src/seeders/20210505134345-insert-permissions.js +125 -0
  107. package/src/seeders/20210505134549-insert-profiles.js +39 -0
  108. package/src/seeders/20210505134700-insert-profiles-permissions.js +80 -0
  109. package/src/seeders/20210505135931-insert-system-users.js +52 -0
  110. package/src/seeders/20210505140025-insert-system-users-profiles.js +26 -0
  111. package/src/seeders/20210505140049-insert-language.js +21 -0
  112. package/src/seeders/20210505140259-insert-itlean-provider.js +34 -0
  113. package/src/seeders/20210505140343-insert-templates.js +229 -0
  114. package/src/seeders/20210505140658-insert-channel-configurations.js +146 -0
  115. package/src/seeders/20210618132740-add-new-channel-configutations.js +45 -0
  116. package/src/seeders/20210817081230-insert-profiles-permissions.js +105 -0
  117. package/src/seeders/20210830131930-insert-profiles-permissions.js +71 -0
  118. package/src/seeders/20210902160430-insert-apiKey.js +30 -0
  119. package/src/seeders/20211005135921-edit-gupshup-reponseTypes.js +47 -0
  120. package/index.js +0 -125
  121. /package/src/{apiKeys.js → models/apiKeys.js} +0 -0
  122. /package/src/{apiResourceBodies.js → models/apiResourceBodies.js} +0 -0
  123. /package/src/{apiResourceHeaders.js → models/apiResourceHeaders.js} +0 -0
  124. /package/src/{apiResourcePathParams.js → models/apiResourcePathParams.js} +0 -0
  125. /package/src/{apiResourceQueryStringParams.js → models/apiResourceQueryStringParams.js} +0 -0
  126. /package/src/{apiResources.js → models/apiResources.js} +0 -0
  127. /package/src/{apis.js → models/apis.js} +0 -0
  128. /package/src/{attendanceScale.js → models/attendanceScale.js} +0 -0
  129. /package/src/{attendanceScaleOff.js → models/attendanceScaleOff.js} +0 -0
  130. /package/src/{attendances.js → models/attendances.js} +0 -0
  131. /package/src/{botIterable.js → models/botIterable.js} +0 -0
  132. /package/src/{branches.js → models/branches.js} +0 -0
  133. /package/src/{channelConfigurations.js → models/channelConfigurations.js} +0 -0
  134. /package/src/{channelTypes.js → models/channelTypes.js} +0 -0
  135. /package/src/{channels.js → models/channels.js} +0 -0
  136. /package/src/{client.js → models/client.js} +0 -0
  137. /package/src/{comments.js → models/comments.js} +0 -0
  138. /package/src/{customPostbacks.js → models/customPostbacks.js} +0 -0
  139. /package/src/{departments.js → models/departments.js} +0 -0
  140. /package/src/{dialogNodes.js → models/dialogNodes.js} +0 -0
  141. /package/src/{dialogNodes_MultipleResponses.js → models/dialogNodes_MultipleResponses.js} +0 -0
  142. /package/src/{dialogNodes_apiResources.js → models/dialogNodes_apiResources.js} +0 -0
  143. /package/src/{endSessionTriggers.js → models/endSessionTriggers.js} +0 -0
  144. /package/src/{enterprises.js → models/enterprises.js} +0 -0
  145. /package/src/{entity.js → models/entity.js} +0 -0
  146. /package/src/{entityValues.js → models/entityValues.js} +0 -0
  147. /package/src/{faqQuestions.js → models/faqQuestions.js} +0 -0
  148. /package/src/{faqTriggers.js → models/faqTriggers.js} +0 -0
  149. /package/src/{files.js → models/files.js} +0 -0
  150. /package/src/{ibmProvider.js → models/ibmProvider.js} +0 -0
  151. /package/src/{inactivityTriggers.js → models/inactivityTriggers.js} +0 -0
  152. /package/src/{intelligence.js → models/intelligence.js} +0 -0
  153. /package/src/{intention.js → models/intention.js} +0 -0
  154. /package/src/{intentionValue.js → models/intentionValue.js} +0 -0
  155. /package/src/{itleanProvider.js → models/itleanProvider.js} +0 -0
  156. /package/src/{lineConfigurations.js → models/lineConfigurations.js} +0 -0
  157. /package/src/{lines.js → models/lines.js} +0 -0
  158. /package/src/{messagesHsm.js → models/messagesHsm.js} +0 -0
  159. /package/src/{openFaqs.js → models/openFaqs.js} +0 -0
  160. /package/src/{permissions.js → models/permissions.js} +0 -0
  161. /package/src/{postbackGupshup.js → models/postbackGupshup.js} +0 -0
  162. /package/src/{profile.js → models/profile.js} +0 -0
  163. /package/src/{profiles_permission.js → models/profiles_permission.js} +0 -0
  164. /package/src/{quickMessages.js → models/quickMessages.js} +0 -0
  165. /package/src/{response_DialogNodes.js → models/response_DialogNodes.js} +0 -0
  166. /package/src/{responses.js → models/responses.js} +0 -0
  167. /package/src/{responsesBoxes.js → models/responsesBoxes.js} +0 -0
  168. /package/src/{returnHsm.js → models/returnHsm.js} +0 -0
  169. /package/src/{sessions.js → models/sessions.js} +0 -0
  170. /package/src/{skill.js → models/skill.js} +0 -0
  171. /package/src/{socketClients.js → models/socketClients.js} +0 -0
  172. /package/src/{subDepartments.js → models/subDepartments.js} +0 -0
  173. /package/src/{synonyms.js → models/synonyms.js} +0 -0
  174. /package/src/{systemUsers.js → models/systemUsers.js} +0 -0
  175. /package/src/{systemUsers_Lines.js → models/systemUsers_Lines.js} +0 -0
  176. /package/src/{systemUsers_profiles.js → models/systemUsers_profiles.js} +0 -0
  177. /package/src/{templates.js → models/templates.js} +0 -0
  178. /package/src/{transhipConversations.js → models/transhipConversations.js} +0 -0
  179. /package/src/{transhipInactivityTriggers.js → models/transhipInactivityTriggers.js} +0 -0
  180. /package/src/{transhipTriggers.js → models/transhipTriggers.js} +0 -0
@@ -0,0 +1,229 @@
1
+ require('dotenv').config()
2
+ module.exports = {
3
+ up: async (queryInterface, Sequelize) => {
4
+ const EnterpriseId = await queryInterface.rawSelect(
5
+ 'Enterprises',
6
+ { where: {} },
7
+ ['id']
8
+ )
9
+
10
+ const ChannelTypeIdInteraxa = await queryInterface.rawSelect(
11
+ 'ChannelTypes',
12
+ { where: { channelName: 'whatsapp_interaxa' } },
13
+ ['id']
14
+ )
15
+
16
+ const ChannelTypeIdGupshup = await queryInterface.rawSelect(
17
+ 'ChannelTypes',
18
+ { where: { channelName: 'whatsapp_gupshup' } },
19
+ ['id']
20
+ )
21
+
22
+ await queryInterface.bulkInsert('Templates', [
23
+ {
24
+ title: 'Mensagem simples',
25
+ channelId: 'whatsapp',
26
+ description: 'Body',
27
+ contractType: 'hsmBody',
28
+ EnterpriseId,
29
+ ChannelTypeId: ChannelTypeIdInteraxa,
30
+ elements: JSON.stringify(['body']),
31
+ contractJson: JSON.stringify({
32
+ hsm: {
33
+ language: {
34
+ code: 'pt_BR',
35
+ policy: 'deterministic',
36
+ },
37
+ element_name: 'itlean',
38
+ },
39
+ type: 'hsm',
40
+ recipient_type: 'individual',
41
+ }),
42
+ createdAt: new Date(),
43
+ updatedAt: new Date(),
44
+ },
45
+ {
46
+ title: 'Arquivo, mensagem e rodapé',
47
+ channelId: 'whatsapp',
48
+ EnterpriseId,
49
+ ChannelTypeId: ChannelTypeIdInteraxa,
50
+ description: 'Imagem, body e texto no footer',
51
+ contractType: 'hsmImageBodyImage',
52
+ elements: JSON.stringify(['header', 'body', 'footer']),
53
+ contractJson: JSON.stringify({
54
+ type: 'template',
55
+ template: {
56
+ name: 'itlean_footer',
57
+ language: {
58
+ code: 'pt_BR',
59
+ policy: 'deterministic',
60
+ },
61
+ },
62
+ recipient_type: 'individual',
63
+ }),
64
+ createdAt: new Date(),
65
+ updatedAt: new Date(),
66
+ },
67
+ {
68
+ title: 'Arquivo, mensagem e botões',
69
+ channelId: 'whatsapp',
70
+ EnterpriseId,
71
+ ChannelTypeId: ChannelTypeIdInteraxa,
72
+ description: 'Imagem, body, buttons, texto no footer',
73
+ contractType: 'hsmHeaderImageBodyThreeButtons',
74
+ elements: JSON.stringify([
75
+ 'header',
76
+ 'body',
77
+ 'buttonAnswer',
78
+ 'buttonAnswer',
79
+ 'buttonAnswer',
80
+ ]),
81
+ contractJson: JSON.stringify({
82
+ type: 'template',
83
+ template: {
84
+ name: 'itlean_3botoes',
85
+ language: {
86
+ code: 'pt_BR',
87
+ policy: 'deterministic',
88
+ },
89
+ },
90
+ recipient_type: 'individual',
91
+ }),
92
+ createdAt: new Date(),
93
+ updatedAt: new Date(),
94
+ },
95
+ {
96
+ title: 'Arquivo, mensagem e link',
97
+ channelId: 'whatsapp',
98
+ EnterpriseId,
99
+ ChannelTypeId: ChannelTypeIdInteraxa,
100
+ description: 'Imagem, body, button',
101
+ contractType: 'hsmHeaderImageBodyOneButton',
102
+ elements: JSON.stringify([
103
+ 'header',
104
+ 'body',
105
+ 'buttonHyperLink',
106
+ 'buttonPhone',
107
+ ]),
108
+ contractJson: JSON.stringify({
109
+ type: 'template',
110
+ template: {
111
+ name: 'itlean1_botao',
112
+ language: {
113
+ code: 'pt_BR',
114
+ policy: 'deterministic',
115
+ },
116
+ recipient_type: 'individual',
117
+ },
118
+ }),
119
+ createdAt: new Date(),
120
+ updatedAt: new Date(),
121
+ },
122
+ ])
123
+
124
+ return queryInterface.bulkInsert('Templates', [
125
+ {
126
+ title: 'Mensagem simples',
127
+ channelId: 'whatsapp',
128
+ description: 'Body',
129
+ contractType: 'hsmBody',
130
+ EnterpriseId,
131
+ ChannelTypeId: ChannelTypeIdGupshup,
132
+ elements: JSON.stringify(['body']),
133
+ contractJson: JSON.stringify({
134
+ hsm: {
135
+ language: {
136
+ code: 'pt_BR',
137
+ policy: 'deterministic',
138
+ },
139
+ element_name: 'itlean',
140
+ },
141
+ type: 'hsm',
142
+ recipient_type: 'individual',
143
+ }),
144
+ createdAt: new Date(),
145
+ updatedAt: new Date(),
146
+ },
147
+ {
148
+ title: 'Arquivo, mensagem e rodapé',
149
+ channelId: 'whatsapp',
150
+ EnterpriseId,
151
+ ChannelTypeId: ChannelTypeIdGupshup,
152
+ description: 'Imagem, body e texto no footer',
153
+ contractType: 'hsmImageBodyImage',
154
+ elements: JSON.stringify(['header', 'body', 'footer']),
155
+ contractJson: JSON.stringify({
156
+ type: 'template',
157
+ template: {
158
+ name: 'itlean_footer',
159
+ language: {
160
+ code: 'pt_BR',
161
+ policy: 'deterministic',
162
+ },
163
+ },
164
+ recipient_type: 'individual',
165
+ }),
166
+ createdAt: new Date(),
167
+ updatedAt: new Date(),
168
+ },
169
+ {
170
+ title: 'Arquivo, mensagem e botões',
171
+ channelId: 'whatsapp',
172
+ EnterpriseId,
173
+ ChannelTypeId: ChannelTypeIdGupshup,
174
+ description: 'Imagem, body, buttons, texto no footer',
175
+ contractType: 'hsmHeaderImageBodyThreeButtons',
176
+ elements: JSON.stringify([
177
+ 'header',
178
+ 'body',
179
+ 'buttonAnswer',
180
+ 'buttonAnswer',
181
+ 'buttonAnswer',
182
+ ]),
183
+ contractJson: JSON.stringify({
184
+ type: 'template',
185
+ template: {
186
+ name: 'itlean_3botoes',
187
+ language: {
188
+ code: 'pt_BR',
189
+ policy: 'deterministic',
190
+ },
191
+ },
192
+ recipient_type: 'individual',
193
+ }),
194
+ createdAt: new Date(),
195
+ updatedAt: new Date(),
196
+ },
197
+ {
198
+ title: 'Arquivo, mensagem e link',
199
+ channelId: 'whatsapp',
200
+ EnterpriseId,
201
+ ChannelTypeId: ChannelTypeIdGupshup,
202
+ description: 'Imagem, body, button',
203
+ contractType: 'hsmHeaderImageBodyOneButton',
204
+ elements: JSON.stringify([
205
+ 'header',
206
+ 'body',
207
+ 'buttonHyperLink',
208
+ 'buttonPhone',
209
+ ]),
210
+ contractJson: JSON.stringify({
211
+ type: 'template',
212
+ template: {
213
+ name: 'itlean1_botao',
214
+ language: {
215
+ code: 'pt_BR',
216
+ policy: 'deterministic',
217
+ },
218
+ recipient_type: 'individual',
219
+ },
220
+ }),
221
+ createdAt: new Date(),
222
+ updatedAt: new Date(),
223
+ },
224
+ ])
225
+ },
226
+ down: async (queryInterface, Sequelize) => {
227
+ return queryInterface.bulkDelete('Templates', null, {})
228
+ },
229
+ }
@@ -0,0 +1,146 @@
1
+ const models = require('../models')
2
+
3
+ const configurations = {
4
+ webchat: [
5
+ {
6
+ fieldName: 'domainName',
7
+ fieldType: 'string',
8
+ fieldLabel: 'Nome de Domínio',
9
+ },
10
+ {
11
+ fieldName: 'displayName',
12
+ fieldType: 'string',
13
+ fieldLabel: 'Nome de Exibição',
14
+ },
15
+ {
16
+ fieldName: 'sendAttachments',
17
+ fieldType: 'boolean',
18
+ fieldLabel: 'Permite envio de anexos',
19
+ },
20
+ {
21
+ fieldName: 'componentsColor',
22
+ fieldType: 'string',
23
+ fieldLabel: 'Cor dos Componentes',
24
+ },
25
+ {
26
+ fieldName: 'backgroundColor',
27
+ fieldType: 'string',
28
+ fieldLabel: 'Cor de fundo',
29
+ },
30
+ {
31
+ fieldName: 'fontColor',
32
+ fieldType: 'string',
33
+ fieldLabel: 'Cor da fonte',
34
+ },
35
+ ],
36
+ whatsapp_interaxa: [
37
+ {
38
+ fieldName: 'phoneNumber',
39
+ fieldType: 'string',
40
+ fieldLabel: 'Número do WhatsApp',
41
+ },
42
+ {
43
+ fieldName: 'mediaId',
44
+ fieldType: 'string',
45
+ fieldLabel: 'ID da Conta do WhatsApp',
46
+ },
47
+ {
48
+ fieldName: 'namespace',
49
+ fieldType: 'string',
50
+ fieldLabel: 'ID broken da Conta do WhatsApp',
51
+ },
52
+ {
53
+ fieldName: 'urlApi',
54
+ fieldType: 'string',
55
+ fieldLabel: 'URL da API de serviços do WhatsApp',
56
+ },
57
+ {
58
+ fieldName: 'apiUser',
59
+ fieldType: 'string',
60
+ fieldLabel: 'Usuário para Autenticação',
61
+ },
62
+ {
63
+ fieldName: 'apiPassword',
64
+ fieldType: 'string',
65
+ fieldLabel: 'Senha para Autenticação',
66
+ },
67
+ ],
68
+ whatsapp_gupshup: [
69
+ {
70
+ fieldName: 'source',
71
+ fieldType: 'string',
72
+ fieldLabel: 'Número do WhatsApp',
73
+ },
74
+ {
75
+ fieldName: 'wabaid',
76
+ fieldType: 'string',
77
+ fieldLabel: 'WABA ID',
78
+ },
79
+ {
80
+ fieldName: 'src.name',
81
+ fieldType: 'string',
82
+ fieldLabel: 'Nome do APP',
83
+ },
84
+ {
85
+ fieldName: 'apikey',
86
+ fieldType: 'string',
87
+ fieldLabel: 'API Key',
88
+ },
89
+ {
90
+ fieldName: 'urlApi',
91
+ fieldType: 'string',
92
+ fieldLabel: 'URL da API de serviços do Gupshup',
93
+ },
94
+ ],
95
+ facebook: [
96
+ {
97
+ fieldName: 'urlApi',
98
+ fieldType: 'string',
99
+ fieldLabel: 'URL da API de serviços do WhatsApp',
100
+ },
101
+ {
102
+ fieldName: 'accessToken',
103
+ fieldType: 'string',
104
+ fieldLabel: 'Token de acesso a api',
105
+ },
106
+ {
107
+ fieldName: 'serverId',
108
+ fieldType: 'string',
109
+ fieldLabel: 'Id do chat do facebook',
110
+ },
111
+ ],
112
+ }
113
+
114
+ module.exports = {
115
+ up: async (queryInterface, Sequelize) => {
116
+ const channelTypes = await queryInterface.select(
117
+ models.ChannelTypes,
118
+ 'ChannelTypes'
119
+ )
120
+
121
+ let channelConfigurations = []
122
+
123
+ channelTypes.forEach((type) => {
124
+ if (configurations[type.channelName]) {
125
+ const parseDataTimeStamp = configurations[type.channelName].map(
126
+ (channel) => {
127
+ channel.ChannelTypeId = type.id
128
+ channel.createdAt = new Date()
129
+ channel.updatedAt = new Date()
130
+ return channel
131
+ }
132
+ )
133
+
134
+ channelConfigurations = channelConfigurations.concat(parseDataTimeStamp)
135
+ }
136
+ })
137
+
138
+ await queryInterface.bulkInsert(
139
+ 'ChannelConfigurations',
140
+ channelConfigurations
141
+ )
142
+ },
143
+ down: async (queryInterface, Sequelize) => {
144
+ return queryInterface.bulkDelete('ChannelConfigurations', null, {})
145
+ },
146
+ }
@@ -0,0 +1,45 @@
1
+ const models = require('../models')
2
+
3
+ const configurations = {
4
+ whatsapp_gupshup: [
5
+ {
6
+ fieldName: 'appId',
7
+ fieldType: 'string',
8
+ fieldLabel: 'APP ID',
9
+ },
10
+ ],
11
+ }
12
+
13
+ module.exports = {
14
+ up: async (queryInterface, Sequelize) => {
15
+ const channelTypes = await queryInterface.select(
16
+ models.ChannelTypes,
17
+ 'ChannelTypes'
18
+ )
19
+
20
+ let channelConfigurations = []
21
+
22
+ channelTypes.forEach((type) => {
23
+ if (configurations[type.channelName]) {
24
+ const parseDataTimeStamp = configurations[type.channelName].map(
25
+ (channel) => {
26
+ channel.ChannelTypeId = type.id
27
+ channel.createdAt = new Date()
28
+ channel.updatedAt = new Date()
29
+ return channel
30
+ }
31
+ )
32
+
33
+ channelConfigurations = channelConfigurations.concat(parseDataTimeStamp)
34
+ }
35
+ })
36
+
37
+ await queryInterface.bulkInsert(
38
+ 'ChannelConfigurations',
39
+ channelConfigurations
40
+ )
41
+ },
42
+ down: async (queryInterface, Sequelize) => {
43
+ return queryInterface.bulkDelete('ChannelConfigurations', null, {})
44
+ },
45
+ }
@@ -0,0 +1,105 @@
1
+ module.exports = {
2
+ up: async (queryInterface, Sequelize) => {
3
+ const [intention, entity, dialogNodes, apis] =
4
+ await queryInterface.bulkInsert(
5
+ 'Permissions',
6
+ [
7
+ {
8
+ permissionCode: 'crud_intention',
9
+ description:
10
+ 'Permite a criação, leitura, alteração e deleção de intenções',
11
+ createdAt: new Date(),
12
+ updatedAt: new Date(),
13
+ },
14
+ {
15
+ permissionCode: 'crud_entity',
16
+ description:
17
+ 'Permite a criação, leitura, alteração e deleção de entidades',
18
+ createdAt: new Date(),
19
+ updatedAt: new Date(),
20
+ },
21
+ {
22
+ permissionCode: 'crud_dialogNodes',
23
+ description:
24
+ 'Permite a criação, leitura, alteração e deleção de fluxo',
25
+ createdAt: new Date(),
26
+ updatedAt: new Date(),
27
+ },
28
+ {
29
+ permissionCode: 'crud_apis',
30
+ description:
31
+ 'Permite a criação, leitura, alteração e deleção de APIs',
32
+ createdAt: new Date(),
33
+ updatedAt: new Date(),
34
+ },
35
+ ],
36
+ { returning: ['id'] }
37
+ )
38
+
39
+ const adminId = await queryInterface.rawSelect(
40
+ 'Profiles',
41
+ { where: { name: 'Administrador' } },
42
+ ['id']
43
+ )
44
+
45
+ const operChatbotId = await queryInterface.rawSelect(
46
+ 'Profiles',
47
+ { where: { name: 'Operador Chatbot' } },
48
+ ['id']
49
+ )
50
+
51
+ return queryInterface.bulkInsert('Profiles_Permissions', [
52
+ {
53
+ ProfileId: adminId,
54
+ PermissionId: intention.id,
55
+ createdAt: new Date(),
56
+ updatedAt: new Date(),
57
+ },
58
+ {
59
+ ProfileId: adminId,
60
+ PermissionId: entity.id,
61
+ createdAt: new Date(),
62
+ updatedAt: new Date(),
63
+ },
64
+ {
65
+ ProfileId: adminId,
66
+ PermissionId: dialogNodes.id,
67
+ createdAt: new Date(),
68
+ updatedAt: new Date(),
69
+ },
70
+ {
71
+ ProfileId: adminId,
72
+ PermissionId: apis.id,
73
+ createdAt: new Date(),
74
+ updatedAt: new Date(),
75
+ },
76
+ {
77
+ ProfileId: operChatbotId,
78
+ PermissionId: intention.id,
79
+ createdAt: new Date(),
80
+ updatedAt: new Date(),
81
+ },
82
+ {
83
+ ProfileId: operChatbotId,
84
+ PermissionId: entity.id,
85
+ createdAt: new Date(),
86
+ updatedAt: new Date(),
87
+ },
88
+ {
89
+ ProfileId: operChatbotId,
90
+ PermissionId: dialogNodes.id,
91
+ createdAt: new Date(),
92
+ updatedAt: new Date(),
93
+ },
94
+ {
95
+ ProfileId: operChatbotId,
96
+ PermissionId: apis.id,
97
+ createdAt: new Date(),
98
+ updatedAt: new Date(),
99
+ },
100
+ ])
101
+ },
102
+ down: async (queryInterface, Sequelize) => {
103
+ await queryInterface.bulkDelete('Profiles_Permissions', null, {})
104
+ },
105
+ }
@@ -0,0 +1,71 @@
1
+ module.exports = {
2
+ up: async (queryInterface, Sequelize) => {
3
+ const [skill, botIterables] = await queryInterface.bulkInsert(
4
+ 'Permissions',
5
+ [
6
+ {
7
+ permissionCode: 'crud_skill',
8
+ description:
9
+ 'Permite a criação, leitura, alteração e deleção de Bots',
10
+ createdAt: new Date(),
11
+ updatedAt: new Date(),
12
+ },
13
+ {
14
+ permissionCode: 'crud_botIterables',
15
+ description: 'Permite o acesso aos logs de mensagens do Chatbot',
16
+ createdAt: new Date(),
17
+ updatedAt: new Date(),
18
+ },
19
+ ],
20
+ { returning: ['id'] }
21
+ )
22
+
23
+ const adminId = await queryInterface.rawSelect(
24
+ 'Profiles',
25
+ { where: { name: 'Administrador' } },
26
+ ['id']
27
+ )
28
+
29
+ const operChatbotId = await queryInterface.rawSelect(
30
+ 'Profiles',
31
+ { where: { name: 'Operador Chatbot' } },
32
+ ['id']
33
+ )
34
+
35
+ const channelPermissionId = await queryInterface.rawSelect(
36
+ 'Permissions',
37
+ { where: { permissionCode: 'crud_channels' } },
38
+ ['id']
39
+ )
40
+
41
+ return queryInterface.bulkInsert('Profiles_Permissions', [
42
+ {
43
+ ProfileId: adminId,
44
+ PermissionId: skill.id,
45
+ createdAt: new Date(),
46
+ updatedAt: new Date(),
47
+ },
48
+ {
49
+ ProfileId: adminId,
50
+ PermissionId: botIterables.id,
51
+ createdAt: new Date(),
52
+ updatedAt: new Date(),
53
+ },
54
+ {
55
+ ProfileId: adminId,
56
+ PermissionId: channelPermissionId,
57
+ createdAt: new Date(),
58
+ updatedAt: new Date(),
59
+ },
60
+ {
61
+ ProfileId: operChatbotId,
62
+ PermissionId: botIterables.id,
63
+ createdAt: new Date(),
64
+ updatedAt: new Date(),
65
+ },
66
+ ])
67
+ },
68
+ down: async (queryInterface, Sequelize) => {
69
+ await queryInterface.bulkDelete('Profiles_Permissions', null, {})
70
+ },
71
+ }
@@ -0,0 +1,30 @@
1
+ const uuidAPIKey = require('uuid-apikey')
2
+ const { encrypt } = require('../../presenters/encryptation')
3
+
4
+ module.exports = {
5
+ up: async (queryInterface, Sequelize) => {
6
+ const EnterpriseId = await queryInterface.rawSelect(
7
+ 'Enterprises',
8
+ { where: { cnpj: process.env.ENTERPRISE_CNPJ } },
9
+ ['id']
10
+ )
11
+
12
+ console.log('EnterpriseId: ', EnterpriseId)
13
+
14
+ const { apiKey } = uuidAPIKey.create()
15
+
16
+ console.log('apiKey: ', apiKey)
17
+
18
+ await queryInterface.bulkInsert('ApiKeys', [
19
+ {
20
+ EnterpriseId,
21
+ key: encrypt(apiKey),
22
+ createdAt: new Date(),
23
+ updatedAt: new Date(),
24
+ },
25
+ ])
26
+ },
27
+ down: async (queryInterface, Sequelize) => {
28
+ await queryInterface.bulkDelete('ApiKeys', null, {})
29
+ },
30
+ }
@@ -0,0 +1,47 @@
1
+ 'use strict'
2
+
3
+ const oldResponsesTypes = [
4
+ { action: 'text', display: 'Texto' },
5
+ { action: 'image', display: 'Imagem' },
6
+ { action: 'pdf', display: 'PDF' },
7
+ { action: 'video', display: 'Vídeo' },
8
+ { action: 'file', display: 'Arquivo' },
9
+ ]
10
+ const newResponsesTypes = [
11
+ { action: 'text', display: 'Texto' },
12
+ { action: 'image', display: 'Imagem' },
13
+ { action: 'pdf', display: 'PDF' },
14
+ { action: 'video', display: 'Vídeo' },
15
+ { action: 'file', display: 'Arquivo' },
16
+ { action: 'list', display: 'Lista' },
17
+ { action: 'quick_replay', display: 'Resposta rápida' },
18
+ ]
19
+ module.exports = {
20
+ up: async (queryInterface) => {
21
+ const ChannelTypeId = await queryInterface.rawSelect(
22
+ 'ChannelTypes',
23
+ { where: { channelName: 'whatsapp_gupshup' } },
24
+ ['id']
25
+ )
26
+
27
+ await queryInterface.bulkUpdate(
28
+ 'ChannelTypes',
29
+ { responsesTypes: JSON.stringify(newResponsesTypes) },
30
+ { id: ChannelTypeId }
31
+ )
32
+ },
33
+
34
+ down: async (queryInterface) => {
35
+ const ChannelTypeId = await queryInterface.rawSelect(
36
+ 'ChannelTypes',
37
+ { where: { channelName: 'whatsapp_gupshup' } },
38
+ ['id']
39
+ )
40
+
41
+ await queryInterface.bulkUpdate(
42
+ 'ChannelTypes',
43
+ { responsesTypes: JSON.stringify(oldResponsesTypes) },
44
+ { id: ChannelTypeId }
45
+ )
46
+ },
47
+ }