@itleanchatbot/shared-models-js-postgres 2.0.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/seeders/test/20200924195050-create-ibmprovider.js +38 -0
- package/src/seeders/test/20200924195050-create-itlean-provider.js +40 -0
- package/src/seeders/test/20200924195050-seed-enterprises.js +24 -0
- package/src/seeders/test/20200925184253-seed-skils-itlean-provider.js +37 -0
- package/src/seeders/test/20200925184253-seed-skils.js +41 -0
- package/src/seeders/test/20200925184254-seed-Intention.js +39 -0
- package/src/seeders/test/20200925184258-seed-Intention-values.js +41 -0
- package/src/seeders/test/20200925191642-seed-entity-skill-itlean.js +23 -0
- package/src/seeders/test/20200925191642-seed-entity.js +23 -0
- package/src/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +32 -0
- package/src/seeders/test/20200925191643-seed-entity-values.js +33 -0
- package/src/seeders/test/20200929132705-seed-dialog-node.js +128 -0
- package/src/seeders/test/20201016200600-seed-responses.js +563 -0
- package/src/seeders/test/20201104183653-seed-create-ype-skill.js +42 -0
- package/src/seeders/test/20201104183700-seed-create-ype-intention.js +26 -0
- package/src/seeders/test/20201104183706-seed-create-ype-intention-values.js +70 -0
- package/src/seeders/test/20201104183714-seed-create-ype-entity.js +38 -0
- package/src/seeders/test/20201104183723-seed-create-ype-entity-values.js +243 -0
- package/src/seeders/test/20201104183727-seed-create-ype-synonyms.js +253 -0
- package/src/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +124 -0
- package/src/seeders/test/20210224171409-create-apiResource.js +114 -0
- package/src/seeders/test/20210422144458-seed-context-test.js +175 -0
- package/src/seeders/test/20210422181114-seed-jump-node.js +123 -0
- package/src/seeders/test/20210422182413-seed-jump-skill.js +123 -0
- package/src/seeders/test/20210426100156-seed-api-test.js +138 -0
- package/src/seeders/test/20210426103704-seed-multiple-response-test.js +272 -0
- package/src/seeders/test/20210426190844-seed-entity-search-test.js +160 -0
- package/src/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +160 -0
- package/src/seeders/test/20210428105402-seed-test-condition-1.js +190 -0
- package/src/seeders/test/20210430181906-seed-test-input-text-zero.js +120 -0
- package/src/seeders/test/20210430183204-seed-ype-test-condition.js +557 -0
- package/src/seeders/test/20210503172321-seed-invalid-condition.js +119 -0
- package/src/seeders/test/20210505140225-insert-skills.js +41 -0
- package/src/seeders/test/20210505183810-seed-chain-with-context.js +147 -0
- package/src/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +188 -0
- package/src/seeders/test/20210507204437-seed-condition-igual-true.js +119 -0
- package/src/seeders/test/20210511181006-seed-using-internal-functions.js +274 -0
- package/src/seeders/test/20210512140152-seed-ype-real-bot.js +2578 -0
- package/src/seeders/test/20210519162746-seed-response-with-context.js +186 -0
- package/src/seeders/test/20210524141819-seed-dialog-node-faq.js +244 -0
- package/src/seeders/test/20210525180523-seed-regex.js +173 -0
- package/src/seeders/test/20210602111930-insert-dialogNodes.js +200 -0
- package/src/seeders/test/20210610152534-seed-test-internal-function-in-context.js +216 -0
- package/src/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +147 -0
- package/src/seeders/test/20210611101042-bot-example-internal-functions.js +985 -0
- package/src/seeders/test/20210613111900-bot-example-api.js +420 -0
- package/src/seeders/test/20210614113654-miltiple-response-with-research.js +387 -0
- package/src/seeders/test/20210616212102-api-authentication-and-list.js +422 -0
- package/src/seeders/test/20210624172310-seed-api-duble-request.js +424 -0
- package/src/seeders/test/20210628135630-test-branches.js +224 -0
- package/src/seeders/test/20210629141030-test-departments.js +225 -0
- package/src/seeders/test/20210630105430-test-subDepartments.js +223 -0
- package/src/seeders/test/20210630114011-test-contact.js +178 -0
- package/src/seeders/test/20210701130630-test-channels.js +381 -0
- package/src/seeders/test/20210702191230-seed-test-counter-in-context.js +122 -0
- package/src/seeders/test/20210705061313-test-fields.js +152 -0
- package/src/seeders/test/20210705080813-test-groups.js +122 -0
- package/src/seeders/test/20210705105918-seed-test-function-slice.js +161 -0
- package/src/seeders/test/20210706105508-seed-node-without-condition.js +254 -0
- package/src/seeders/test/20210706112906-seed-1.0-on-response.js +172 -0
- package/src/seeders/test/20210706145547-seed-clean-context.js +132 -0
- package/src/seeders/test/20210707151538-seed-test-response-break-line.js +161 -0
- package/src/seeders/test/20210713155530-seed-test-itl0079-875.js +129 -0
- package/src/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +764 -0
- package/src/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +250 -0
- package/src/seeders/test/20210719154025-seed-2-contexts-together.js +133 -0
- package/src/seeders/test/20210802144227-seed-end-session-trigger.js +163 -0
- package/src/seeders/test/20210803103030-tests-dialogNodes.js +406 -0
- package/src/seeders/test/20210804094630-tests-lines.js +487 -0
- package/src/seeders/test/20210805104130-tests-lineConfigurations.js +106 -0
- package/src/seeders/test/20210805133330-tests-systemUsers.js +507 -0
- package/src/seeders/test/20210813124630-tests-getMessagesBySession.js +333 -0
- package/src/seeders/test/20210816151830-testes-inactivityTriggers.js +196 -0
- package/src/seeders/test/20210830134230-tests-sessionReports.js +254 -0
- package/src/seeders/test/20210830165830-tests-attendancesHistory.js +181 -0
- package/src/seeders/test/20210927115821-skill-test-open-faq.js +37 -0
- package/src/seeders/test/20211004131813-true-and-context-with-parent.js +190 -0
- package/src/seeders/test/20211006210203-context-concat-with-text.js +193 -0
- 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.1",
|
|
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