@itleanchatbot/shared-models-js-postgres 1.5.91 → 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.
Files changed (192) hide show
  1. package/README.md +28 -3
  2. package/package.json +8 -2
  3. package/src/migrations/2021050204551-create-extension-uuid-ossp.js +12 -0
  4. package/src/migrations/20210503140511-create-channel-types.js +56 -0
  5. package/src/migrations/20210503141113-create-channel-configurations.js +56 -0
  6. package/src/migrations/20210503141528-create-enterprises.js +47 -0
  7. package/src/migrations/20210503142049-create-permissions.js.js +44 -0
  8. package/src/migrations/20210503142205-create-profiles.js.js +33 -0
  9. package/src/migrations/20210503142259-create-profiles-permissions.js +45 -0
  10. package/src/migrations/20210503142433-create-system-users.js +61 -0
  11. package/src/migrations/20210503142528-create-system-users-profiles.js +45 -0
  12. package/src/migrations/20210503142645-create-departments.js +49 -0
  13. package/src/migrations/20210503142739-create-clients.js +44 -0
  14. package/src/migrations/20210503142857-create-intelligences.js +48 -0
  15. package/src/migrations/20210503142959-create-ibm-providers.js +71 -0
  16. package/src/migrations/20210503151909-create-itlean-providers.js +53 -0
  17. package/src/migrations/20210503154612-create-skills.js +114 -0
  18. package/src/migrations/20210503161006-create-files.js +53 -0
  19. package/src/migrations/20210503161236-create-channels.js +66 -0
  20. package/src/migrations/20210503161308-create-sessions.js +67 -0
  21. package/src/migrations/20210503161503-create-subdepartments.js +49 -0
  22. package/src/migrations/20210503161543-create-branches.js +53 -0
  23. package/src/migrations/20210503161909-create-lines.js +55 -0
  24. package/src/migrations/20210503161947-create-entities.js +56 -0
  25. package/src/migrations/20210503162126-create-intentions.js +56 -0
  26. package/src/migrations/20210503162213-create-intentions-values.js +51 -0
  27. package/src/migrations/20210503162618-create-entities-values.js +67 -0
  28. package/src/migrations/20210503162752-create-synonyms.js +71 -0
  29. package/src/migrations/20210503163331-create-responses.js +58 -0
  30. package/src/migrations/20210503163437-create-responses-boxes.js +66 -0
  31. package/src/migrations/20210503163702-create-languages.js +42 -0
  32. package/src/migrations/20210503184109-create-groups.js +53 -0
  33. package/src/migrations/20210503185846-create-contacts.js +55 -0
  34. package/src/migrations/20210503190220-create-groups-contacts.js +47 -0
  35. package/src/migrations/20210503190338-create-fields.js +40 -0
  36. package/src/migrations/20210503190515-create-apis.js +65 -0
  37. package/src/migrations/20210503191041-create-apis-resources-body.js +46 -0
  38. package/src/migrations/20210503191107-create-apis-resources.js +74 -0
  39. package/src/migrations/20210503191253-create-apis-resources-headers.js +53 -0
  40. package/src/migrations/20210503193228-create-apis-resources-query-string-params.js +61 -0
  41. package/src/migrations/20210503193425-create-apis-resources-path-params.js +52 -0
  42. package/src/migrations/20210503193511-create-dialog-nodes.js +121 -0
  43. package/src/migrations/20210503193629-create-response-dialog-nodes.js +46 -0
  44. package/src/migrations/20210503193905-create-system-users-lines.js +45 -0
  45. package/src/migrations/20210503194004-create-attendances.js +80 -0
  46. package/src/migrations/20210503194036-create-tranship-conversations.js +65 -0
  47. package/src/migrations/20210503194204-create-line-configurations.js +75 -0
  48. package/src/migrations/20210504133611-create-templates.js +68 -0
  49. package/src/migrations/20210504133647-create-socket-clients.js +73 -0
  50. package/src/migrations/20210504143703-create-dialog-nodes-multiple-responses.js +47 -0
  51. package/src/migrations/20210504144332-create-messages-hsm.js +72 -0
  52. package/src/migrations/20210504144657-create-dialog-nodes-api-resources.js +54 -0
  53. package/src/migrations/20210504144730-create-send-hsm.js +62 -0
  54. package/src/migrations/20210504144859-create-messages-hsm-channels.js +48 -0
  55. package/src/migrations/20210504144931-create-open-faqs.js +55 -0
  56. package/src/migrations/20210504145032-create-return-hsm.js +50 -0
  57. package/src/migrations/20210504160623-create-group-send-hsm.js +52 -0
  58. package/src/migrations/20210504164445-create-extension-unaccent.js +11 -0
  59. package/src/migrations/20210504164516-create-extension-fuzzy.js +11 -0
  60. package/src/migrations/20210504164553-create-attendance-scale.js +48 -0
  61. package/src/migrations/20210504164613-create-attendance-scale-off.js +58 -0
  62. package/src/migrations/20210504165351-create-comments.js +42 -0
  63. package/src/migrations/20210504165421-create-quick-messages.js +49 -0
  64. package/src/migrations/20210504165514-create-bot-iterables.js +60 -0
  65. package/src/migrations/20210504165900-create-tranship-triggers.js +114 -0
  66. package/src/migrations/20210505025504-create-send-hsm-return-hsm.js +34 -0
  67. package/src/migrations/20210507012938-create-faq-triggers.js +68 -0
  68. package/src/migrations/20210518122431-alter-responses.js +17 -0
  69. package/src/migrations/20210524150418-create-faq-questions.js +51 -0
  70. package/src/migrations/20210524173157-alter-table-open-faq.js +17 -0
  71. package/src/migrations/20210526115430-alter-attendances.js +14 -0
  72. package/src/migrations/20210528101030-alter-attendances.js +82 -0
  73. package/src/migrations/20210609103918-create-table-postbakGupshup.js +46 -0
  74. package/src/migrations/20210614194609-alter-channels.js +14 -0
  75. package/src/migrations/20210618101840-alter-table-MessagesHsms.js +14 -0
  76. package/src/migrations/20210622132643-alter-table-postbackGupshup.js +11 -0
  77. package/src/migrations/20210623110159-alter-table-botinterable.js +176 -0
  78. package/src/migrations/20210623180356-alter-dialog-nodes-api-resources.js +15 -0
  79. package/src/migrations/20210625165930-alter-dialog-nodes-api-resources.js +15 -0
  80. package/src/migrations/20210708142712-alter-table-entity-values.js +17 -0
  81. package/src/migrations/20210708145259-alter-table-synonyms.js +25 -0
  82. package/src/migrations/20210719161230-alter-attendances.js +14 -0
  83. package/src/migrations/20210727095921-alter-name-size.js +39 -0
  84. package/src/migrations/20210727110430-create-endSessionTriggers.js +71 -0
  85. package/src/migrations/20210728140327-create-table-online-editing.js +42 -0
  86. package/src/migrations/20210810152747-alter-botIterables.js +26 -0
  87. package/src/migrations/20210812110330-create-indexes.js +101 -0
  88. package/src/migrations/20210816124430-create-inactivityTriggers.js +60 -0
  89. package/src/migrations/20210819155330-create-function.js +123 -0
  90. package/src/migrations/20210823145424-remove-names-botiterables.js +74 -0
  91. package/src/migrations/20210902145430-create-apiKeys.js +40 -0
  92. package/src/migrations/20210906092430-create-customPostback.js +44 -0
  93. package/src/migrations/20210906144034-alter-api-body-migration.js +74 -0
  94. package/src/migrations/20210910081430-create-transhipInactivityTriggers.js +48 -0
  95. package/src/migrations/20210923131530-alter-attendances.js +14 -0
  96. package/src/migrations/20210923140130-create-function.js +85 -0
  97. package/src/migrations/20210927141630-alter-attendances.js +32 -0
  98. package/src/migrations/20211020130541-alter-table-session-hasTranship.js +14 -0
  99. package/src/migrations/20211025155825-create-stopwords.js +52 -0
  100. package/src/{apiKeys.js → models/apiKeys.js} +1 -1
  101. package/src/{apiResourceBodies.js → models/apiResourceBodies.js} +1 -1
  102. package/src/{apiResourceHeaders.js → models/apiResourceHeaders.js} +1 -1
  103. package/src/{apiResourcePathParams.js → models/apiResourcePathParams.js} +1 -1
  104. package/src/{apiResourceQueryStringParams.js → models/apiResourceQueryStringParams.js} +1 -1
  105. package/src/{apiResources.js → models/apiResources.js} +1 -1
  106. package/src/{apis.js → models/apis.js} +1 -1
  107. package/src/{attendanceScale.js → models/attendanceScale.js} +1 -1
  108. package/src/{attendanceScaleOff.js → models/attendanceScaleOff.js} +1 -1
  109. package/src/{attendances.js → models/attendances.js} +1 -1
  110. package/src/{botIterable.js → models/botIterable.js} +1 -5
  111. package/src/{branches.js → models/branches.js} +1 -1
  112. package/src/{channelConfigurations.js → models/channelConfigurations.js} +1 -1
  113. package/src/{channelTypes.js → models/channelTypes.js} +15 -1
  114. package/src/{channels.js → models/channels.js} +1 -1
  115. package/src/{client.js → models/client.js} +1 -1
  116. package/src/{comments.js → models/comments.js} +1 -1
  117. package/src/models/contacts.js +41 -0
  118. package/src/{customPostbacks.js → models/customPostbacks.js} +1 -1
  119. package/src/{departments.js → models/departments.js} +1 -1
  120. package/src/{dialogNodes.js → models/dialogNodes.js} +1 -1
  121. package/src/{dialogNodes_MultipleResponses.js → models/dialogNodes_MultipleResponses.js} +1 -1
  122. package/src/{dialogNodes_apiResources.js → models/dialogNodes_apiResources.js} +1 -1
  123. package/src/{endSessionTriggers.js → models/endSessionTriggers.js} +1 -1
  124. package/src/{enterprises.js → models/enterprises.js} +1 -1
  125. package/src/{entity.js → models/entity.js} +1 -1
  126. package/src/{entityValues.js → models/entityValues.js} +1 -1
  127. package/src/{faqQuestions.js → models/faqQuestions.js} +1 -1
  128. package/src/{faqTriggers.js → models/faqTriggers.js} +1 -1
  129. package/src/models/fields.js +28 -0
  130. package/src/{files.js → models/files.js} +1 -1
  131. package/src/models/groups.js +45 -0
  132. package/src/models/groupsContracts.js +13 -0
  133. package/src/models/groupsSendHsms.js +13 -0
  134. package/src/{ibmProvider.js → models/ibmProvider.js} +1 -1
  135. package/src/{inactivityTriggers.js → models/inactivityTriggers.js} +1 -1
  136. package/src/models/index.js +45 -0
  137. package/src/{intelligence.js → models/intelligence.js} +1 -1
  138. package/src/{intention.js → models/intention.js} +1 -1
  139. package/src/{intentionValue.js → models/intentionValue.js} +1 -1
  140. package/src/{itleanProvider.js → models/itleanProvider.js} +1 -1
  141. package/src/models/language.js +21 -0
  142. package/src/{lineConfigurations.js → models/lineConfigurations.js} +1 -1
  143. package/src/{lines.js → models/lines.js} +1 -1
  144. package/src/{messagesHsm.js → models/messagesHsm.js} +6 -2
  145. package/src/models/onlineEditions.js +27 -0
  146. package/src/{openFaqs.js → models/openFaqs.js} +1 -1
  147. package/src/{permissions.js → models/permissions.js} +1 -1
  148. package/src/{postbackGupshup.js → models/postbackGupshup.js} +1 -1
  149. package/src/{profile.js → models/profile.js} +1 -1
  150. package/src/{profiles_permission.js → models/profiles_permission.js} +1 -1
  151. package/src/{quickMessages.js → models/quickMessages.js} +1 -1
  152. package/src/models/responseChannels.js +39 -0
  153. package/src/{response_DialogNodes.js → models/response_DialogNodes.js} +1 -1
  154. package/src/{responses.js → models/responses.js} +1 -1
  155. package/src/{responsesBoxes.js → models/responsesBoxes.js} +1 -1
  156. package/src/{returnHsm.js → models/returnHsm.js} +1 -1
  157. package/src/models/sendHsm.js +51 -0
  158. package/src/models/sendHsmReturnHsm.js +13 -0
  159. package/src/{sessions.js → models/sessions.js} +1 -1
  160. package/src/{skill.js → models/skill.js} +1 -1
  161. package/src/{socketClients.js → models/socketClients.js} +1 -1
  162. package/src/{stopwords.js → models/stopwords.js} +1 -1
  163. package/src/{subDepartments.js → models/subDepartments.js} +1 -1
  164. package/src/{synonyms.js → models/synonyms.js} +1 -1
  165. package/src/{systemUsers.js → models/systemUsers.js} +1 -1
  166. package/src/{systemUsers_Lines.js → models/systemUsers_Lines.js} +1 -1
  167. package/src/{systemUsers_profiles.js → models/systemUsers_profiles.js} +1 -1
  168. package/src/{templates.js → models/templates.js} +1 -1
  169. package/src/{transhipConversations.js → models/transhipConversations.js} +1 -1
  170. package/src/{transhipInactivityTriggers.js → models/transhipInactivityTriggers.js} +1 -1
  171. package/src/{transhipTriggers.js → models/transhipTriggers.js} +1 -1
  172. package/src/presenters/database/migrationHelpers.js +62 -0
  173. package/src/presenters/encryptation.js +14 -0
  174. package/src/seeders/20210414180447-change-ChannelTypes.js +47 -0
  175. package/src/seeders/20210505130137-insert-channel-types.js +65 -0
  176. package/src/seeders/20210505132612-insert-intelligence.js +27 -0
  177. package/src/seeders/20210505134121-insert-enterprise.js +15 -0
  178. package/src/seeders/20210505134345-insert-permissions.js +125 -0
  179. package/src/seeders/20210505134549-insert-profiles.js +39 -0
  180. package/src/seeders/20210505134700-insert-profiles-permissions.js +80 -0
  181. package/src/seeders/20210505135931-insert-system-users.js +52 -0
  182. package/src/seeders/20210505140025-insert-system-users-profiles.js +26 -0
  183. package/src/seeders/20210505140049-insert-language.js +21 -0
  184. package/src/seeders/20210505140259-insert-itlean-provider.js +34 -0
  185. package/src/seeders/20210505140343-insert-templates.js +228 -0
  186. package/src/seeders/20210505140658-insert-channel-configurations.js +146 -0
  187. package/src/seeders/20210618132740-add-new-channel-configutations.js +45 -0
  188. package/src/seeders/20210817081230-insert-profiles-permissions.js +105 -0
  189. package/src/seeders/20210830131930-insert-profiles-permissions.js +71 -0
  190. package/src/seeders/20210902160430-insert-apiKey.js +30 -0
  191. package/src/seeders/20211005135921-edit-gupshup-reponseTypes.js +47 -0
  192. package/index.js +0 -125
@@ -0,0 +1,53 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('ApiResourcesHeaders', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ ApiResourceId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'ApiResources',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ value: {
23
+ type: Sequelize.STRING,
24
+ allowNull: false,
25
+ },
26
+ type: {
27
+ type: Sequelize.STRING(40),
28
+ allowNull: false,
29
+ defaultValue: 'string',
30
+ },
31
+ createdAt: {
32
+ allowNull: false,
33
+ type: Sequelize.DATE,
34
+ },
35
+ updatedAt: {
36
+ allowNull: false,
37
+ type: Sequelize.DATE,
38
+ },
39
+ })
40
+
41
+ await queryInterface.addIndex('ApiResourcesHeaders', ['type'], {
42
+ indexName: 'typeApiResourcesHeaders',
43
+ })
44
+
45
+ await queryInterface.addIndex('ApiResourcesHeaders', ['value'], {
46
+ indexName: 'valueApiResourcesHeaders',
47
+ })
48
+ },
49
+
50
+ down: async (queryInterface) => {
51
+ return queryInterface.dropTable('ApiResourcesHeaders')
52
+ },
53
+ }
@@ -0,0 +1,61 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('ApiResourcesQueryStringParams', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ ApiResourceId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'ApiResources',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ key: {
23
+ type: Sequelize.STRING,
24
+ allowNull: false,
25
+ },
26
+ value: {
27
+ type: Sequelize.STRING,
28
+ allowNull: false,
29
+ },
30
+ type: {
31
+ type: Sequelize.STRING(40),
32
+ allowNull: false,
33
+ defaultValue: 'string',
34
+ },
35
+ createdAt: {
36
+ allowNull: false,
37
+ type: Sequelize.DATE,
38
+ },
39
+ updatedAt: {
40
+ allowNull: false,
41
+ type: Sequelize.DATE,
42
+ },
43
+ })
44
+
45
+ await queryInterface.addIndex('ApiResourcesQueryStringParams', ['type'], {
46
+ indexName: 'typeApiResourcesQueryStringParams',
47
+ })
48
+
49
+ await queryInterface.addIndex('ApiResourcesQueryStringParams', ['key'], {
50
+ indexName: 'keyApiResourcesQueryStringParams',
51
+ })
52
+
53
+ await queryInterface.addIndex('ApiResourcesQueryStringParams', ['value'], {
54
+ indexName: 'valueApiResourcesQueryStringParams',
55
+ })
56
+ },
57
+
58
+ down: async (queryInterface) => {
59
+ return queryInterface.dropTable('ApiResourcesQueryStringParams')
60
+ },
61
+ }
@@ -0,0 +1,52 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('ApiResourcesPathParams', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ ApiResourceId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'ApiResources',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ key: {
23
+ type: Sequelize.STRING,
24
+ allowNull: false,
25
+ },
26
+ value: {
27
+ type: Sequelize.STRING,
28
+ allowNull: false,
29
+ },
30
+ createdAt: {
31
+ allowNull: false,
32
+ type: Sequelize.DATE,
33
+ },
34
+ updatedAt: {
35
+ allowNull: false,
36
+ type: Sequelize.DATE,
37
+ },
38
+ })
39
+
40
+ await queryInterface.addIndex('ApiResourcesPathParams', ['key'], {
41
+ indexName: 'keyApiResourcesPathParams',
42
+ })
43
+
44
+ await queryInterface.addIndex('ApiResourcesPathParams', ['value'], {
45
+ indexName: 'valueApiResourcesPathParams',
46
+ })
47
+ },
48
+
49
+ down: async (queryInterface) => {
50
+ return queryInterface.dropTable('ApiResourcesPathParams')
51
+ },
52
+ }
@@ -0,0 +1,121 @@
1
+ 'use strict'
2
+
3
+ const {
4
+ DIALOG_NODE_TYPE,
5
+ DIALOG_NODE_TYPES,
6
+ } = require('./../models/dialogNodes')
7
+
8
+ module.exports = {
9
+ up: async (queryInterface, Sequelize) => {
10
+ await queryInterface.createTable('DialogNodes', {
11
+ id: {
12
+ allowNull: false,
13
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
14
+ primaryKey: true,
15
+ type: Sequelize.UUID,
16
+ },
17
+ name: {
18
+ type: Sequelize.STRING,
19
+ allowNull: true,
20
+ },
21
+ condition: {
22
+ type: Sequelize.TEXT,
23
+ allowNull: true,
24
+ },
25
+ step: {
26
+ type: Sequelize.INTEGER,
27
+ allowNull: false,
28
+ },
29
+ replayWait: {
30
+ type: Sequelize.BOOLEAN,
31
+ allowNull: false,
32
+ defaultValue: true,
33
+ },
34
+ JumpToDialogNodeId: {
35
+ type: Sequelize.UUID,
36
+ allowNull: true,
37
+ references: {
38
+ model: 'DialogNodes',
39
+ key: 'id',
40
+ },
41
+ onDelete: 'SET NULL',
42
+ onUpdate: 'CASCADE',
43
+ },
44
+ JumpToSkillId: {
45
+ type: Sequelize.UUID,
46
+ allowNull: true,
47
+ references: {
48
+ model: 'Skills',
49
+ key: 'id',
50
+ },
51
+ onDelete: 'RESTRICT',
52
+ onUpdate: 'CASCADE',
53
+ },
54
+ SkillId: {
55
+ type: Sequelize.UUID,
56
+ allowNull: true,
57
+ references: {
58
+ model: 'Skills',
59
+ key: 'id',
60
+ },
61
+ onDelete: 'RESTRICT',
62
+ onUpdate: 'CASCADE',
63
+ },
64
+ DialogNodeFolderId: {
65
+ type: Sequelize.UUID,
66
+ allowNull: true,
67
+ references: {
68
+ model: 'DialogNodes',
69
+ key: 'id',
70
+ },
71
+ onDelete: 'RESTRICT',
72
+ onUpdate: 'CASCADE',
73
+ },
74
+ type: {
75
+ type: Sequelize.ENUM({
76
+ values: DIALOG_NODE_TYPE,
77
+ }),
78
+ defaultValue: DIALOG_NODE_TYPES.NODE,
79
+ allowNull: false,
80
+ },
81
+ isMultipleResponse: {
82
+ type: Sequelize.BOOLEAN,
83
+ allowNull: false,
84
+ defaultValue: true,
85
+ },
86
+ contexts: {
87
+ type: Sequelize.TEXT,
88
+ allowNull: false,
89
+ },
90
+ hasMultipleResponse: {
91
+ type: Sequelize.BOOLEAN,
92
+ allowNull: false,
93
+ defaultValue: false,
94
+ },
95
+ createdAt: {
96
+ allowNull: false,
97
+ type: Sequelize.DATE,
98
+ },
99
+ updatedAt: {
100
+ allowNull: false,
101
+ type: Sequelize.DATE,
102
+ },
103
+ })
104
+
105
+ await queryInterface.addIndex('DialogNodes', ['name'], {
106
+ indexName: 'nameDialogNodes',
107
+ })
108
+
109
+ await queryInterface.addIndex('DialogNodes', ['replayWait'], {
110
+ indexName: 'replayWaitDialogNodes',
111
+ })
112
+
113
+ await queryInterface.addIndex('DialogNodes', ['step'], {
114
+ indexName: 'stepDialogNodes',
115
+ })
116
+ },
117
+
118
+ down: async (queryInterface, Sequelize) => {
119
+ return queryInterface.dropTable('DialogNodes')
120
+ },
121
+ }
@@ -0,0 +1,46 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('Response_DialogNodes', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ DialogNodeId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: true,
15
+ references: {
16
+ model: 'DialogNodes',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ ResponseId: {
23
+ type: Sequelize.UUID,
24
+ allowNull: true,
25
+ references: {
26
+ model: 'Responses',
27
+ key: 'id',
28
+ },
29
+ onDelete: 'RESTRICT',
30
+ onUpdate: 'CASCADE',
31
+ },
32
+ createdAt: {
33
+ allowNull: false,
34
+ type: Sequelize.DATE,
35
+ },
36
+ updatedAt: {
37
+ allowNull: false,
38
+ type: Sequelize.DATE,
39
+ },
40
+ })
41
+ },
42
+
43
+ down: async (queryInterface, Sequelize) => {
44
+ return queryInterface.dropTable('Response_DialogNodes')
45
+ },
46
+ }
@@ -0,0 +1,45 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('SystemUsers_Lines', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ SystemUserId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'SystemUsers',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ LineId: {
23
+ type: Sequelize.UUID,
24
+ allowNull: false,
25
+ references: {
26
+ model: 'Lines',
27
+ key: 'id',
28
+ },
29
+ onDelete: 'RESTRICT',
30
+ onUpdate: 'CASCADE',
31
+ },
32
+ createdAt: {
33
+ allowNull: false,
34
+ type: Sequelize.DATE,
35
+ },
36
+ updatedAt: {
37
+ allowNull: false,
38
+ type: Sequelize.DATE,
39
+ },
40
+ })
41
+ },
42
+ down: async (queryInterface, Sequelize) => {
43
+ await queryInterface.dropTable('SystemUsers_Lines')
44
+ },
45
+ }
@@ -0,0 +1,80 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('Attendances', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ SessionId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'Sessions',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ LineId: {
23
+ type: Sequelize.UUID,
24
+ allowNull: false,
25
+ references: {
26
+ model: 'Lines',
27
+ key: 'id',
28
+ },
29
+ onDelete: 'RESTRICT',
30
+ onUpdate: 'CASCADE',
31
+ },
32
+ SystemUserId: {
33
+ type: Sequelize.UUID,
34
+ allowNull: true,
35
+ references: {
36
+ model: 'SystemUsers',
37
+ key: 'id',
38
+ },
39
+ onDelete: 'RESTRICT',
40
+ onUpdate: 'CASCADE',
41
+ },
42
+ status: {
43
+ type: Sequelize.ENUM(['waiting', 'started', 'closed', 'transfered']),
44
+ allowNull: false,
45
+ validate: {
46
+ notEmpty: false,
47
+ },
48
+ },
49
+ startedAt: {
50
+ allowNull: true,
51
+ type: Sequelize.DATE,
52
+ },
53
+ closedAt: {
54
+ allowNull: true,
55
+ type: Sequelize.DATE,
56
+ },
57
+ PreviousAttendanceId: {
58
+ type: Sequelize.UUID,
59
+ allowNull: true,
60
+ references: {
61
+ model: 'Attendances',
62
+ key: 'id',
63
+ },
64
+ onDelete: 'RESTRICT',
65
+ onUpdate: 'CASCADE',
66
+ },
67
+ createdAt: {
68
+ allowNull: false,
69
+ type: Sequelize.DATE,
70
+ },
71
+ updatedAt: {
72
+ allowNull: false,
73
+ type: Sequelize.DATE,
74
+ },
75
+ })
76
+ },
77
+ down: async (queryInterface, Sequelize) => {
78
+ await queryInterface.dropTable('Attendances')
79
+ },
80
+ }
@@ -0,0 +1,65 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('TranshipConversations', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ AttendanceId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'Attendances',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ action: {
23
+ type: Sequelize.ENUM(['tranship', 'client']),
24
+ allowNull: false,
25
+ validate: {
26
+ notEmpty: true,
27
+ },
28
+ },
29
+ type: {
30
+ type: Sequelize.ENUM(['text', 'file']),
31
+ allowNull: false,
32
+ validate: {
33
+ notEmpty: true,
34
+ },
35
+ },
36
+ message: {
37
+ type: Sequelize.TEXT,
38
+ allowNull: true,
39
+ },
40
+ location: {
41
+ type: Sequelize.TEXT,
42
+ allowNull: true,
43
+ },
44
+ filename: {
45
+ type: Sequelize.TEXT,
46
+ allowNull: true,
47
+ },
48
+ mimetype: {
49
+ type: Sequelize.STRING(50),
50
+ allowNull: true,
51
+ },
52
+ createdAt: {
53
+ allowNull: false,
54
+ type: Sequelize.DATE,
55
+ },
56
+ updatedAt: {
57
+ allowNull: false,
58
+ type: Sequelize.DATE,
59
+ },
60
+ })
61
+ },
62
+ down: async (queryInterface, Sequelize) => {
63
+ await queryInterface.dropTable('TranshipConversations')
64
+ },
65
+ }
@@ -0,0 +1,75 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('LineConfigurations', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ LineId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'Lines',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ transfer: {
23
+ type: Sequelize.BOOLEAN,
24
+ allowNull: false,
25
+ defaultValue: true,
26
+ },
27
+ autoDistribution: {
28
+ type: Sequelize.BOOLEAN,
29
+ allowNull: false,
30
+ defaultValue: false,
31
+ },
32
+ sendEmoji: {
33
+ type: Sequelize.BOOLEAN,
34
+ allowNull: false,
35
+ defaultValue: false,
36
+ },
37
+ sendAttachment: {
38
+ type: Sequelize.BOOLEAN,
39
+ allowNull: false,
40
+ defaultValue: false,
41
+ },
42
+ activateSystemUserMaxResponseTime: {
43
+ type: Sequelize.BOOLEAN,
44
+ allowNull: false,
45
+ defaultValue: false,
46
+ },
47
+ systemUserMaxResponseTimeInMinutes: {
48
+ type: Sequelize.INTEGER,
49
+ allowNull: false,
50
+ defaultValue: 0,
51
+ },
52
+ activateUserMaxResponseTime: {
53
+ type: Sequelize.BOOLEAN,
54
+ allowNull: false,
55
+ defaultValue: false,
56
+ },
57
+ userMaxResponseTimeInMinutes: {
58
+ type: Sequelize.INTEGER,
59
+ allowNull: false,
60
+ defaultValue: 0,
61
+ },
62
+ createdAt: {
63
+ allowNull: false,
64
+ type: Sequelize.DATE,
65
+ },
66
+ updatedAt: {
67
+ allowNull: false,
68
+ type: Sequelize.DATE,
69
+ },
70
+ })
71
+ },
72
+ down: async (queryInterface, Sequelize) => {
73
+ await queryInterface.dropTable('LineConfigurations')
74
+ },
75
+ }
@@ -0,0 +1,68 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('Templates', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ EnterpriseId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'Enterprises',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ contractJson: {
23
+ allowNull: false,
24
+ type: Sequelize.JSONB,
25
+ },
26
+ title: {
27
+ type: Sequelize.STRING,
28
+ allowNull: false,
29
+ defaultValue: false,
30
+ },
31
+ channelId: {
32
+ type: Sequelize.STRING,
33
+ allowNull: false,
34
+ defaultValue: false,
35
+ },
36
+ description: {
37
+ type: Sequelize.STRING,
38
+ allowNull: false,
39
+ defaultValue: false,
40
+ },
41
+ elements: {
42
+ type: Sequelize.JSONB,
43
+ allowNull: false,
44
+ defaultValue: false,
45
+ },
46
+ contractType: {
47
+ type: Sequelize.STRING,
48
+ allowNull: true,
49
+ },
50
+ ChannelTypeId: {
51
+ type: Sequelize.STRING,
52
+ allowNull: true,
53
+ },
54
+ createdAt: {
55
+ allowNull: false,
56
+ type: Sequelize.DATE,
57
+ },
58
+ updatedAt: {
59
+ allowNull: false,
60
+ type: Sequelize.DATE,
61
+ },
62
+ })
63
+ },
64
+
65
+ down: async (queryInterface, Sequelize) => {
66
+ await queryInterface.dropTable('Templates')
67
+ },
68
+ }