@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.
- package/package.json +6 -2
- package/src/migrations/2021050204551-create-extension-uuid-ossp.js +12 -0
- package/src/migrations/20210503140511-create-channel-types.js +56 -0
- package/src/migrations/20210503141113-create-channel-configurations.js +56 -0
- package/src/migrations/20210503141528-create-enterprises.js +47 -0
- package/src/migrations/20210503142049-create-permissions.js.js +44 -0
- package/src/migrations/20210503142205-create-profiles.js.js +33 -0
- package/src/migrations/20210503142259-create-profiles-permissions.js +45 -0
- package/src/migrations/20210503142433-create-system-users.js +61 -0
- package/src/migrations/20210503142528-create-system-users-profiles.js +45 -0
- package/src/migrations/20210503142645-create-departments.js +49 -0
- package/src/migrations/20210503142739-create-clients.js +44 -0
- package/src/migrations/20210503142857-create-intelligences.js +48 -0
- package/src/migrations/20210503142959-create-ibm-providers.js +71 -0
- package/src/migrations/20210503151909-create-itlean-providers.js +53 -0
- package/src/migrations/20210503154612-create-skills.js +114 -0
- package/src/migrations/20210503161006-create-files.js +53 -0
- package/src/migrations/20210503161236-create-channels.js +66 -0
- package/src/migrations/20210503161308-create-sessions.js +67 -0
- package/src/migrations/20210503161503-create-subdepartments.js +49 -0
- package/src/migrations/20210503161543-create-branches.js +53 -0
- package/src/migrations/20210503161909-create-lines.js +55 -0
- package/src/migrations/20210503161947-create-entities.js +56 -0
- package/src/migrations/20210503162126-create-intentions.js +56 -0
- package/src/migrations/20210503162213-create-intentions-values.js +51 -0
- package/src/migrations/20210503162618-create-entities-values.js +67 -0
- package/src/migrations/20210503162752-create-synonyms.js +71 -0
- package/src/migrations/20210503163331-create-responses.js +58 -0
- package/src/migrations/20210503163437-create-responses-boxes.js +66 -0
- package/src/migrations/20210503163702-create-languages.js +42 -0
- package/src/migrations/20210503184109-create-groups.js +53 -0
- package/src/migrations/20210503185846-create-contacts.js +55 -0
- package/src/migrations/20210503190220-create-groups-contacts.js +47 -0
- package/src/migrations/20210503190338-create-fields.js +40 -0
- package/src/migrations/20210503190515-create-apis.js +65 -0
- package/src/migrations/20210503191041-create-apis-resources-body.js +46 -0
- package/src/migrations/20210503191107-create-apis-resources.js +74 -0
- package/src/migrations/20210503191253-create-apis-resources-headers.js +53 -0
- package/src/migrations/20210503193228-create-apis-resources-query-string-params.js +61 -0
- package/src/migrations/20210503193425-create-apis-resources-path-params.js +52 -0
- package/src/migrations/20210503193511-create-dialog-nodes.js +121 -0
- package/src/migrations/20210503193629-create-response-dialog-nodes.js +46 -0
- package/src/migrations/20210503193905-create-system-users-lines.js +45 -0
- package/src/migrations/20210503194004-create-attendances.js +80 -0
- package/src/migrations/20210503194036-create-tranship-conversations.js +65 -0
- package/src/migrations/20210503194204-create-line-configurations.js +75 -0
- package/src/migrations/20210504133611-create-templates.js +68 -0
- package/src/migrations/20210504133647-create-socket-clients.js +73 -0
- package/src/migrations/20210504143703-create-dialog-nodes-multiple-responses.js +47 -0
- package/src/migrations/20210504144332-create-messages-hsm.js +72 -0
- package/src/migrations/20210504144657-create-dialog-nodes-api-resources.js +54 -0
- package/src/migrations/20210504144730-create-send-hsm.js +62 -0
- package/src/migrations/20210504144859-create-messages-hsm-channels.js +48 -0
- package/src/migrations/20210504144931-create-open-faqs.js +55 -0
- package/src/migrations/20210504145032-create-return-hsm.js +50 -0
- package/src/migrations/20210504160623-create-group-send-hsm.js +52 -0
- package/src/migrations/20210504164445-create-extension-unaccent.js +11 -0
- package/src/migrations/20210504164516-create-extension-fuzzy.js +11 -0
- package/src/migrations/20210504164553-create-attendance-scale.js +48 -0
- package/src/migrations/20210504164613-create-attendance-scale-off.js +58 -0
- package/src/migrations/20210504165351-create-comments.js +42 -0
- package/src/migrations/20210504165421-create-quick-messages.js +49 -0
- package/src/migrations/20210504165514-create-bot-iterables.js +60 -0
- package/src/migrations/20210504165900-create-tranship-triggers.js +114 -0
- package/src/migrations/20210505025504-create-send-hsm-return-hsm.js +34 -0
- package/src/migrations/20210507012938-create-faq-triggers.js +68 -0
- package/src/migrations/20210518122431-alter-responses.js +17 -0
- package/src/migrations/20210524150418-create-faq-questions.js +51 -0
- package/src/migrations/20210524173157-alter-table-open-faq.js +17 -0
- package/src/migrations/20210526115430-alter-attendances.js +14 -0
- package/src/migrations/20210528101030-alter-attendances.js +82 -0
- package/src/migrations/20210609103918-create-table-postbakGupshup.js +46 -0
- package/src/migrations/20210613125036-unnamed-migration.js +21 -0
- package/src/migrations/20210614194609-alter-channels.js +14 -0
- package/src/migrations/20210618101840-alter-table-MessagesHsms.js +14 -0
- package/src/migrations/20210622132643-alter-table-postbackGupshup.js +11 -0
- package/src/migrations/20210623110159-alter-table-botinterable.js +176 -0
- package/src/migrations/20210623180356-alter-dialog-nodes-api-resources.js +15 -0
- package/src/migrations/20210625165930-alter-dialog-nodes-api-resources.js +15 -0
- package/src/migrations/20210708142712-alter-table-entity-values.js +17 -0
- package/src/migrations/20210708145259-alter-table-synonyms.js +25 -0
- package/src/migrations/20210719161230-alter-attendances.js +14 -0
- package/src/migrations/20210727095921-alter-name-size.js +39 -0
- package/src/migrations/20210727110430-create-endSessionTriggers.js +71 -0
- package/src/migrations/20210728140327-create-table-online-editing.js +42 -0
- package/src/migrations/20210810152747-alter-botIterables.js +26 -0
- package/src/migrations/20210812110330-create-indexes.js +101 -0
- package/src/migrations/20210816124430-create-inactivityTriggers.js +60 -0
- package/src/migrations/20210819155330-create-function.js +123 -0
- package/src/migrations/20210823145424-remove-names-botiterables.js +74 -0
- package/src/migrations/20210902145430-create-apiKeys.js +40 -0
- package/src/migrations/20210906092430-create-customPostback.js +44 -0
- package/src/migrations/20210906144034-alter-api-body-migration.js +74 -0
- package/src/migrations/20210910081430-create-transhipInactivityTriggers.js +48 -0
- package/src/migrations/20210923131530-alter-attendances.js +14 -0
- package/src/migrations/20210923140130-create-function.js +85 -0
- package/src/migrations/20210927141630-alter-attendances.js +32 -0
- package/src/migrations/20211020130541-alter-table-session-hasTranship.js +14 -0
- package/src/migrations/20211025155825-create-stopwords.js +52 -0
- package/src/models/index.js +45 -0
- package/src/{stopwords.js → models/stopwords.js} +0 -6
- package/src/seeders/20210414180447-change-ChannelTypes.js +47 -0
- package/src/seeders/20210505130137-insert-channel-types.js +65 -0
- package/src/seeders/20210505132612-insert-intelligence.js +27 -0
- package/src/seeders/20210505134121-insert-enterprise.js +15 -0
- package/src/seeders/20210505134345-insert-permissions.js +125 -0
- package/src/seeders/20210505134549-insert-profiles.js +39 -0
- package/src/seeders/20210505134700-insert-profiles-permissions.js +80 -0
- package/src/seeders/20210505135931-insert-system-users.js +52 -0
- package/src/seeders/20210505140025-insert-system-users-profiles.js +26 -0
- package/src/seeders/20210505140049-insert-language.js +21 -0
- package/src/seeders/20210505140259-insert-itlean-provider.js +34 -0
- package/src/seeders/20210505140343-insert-templates.js +229 -0
- package/src/seeders/20210505140658-insert-channel-configurations.js +146 -0
- package/src/seeders/20210618132740-add-new-channel-configutations.js +45 -0
- package/src/seeders/20210817081230-insert-profiles-permissions.js +105 -0
- package/src/seeders/20210830131930-insert-profiles-permissions.js +71 -0
- package/src/seeders/20210902160430-insert-apiKey.js +30 -0
- package/src/seeders/20211005135921-edit-gupshup-reponseTypes.js +47 -0
- package/index.js +0 -125
- /package/src/{apiKeys.js → models/apiKeys.js} +0 -0
- /package/src/{apiResourceBodies.js → models/apiResourceBodies.js} +0 -0
- /package/src/{apiResourceHeaders.js → models/apiResourceHeaders.js} +0 -0
- /package/src/{apiResourcePathParams.js → models/apiResourcePathParams.js} +0 -0
- /package/src/{apiResourceQueryStringParams.js → models/apiResourceQueryStringParams.js} +0 -0
- /package/src/{apiResources.js → models/apiResources.js} +0 -0
- /package/src/{apis.js → models/apis.js} +0 -0
- /package/src/{attendanceScale.js → models/attendanceScale.js} +0 -0
- /package/src/{attendanceScaleOff.js → models/attendanceScaleOff.js} +0 -0
- /package/src/{attendances.js → models/attendances.js} +0 -0
- /package/src/{botIterable.js → models/botIterable.js} +0 -0
- /package/src/{branches.js → models/branches.js} +0 -0
- /package/src/{channelConfigurations.js → models/channelConfigurations.js} +0 -0
- /package/src/{channelTypes.js → models/channelTypes.js} +0 -0
- /package/src/{channels.js → models/channels.js} +0 -0
- /package/src/{client.js → models/client.js} +0 -0
- /package/src/{comments.js → models/comments.js} +0 -0
- /package/src/{customPostbacks.js → models/customPostbacks.js} +0 -0
- /package/src/{departments.js → models/departments.js} +0 -0
- /package/src/{dialogNodes.js → models/dialogNodes.js} +0 -0
- /package/src/{dialogNodes_MultipleResponses.js → models/dialogNodes_MultipleResponses.js} +0 -0
- /package/src/{dialogNodes_apiResources.js → models/dialogNodes_apiResources.js} +0 -0
- /package/src/{endSessionTriggers.js → models/endSessionTriggers.js} +0 -0
- /package/src/{enterprises.js → models/enterprises.js} +0 -0
- /package/src/{entity.js → models/entity.js} +0 -0
- /package/src/{entityValues.js → models/entityValues.js} +0 -0
- /package/src/{faqQuestions.js → models/faqQuestions.js} +0 -0
- /package/src/{faqTriggers.js → models/faqTriggers.js} +0 -0
- /package/src/{files.js → models/files.js} +0 -0
- /package/src/{ibmProvider.js → models/ibmProvider.js} +0 -0
- /package/src/{inactivityTriggers.js → models/inactivityTriggers.js} +0 -0
- /package/src/{intelligence.js → models/intelligence.js} +0 -0
- /package/src/{intention.js → models/intention.js} +0 -0
- /package/src/{intentionValue.js → models/intentionValue.js} +0 -0
- /package/src/{itleanProvider.js → models/itleanProvider.js} +0 -0
- /package/src/{lineConfigurations.js → models/lineConfigurations.js} +0 -0
- /package/src/{lines.js → models/lines.js} +0 -0
- /package/src/{messagesHsm.js → models/messagesHsm.js} +0 -0
- /package/src/{openFaqs.js → models/openFaqs.js} +0 -0
- /package/src/{permissions.js → models/permissions.js} +0 -0
- /package/src/{postbackGupshup.js → models/postbackGupshup.js} +0 -0
- /package/src/{profile.js → models/profile.js} +0 -0
- /package/src/{profiles_permission.js → models/profiles_permission.js} +0 -0
- /package/src/{quickMessages.js → models/quickMessages.js} +0 -0
- /package/src/{response_DialogNodes.js → models/response_DialogNodes.js} +0 -0
- /package/src/{responses.js → models/responses.js} +0 -0
- /package/src/{responsesBoxes.js → models/responsesBoxes.js} +0 -0
- /package/src/{returnHsm.js → models/returnHsm.js} +0 -0
- /package/src/{sessions.js → models/sessions.js} +0 -0
- /package/src/{skill.js → models/skill.js} +0 -0
- /package/src/{socketClients.js → models/socketClients.js} +0 -0
- /package/src/{subDepartments.js → models/subDepartments.js} +0 -0
- /package/src/{synonyms.js → models/synonyms.js} +0 -0
- /package/src/{systemUsers.js → models/systemUsers.js} +0 -0
- /package/src/{systemUsers_Lines.js → models/systemUsers_Lines.js} +0 -0
- /package/src/{systemUsers_profiles.js → models/systemUsers_profiles.js} +0 -0
- /package/src/{templates.js → models/templates.js} +0 -0
- /package/src/{transhipConversations.js → models/transhipConversations.js} +0 -0
- /package/src/{transhipInactivityTriggers.js → models/transhipInactivityTriggers.js} +0 -0
- /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
|
+
}
|