@itleanchatbot/shared-models-js-postgres 1.0.18 → 1.0.20

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/src/channels.js CHANGED
@@ -1,54 +1,54 @@
1
- exports.ChannelsModel = (sequelize, DataTypes) => {
2
- const Channels = sequelize.define('Channels', {
3
- SkillId: {
4
- type: DataTypes.UUID,
5
- allowNull: false,
6
- references: {
7
- model: 'Skill',
8
- key: 'id',
9
- },
10
- onDelete: 'RESTRICT',
11
- onUpdate: 'CASCADE',
12
- },
13
- ChannelTypeId: {
14
- type: DataTypes.UUID,
15
- allowNull: false,
16
- references: {
17
- model: 'ChannelTypes',
18
- key: 'id',
19
- },
20
- onDelete: 'RESTRICT',
21
- onUpdate: 'CASCADE',
22
- },
23
- FileId: {
24
- type: DataTypes.UUID,
25
- allowNull: true,
26
- references: {
27
- model: 'Files',
28
- key: 'id',
29
- },
30
- onDelete: 'RESTRICT',
31
- onUpdate: 'CASCADE',
32
- },
33
- name: {
34
- type: DataTypes.STRING(50),
35
- allowNull: false,
36
- validate: {
37
- notEmpty: true,
38
- },
39
- },
40
- configurations: {
41
- type: DataTypes.JSON,
42
- allowNull: false,
43
- },
44
- })
45
-
46
- Channels.associate = models => {
47
- Channels.belongsTo(models.ChannelTypes)
48
- Channels.belongsTo(models.Skill)
49
- Channels.belongsTo(models.Files)
50
- Channels.hasMany(models.Sessions)
51
- }
52
-
53
- return Channels
54
- }
1
+ exports.ChannelsModel = (sequelize, DataTypes) => {
2
+ const Channels = sequelize.define('Channels', {
3
+ SkillId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'Skill',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'RESTRICT',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ ChannelTypeId: {
14
+ type: DataTypes.UUID,
15
+ allowNull: false,
16
+ references: {
17
+ model: 'ChannelTypes',
18
+ key: 'id',
19
+ },
20
+ onDelete: 'RESTRICT',
21
+ onUpdate: 'CASCADE',
22
+ },
23
+ FileId: {
24
+ type: DataTypes.UUID,
25
+ allowNull: true,
26
+ references: {
27
+ model: 'Files',
28
+ key: 'id',
29
+ },
30
+ onDelete: 'RESTRICT',
31
+ onUpdate: 'CASCADE',
32
+ },
33
+ name: {
34
+ type: DataTypes.STRING(50),
35
+ allowNull: false,
36
+ validate: {
37
+ notEmpty: true,
38
+ },
39
+ },
40
+ configurations: {
41
+ type: DataTypes.JSON,
42
+ allowNull: false,
43
+ },
44
+ })
45
+
46
+ Channels.associate = models => {
47
+ Channels.belongsTo(models.ChannelTypes)
48
+ Channels.belongsTo(models.Skill)
49
+ Channels.belongsTo(models.Files)
50
+ Channels.hasMany(models.Sessions)
51
+ }
52
+
53
+ return Channels
54
+ }
package/src/comments.js CHANGED
@@ -1,27 +1,27 @@
1
- exports.CommentsModel = (sequelize, DataTypes) => {
2
- const Comments = sequelize.define('Comments', {
3
- AttendanceId: {
4
- type: DataTypes.UUID,
5
- allowNull: false,
6
- references: {
7
- model: 'Attendances',
8
- key: 'id',
9
- },
10
- onDelete: 'RESTRICT',
11
- onUpdate: 'CASCADE',
12
- },
13
- content: {
14
- type: DataTypes.TEXT,
15
- allowNull: false,
16
- validate: {
17
- notEmpty: true,
18
- },
19
- },
20
- })
21
-
22
- Comments.associate = models => {
23
- Comments.belongsTo(models.Attendances)
24
- }
25
-
26
- return Comments
27
- }
1
+ exports.CommentsModel = (sequelize, DataTypes) => {
2
+ const Comments = sequelize.define('Comments', {
3
+ AttendanceId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'Attendances',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'RESTRICT',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ content: {
14
+ type: DataTypes.TEXT,
15
+ allowNull: false,
16
+ validate: {
17
+ notEmpty: true,
18
+ },
19
+ },
20
+ })
21
+
22
+ Comments.associate = models => {
23
+ Comments.belongsTo(models.Attendances)
24
+ }
25
+
26
+ return Comments
27
+ }
@@ -1,35 +1,35 @@
1
- exports.DepartmentsModel = (sequelize, DataTypes) => {
2
- const Departments = sequelize.define('Departments', {
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
- internalId: {
14
- allowNull: false,
15
- type: DataTypes.STRING(50),
16
- validate: {
17
- notEmpty: true,
18
- },
19
- },
20
- name: {
21
- allowNull: false,
22
- type: DataTypes.STRING(50),
23
- validate: {
24
- notEmpty: true,
25
- },
26
- },
27
- })
28
-
29
- Departments.associate = models => {
30
- Departments.belongsTo(models.Enterprises)
31
- Departments.hasMany(models.Lines)
32
- }
33
-
34
- return Departments
35
- }
1
+ exports.DepartmentsModel = (sequelize, DataTypes) => {
2
+ const Departments = sequelize.define('Departments', {
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
+ internalId: {
14
+ allowNull: false,
15
+ type: DataTypes.STRING(50),
16
+ validate: {
17
+ notEmpty: true,
18
+ },
19
+ },
20
+ name: {
21
+ allowNull: false,
22
+ type: DataTypes.STRING(50),
23
+ validate: {
24
+ notEmpty: true,
25
+ },
26
+ },
27
+ })
28
+
29
+ Departments.associate = models => {
30
+ Departments.belongsTo(models.Enterprises)
31
+ Departments.hasMany(models.Lines)
32
+ }
33
+
34
+ return Departments
35
+ }
@@ -0,0 +1,118 @@
1
+ const DIALOG_NODE_TYPES = {
2
+ NODE: 'node',
3
+ FOLDER: 'folder',
4
+ }
5
+ const DIALOG_NODE_TYPE = [DIALOG_NODE_TYPES.NODE, DIALOG_NODE_TYPES.FOLDER]
6
+ const DialogNodesModel = (sequelize, Sequelize) => {
7
+ const DialogNodes = sequelize.define('DialogNodes', {
8
+ name: {
9
+ type: Sequelize.STRING,
10
+ allowNull: false,
11
+ },
12
+ condition: {
13
+ type: Sequelize.TEXT,
14
+ allowNull: false,
15
+ },
16
+ step: {
17
+ type: Sequelize.STRING(10),
18
+ allowNull: false,
19
+ },
20
+ replayWait: {
21
+ type: Sequelize.BOOLEAN,
22
+ allowNull: false,
23
+ defaultValue: true,
24
+ },
25
+ JumpToDialogNodeId: {
26
+ type: Sequelize.UUID,
27
+ allowNull: true,
28
+ references: {
29
+ model: 'DialogNodes',
30
+ key: 'id',
31
+ },
32
+ onDelete: 'RESTRICT',
33
+ onUpdate: 'CASCADE',
34
+ },
35
+ JumpToSkillId: {
36
+ type: Sequelize.UUID,
37
+ allowNull: true,
38
+ references: {
39
+ model: 'Skills',
40
+ key: 'id',
41
+ },
42
+ onDelete: 'RESTRICT',
43
+ onUpdate: 'CASCADE',
44
+ },
45
+ SkillId: {
46
+ type: Sequelize.UUID,
47
+ allowNull: true,
48
+ references: {
49
+ model: 'Skills',
50
+ key: 'id',
51
+ },
52
+ onDelete: 'RESTRICT',
53
+ onUpdate: 'CASCADE',
54
+ },
55
+ DialogNodeFolderId: {
56
+ type: Sequelize.UUID,
57
+ allowNull: true,
58
+ references: {
59
+ model: 'DialogNodes',
60
+ key: 'id',
61
+ },
62
+ onDelete: 'RESTRICT',
63
+ onUpdate: 'CASCADE',
64
+ },
65
+ type: {
66
+ type: Sequelize.ENUM({
67
+ values: DIALOG_NODE_TYPE,
68
+ }),
69
+ defaultValue: DIALOG_NODE_TYPES.NODE,
70
+ allowNull: false,
71
+ },
72
+ isMultipleResponse: {
73
+ type: Sequelize.BOOLEAN,
74
+ allowNull: false,
75
+ defaultValue: true,
76
+ },
77
+ contexts: {
78
+ type: Sequelize.ARRAY(Sequelize.JSON),
79
+ allowNull: false,
80
+ defaultValue: [],
81
+ get(field) {
82
+ const value = this.getDataValue(field)
83
+ if (value.length) {
84
+ return value.map((string) => JSON.parse(string))
85
+ }
86
+ return value
87
+ },
88
+ },
89
+ })
90
+
91
+ DialogNodes.associate = (models) => {
92
+ DialogNodes.hasMany(models.Response_DialogNodes)
93
+ DialogNodes.belongsTo(models.Skill, { foreignKey: 'SkillId' })
94
+ DialogNodes.belongsTo(models.Skill, {
95
+ as: 'JumpToSkill',
96
+ foreignKey: 'JumpToSkillId',
97
+ })
98
+ DialogNodes.belongsTo(models.DialogNodes, {
99
+ as: 'DialogNodeFolder',
100
+ foreignKey: 'DialogNodeFolderId',
101
+ })
102
+ DialogNodes.belongsTo(models.DialogNodes, {
103
+ as: 'JumpToDialogNode',
104
+ foreignKey: 'JumpToDialogNodeId',
105
+ })
106
+ DialogNodes.hasMany(models.DialogNodes_MultipleResponses)
107
+ DialogNodes.hasMany(models.DialogNodes_ApiResources)
108
+ }
109
+
110
+ return DialogNodes
111
+ }
112
+
113
+ module.exports = {
114
+ DIALOG_NODE_TYPE,
115
+ DIALOG_NODE_TYPES,
116
+ DialogNodesModel
117
+ }
118
+
@@ -0,0 +1,39 @@
1
+ exports.DialogNodes_MultipleResponsesModel = (sequelize, Sequelize) => {
2
+ const DialogNodes_MultipleResponses = sequelize.define(
3
+ 'DialogNodes_MultipleResponses',
4
+ {
5
+ DialogNodeId: {
6
+ type: Sequelize.UUID,
7
+ allowNull: false,
8
+ references: {
9
+ model: 'DialogNodes',
10
+ key: 'id',
11
+ },
12
+ onDelete: 'RESTRICT',
13
+ onUpdate: 'CASCADE',
14
+ },
15
+
16
+ ResponseId: {
17
+ type: Sequelize.UUID,
18
+ allowNull: false,
19
+ references: {
20
+ model: 'DialogNodes',
21
+ key: 'id',
22
+ },
23
+ onDelete: 'RESTRICT',
24
+ onUpdate: 'CASCADE',
25
+ },
26
+ }
27
+ )
28
+
29
+ DialogNodes_MultipleResponses.associate = (models) => {
30
+ DialogNodes_MultipleResponses.belongsTo(models.DialogNodes)
31
+ DialogNodes_MultipleResponses.belongsTo(models.DialogNodes, {
32
+ as: 'MultipleResponses',
33
+ foreignKey: 'ResponseId',
34
+ })
35
+ }
36
+
37
+ return DialogNodes_MultipleResponses
38
+ }
39
+
@@ -0,0 +1,36 @@
1
+ exports.DialogNodes_ApiResourcesModel = (sequelize, Sequelize) => {
2
+ const DialogNodes_ApiResources = sequelize.define(
3
+ 'DialogNodes_ApiResources',
4
+ {
5
+ DialogNodeId: {
6
+ type: Sequelize.UUID,
7
+ allowNull: false,
8
+ references: {
9
+ model: 'DialogNodes',
10
+ key: 'id',
11
+ },
12
+ onDelete: 'RESTRICT',
13
+ onUpdate: 'CASCADE',
14
+ },
15
+
16
+ ApiResourceId: {
17
+ type: Sequelize.UUID,
18
+ allowNull: false,
19
+ references: {
20
+ model: 'ApiResources',
21
+ key: 'id',
22
+ },
23
+ onDelete: 'RESTRICT',
24
+ onUpdate: 'CASCADE',
25
+ },
26
+ }
27
+ )
28
+
29
+ DialogNodes_ApiResources.associate = (models) => {
30
+ DialogNodes_ApiResources.belongsTo(models.DialogNodes)
31
+ DialogNodes_ApiResources.belongsTo(models.ApiResources)
32
+ }
33
+
34
+ return DialogNodes_ApiResources
35
+ }
36
+
@@ -1,29 +1,29 @@
1
- exports.EnterprisesModel = (sequelize, DataTypes) => {
2
- const Enterprises = sequelize.define('Enterprises', {
3
- cnpj: {
4
- type: DataTypes.STRING(18),
5
- allowNull: false,
6
- unique: true,
7
- validate: {
8
- notEmpty: true,
9
- },
10
- },
11
- name: {
12
- allowNull: false,
13
- type: DataTypes.STRING(50),
14
- validate: {
15
- notEmpty: true,
16
- },
17
- },
18
- })
19
-
20
- Enterprises.associate = models => {
21
- Enterprises.hasMany(models.Departments)
22
- Enterprises.hasMany(models.SubDepartments)
23
- Enterprises.hasMany(models.Branches)
24
- Enterprises.hasMany(models.SystemUsers)
25
- Enterprises.hasMany(models.Files)
26
- }
27
-
28
- return Enterprises
29
- }
1
+ exports.EnterprisesModel = (sequelize, DataTypes) => {
2
+ const Enterprises = sequelize.define('Enterprises', {
3
+ cnpj: {
4
+ type: DataTypes.STRING(18),
5
+ allowNull: false,
6
+ unique: true,
7
+ validate: {
8
+ notEmpty: true,
9
+ },
10
+ },
11
+ name: {
12
+ allowNull: false,
13
+ type: DataTypes.STRING(50),
14
+ validate: {
15
+ notEmpty: true,
16
+ },
17
+ },
18
+ })
19
+
20
+ Enterprises.associate = models => {
21
+ Enterprises.hasMany(models.Departments)
22
+ Enterprises.hasMany(models.SubDepartments)
23
+ Enterprises.hasMany(models.Branches)
24
+ Enterprises.hasMany(models.SystemUsers)
25
+ Enterprises.hasMany(models.Files)
26
+ }
27
+
28
+ return Enterprises
29
+ }
package/src/entity.js CHANGED
@@ -1,34 +1,34 @@
1
- exports.EntityModel = (sequelize, types) => {
2
- const Entity = sequelize.define('Entity', {
3
- SkillId: {
4
- type: types.UUID,
5
- references: {
6
- model: 'Skill',
7
- key: 'id',
8
- },
9
- referencesKey: 'id',
10
- foreignKeyConstraint: true,
11
- allowNull: false,
12
- validate: {
13
- notEmpty: true,
14
- },
15
- },
16
- name: {
17
- type: types.STRING,
18
- allowNull: false,
19
- validate: {
20
- notEmpty: true,
21
- },
22
- },
23
- values: {
24
- type: types.STRING,
25
- },
26
- })
27
- Entity.associate = models => {
28
- Entity.belongsTo(models.Skill)
29
- Entity.hasMany(models.Synonyms)
30
- Entity.hasMany(models.EntityValues)
31
- }
32
-
33
- return Entity
34
- }
1
+ exports.EntityModel = (sequelize, types) => {
2
+ const Entity = sequelize.define('Entity', {
3
+ SkillId: {
4
+ type: types.UUID,
5
+ references: {
6
+ model: 'Skill',
7
+ key: 'id',
8
+ },
9
+ referencesKey: 'id',
10
+ foreignKeyConstraint: true,
11
+ allowNull: false,
12
+ validate: {
13
+ notEmpty: true,
14
+ },
15
+ },
16
+ name: {
17
+ type: types.STRING,
18
+ allowNull: false,
19
+ validate: {
20
+ notEmpty: true,
21
+ },
22
+ },
23
+ values: {
24
+ type: types.STRING,
25
+ },
26
+ })
27
+ Entity.associate = models => {
28
+ Entity.belongsTo(models.Skill)
29
+ Entity.hasMany(models.Synonyms)
30
+ Entity.hasMany(models.EntityValues)
31
+ }
32
+
33
+ return Entity
34
+ }
@@ -1,63 +1,63 @@
1
- const ENTITY_VALUES_TYPES = {
2
- SYNONYM: 'synonyms',
3
- PATTERN: 'pattern',
4
- }
5
-
6
- const ENTITY_VALUES_TYPE = [
7
- ENTITY_VALUES_TYPES.SYNONYM,
8
- ENTITY_VALUES_TYPES.PATTERN,
9
- ]
10
-
11
- const EntityValuesModel = (sequelize, types) => {
12
- const EntityValues = sequelize.define('EntityValues', {
13
- EntityId: {
14
- type: types.UUID,
15
- references: {
16
- model: 'Entity',
17
- key: 'id',
18
- },
19
- referencesKey: 'id',
20
- foreignKeyConstraint: true,
21
- allowNull: false,
22
- validate: {
23
- notEmpty: true,
24
- },
25
- onDelete: 'RESTRICT',
26
- onUpdate: 'CASCADE',
27
- },
28
-
29
- name: {
30
- type: types.STRING,
31
- allowNull: false,
32
- validate: {
33
- notEmpty: true,
34
- },
35
- },
36
-
37
- synonyms: {
38
- type: types.STRING,
39
- allowNull: false,
40
- },
41
-
42
- type: {
43
- type: types.ENUM({
44
- values: ENTITY_VALUES_TYPE,
45
- }),
46
- allowNull: false,
47
- defaultValue: ENTITY_VALUES_TYPES.SYNONYM,
48
- },
49
- })
50
-
51
- EntityValues.associate = models => {
52
- EntityValues.belongsTo(models.Entity)
53
- EntityValues.hasMany(models.Synonyms)
54
- }
55
-
56
- return EntityValues
57
- }
58
-
59
- module.exports = {
60
- EntityValuesModel,
61
- ENTITY_VALUES_TYPE,
62
- ENTITY_VALUES_TYPES,
63
- }
1
+ const ENTITY_VALUES_TYPES = {
2
+ SYNONYM: 'synonyms',
3
+ PATTERN: 'pattern',
4
+ }
5
+
6
+ const ENTITY_VALUES_TYPE = [
7
+ ENTITY_VALUES_TYPES.SYNONYM,
8
+ ENTITY_VALUES_TYPES.PATTERN,
9
+ ]
10
+
11
+ const EntityValuesModel = (sequelize, types) => {
12
+ const EntityValues = sequelize.define('EntityValues', {
13
+ EntityId: {
14
+ type: types.UUID,
15
+ references: {
16
+ model: 'Entity',
17
+ key: 'id',
18
+ },
19
+ referencesKey: 'id',
20
+ foreignKeyConstraint: true,
21
+ allowNull: false,
22
+ validate: {
23
+ notEmpty: true,
24
+ },
25
+ onDelete: 'RESTRICT',
26
+ onUpdate: 'CASCADE',
27
+ },
28
+
29
+ name: {
30
+ type: types.STRING,
31
+ allowNull: false,
32
+ validate: {
33
+ notEmpty: true,
34
+ },
35
+ },
36
+
37
+ synonyms: {
38
+ type: types.STRING,
39
+ allowNull: false,
40
+ },
41
+
42
+ type: {
43
+ type: types.ENUM({
44
+ values: ENTITY_VALUES_TYPE,
45
+ }),
46
+ allowNull: false,
47
+ defaultValue: ENTITY_VALUES_TYPES.SYNONYM,
48
+ },
49
+ })
50
+
51
+ EntityValues.associate = models => {
52
+ EntityValues.belongsTo(models.Entity)
53
+ EntityValues.hasMany(models.Synonyms)
54
+ }
55
+
56
+ return EntityValues
57
+ }
58
+
59
+ module.exports = {
60
+ EntityValuesModel,
61
+ ENTITY_VALUES_TYPE,
62
+ ENTITY_VALUES_TYPES,
63
+ }