@itleanchatbot/shared-models-js-postgres 2.0.0 → 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 +6 -4
- package/src/migrations/20210503142857-create-intelligences.js +1 -1
- package/src/migrations/20210503154612-create-skills.js +1 -1
- package/src/migrations/20210503162618-create-entities-values.js +1 -1
- package/src/migrations/20210503162752-create-synonyms.js +1 -1
- package/src/migrations/20210503163437-create-responses-boxes.js +1 -1
- package/src/migrations/20210503190515-create-apis.js +1 -1
- package/src/migrations/20210503191041-create-apis-resources-body.js +1 -1
- package/src/migrations/20210503191107-create-apis-resources.js +1 -1
- package/src/migrations/20210503193511-create-dialog-nodes.js +1 -1
- package/src/migrations/20210504144332-create-messages-hsm.js +1 -1
- package/src/migrations/20210727110430-create-endSessionTriggers.js +1 -1
- package/src/migrations/20210906144034-alter-api-body-migration.js +2 -2
- package/src/migrations/20210927141630-alter-attendances.js +3 -3
- package/src/models/apiKeys.js +1 -1
- package/src/models/apiResourceBodies.js +1 -1
- package/src/models/apiResourceHeaders.js +1 -1
- package/src/models/apiResourcePathParams.js +1 -1
- package/src/models/apiResourceQueryStringParams.js +1 -1
- package/src/models/apiResources.js +1 -1
- package/src/models/apis.js +1 -1
- package/src/models/attendanceScale.js +1 -1
- package/src/models/attendanceScaleOff.js +1 -1
- package/src/models/attendances.js +1 -1
- package/src/models/botIterable.js +1 -5
- package/src/models/branches.js +1 -1
- package/src/models/channelConfigurations.js +1 -1
- package/src/models/channelTypes.js +15 -1
- package/src/models/channels.js +1 -1
- package/src/models/client.js +1 -1
- package/src/models/comments.js +1 -1
- package/src/models/contacts.js +41 -0
- package/src/models/customPostbacks.js +1 -1
- package/src/models/departments.js +1 -1
- package/src/models/dialogNodes.js +1 -1
- package/src/models/dialogNodes_MultipleResponses.js +1 -1
- package/src/models/dialogNodes_apiResources.js +1 -1
- package/src/models/endSessionTriggers.js +1 -1
- package/src/models/enterprises.js +1 -1
- package/src/models/entity.js +1 -1
- package/src/models/entityValues.js +1 -1
- package/src/models/faqQuestions.js +1 -1
- package/src/models/faqTriggers.js +1 -1
- package/src/models/fields.js +28 -0
- package/src/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/models/ibmProvider.js +1 -1
- package/src/models/inactivityTriggers.js +1 -1
- package/src/models/index.js +1 -1
- package/src/models/intelligence.js +1 -1
- package/src/models/intention.js +1 -1
- package/src/models/intentionValue.js +1 -1
- package/src/models/itleanProvider.js +1 -1
- package/src/models/language.js +21 -0
- package/src/models/lineConfigurations.js +1 -1
- package/src/models/lines.js +1 -1
- package/src/models/messagesHsm.js +6 -2
- package/src/models/onlineEditions.js +27 -0
- package/src/models/openFaqs.js +1 -1
- package/src/models/permissions.js +1 -1
- package/src/models/postbackGupshup.js +1 -1
- package/src/models/profile.js +1 -1
- package/src/models/profiles_permission.js +1 -1
- package/src/models/quickMessages.js +1 -1
- package/src/models/responseChannels.js +39 -0
- package/src/models/response_DialogNodes.js +1 -1
- package/src/models/responses.js +1 -1
- package/src/models/responsesBoxes.js +1 -1
- package/src/models/returnHsm.js +1 -1
- package/src/models/sendHsm.js +51 -0
- package/src/models/sendHsmReturnHsm.js +13 -0
- package/src/models/sessions.js +1 -1
- package/src/models/skill.js +1 -1
- package/src/models/socketClients.js +1 -1
- package/src/models/stopwords.js +1 -1
- package/src/models/subDepartments.js +1 -1
- package/src/models/synonyms.js +1 -1
- package/src/models/systemUsers.js +1 -1
- package/src/models/systemUsers_Lines.js +1 -1
- package/src/models/systemUsers_profiles.js +1 -1
- package/src/models/templates.js +1 -1
- package/src/models/transhipConversations.js +1 -1
- package/src/models/transhipInactivityTriggers.js +1 -1
- package/src/models/transhipTriggers.js +1 -1
- package/src/presenters/database/migrationHelpers.js +62 -0
- package/src/presenters/encryptation.js +14 -0
- package/src/seeders/20210505130137-insert-channel-types.js +1 -1
- package/src/seeders/20210505132612-insert-intelligence.js +3 -3
- package/src/seeders/20210505134700-insert-profiles-permissions.js +3 -3
- package/src/seeders/20210505135931-insert-system-users.js +2 -2
- package/src/seeders/20210505140259-insert-itlean-provider.js +3 -3
- package/src/seeders/20210505140343-insert-templates.js +2 -3
- package/src/seeders/20210902160430-insert-apiKey.js +1 -1
- package/src/migrations/20210613125036-unnamed-migration.js +0 -21
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": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Shared Models JS Postgres",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"license": "ISC",
|
|
@@ -37,8 +37,10 @@
|
|
|
37
37
|
"prettier": "^2.2.1"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
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"
|
|
43
45
|
}
|
|
44
46
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
3
|
const {
|
|
4
|
-
|
|
5
|
-
} = require('
|
|
4
|
+
APIS_RESOURCES_BODY_TYPES,
|
|
5
|
+
} = require('./../models/apiResourceBodies')
|
|
6
6
|
|
|
7
7
|
const oldEnumString = `'${APIS_RESOURCES_BODY_TYPES.JSON}', '${APIS_RESOURCES_BODY_TYPES.TEXT}', '${APIS_RESOURCES_BODY_TYPES.XML}', '${APIS_RESOURCES_BODY_TYPES.HTML}'`
|
|
8
8
|
const newEnumString = `'${APIS_RESOURCES_BODY_TYPES.JSON}', '${APIS_RESOURCES_BODY_TYPES.TEXT}', '${APIS_RESOURCES_BODY_TYPES.XML}', '${APIS_RESOURCES_BODY_TYPES.HTML}', '${APIS_RESOURCES_BODY_TYPES.URL_ENCODE}'`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { replaceEnum } = require('
|
|
3
|
+
const { replaceEnum } = require('./../presenters/database/migrationHelpers')
|
|
4
4
|
|
|
5
5
|
module.exports = {
|
|
6
|
-
up: async (queryInterface
|
|
6
|
+
up: async (queryInterface) => {
|
|
7
7
|
await replaceEnum(
|
|
8
8
|
queryInterface,
|
|
9
9
|
'Attendances',
|
|
@@ -17,7 +17,7 @@ module.exports = {
|
|
|
17
17
|
)
|
|
18
18
|
},
|
|
19
19
|
|
|
20
|
-
down: async (queryInterface
|
|
20
|
+
down: async (queryInterface) => {
|
|
21
21
|
await replaceEnum(
|
|
22
22
|
queryInterface,
|
|
23
23
|
'Attendances',
|
package/src/models/apiKeys.js
CHANGED
package/src/models/apis.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
exports.
|
|
1
|
+
exports.model = (sequelize, DataType) => {
|
|
2
2
|
const BotIterables = sequelize.define('BotIterables', {
|
|
3
3
|
context: {
|
|
4
4
|
type: DataType.JSON,
|
|
@@ -8,10 +8,6 @@ exports.BotIterablesModel = (sequelize, DataType) => {
|
|
|
8
8
|
type: DataType.STRING(100),
|
|
9
9
|
allowNull: true,
|
|
10
10
|
},
|
|
11
|
-
context: {
|
|
12
|
-
type: DataType.JSON,
|
|
13
|
-
defaultValue: [],
|
|
14
|
-
},
|
|
15
11
|
action:{
|
|
16
12
|
type: DataType.ENUM({
|
|
17
13
|
values: ['bot', 'client'],
|
package/src/models/branches.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
const CHANNEL_TYPES = {
|
|
2
|
+
WEB_CHAT: 'webchat',
|
|
3
|
+
WHATS_APP: 'whatsapp',
|
|
4
|
+
DEFAULT: 'default',
|
|
5
|
+
FACEBOOK: 'facebook',
|
|
6
|
+
WHATSAPP_INTERAXA: 'whatsapp_interaxa',
|
|
7
|
+
WHATSAPP_GUPSHUP: 'whatsapp_gupshup',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const ChannelTypesModel = (sequelize, DataTypes) => {
|
|
2
11
|
const ChannelTypes = sequelize.define('ChannelTypes', {
|
|
3
12
|
channelName: {
|
|
4
13
|
allowNull: false,
|
|
@@ -50,3 +59,8 @@ exports.ChannelTypesModel = (sequelize, DataTypes) => {
|
|
|
50
59
|
|
|
51
60
|
return ChannelTypes
|
|
52
61
|
}
|
|
62
|
+
|
|
63
|
+
module.exports = {
|
|
64
|
+
model: ChannelTypesModel,
|
|
65
|
+
CHANNEL_TYPES,
|
|
66
|
+
}
|
package/src/models/channels.js
CHANGED
package/src/models/client.js
CHANGED
package/src/models/comments.js
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
exports.model = (sequelize, DataTypes) => {
|
|
2
|
+
const Contacts = sequelize.define('Contacts', {
|
|
3
|
+
EnterpriseId: {
|
|
4
|
+
type: DataTypes.UUID,
|
|
5
|
+
allowNull: false,
|
|
6
|
+
references: {
|
|
7
|
+
model: 'Enterprises',
|
|
8
|
+
key: 'id',
|
|
9
|
+
},
|
|
10
|
+
onDelete: 'RESTRICT',
|
|
11
|
+
onUpdate: 'CASCADE',
|
|
12
|
+
},
|
|
13
|
+
content: {
|
|
14
|
+
allowNull: false,
|
|
15
|
+
type: DataTypes.JSONB,
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
allSelected: {
|
|
21
|
+
type: DataTypes.BOOLEAN,
|
|
22
|
+
allowNull: true,
|
|
23
|
+
defaultValue: false,
|
|
24
|
+
},
|
|
25
|
+
headers: {
|
|
26
|
+
allowNull: true,
|
|
27
|
+
type: DataTypes.JSONB,
|
|
28
|
+
},
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
Contacts.associate = (models) => {
|
|
32
|
+
Contacts.belongsTo(models.Enterprises)
|
|
33
|
+
Contacts.belongsToMany(models.Groups, {
|
|
34
|
+
through: 'GroupsContacts',
|
|
35
|
+
as: 'Groups',
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return Contacts
|
|
40
|
+
}
|
|
41
|
+
|
package/src/models/entity.js
CHANGED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
exports.model = (sequelize, DataTypes) => {
|
|
2
|
+
const Fields = sequelize.define('Fields', {
|
|
3
|
+
EnterpriseId: {
|
|
4
|
+
type: DataTypes.UUID,
|
|
5
|
+
allowNull: false,
|
|
6
|
+
references: {
|
|
7
|
+
model: 'Enterprises',
|
|
8
|
+
key: 'id',
|
|
9
|
+
},
|
|
10
|
+
onDelete: 'RESTRICT',
|
|
11
|
+
onUpdate: 'CASCADE',
|
|
12
|
+
},
|
|
13
|
+
fields: {
|
|
14
|
+
allowNull: false,
|
|
15
|
+
type: DataTypes.JSONB,
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
Fields.associate = (models) => {
|
|
23
|
+
Fields.belongsTo(models.Enterprises)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return Fields
|
|
27
|
+
}
|
|
28
|
+
|
package/src/models/files.js
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
exports.model = (sequelize, DataTypes) => {
|
|
2
|
+
const Groups = sequelize.define('Groups', {
|
|
3
|
+
EnterpriseId: {
|
|
4
|
+
type: DataTypes.UUID,
|
|
5
|
+
allowNull: false,
|
|
6
|
+
references: {
|
|
7
|
+
model: 'Enterprises',
|
|
8
|
+
key: 'id',
|
|
9
|
+
},
|
|
10
|
+
onDelete: 'RESTRICT',
|
|
11
|
+
onUpdate: 'CASCADE',
|
|
12
|
+
},
|
|
13
|
+
name: {
|
|
14
|
+
allowNull: false,
|
|
15
|
+
type: DataTypes.STRING,
|
|
16
|
+
validate: {
|
|
17
|
+
notEmpty: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
allSelected: {
|
|
21
|
+
type: DataTypes.BOOLEAN,
|
|
22
|
+
allowNull: true,
|
|
23
|
+
defaultValue: false,
|
|
24
|
+
},
|
|
25
|
+
description: {
|
|
26
|
+
allowNull: true,
|
|
27
|
+
type: DataTypes.STRING,
|
|
28
|
+
},
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
Groups.associate = (models) => {
|
|
32
|
+
Groups.belongsTo(models.Enterprises)
|
|
33
|
+
Groups.belongsToMany(models.Contacts, {
|
|
34
|
+
through: 'GroupsContacts',
|
|
35
|
+
as: 'Contacts',
|
|
36
|
+
})
|
|
37
|
+
Groups.belongsToMany(models.SendHsms, {
|
|
38
|
+
through: 'GroupsSendHsms',
|
|
39
|
+
as: 'SendHsms',
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return Groups
|
|
44
|
+
}
|
|
45
|
+
|
package/src/models/index.js
CHANGED
package/src/models/intention.js
CHANGED