@itleanchatbot/shared-models-js-postgres 1.1.53 → 1.1.55

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itleanchatbot/shared-models-js-postgres",
3
- "version": "1.1.53",
3
+ "version": "1.1.55",
4
4
  "description": "Shared Models JS Postgres",
5
5
  "main": "index.js",
6
6
  "license": "ISC",
@@ -14,26 +14,38 @@ exports.AttendanceScaleOffsModel = (sequelize, DataTypes) => {
14
14
  allowNull: false,
15
15
  type: DataTypes.DATEONLY,
16
16
  get(field) {
17
+ const isRecorrent = this.getDataValue('isRecorrent')
17
18
  const date = this.getDataValue(field)
18
- return new Date(date).toISOString().substring(0, 10)
19
+ if(!isRecorrent) return new Date(date).toISOString().substring(0, 10)
20
+ return new Date().getUTCFullYear() + new Date(date).toISOString().substring(4, 10)
19
21
  },
20
22
  },
21
23
  hourInit: {
22
- allowNull: false,
24
+ allowNull: true,
23
25
  type: DataTypes.TIME,
24
26
  get(field) {
25
27
  const hourInit = this.getDataValue(field)
28
+ if(!hourInit) return hourInit
26
29
  return hourInit.substring(0, 5)
27
30
  },
28
31
  },
29
32
  hourFinish: {
30
- allowNull: false,
33
+ allowNull: true,
31
34
  type: DataTypes.TIME,
32
35
  get(field) {
33
36
  const hourFinish = this.getDataValue(field)
37
+ if(!hourFinish) return hourFinish
34
38
  return hourFinish.substring(0, 5)
35
39
  },
36
40
  },
41
+ isRecorrent: {
42
+ allowNull: true,
43
+ type: DataTypes.BOOLEAN
44
+ },
45
+ allExpedientOff: {
46
+ allowNull: true,
47
+ type: DataTypes.BOOLEAN
48
+ },
37
49
  })
38
50
 
39
51
  AttendanceScale.associate = (models) => {
@@ -1,154 +1,153 @@
1
1
  const DIALOG_NODE_TYPES = {
2
- NODE: 'node',
3
- FOLDER: 'folder',
4
- }
2
+ NODE: 'node',
3
+ FOLDER: 'folder',
4
+ }
5
5
  const DIALOG_NODE_TYPE = [DIALOG_NODE_TYPES.NODE, DIALOG_NODE_TYPES.FOLDER]
6
6
  const DialogNodesModel = (sequelize, Sequelize) => {
7
- const DialogNodes = sequelize.define('DialogNodes', {
8
- name: {
9
- type: Sequelize.STRING,
10
- allowNull: true,
11
- },
12
- condition: {
13
- type: Sequelize.TEXT,
14
- allowNull: true,
15
- },
16
- step: {
17
- type: Sequelize.INTEGER,
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',
7
+ const DialogNodes = sequelize.define('DialogNodes', {
8
+ name: {
9
+ type: Sequelize.STRING,
10
+ allowNull: true,
11
+ },
12
+ condition: {
13
+ type: Sequelize.TEXT,
14
+ allowNull: true,
15
+ },
16
+ step: {
17
+ type: Sequelize.INTEGER,
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',
44
31
  },
45
- SkillId: {
46
- type: Sequelize.UUID,
47
- allowNull: true,
48
- references: {
49
- model: 'Skills',
50
- key: 'id',
51
- },
52
- onDelete: 'RESTRICT',
53
- onUpdate: 'CASCADE',
32
+ onDelete: 'RESTRICT',
33
+ onUpdate: 'CASCADE',
34
+ },
35
+ JumpToSkillId: {
36
+ type: Sequelize.UUID,
37
+ allowNull: true,
38
+ references: {
39
+ model: 'Skills',
40
+ key: 'id',
54
41
  },
55
- DialogNodeFolderId: {
56
- type: Sequelize.UUID,
57
- allowNull: true,
58
- references: {
59
- model: 'DialogNodes',
60
- key: 'id',
61
- },
62
- onDelete: 'RESTRICT',
63
- onUpdate: 'CASCADE',
42
+ onDelete: 'RESTRICT',
43
+ onUpdate: 'CASCADE',
44
+ },
45
+ SkillId: {
46
+ type: Sequelize.UUID,
47
+ allowNull: true,
48
+ references: {
49
+ model: 'Skills',
50
+ key: 'id',
64
51
  },
65
- type: {
66
- type: Sequelize.ENUM({
67
- values: DIALOG_NODE_TYPE,
68
- }),
69
- defaultValue: DIALOG_NODE_TYPES.NODE,
70
- allowNull: false,
52
+ onDelete: 'RESTRICT',
53
+ onUpdate: 'CASCADE',
54
+ },
55
+ DialogNodeFolderId: {
56
+ type: Sequelize.UUID,
57
+ allowNull: true,
58
+ references: {
59
+ model: 'DialogNodes',
60
+ key: 'id',
71
61
  },
72
- isMultipleResponse: {
73
- type: Sequelize.BOOLEAN,
74
- allowNull: false,
75
- defaultValue: true,
76
- },
77
- hasMultipleResponse: {
78
- type: Sequelize.BOOLEAN,
79
- allowNull: false,
80
- defaultValue: false
81
- },
82
- contexts: {
83
- type: Sequelize.TEXT,
84
- allowNull: false,
85
- defaultValue: '',
86
- get(field) {
87
- try {
88
- let value = this.getDataValue(field)
89
- value = JSON.parse(value)
90
- if (value.length) {
91
- return value.map(item => {
92
- try {
93
- if(typeof item === 'string') {
94
- return JSON.parse(item)
95
- } else {
96
- return item
97
- }
98
- } catch (error) {
99
- console.error(error)
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
+ hasMultipleResponse: {
78
+ type: Sequelize.BOOLEAN,
79
+ allowNull: false,
80
+ defaultValue: false
81
+ },
82
+ contexts: {
83
+ type: Sequelize.TEXT,
84
+ allowNull: false,
85
+ defaultValue: '',
86
+ get(field) {
87
+ try {
88
+ let value = this.getDataValue(field)
89
+ value = JSON.parse(value)
90
+ if (value.length) {
91
+ return value.map(item => {
92
+ try {
93
+ if(typeof item === 'string') {
94
+ return JSON.parse(item)
95
+ } else {
100
96
  return item
101
97
  }
102
- })
103
- }
104
- return value
105
- } catch (error) {
106
- let value = this.getDataValue(field)
98
+ } catch (error) {
99
+ console.error(error)
100
+ return item
101
+ }
102
+ })
103
+ }
104
+ return value
105
+ } catch (error) {
106
+ let value = this.getDataValue(field)
107
107
 
108
- if(typeof value === 'string') {
109
- value = []
110
- }
111
- return value
108
+ if(typeof value === 'string') {
109
+ value = []
112
110
  }
113
- },
111
+ return value
112
+ }
114
113
  },
114
+ },
115
+ })
116
+
117
+ DialogNodes.associate = (models) => {
118
+ DialogNodes.hasMany(models.Response_DialogNodes, { onDelete: 'CASCADE', })
119
+ DialogNodes.belongsTo(models.Skill, { foreignKey: 'SkillId' })
120
+ DialogNodes.belongsTo(models.Skill, {
121
+ as: 'JumpToSkill',
122
+ foreignKey: 'JumpToSkillId',
115
123
  })
116
-
117
- DialogNodes.associate = (models) => {
118
- DialogNodes.hasMany(models.Response_DialogNodes, { onDelete: 'CASCADE', })
119
- DialogNodes.belongsTo(models.Skill, { foreignKey: 'SkillId' })
120
- DialogNodes.belongsTo(models.Skill, {
121
- as: 'JumpToSkill',
122
- foreignKey: 'JumpToSkillId',
123
- })
124
- DialogNodes.belongsTo(models.DialogNodes, {
125
- as: 'DialogNodeFolder',
126
- foreignKey: 'DialogNodeFolderId',
127
- })
128
- DialogNodes.belongsTo(models.DialogNodes, {
129
- as: 'JumpToDialogNode',
130
- foreignKey: 'JumpToDialogNodeId',
131
- onDelete: 'CASCADE'
132
- })
133
- DialogNodes.hasMany(models.DialogNodes_MultipleResponses, { onDelete: 'CASCADE' })
134
- DialogNodes.hasMany(models.DialogNodes_ApiResources, { onDelete: 'CASCADE' })
135
- DialogNodes.hasOne(models.TranshipTriggers)
136
- DialogNodes.hasMany(models.TranshipTriggers, { as: 'SuccessDialogNode', foreignKey: 'successDialogNodeId' })
137
- DialogNodes.hasMany(models.TranshipTriggers, { as: 'ErrorDialogNode', foreignKey: 'errorDialogNodeId' })
138
- DialogNodes.hasMany(models.TranshipTriggers, { as: 'OnCloseDialogNode', foreignKey: 'onCloseDialogNodeId' })
139
- DialogNodes.hasMany(models.TranshipTriggers, { as: 'NonOperatingDialogNode', foreignKey: 'nonOperatingDialogNodeId' })
140
- DialogNodes.hasMany(models.TranshipTriggers, { as: 'AbandonmentDialogNode', foreignKey: 'abandonmentDialogNodeId' })
141
- DialogNodes.hasOne(models.FaqTriggers)
142
- DialogNodes.hasMany(models.FaqTriggers, { as: 'SuccessDialogNode', foreignKey: 'successDialogNodeId' })
143
- DialogNodes.hasMany(models.FaqTriggers, { as: 'ErrorDialogNode', foreignKey: 'errorDialogNodeId' })
144
- DialogNodes.hasMany(models.FaqTriggers, { as: 'NotFoundDialogNode', foreignKey: 'notFoundDialogNodeId' })
145
- }
146
- return DialogNodes
124
+ DialogNodes.belongsTo(models.DialogNodes, {
125
+ as: 'DialogNodeFolder',
126
+ foreignKey: 'DialogNodeFolderId',
127
+ })
128
+ DialogNodes.belongsTo(models.DialogNodes, {
129
+ as: 'JumpToDialogNode',
130
+ foreignKey: 'JumpToDialogNodeId',
131
+ onDelete: 'CASCADE'
132
+ })
133
+ DialogNodes.hasMany(models.DialogNodes_MultipleResponses, { onDelete: 'CASCADE' })
134
+ DialogNodes.hasMany(models.DialogNodes_ApiResources, { onDelete: 'CASCADE' })
135
+ DialogNodes.hasOne(models.TranshipTriggers)
136
+ DialogNodes.hasMany(models.TranshipTriggers, { as: 'SuccessDialogNode', foreignKey: 'successDialogNodeId' })
137
+ DialogNodes.hasMany(models.TranshipTriggers, { as: 'ErrorDialogNode', foreignKey: 'errorDialogNodeId' })
138
+ DialogNodes.hasMany(models.TranshipTriggers, { as: 'OnCloseDialogNode', foreignKey: 'onCloseDialogNodeId' })
139
+ DialogNodes.hasMany(models.TranshipTriggers, { as: 'NonOperatingDialogNode', foreignKey: 'nonOperatingDialogNodeId' })
140
+ DialogNodes.hasMany(models.TranshipTriggers, { as: 'AbandonmentDialogNode', foreignKey: 'abandonmentDialogNodeId' })
141
+ DialogNodes.hasOne(models.FaqTriggers)
142
+ DialogNodes.hasMany(models.FaqTriggers, { as: 'FaqSuccessDialogNode', foreignKey: 'successDialogNodeId' })
143
+ DialogNodes.hasMany(models.FaqTriggers, { as: 'FaqErrorDialogNode', foreignKey: 'errorDialogNodeId' })
144
+ DialogNodes.hasMany(models.FaqTriggers, { as: 'FaqNotFoundDialogNode', foreignKey: 'notFoundDialogNodeId' })
147
145
  }
146
+ return DialogNodes
147
+ }
148
148
 
149
149
  module.exports = {
150
- DIALOG_NODE_TYPE,
151
- DIALOG_NODE_TYPES,
152
- DialogNodesModel
150
+ DIALOG_NODE_TYPE,
151
+ DIALOG_NODE_TYPES,
152
+ DialogNodesModel
153
153
  }
154
-
@@ -32,7 +32,7 @@ exports.FaqTriggersModel = (sequelize, DataTypes) => {
32
32
  },
33
33
  notFoundDialogNodeId: {
34
34
  allowNull: true,
35
- type: Sequelize.UUID,
35
+ type: DataTypes.UUID,
36
36
  references: {
37
37
  model: 'DialogNodes',
38
38
  key: 'id',
@@ -43,9 +43,9 @@ exports.FaqTriggersModel = (sequelize, DataTypes) => {
43
43
  })
44
44
  FaqTriggers.associate = (models) => {
45
45
  FaqTriggers.belongsTo(models.DialogNodes)
46
- FaqTriggers.belongsTo(models.DialogNodes, { as: 'SuccessDialogNode', foreignKey: 'successDialogNodeId' })
47
- FaqTriggers.belongsTo(models.DialogNodes, { as: 'ErrorDialogNode', foreignKey: 'errorDialogNodeId' })
48
- FaqTriggers.belongsTo(models.DialogNodes, { as: 'NotFoundDialogNode', foreignKey: 'notFoundDialogNodeId' })
46
+ FaqTriggers.belongsTo(models.DialogNodes, { as: 'FaqSuccessDialogNode', foreignKey: 'successDialogNodeId' })
47
+ FaqTriggers.belongsTo(models.DialogNodes, { as: 'FaqErrorDialogNode', foreignKey: 'errorDialogNodeId' })
48
+ FaqTriggers.belongsTo(models.DialogNodes, { as: 'FaqNotFoundDialogNode', foreignKey: 'notFoundDialogNodeId' })
49
49
  }
50
50
  return FaqTriggers
51
51
  }