@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
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
exports.model = (sequelize, types) => {
|
|
2
|
+
const Languages = sequelize.define('Language', {
|
|
3
|
+
label: {
|
|
4
|
+
type: types.STRING,
|
|
5
|
+
allowNull: false,
|
|
6
|
+
validate: {
|
|
7
|
+
notEmpty: true,
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
value: {
|
|
12
|
+
type: types.STRING,
|
|
13
|
+
allowNull: false,
|
|
14
|
+
validate: {
|
|
15
|
+
notEmpty: true,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
})
|
|
19
|
+
return Languages
|
|
20
|
+
}
|
|
21
|
+
|
package/src/models/lines.js
CHANGED
|
@@ -5,7 +5,7 @@ const STATUS_MESSAGES = {
|
|
|
5
5
|
4: 'Recusado',
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
const MessagesHsms = (sequelize, DataTypes) => {
|
|
9
9
|
const MessagesHsms = sequelize.define('MessagesHsms', {
|
|
10
10
|
EnterpriseId: {
|
|
11
11
|
type: DataTypes.UUID,
|
|
@@ -68,4 +68,8 @@ const STATUS_MESSAGES = {
|
|
|
68
68
|
|
|
69
69
|
return MessagesHsms
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
|
|
72
|
+
module.exports = {
|
|
73
|
+
model: MessagesHsms,
|
|
74
|
+
STATUS_MESSAGES
|
|
75
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
exports.model = (sequelize, DataTypes) => {
|
|
2
|
+
const OnlineEditions = sequelize.define('OnlineEditions', {
|
|
3
|
+
SystemUserId: {
|
|
4
|
+
type: DataTypes.UUID,
|
|
5
|
+
allowNull: false,
|
|
6
|
+
},
|
|
7
|
+
socketId: {
|
|
8
|
+
type: DataTypes.STRING,
|
|
9
|
+
allowNull: false,
|
|
10
|
+
},
|
|
11
|
+
payload: {
|
|
12
|
+
type: DataTypes.JSON,
|
|
13
|
+
allowNull: false,
|
|
14
|
+
},
|
|
15
|
+
moduleName: {
|
|
16
|
+
type: DataTypes.STRING(50),
|
|
17
|
+
allowNull: false,
|
|
18
|
+
},
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
OnlineEditions.associate = (models) => {
|
|
22
|
+
OnlineEditions.belongsTo(models.SystemUsers)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return OnlineEditions
|
|
26
|
+
}
|
|
27
|
+
|
package/src/models/openFaqs.js
CHANGED
package/src/models/profile.js
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const ResponseChannelsModel = (sequelize, types) => {
|
|
2
|
+
const ResponseChannels = sequelize.define('ResponseChannels', {
|
|
3
|
+
name: {
|
|
4
|
+
allowNull: false,
|
|
5
|
+
type: types.STRING,
|
|
6
|
+
},
|
|
7
|
+
payload: {
|
|
8
|
+
allowNull: false,
|
|
9
|
+
type: types.JSON,
|
|
10
|
+
},
|
|
11
|
+
active: {
|
|
12
|
+
allowNull: false,
|
|
13
|
+
type: types.BOOLEAN,
|
|
14
|
+
defaultValue: true,
|
|
15
|
+
},
|
|
16
|
+
version: {
|
|
17
|
+
allowNull: false,
|
|
18
|
+
type: types.STRING,
|
|
19
|
+
defaultValue: '1.0',
|
|
20
|
+
},
|
|
21
|
+
ChannelTypeId: {
|
|
22
|
+
type: types.UUID,
|
|
23
|
+
allowNull: true,
|
|
24
|
+
references: {
|
|
25
|
+
model: 'ChannelTypes',
|
|
26
|
+
key: 'id',
|
|
27
|
+
},
|
|
28
|
+
onDelete: 'RESTRICT',
|
|
29
|
+
onUpdate: 'CASCADE',
|
|
30
|
+
},
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
return ResponseChannels
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
module.exports = {
|
|
38
|
+
model: ResponseChannelsModel,
|
|
39
|
+
}
|
package/src/models/responses.js
CHANGED
package/src/models/returnHsm.js
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
exports.model = (sequelize, DataTypes) => {
|
|
2
|
+
const SendHsms = sequelize.define('SendHsms', {
|
|
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
|
+
messageId: {
|
|
14
|
+
allowNull: true,
|
|
15
|
+
type: DataTypes.STRING,
|
|
16
|
+
},
|
|
17
|
+
sentDate: {
|
|
18
|
+
allowNull: true,
|
|
19
|
+
type: DataTypes.STRING,
|
|
20
|
+
},
|
|
21
|
+
title: {
|
|
22
|
+
allowNull: true,
|
|
23
|
+
type: DataTypes.STRING,
|
|
24
|
+
},
|
|
25
|
+
statusSent: {
|
|
26
|
+
allowNull: true,
|
|
27
|
+
type: DataTypes.BOOLEAN,
|
|
28
|
+
defaultValue: false,
|
|
29
|
+
},
|
|
30
|
+
sendNow: {
|
|
31
|
+
allowNull: true,
|
|
32
|
+
type: DataTypes.BOOLEAN,
|
|
33
|
+
defaultValue: false,
|
|
34
|
+
},
|
|
35
|
+
schedulingDate: {
|
|
36
|
+
allowNull: true,
|
|
37
|
+
type: DataTypes.DATE,
|
|
38
|
+
},
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
SendHsms.associate = (models) => {
|
|
42
|
+
SendHsms.belongsTo(models.Enterprises)
|
|
43
|
+
SendHsms.belongsToMany(models.Groups, {
|
|
44
|
+
through: 'GroupsSendHsms',
|
|
45
|
+
as: 'Groups',
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return SendHsms
|
|
50
|
+
}
|
|
51
|
+
|
package/src/models/sessions.js
CHANGED
package/src/models/skill.js
CHANGED
package/src/models/stopwords.js
CHANGED
package/src/models/synonyms.js
CHANGED
package/src/models/templates.js
CHANGED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
exports.replaceEnum = async (
|
|
2
|
+
queryInterface,
|
|
3
|
+
tableName,
|
|
4
|
+
fieldName,
|
|
5
|
+
...enums
|
|
6
|
+
) => {
|
|
7
|
+
const transaction = await queryInterface.sequelize.transaction()
|
|
8
|
+
const enumsStr = enums.map((e) => `'${e}'`).join(',')
|
|
9
|
+
const oldEnum = `enum_${tableName}_${fieldName}`
|
|
10
|
+
const newEnum = `${oldEnum}_new`
|
|
11
|
+
try {
|
|
12
|
+
await queryInterface.sequelize.query(
|
|
13
|
+
`
|
|
14
|
+
CREATE TYPE "${newEnum}"
|
|
15
|
+
AS ENUM (${enumsStr})
|
|
16
|
+
`,
|
|
17
|
+
{ transaction }
|
|
18
|
+
)
|
|
19
|
+
await queryInterface.sequelize.query(
|
|
20
|
+
`
|
|
21
|
+
ALTER TABLE "${tableName}"
|
|
22
|
+
ALTER COLUMN "${fieldName}"
|
|
23
|
+
DROP DEFAULT
|
|
24
|
+
`,
|
|
25
|
+
{ transaction }
|
|
26
|
+
)
|
|
27
|
+
await queryInterface.sequelize.query(
|
|
28
|
+
`
|
|
29
|
+
ALTER TABLE "${tableName}"
|
|
30
|
+
ALTER COLUMN "${fieldName}"
|
|
31
|
+
TYPE "${newEnum}"
|
|
32
|
+
USING ("${fieldName}"::text::"${newEnum}")
|
|
33
|
+
`,
|
|
34
|
+
{ transaction }
|
|
35
|
+
)
|
|
36
|
+
await queryInterface.sequelize.query(
|
|
37
|
+
`
|
|
38
|
+
DROP TYPE "${oldEnum}"
|
|
39
|
+
`,
|
|
40
|
+
{ transaction }
|
|
41
|
+
)
|
|
42
|
+
await queryInterface.sequelize.query(
|
|
43
|
+
`
|
|
44
|
+
ALTER TYPE "${newEnum}"
|
|
45
|
+
RENAME TO "${oldEnum}"
|
|
46
|
+
`,
|
|
47
|
+
{ transaction }
|
|
48
|
+
)
|
|
49
|
+
await queryInterface.sequelize.query(
|
|
50
|
+
`
|
|
51
|
+
ALTER TABLE "${tableName}"
|
|
52
|
+
ALTER COLUMN "${fieldName}"
|
|
53
|
+
SET DEFAULT '${enums[0]}'::"${oldEnum}"
|
|
54
|
+
`,
|
|
55
|
+
{ transaction }
|
|
56
|
+
)
|
|
57
|
+
await transaction.commit()
|
|
58
|
+
} catch (error) {
|
|
59
|
+
console.error(error)
|
|
60
|
+
transaction.rollback()
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const CryptoJS = require('crypto-js')
|
|
2
|
+
const key = process.env.CRYPTO_KEY || ' '
|
|
3
|
+
|
|
4
|
+
exports.encrypt = (content) => {
|
|
5
|
+
const encryptedContent = CryptoJS.AES.encrypt(content, key)
|
|
6
|
+
|
|
7
|
+
return encryptedContent.toString()
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
exports.decrypt = (encryptedContent) => {
|
|
11
|
+
const bytes = CryptoJS.AES.decrypt(encryptedContent, key)
|
|
12
|
+
|
|
13
|
+
return bytes.toString(CryptoJS.enc.Utf8)
|
|
14
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const { PROVIDER_TYPES } = require('
|
|
3
|
+
const { PROVIDER_TYPES } = require('./../models/intelligence')
|
|
4
4
|
|
|
5
5
|
module.exports = {
|
|
6
|
-
up: (queryInterface
|
|
6
|
+
up: (queryInterface) => {
|
|
7
7
|
const ibm = {
|
|
8
8
|
name: 'Watson Assistant',
|
|
9
9
|
providerType: PROVIDER_TYPES.IBM,
|
|
@@ -21,7 +21,7 @@ module.exports = {
|
|
|
21
21
|
|
|
22
22
|
return queryInterface.bulkInsert('Intelligences', [ibm, itlean])
|
|
23
23
|
},
|
|
24
|
-
down: (queryInterface
|
|
24
|
+
down: (queryInterface) => {
|
|
25
25
|
return queryInterface.bulkDelete('Intelligences', null, {})
|
|
26
26
|
},
|
|
27
27
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const models = require('
|
|
1
|
+
const models = require('./../models')
|
|
2
2
|
const profiles = [
|
|
3
3
|
{
|
|
4
4
|
name: 'Master',
|
|
@@ -44,7 +44,7 @@ const profiles = [
|
|
|
44
44
|
]
|
|
45
45
|
|
|
46
46
|
module.exports = {
|
|
47
|
-
up: async (queryInterface
|
|
47
|
+
up: async (queryInterface) => {
|
|
48
48
|
let prof_per = []
|
|
49
49
|
|
|
50
50
|
for (const prof of profiles) {
|
|
@@ -64,7 +64,7 @@ module.exports = {
|
|
|
64
64
|
per.map((p) => {
|
|
65
65
|
return {
|
|
66
66
|
ProfileId: profId,
|
|
67
|
-
PermissionId: p.
|
|
67
|
+
PermissionId: p.id,
|
|
68
68
|
createdAt: new Date(),
|
|
69
69
|
updatedAt: new Date(),
|
|
70
70
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const { encrypt } = require('
|
|
1
|
+
const { encrypt } = require('./../presenters/encryptation')
|
|
2
2
|
const { v4: generateId } = require('uuid')
|
|
3
|
-
const { PROVIDER_TYPES } = require('
|
|
3
|
+
const { PROVIDER_TYPES } = require('./../models/intelligence')
|
|
4
4
|
|
|
5
5
|
module.exports = {
|
|
6
6
|
up: async (queryInterface) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
const { PROVIDER_TYPES } = require('
|
|
2
|
+
const { PROVIDER_TYPES } = require('./../models/intelligence')
|
|
3
3
|
|
|
4
4
|
module.exports = {
|
|
5
|
-
up: async (queryInterface
|
|
5
|
+
up: async (queryInterface) => {
|
|
6
6
|
const EnterpriseId = await queryInterface.rawSelect(
|
|
7
7
|
'Enterprises',
|
|
8
8
|
{ where: { cnpj: process.env.ENTERPRISE_CNPJ } },
|
|
@@ -28,7 +28,7 @@ module.exports = {
|
|
|
28
28
|
)
|
|
29
29
|
},
|
|
30
30
|
|
|
31
|
-
down: async (queryInterface
|
|
31
|
+
down: async (queryInterface) => {
|
|
32
32
|
await queryInterface.bulkDelete('ItleanProviders', null, {})
|
|
33
33
|
},
|
|
34
34
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
require('dotenv').config()
|
|
2
1
|
module.exports = {
|
|
3
|
-
up: async (queryInterface
|
|
2
|
+
up: async (queryInterface) => {
|
|
4
3
|
const EnterpriseId = await queryInterface.rawSelect(
|
|
5
4
|
'Enterprises',
|
|
6
5
|
{ where: {} },
|
|
@@ -223,7 +222,7 @@ module.exports = {
|
|
|
223
222
|
},
|
|
224
223
|
])
|
|
225
224
|
},
|
|
226
|
-
down: async (queryInterface
|
|
225
|
+
down: async (queryInterface) => {
|
|
227
226
|
return queryInterface.bulkDelete('Templates', null, {})
|
|
228
227
|
},
|
|
229
228
|
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
up: async (queryInterface, Sequelize) => {
|
|
5
|
-
/**
|
|
6
|
-
* Add altering commands here.
|
|
7
|
-
*
|
|
8
|
-
* Example:
|
|
9
|
-
* await queryInterface.createTable('users', { id: Sequelize.INTEGER });
|
|
10
|
-
*/
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
down: async (queryInterface, Sequelize) => {
|
|
14
|
-
/**
|
|
15
|
-
* Add reverting commands here.
|
|
16
|
-
*
|
|
17
|
-
* Example:
|
|
18
|
-
* await queryInterface.dropTable('users');
|
|
19
|
-
*/
|
|
20
|
-
},
|
|
21
|
-
}
|