@itleanchatbot/shared-models-js-postgres 1.5.91 → 2.1.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/README.md +28 -3
- package/package.json +8 -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/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/{apiKeys.js → models/apiKeys.js} +1 -1
- package/src/{apiResourceBodies.js → models/apiResourceBodies.js} +1 -1
- package/src/{apiResourceHeaders.js → models/apiResourceHeaders.js} +1 -1
- package/src/{apiResourcePathParams.js → models/apiResourcePathParams.js} +1 -1
- package/src/{apiResourceQueryStringParams.js → models/apiResourceQueryStringParams.js} +1 -1
- package/src/{apiResources.js → models/apiResources.js} +1 -1
- package/src/{apis.js → models/apis.js} +1 -1
- package/src/{attendanceScale.js → models/attendanceScale.js} +1 -1
- package/src/{attendanceScaleOff.js → models/attendanceScaleOff.js} +1 -1
- package/src/{attendances.js → models/attendances.js} +1 -1
- package/src/{botIterable.js → models/botIterable.js} +1 -5
- package/src/{branches.js → models/branches.js} +1 -1
- package/src/{channelConfigurations.js → models/channelConfigurations.js} +1 -1
- package/src/{channelTypes.js → models/channelTypes.js} +15 -1
- package/src/{channels.js → models/channels.js} +1 -1
- package/src/{client.js → models/client.js} +1 -1
- package/src/{comments.js → models/comments.js} +1 -1
- package/src/models/contacts.js +41 -0
- package/src/{customPostbacks.js → models/customPostbacks.js} +1 -1
- package/src/{departments.js → models/departments.js} +1 -1
- package/src/{dialogNodes.js → models/dialogNodes.js} +1 -1
- package/src/{dialogNodes_MultipleResponses.js → models/dialogNodes_MultipleResponses.js} +1 -1
- package/src/{dialogNodes_apiResources.js → models/dialogNodes_apiResources.js} +1 -1
- package/src/{endSessionTriggers.js → models/endSessionTriggers.js} +1 -1
- package/src/{enterprises.js → models/enterprises.js} +1 -1
- package/src/{entity.js → models/entity.js} +1 -1
- package/src/{entityValues.js → models/entityValues.js} +1 -1
- package/src/{faqQuestions.js → models/faqQuestions.js} +1 -1
- package/src/{faqTriggers.js → models/faqTriggers.js} +1 -1
- package/src/models/fields.js +28 -0
- package/src/{files.js → models/files.js} +1 -1
- package/src/models/groups.js +45 -0
- package/src/models/groupsContracts.js +13 -0
- package/src/models/groupsSendHsms.js +13 -0
- package/src/{ibmProvider.js → models/ibmProvider.js} +1 -1
- package/src/{inactivityTriggers.js → models/inactivityTriggers.js} +1 -1
- package/src/models/index.js +45 -0
- package/src/{intelligence.js → models/intelligence.js} +1 -1
- package/src/{intention.js → models/intention.js} +1 -1
- package/src/{intentionValue.js → models/intentionValue.js} +1 -1
- package/src/{itleanProvider.js → models/itleanProvider.js} +1 -1
- package/src/models/language.js +21 -0
- package/src/{lineConfigurations.js → models/lineConfigurations.js} +1 -1
- package/src/{lines.js → models/lines.js} +1 -1
- package/src/{messagesHsm.js → models/messagesHsm.js} +6 -2
- package/src/models/onlineEditions.js +27 -0
- package/src/{openFaqs.js → models/openFaqs.js} +1 -1
- package/src/{permissions.js → models/permissions.js} +1 -1
- package/src/{postbackGupshup.js → models/postbackGupshup.js} +1 -1
- package/src/{profile.js → models/profile.js} +1 -1
- package/src/{profiles_permission.js → models/profiles_permission.js} +1 -1
- package/src/{quickMessages.js → models/quickMessages.js} +1 -1
- package/src/models/responseChannels.js +39 -0
- package/src/{response_DialogNodes.js → models/response_DialogNodes.js} +1 -1
- package/src/{responses.js → models/responses.js} +1 -1
- package/src/{responsesBoxes.js → models/responsesBoxes.js} +1 -1
- package/src/{returnHsm.js → models/returnHsm.js} +1 -1
- package/src/models/sendHsm.js +51 -0
- package/src/models/sendHsmReturnHsm.js +13 -0
- package/src/{sessions.js → models/sessions.js} +1 -1
- package/src/{skill.js → models/skill.js} +1 -1
- package/src/{socketClients.js → models/socketClients.js} +1 -1
- package/src/{stopwords.js → models/stopwords.js} +1 -1
- package/src/{subDepartments.js → models/subDepartments.js} +1 -1
- package/src/{synonyms.js → models/synonyms.js} +1 -1
- package/src/{systemUsers.js → models/systemUsers.js} +1 -1
- package/src/{systemUsers_Lines.js → models/systemUsers_Lines.js} +1 -1
- package/src/{systemUsers_profiles.js → models/systemUsers_profiles.js} +1 -1
- package/src/{templates.js → models/templates.js} +1 -1
- package/src/{transhipConversations.js → models/transhipConversations.js} +1 -1
- package/src/{transhipInactivityTriggers.js → models/transhipInactivityTriggers.js} +1 -1
- package/src/{transhipTriggers.js → models/transhipTriggers.js} +1 -1
- package/src/presenters/database/migrationHelpers.js +62 -0
- package/src/presenters/encryptation.js +14 -0
- 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 +228 -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/README.md
CHANGED
|
@@ -8,11 +8,36 @@ O projeto que for usar esses models compartilhados vão precisar ter as dependen
|
|
|
8
8
|
|
|
9
9
|
## Get Start ##
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Basta criar a instancia das models passando as configurações de banco
|
|
12
12
|
|
|
13
13
|
Exemplo:
|
|
14
14
|
|
|
15
|
+
config.js
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
module.exports = {
|
|
19
|
+
username: process.env.DB_USERNAME,
|
|
20
|
+
password: process.env.DB_PASSWORD,
|
|
21
|
+
database: process.env.DATABASE_NAME,
|
|
22
|
+
host: process.env.DATABASE_HOST,
|
|
23
|
+
dialect: process.env.DATABASE_TYPE,
|
|
24
|
+
// seederStorage: 'sequelize',
|
|
25
|
+
// seederStorageTableName: 'SequelizeSeeder',
|
|
26
|
+
logging: false,
|
|
27
|
+
omitNull: true,
|
|
28
|
+
minifyAliases: true,
|
|
29
|
+
pool: {
|
|
30
|
+
max: 100,
|
|
31
|
+
min: 0,
|
|
32
|
+
idle: 10000,
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
|
|
15
38
|
```js
|
|
16
|
-
const
|
|
17
|
-
|
|
39
|
+
const config = require('../config')
|
|
40
|
+
const factoryModels = require('@itleanchatbot/shared-models-js-postgres/src/models')
|
|
41
|
+
module.exports = factoryModels(config)
|
|
42
|
+
|
|
18
43
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itleanchatbot/shared-models-js-postgres",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Shared Models JS Postgres",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"license": "ISC",
|
|
@@ -36,5 +36,11 @@
|
|
|
36
36
|
"jest": "^26.6.3",
|
|
37
37
|
"prettier": "^2.2.1"
|
|
38
38
|
},
|
|
39
|
-
"dependencies": {
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"crypto-js": "^4.0.0",
|
|
41
|
+
"pg": "^8.5.1",
|
|
42
|
+
"pg-hstore": "^2.3.3",
|
|
43
|
+
"sequelize": "^6.3.5",
|
|
44
|
+
"uuid-apikey": "^1.5.3"
|
|
45
|
+
}
|
|
40
46
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.sequelize.query(
|
|
6
|
+
'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";'
|
|
7
|
+
)
|
|
8
|
+
},
|
|
9
|
+
down: async (queryInterface, Sequelize) => {
|
|
10
|
+
return queryInterface.sequelize.query('DROP EXTENSION uuid-ossp;')
|
|
11
|
+
},
|
|
12
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('ChannelTypes', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
channelName: {
|
|
13
|
+
allowNull: false,
|
|
14
|
+
type: Sequelize.STRING(50),
|
|
15
|
+
unique: true,
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
channelLabel: {
|
|
21
|
+
allowNull: false,
|
|
22
|
+
type: Sequelize.STRING(50),
|
|
23
|
+
validate: {
|
|
24
|
+
notEmpty: true,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
responsesTypes: {
|
|
28
|
+
allowNull: true,
|
|
29
|
+
type: Sequelize.JSON,
|
|
30
|
+
},
|
|
31
|
+
direct_contact_name: {
|
|
32
|
+
allowNull: true,
|
|
33
|
+
type: Sequelize.STRING,
|
|
34
|
+
},
|
|
35
|
+
direct_contact_code: {
|
|
36
|
+
allowNull: true,
|
|
37
|
+
type: Sequelize.STRING,
|
|
38
|
+
},
|
|
39
|
+
direct_contact_type: {
|
|
40
|
+
allowNull: true,
|
|
41
|
+
type: Sequelize.STRING,
|
|
42
|
+
},
|
|
43
|
+
createdAt: {
|
|
44
|
+
allowNull: false,
|
|
45
|
+
type: Sequelize.DATE,
|
|
46
|
+
},
|
|
47
|
+
updatedAt: {
|
|
48
|
+
allowNull: false,
|
|
49
|
+
type: Sequelize.DATE,
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
},
|
|
53
|
+
down: async (queryInterface, Sequelize) => {
|
|
54
|
+
await queryInterface.dropTable('ChannelTypes')
|
|
55
|
+
},
|
|
56
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('ChannelConfigurations', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
ChannelTypeId: {
|
|
13
|
+
type: Sequelize.UUID,
|
|
14
|
+
allowNull: false,
|
|
15
|
+
references: {
|
|
16
|
+
model: 'ChannelTypes',
|
|
17
|
+
key: 'id',
|
|
18
|
+
},
|
|
19
|
+
onDelete: 'RESTRICT',
|
|
20
|
+
onUpdate: 'CASCADE',
|
|
21
|
+
},
|
|
22
|
+
fieldName: {
|
|
23
|
+
type: Sequelize.STRING(50),
|
|
24
|
+
allowNull: false,
|
|
25
|
+
validate: {
|
|
26
|
+
notEmpty: true,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
fieldType: {
|
|
30
|
+
type: Sequelize.STRING(50),
|
|
31
|
+
allowNull: false,
|
|
32
|
+
validate: {
|
|
33
|
+
notEmpty: true,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
fieldLabel: {
|
|
37
|
+
type: Sequelize.STRING(50),
|
|
38
|
+
allowNull: false,
|
|
39
|
+
validate: {
|
|
40
|
+
notEmpty: true,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
createdAt: {
|
|
44
|
+
allowNull: false,
|
|
45
|
+
type: Sequelize.DATE,
|
|
46
|
+
},
|
|
47
|
+
updatedAt: {
|
|
48
|
+
allowNull: false,
|
|
49
|
+
type: Sequelize.DATE,
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
},
|
|
53
|
+
down: async (queryInterface, Sequelize) => {
|
|
54
|
+
await queryInterface.dropTable('ChannelConfigurations')
|
|
55
|
+
},
|
|
56
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('Enterprises', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
cnpj: {
|
|
13
|
+
type: Sequelize.STRING(18),
|
|
14
|
+
allowNull: false,
|
|
15
|
+
unique: true,
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
name: {
|
|
21
|
+
allowNull: false,
|
|
22
|
+
type: Sequelize.STRING(50),
|
|
23
|
+
validate: {
|
|
24
|
+
notEmpty: true,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
createdAt: {
|
|
28
|
+
allowNull: false,
|
|
29
|
+
type: Sequelize.DATE,
|
|
30
|
+
},
|
|
31
|
+
updatedAt: {
|
|
32
|
+
allowNull: false,
|
|
33
|
+
type: Sequelize.DATE,
|
|
34
|
+
},
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
await queryInterface.addIndex('Enterprises', ['cnpj'], {
|
|
38
|
+
indexName: 'enterprisesCnpj',
|
|
39
|
+
})
|
|
40
|
+
await queryInterface.addIndex('Enterprises', ['name'], {
|
|
41
|
+
indexName: 'enterprisesName',
|
|
42
|
+
})
|
|
43
|
+
},
|
|
44
|
+
down: async (queryInterface, Sequelize) => {
|
|
45
|
+
await queryInterface.dropTable('Enterprises')
|
|
46
|
+
},
|
|
47
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('Permissions', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
permissionCode: {
|
|
13
|
+
type: Sequelize.STRING(50),
|
|
14
|
+
allowNull: false,
|
|
15
|
+
unique: true,
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
description: {
|
|
21
|
+
allowNull: false,
|
|
22
|
+
type: Sequelize.STRING(255),
|
|
23
|
+
validate: {
|
|
24
|
+
notEmpty: true,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
createdAt: {
|
|
28
|
+
allowNull: false,
|
|
29
|
+
type: Sequelize.DATE,
|
|
30
|
+
},
|
|
31
|
+
updatedAt: {
|
|
32
|
+
allowNull: false,
|
|
33
|
+
type: Sequelize.DATE,
|
|
34
|
+
},
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
await queryInterface.addIndex('Permissions', ['permissionCode'], {
|
|
38
|
+
indexName: 'permissionsPermissionCode',
|
|
39
|
+
})
|
|
40
|
+
},
|
|
41
|
+
down: async (queryInterface, Sequelize) => {
|
|
42
|
+
await queryInterface.dropTable('Permissions')
|
|
43
|
+
},
|
|
44
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('Profiles', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
name: {
|
|
13
|
+
allowNull: false,
|
|
14
|
+
unique: true,
|
|
15
|
+
type: Sequelize.STRING(50),
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
createdAt: {
|
|
21
|
+
allowNull: false,
|
|
22
|
+
type: Sequelize.DATE,
|
|
23
|
+
},
|
|
24
|
+
updatedAt: {
|
|
25
|
+
allowNull: false,
|
|
26
|
+
type: Sequelize.DATE,
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
},
|
|
30
|
+
down: async (queryInterface, Sequelize) => {
|
|
31
|
+
await queryInterface.dropTable('Profiles')
|
|
32
|
+
},
|
|
33
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('Profiles_Permissions', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
ProfileId: {
|
|
13
|
+
type: Sequelize.UUID,
|
|
14
|
+
allowNull: false,
|
|
15
|
+
references: {
|
|
16
|
+
model: 'Profiles',
|
|
17
|
+
key: 'id',
|
|
18
|
+
},
|
|
19
|
+
onDelete: 'RESTRICT',
|
|
20
|
+
onUpdate: 'CASCADE',
|
|
21
|
+
},
|
|
22
|
+
PermissionId: {
|
|
23
|
+
type: Sequelize.UUID,
|
|
24
|
+
allowNull: false,
|
|
25
|
+
references: {
|
|
26
|
+
model: 'Permissions',
|
|
27
|
+
key: 'id',
|
|
28
|
+
},
|
|
29
|
+
onDelete: 'RESTRICT',
|
|
30
|
+
onUpdate: 'CASCADE',
|
|
31
|
+
},
|
|
32
|
+
createdAt: {
|
|
33
|
+
allowNull: false,
|
|
34
|
+
type: Sequelize.DATE,
|
|
35
|
+
},
|
|
36
|
+
updatedAt: {
|
|
37
|
+
allowNull: false,
|
|
38
|
+
type: Sequelize.DATE,
|
|
39
|
+
},
|
|
40
|
+
})
|
|
41
|
+
},
|
|
42
|
+
down: async (queryInterface, Sequelize) => {
|
|
43
|
+
await queryInterface.dropTable('Profiles_Permissions')
|
|
44
|
+
},
|
|
45
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('SystemUsers', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
name: {
|
|
13
|
+
allowNull: false,
|
|
14
|
+
type: Sequelize.STRING(50),
|
|
15
|
+
validate: {
|
|
16
|
+
notEmpty: true,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
email: {
|
|
20
|
+
allowNull: false,
|
|
21
|
+
type: Sequelize.TEXT,
|
|
22
|
+
unique: true,
|
|
23
|
+
validate: {
|
|
24
|
+
notEmpty: true,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
password: {
|
|
28
|
+
type: Sequelize.TEXT,
|
|
29
|
+
},
|
|
30
|
+
jwt: {
|
|
31
|
+
type: Sequelize.STRING(500),
|
|
32
|
+
allowNull: true,
|
|
33
|
+
},
|
|
34
|
+
EnterpriseId: {
|
|
35
|
+
type: Sequelize.UUID,
|
|
36
|
+
allowNull: false,
|
|
37
|
+
references: {
|
|
38
|
+
model: 'Enterprises',
|
|
39
|
+
key: 'id',
|
|
40
|
+
},
|
|
41
|
+
onDelete: 'RESTRICT',
|
|
42
|
+
onUpdate: 'CASCADE',
|
|
43
|
+
},
|
|
44
|
+
maxSimultaneousAttendances: {
|
|
45
|
+
allowNull: true,
|
|
46
|
+
type: Sequelize.INTEGER,
|
|
47
|
+
},
|
|
48
|
+
createdAt: {
|
|
49
|
+
allowNull: false,
|
|
50
|
+
type: Sequelize.DATE,
|
|
51
|
+
},
|
|
52
|
+
updatedAt: {
|
|
53
|
+
allowNull: false,
|
|
54
|
+
type: Sequelize.DATE,
|
|
55
|
+
},
|
|
56
|
+
})
|
|
57
|
+
},
|
|
58
|
+
down: async (queryInterface, Sequelize) => {
|
|
59
|
+
await queryInterface.dropTable('SystemUsers')
|
|
60
|
+
},
|
|
61
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('SystemUsers_Profiles', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
SystemUserId: {
|
|
13
|
+
type: Sequelize.UUID,
|
|
14
|
+
allowNull: false,
|
|
15
|
+
references: {
|
|
16
|
+
model: 'SystemUsers',
|
|
17
|
+
key: 'id',
|
|
18
|
+
},
|
|
19
|
+
onDelete: 'RESTRICT',
|
|
20
|
+
onUpdate: 'CASCADE',
|
|
21
|
+
},
|
|
22
|
+
ProfileId: {
|
|
23
|
+
type: Sequelize.UUID,
|
|
24
|
+
allowNull: false,
|
|
25
|
+
references: {
|
|
26
|
+
model: 'Profiles',
|
|
27
|
+
key: 'id',
|
|
28
|
+
},
|
|
29
|
+
onDelete: 'RESTRICT',
|
|
30
|
+
onUpdate: 'CASCADE',
|
|
31
|
+
},
|
|
32
|
+
createdAt: {
|
|
33
|
+
allowNull: false,
|
|
34
|
+
type: Sequelize.DATE,
|
|
35
|
+
},
|
|
36
|
+
updatedAt: {
|
|
37
|
+
allowNull: false,
|
|
38
|
+
type: Sequelize.DATE,
|
|
39
|
+
},
|
|
40
|
+
})
|
|
41
|
+
},
|
|
42
|
+
down: async (queryInterface, Sequelize) => {
|
|
43
|
+
await queryInterface.dropTable('SystemUsers_Profiles')
|
|
44
|
+
},
|
|
45
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('Departments', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
EnterpriseId: {
|
|
13
|
+
type: Sequelize.UUID,
|
|
14
|
+
allowNull: false,
|
|
15
|
+
references: {
|
|
16
|
+
model: 'Enterprises',
|
|
17
|
+
key: 'id',
|
|
18
|
+
},
|
|
19
|
+
onDelete: 'RESTRICT',
|
|
20
|
+
onUpdate: 'CASCADE',
|
|
21
|
+
},
|
|
22
|
+
internalId: {
|
|
23
|
+
allowNull: false,
|
|
24
|
+
type: Sequelize.STRING(50),
|
|
25
|
+
validate: {
|
|
26
|
+
notEmpty: true,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
name: {
|
|
30
|
+
allowNull: false,
|
|
31
|
+
type: Sequelize.STRING(50),
|
|
32
|
+
validate: {
|
|
33
|
+
notEmpty: true,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
createdAt: {
|
|
37
|
+
allowNull: false,
|
|
38
|
+
type: Sequelize.DATE,
|
|
39
|
+
},
|
|
40
|
+
updatedAt: {
|
|
41
|
+
allowNull: false,
|
|
42
|
+
type: Sequelize.DATE,
|
|
43
|
+
},
|
|
44
|
+
})
|
|
45
|
+
},
|
|
46
|
+
down: async (queryInterface, Sequelize) => {
|
|
47
|
+
await queryInterface.dropTable('Departments')
|
|
48
|
+
},
|
|
49
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('Clients', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
clientId: {
|
|
14
|
+
type: Sequelize.STRING,
|
|
15
|
+
allowNull: true,
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: false,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
serverId: {
|
|
22
|
+
type: Sequelize.STRING,
|
|
23
|
+
allowNull: false,
|
|
24
|
+
validate: {
|
|
25
|
+
notEmpty: true,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
createdAt: {
|
|
30
|
+
allowNull: false,
|
|
31
|
+
type: Sequelize.DATE,
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
updatedAt: {
|
|
35
|
+
allowNull: false,
|
|
36
|
+
type: Sequelize.DATE,
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
down: async (queryInterface, Sequelize) => {
|
|
42
|
+
await queryInterface.dropTable('Clients')
|
|
43
|
+
},
|
|
44
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const { PROVIDER_TYPE } = require('./../models/intelligence')
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
up: async (queryInterface, Sequelize) => {
|
|
7
|
+
await queryInterface.createTable('Intelligences', {
|
|
8
|
+
id: {
|
|
9
|
+
allowNull: false,
|
|
10
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
11
|
+
primaryKey: true,
|
|
12
|
+
type: Sequelize.UUID,
|
|
13
|
+
},
|
|
14
|
+
name: {
|
|
15
|
+
type: Sequelize.STRING(50),
|
|
16
|
+
allowNull: false,
|
|
17
|
+
validate: {
|
|
18
|
+
notEmpty: true,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
providerType: {
|
|
22
|
+
type: Sequelize.ENUM({
|
|
23
|
+
values: PROVIDER_TYPE,
|
|
24
|
+
}),
|
|
25
|
+
allowNull: false,
|
|
26
|
+
validate: {
|
|
27
|
+
notEmpty: true,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
visible: {
|
|
31
|
+
allowNull: false,
|
|
32
|
+
type: Sequelize.BOOLEAN,
|
|
33
|
+
defaultValue: true,
|
|
34
|
+
},
|
|
35
|
+
createdAt: {
|
|
36
|
+
allowNull: false,
|
|
37
|
+
type: Sequelize.DATE,
|
|
38
|
+
},
|
|
39
|
+
updatedAt: {
|
|
40
|
+
allowNull: false,
|
|
41
|
+
type: Sequelize.DATE,
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
},
|
|
45
|
+
down: async (queryInterface, Sequelize) => {
|
|
46
|
+
await queryInterface.dropTable('Intelligences')
|
|
47
|
+
},
|
|
48
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
up: async (queryInterface, Sequelize) => {
|
|
5
|
+
await queryInterface.createTable('IbmProviders', {
|
|
6
|
+
id: {
|
|
7
|
+
allowNull: false,
|
|
8
|
+
defaultValue: Sequelize.literal('uuid_generate_v4()'),
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
type: Sequelize.UUID,
|
|
11
|
+
},
|
|
12
|
+
IntelligenceId: {
|
|
13
|
+
type: Sequelize.UUID,
|
|
14
|
+
references: {
|
|
15
|
+
model: 'Intelligences',
|
|
16
|
+
key: 'id',
|
|
17
|
+
},
|
|
18
|
+
foreignKeyConstraint: true,
|
|
19
|
+
allowNull: false,
|
|
20
|
+
validate: {
|
|
21
|
+
notEmpty: true,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
EnterpriseId: {
|
|
25
|
+
type: Sequelize.UUID,
|
|
26
|
+
allowNull: true,
|
|
27
|
+
references: {
|
|
28
|
+
model: 'Enterprises',
|
|
29
|
+
key: 'id',
|
|
30
|
+
},
|
|
31
|
+
onDelete: 'RESTRICT',
|
|
32
|
+
onUpdate: 'CASCADE',
|
|
33
|
+
},
|
|
34
|
+
url: {
|
|
35
|
+
type: Sequelize.STRING,
|
|
36
|
+
allowNull: true,
|
|
37
|
+
},
|
|
38
|
+
token: {
|
|
39
|
+
type: Sequelize.STRING,
|
|
40
|
+
allowNull: true,
|
|
41
|
+
},
|
|
42
|
+
active: {
|
|
43
|
+
allowNull: false,
|
|
44
|
+
type: Sequelize.BOOLEAN,
|
|
45
|
+
defaultValue: true,
|
|
46
|
+
},
|
|
47
|
+
apiVersion: {
|
|
48
|
+
type: Sequelize.STRING(5),
|
|
49
|
+
allowNull: false,
|
|
50
|
+
defaultValue: 'v1',
|
|
51
|
+
},
|
|
52
|
+
version: {
|
|
53
|
+
type: Sequelize.STRING(15),
|
|
54
|
+
allowNull: false,
|
|
55
|
+
defaultValue: '2018-09-20',
|
|
56
|
+
},
|
|
57
|
+
createdAt: {
|
|
58
|
+
allowNull: false,
|
|
59
|
+
type: Sequelize.DATE,
|
|
60
|
+
},
|
|
61
|
+
updatedAt: {
|
|
62
|
+
allowNull: false,
|
|
63
|
+
type: Sequelize.DATE,
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
down: async (queryInterface, Sequelize) => {
|
|
69
|
+
await queryInterface.dropTable('IbmProviders')
|
|
70
|
+
},
|
|
71
|
+
}
|