@itleanchatbot/shared-models-js-postgres 2.0.0 → 2.1.1

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 (175) hide show
  1. package/README.md +28 -3
  2. package/package.json +6 -4
  3. package/src/migrations/20210503142857-create-intelligences.js +1 -1
  4. package/src/migrations/20210503154612-create-skills.js +1 -1
  5. package/src/migrations/20210503162618-create-entities-values.js +1 -1
  6. package/src/migrations/20210503162752-create-synonyms.js +1 -1
  7. package/src/migrations/20210503163437-create-responses-boxes.js +1 -1
  8. package/src/migrations/20210503190515-create-apis.js +1 -1
  9. package/src/migrations/20210503191041-create-apis-resources-body.js +1 -1
  10. package/src/migrations/20210503191107-create-apis-resources.js +1 -1
  11. package/src/migrations/20210503193511-create-dialog-nodes.js +1 -1
  12. package/src/migrations/20210504144332-create-messages-hsm.js +1 -1
  13. package/src/migrations/20210727110430-create-endSessionTriggers.js +1 -1
  14. package/src/migrations/20210906144034-alter-api-body-migration.js +2 -2
  15. package/src/migrations/20210927141630-alter-attendances.js +3 -3
  16. package/src/models/apiKeys.js +1 -1
  17. package/src/models/apiResourceBodies.js +1 -1
  18. package/src/models/apiResourceHeaders.js +1 -1
  19. package/src/models/apiResourcePathParams.js +1 -1
  20. package/src/models/apiResourceQueryStringParams.js +1 -1
  21. package/src/models/apiResources.js +1 -1
  22. package/src/models/apis.js +1 -1
  23. package/src/models/attendanceScale.js +1 -1
  24. package/src/models/attendanceScaleOff.js +1 -1
  25. package/src/models/attendances.js +1 -1
  26. package/src/models/botIterable.js +1 -5
  27. package/src/models/branches.js +1 -1
  28. package/src/models/channelConfigurations.js +1 -1
  29. package/src/models/channelTypes.js +15 -1
  30. package/src/models/channels.js +1 -1
  31. package/src/models/client.js +1 -1
  32. package/src/models/comments.js +1 -1
  33. package/src/models/contacts.js +41 -0
  34. package/src/models/customPostbacks.js +1 -1
  35. package/src/models/departments.js +1 -1
  36. package/src/models/dialogNodes.js +1 -1
  37. package/src/models/dialogNodes_MultipleResponses.js +1 -1
  38. package/src/models/dialogNodes_apiResources.js +1 -1
  39. package/src/models/endSessionTriggers.js +1 -1
  40. package/src/models/enterprises.js +1 -1
  41. package/src/models/entity.js +1 -1
  42. package/src/models/entityValues.js +1 -1
  43. package/src/models/faqQuestions.js +1 -1
  44. package/src/models/faqTriggers.js +1 -1
  45. package/src/models/fields.js +28 -0
  46. package/src/models/files.js +1 -1
  47. package/src/models/groups.js +45 -0
  48. package/src/models/groupsContracts.js +13 -0
  49. package/src/models/groupsSendHsms.js +13 -0
  50. package/src/models/ibmProvider.js +1 -1
  51. package/src/models/inactivityTriggers.js +1 -1
  52. package/src/models/index.js +1 -1
  53. package/src/models/intelligence.js +1 -1
  54. package/src/models/intention.js +1 -1
  55. package/src/models/intentionValue.js +1 -1
  56. package/src/models/itleanProvider.js +1 -1
  57. package/src/models/language.js +21 -0
  58. package/src/models/lineConfigurations.js +1 -1
  59. package/src/models/lines.js +1 -1
  60. package/src/models/messagesHsm.js +6 -2
  61. package/src/models/onlineEditions.js +27 -0
  62. package/src/models/openFaqs.js +1 -1
  63. package/src/models/permissions.js +1 -1
  64. package/src/models/postbackGupshup.js +1 -1
  65. package/src/models/profile.js +1 -1
  66. package/src/models/profiles_permission.js +1 -1
  67. package/src/models/quickMessages.js +1 -1
  68. package/src/models/responseChannels.js +39 -0
  69. package/src/models/response_DialogNodes.js +1 -1
  70. package/src/models/responses.js +1 -1
  71. package/src/models/responsesBoxes.js +1 -1
  72. package/src/models/returnHsm.js +1 -1
  73. package/src/models/sendHsm.js +51 -0
  74. package/src/models/sendHsmReturnHsm.js +13 -0
  75. package/src/models/sessions.js +1 -1
  76. package/src/models/skill.js +1 -1
  77. package/src/models/socketClients.js +1 -1
  78. package/src/models/stopwords.js +1 -1
  79. package/src/models/subDepartments.js +1 -1
  80. package/src/models/synonyms.js +1 -1
  81. package/src/models/systemUsers.js +1 -1
  82. package/src/models/systemUsers_Lines.js +1 -1
  83. package/src/models/systemUsers_profiles.js +1 -1
  84. package/src/models/templates.js +1 -1
  85. package/src/models/transhipConversations.js +1 -1
  86. package/src/models/transhipInactivityTriggers.js +1 -1
  87. package/src/models/transhipTriggers.js +1 -1
  88. package/src/presenters/database/migrationHelpers.js +62 -0
  89. package/src/presenters/encryptation.js +14 -0
  90. package/src/seeders/20210505130137-insert-channel-types.js +1 -1
  91. package/src/seeders/20210505132612-insert-intelligence.js +3 -3
  92. package/src/seeders/20210505134700-insert-profiles-permissions.js +3 -3
  93. package/src/seeders/20210505135931-insert-system-users.js +2 -2
  94. package/src/seeders/20210505140259-insert-itlean-provider.js +3 -3
  95. package/src/seeders/20210505140343-insert-templates.js +2 -3
  96. package/src/seeders/20210902160430-insert-apiKey.js +1 -1
  97. package/src/seeders/test/20200924195050-create-ibmprovider.js +38 -0
  98. package/src/seeders/test/20200924195050-create-itlean-provider.js +40 -0
  99. package/src/seeders/test/20200924195050-seed-enterprises.js +24 -0
  100. package/src/seeders/test/20200925184253-seed-skils-itlean-provider.js +37 -0
  101. package/src/seeders/test/20200925184253-seed-skils.js +41 -0
  102. package/src/seeders/test/20200925184254-seed-Intention.js +39 -0
  103. package/src/seeders/test/20200925184258-seed-Intention-values.js +41 -0
  104. package/src/seeders/test/20200925191642-seed-entity-skill-itlean.js +23 -0
  105. package/src/seeders/test/20200925191642-seed-entity.js +23 -0
  106. package/src/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +32 -0
  107. package/src/seeders/test/20200925191643-seed-entity-values.js +33 -0
  108. package/src/seeders/test/20200929132705-seed-dialog-node.js +128 -0
  109. package/src/seeders/test/20201016200600-seed-responses.js +563 -0
  110. package/src/seeders/test/20201104183653-seed-create-ype-skill.js +42 -0
  111. package/src/seeders/test/20201104183700-seed-create-ype-intention.js +26 -0
  112. package/src/seeders/test/20201104183706-seed-create-ype-intention-values.js +70 -0
  113. package/src/seeders/test/20201104183714-seed-create-ype-entity.js +38 -0
  114. package/src/seeders/test/20201104183723-seed-create-ype-entity-values.js +243 -0
  115. package/src/seeders/test/20201104183727-seed-create-ype-synonyms.js +253 -0
  116. package/src/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +124 -0
  117. package/src/seeders/test/20210224171409-create-apiResource.js +114 -0
  118. package/src/seeders/test/20210422144458-seed-context-test.js +175 -0
  119. package/src/seeders/test/20210422181114-seed-jump-node.js +123 -0
  120. package/src/seeders/test/20210422182413-seed-jump-skill.js +123 -0
  121. package/src/seeders/test/20210426100156-seed-api-test.js +138 -0
  122. package/src/seeders/test/20210426103704-seed-multiple-response-test.js +272 -0
  123. package/src/seeders/test/20210426190844-seed-entity-search-test.js +160 -0
  124. package/src/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +160 -0
  125. package/src/seeders/test/20210428105402-seed-test-condition-1.js +190 -0
  126. package/src/seeders/test/20210430181906-seed-test-input-text-zero.js +120 -0
  127. package/src/seeders/test/20210430183204-seed-ype-test-condition.js +557 -0
  128. package/src/seeders/test/20210503172321-seed-invalid-condition.js +119 -0
  129. package/src/seeders/test/20210505140225-insert-skills.js +41 -0
  130. package/src/seeders/test/20210505183810-seed-chain-with-context.js +147 -0
  131. package/src/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +188 -0
  132. package/src/seeders/test/20210507204437-seed-condition-igual-true.js +119 -0
  133. package/src/seeders/test/20210511181006-seed-using-internal-functions.js +274 -0
  134. package/src/seeders/test/20210512140152-seed-ype-real-bot.js +2578 -0
  135. package/src/seeders/test/20210519162746-seed-response-with-context.js +186 -0
  136. package/src/seeders/test/20210524141819-seed-dialog-node-faq.js +244 -0
  137. package/src/seeders/test/20210525180523-seed-regex.js +173 -0
  138. package/src/seeders/test/20210602111930-insert-dialogNodes.js +200 -0
  139. package/src/seeders/test/20210610152534-seed-test-internal-function-in-context.js +216 -0
  140. package/src/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +147 -0
  141. package/src/seeders/test/20210611101042-bot-example-internal-functions.js +985 -0
  142. package/src/seeders/test/20210613111900-bot-example-api.js +420 -0
  143. package/src/seeders/test/20210614113654-miltiple-response-with-research.js +387 -0
  144. package/src/seeders/test/20210616212102-api-authentication-and-list.js +422 -0
  145. package/src/seeders/test/20210624172310-seed-api-duble-request.js +424 -0
  146. package/src/seeders/test/20210628135630-test-branches.js +224 -0
  147. package/src/seeders/test/20210629141030-test-departments.js +225 -0
  148. package/src/seeders/test/20210630105430-test-subDepartments.js +223 -0
  149. package/src/seeders/test/20210630114011-test-contact.js +178 -0
  150. package/src/seeders/test/20210701130630-test-channels.js +381 -0
  151. package/src/seeders/test/20210702191230-seed-test-counter-in-context.js +122 -0
  152. package/src/seeders/test/20210705061313-test-fields.js +152 -0
  153. package/src/seeders/test/20210705080813-test-groups.js +122 -0
  154. package/src/seeders/test/20210705105918-seed-test-function-slice.js +161 -0
  155. package/src/seeders/test/20210706105508-seed-node-without-condition.js +254 -0
  156. package/src/seeders/test/20210706112906-seed-1.0-on-response.js +172 -0
  157. package/src/seeders/test/20210706145547-seed-clean-context.js +132 -0
  158. package/src/seeders/test/20210707151538-seed-test-response-break-line.js +161 -0
  159. package/src/seeders/test/20210713155530-seed-test-itl0079-875.js +129 -0
  160. package/src/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +764 -0
  161. package/src/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +250 -0
  162. package/src/seeders/test/20210719154025-seed-2-contexts-together.js +133 -0
  163. package/src/seeders/test/20210802144227-seed-end-session-trigger.js +163 -0
  164. package/src/seeders/test/20210803103030-tests-dialogNodes.js +406 -0
  165. package/src/seeders/test/20210804094630-tests-lines.js +487 -0
  166. package/src/seeders/test/20210805104130-tests-lineConfigurations.js +106 -0
  167. package/src/seeders/test/20210805133330-tests-systemUsers.js +507 -0
  168. package/src/seeders/test/20210813124630-tests-getMessagesBySession.js +333 -0
  169. package/src/seeders/test/20210816151830-testes-inactivityTriggers.js +196 -0
  170. package/src/seeders/test/20210830134230-tests-sessionReports.js +254 -0
  171. package/src/seeders/test/20210830165830-tests-attendancesHistory.js +181 -0
  172. package/src/seeders/test/20210927115821-skill-test-open-faq.js +37 -0
  173. package/src/seeders/test/20211004131813-true-and-context-with-parent.js +190 -0
  174. package/src/seeders/test/20211006210203-context-concat-with-text.js +193 -0
  175. package/src/migrations/20210613125036-unnamed-migration.js +0 -21
@@ -1,4 +1,4 @@
1
- exports.ItleanProviderModel = (sequelize, types) => {
1
+ exports.model = (sequelize, types) => {
2
2
  const ItleanProvider = sequelize.define('ItleanProvider', {
3
3
  active: {
4
4
  type: types.BOOLEAN,
@@ -0,0 +1,21 @@
1
+ exports.model = (sequelize, types) => {
2
+ const Languages = sequelize.define('Language', {
3
+ label: {
4
+ type: types.STRING,
5
+ allowNull: false,
6
+ validate: {
7
+ notEmpty: true,
8
+ },
9
+ },
10
+
11
+ value: {
12
+ type: types.STRING,
13
+ allowNull: false,
14
+ validate: {
15
+ notEmpty: true,
16
+ },
17
+ },
18
+ })
19
+ return Languages
20
+ }
21
+
@@ -1,4 +1,4 @@
1
- exports.LineConfigurationsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const LineConfigurations = sequelize.define('LineConfigurations', {
3
3
  LineId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.LinesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Lines = sequelize.define('Lines', {
3
3
  BranchId: {
4
4
  type: DataTypes.UUID,
@@ -5,7 +5,7 @@ const STATUS_MESSAGES = {
5
5
  4: 'Recusado',
6
6
  }
7
7
 
8
- exports.MessagesHsmsModel = (sequelize, DataTypes) => {
8
+ const MessagesHsms = (sequelize, DataTypes) => {
9
9
  const MessagesHsms = sequelize.define('MessagesHsms', {
10
10
  EnterpriseId: {
11
11
  type: DataTypes.UUID,
@@ -68,4 +68,8 @@ const STATUS_MESSAGES = {
68
68
 
69
69
  return MessagesHsms
70
70
  }
71
-
71
+
72
+ module.exports = {
73
+ model: MessagesHsms,
74
+ STATUS_MESSAGES
75
+ }
@@ -0,0 +1,27 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const OnlineEditions = sequelize.define('OnlineEditions', {
3
+ SystemUserId: {
4
+ type: DataTypes.UUID,
5
+ allowNull: false,
6
+ },
7
+ socketId: {
8
+ type: DataTypes.STRING,
9
+ allowNull: false,
10
+ },
11
+ payload: {
12
+ type: DataTypes.JSON,
13
+ allowNull: false,
14
+ },
15
+ moduleName: {
16
+ type: DataTypes.STRING(50),
17
+ allowNull: false,
18
+ },
19
+ })
20
+
21
+ OnlineEditions.associate = (models) => {
22
+ OnlineEditions.belongsTo(models.SystemUsers)
23
+ }
24
+
25
+ return OnlineEditions
26
+ }
27
+
@@ -1,4 +1,4 @@
1
- exports.OpenFAQsModel = (sequelize, Sequelize) => {
1
+ exports.model = (sequelize, Sequelize) => {
2
2
  const OpenFAQs = sequelize.define('OpenFAQs', {
3
3
  name: {
4
4
  allowNull: false,
@@ -1,4 +1,4 @@
1
- exports.PermissionsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Permissions = sequelize.define('Permissions', {
3
3
  permissionCode: {
4
4
  type: DataTypes.STRING(50),
@@ -1,4 +1,4 @@
1
- exports.PostbackGupshupModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const PostbackGupshupModel = sequelize.define('PostbackGupshups', {
3
3
  app: {
4
4
  allowNull: true,
@@ -1,4 +1,4 @@
1
- exports.ProfilesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Profiles = sequelize.define('Profiles', {
3
3
  name: {
4
4
  allowNull: false,
@@ -1,4 +1,4 @@
1
- exports.Profiles_PermissionsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Profiles_Permissions = sequelize.define('Profiles_Permissions', {
3
3
  ProfileId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.QuickMessagesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const QuickMessages = sequelize.define('QuickMessages', {
3
3
  LineId: {
4
4
  type: DataTypes.UUID,
@@ -0,0 +1,39 @@
1
+ const ResponseChannelsModel = (sequelize, types) => {
2
+ const ResponseChannels = sequelize.define('ResponseChannels', {
3
+ name: {
4
+ allowNull: false,
5
+ type: types.STRING,
6
+ },
7
+ payload: {
8
+ allowNull: false,
9
+ type: types.JSON,
10
+ },
11
+ active: {
12
+ allowNull: false,
13
+ type: types.BOOLEAN,
14
+ defaultValue: true,
15
+ },
16
+ version: {
17
+ allowNull: false,
18
+ type: types.STRING,
19
+ defaultValue: '1.0',
20
+ },
21
+ ChannelTypeId: {
22
+ type: types.UUID,
23
+ allowNull: true,
24
+ references: {
25
+ model: 'ChannelTypes',
26
+ key: 'id',
27
+ },
28
+ onDelete: 'RESTRICT',
29
+ onUpdate: 'CASCADE',
30
+ },
31
+ })
32
+
33
+ return ResponseChannels
34
+ }
35
+
36
+
37
+ module.exports = {
38
+ model: ResponseChannelsModel,
39
+ }
@@ -1,4 +1,4 @@
1
- exports.Response_DialogNodesModel = (sequelize, Sequelize) => {
1
+ exports.model = (sequelize, Sequelize) => {
2
2
  const Response_DialogNodes = sequelize.define('Response_DialogNodes', {
3
3
  DialogNodeId: {
4
4
  type: Sequelize.UUID,
@@ -51,5 +51,5 @@
51
51
  module.exports = {
52
52
  RESPONSE_BOXES_TYPE,
53
53
  RESPONSE_BOXES_TYPES,
54
- ResponsesModel
54
+ model: ResponsesModel
55
55
  }
@@ -62,5 +62,5 @@ const ResponsesBoxesModel = (sequelize, types) => {
62
62
  module.exports = {
63
63
  RESPONSE_BOXES_TYPE,
64
64
  RESPONSE_BOXES_TYPES,
65
- ResponsesBoxesModel
65
+ model: ResponsesBoxesModel
66
66
  }
@@ -1,4 +1,4 @@
1
- exports.ReturnHsmModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const ReturnHsmsModel = sequelize.define('ReturnHsms', {
3
3
  body: {
4
4
  allowNull: true,
@@ -0,0 +1,51 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const SendHsms = sequelize.define('SendHsms', {
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
+ messageId: {
14
+ allowNull: true,
15
+ type: DataTypes.STRING,
16
+ },
17
+ sentDate: {
18
+ allowNull: true,
19
+ type: DataTypes.STRING,
20
+ },
21
+ title: {
22
+ allowNull: true,
23
+ type: DataTypes.STRING,
24
+ },
25
+ statusSent: {
26
+ allowNull: true,
27
+ type: DataTypes.BOOLEAN,
28
+ defaultValue: false,
29
+ },
30
+ sendNow: {
31
+ allowNull: true,
32
+ type: DataTypes.BOOLEAN,
33
+ defaultValue: false,
34
+ },
35
+ schedulingDate: {
36
+ allowNull: true,
37
+ type: DataTypes.DATE,
38
+ },
39
+ })
40
+
41
+ SendHsms.associate = (models) => {
42
+ SendHsms.belongsTo(models.Enterprises)
43
+ SendHsms.belongsToMany(models.Groups, {
44
+ through: 'GroupsSendHsms',
45
+ as: 'Groups',
46
+ })
47
+ }
48
+
49
+ return SendHsms
50
+ }
51
+
@@ -0,0 +1,13 @@
1
+ exports.model = (sequelize, DataTypes) => {
2
+ const SendHsmReturHsm = sequelize.define('SendHsmReturHsms', {
3
+ SendHsmId: {
4
+ type: DataTypes.STRING,
5
+ },
6
+ messageId: {
7
+ type: DataTypes.STRING,
8
+ },
9
+ })
10
+
11
+ return SendHsmReturHsm
12
+ }
13
+
@@ -1,4 +1,4 @@
1
- exports.SessionsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Sessions = sequelize.define('Sessions', {
3
3
  ChannelId: {
4
4
  type: DataTypes.UUID,
@@ -105,7 +105,7 @@ const SkillModel = (sequelize, types) => {
105
105
  }
106
106
 
107
107
  module.exports = {
108
- SkillModel,
108
+ model: SkillModel,
109
109
  SKILL_LANG,
110
110
  STATUS,
111
111
  STATUS_TYPES,
@@ -1,4 +1,4 @@
1
- exports.SocketClientsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const SocketClients = sequelize.define('SocketClients', {
3
3
  SessionId: {
4
4
  type: DataTypes.UUID,
@@ -36,6 +36,6 @@
36
36
  }
37
37
 
38
38
  module.exports = {
39
- StopwordsModel
39
+ model: StopwordsModel
40
40
  }
41
41
 
@@ -1,4 +1,4 @@
1
- exports.SubDepartmentsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const SubDepartments = sequelize.define('SubDepartments', {
3
3
  EnterpriseId: {
4
4
  type: DataTypes.UUID,
@@ -61,7 +61,7 @@ const SynonymsModel = (sequelize, types) => {
61
61
  }
62
62
 
63
63
  module.exports = {
64
- SynonymsModel,
64
+ model: SynonymsModel,
65
65
  SYNONYMS_TYPE,
66
66
  SYNONYMS_TYPES,
67
67
  }
@@ -1,4 +1,4 @@
1
- exports.SystemUsersModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const SystemUsers = sequelize.define('SystemUsers', {
3
3
  name: {
4
4
  allowNull: false,
@@ -1,4 +1,4 @@
1
- exports.SystemUsers_LinesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const SystemUsers_Lines = sequelize.define('SystemUsers_Lines', {
3
3
  SystemUserId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.SystemUsers_ProfilesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const SystemUsers_Profiles = sequelize.define('SystemUsers_Profiles', {
3
3
  SystemUserId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.TemplatesModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const Templates = sequelize.define('Templates', {
3
3
  EnterpriseId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.TranshipConversationsModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const TranshipConversations = sequelize.define('TranshipConversations', {
3
3
  AttendanceId: {
4
4
  type: DataTypes.UUID,
@@ -1,4 +1,4 @@
1
- exports.TranshipInactivityTriggersModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const TranshipInactivityTriggers = sequelize.define(
3
3
  'TranshipInactivityTriggers',
4
4
  {
@@ -1,4 +1,4 @@
1
- exports.TranshipTriggersModel = (sequelize, DataTypes) => {
1
+ exports.model = (sequelize, DataTypes) => {
2
2
  const TranshipTriggers = sequelize.define('TranshipTriggers', {
3
3
  DialogNodeId: {
4
4
  type: DataTypes.UUID,
@@ -0,0 +1,62 @@
1
+ exports.replaceEnum = async (
2
+ queryInterface,
3
+ tableName,
4
+ fieldName,
5
+ ...enums
6
+ ) => {
7
+ const transaction = await queryInterface.sequelize.transaction()
8
+ const enumsStr = enums.map((e) => `'${e}'`).join(',')
9
+ const oldEnum = `enum_${tableName}_${fieldName}`
10
+ const newEnum = `${oldEnum}_new`
11
+ try {
12
+ await queryInterface.sequelize.query(
13
+ `
14
+ CREATE TYPE "${newEnum}"
15
+ AS ENUM (${enumsStr})
16
+ `,
17
+ { transaction }
18
+ )
19
+ await queryInterface.sequelize.query(
20
+ `
21
+ ALTER TABLE "${tableName}"
22
+ ALTER COLUMN "${fieldName}"
23
+ DROP DEFAULT
24
+ `,
25
+ { transaction }
26
+ )
27
+ await queryInterface.sequelize.query(
28
+ `
29
+ ALTER TABLE "${tableName}"
30
+ ALTER COLUMN "${fieldName}"
31
+ TYPE "${newEnum}"
32
+ USING ("${fieldName}"::text::"${newEnum}")
33
+ `,
34
+ { transaction }
35
+ )
36
+ await queryInterface.sequelize.query(
37
+ `
38
+ DROP TYPE "${oldEnum}"
39
+ `,
40
+ { transaction }
41
+ )
42
+ await queryInterface.sequelize.query(
43
+ `
44
+ ALTER TYPE "${newEnum}"
45
+ RENAME TO "${oldEnum}"
46
+ `,
47
+ { transaction }
48
+ )
49
+ await queryInterface.sequelize.query(
50
+ `
51
+ ALTER TABLE "${tableName}"
52
+ ALTER COLUMN "${fieldName}"
53
+ SET DEFAULT '${enums[0]}'::"${oldEnum}"
54
+ `,
55
+ { transaction }
56
+ )
57
+ await transaction.commit()
58
+ } catch (error) {
59
+ console.error(error)
60
+ transaction.rollback()
61
+ }
62
+ }
@@ -0,0 +1,14 @@
1
+ const CryptoJS = require('crypto-js')
2
+ const key = process.env.CRYPTO_KEY || ' '
3
+
4
+ exports.encrypt = (content) => {
5
+ const encryptedContent = CryptoJS.AES.encrypt(content, key)
6
+
7
+ return encryptedContent.toString()
8
+ }
9
+
10
+ exports.decrypt = (encryptedContent) => {
11
+ const bytes = CryptoJS.AES.decrypt(encryptedContent, key)
12
+
13
+ return bytes.toString(CryptoJS.enc.Utf8)
14
+ }
@@ -1,4 +1,4 @@
1
- const { CHANNEL_TYPES } = require('../../presenters/constants')
1
+ const { CHANNEL_TYPES } = require('./../models/channelTypes')
2
2
 
3
3
  module.exports = {
4
4
  up: async (queryInterface) => {
@@ -1,9 +1,9 @@
1
1
  'use strict'
2
2
 
3
- const { PROVIDER_TYPES } = require('../../presenters/constants')
3
+ const { PROVIDER_TYPES } = require('./../models/intelligence')
4
4
 
5
5
  module.exports = {
6
- up: (queryInterface, Sequelize) => {
6
+ up: (queryInterface) => {
7
7
  const ibm = {
8
8
  name: 'Watson Assistant',
9
9
  providerType: PROVIDER_TYPES.IBM,
@@ -21,7 +21,7 @@ module.exports = {
21
21
 
22
22
  return queryInterface.bulkInsert('Intelligences', [ibm, itlean])
23
23
  },
24
- down: (queryInterface, Sequelize) => {
24
+ down: (queryInterface) => {
25
25
  return queryInterface.bulkDelete('Intelligences', null, {})
26
26
  },
27
27
  }
@@ -1,4 +1,4 @@
1
- const models = require('../models')
1
+ const models = require('./../models')
2
2
  const profiles = [
3
3
  {
4
4
  name: 'Master',
@@ -44,7 +44,7 @@ const profiles = [
44
44
  ]
45
45
 
46
46
  module.exports = {
47
- up: async (queryInterface, Sequelize) => {
47
+ up: async (queryInterface) => {
48
48
  let prof_per = []
49
49
 
50
50
  for (const prof of profiles) {
@@ -64,7 +64,7 @@ module.exports = {
64
64
  per.map((p) => {
65
65
  return {
66
66
  ProfileId: profId,
67
- PermissionId: p.dataValues.id,
67
+ PermissionId: p.id,
68
68
  createdAt: new Date(),
69
69
  updatedAt: new Date(),
70
70
  }
@@ -1,6 +1,6 @@
1
- const { encrypt } = require('../../presenters/encryptation')
1
+ const { encrypt } = require('./../presenters/encryptation')
2
2
  const { v4: generateId } = require('uuid')
3
- const { PROVIDER_TYPES } = require('../../presenters/constants')
3
+ const { PROVIDER_TYPES } = require('./../models/intelligence')
4
4
 
5
5
  module.exports = {
6
6
  up: async (queryInterface) => {
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
- const { PROVIDER_TYPES } = require('../../presenters/constants')
2
+ const { PROVIDER_TYPES } = require('./../models/intelligence')
3
3
 
4
4
  module.exports = {
5
- up: async (queryInterface, Sequelize) => {
5
+ up: async (queryInterface) => {
6
6
  const EnterpriseId = await queryInterface.rawSelect(
7
7
  'Enterprises',
8
8
  { where: { cnpj: process.env.ENTERPRISE_CNPJ } },
@@ -28,7 +28,7 @@ module.exports = {
28
28
  )
29
29
  },
30
30
 
31
- down: async (queryInterface, Sequelize) => {
31
+ down: async (queryInterface) => {
32
32
  await queryInterface.bulkDelete('ItleanProviders', null, {})
33
33
  },
34
34
  }
@@ -1,6 +1,5 @@
1
- require('dotenv').config()
2
1
  module.exports = {
3
- up: async (queryInterface, Sequelize) => {
2
+ up: async (queryInterface) => {
4
3
  const EnterpriseId = await queryInterface.rawSelect(
5
4
  'Enterprises',
6
5
  { where: {} },
@@ -223,7 +222,7 @@ module.exports = {
223
222
  },
224
223
  ])
225
224
  },
226
- down: async (queryInterface, Sequelize) => {
225
+ down: async (queryInterface) => {
227
226
  return queryInterface.bulkDelete('Templates', null, {})
228
227
  },
229
228
  }
@@ -1,5 +1,5 @@
1
1
  const uuidAPIKey = require('uuid-apikey')
2
- const { encrypt } = require('../../presenters/encryptation')
2
+ const { encrypt } = require('./../presenters/encryptation')
3
3
 
4
4
  module.exports = {
5
5
  up: async (queryInterface, Sequelize) => {
@@ -0,0 +1,38 @@
1
+ 'use strict'
2
+
3
+ const providerId = 'f5cc3829-e441-452f-9bea-70581bde9eff'
4
+
5
+ module.exports = {
6
+ up: async (queryInterface, Sequelize) => {
7
+ const ibmIntelligenceId = await queryInterface.rawSelect(
8
+ 'Intelligences',
9
+ {
10
+ where: {
11
+ providerType: 'ibm',
12
+ },
13
+ },
14
+ ['id']
15
+ )
16
+
17
+ if (ibmIntelligenceId) {
18
+ await queryInterface.bulkInsert('IbmProviders', [
19
+ {
20
+ id: providerId,
21
+ IntelligenceId: ibmIntelligenceId,
22
+ url: 'https://api.us-east.assistant.watson.cloud.ibm.com/instances/ba1e38a7-e378-4966-9b9a-8915956c8424',
23
+ token: 'qnAHwH_wZ0Mw7Fs1TMbWLKTEggSM21h0xeN6kmLANxcF',
24
+ active: true,
25
+ EnterpriseId: null,
26
+ apiVersion: 'v1',
27
+ version: '2018-09-20',
28
+ createdAt: Sequelize.literal('now()'),
29
+ updatedAt: Sequelize.literal('now()'),
30
+ },
31
+ ])
32
+ }
33
+ },
34
+
35
+ down: async (queryInterface) => {
36
+ await queryInterface.bulkDelete('IbmProviders', [{ id: providerId }])
37
+ },
38
+ }
@@ -0,0 +1,40 @@
1
+ 'use strict'
2
+
3
+ const providerId = 'fe588d1c-cd6d-4b5a-b385-f3ef19348f04'
4
+
5
+ module.exports = {
6
+ up: async (queryInterface, Sequelize) => {
7
+ const IntelligenceId = await queryInterface.rawSelect(
8
+ 'Intelligences',
9
+ {
10
+ where: {
11
+ providerType: 'itlean',
12
+ },
13
+ },
14
+ ['id']
15
+ )
16
+
17
+ const EnterpriseId = await queryInterface.rawSelect(
18
+ 'Enterprises',
19
+ { where: { cnpj: process.env.ENTERPRISE_CNPJ } },
20
+ ['id']
21
+ )
22
+
23
+ if (IntelligenceId) {
24
+ await queryInterface.bulkInsert('ItleanProviders', [
25
+ {
26
+ id: providerId,
27
+ IntelligenceId,
28
+ active: true,
29
+ EnterpriseId,
30
+ createdAt: Sequelize.literal('now()'),
31
+ updatedAt: Sequelize.literal('now()'),
32
+ },
33
+ ])
34
+ }
35
+ },
36
+
37
+ down: async (queryInterface) => {
38
+ await queryInterface.bulkDelete('IbmProviders', [{ id: providerId }])
39
+ },
40
+ }
@@ -0,0 +1,24 @@
1
+ 'use strict'
2
+
3
+ const cnpj = '89009897000128'
4
+
5
+ module.exports = {
6
+ up: async (queryInterface, Sequelize) => {
7
+ await queryInterface.bulkInsert(
8
+ 'Enterprises',
9
+ [
10
+ {
11
+ name: 'Itlean Nlp Enterprises Seeder',
12
+ cnpj,
13
+ createdAt: Sequelize.literal('now()'),
14
+ updatedAt: Sequelize.literal('now()'),
15
+ },
16
+ ],
17
+ {}
18
+ )
19
+ },
20
+
21
+ down: async (queryInterface) => {
22
+ await queryInterface.bulkDelete('Enterprises', [{ cnpj }])
23
+ },
24
+ }