@itleanchatbot/shared-models-js-postgres 1.1.82 → 1.1.84

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.
Files changed (60) hide show
  1. package/README.md +18 -18
  2. package/index.js +116 -114
  3. package/package.json +41 -41
  4. package/src/apiResourceBodies.js +41 -41
  5. package/src/apiResourceHeaders.js +29 -29
  6. package/src/apiResourcePathParams.js +28 -28
  7. package/src/apiResourceQueryStringParams.js +36 -36
  8. package/src/apiResources.js +72 -72
  9. package/src/apis.js +65 -65
  10. package/src/attendanceScale.js +40 -40
  11. package/src/attendanceScaleOff.js +56 -56
  12. package/src/attendances.js +89 -89
  13. package/src/botIterable.js +128 -112
  14. package/src/branches.js +35 -35
  15. package/src/channelConfigurations.js +41 -41
  16. package/src/channelTypes.js +52 -52
  17. package/src/channels.js +59 -59
  18. package/src/client.js +23 -23
  19. package/src/comments.js +27 -27
  20. package/src/departments.js +35 -35
  21. package/src/dialogNodes.js +156 -155
  22. package/src/dialogNodes_MultipleResponses.js +39 -39
  23. package/src/dialogNodes_apiResources.js +50 -50
  24. package/src/endSessionTriggers.js +29 -29
  25. package/src/enterprises.js +29 -29
  26. package/src/entity.js +34 -34
  27. package/src/entityValues.js +63 -63
  28. package/src/faqQuestions.js +31 -31
  29. package/src/faqTriggers.js +50 -50
  30. package/src/files.js +35 -35
  31. package/src/ibmProvider.js +56 -56
  32. package/src/inactivityTriggers.js +37 -0
  33. package/src/intelligence.js +45 -45
  34. package/src/intention.js +36 -36
  35. package/src/intentionValue.js +31 -31
  36. package/src/itleanProvider.js +33 -33
  37. package/src/lineConfigurations.js +62 -62
  38. package/src/lines.js +48 -48
  39. package/src/messagesHsm.js +70 -70
  40. package/src/openFaqs.js +33 -33
  41. package/src/permissions.js +27 -27
  42. package/src/postbackGupshup.js +26 -26
  43. package/src/profile.js +23 -23
  44. package/src/profiles_permission.js +25 -25
  45. package/src/quickMessages.js +34 -34
  46. package/src/response_DialogNodes.js +36 -36
  47. package/src/responses.js +54 -54
  48. package/src/responsesBoxes.js +65 -65
  49. package/src/returnHsm.js +30 -30
  50. package/src/sessions.js +61 -57
  51. package/src/skill.js +112 -111
  52. package/src/socketClients.js +56 -56
  53. package/src/subDepartments.js +35 -35
  54. package/src/synonyms.js +67 -67
  55. package/src/systemUsers.js +54 -54
  56. package/src/systemUsers_Lines.js +25 -25
  57. package/src/systemUsers_profiles.js +25 -25
  58. package/src/templates.js +49 -49
  59. package/src/transhipConversations.js +50 -50
  60. package/src/transhipTriggers.js +102 -102
@@ -1,73 +1,73 @@
1
- const HTTP_METHODS = [
2
- 'PUT',
3
- 'GET',
4
- 'DELETE',
5
- 'POST',
6
- 'COPY',
7
- 'OPTIONS',
8
- 'PATCH',
9
- 'PURGE',
10
- 'LINK',
11
- 'UNLINK',
12
- 'LOCK',
13
- 'UNLOCK',
14
- ]
15
-
16
- const ApiResourcesModel = (sequelize, Sequelize) => {
17
- const ApiResources = sequelize.define('ApiResources', {
18
- ApiId: {
19
- type: Sequelize.UUID,
20
- allowNull: false,
21
- references: {
22
- model: 'Apis',
23
- key: 'id',
24
- },
25
- onDelete: 'RESTRICT',
26
- onUpdate: 'CASCADE',
27
- },
28
- ApiResourcesBodyId: {
29
- type: Sequelize.UUID,
30
- allowNull: true,
31
- references: {
32
- model: 'ApiResourcesBodies',
33
- key: 'id',
34
- },
35
- onDelete: 'RESTRICT',
36
- onUpdate: 'CASCADE',
37
- },
38
- uri: {
39
- type: Sequelize.STRING,
40
- allowNull: false,
41
- },
42
- method: {
43
- type: Sequelize.ENUM({
44
- values: HTTP_METHODS,
45
- }),
46
- allowNull: true,
47
- },
48
- name: {
49
- type: Sequelize.STRING,
50
- allowNull: true,
51
- },
52
- description: {
53
- type: Sequelize.STRING,
54
- allowNull: true,
55
- },
56
- })
57
-
58
- ApiResources.associate = (models) => {
59
- ApiResources.belongsTo(models.Apis)
60
- ApiResources.belongsTo(models.ApiResourcesBodies)
61
- ApiResources.hasMany(models.ApiResourcesHeaders)
62
- ApiResources.hasMany(models.ApiResourcesQueryStringParams)
63
- ApiResources.hasMany(models.ApiResourcesPathParams)
64
- }
65
-
66
- return ApiResources
67
- }
68
-
69
-
70
- module.exports = {
71
- ApiResourcesModel,
72
- HTTP_METHODS
1
+ const HTTP_METHODS = [
2
+ 'PUT',
3
+ 'GET',
4
+ 'DELETE',
5
+ 'POST',
6
+ 'COPY',
7
+ 'OPTIONS',
8
+ 'PATCH',
9
+ 'PURGE',
10
+ 'LINK',
11
+ 'UNLINK',
12
+ 'LOCK',
13
+ 'UNLOCK',
14
+ ]
15
+
16
+ const ApiResourcesModel = (sequelize, Sequelize) => {
17
+ const ApiResources = sequelize.define('ApiResources', {
18
+ ApiId: {
19
+ type: Sequelize.UUID,
20
+ allowNull: false,
21
+ references: {
22
+ model: 'Apis',
23
+ key: 'id',
24
+ },
25
+ onDelete: 'RESTRICT',
26
+ onUpdate: 'CASCADE',
27
+ },
28
+ ApiResourcesBodyId: {
29
+ type: Sequelize.UUID,
30
+ allowNull: true,
31
+ references: {
32
+ model: 'ApiResourcesBodies',
33
+ key: 'id',
34
+ },
35
+ onDelete: 'RESTRICT',
36
+ onUpdate: 'CASCADE',
37
+ },
38
+ uri: {
39
+ type: Sequelize.STRING,
40
+ allowNull: false,
41
+ },
42
+ method: {
43
+ type: Sequelize.ENUM({
44
+ values: HTTP_METHODS,
45
+ }),
46
+ allowNull: true,
47
+ },
48
+ name: {
49
+ type: Sequelize.STRING,
50
+ allowNull: true,
51
+ },
52
+ description: {
53
+ type: Sequelize.STRING,
54
+ allowNull: true,
55
+ },
56
+ })
57
+
58
+ ApiResources.associate = (models) => {
59
+ ApiResources.belongsTo(models.Apis)
60
+ ApiResources.belongsTo(models.ApiResourcesBodies)
61
+ ApiResources.hasMany(models.ApiResourcesHeaders)
62
+ ApiResources.hasMany(models.ApiResourcesQueryStringParams)
63
+ ApiResources.hasMany(models.ApiResourcesPathParams)
64
+ }
65
+
66
+ return ApiResources
67
+ }
68
+
69
+
70
+ module.exports = {
71
+ ApiResourcesModel,
72
+ HTTP_METHODS
73
73
  }
package/src/apis.js CHANGED
@@ -1,66 +1,66 @@
1
- const API_INTEGRATION_TYPES = {
2
- JSON: 'json',
3
- XML: 'xml',
4
- }
5
-
6
- const API_INTEGRATION_TYPE = [
7
- API_INTEGRATION_TYPES.JSON,
8
- API_INTEGRATION_TYPES.XML,
9
- ]
10
-
11
-
12
- const API_AUTHENTICATIONS_TYPES = {
13
- BASIC_AUTH: 'basicAuth',
14
- BEARER_TOKEN: 'bearerToken',
15
- API_KEY: 'apiKey',
16
- NO_AUTH: 'noAuth'
17
- }
18
-
19
-
20
- const ApisModel = (sequelize, Sequelize) => {
21
- const Api = sequelize.define('Apis', {
22
- baseUrl: {
23
- type: Sequelize.JSON,
24
- allowNull: false,
25
- },
26
- type: {
27
- type: Sequelize.ENUM({
28
- values: API_INTEGRATION_TYPE,
29
- }),
30
- defaultValue: API_INTEGRATION_TYPES.JSON,
31
- allowNull: false,
32
- },
33
- name: {
34
- type: Sequelize.STRING,
35
- allowNull: true,
36
- },
37
- description: {
38
- type: Sequelize.STRING,
39
- allowNull: true,
40
- },
41
- EnterpriseId: {
42
- type: Sequelize.UUID,
43
- allowNull: true,
44
- references: {
45
- model: 'Enterprises',
46
- key: 'id',
47
- },
48
- onDelete: 'RESTRICT',
49
- onUpdate: 'CASCADE',
50
- },
51
- })
52
-
53
- Api.associate = (models) => {
54
- Api.hasMany(models.ApiResources)
55
- }
56
-
57
- return Api
58
- }
59
-
60
-
61
- module.exports = {
62
- ApisModel,
63
- API_INTEGRATION_TYPE,
64
- API_INTEGRATION_TYPES,
65
- API_AUTHENTICATIONS_TYPES
1
+ const API_INTEGRATION_TYPES = {
2
+ JSON: 'json',
3
+ XML: 'xml',
4
+ }
5
+
6
+ const API_INTEGRATION_TYPE = [
7
+ API_INTEGRATION_TYPES.JSON,
8
+ API_INTEGRATION_TYPES.XML,
9
+ ]
10
+
11
+
12
+ const API_AUTHENTICATIONS_TYPES = {
13
+ BASIC_AUTH: 'basicAuth',
14
+ BEARER_TOKEN: 'bearerToken',
15
+ API_KEY: 'apiKey',
16
+ NO_AUTH: 'noAuth'
17
+ }
18
+
19
+
20
+ const ApisModel = (sequelize, Sequelize) => {
21
+ const Api = sequelize.define('Apis', {
22
+ baseUrl: {
23
+ type: Sequelize.JSON,
24
+ allowNull: false,
25
+ },
26
+ type: {
27
+ type: Sequelize.ENUM({
28
+ values: API_INTEGRATION_TYPE,
29
+ }),
30
+ defaultValue: API_INTEGRATION_TYPES.JSON,
31
+ allowNull: false,
32
+ },
33
+ name: {
34
+ type: Sequelize.STRING,
35
+ allowNull: true,
36
+ },
37
+ description: {
38
+ type: Sequelize.STRING,
39
+ allowNull: true,
40
+ },
41
+ EnterpriseId: {
42
+ type: Sequelize.UUID,
43
+ allowNull: true,
44
+ references: {
45
+ model: 'Enterprises',
46
+ key: 'id',
47
+ },
48
+ onDelete: 'RESTRICT',
49
+ onUpdate: 'CASCADE',
50
+ },
51
+ })
52
+
53
+ Api.associate = (models) => {
54
+ Api.hasMany(models.ApiResources)
55
+ }
56
+
57
+ return Api
58
+ }
59
+
60
+
61
+ module.exports = {
62
+ ApisModel,
63
+ API_INTEGRATION_TYPE,
64
+ API_INTEGRATION_TYPES,
65
+ API_AUTHENTICATIONS_TYPES
66
66
  }
@@ -1,40 +1,40 @@
1
- exports.AttendanceScalesModel = (sequelize, DataTypes) => {
2
- const AttendanceScale = sequelize.define('AttendanceScales', {
3
- LineConfigurationId: {
4
- type: DataTypes.UUID,
5
- allowNull: false,
6
- references: {
7
- model: 'LineConfigurations',
8
- key: 'id',
9
- },
10
- onDelete: 'CASCADE',
11
- onUpdate: 'CASCADE',
12
- },
13
- day: {
14
- allowNull: false,
15
- type: DataTypes.ENUM([0, 1, 2, 3, 4, 5, 6]),
16
- },
17
- hourInit: {
18
- allowNull: false,
19
- type: DataTypes.TIME,
20
- get(field) {
21
- const hourInit = this.getDataValue(field)
22
- return hourInit.substring(0, 5)
23
- },
24
- },
25
- hourFinish: {
26
- allowNull: false,
27
- type: DataTypes.TIME,
28
- get(field) {
29
- const hourInit = this.getDataValue(field)
30
- return hourInit.substring(0, 5)
31
- },
32
- },
33
- })
34
-
35
- AttendanceScale.associate = (models) => {
36
- AttendanceScale.belongsTo(models.LineConfigurations)
37
- }
38
-
39
- return AttendanceScale
40
- }
1
+ exports.AttendanceScalesModel = (sequelize, DataTypes) => {
2
+ const AttendanceScale = sequelize.define('AttendanceScales', {
3
+ LineConfigurationId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'LineConfigurations',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'CASCADE',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ day: {
14
+ allowNull: false,
15
+ type: DataTypes.ENUM([0, 1, 2, 3, 4, 5, 6]),
16
+ },
17
+ hourInit: {
18
+ allowNull: false,
19
+ type: DataTypes.TIME,
20
+ get(field) {
21
+ const hourInit = this.getDataValue(field)
22
+ return hourInit.substring(0, 5)
23
+ },
24
+ },
25
+ hourFinish: {
26
+ allowNull: false,
27
+ type: DataTypes.TIME,
28
+ get(field) {
29
+ const hourInit = this.getDataValue(field)
30
+ return hourInit.substring(0, 5)
31
+ },
32
+ },
33
+ })
34
+
35
+ AttendanceScale.associate = (models) => {
36
+ AttendanceScale.belongsTo(models.LineConfigurations)
37
+ }
38
+
39
+ return AttendanceScale
40
+ }
@@ -1,56 +1,56 @@
1
- exports.AttendanceScaleOffsModel = (sequelize, DataTypes) => {
2
- const AttendanceScale = sequelize.define('AttendanceScaleOffs', {
3
- LineConfigurationId: {
4
- type: DataTypes.UUID,
5
- allowNull: false,
6
- references: {
7
- model: 'LineConfigurations',
8
- key: 'id',
9
- },
10
- onDelete: 'CASCADE',
11
- onUpdate: 'CASCADE',
12
- },
13
- date: {
14
- allowNull: false,
15
- type: DataTypes.DATEONLY,
16
- get(field) {
17
- const isRecorrent = this.getDataValue('isRecorrent')
18
- const date = this.getDataValue(field)
19
- if(!isRecorrent) return new Date(date).toISOString().substring(0, 10)
20
- return new Date().getUTCFullYear() + new Date(date).toISOString().substring(4, 10)
21
- },
22
- },
23
- hourInit: {
24
- allowNull: true,
25
- type: DataTypes.TIME,
26
- get(field) {
27
- const hourInit = this.getDataValue(field)
28
- if(!hourInit) return hourInit
29
- return hourInit.substring(0, 5)
30
- },
31
- },
32
- hourFinish: {
33
- allowNull: true,
34
- type: DataTypes.TIME,
35
- get(field) {
36
- const hourFinish = this.getDataValue(field)
37
- if(!hourFinish) return hourFinish
38
- return hourFinish.substring(0, 5)
39
- },
40
- },
41
- isRecorrent: {
42
- allowNull: true,
43
- type: DataTypes.BOOLEAN
44
- },
45
- allExpedientOff: {
46
- allowNull: true,
47
- type: DataTypes.BOOLEAN
48
- },
49
- })
50
-
51
- AttendanceScale.associate = (models) => {
52
- AttendanceScale.belongsTo(models.LineConfigurations)
53
- }
54
-
55
- return AttendanceScale
56
- }
1
+ exports.AttendanceScaleOffsModel = (sequelize, DataTypes) => {
2
+ const AttendanceScale = sequelize.define('AttendanceScaleOffs', {
3
+ LineConfigurationId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'LineConfigurations',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'CASCADE',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ date: {
14
+ allowNull: false,
15
+ type: DataTypes.DATEONLY,
16
+ get(field) {
17
+ const isRecorrent = this.getDataValue('isRecorrent')
18
+ const date = this.getDataValue(field)
19
+ if(!isRecorrent) return new Date(date).toISOString().substring(0, 10)
20
+ return new Date().getUTCFullYear() + new Date(date).toISOString().substring(4, 10)
21
+ },
22
+ },
23
+ hourInit: {
24
+ allowNull: true,
25
+ type: DataTypes.TIME,
26
+ get(field) {
27
+ const hourInit = this.getDataValue(field)
28
+ if(!hourInit) return hourInit
29
+ return hourInit.substring(0, 5)
30
+ },
31
+ },
32
+ hourFinish: {
33
+ allowNull: true,
34
+ type: DataTypes.TIME,
35
+ get(field) {
36
+ const hourFinish = this.getDataValue(field)
37
+ if(!hourFinish) return hourFinish
38
+ return hourFinish.substring(0, 5)
39
+ },
40
+ },
41
+ isRecorrent: {
42
+ allowNull: true,
43
+ type: DataTypes.BOOLEAN
44
+ },
45
+ allExpedientOff: {
46
+ allowNull: true,
47
+ type: DataTypes.BOOLEAN
48
+ },
49
+ })
50
+
51
+ AttendanceScale.associate = (models) => {
52
+ AttendanceScale.belongsTo(models.LineConfigurations)
53
+ }
54
+
55
+ return AttendanceScale
56
+ }
@@ -1,89 +1,89 @@
1
- exports.AttendancesModel = (sequelize, DataTypes) => {
2
- const Attendances = sequelize.define('Attendances', {
3
- SessionId: {
4
- type: DataTypes.UUID,
5
- allowNull: false,
6
- references: {
7
- model: 'Sessions',
8
- key: 'id',
9
- },
10
- onDelete: 'RESTRICT',
11
- onUpdate: 'CASCADE',
12
- },
13
- LineId: {
14
- type: DataTypes.UUID,
15
- allowNull: false,
16
- references: {
17
- model: 'Lines',
18
- key: 'id',
19
- },
20
- onDelete: 'RESTRICT',
21
- onUpdate: 'CASCADE',
22
- },
23
- SystemUserId: {
24
- type: DataTypes.UUID,
25
- allowNull: true,
26
- references: {
27
- model: 'SystemUsers',
28
- key: 'id',
29
- },
30
- onDelete: 'RESTRICT',
31
- onUpdate: 'CASCADE',
32
- },
33
- status: {
34
- type: DataTypes.ENUM(['waiting', 'started', 'closed', 'transfered']),
35
- allowNull: false,
36
- validate: {
37
- notEmpty: false,
38
- },
39
- },
40
- startedAt: {
41
- allowNull: true,
42
- type: DataTypes.DATE,
43
- },
44
- closedAt: {
45
- allowNull: true,
46
- type: DataTypes.DATE,
47
- },
48
- PreviousAttendanceId: {
49
- type: DataTypes.UUID,
50
- allowNull: true,
51
- references: {
52
- model: 'Attendances',
53
- key: 'id',
54
- },
55
- onDelete: 'RESTRICT',
56
- onUpdate: 'CASCADE',
57
- },
58
- clientData: {
59
- allowNull: true,
60
- type: DataTypes.JSON,
61
- },
62
- TranshipTriggerId: {
63
- type: DataTypes.UUID,
64
- allowNull: true,
65
- references: {
66
- model: 'TranshipTriggers',
67
- key: 'id',
68
- },
69
- onDelete: 'SET NULL',
70
- onUpdate: 'CASCADE',
71
- },
72
- protocol: {
73
- allowNull: true,
74
- type: DataTypes.STRING(255),
75
- }
76
- })
77
-
78
- Attendances.associate = models => {
79
- Attendances.belongsTo(models.Sessions)
80
- Attendances.belongsTo(models.SystemUsers)
81
- Attendances.belongsTo(models.Lines)
82
- Attendances.hasMany(models.TranshipConversations)
83
- Attendances.hasOne(models.Attendances, { as: 'PreviousAttendance' })
84
- Attendances.hasMany(models.Comments)
85
- Attendances.belongsTo(models.TranshipTriggers)
86
- }
87
-
88
- return Attendances
89
- }
1
+ exports.AttendancesModel = (sequelize, DataTypes) => {
2
+ const Attendances = sequelize.define('Attendances', {
3
+ SessionId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ references: {
7
+ model: 'Sessions',
8
+ key: 'id',
9
+ },
10
+ onDelete: 'RESTRICT',
11
+ onUpdate: 'CASCADE',
12
+ },
13
+ LineId: {
14
+ type: DataTypes.UUID,
15
+ allowNull: false,
16
+ references: {
17
+ model: 'Lines',
18
+ key: 'id',
19
+ },
20
+ onDelete: 'RESTRICT',
21
+ onUpdate: 'CASCADE',
22
+ },
23
+ SystemUserId: {
24
+ type: DataTypes.UUID,
25
+ allowNull: true,
26
+ references: {
27
+ model: 'SystemUsers',
28
+ key: 'id',
29
+ },
30
+ onDelete: 'RESTRICT',
31
+ onUpdate: 'CASCADE',
32
+ },
33
+ status: {
34
+ type: DataTypes.ENUM(['waiting', 'started', 'closed', 'transfered']),
35
+ allowNull: false,
36
+ validate: {
37
+ notEmpty: false,
38
+ },
39
+ },
40
+ startedAt: {
41
+ allowNull: true,
42
+ type: DataTypes.DATE,
43
+ },
44
+ closedAt: {
45
+ allowNull: true,
46
+ type: DataTypes.DATE,
47
+ },
48
+ PreviousAttendanceId: {
49
+ type: DataTypes.UUID,
50
+ allowNull: true,
51
+ references: {
52
+ model: 'Attendances',
53
+ key: 'id',
54
+ },
55
+ onDelete: 'RESTRICT',
56
+ onUpdate: 'CASCADE',
57
+ },
58
+ clientData: {
59
+ allowNull: true,
60
+ type: DataTypes.JSON,
61
+ },
62
+ TranshipTriggerId: {
63
+ type: DataTypes.UUID,
64
+ allowNull: true,
65
+ references: {
66
+ model: 'TranshipTriggers',
67
+ key: 'id',
68
+ },
69
+ onDelete: 'SET NULL',
70
+ onUpdate: 'CASCADE',
71
+ },
72
+ protocol: {
73
+ allowNull: true,
74
+ type: DataTypes.STRING(255),
75
+ }
76
+ })
77
+
78
+ Attendances.associate = models => {
79
+ Attendances.belongsTo(models.Sessions)
80
+ Attendances.belongsTo(models.SystemUsers)
81
+ Attendances.belongsTo(models.Lines)
82
+ Attendances.hasMany(models.TranshipConversations)
83
+ Attendances.hasOne(models.Attendances, { as: 'PreviousAttendance' })
84
+ Attendances.hasMany(models.Comments)
85
+ Attendances.belongsTo(models.TranshipTriggers)
86
+ }
87
+
88
+ return Attendances
89
+ }