@itleanchatbot/shared-models-js-postgres 1.4.91 → 2.0.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 (180) hide show
  1. package/package.json +6 -2
  2. package/src/migrations/2021050204551-create-extension-uuid-ossp.js +12 -0
  3. package/src/migrations/20210503140511-create-channel-types.js +56 -0
  4. package/src/migrations/20210503141113-create-channel-configurations.js +56 -0
  5. package/src/migrations/20210503141528-create-enterprises.js +47 -0
  6. package/src/migrations/20210503142049-create-permissions.js.js +44 -0
  7. package/src/migrations/20210503142205-create-profiles.js.js +33 -0
  8. package/src/migrations/20210503142259-create-profiles-permissions.js +45 -0
  9. package/src/migrations/20210503142433-create-system-users.js +61 -0
  10. package/src/migrations/20210503142528-create-system-users-profiles.js +45 -0
  11. package/src/migrations/20210503142645-create-departments.js +49 -0
  12. package/src/migrations/20210503142739-create-clients.js +44 -0
  13. package/src/migrations/20210503142857-create-intelligences.js +48 -0
  14. package/src/migrations/20210503142959-create-ibm-providers.js +71 -0
  15. package/src/migrations/20210503151909-create-itlean-providers.js +53 -0
  16. package/src/migrations/20210503154612-create-skills.js +114 -0
  17. package/src/migrations/20210503161006-create-files.js +53 -0
  18. package/src/migrations/20210503161236-create-channels.js +66 -0
  19. package/src/migrations/20210503161308-create-sessions.js +67 -0
  20. package/src/migrations/20210503161503-create-subdepartments.js +49 -0
  21. package/src/migrations/20210503161543-create-branches.js +53 -0
  22. package/src/migrations/20210503161909-create-lines.js +55 -0
  23. package/src/migrations/20210503161947-create-entities.js +56 -0
  24. package/src/migrations/20210503162126-create-intentions.js +56 -0
  25. package/src/migrations/20210503162213-create-intentions-values.js +51 -0
  26. package/src/migrations/20210503162618-create-entities-values.js +67 -0
  27. package/src/migrations/20210503162752-create-synonyms.js +71 -0
  28. package/src/migrations/20210503163331-create-responses.js +58 -0
  29. package/src/migrations/20210503163437-create-responses-boxes.js +66 -0
  30. package/src/migrations/20210503163702-create-languages.js +42 -0
  31. package/src/migrations/20210503184109-create-groups.js +53 -0
  32. package/src/migrations/20210503185846-create-contacts.js +55 -0
  33. package/src/migrations/20210503190220-create-groups-contacts.js +47 -0
  34. package/src/migrations/20210503190338-create-fields.js +40 -0
  35. package/src/migrations/20210503190515-create-apis.js +65 -0
  36. package/src/migrations/20210503191041-create-apis-resources-body.js +46 -0
  37. package/src/migrations/20210503191107-create-apis-resources.js +74 -0
  38. package/src/migrations/20210503191253-create-apis-resources-headers.js +53 -0
  39. package/src/migrations/20210503193228-create-apis-resources-query-string-params.js +61 -0
  40. package/src/migrations/20210503193425-create-apis-resources-path-params.js +52 -0
  41. package/src/migrations/20210503193511-create-dialog-nodes.js +121 -0
  42. package/src/migrations/20210503193629-create-response-dialog-nodes.js +46 -0
  43. package/src/migrations/20210503193905-create-system-users-lines.js +45 -0
  44. package/src/migrations/20210503194004-create-attendances.js +80 -0
  45. package/src/migrations/20210503194036-create-tranship-conversations.js +65 -0
  46. package/src/migrations/20210503194204-create-line-configurations.js +75 -0
  47. package/src/migrations/20210504133611-create-templates.js +68 -0
  48. package/src/migrations/20210504133647-create-socket-clients.js +73 -0
  49. package/src/migrations/20210504143703-create-dialog-nodes-multiple-responses.js +47 -0
  50. package/src/migrations/20210504144332-create-messages-hsm.js +72 -0
  51. package/src/migrations/20210504144657-create-dialog-nodes-api-resources.js +54 -0
  52. package/src/migrations/20210504144730-create-send-hsm.js +62 -0
  53. package/src/migrations/20210504144859-create-messages-hsm-channels.js +48 -0
  54. package/src/migrations/20210504144931-create-open-faqs.js +55 -0
  55. package/src/migrations/20210504145032-create-return-hsm.js +50 -0
  56. package/src/migrations/20210504160623-create-group-send-hsm.js +52 -0
  57. package/src/migrations/20210504164445-create-extension-unaccent.js +11 -0
  58. package/src/migrations/20210504164516-create-extension-fuzzy.js +11 -0
  59. package/src/migrations/20210504164553-create-attendance-scale.js +48 -0
  60. package/src/migrations/20210504164613-create-attendance-scale-off.js +58 -0
  61. package/src/migrations/20210504165351-create-comments.js +42 -0
  62. package/src/migrations/20210504165421-create-quick-messages.js +49 -0
  63. package/src/migrations/20210504165514-create-bot-iterables.js +60 -0
  64. package/src/migrations/20210504165900-create-tranship-triggers.js +114 -0
  65. package/src/migrations/20210505025504-create-send-hsm-return-hsm.js +34 -0
  66. package/src/migrations/20210507012938-create-faq-triggers.js +68 -0
  67. package/src/migrations/20210518122431-alter-responses.js +17 -0
  68. package/src/migrations/20210524150418-create-faq-questions.js +51 -0
  69. package/src/migrations/20210524173157-alter-table-open-faq.js +17 -0
  70. package/src/migrations/20210526115430-alter-attendances.js +14 -0
  71. package/src/migrations/20210528101030-alter-attendances.js +82 -0
  72. package/src/migrations/20210609103918-create-table-postbakGupshup.js +46 -0
  73. package/src/migrations/20210613125036-unnamed-migration.js +21 -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/models/index.js +45 -0
  101. package/src/{stopwords.js → models/stopwords.js} +0 -6
  102. package/src/seeders/20210414180447-change-ChannelTypes.js +47 -0
  103. package/src/seeders/20210505130137-insert-channel-types.js +65 -0
  104. package/src/seeders/20210505132612-insert-intelligence.js +27 -0
  105. package/src/seeders/20210505134121-insert-enterprise.js +15 -0
  106. package/src/seeders/20210505134345-insert-permissions.js +125 -0
  107. package/src/seeders/20210505134549-insert-profiles.js +39 -0
  108. package/src/seeders/20210505134700-insert-profiles-permissions.js +80 -0
  109. package/src/seeders/20210505135931-insert-system-users.js +52 -0
  110. package/src/seeders/20210505140025-insert-system-users-profiles.js +26 -0
  111. package/src/seeders/20210505140049-insert-language.js +21 -0
  112. package/src/seeders/20210505140259-insert-itlean-provider.js +34 -0
  113. package/src/seeders/20210505140343-insert-templates.js +229 -0
  114. package/src/seeders/20210505140658-insert-channel-configurations.js +146 -0
  115. package/src/seeders/20210618132740-add-new-channel-configutations.js +45 -0
  116. package/src/seeders/20210817081230-insert-profiles-permissions.js +105 -0
  117. package/src/seeders/20210830131930-insert-profiles-permissions.js +71 -0
  118. package/src/seeders/20210902160430-insert-apiKey.js +30 -0
  119. package/src/seeders/20211005135921-edit-gupshup-reponseTypes.js +47 -0
  120. package/index.js +0 -125
  121. /package/src/{apiKeys.js → models/apiKeys.js} +0 -0
  122. /package/src/{apiResourceBodies.js → models/apiResourceBodies.js} +0 -0
  123. /package/src/{apiResourceHeaders.js → models/apiResourceHeaders.js} +0 -0
  124. /package/src/{apiResourcePathParams.js → models/apiResourcePathParams.js} +0 -0
  125. /package/src/{apiResourceQueryStringParams.js → models/apiResourceQueryStringParams.js} +0 -0
  126. /package/src/{apiResources.js → models/apiResources.js} +0 -0
  127. /package/src/{apis.js → models/apis.js} +0 -0
  128. /package/src/{attendanceScale.js → models/attendanceScale.js} +0 -0
  129. /package/src/{attendanceScaleOff.js → models/attendanceScaleOff.js} +0 -0
  130. /package/src/{attendances.js → models/attendances.js} +0 -0
  131. /package/src/{botIterable.js → models/botIterable.js} +0 -0
  132. /package/src/{branches.js → models/branches.js} +0 -0
  133. /package/src/{channelConfigurations.js → models/channelConfigurations.js} +0 -0
  134. /package/src/{channelTypes.js → models/channelTypes.js} +0 -0
  135. /package/src/{channels.js → models/channels.js} +0 -0
  136. /package/src/{client.js → models/client.js} +0 -0
  137. /package/src/{comments.js → models/comments.js} +0 -0
  138. /package/src/{customPostbacks.js → models/customPostbacks.js} +0 -0
  139. /package/src/{departments.js → models/departments.js} +0 -0
  140. /package/src/{dialogNodes.js → models/dialogNodes.js} +0 -0
  141. /package/src/{dialogNodes_MultipleResponses.js → models/dialogNodes_MultipleResponses.js} +0 -0
  142. /package/src/{dialogNodes_apiResources.js → models/dialogNodes_apiResources.js} +0 -0
  143. /package/src/{endSessionTriggers.js → models/endSessionTriggers.js} +0 -0
  144. /package/src/{enterprises.js → models/enterprises.js} +0 -0
  145. /package/src/{entity.js → models/entity.js} +0 -0
  146. /package/src/{entityValues.js → models/entityValues.js} +0 -0
  147. /package/src/{faqQuestions.js → models/faqQuestions.js} +0 -0
  148. /package/src/{faqTriggers.js → models/faqTriggers.js} +0 -0
  149. /package/src/{files.js → models/files.js} +0 -0
  150. /package/src/{ibmProvider.js → models/ibmProvider.js} +0 -0
  151. /package/src/{inactivityTriggers.js → models/inactivityTriggers.js} +0 -0
  152. /package/src/{intelligence.js → models/intelligence.js} +0 -0
  153. /package/src/{intention.js → models/intention.js} +0 -0
  154. /package/src/{intentionValue.js → models/intentionValue.js} +0 -0
  155. /package/src/{itleanProvider.js → models/itleanProvider.js} +0 -0
  156. /package/src/{lineConfigurations.js → models/lineConfigurations.js} +0 -0
  157. /package/src/{lines.js → models/lines.js} +0 -0
  158. /package/src/{messagesHsm.js → models/messagesHsm.js} +0 -0
  159. /package/src/{openFaqs.js → models/openFaqs.js} +0 -0
  160. /package/src/{permissions.js → models/permissions.js} +0 -0
  161. /package/src/{postbackGupshup.js → models/postbackGupshup.js} +0 -0
  162. /package/src/{profile.js → models/profile.js} +0 -0
  163. /package/src/{profiles_permission.js → models/profiles_permission.js} +0 -0
  164. /package/src/{quickMessages.js → models/quickMessages.js} +0 -0
  165. /package/src/{response_DialogNodes.js → models/response_DialogNodes.js} +0 -0
  166. /package/src/{responses.js → models/responses.js} +0 -0
  167. /package/src/{responsesBoxes.js → models/responsesBoxes.js} +0 -0
  168. /package/src/{returnHsm.js → models/returnHsm.js} +0 -0
  169. /package/src/{sessions.js → models/sessions.js} +0 -0
  170. /package/src/{skill.js → models/skill.js} +0 -0
  171. /package/src/{socketClients.js → models/socketClients.js} +0 -0
  172. /package/src/{subDepartments.js → models/subDepartments.js} +0 -0
  173. /package/src/{synonyms.js → models/synonyms.js} +0 -0
  174. /package/src/{systemUsers.js → models/systemUsers.js} +0 -0
  175. /package/src/{systemUsers_Lines.js → models/systemUsers_Lines.js} +0 -0
  176. /package/src/{systemUsers_profiles.js → models/systemUsers_profiles.js} +0 -0
  177. /package/src/{templates.js → models/templates.js} +0 -0
  178. /package/src/{transhipConversations.js → models/transhipConversations.js} +0 -0
  179. /package/src/{transhipInactivityTriggers.js → models/transhipInactivityTriggers.js} +0 -0
  180. /package/src/{transhipTriggers.js → models/transhipTriggers.js} +0 -0
@@ -0,0 +1,60 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('BotIterables', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ identify: {
13
+ type: Sequelize.STRING,
14
+ allowNull: true,
15
+ validate: {
16
+ notEmpty: false,
17
+ },
18
+ },
19
+ client: {
20
+ type: Sequelize.JSON,
21
+ defaultValue: [],
22
+ },
23
+ bot: {
24
+ type: Sequelize.JSON,
25
+ defaultValue: [],
26
+ },
27
+ SessionId: {
28
+ type: Sequelize.UUID,
29
+ references: {
30
+ model: 'Sessions',
31
+ key: 'id',
32
+ },
33
+ allowNull: false,
34
+ onDelete: 'CASCADE',
35
+ onUpdate: 'CASCADE',
36
+ },
37
+ ChannelId: {
38
+ type: Sequelize.UUID,
39
+ references: {
40
+ model: 'Channels',
41
+ key: 'id',
42
+ },
43
+ allowNull: false,
44
+ onDelete: 'CASCADE',
45
+ onUpdate: 'CASCADE',
46
+ },
47
+ createdAt: {
48
+ allowNull: false,
49
+ type: Sequelize.DATE,
50
+ },
51
+ updatedAt: {
52
+ allowNull: false,
53
+ type: Sequelize.DATE,
54
+ },
55
+ })
56
+ },
57
+ down: async (queryInterface, Sequelize) => {
58
+ await queryInterface.dropTable('BotIterables')
59
+ },
60
+ }
@@ -0,0 +1,114 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('TranshipTriggers', {
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: false,
15
+ references: {
16
+ model: 'DialogNodes',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'RESTRICT',
20
+ onUpdate: 'CASCADE',
21
+ },
22
+ branch: {
23
+ allowNull: false,
24
+ type: Sequelize.STRING(50),
25
+ validate: {
26
+ notEmpty: true,
27
+ },
28
+ },
29
+ department: {
30
+ allowNull: false,
31
+ type: Sequelize.STRING(50),
32
+ validate: {
33
+ notEmpty: true,
34
+ },
35
+ },
36
+ subDepartment: {
37
+ allowNull: false,
38
+ type: Sequelize.STRING(50),
39
+ validate: {
40
+ notEmpty: true,
41
+ },
42
+ },
43
+ successDialogNodeId: {
44
+ allowNull: true,
45
+ type: Sequelize.UUID,
46
+ references: {
47
+ model: 'DialogNodes',
48
+ key: 'id',
49
+ },
50
+ onDelete: 'SET NULL',
51
+ onUpdate: 'CASCADE',
52
+ },
53
+ errorDialogNodeId: {
54
+ allowNull: true,
55
+ type: Sequelize.UUID,
56
+ references: {
57
+ model: 'DialogNodes',
58
+ key: 'id',
59
+ },
60
+ onDelete: 'SET NULL',
61
+ onUpdate: 'CASCADE',
62
+ },
63
+ onCloseDialogNodeId: {
64
+ allowNull: true,
65
+ type: Sequelize.UUID,
66
+ references: {
67
+ model: 'DialogNodes',
68
+ key: 'id',
69
+ },
70
+ onDelete: 'SET NULL',
71
+ onUpdate: 'CASCADE',
72
+ },
73
+ nonOperatingDialogNodeId: {
74
+ allowNull: true,
75
+ type: Sequelize.UUID,
76
+ references: {
77
+ model: 'DialogNodes',
78
+ key: 'id',
79
+ },
80
+ onDelete: 'SET NULL',
81
+ onUpdate: 'CASCADE',
82
+ },
83
+ abandonmentDialogNodeId: {
84
+ allowNull: true,
85
+ type: Sequelize.UUID,
86
+ references: {
87
+ model: 'DialogNodes',
88
+ key: 'id',
89
+ },
90
+ onDelete: 'SET NULL',
91
+ onUpdate: 'CASCADE',
92
+ },
93
+ abandonmentKeywords: {
94
+ allowNull: true,
95
+ type: Sequelize.TEXT,
96
+ },
97
+ clientData: {
98
+ allowNull: true,
99
+ type: Sequelize.JSON,
100
+ },
101
+ createdAt: {
102
+ allowNull: false,
103
+ type: Sequelize.DATE,
104
+ },
105
+ updatedAt: {
106
+ allowNull: false,
107
+ type: Sequelize.DATE,
108
+ },
109
+ })
110
+ },
111
+ down: async (queryInterface, Sequelize) => {
112
+ await queryInterface.dropTable('TranshipTriggers')
113
+ },
114
+ }
@@ -0,0 +1,34 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('SendHsmReturHsms', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ SendHsmId: {
13
+ type: Sequelize.STRING,
14
+ allowNull: false,
15
+ },
16
+ messageId: {
17
+ type: Sequelize.STRING,
18
+ allowNull: false,
19
+ },
20
+ createdAt: {
21
+ allowNull: false,
22
+ type: Sequelize.DATE,
23
+ },
24
+ updatedAt: {
25
+ allowNull: false,
26
+ type: Sequelize.DATE,
27
+ },
28
+ })
29
+ },
30
+
31
+ down: async (queryInterface, Sequelize) => {
32
+ await queryInterface.dropTable('SendHsmReturHsms')
33
+ },
34
+ }
@@ -0,0 +1,68 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.sequelize.query(
6
+ 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";'
7
+ )
8
+ await queryInterface.createTable('FaqTriggers', {
9
+ id: {
10
+ allowNull: false,
11
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
12
+ primaryKey: true,
13
+ type: Sequelize.UUID,
14
+ },
15
+ DialogNodeId: {
16
+ type: Sequelize.UUID,
17
+ allowNull: false,
18
+ references: {
19
+ model: 'DialogNodes',
20
+ key: 'id',
21
+ },
22
+ onDelete: 'RESTRICT',
23
+ onUpdate: 'CASCADE',
24
+ },
25
+ successDialogNodeId: {
26
+ allowNull: true,
27
+ type: Sequelize.UUID,
28
+ references: {
29
+ model: 'DialogNodes',
30
+ key: 'id',
31
+ },
32
+ onDelete: 'SET NULL',
33
+ onUpdate: 'CASCADE',
34
+ },
35
+ errorDialogNodeId: {
36
+ allowNull: true,
37
+ type: Sequelize.UUID,
38
+ references: {
39
+ model: 'DialogNodes',
40
+ key: 'id',
41
+ },
42
+ onDelete: 'SET NULL',
43
+ onUpdate: 'CASCADE',
44
+ },
45
+ notFoundDialogNodeId: {
46
+ allowNull: true,
47
+ type: Sequelize.UUID,
48
+ references: {
49
+ model: 'DialogNodes',
50
+ key: 'id',
51
+ },
52
+ onDelete: 'SET NULL',
53
+ onUpdate: 'CASCADE',
54
+ },
55
+ createdAt: {
56
+ allowNull: false,
57
+ type: Sequelize.DATE,
58
+ },
59
+ updatedAt: {
60
+ allowNull: false,
61
+ type: Sequelize.DATE,
62
+ },
63
+ })
64
+ },
65
+ down: async (queryInterface, Sequelize) => {
66
+ await queryInterface.dropTable('FaqTriggers')
67
+ },
68
+ }
@@ -0,0 +1,17 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ return queryInterface.changeColumn('Responses', 'name', {
6
+ type: Sequelize.STRING(255),
7
+ allowNull: false,
8
+ })
9
+ },
10
+
11
+ down: async (queryInterface, Sequelize) => {
12
+ return queryInterface.changeColumn('Responses', 'name', {
13
+ type: Sequelize.STRING(50),
14
+ allowNull: false,
15
+ })
16
+ },
17
+ }
@@ -0,0 +1,51 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('FaqQuestions', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ OpenFAQId: {
13
+ type: Sequelize.UUID,
14
+ allowNull: false,
15
+ references: {
16
+ model: 'OpenFAQs',
17
+ key: 'id',
18
+ },
19
+ onDelete: 'CASCADE',
20
+ onUpdate: 'CASCADE',
21
+ foreignKeyConstraint: true,
22
+ validate: {
23
+ notEmpty: true,
24
+ },
25
+ },
26
+ name: {
27
+ type: Sequelize.STRING(255),
28
+ allowNull: false,
29
+ validate: {
30
+ notEmpty: true,
31
+ },
32
+ },
33
+ createdAt: {
34
+ allowNull: false,
35
+ type: Sequelize.DATE,
36
+ },
37
+ updatedAt: {
38
+ allowNull: false,
39
+ type: Sequelize.DATE,
40
+ },
41
+ })
42
+
43
+ await queryInterface.addIndex('FaqQuestions', ['name'], {
44
+ indexName: 'faqQuestionsName',
45
+ })
46
+ },
47
+
48
+ down: async (queryInterface) => {
49
+ await queryInterface.dropTable('FaqQuestions')
50
+ },
51
+ }
@@ -0,0 +1,17 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface) => {
5
+ return queryInterface.removeColumn('OpenFAQs', 'questions')
6
+ },
7
+
8
+ down: async (queryInterface, Sequelize) => {
9
+ return queryInterface.addColumn('OpenFAQs', 'questions', {
10
+ allowNull: true,
11
+ type: Sequelize.ARRAY(Sequelize.TEXT),
12
+ validate: {
13
+ notEmpty: true,
14
+ },
15
+ })
16
+ },
17
+ }
@@ -0,0 +1,14 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ return queryInterface.addColumn('Attendances', 'clientData', {
6
+ allowNull: true,
7
+ type: Sequelize.JSON,
8
+ })
9
+ },
10
+
11
+ down: async (queryInterface, Sequelize) => {
12
+ return queryInterface.removeColumn('Attendances', 'clientData')
13
+ },
14
+ }
@@ -0,0 +1,82 @@
1
+ 'use strict'
2
+
3
+ const newEnumString = `'waiting', 'started', 'closed', 'transfered', 'abandoned'`
4
+ const oldEnumString = `'waiting', 'started', 'closed', 'transfered'`
5
+
6
+ const replaceEnum = async (replaceTo, queryInterface) => {
7
+ const transaction = await queryInterface.sequelize.transaction()
8
+ try {
9
+ await queryInterface.sequelize.query(
10
+ `
11
+ CREATE TYPE "enum_Attendances_status_new"
12
+ AS ENUM (${replaceTo})
13
+ `,
14
+ { transaction }
15
+ )
16
+ await queryInterface.sequelize.query(
17
+ `
18
+ ALTER TABLE "Attendances"
19
+ ALTER COLUMN "status"
20
+ DROP DEFAULT
21
+ `,
22
+ { transaction }
23
+ )
24
+ await queryInterface.sequelize.query(
25
+ `
26
+ ALTER TABLE "Attendances"
27
+ ALTER COLUMN "status"
28
+ TYPE "enum_Attendances_status_new"
29
+ USING ("status"::text::"enum_Attendances_status_new")
30
+ `,
31
+ { transaction }
32
+ )
33
+ await queryInterface.sequelize.query(
34
+ `
35
+ DROP TYPE "enum_Attendances_status"
36
+ `,
37
+ { transaction }
38
+ )
39
+ await queryInterface.sequelize.query(
40
+ `
41
+ ALTER TYPE "enum_Attendances_status_new"
42
+ RENAME TO "enum_Attendances_status"
43
+ `,
44
+ { transaction }
45
+ )
46
+ await queryInterface.sequelize.query(
47
+ `
48
+ ALTER TABLE "Attendances"
49
+ ALTER COLUMN "status"
50
+ SET DEFAULT 'waiting'::"enum_Attendances_status"
51
+ `,
52
+ { transaction }
53
+ )
54
+ await transaction.commit()
55
+ } catch (error) {
56
+ console.error(error)
57
+ transaction.rollback()
58
+ }
59
+ }
60
+
61
+ module.exports = {
62
+ up: async (queryInterface, Sequelize) => {
63
+ await queryInterface.addColumn('Attendances', 'TranshipTriggerId', {
64
+ type: Sequelize.UUID,
65
+ allowNull: true,
66
+ references: {
67
+ model: 'TranshipTriggers',
68
+ key: 'id',
69
+ },
70
+ onDelete: 'SET NULL',
71
+ onUpdate: 'CASCADE',
72
+ })
73
+ await replaceEnum(newEnumString, queryInterface)
74
+ return null
75
+ },
76
+
77
+ down: async (queryInterface, Sequelize) => {
78
+ await queryInterface.removeColumn('Attendances', 'TranshipTriggerId')
79
+ await replaceEnum(oldEnumString, queryInterface)
80
+ return null
81
+ },
82
+ }
@@ -0,0 +1,46 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.createTable('PostbackGupshup', {
6
+ id: {
7
+ allowNull: false,
8
+ defaultValue: Sequelize.literal('uuid_generate_v4()'),
9
+ primaryKey: true,
10
+ type: Sequelize.UUID,
11
+ },
12
+ app: {
13
+ type: Sequelize.STRING,
14
+ allowNull: false,
15
+ },
16
+ timestamp: {
17
+ type: Sequelize.STRING,
18
+ allowNull: false,
19
+ },
20
+ version: {
21
+ type: Sequelize.STRING,
22
+ allowNull: false,
23
+ },
24
+ type: {
25
+ type: Sequelize.STRING,
26
+ allowNull: false,
27
+ },
28
+ payload: {
29
+ type: Sequelize.JSONB,
30
+ allowNull: false,
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
+ await queryInterface.dropTable('PostbackGupshup')
45
+ },
46
+ }
@@ -0,0 +1,21 @@
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
+ }
@@ -0,0 +1,14 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ return queryInterface.addColumn('Channels', 'deletedAt', {
6
+ allowNull: true,
7
+ type: Sequelize.DATE,
8
+ })
9
+ },
10
+
11
+ down: async (queryInterface, Sequelize) => {
12
+ return queryInterface.removeColumn('Channels', 'deletedAt')
13
+ },
14
+ }
@@ -0,0 +1,14 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ return queryInterface.addColumn('MessagesHsms', 'templateId', {
6
+ allowNull: true,
7
+ type: Sequelize.STRING,
8
+ })
9
+ },
10
+
11
+ down: async (queryInterface, Sequelize) => {
12
+ return queryInterface.removeColumn('MessagesHsms', 'templateId')
13
+ },
14
+ }
@@ -0,0 +1,11 @@
1
+ 'use strict'
2
+
3
+ module.exports = {
4
+ up: async (queryInterface, Sequelize) => {
5
+ await queryInterface.renameTable('PostbackGupshup', 'PostbackGupshups')
6
+ },
7
+
8
+ down: async (queryInterface, Sequelize) => {
9
+ await queryInterface.renameTable('PostbackGupshups', 'PostbackGupshup')
10
+ },
11
+ }