@itleanchatbot/shared-models-js-postgres 2.8.32 → 3.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 (590) hide show
  1. package/package.json +6 -2
  2. package/src/legacy/migrations/20220823112830-alter-skill.js +25 -0
  3. package/src/legacy/models/apiKeys.js +25 -0
  4. package/src/legacy/models/apiPreRequest.js +56 -0
  5. package/src/legacy/models/apiResourceBodies.js +44 -0
  6. package/src/legacy/models/apiResourceHeaders.js +30 -0
  7. package/src/legacy/models/apiResourcePathParams.js +29 -0
  8. package/src/legacy/models/apiResourceQueryStringParams.js +37 -0
  9. package/src/legacy/models/apiResources.js +78 -0
  10. package/src/legacy/models/apis.js +67 -0
  11. package/src/legacy/models/attendanceScale.js +40 -0
  12. package/src/legacy/models/attendanceScaleOff.js +56 -0
  13. package/src/legacy/models/attendances.js +93 -0
  14. package/src/legacy/models/blacklistContacts.js +24 -0
  15. package/src/legacy/models/botIterable.js +137 -0
  16. package/src/legacy/models/branches.js +35 -0
  17. package/src/legacy/models/channelConfigurations.js +41 -0
  18. package/src/legacy/models/channelTypes.js +68 -0
  19. package/src/legacy/models/channels.js +77 -0
  20. package/src/legacy/models/client.js +25 -0
  21. package/src/legacy/models/comments.js +27 -0
  22. package/src/legacy/models/contacts.js +41 -0
  23. package/src/legacy/models/conversationSessions.js +56 -0
  24. package/src/legacy/models/customPostbacks.js +29 -0
  25. package/src/legacy/models/departments.js +35 -0
  26. package/src/legacy/models/dialogNodes.js +162 -0
  27. package/src/legacy/models/dialogNodesPreReports.js +35 -0
  28. package/src/legacy/models/dialogNodes_MultipleResponses.js +40 -0
  29. package/src/legacy/models/dialogNodes_apiResources.js +51 -0
  30. package/src/legacy/models/endSessionTriggers.js +29 -0
  31. package/src/legacy/models/enterprises.js +29 -0
  32. package/src/legacy/models/entity.js +38 -0
  33. package/src/legacy/models/entityValues.js +63 -0
  34. package/src/legacy/models/faqQuestions.js +31 -0
  35. package/src/legacy/models/faqTriggers.js +51 -0
  36. package/src/legacy/models/fields.js +28 -0
  37. package/src/legacy/models/files.js +35 -0
  38. package/src/legacy/models/groups.js +45 -0
  39. package/src/legacy/models/groupsContracts.js +13 -0
  40. package/src/legacy/models/groupsSendHsms.js +13 -0
  41. package/src/legacy/models/ibmProvider.js +57 -0
  42. package/src/legacy/models/inactivityTriggers.js +37 -0
  43. package/src/legacy/models/intelligence.js +45 -0
  44. package/src/legacy/models/intention.js +36 -0
  45. package/src/legacy/models/intentionValue.js +31 -0
  46. package/src/legacy/models/itleanProvider.js +35 -0
  47. package/src/legacy/models/lineConfigurations.js +63 -0
  48. package/src/legacy/models/lines.js +49 -0
  49. package/src/legacy/models/messagesHsm.js +75 -0
  50. package/src/legacy/models/onlineEditions.js +27 -0
  51. package/src/legacy/models/openFaqs.js +33 -0
  52. package/src/legacy/models/permissions.js +28 -0
  53. package/src/legacy/models/postbackGupshup.js +27 -0
  54. package/src/legacy/models/profile.js +23 -0
  55. package/src/legacy/models/profiles_permission.js +25 -0
  56. package/src/legacy/models/publications.js +30 -0
  57. package/src/legacy/models/quickMessages.js +35 -0
  58. package/src/legacy/models/response_DialogNodes.js +37 -0
  59. package/src/legacy/models/responses.js +55 -0
  60. package/src/legacy/models/responsesBoxes.js +66 -0
  61. package/src/legacy/models/returnHsm.js +31 -0
  62. package/src/legacy/models/sendHsm.js +51 -0
  63. package/src/legacy/models/sendHsmReturnHsm.js +16 -0
  64. package/src/legacy/models/sessions.js +79 -0
  65. package/src/legacy/models/sessionsPreReports.js +43 -0
  66. package/src/legacy/models/skill.js +112 -0
  67. package/src/legacy/models/socketClients.js +56 -0
  68. package/src/legacy/models/stopwords.js +41 -0
  69. package/src/legacy/models/subDepartments.js +35 -0
  70. package/src/legacy/models/synonyms.js +67 -0
  71. package/src/legacy/models/systemUsers.js +64 -0
  72. package/src/legacy/models/systemUsers_Lines.js +25 -0
  73. package/src/legacy/models/systemUsers_profiles.js +25 -0
  74. package/src/legacy/models/templates.js +50 -0
  75. package/src/legacy/models/transhipConversations.js +50 -0
  76. package/src/legacy/models/transhipInactivityTriggers.js +31 -0
  77. package/src/legacy/models/transhipTriggers.js +103 -0
  78. package/src/legacy/models/whitelistContacts.js +24 -0
  79. package/src/legacy/seeders/test/20200924195050-create-ibmprovider.js +38 -0
  80. package/src/legacy/seeders/test/20200924195050-create-itlean-provider.js +40 -0
  81. package/src/legacy/seeders/test/20200924195050-seed-enterprises.js +24 -0
  82. package/src/legacy/seeders/test/20200925184253-seed-skils-itlean-provider.js +37 -0
  83. package/src/legacy/seeders/test/20200925184253-seed-skils.js +41 -0
  84. package/src/legacy/seeders/test/20200925184254-seed-Intention.js +39 -0
  85. package/src/legacy/seeders/test/20200925184258-seed-Intention-values.js +41 -0
  86. package/src/legacy/seeders/test/20200925191642-seed-entity-skill-itlean.js +23 -0
  87. package/src/legacy/seeders/test/20200925191642-seed-entity.js +23 -0
  88. package/src/legacy/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +32 -0
  89. package/src/legacy/seeders/test/20200925191643-seed-entity-values.js +33 -0
  90. package/src/legacy/seeders/test/20200929132705-seed-dialog-node.js +128 -0
  91. package/src/legacy/seeders/test/20201016200600-seed-responses.js +563 -0
  92. package/src/legacy/seeders/test/20201104183653-seed-create-ype-skill.js +42 -0
  93. package/src/legacy/seeders/test/20201104183700-seed-create-ype-intention.js +26 -0
  94. package/src/legacy/seeders/test/20201104183706-seed-create-ype-intention-values.js +70 -0
  95. package/src/legacy/seeders/test/20201104183714-seed-create-ype-entity.js +38 -0
  96. package/src/legacy/seeders/test/20201104183723-seed-create-ype-entity-values.js +243 -0
  97. package/src/legacy/seeders/test/20201104183727-seed-create-ype-synonyms.js +253 -0
  98. package/src/legacy/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +124 -0
  99. package/src/legacy/seeders/test/20210224163857-create-ibmprovider-framework.js +37 -0
  100. package/src/legacy/seeders/test/20210224165819-create-skill-framework.js +41 -0
  101. package/src/legacy/seeders/test/20210224165821-seed-channel-framework.js +62 -0
  102. package/src/legacy/seeders/test/20210224171409-create-apiResource-framework.js +107 -0
  103. package/src/legacy/seeders/test/20210224171409-create-apiResource.js +114 -0
  104. package/src/legacy/seeders/test/20210226115055-create-entity-framework.js +21 -0
  105. package/src/legacy/seeders/test/20210226115540-create-entity-value-framework.js +21 -0
  106. package/src/legacy/seeders/test/20210226115720-create-intention-framework.js +22 -0
  107. package/src/legacy/seeders/test/20210226115935-create-intention-values-framework.js +21 -0
  108. package/src/legacy/seeders/test/20210226121222-create-synonyms-framework.js +24 -0
  109. package/src/legacy/seeders/test/20210301174809-create-dialog-node-framework.js +43 -0
  110. package/src/legacy/seeders/test/20210422144458-seed-context-test.js +175 -0
  111. package/src/legacy/seeders/test/20210422181114-seed-jump-node.js +123 -0
  112. package/src/legacy/seeders/test/20210422182413-seed-jump-skill.js +123 -0
  113. package/src/legacy/seeders/test/20210426100156-seed-api-test.js +138 -0
  114. package/src/legacy/seeders/test/20210426103704-seed-multiple-response-test.js +275 -0
  115. package/src/legacy/seeders/test/20210426190844-seed-entity-search-test.js +160 -0
  116. package/src/legacy/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +160 -0
  117. package/src/legacy/seeders/test/20210428105402-seed-test-condition-1.js +190 -0
  118. package/src/legacy/seeders/test/20210430181906-seed-test-input-text-zero.js +120 -0
  119. package/src/legacy/seeders/test/20210430183204-seed-ype-test-condition.js +557 -0
  120. package/src/legacy/seeders/test/20210503172321-seed-invalid-condition.js +119 -0
  121. package/src/legacy/seeders/test/20210505140225-insert-skills.js +41 -0
  122. package/src/legacy/seeders/test/20210505183810-seed-chain-with-context.js +147 -0
  123. package/src/legacy/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +188 -0
  124. package/src/legacy/seeders/test/20210507204437-seed-condition-igual-true.js +119 -0
  125. package/src/legacy/seeders/test/20210511181006-seed-using-internal-functions.js +274 -0
  126. package/src/legacy/seeders/test/20210512140152-seed-ype-real-bot.js +2578 -0
  127. package/src/legacy/seeders/test/20210519162746-seed-response-with-context.js +186 -0
  128. package/src/legacy/seeders/test/20210524141819-seed-dialog-node-faq.js +244 -0
  129. package/src/legacy/seeders/test/20210525180523-seed-regex.js +173 -0
  130. package/src/legacy/seeders/test/20210602111930-insert-dialogNodes.js +200 -0
  131. package/src/legacy/seeders/test/20210607124530-create-tranship-framework.js +428 -0
  132. package/src/legacy/seeders/test/20210608103730-create-transhipConversation-framework.js +368 -0
  133. package/src/legacy/seeders/test/20210608140230-test-transfer-framework.js +415 -0
  134. package/src/legacy/seeders/test/20210610152534-seed-test-internal-function-in-context.js +216 -0
  135. package/src/legacy/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +147 -0
  136. package/src/legacy/seeders/test/20210611101042-bot-example-internal-functions.js +985 -0
  137. package/src/legacy/seeders/test/20210613111900-bot-example-api.js +420 -0
  138. package/src/legacy/seeders/test/20210614113654-miltiple-response-with-research.js +387 -0
  139. package/src/legacy/seeders/test/20210616212102-api-authentication-and-list.js +422 -0
  140. package/src/legacy/seeders/test/20210624172310-seed-api-duble-request.js +424 -0
  141. package/src/legacy/seeders/test/20210628135630-test-branches.js +224 -0
  142. package/src/legacy/seeders/test/20210629141030-test-departments.js +225 -0
  143. package/src/legacy/seeders/test/20210630105430-test-subDepartments.js +223 -0
  144. package/src/legacy/seeders/test/20210630114011-test-contact.js +178 -0
  145. package/src/legacy/seeders/test/20210701130630-test-channels.js +381 -0
  146. package/src/legacy/seeders/test/20210702191230-seed-test-counter-in-context.js +122 -0
  147. package/src/legacy/seeders/test/20210705061313-test-fields.js +152 -0
  148. package/src/legacy/seeders/test/20210705080813-test-groups.js +122 -0
  149. package/src/legacy/seeders/test/20210705105918-seed-test-function-slice.js +161 -0
  150. package/src/legacy/seeders/test/20210706105508-seed-node-without-condition.js +254 -0
  151. package/src/legacy/seeders/test/20210706112906-seed-1.0-on-response.js +172 -0
  152. package/src/legacy/seeders/test/20210706145547-seed-clean-context.js +132 -0
  153. package/src/legacy/seeders/test/20210707151538-seed-test-response-break-line.js +161 -0
  154. package/src/legacy/seeders/test/20210713155530-seed-test-itl0079-875.js +129 -0
  155. package/src/legacy/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +789 -0
  156. package/src/legacy/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +250 -0
  157. package/src/legacy/seeders/test/20210719154025-seed-2-contexts-together.js +133 -0
  158. package/src/legacy/seeders/test/20210802144227-seed-end-session-trigger.js +163 -0
  159. package/src/legacy/seeders/test/20210803103030-tests-dialogNodes.js +406 -0
  160. package/src/legacy/seeders/test/20210804094630-tests-lines.js +487 -0
  161. package/src/legacy/seeders/test/20210805104130-tests-lineConfigurations.js +106 -0
  162. package/src/legacy/seeders/test/20210805133330-tests-systemUsers.js +507 -0
  163. package/src/legacy/seeders/test/20210813124630-tests-getMessagesBySession.js +333 -0
  164. package/src/legacy/seeders/test/20210813143730-tests-botIterables-framework.js +400 -0
  165. package/src/legacy/seeders/test/20210816151830-testes-inactivityTriggers.js +196 -0
  166. package/src/legacy/seeders/test/20210830134230-tests-sessionReports.js +254 -0
  167. package/src/legacy/seeders/test/20210830165830-tests-attendancesHistory.js +181 -0
  168. package/src/legacy/seeders/test/20210927115821-skill-test-open-faq.js +37 -0
  169. package/src/legacy/seeders/test/20211004131813-true-and-context-with-parent.js +190 -0
  170. package/src/legacy/seeders/test/20211006210203-context-concat-with-text.js +193 -0
  171. package/src/legacy/seeders/test/20211122141406-api-pre-request.js +201 -0
  172. package/src/migrations/20220509095001-create-extension-uuid-ossp.js +27 -0
  173. package/src/migrations/20220509095002-create-enterprises.js +64 -0
  174. package/src/migrations/20220509095003-create-systemUsers.js +97 -0
  175. package/src/migrations/20220509095004-create-permissions.js +45 -0
  176. package/src/migrations/20220509095005-create-profiles.js +38 -0
  177. package/src/migrations/20220509095006-create-profiles-permissions.js +45 -0
  178. package/src/migrations/20220509095007-create-systemUsers-profiles.js +45 -0
  179. package/src/migrations/20220509095008-create-branches.js +61 -0
  180. package/src/migrations/20220509095009-create-departments.js +61 -0
  181. package/src/migrations/20220509095010-create-subDepartments.js +61 -0
  182. package/src/migrations/20220509095011-create-lines.js +47 -0
  183. package/src/migrations/20220509095012-create-systemUsers-lines.js +45 -0
  184. package/src/migrations/20220509095013-create-apiKeys.js +40 -0
  185. package/src/migrations/20220509095014-create-customPostbacks.js +44 -0
  186. package/src/migrations/20220509095015-create-lineConfigurations.js +85 -0
  187. package/src/migrations/20220509095016-create-attendanceScales.js +48 -0
  188. package/src/migrations/20220509095017-create-attendanceScaleOffs.js +58 -0
  189. package/src/migrations/20220509095018-create-quickMessages.js +54 -0
  190. package/src/migrations/20220509095019-create-transhipInactivityTriggers.js +52 -0
  191. package/src/migrations/20220509095020-create-contacts.js +54 -0
  192. package/src/migrations/20220509095021-create-groups.js +52 -0
  193. package/src/migrations/20220509095022-create-groupsContacts.js +45 -0
  194. package/src/migrations/20220509095023-create-fields.js +39 -0
  195. package/src/migrations/20220509095024-create-channelTypes.js +62 -0
  196. package/src/migrations/20220509095025-create-channelConfigurations.js +56 -0
  197. package/src/migrations/20220509095026-create-templates.js +59 -0
  198. package/src/migrations/20220509095027-create-intelligences.js +50 -0
  199. package/src/migrations/20220509095028-create-itleanProviders.js +44 -0
  200. package/src/migrations/20220509095029-create-ibmProviders.js +63 -0
  201. package/src/migrations/20220509095030-create-skills.js +124 -0
  202. package/src/migrations/20220509095031-create-files.js +49 -0
  203. package/src/migrations/20220509095032-create-channels.js +88 -0
  204. package/src/migrations/20220509095033-create-messagesHsms.js +70 -0
  205. package/src/migrations/20220509095034-create-messagesHsms_channels.js +46 -0
  206. package/src/migrations/20220509095035-create-sendHsms.js +68 -0
  207. package/src/migrations/20220509095036-create-groupsSendHsms.js +46 -0
  208. package/src/migrations/20220509095037-create-intentions.js +57 -0
  209. package/src/migrations/20220509095038-create-intentionValues.js +53 -0
  210. package/src/migrations/20220509095039-create-entities.js +61 -0
  211. package/src/migrations/20220509095040-create-entityValues.js +72 -0
  212. package/src/migrations/20220509095041-create-synonyms.js +67 -0
  213. package/src/migrations/20220509095042-create-responses.js +63 -0
  214. package/src/migrations/20220509095043-create-responsesBoxes.js +68 -0
  215. package/src/migrations/20220509095044-create-openFaqs.js +60 -0
  216. package/src/migrations/20220509095045-create-faqQuestions.js +53 -0
  217. package/src/migrations/20220509095046-create-apis.js +63 -0
  218. package/src/migrations/20220509095047-create-apiResourcesBodies.js +49 -0
  219. package/src/migrations/20220509095048-create-apiResources.js +72 -0
  220. package/src/migrations/20220509095049-create-apiPreRequests.js +76 -0
  221. package/src/migrations/20220509095050-create-apiResourcesHeaders.js +61 -0
  222. package/src/migrations/20220509095051-create-apiResourcesPathParams.js +60 -0
  223. package/src/migrations/20220509095052-create-apiResourcesQueryStringParams.js +71 -0
  224. package/src/migrations/20220509095053-create-clients.js +47 -0
  225. package/src/migrations/20220509095054-create-onlineEditions.js +52 -0
  226. package/src/migrations/20220509095055-create-postbackGupshups.js +66 -0
  227. package/src/migrations/20220509095056-create-publications.js +54 -0
  228. package/src/migrations/20220509095057-create-returnHsms.js +62 -0
  229. package/src/migrations/20220509095058-create-sendHsmReturnHsms.js +56 -0
  230. package/src/migrations/20220509095059-create-sessions.js +85 -0
  231. package/src/migrations/20220509095060-create-sessionsPreReports.js +74 -0
  232. package/src/migrations/20220509095061-create-socketClients.js +80 -0
  233. package/src/migrations/20220509095062-create-stopwords.js +44 -0
  234. package/src/migrations/20220509095063-create-conversationSessions.js +69 -0
  235. package/src/migrations/20220509095064-create-dialogNodes.js +92 -0
  236. package/src/migrations/20220509095065-create-dialogNodesPreReports.js +62 -0
  237. package/src/migrations/20220509095066-create-dialogNodes_ApiResources.js +65 -0
  238. package/src/migrations/20220509095067-create-dialogNodes_MultipleResponses.js +46 -0
  239. package/src/migrations/20220509095068-create-response_DialogNodes.js +57 -0
  240. package/src/migrations/20220509095069-create-transhipTriggers.js +84 -0
  241. package/src/migrations/20220509095070-create-attendances.js +112 -0
  242. package/src/migrations/20220509095071-create-comments.js +46 -0
  243. package/src/migrations/20220509095072-create-transhipConversations.js +75 -0
  244. package/src/migrations/20220509095073-create-endSessionTriggers.js +45 -0
  245. package/src/migrations/20220509095074-create-faqTriggers.js +47 -0
  246. package/src/migrations/20220509095075-create-inactivityTriggers.js +58 -0
  247. package/src/migrations/20220509095076-create-botIterables.js +148 -0
  248. package/src/migrations/20220509095077-create-blacklistContacts.js +44 -0
  249. package/src/migrations/20220509095078-create-whitelistContacts.js +44 -0
  250. package/src/migrations/20220509095079-create-function-getInactiveSessions.js +93 -0
  251. package/src/migrations/20220509095080-create-function-getInactiveAttendances.js +94 -0
  252. package/src/models/apiKeys.js +18 -21
  253. package/src/models/apiPreRequest.js +11 -8
  254. package/src/models/apiResourceBodies.js +9 -0
  255. package/src/models/apiResourceHeaders.js +10 -3
  256. package/src/models/apiResourcePathParams.js +11 -4
  257. package/src/models/apiResourceQueryStringParams.js +11 -4
  258. package/src/models/apiResources.js +13 -8
  259. package/src/models/apis.js +4 -5
  260. package/src/models/attendanceScale.js +2 -4
  261. package/src/models/attendanceScaleOff.js +1 -3
  262. package/src/models/attendances.js +28 -11
  263. package/src/models/blacklistContacts.js +10 -3
  264. package/src/models/botIterable.js +15 -13
  265. package/src/models/branches.js +1 -3
  266. package/src/models/channelConfigurations.js +1 -3
  267. package/src/models/channelTypes.js +5 -4
  268. package/src/models/channels.js +20 -12
  269. package/src/models/client.js +11 -5
  270. package/src/models/comments.js +8 -2
  271. package/src/models/contacts.js +1 -3
  272. package/src/models/conversationSessions.js +12 -9
  273. package/src/models/customPostbacks.js +4 -6
  274. package/src/models/departments.js +1 -3
  275. package/src/models/dialogNodes.js +19 -14
  276. package/src/models/dialogNodesPreReports.js +21 -2
  277. package/src/models/dialogNodes_MultipleResponses.js +1 -6
  278. package/src/models/dialogNodes_apiResources.js +1 -5
  279. package/src/models/endSessionTriggers.js +0 -4
  280. package/src/models/enterprises.js +55 -4
  281. package/src/models/entity.js +14 -9
  282. package/src/models/entityValues.js +12 -12
  283. package/src/models/faqQuestions.js +15 -12
  284. package/src/models/faqTriggers.js +0 -8
  285. package/src/models/fields.js +0 -2
  286. package/src/models/files.js +2 -4
  287. package/src/models/groups.js +3 -5
  288. package/src/models/groupsSendHsms.js +10 -10
  289. package/src/models/ibmProvider.js +21 -22
  290. package/src/models/inactivityTriggers.js +9 -4
  291. package/src/models/intelligence.js +2 -3
  292. package/src/models/intention.js +13 -10
  293. package/src/models/intentionValue.js +10 -8
  294. package/src/models/itleanProvider.js +13 -16
  295. package/src/models/lineConfigurations.js +11 -4
  296. package/src/models/lines.js +15 -10
  297. package/src/models/messagesHsm.js +21 -25
  298. package/src/models/messagesHsms_Channels.js +22 -0
  299. package/src/models/onlineEditions.js +19 -6
  300. package/src/models/openFaqs.js +15 -5
  301. package/src/models/permissions.js +1 -2
  302. package/src/models/postbackGupshup.js +5 -5
  303. package/src/models/profile.js +0 -1
  304. package/src/models/profiles_permission.js +2 -6
  305. package/src/models/publications.js +14 -4
  306. package/src/models/quickMessages.js +10 -3
  307. package/src/models/response_DialogNodes.js +2 -6
  308. package/src/models/responses.js +12 -7
  309. package/src/models/responsesBoxes.js +11 -11
  310. package/src/models/returnHsm.js +5 -5
  311. package/src/models/sendHsm.js +11 -8
  312. package/src/models/sendHsmReturnHsm.js +17 -7
  313. package/src/models/sessions.js +23 -17
  314. package/src/models/sessionsPreReports.js +21 -2
  315. package/src/models/skill.js +35 -17
  316. package/src/models/socketClients.js +12 -7
  317. package/src/models/stopwords.js +7 -11
  318. package/src/models/subDepartments.js +1 -3
  319. package/src/models/synonyms.js +11 -18
  320. package/src/models/systemUsers.js +20 -16
  321. package/src/models/systemUsers_Lines.js +8 -6
  322. package/src/models/systemUsers_profiles.js +2 -6
  323. package/src/models/templates.js +35 -45
  324. package/src/models/transhipConversations.js +9 -2
  325. package/src/models/transhipInactivityTriggers.js +17 -3
  326. package/src/models/transhipTriggers.js +0 -12
  327. package/src/models/whitelistContacts.js +10 -3
  328. package/src/scripts/migrateBotIterables.js +201 -0
  329. package/src/scripts/migratePostbackGupshups.js +121 -0
  330. package/src/scripts/unification.js +1434 -0
  331. package/src/seeders/20220509095001-insert-permissions.js +166 -0
  332. package/src/seeders/20220509095002-insert-profiles.js +40 -0
  333. package/src/seeders/20220509095003-insert-profiles-permissions.js +99 -0
  334. package/src/seeders/20220509095004-insert-channelTypes.js +110 -0
  335. package/src/seeders/20220509095005-insert-channelConfigurations.js +173 -0
  336. package/src/seeders/20220509095006-insert-templates.js +207 -0
  337. package/src/seeders/20220509095007-insert-intelligence.js +27 -0
  338. package/src/seeders/test/20200924195049-create-enterprise.js +66 -0
  339. package/src/seeders/test/20200924195050-create-ibmprovider.js +2 -1
  340. package/src/seeders/test/20200924195050-create-itlean-provider.js +1 -6
  341. package/src/seeders/test/20200924195050-seed-enterprises.js +1 -0
  342. package/src/seeders/test/20200925184253-seed-skils-itlean-provider.js +2 -1
  343. package/src/seeders/test/20200925184253-seed-skils.js +3 -1
  344. package/src/seeders/test/20200925184254-seed-Intention.js +4 -0
  345. package/src/seeders/test/20200925184258-seed-Intention-values.js +3 -0
  346. package/src/seeders/test/20200925191642-seed-entity-skill-itlean.js +2 -0
  347. package/src/seeders/test/20200925191642-seed-entity.js +2 -0
  348. package/src/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +3 -0
  349. package/src/seeders/test/20200925191643-seed-entity-values.js +3 -1
  350. package/src/seeders/test/20200929132705-seed-dialog-node.js +8 -0
  351. package/src/seeders/test/20201016200600-seed-responses.js +43 -12
  352. package/src/seeders/test/20201104183653-seed-create-ype-skill.js +3 -1
  353. package/src/seeders/test/20201104183700-seed-create-ype-intention.js +2 -0
  354. package/src/seeders/test/20201104183706-seed-create-ype-intention-values.js +3 -0
  355. package/src/seeders/test/20201104183714-seed-create-ype-entity.js +2 -0
  356. package/src/seeders/test/20201104183723-seed-create-ype-entity-values.js +3 -0
  357. package/src/seeders/test/20201104183727-seed-create-ype-synonyms.js +3 -0
  358. package/src/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +14 -2
  359. package/src/seeders/test/20210224163857-create-ibmprovider-framework.js +3 -1
  360. package/src/seeders/test/20210224165819-create-skill-framework.js +3 -1
  361. package/src/seeders/test/20210224165821-seed-channel-framework.js +4 -0
  362. package/src/seeders/test/20210224171409-create-apiResource-framework.js +8 -1
  363. package/src/seeders/test/20210224171409-create-apiResource.js +8 -1
  364. package/src/seeders/test/20210226115055-create-entity-framework.js +3 -0
  365. package/src/seeders/test/20210226115540-create-entity-value-framework.js +3 -0
  366. package/src/seeders/test/20210226115720-create-intention-framework.js +3 -0
  367. package/src/seeders/test/20210226115935-create-intention-values-framework.js +3 -0
  368. package/src/seeders/test/20210226121222-create-synonyms-framework.js +3 -0
  369. package/src/seeders/test/20210301174809-create-dialog-node-framework.js +3 -0
  370. package/src/seeders/test/20210422144458-seed-context-test.js +17 -3
  371. package/src/seeders/test/20210422181114-seed-jump-node.js +13 -2
  372. package/src/seeders/test/20210422182413-seed-jump-skill.js +13 -2
  373. package/src/seeders/test/20210426100156-seed-api-test.js +13 -2
  374. package/src/seeders/test/20210426103704-seed-multiple-response-test.js +21 -4
  375. package/src/seeders/test/20210426190844-seed-entity-search-test.js +17 -2
  376. package/src/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +17 -2
  377. package/src/seeders/test/20210428105402-seed-test-condition-1.js +21 -2
  378. package/src/seeders/test/20210430181906-seed-test-input-text-zero.js +14 -2
  379. package/src/seeders/test/20210430183204-seed-ype-test-condition.js +48 -2
  380. package/src/seeders/test/20210503172321-seed-invalid-condition.js +14 -2
  381. package/src/seeders/test/20210505140225-insert-skills.js +4 -0
  382. package/src/seeders/test/20210505183810-seed-chain-with-context.js +15 -2
  383. package/src/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +18 -2
  384. package/src/seeders/test/20210507204437-seed-condition-igual-true.js +14 -2
  385. package/src/seeders/test/20210511181006-seed-using-internal-functions.js +20 -2
  386. package/src/seeders/test/20210512140152-seed-ype-real-bot.js +129 -1
  387. package/src/seeders/test/20210519162746-seed-response-with-context.js +9 -1
  388. package/src/seeders/test/20210524141819-seed-dialog-node-faq.js +14 -1
  389. package/src/seeders/test/20210525180523-seed-regex.js +10 -1
  390. package/src/seeders/test/20210602111930-insert-dialogNodes.js +7 -5
  391. package/src/seeders/test/20210607124530-create-tranship-framework.js +13 -7
  392. package/src/seeders/test/20210608103730-create-transhipConversation-framework.js +18 -6
  393. package/src/seeders/test/20210608140230-test-transfer-framework.js +16 -6
  394. package/src/seeders/test/20210610152534-seed-test-internal-function-in-context.js +11 -1
  395. package/src/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +8 -1
  396. package/src/seeders/test/20210611101042-bot-example-internal-functions.js +50 -6
  397. package/src/seeders/test/20210613111900-bot-example-api.js +19 -7
  398. package/src/seeders/test/20210614113654-miltiple-response-with-research.js +19 -6
  399. package/src/seeders/test/20210616212102-api-authentication-and-list.js +17 -7
  400. package/src/seeders/test/20210624172310-seed-api-duble-request.js +18 -8
  401. package/src/seeders/test/20210628135630-test-branches.js +3 -6
  402. package/src/seeders/test/20210629141030-test-departments.js +3 -6
  403. package/src/seeders/test/20210630105430-test-subDepartments.js +3 -6
  404. package/src/seeders/test/20210630114011-test-contact.js +2 -6
  405. package/src/seeders/test/20210701130630-test-channels.js +19 -7
  406. package/src/seeders/test/20210702191230-seed-test-counter-in-context.js +7 -1
  407. package/src/seeders/test/20210705061313-test-fields.js +2 -6
  408. package/src/seeders/test/20210705080813-test-groups.js +2 -6
  409. package/src/seeders/test/20210705105918-seed-test-function-slice.js +7 -1
  410. package/src/seeders/test/20210706105508-seed-node-without-condition.js +13 -1
  411. package/src/seeders/test/20210706112906-seed-1.0-on-response.js +10 -1
  412. package/src/seeders/test/20210706145547-seed-clean-context.js +7 -1
  413. package/src/seeders/test/20210707151538-seed-test-response-break-line.js +7 -1
  414. package/src/seeders/test/20210713155530-seed-test-itl0079-875.js +6 -1
  415. package/src/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +32 -1
  416. package/src/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +11 -1
  417. package/src/seeders/test/20210719154025-seed-2-contexts-together.js +7 -1
  418. package/src/seeders/test/20210802144227-seed-end-session-trigger.js +8 -1
  419. package/src/seeders/test/20210803103030-tests-dialogNodes.js +23 -7
  420. package/src/seeders/test/20210804094630-tests-lines.js +19 -6
  421. package/src/seeders/test/20210805104130-tests-lineConfigurations.js +4 -6
  422. package/src/seeders/test/20210805133330-tests-systemUsers.js +5 -6
  423. package/src/seeders/test/20210813124630-tests-getMessagesBySession.js +20 -1
  424. package/src/seeders/test/20210813143730-tests-botIterables-framework.js +23 -1
  425. package/src/seeders/test/20210816151830-testes-inactivityTriggers.js +13 -2
  426. package/src/seeders/test/20210830134230-tests-sessionReports.js +19 -1
  427. package/src/seeders/test/20210830165830-tests-attendancesHistory.js +9 -13
  428. package/src/seeders/test/20210927115821-skill-test-open-faq.js +3 -1
  429. package/src/seeders/test/20211004131813-true-and-context-with-parent.js +10 -1
  430. package/src/seeders/test/20211006210203-context-concat-with-text.js +10 -1
  431. package/src/seeders/test/20211122141406-api-pre-request.js +11 -2
  432. /package/src/{migrations → legacy/migrations}/2021050204551-create-extension-uuid-ossp.js +0 -0
  433. /package/src/{migrations → legacy/migrations}/20210503140511-create-channel-types.js +0 -0
  434. /package/src/{migrations → legacy/migrations}/20210503141113-create-channel-configurations.js +0 -0
  435. /package/src/{migrations → legacy/migrations}/20210503141528-create-enterprises.js +0 -0
  436. /package/src/{migrations → legacy/migrations}/20210503142049-create-permissions.js.js +0 -0
  437. /package/src/{migrations → legacy/migrations}/20210503142205-create-profiles.js.js +0 -0
  438. /package/src/{migrations → legacy/migrations}/20210503142259-create-profiles-permissions.js +0 -0
  439. /package/src/{migrations → legacy/migrations}/20210503142433-create-system-users.js +0 -0
  440. /package/src/{migrations → legacy/migrations}/20210503142528-create-system-users-profiles.js +0 -0
  441. /package/src/{migrations → legacy/migrations}/20210503142645-create-departments.js +0 -0
  442. /package/src/{migrations → legacy/migrations}/20210503142739-create-clients.js +0 -0
  443. /package/src/{migrations → legacy/migrations}/20210503142857-create-intelligences.js +0 -0
  444. /package/src/{migrations → legacy/migrations}/20210503142959-create-ibm-providers.js +0 -0
  445. /package/src/{migrations → legacy/migrations}/20210503151909-create-itlean-providers.js +0 -0
  446. /package/src/{migrations → legacy/migrations}/20210503154612-create-skills.js +0 -0
  447. /package/src/{migrations → legacy/migrations}/20210503161006-create-files.js +0 -0
  448. /package/src/{migrations → legacy/migrations}/20210503161236-create-channels.js +0 -0
  449. /package/src/{migrations → legacy/migrations}/20210503161308-create-sessions.js +0 -0
  450. /package/src/{migrations → legacy/migrations}/20210503161503-create-subdepartments.js +0 -0
  451. /package/src/{migrations → legacy/migrations}/20210503161543-create-branches.js +0 -0
  452. /package/src/{migrations → legacy/migrations}/20210503161909-create-lines.js +0 -0
  453. /package/src/{migrations → legacy/migrations}/20210503161947-create-entities.js +0 -0
  454. /package/src/{migrations → legacy/migrations}/20210503162126-create-intentions.js +0 -0
  455. /package/src/{migrations → legacy/migrations}/20210503162213-create-intentions-values.js +0 -0
  456. /package/src/{migrations → legacy/migrations}/20210503162618-create-entities-values.js +0 -0
  457. /package/src/{migrations → legacy/migrations}/20210503162752-create-synonyms.js +0 -0
  458. /package/src/{migrations → legacy/migrations}/20210503163331-create-responses.js +0 -0
  459. /package/src/{migrations → legacy/migrations}/20210503163437-create-responses-boxes.js +0 -0
  460. /package/src/{migrations → legacy/migrations}/20210503163702-create-languages.js +0 -0
  461. /package/src/{migrations → legacy/migrations}/20210503184109-create-groups.js +0 -0
  462. /package/src/{migrations → legacy/migrations}/20210503185846-create-contacts.js +0 -0
  463. /package/src/{migrations → legacy/migrations}/20210503190220-create-groups-contacts.js +0 -0
  464. /package/src/{migrations → legacy/migrations}/20210503190338-create-fields.js +0 -0
  465. /package/src/{migrations → legacy/migrations}/20210503190515-create-apis.js +0 -0
  466. /package/src/{migrations → legacy/migrations}/20210503191041-create-apis-resources-body.js +0 -0
  467. /package/src/{migrations → legacy/migrations}/20210503191107-create-apis-resources.js +0 -0
  468. /package/src/{migrations → legacy/migrations}/20210503191253-create-apis-resources-headers.js +0 -0
  469. /package/src/{migrations → legacy/migrations}/20210503193228-create-apis-resources-query-string-params.js +0 -0
  470. /package/src/{migrations → legacy/migrations}/20210503193425-create-apis-resources-path-params.js +0 -0
  471. /package/src/{migrations → legacy/migrations}/20210503193511-create-dialog-nodes.js +0 -0
  472. /package/src/{migrations → legacy/migrations}/20210503193629-create-response-dialog-nodes.js +0 -0
  473. /package/src/{migrations → legacy/migrations}/20210503193905-create-system-users-lines.js +0 -0
  474. /package/src/{migrations → legacy/migrations}/20210503194004-create-attendances.js +0 -0
  475. /package/src/{migrations → legacy/migrations}/20210503194036-create-tranship-conversations.js +0 -0
  476. /package/src/{migrations → legacy/migrations}/20210503194204-create-line-configurations.js +0 -0
  477. /package/src/{migrations → legacy/migrations}/20210504133611-create-templates.js +0 -0
  478. /package/src/{migrations → legacy/migrations}/20210504133647-create-socket-clients.js +0 -0
  479. /package/src/{migrations → legacy/migrations}/20210504143703-create-dialog-nodes-multiple-responses.js +0 -0
  480. /package/src/{migrations → legacy/migrations}/20210504144332-create-messages-hsm.js +0 -0
  481. /package/src/{migrations → legacy/migrations}/20210504144657-create-dialog-nodes-api-resources.js +0 -0
  482. /package/src/{migrations → legacy/migrations}/20210504144730-create-send-hsm.js +0 -0
  483. /package/src/{migrations → legacy/migrations}/20210504144859-create-messages-hsm-channels.js +0 -0
  484. /package/src/{migrations → legacy/migrations}/20210504144931-create-open-faqs.js +0 -0
  485. /package/src/{migrations → legacy/migrations}/20210504145032-create-return-hsm.js +0 -0
  486. /package/src/{migrations → legacy/migrations}/20210504160623-create-group-send-hsm.js +0 -0
  487. /package/src/{migrations → legacy/migrations}/20210504164445-create-extension-unaccent.js +0 -0
  488. /package/src/{migrations → legacy/migrations}/20210504164516-create-extension-fuzzy.js +0 -0
  489. /package/src/{migrations → legacy/migrations}/20210504164553-create-attendance-scale.js +0 -0
  490. /package/src/{migrations → legacy/migrations}/20210504164613-create-attendance-scale-off.js +0 -0
  491. /package/src/{migrations → legacy/migrations}/20210504165351-create-comments.js +0 -0
  492. /package/src/{migrations → legacy/migrations}/20210504165421-create-quick-messages.js +0 -0
  493. /package/src/{migrations → legacy/migrations}/20210504165514-create-bot-iterables.js +0 -0
  494. /package/src/{migrations → legacy/migrations}/20210504165900-create-tranship-triggers.js +0 -0
  495. /package/src/{migrations → legacy/migrations}/20210505025504-create-send-hsm-return-hsm.js +0 -0
  496. /package/src/{migrations → legacy/migrations}/20210507012938-create-faq-triggers.js +0 -0
  497. /package/src/{migrations → legacy/migrations}/20210518122431-alter-responses.js +0 -0
  498. /package/src/{migrations → legacy/migrations}/20210524150418-create-faq-questions.js +0 -0
  499. /package/src/{migrations → legacy/migrations}/20210524173157-alter-table-open-faq.js +0 -0
  500. /package/src/{migrations → legacy/migrations}/20210526115430-alter-attendances.js +0 -0
  501. /package/src/{migrations → legacy/migrations}/20210528101030-alter-attendances.js +0 -0
  502. /package/src/{migrations → legacy/migrations}/20210609103918-create-table-postbakGupshup.js +0 -0
  503. /package/src/{migrations → legacy/migrations}/20210614194609-alter-channels.js +0 -0
  504. /package/src/{migrations → legacy/migrations}/20210618101840-alter-table-MessagesHsms.js +0 -0
  505. /package/src/{migrations → legacy/migrations}/20210622132643-alter-table-postbackGupshup.js +0 -0
  506. /package/src/{migrations → legacy/migrations}/20210623110159-alter-table-botinterable.js +0 -0
  507. /package/src/{migrations → legacy/migrations}/20210623180356-alter-dialog-nodes-api-resources.js +0 -0
  508. /package/src/{migrations → legacy/migrations}/20210625165930-alter-dialog-nodes-api-resources.js +0 -0
  509. /package/src/{migrations → legacy/migrations}/20210708142712-alter-table-entity-values.js +0 -0
  510. /package/src/{migrations → legacy/migrations}/20210708145259-alter-table-synonyms.js +0 -0
  511. /package/src/{migrations → legacy/migrations}/20210719161230-alter-attendances.js +0 -0
  512. /package/src/{migrations → legacy/migrations}/20210727095921-alter-name-size.js +0 -0
  513. /package/src/{migrations → legacy/migrations}/20210727110430-create-endSessionTriggers.js +0 -0
  514. /package/src/{migrations → legacy/migrations}/20210728140327-create-table-online-editing.js +0 -0
  515. /package/src/{migrations → legacy/migrations}/20210810152747-alter-botIterables.js +0 -0
  516. /package/src/{migrations → legacy/migrations}/20210812110330-create-indexes.js +0 -0
  517. /package/src/{migrations → legacy/migrations}/20210816124430-create-inactivityTriggers.js +0 -0
  518. /package/src/{migrations → legacy/migrations}/20210819155330-create-function.js +0 -0
  519. /package/src/{migrations → legacy/migrations}/20210823145424-remove-names-botiterables.js +0 -0
  520. /package/src/{migrations → legacy/migrations}/20210902145430-create-apiKeys.js +0 -0
  521. /package/src/{migrations → legacy/migrations}/20210906092430-create-customPostback.js +0 -0
  522. /package/src/{migrations → legacy/migrations}/20210906144034-alter-api-body-migration.js +0 -0
  523. /package/src/{migrations → legacy/migrations}/20210910081430-create-transhipInactivityTriggers.js +0 -0
  524. /package/src/{migrations → legacy/migrations}/20210923131530-alter-attendances.js +0 -0
  525. /package/src/{migrations → legacy/migrations}/20210923140130-create-function.js +0 -0
  526. /package/src/{migrations → legacy/migrations}/20210927141630-alter-attendances.js +0 -0
  527. /package/src/{migrations → legacy/migrations}/20211006150930-create-index.js +0 -0
  528. /package/src/{migrations → legacy/migrations}/20211020130541-alter-table-session-hasTranship.js +0 -0
  529. /package/src/{migrations → legacy/migrations}/20211022105430-alter-attendance-scale-off.js +0 -0
  530. /package/src/{migrations → legacy/migrations}/20211025155825-create-stopwords.js +0 -0
  531. /package/src/{migrations → legacy/migrations}/20211029134230-remove-constraints.js +0 -0
  532. /package/src/{migrations → legacy/migrations}/20211119123119-CreateApiPreRequest.js +0 -0
  533. /package/src/{migrations → legacy/migrations}/20211122115430-create-publish.js +0 -0
  534. /package/src/{migrations → legacy/migrations}/20211213111830-alter-publications.js +0 -0
  535. /package/src/{migrations → legacy/migrations}/20211220144430-alter-channels.js +0 -0
  536. /package/src/{migrations → legacy/migrations}/20220105153930-alter-botIterables.js +0 -0
  537. /package/src/{migrations → legacy/migrations}/20220118131507-alter-table-SystemUsers-isActive.js +0 -0
  538. /package/src/{migrations → legacy/migrations}/20220121145703-alter-table-botiterable.js +0 -0
  539. /package/src/{migrations → legacy/migrations}/20220126141248-alter-table-sessions-session-start.js +0 -0
  540. /package/src/{migrations → legacy/migrations}/20220203094630-alter-SendHsmReturHsms.js +0 -0
  541. /package/src/{migrations → legacy/migrations}/20220203181702-insert-teams-channel-configurations.js +0 -0
  542. /package/src/{migrations → legacy/migrations}/20220204141205-create-whastapp-sessions.js +0 -0
  543. /package/src/{migrations → legacy/migrations}/20220207124321-create-conversation-session.js +0 -0
  544. /package/src/{migrations → legacy/migrations}/20220215123711-alter-table-conversation-sessions.js +0 -0
  545. /package/src/{migrations → legacy/migrations}/20220221140530-alter-functions.js +0 -0
  546. /package/src/{migrations → legacy/migrations}/20220224112430-create-index.js +0 -0
  547. /package/src/{migrations → legacy/migrations}/20220301115430-create-sessionsPreReports.js +0 -0
  548. /package/src/{migrations → legacy/migrations}/20220301115530-alter-sessions.js +0 -0
  549. /package/src/{migrations → legacy/migrations}/20220303152530-create-dialogNodesPreReports.js +0 -0
  550. /package/src/{migrations → legacy/migrations}/20220308145105-alter-table-transhipConversation-mimetype.js +0 -0
  551. /package/src/{migrations → legacy/migrations}/20220309145730-create-function.js +0 -0
  552. /package/src/{migrations → legacy/migrations}/20220310125603-alter-table-conversationSessions-SkillId.js +0 -0
  553. /package/src/{migrations → legacy/migrations}/20220310143530-alter-functions.js +0 -0
  554. /package/src/{migrations → legacy/migrations}/20220406125731-alter-table-entities-add-column-fuzzy.js +0 -0
  555. /package/src/{migrations → legacy/migrations}/20220407191846-alter-table-dialog-nodes-type.js +0 -0
  556. /package/src/{migrations → legacy/migrations}/20220408125630-create-index.js +0 -0
  557. /package/src/{migrations → legacy/migrations}/20220413113609-alter-table-botiterable-action.js +0 -0
  558. /package/src/{migrations → legacy/migrations}/20220503111730-create-index.js +0 -0
  559. /package/src/{migrations → legacy/migrations}/20220503150629-create-table-blacklist-contacts.js +0 -0
  560. /package/src/{migrations → legacy/migrations}/20220503150638-create-table-whitelist-contacts.js +0 -0
  561. /package/src/{migrations → legacy/migrations}/20220524130822-alter-table-channel-title-icon-file.js +0 -0
  562. /package/src/{migrations → legacy/migrations}/20220610103030-create-index.js +0 -0
  563. /package/src/{migrations → legacy/migrations}/20220704143200-create-index.js +0 -0
  564. /package/src/{migrations → legacy/migrations}/20220728094430-create-index.js +0 -0
  565. /package/src/{models → legacy/models}/language.js +0 -0
  566. /package/src/{models → legacy/models}/responseChannels.js +0 -0
  567. /package/src/{seeders → legacy/seeders}/20210414180447-change-ChannelTypes.js +0 -0
  568. /package/src/{seeders → legacy/seeders}/20210505130137-insert-channel-types.js +0 -0
  569. /package/src/{seeders → legacy/seeders}/20210505132612-insert-intelligence.js +0 -0
  570. /package/src/{seeders → legacy/seeders}/20210505134121-insert-enterprise.js +0 -0
  571. /package/src/{seeders → legacy/seeders}/20210505134345-insert-permissions.js +0 -0
  572. /package/src/{seeders → legacy/seeders}/20210505134549-insert-profiles.js +0 -0
  573. /package/src/{seeders → legacy/seeders}/20210505134700-insert-profiles-permissions.js +0 -0
  574. /package/src/{seeders → legacy/seeders}/20210505135931-insert-system-users.js +0 -0
  575. /package/src/{seeders → legacy/seeders}/20210505140025-insert-system-users-profiles.js +0 -0
  576. /package/src/{seeders → legacy/seeders}/20210505140049-insert-language.js +0 -0
  577. /package/src/{seeders → legacy/seeders}/20210505140259-insert-itlean-provider.js +0 -0
  578. /package/src/{seeders → legacy/seeders}/20210505140343-insert-templates.js +0 -0
  579. /package/src/{seeders → legacy/seeders}/20210505140658-insert-channel-configurations.js +0 -0
  580. /package/src/{seeders → legacy/seeders}/20210618132740-add-new-channel-configutations.js +0 -0
  581. /package/src/{seeders → legacy/seeders}/20210817081230-insert-profiles-permissions.js +0 -0
  582. /package/src/{seeders → legacy/seeders}/20210830131930-insert-profiles-permissions.js +0 -0
  583. /package/src/{seeders → legacy/seeders}/20210902160430-insert-apiKey.js +0 -0
  584. /package/src/{seeders → legacy/seeders}/20210914165047-update-channel-types.js +0 -0
  585. /package/src/{seeders → legacy/seeders}/20211005135921-edit-gupshup-reponseTypes.js +0 -0
  586. /package/src/{seeders → legacy/seeders}/20220203123900-insert-teams-channel-type.js +0 -0
  587. /package/src/{seeders → legacy/seeders}/20220203181702-insert-teams-channel-configurations.js +0 -0
  588. /package/src/{seeders → legacy/seeders}/20220221142239-add-permissions-to-adm.js +0 -0
  589. /package/src/{seeders → legacy/seeders}/20220317172100-insert-facebook-messenger-channel-type.js +0 -0
  590. /package/src/{seeders → legacy/seeders}/20220317172234-insert-facebook-messenger-channel-configuration.js +0 -0
@@ -0,0 +1,1434 @@
1
+ require('dotenv/config')
2
+ const Sequelize = require('sequelize')
3
+
4
+ function getDatabaseConfig(databaseName) {
5
+ return {
6
+ username: process.env.DB_USERNAME,
7
+ password: process.env.DB_PASSWORD,
8
+ database: databaseName,
9
+ host: process.env.DATABASE_HOST,
10
+ dialect: process.env.DATABASE_TYPE,
11
+ logging: false,
12
+ omitNull: true,
13
+ minifyAliases: true,
14
+ timezone: process.env.DATABASE_TIMEZONE || 'Etc/UTC',
15
+ pool: {
16
+ max: 100,
17
+ min: 0,
18
+ idle: 10000,
19
+ },
20
+ }
21
+ }
22
+
23
+ function loadEnterprisesMap() {
24
+
25
+ const cwd = process.cwd()
26
+
27
+ try {
28
+
29
+ const map = require(`${cwd}/_leanbot_enterprises_map.json`)
30
+
31
+ return map
32
+
33
+ } catch(error) {
34
+
35
+ console.log(`\n* Não foi possível carregar arquivo de mapeamento de Empresas!`)
36
+ console.log(`* Diretório pesquisado: ${cwd}`)
37
+ console.log(`* Arquivo esperado: _leanbot_enterprises_map.json\n`)
38
+
39
+ console.error(error)
40
+
41
+ return null
42
+ }
43
+ }
44
+
45
+ function executeValidationSequence(readline, sequence, callback, index = 0) {
46
+ readline.question(`${sequence[index]} (y/n): `, resp => {
47
+
48
+ if (resp.toLowerCase() == 'y') {
49
+
50
+ if (index == sequence.length - 1) {
51
+ readline.close()
52
+ callback()
53
+ }
54
+ else executeValidationSequence(readline, sequence, callback, ++index)
55
+
56
+ } else if (resp.toLowerCase() == 'n') {
57
+
58
+ console.log('\nEste processo será encerrado. Reinicie-o após a regularização das configurações\n')
59
+ readline.close()
60
+ process.exit()
61
+
62
+ } else {
63
+
64
+ console.log('\nResponsta inválida!')
65
+ executeValidationSequence(readline, sequence, callback, index)
66
+ }
67
+ })
68
+ }
69
+
70
+ async function unificate() {
71
+
72
+ const map = loadEnterprisesMap()
73
+
74
+ if (!map) return
75
+
76
+ const newConfig = getDatabaseConfig(process.env.DATABASE_NAME)
77
+
78
+ const newDatabase = new Sequelize(
79
+ newConfig.database,
80
+ newConfig.username,
81
+ newConfig.password,
82
+ newConfig
83
+ )
84
+
85
+ for (const enterprise of map) {
86
+
87
+ const transaction = await newDatabase.transaction()
88
+
89
+ try {
90
+
91
+ console.log(`\n\n*** MIGRANDO: ${enterprise.alias} ***\n\n`)
92
+
93
+ const oldConfig = getDatabaseConfig(enterprise.alias)
94
+
95
+ const oldDatabase = new Sequelize(
96
+ oldConfig.database,
97
+ oldConfig.username,
98
+ oldConfig.password,
99
+ oldConfig
100
+ )
101
+
102
+ /////// ENTERPRISES //////////
103
+
104
+ console.log('ENTERPRISES')
105
+
106
+ const oldEnterpriseModel = require('../legacy/models/enterprises').model(oldDatabase, Sequelize.DataTypes)
107
+ const oldEnterprise = await oldEnterpriseModel.findOne()
108
+
109
+ const NewEnterpriseModel = require('../models/enterprises').model(newDatabase, Sequelize.DataTypes)
110
+
111
+ await NewEnterpriseModel.create({
112
+ id: oldEnterprise.id,
113
+ alias: enterprise.alias,
114
+ name: enterprise.name,
115
+ cnpj: enterprise.cnpj,
116
+ createdAt: oldEnterprise.createdAt,
117
+ updatedAt: oldEnterprise.updatedAt
118
+ }, { transaction })
119
+
120
+ /////////// SYSTEMUSERS | PROFILES /////////////
121
+
122
+ console.log('SYSTEMUSERS | PROFILES')
123
+
124
+ const oldSystemUsersModel = require('../legacy/models/systemUsers').model(oldDatabase, Sequelize.DataTypes)
125
+ const oldProfilesModel = require('../legacy/models/profile').model(oldDatabase, Sequelize.DataTypes)
126
+ const oldSystemUsers_ProfilesModel = require('../legacy/models/systemUsers_profiles').model(oldDatabase, Sequelize.DataTypes)
127
+
128
+ oldSystemUsersModel.belongsToMany(oldProfilesModel, {
129
+ through: oldSystemUsers_ProfilesModel,
130
+ })
131
+
132
+ const systemUsers = await oldSystemUsersModel.findAll({
133
+ include: [
134
+ {
135
+ model: oldProfilesModel,
136
+ required: true
137
+ }
138
+ ]
139
+ })
140
+
141
+ const newSystemUsersModel = require('../models/systemUsers').model(newDatabase, Sequelize.DataTypes)
142
+ const newProfilesModel = require('../models/profile').model(newDatabase, Sequelize.DataTypes)
143
+ const newSystemUsers_ProfilesModel = require('../models/systemUsers_profiles').model(newDatabase, Sequelize.DataTypes)
144
+ for (const systemUser of systemUsers) {
145
+ await newSystemUsersModel.create(systemUser.dataValues, { transaction })
146
+ for (const profile of systemUser.Profiles) {
147
+ const newProfile = await newProfilesModel.findOne({ where: { name: profile.name } })
148
+ if (!newProfile) console.warn(`CLIENTE: ${enterprise.alias} | USUÁRIO: ${systemUser.id} | PERFIL: ${profile.name} | SEM CORRESPONDÊNCIA NO NOVO BANCO DE DADOS!`)
149
+ else await newSystemUsers_ProfilesModel.create({
150
+ SystemUserId: systemUser.id,
151
+ ProfileId: newProfile.id
152
+ }, { transaction })
153
+ }
154
+ }
155
+
156
+ /////////// BRANCHES /////////////
157
+
158
+ console.log('BRANCHES')
159
+
160
+ const oldBranchesModel = require('../legacy/models/branches').model(oldDatabase, Sequelize.DataTypes)
161
+ const oldBranches = await oldBranchesModel.findAll()
162
+
163
+ const newBranchesModel = require('../models/branches').model(newDatabase, Sequelize.DataTypes)
164
+ for (const branch of oldBranches) await newBranchesModel.create(branch.dataValues, { transaction })
165
+
166
+ /////////// DEPARTMENTS /////////////
167
+
168
+ console.log('DEPARTMENTS')
169
+
170
+ const oldDepartmentsModel = require('../legacy/models/departments').model(oldDatabase, Sequelize.DataTypes)
171
+ const oldDepartments = await oldDepartmentsModel.findAll()
172
+
173
+ const newDepartmentsModel = require('../models/departments').model(newDatabase, Sequelize.DataTypes)
174
+ for (const department of oldDepartments) await newDepartmentsModel.create(department.dataValues, { transaction })
175
+
176
+ /////////// SUBDEPARTMENTS /////////////
177
+
178
+ console.log('SUBDEPARTMENTS')
179
+
180
+ const oldSubDepartmentsModel = require('../legacy/models/subDepartments').model(oldDatabase, Sequelize.DataTypes)
181
+ const oldSubDepartments = await oldSubDepartmentsModel.findAll()
182
+
183
+ const newSubDepartmentsModel = require('../models/subDepartments').model(newDatabase, Sequelize.DataTypes)
184
+ for (const subDepartment of oldSubDepartments) await newSubDepartmentsModel.create(subDepartment.dataValues, { transaction })
185
+
186
+ /////////// LINES /////////////
187
+
188
+ console.log('LINES')
189
+
190
+ const oldLinesModel = require('../legacy/models/lines').model(oldDatabase, Sequelize.DataTypes)
191
+ const oldLines = await oldLinesModel.findAll()
192
+
193
+ const newLines = oldLines.map(({ dataValues }) => ({
194
+ EnterpriseId: oldEnterprise.id,
195
+ ...dataValues
196
+ }))
197
+
198
+ const newLinesModel = require('../models/lines').model(newDatabase, Sequelize.DataTypes)
199
+ for (const line of newLines) await newLinesModel.create(line, { transaction })
200
+
201
+ /////////// SYSTEMUSERS X LINES /////////////
202
+
203
+ console.log('SYSTEMUSERS X LINES')
204
+
205
+ const oldSystemUsers_LinesModel = require('../legacy/models/systemUsers_Lines').model(oldDatabase, Sequelize.DataTypes)
206
+ const oldSystemUsers_Lines = await oldSystemUsers_LinesModel.findAll()
207
+
208
+ const newSystemUsers_LinesModel = require('../models/systemUsers_Lines').model(newDatabase, Sequelize.DataTypes)
209
+ for (const systemUser_Line of oldSystemUsers_Lines) await newSystemUsers_LinesModel.create(systemUser_Line.dataValues, { transaction })
210
+
211
+ /////////// APIKEYS /////////////
212
+
213
+ console.log('APIKEYS')
214
+
215
+ const oldApiKeysModel = require('../legacy/models/apiKeys').model(oldDatabase, Sequelize.DataTypes)
216
+ const oldApiKey = await oldApiKeysModel.findOne({ where: { EnterpriseId: oldEnterprise.id } })
217
+
218
+ if (!oldApiKey) console.warn(`CLIENTE: ${enterprise.alias} | APIKEY NÃO ENCONTRADA!`)
219
+ else {
220
+ const newApiKeysModel = require('../models/apiKeys').model(newDatabase, Sequelize.DataTypes)
221
+ await newApiKeysModel.create(oldApiKey.dataValues, { transaction })
222
+ }
223
+
224
+ /////////// CUSTOMPOSTBACKS /////////////
225
+
226
+ console.log('CUSTOMPOSTBACKS')
227
+
228
+ const oldCustomPostbacksModel = require('../legacy/models/customPostbacks').model(oldDatabase, Sequelize.DataTypes)
229
+ const oldCustomPostback = await oldCustomPostbacksModel.findOne({ where: { EnterpriseId: oldEnterprise.id } })
230
+
231
+ if (oldCustomPostback) {
232
+
233
+ const newCustomPostbacksModel = require('../models/customPostbacks').model(newDatabase, Sequelize.DataTypes)
234
+ await newCustomPostbacksModel.create(oldCustomPostback.dataValues, { transaction })
235
+ }
236
+
237
+ /////////// LINECONFIGURATIONS /////////////
238
+
239
+ console.log('LINECONFIGURATIONS')
240
+
241
+ const oldLineConfigurationsModel = require('../legacy/models/lineConfigurations').model(oldDatabase, Sequelize.DataTypes)
242
+ const oldLineConfigurations = await oldLineConfigurationsModel.findAll()
243
+ const newLineConfigurations = oldLineConfigurations.map(({ dataValues }) => ({
244
+ EnterpriseId: oldEnterprise.id,
245
+ ...dataValues
246
+ }))
247
+
248
+ const newLineConfigurationsModel = require('../models/lineConfigurations').model(newDatabase, Sequelize.DataTypes)
249
+ for (const lineConfiguration of newLineConfigurations) await newLineConfigurationsModel.create(lineConfiguration, { transaction })
250
+
251
+ /////////// ATTENDANCESCALES /////////////
252
+
253
+ console.log('ATTENDANCESCALES')
254
+
255
+ const oldAttendanceScalesModel = require('../legacy/models/attendanceScale').model(oldDatabase, Sequelize.DataTypes)
256
+ const oldAttendanceScales = await oldAttendanceScalesModel.findAll()
257
+
258
+ const newAttendanceScalesModel = require('../models/attendanceScale').model(newDatabase, Sequelize.DataTypes)
259
+ for (const attendanceScale of oldAttendanceScales) await newAttendanceScalesModel.create(attendanceScale.dataValues, { transaction })
260
+
261
+ /////////// ATTENDANCESCALEOFFS /////////////
262
+
263
+ console.log('ATTENDANCESCALEOFFS')
264
+
265
+ const oldAttendanceScaleOffsModel = require('../legacy/models/attendanceScaleOff').model(oldDatabase, Sequelize.DataTypes)
266
+ const oldAttendanceScaleOffs = await oldAttendanceScaleOffsModel.findAll()
267
+
268
+ const newAttendanceScaleOffsModel = require('../models/attendanceScaleOff').model(newDatabase, Sequelize.DataTypes)
269
+ for (const attendanceScaleOff of oldAttendanceScaleOffs) await newAttendanceScaleOffsModel.create(attendanceScaleOff.dataValues, { transaction })
270
+
271
+ /////////// QUICKMESSAGES /////////////
272
+
273
+ console.log('QUICKMESSAGES')
274
+
275
+ const oldQuickMessagesModel = require('../legacy/models/quickMessages').model(oldDatabase, Sequelize.DataTypes)
276
+ const oldQuickMessages = await oldQuickMessagesModel.findAll()
277
+ const quickMessages = oldQuickMessages.map(({ dataValues }) => ({
278
+ EnterpriseId: oldEnterprise.id,
279
+ ...dataValues
280
+ }))
281
+
282
+ const newQuickMessagesModel = require('../models/quickMessages').model(newDatabase, Sequelize.DataTypes)
283
+ for (const quickMessage of quickMessages) await newQuickMessagesModel.create(quickMessage, { transaction })
284
+
285
+ /////////// TRANSHIPINACTIVITYTRIGGERS /////////////
286
+
287
+ console.log('TRANSHIPINACTIVITYTRIGGERS')
288
+
289
+ const oldTranshipInactivityTriggersModel = require('../legacy/models/transhipInactivityTriggers').model(oldDatabase, Sequelize.DataTypes)
290
+ const oldTranshipInactivityTriggers = await oldTranshipInactivityTriggersModel.findAll()
291
+ const transhipInactivityTriggers = oldTranshipInactivityTriggers.map(({ dataValues }) => ({
292
+ EnterpriseId: oldEnterprise.id,
293
+ ...dataValues
294
+ }))
295
+
296
+ const newTranshipInactivityTriggersModel = require('../models/transhipInactivityTriggers').model(newDatabase, Sequelize.DataTypes)
297
+ for (const transhipInactivityTrigger of transhipInactivityTriggers) await newTranshipInactivityTriggersModel.create(transhipInactivityTrigger, { transaction })
298
+
299
+ /////////// CONTACTS /////////////
300
+
301
+ console.log('CONTACTS')
302
+
303
+ const oldContactsModel = require('../legacy/models/contacts').model(oldDatabase, Sequelize.DataTypes)
304
+ const oldContacts = await oldContactsModel.findAll()
305
+
306
+ const newContactsModel = require('../models/contacts').model(newDatabase, Sequelize.DataTypes)
307
+ for (const contact of oldContacts) await newContactsModel.create(contact.dataValues, { transaction })
308
+
309
+ /////////// GROUPS /////////////
310
+
311
+ console.log('GROUPS')
312
+
313
+ const oldGroupsModel = require('../legacy/models/groups').model(oldDatabase, Sequelize.DataTypes)
314
+ const oldGroups = await oldGroupsModel.findAll()
315
+
316
+ const newGroupsModel = require('../models/groups').model(newDatabase, Sequelize.DataTypes)
317
+ for (const group of oldGroups) await newGroupsModel.create(group.dataValues, { transaction })
318
+
319
+ /////////// GROUPSCONTACTS /////////////
320
+
321
+ console.log('GROUPSCONTACTS')
322
+
323
+ const oldGroupsContactsModel = require('../legacy/models/groupsContracts').model(oldDatabase, Sequelize.DataTypes)
324
+ const oldGroupsContacts = await oldGroupsContactsModel.findAll()
325
+
326
+ const newGroupsContactsModel = require('../models/groupsContracts').model(newDatabase, Sequelize.DataTypes)
327
+ for (const groupContact of oldGroupsContacts) await newGroupsContactsModel.create(groupContact.dataValues, { transaction })
328
+
329
+ /////////// FIELDS /////////////
330
+
331
+ console.log('FIELDS')
332
+
333
+ const oldFieldsModel = require('../legacy/models/fields').model(oldDatabase, Sequelize.DataTypes)
334
+ const oldFields = await oldFieldsModel.findAll()
335
+
336
+ const newFieldsModel = require('../models/fields').model(newDatabase, Sequelize.DataTypes)
337
+ for (const field of oldFields) await newFieldsModel.create(field.dataValues, { transaction })
338
+
339
+ /////////////////////////////////////////////////////////
340
+ /////////// ITLEANPROVIDERS N' IBMPROVIDERS /////////////
341
+ /////////////////////////////////////////////////////////
342
+
343
+ const newIntelligencesFile = require('../models/intelligence')
344
+ const newIntelligencesModel = newIntelligencesFile.model(newDatabase, Sequelize.DataTypes)
345
+
346
+ /////////// ITLEANPROVIDERS /////////////
347
+
348
+ console.log('ITLEANPROVIDERS')
349
+
350
+ const oldITLeanProvidersModel = require('../legacy/models/itleanProvider').model(oldDatabase, Sequelize.DataTypes)
351
+ const oldITLeanProviders = await oldITLeanProvidersModel.findAll()
352
+
353
+ const newItleanIntelligence = await newIntelligencesModel.findOne({
354
+ where: {
355
+ name: 'LeanNLP',
356
+ providerType: newIntelligencesFile.PROVIDER_TYPES.ITLEAN
357
+ }
358
+ })
359
+
360
+ if (newItleanIntelligence) {
361
+
362
+ const newITLeanProviders = oldITLeanProviders.map(({ dataValues }) => ({
363
+ ...dataValues,
364
+ IntelligenceId: newItleanIntelligence.id
365
+ }))
366
+
367
+ const newITLeanProvidersModel = require('../models/itleanProvider').model(newDatabase, Sequelize.DataTypes)
368
+
369
+ for (const itleanProvider of newITLeanProviders) await newITLeanProvidersModel.create(itleanProvider, { transaction })
370
+
371
+ } else console.warn(`IA: LeanNLP | SEM CORRESPONDÊNCIA NO NOVO BANCO DE DADOS!`)
372
+
373
+ /////////// IBMPROVIDERS /////////////
374
+
375
+ console.log('IBMPROVIDERS')
376
+
377
+ const oldIBMProvidersModel = require('../legacy/models/ibmProvider').model(oldDatabase, Sequelize.DataTypes)
378
+ const oldIBMProviders = await oldIBMProvidersModel.findAll()
379
+
380
+ const newIbmIntelligence = await newIntelligencesModel.findOne({
381
+ where: {
382
+ name: 'Watson Assistant',
383
+ providerType: newIntelligencesFile.PROVIDER_TYPES.IBM
384
+ }
385
+ })
386
+
387
+ if (newIbmIntelligence) {
388
+
389
+ const newIBMProviders = oldIBMProviders.map(({ dataValues }) => ({
390
+ ...dataValues,
391
+ IntelligenceId: newIbmIntelligence.id
392
+ }))
393
+
394
+ const newIBMProvidersModel = require('../models/ibmProvider').model(newDatabase, Sequelize.DataTypes)
395
+
396
+ for (const ibmProvider of newIBMProviders) await newIBMProvidersModel.create(ibmProvider, { transaction })
397
+
398
+ } else console.warn(`IA: Watson Assistant | SEM CORRESPONDÊNCIA NO NOVO BANCO DE DADOS!`)
399
+
400
+ /////////// SKILLS /////////////
401
+
402
+ console.log('SKILLS')
403
+
404
+ const oldSkillsModel = require('../legacy/models/skill').model(oldDatabase, Sequelize.DataTypes)
405
+ const oldIntelligencesModel = require('../legacy/models/intelligence').model(oldDatabase, Sequelize.DataTypes)
406
+
407
+ oldSkillsModel.belongsTo(oldIntelligencesModel)
408
+
409
+ const oldSkills = await oldSkillsModel.findAll({
410
+ include: [
411
+ {
412
+ model: oldIntelligencesModel,
413
+ required: true
414
+ }
415
+ ]
416
+ })
417
+
418
+ const newIntelligenceIds = {
419
+ [newIntelligencesFile.PROVIDER_TYPES.ITLEAN]: newItleanIntelligence.id,
420
+ [newIntelligencesFile.PROVIDER_TYPES.IBM]: newIbmIntelligence.id
421
+ }
422
+
423
+ const newSkills = oldSkills.map(skill => {
424
+ return {
425
+ ...skill.dataValues,
426
+ EnterpriseId: oldEnterprise.id,
427
+ IntelligenceId: newIntelligenceIds[skill.Intelligence.providerType]
428
+ }
429
+ })
430
+
431
+ const newSkillsModel = require('../models/skill').model(newDatabase, Sequelize.DataTypes)
432
+ for (const skill of newSkills) await newSkillsModel.create(skill, { transaction })
433
+
434
+ /////////// FILES /////////////
435
+
436
+ console.log('FILES')
437
+
438
+ const oldFilesModel = require('../legacy/models/files').model(oldDatabase, Sequelize.DataTypes)
439
+ const oldFiles = await oldFilesModel.findAll()
440
+
441
+ const newFilesModel = require('../models/files').model(newDatabase, Sequelize.DataTypes)
442
+ for (const file of oldFiles) await newFilesModel.create(file.dataValues, { transaction })
443
+
444
+ /////////// CHANNELS /////////////
445
+
446
+ console.log('CHANNELS')
447
+
448
+ const oldChannelsModel = require('../legacy/models/channels').model(oldDatabase, Sequelize.DataTypes)
449
+ const oldChannelTypesModel = require('../legacy/models/channelTypes').model(oldDatabase, Sequelize.DataTypes)
450
+ oldChannelsModel.belongsTo(oldChannelTypesModel)
451
+
452
+ const oldChannels = await oldChannelsModel.findAll({
453
+ include: [
454
+ {
455
+ model: oldChannelTypesModel,
456
+ required: true
457
+ }
458
+ ]
459
+ })
460
+
461
+ const newChannelTypesModel = require('../models/channelTypes').model(newDatabase, Sequelize.DataTypes)
462
+ const newChannelTypes = await newChannelTypesModel.findAll()
463
+
464
+ const newChannels = oldChannels.map(oldChannel => ({
465
+ ...oldChannel.dataValues,
466
+ EnterpriseId: oldEnterprise.id,
467
+ ChannelTypeId: (newChannelTypes.find(nct => nct.channelName == oldChannel.ChannelType.channelName)).id
468
+ }))
469
+
470
+ const newChannelsModel = require('../models/channels').model(newDatabase, Sequelize.DataTypes)
471
+
472
+ for(const channel of newChannels) await newChannelsModel.create(channel, { transaction })
473
+
474
+ /////////// MESSAGESHSMS /////////////
475
+
476
+ console.log('MESSAGESHSMS')
477
+
478
+ const oldMessagesHsmsModel = require('../legacy/models/messagesHsm').model(oldDatabase, Sequelize.DataTypes)
479
+ const oldTemplatesModel = require('../legacy/models/templates').model(oldDatabase, Sequelize.DataTypes)
480
+
481
+ oldMessagesHsmsModel.belongsTo(oldTemplatesModel)
482
+ oldMessagesHsmsModel.belongsToMany(oldChannelsModel, {
483
+ through: 'MessagesHsmChannels',
484
+ as: 'Channels',
485
+ })
486
+
487
+ const oldMessagesHsms = await oldMessagesHsmsModel.findAll({
488
+ include: [
489
+ {
490
+ model: oldTemplatesModel,
491
+ required: true
492
+ },
493
+ {
494
+ model: oldChannelsModel,
495
+ required: true,
496
+ as: 'Channels'
497
+ }
498
+ ]
499
+ })
500
+
501
+ const oldChannelTypes = await oldChannelTypesModel.findAll()
502
+
503
+ const newTemplatesModel = require('../models/templates').model(newDatabase, Sequelize.DataTypes)
504
+ const newTemplates = await newTemplatesModel.findAll()
505
+
506
+ const newMessagesHsms = oldMessagesHsms.map(oHsm => {
507
+
508
+ const oldChannelTypeId = oHsm.Template.ChannelTypeId
509
+
510
+ const oldChannelType = oldChannelTypes.find(oct => oct.id == oldChannelTypeId)
511
+
512
+ const newChannelType = newChannelTypes.find(nct => nct.channelName == oldChannelType.channelName)
513
+
514
+ const oldTemplate = oHsm.Template.title
515
+
516
+ const newTemplate = newTemplates.find(nt => nt.title == oldTemplate && nt.ChannelTypeId == newChannelType.id)
517
+
518
+ return {
519
+ message: {
520
+ ...oHsm.dataValues,
521
+ TemplateId: newTemplate.id,
522
+ },
523
+ message_channel: {
524
+ ChannelId: oHsm.Channels[0].id,
525
+ MessagesHsmId: oHsm.id
526
+ }
527
+ }
528
+ })
529
+
530
+ const newMessagesHsmsModel = require('../models/messagesHsm').model(newDatabase, Sequelize.DataTypes)
531
+ const newMessagesHsms_ChannelsModel = require('../models/messagesHsms_Channels').model(newDatabase, Sequelize.DataTypes)
532
+ for (messageHsm of newMessagesHsms) {
533
+ await newMessagesHsmsModel.create(messageHsm.message, { transaction })
534
+ await newMessagesHsms_ChannelsModel.create(messageHsm.message_channel, { transaction })
535
+ }
536
+
537
+ /////////// SENDHSMS /////////////
538
+
539
+ console.log('SENDHSMS')
540
+
541
+ const oldSendHsmsModel = require('../legacy/models/sendHsm').model(oldDatabase, Sequelize.DataTypes)
542
+ const oldSendHsms = await oldSendHsmsModel.findAll()
543
+
544
+ const newSendHsms = oldSendHsms.map(({ dataValues }) => ({
545
+ ...dataValues,
546
+ MessagesHsmId: dataValues.messageId
547
+ }))
548
+
549
+ const newSendHsmsModel = require('../models/sendHsm').model(newDatabase, Sequelize.DataTypes)
550
+ for (const sendHsm of newSendHsms) await newSendHsmsModel.create(sendHsm, { transaction })
551
+
552
+ /////////// GROUPSSENDHSMS /////////////
553
+
554
+ console.log('GROUPSSENDHSMS')
555
+
556
+ const oldGroupsSendHsmsModel = require('../legacy/models/groupsSendHsms').model(oldDatabase, Sequelize.DataTypes)
557
+ const oldGroupsSendHsms = await oldGroupsSendHsmsModel.findAll()
558
+
559
+ const newdGroupsSendHsmsModel = require('../models/groupsSendHsms').model(newDatabase, Sequelize.DataTypes)
560
+ for (const groupSendHsm of oldGroupsSendHsms) await newdGroupsSendHsmsModel.create(groupSendHsm.dataValues, { transaction })
561
+
562
+ /////////// INTENTIONS /////////////
563
+
564
+ console.log('INTENTIONS')
565
+
566
+ const oldIntentionsModel = require('../legacy/models/intention').model(oldDatabase, Sequelize.DataTypes)
567
+ const oldIntentions = await oldIntentionsModel.findAll()
568
+
569
+ const newIntentions = oldIntentions.map(({ dataValues }) => ({
570
+ ...dataValues,
571
+ EnterpriseId: oldEnterprise.id
572
+ }))
573
+
574
+ const newIntentionsModel = require('../models/intention').model(newDatabase, Sequelize.DataTypes)
575
+ for (const intention of newIntentions) await newIntentionsModel.create(intention, { transaction })
576
+
577
+ /////////// INTENTIONVALUES /////////////
578
+
579
+ console.log('INTENTIONVALUES')
580
+
581
+ const oldIntentionValuesModel = require('../legacy/models/intentionValue').model(oldDatabase, Sequelize.DataTypes)
582
+ const oldIntentionValues = await oldIntentionValuesModel.findAll()
583
+
584
+ const newIntentionValues = oldIntentionValues.map(({ dataValues }) => ({
585
+ ...dataValues,
586
+ EnterpriseId: oldEnterprise.id
587
+ }))
588
+
589
+ const newIntentionValuesModel = require('../models/intentionValue').model(newDatabase, Sequelize.DataTypes)
590
+ for (const intentionValue of newIntentionValues) await newIntentionValuesModel.create(intentionValue, { transaction })
591
+
592
+ /////////// ENTITIES /////////////
593
+
594
+ console.log('ENTITIES')
595
+
596
+ const oldEntitiesModel = require('../legacy/models/entity').model(oldDatabase, Sequelize.DataTypes)
597
+ const oldEntities = await oldEntitiesModel.findAll()
598
+
599
+ const newEntities = oldEntities.map(({ dataValues }) => ({
600
+ ...dataValues,
601
+ EnterpriseId: oldEnterprise.id
602
+ }))
603
+
604
+ const newEntitiesModel = require('../models/entity').model(newDatabase, Sequelize.DataTypes)
605
+ for (const entity of newEntities) await newEntitiesModel.create(entity, { transaction })
606
+
607
+ /////////// ENTITYVALUES /////////////
608
+
609
+ console.log('ENTITYVALUES')
610
+
611
+ const oldEntityValuesModel = require('../legacy/models/entityValues').model(oldDatabase, Sequelize.DataTypes)
612
+ const oldEntityValues = await oldEntityValuesModel.findAll()
613
+
614
+ const newEntityValues = oldEntityValues.map(({ dataValues }) => ({
615
+ ...dataValues,
616
+ EnterpriseId: oldEnterprise.id
617
+ }))
618
+
619
+ const newEntityValuesModel = require('../models/entityValues').model(newDatabase, Sequelize.DataTypes)
620
+ for (const entityValue of newEntityValues) await newEntityValuesModel.create(entityValue, { transaction })
621
+
622
+ /////////// SYNONYMS /////////////
623
+
624
+ console.log('SYNONYMS')
625
+
626
+ const oldSynonymsModel = require('../legacy/models/synonyms').model(oldDatabase, Sequelize.DataTypes)
627
+ const oldSynonyms = await oldSynonymsModel.findAll()
628
+
629
+ const newSynonyms = oldSynonyms.map(({ dataValues }) => ({
630
+ ...dataValues,
631
+ EnterpriseId: oldEnterprise.id
632
+ }))
633
+
634
+ const newSynonymsModel = require('../models/synonyms').model(newDatabase, Sequelize.DataTypes)
635
+ for (const synonym of newSynonyms) await newSynonymsModel.create(synonym, { transaction })
636
+
637
+ /////////// RESPONSES /////////////
638
+
639
+ console.log('RESPONSES')
640
+
641
+ const oldResponsesModel = require('../legacy/models/responses').model(oldDatabase, Sequelize.DataTypes)
642
+ const oldResponses = await oldResponsesModel.findAll()
643
+
644
+ const newResponses = oldResponses.map(({ dataValues }) => ({
645
+ ...dataValues,
646
+ EnterpriseId: oldEnterprise.id
647
+ }))
648
+
649
+ const newResponsesModel = require('../models/responses').model(newDatabase, Sequelize.DataTypes)
650
+ for (const response of newResponses) await newResponsesModel.create(response, { transaction })
651
+
652
+ /////////// RESPONSESBOXES /////////////
653
+
654
+ console.log('RESPONSESBOXES')
655
+
656
+ const oldResponsesBoxesModel = require('../legacy/models/responsesBoxes').model(oldDatabase, Sequelize.DataTypes)
657
+ const oldResponsesBoxes = await oldResponsesBoxesModel.findAll()
658
+
659
+ const newResponsesBoxes = oldResponsesBoxes.map(({ dataValues }) => {
660
+ const oldChannelType = oldChannelTypes.find(oct => oct.id == dataValues.ChannelTypeId)
661
+ const newChannelType = newChannelTypes.find(nct => nct.channelName == oldChannelType.channelName)
662
+ return {
663
+ ...dataValues,
664
+ ChannelTypeId: newChannelType.id,
665
+ EnterpriseId: oldEnterprise.id,
666
+ payload: JSON.parse(dataValues.payload)
667
+ }
668
+ })
669
+
670
+ const newResponsesBoxesModel = require('../models/responsesBoxes').model(newDatabase, Sequelize.DataTypes)
671
+ for (const responseBox of newResponsesBoxes) await newResponsesBoxesModel.create(responseBox, { transaction })
672
+
673
+ /////////// OPENFAQS /////////////
674
+
675
+ console.log('OPENFAQS')
676
+
677
+ const oldOpenFaqsModel = require('../legacy/models/openFaqs').model(oldDatabase, Sequelize.DataTypes)
678
+ const oldOpenFaqs = await oldOpenFaqsModel.findAll()
679
+
680
+ const newdOpenFaqs = oldOpenFaqs.map(({ dataValues }) => ({
681
+ ...dataValues,
682
+ EnterpriseId: oldEnterprise.id
683
+ }))
684
+
685
+ const newOpenFaqsModel = require('../models/openFaqs').model(newDatabase, Sequelize.DataTypes)
686
+ for (const openFaqs of newdOpenFaqs) await newOpenFaqsModel.create(openFaqs, { transaction })
687
+
688
+ /////////// FAQQUESTIONS /////////////
689
+
690
+ console.log('FAQQUESTIONS')
691
+
692
+ const oldFaqQuestionsModel = require('../legacy/models/faqQuestions').model(oldDatabase, Sequelize.DataTypes)
693
+ const oldFaqQuestions = await oldFaqQuestionsModel.findAll()
694
+
695
+ const newFaqQuestions = oldFaqQuestions.map(({ dataValues }) => ({
696
+ ...dataValues,
697
+ EnterpriseId: oldEnterprise.id
698
+ }))
699
+
700
+ const newFaqQuestionsModel = require('../models/faqQuestions').model(newDatabase, Sequelize.DataTypes)
701
+ for (const faqQuestion of newFaqQuestions) await newFaqQuestionsModel.create(faqQuestion, { transaction })
702
+
703
+ /////////// APIS /////////////
704
+
705
+ console.log('APIS')
706
+
707
+ const oldApisModel = require('../legacy/models/apis').model(oldDatabase, Sequelize.DataTypes)
708
+ const oldApis = await oldApisModel.findAll()
709
+
710
+ const newApisModel = require('../models/apis').model(newDatabase, Sequelize.DataTypes)
711
+ for (const api of oldApis) await newApisModel.create(api.dataValues, { transaction })
712
+
713
+ /////////// APIRESOURCESBODIES /////////////
714
+
715
+ console.log('APIRESOURCESBODIES')
716
+
717
+ const oldApiResourcesBodiesModel = require('../legacy/models/apiResourceBodies').model(oldDatabase, Sequelize.DataTypes)
718
+ const oldApiResourcesBodies = await oldApiResourcesBodiesModel.findAll()
719
+
720
+ const newApiResourcesBodies = oldApiResourcesBodies.map(({ dataValues }) => ({
721
+ ...dataValues,
722
+ EnterpriseId: oldEnterprise.id
723
+ }))
724
+
725
+ const newApiResourcesBodiesModel = require('../models/apiResourceBodies').model(newDatabase, Sequelize.DataTypes)
726
+ for (const resourceBody of newApiResourcesBodies) await newApiResourcesBodiesModel.create(resourceBody, { transaction })
727
+
728
+ /////////// APIRESOURCES /////////////
729
+
730
+ console.log('APIRESOURCES')
731
+
732
+ const oldApiResourcesModel = require('../legacy/models/apiResources').model(oldDatabase, Sequelize.DataTypes)
733
+ const oldApiResources = await oldApiResourcesModel.findAll()
734
+
735
+ const newApiResources = oldApiResources.map(({ dataValues }) => ({
736
+ ...dataValues,
737
+ EnterpriseId: oldEnterprise.id
738
+ }))
739
+
740
+ const newApiResourcesModel = require('../models/apiResources').model(newDatabase, Sequelize.DataTypes)
741
+ for (const resource of newApiResources) await newApiResourcesModel.create(resource, { transaction })
742
+
743
+ /////////// APIPREREQUESTS /////////////
744
+
745
+ console.log('APIPREREQUESTS')
746
+
747
+ const oldApiPreRequestsModel = require('../legacy/models/apiPreRequest').model(oldDatabase, Sequelize.DataTypes)
748
+ const oldApiPreRequests = await oldApiPreRequestsModel.findAll()
749
+
750
+ const newApiPreRequests = oldApiPreRequests.map(({ dataValues }) => ({
751
+ ...dataValues,
752
+ EnterpriseId: oldEnterprise.id
753
+ }))
754
+
755
+ const newApiPreRequestsModel = require('../models/apiPreRequest').model(newDatabase, Sequelize.DataTypes)
756
+ for (const preRequest of newApiPreRequests) await newApiPreRequestsModel.create(preRequest, { transaction })
757
+
758
+ /////////// APIRESOURCESHEADERS /////////////
759
+
760
+ console.log('APIRESOURCESHEADERS')
761
+
762
+ const oldApiResourcesHeadersModel = require('../legacy/models/apiResourceHeaders').model(oldDatabase, Sequelize.DataTypes)
763
+ const oldApiResourcesHeaders = await oldApiResourcesHeadersModel.findAll()
764
+
765
+ const newApiResourcesHeaders = oldApiResourcesHeaders.map(({ dataValues }) => ({
766
+ ...dataValues,
767
+ EnterpriseId: oldEnterprise.id
768
+ }))
769
+
770
+ const newApiResourcesHeadersModel = require('../models/apiResourceHeaders').model(newDatabase, Sequelize.DataTypes)
771
+ for (const header of newApiResourcesHeaders) await newApiResourcesHeadersModel.create(header, { transaction })
772
+
773
+ /////////// APIRESOURCESPATHPARAMS /////////////
774
+
775
+ console.log('APIRESOURCESPATHPARAMS')
776
+
777
+ const oldApiResourcesPathParamsModel = require('../legacy/models/apiResourcePathParams').model(oldDatabase, Sequelize.DataTypes)
778
+ const oldApiResourcesPathParams = await oldApiResourcesPathParamsModel.findAll()
779
+
780
+ const newApiResourcesPathParams = oldApiResourcesPathParams.map(({ dataValues }) => ({
781
+ ...dataValues,
782
+ EnterpriseId: oldEnterprise.id
783
+ }))
784
+
785
+ const newApiResourcesPathParamsModel = require('../models/apiResourcePathParams').model(newDatabase, Sequelize.DataTypes)
786
+ for (const pathParam of newApiResourcesPathParams) await newApiResourcesPathParamsModel.create(pathParam, { transaction })
787
+
788
+ /////////// APIRESOURCESQUERYSTRINGPARAMS /////////////
789
+
790
+ console.log('APIRESOURCESQUERYSTRINGPARAMS')
791
+
792
+ const oldApiResourcesQueryStringParamsModel = require('../legacy/models/apiResourceQueryStringParams').model(oldDatabase, Sequelize.DataTypes)
793
+ const oldApiResourcesQueryStringParams = await oldApiResourcesQueryStringParamsModel.findAll()
794
+
795
+ const newApiResourcesQueryStringParams = oldApiResourcesQueryStringParams.map(({ dataValues }) => ({
796
+ ...dataValues,
797
+ EnterpriseId: oldEnterprise.id
798
+ }))
799
+
800
+ const newApiResourcesQueryStringParamsModel = require('../models/apiResourceQueryStringParams').model(newDatabase, Sequelize.DataTypes)
801
+ for (const queryString of newApiResourcesQueryStringParams) await newApiResourcesQueryStringParamsModel.create(queryString, { transaction })
802
+
803
+ /////////// CLIENTS /////////////
804
+
805
+ console.log('CLIENTS')
806
+
807
+ console.log('Migrando Clientes')
808
+
809
+ const oldClientsModel = require('../legacy/models/client').model(oldDatabase, Sequelize.DataTypes)
810
+ const oldClientsCount = await oldClientsModel.count({
811
+ order: [['createdAt', 'ASC']]
812
+ })
813
+
814
+ const newClientsModel = require('../models/client').model(newDatabase, Sequelize.DataTypes)
815
+
816
+ console.log('total de clientes:', oldClientsCount)
817
+
818
+ const pages = Math.ceil(oldClientsCount / 5000)
819
+
820
+ console.log('total de páginas:', pages)
821
+
822
+ for (let i = 0; i < pages; i++) {
823
+
824
+ console.log(`processando: página ${i + 1} de ${pages}`)
825
+
826
+ const offset = i * 5000
827
+
828
+ const oldClients = await oldClientsModel.findAll({
829
+ order: [['createdAt', 'ASC']],
830
+ offset, limit: 5000
831
+ })
832
+
833
+ const newClients = oldClients.map(({ dataValues }) => ({
834
+ ...dataValues,
835
+ EnterpriseId: oldEnterprise.id
836
+ }))
837
+
838
+ for (const client of newClients) await newClientsModel.create(client, { transaction })
839
+ }
840
+
841
+ /////////// PUBLICATIONS /////////////
842
+
843
+ console.log('PUBLICATIONS')
844
+
845
+ const oldPublicationsModel = require('../legacy/models/publications').model(oldDatabase, Sequelize.DataTypes)
846
+ const oldPublications = await oldPublicationsModel.findAll()
847
+
848
+ const newPublications = oldPublications.map(({ dataValues }) => ({
849
+ ...dataValues,
850
+ EnterpriseId: oldEnterprise.id
851
+ }))
852
+
853
+ const newPublicationsModel = require('../models/publications').model(newDatabase, Sequelize.DataTypes)
854
+ for (const publication of newPublications) await newPublicationsModel.create(publication, { transaction })
855
+
856
+ /////////// SENDHSMRETURNHSMS /////////////
857
+
858
+ console.log('SENDHSMRETURNHSMS')
859
+
860
+ console.log('Migrando SENDHSMRETURNHSMS')
861
+
862
+ const oldSendHsmReturHsmsModel = require('../legacy/models/sendHsmReturnHsm').model(oldDatabase, Sequelize.DataTypes)
863
+ const oldSendHsmReturHsmsCount = await oldSendHsmReturHsmsModel.count({
864
+ order: [['createdAt', 'ASC']]
865
+ })
866
+
867
+ const newSendHsmReturHsmsModel = require('../models/sendHsmReturnHsm').model(newDatabase, Sequelize.DataTypes)
868
+
869
+ console.log('total de SENDHSMRETURNHSMS:', oldSendHsmReturHsmsCount)
870
+
871
+ const pagesSendHsmReturHsms = Math.ceil(oldSendHsmReturHsmsCount / 1000)
872
+
873
+ console.log('total de páginas:', pagesSendHsmReturHsms)
874
+
875
+ for (let i = 0; i < pagesSendHsmReturHsms; i++) {
876
+
877
+ console.log(`processando: página ${i + 1} de ${pagesSendHsmReturHsms}`)
878
+
879
+ const offset = i * 1000
880
+
881
+ const oldSendHsmReturHsms = await oldSendHsmReturHsmsModel.findAll({
882
+ attributes: { exclude: ['id'] },
883
+ order: [['createdAt', 'ASC']],
884
+ offset, limit: 1000
885
+ })
886
+
887
+ const newSendHsmReturHsms = oldSendHsmReturHsms.map(({ dataValues }) => dataValues)
888
+ console.log('inserindo registros...')
889
+ await newSendHsmReturHsmsModel.bulkCreate(newSendHsmReturHsms, { transaction })
890
+ }
891
+
892
+ /////////// SESSIONS /////////////
893
+
894
+ console.log('SESSIONS')
895
+
896
+ console.log('Migrando Sessões')
897
+
898
+ const oldSessionsModel = require('../legacy/models/sessions').model(oldDatabase, Sequelize.DataTypes)
899
+ const oldSessionsCount = await oldSessionsModel.count({
900
+ order: [['createdAt', 'ASC']]
901
+ })
902
+
903
+ const newSessionsModel = require('../models/sessions').model(newDatabase, Sequelize.DataTypes)
904
+
905
+ console.log('total de sessões:', oldSessionsCount)
906
+
907
+ const pagesSessions = Math.ceil(oldSessionsCount / 5000)
908
+
909
+ console.log('total de páginas:', pagesSessions)
910
+
911
+ for (let i = 0; i < pagesSessions; i++) {
912
+
913
+ console.log(`processando: página ${i + 1} de ${pagesSessions}`)
914
+
915
+ const offset = i * 5000
916
+
917
+ const oldSessions = await oldSessionsModel.findAll({
918
+ order: [['createdAt', 'ASC']],
919
+ offset, limit: 5000
920
+ })
921
+
922
+ const newSessions = oldSessions.map(({ dataValues }) => ({
923
+ ...dataValues,
924
+ EnterpriseId: oldEnterprise.id
925
+ }))
926
+
927
+ for (const session of newSessions) await newSessionsModel.create(session, { transaction })
928
+ }
929
+
930
+ /////////// SESSIONSPREREPORTS /////////////
931
+
932
+ console.log('SESSIONSPREREPORTS')
933
+
934
+ const oldSessionsPreReportsModel = require('../legacy/models/sessionsPreReports').model(oldDatabase, Sequelize.DataTypes)
935
+ const oldSessionsPreReports = await oldSessionsPreReportsModel.findAll()
936
+
937
+ const newSessionsPreReports = oldSessionsPreReports.map(({ dataValues }) => ({
938
+ ...dataValues,
939
+ EnterpriseId: oldEnterprise.id
940
+ }))
941
+
942
+ const newSessionsPreReportsModel = require('../models/sessionsPreReports').model(newDatabase, Sequelize.DataTypes)
943
+ for (const preReport of newSessionsPreReports) await newSessionsPreReportsModel.create(preReport, { transaction })
944
+
945
+ /////////// STOPWORDS /////////////
946
+
947
+ console.log('STOPWORDS')
948
+
949
+ const oldStopwordsModel = require('../legacy/models/stopwords').model(oldDatabase, Sequelize.DataTypes)
950
+ const oldStopwords = await oldStopwordsModel.findAll()
951
+
952
+ const newStopwordsModel = require('../models/stopwords').model(newDatabase, Sequelize.DataTypes)
953
+ for (const stopword of oldStopwords) await newStopwordsModel.create(stopword.dataValues, { transaction })
954
+
955
+ /////////// CONVERSATIONSESSIONS /////////////
956
+
957
+ console.log('CONVERSATIONSESSIONS')
958
+
959
+ const oldConversationSessionsModel = require('../legacy/models/conversationSessions').model(oldDatabase, Sequelize.DataTypes)
960
+ const oldConversationSessionsCount = await oldConversationSessionsModel.count({
961
+ order: [['createdAt', 'ASC']]
962
+ })
963
+
964
+ const newConversationSessionsModel = require('../models/conversationSessions').model(newDatabase, Sequelize.DataTypes)
965
+
966
+ console.log('total de CONVERSATIONSESSIONS:', oldConversationSessionsCount)
967
+
968
+ const pagesConversationSessions = Math.ceil(oldConversationSessionsCount / 1000)
969
+
970
+ console.log('total de páginas:', pagesConversationSessions)
971
+
972
+ for (let i = 0; i < pagesConversationSessions; i++) {
973
+
974
+ console.log(`processando: página ${i + 1} de ${pagesConversationSessions}`)
975
+
976
+ const offset = i * 1000
977
+
978
+ const oldConversationSessions = await oldConversationSessionsModel.findAll({
979
+ attributes: { exclude: ['id'] },
980
+ order: [['createdAt', 'ASC']],
981
+ offset, limit: 1000
982
+ })
983
+
984
+ const newConversationSessions = oldConversationSessions.map(({ dataValues }) => {
985
+ const { channelName } = oldChannelTypes.find(oct => oct.id == dataValues.ChannelTypeId)
986
+ const { id } = newChannelTypes.find(nct => nct.channelName == channelName)
987
+ return {
988
+ ...dataValues,
989
+ ChannelTypeId: id,
990
+ EnterpriseId: oldEnterprise.id,
991
+ }
992
+ })
993
+
994
+ console.log('inserindo registros...')
995
+ await newConversationSessionsModel.bulkCreate(newConversationSessions, { transaction })
996
+ }
997
+
998
+ /////////// DIALOGNODES /////////////
999
+
1000
+ console.log('DIALOGNODES')
1001
+
1002
+ const oldDialogNodesModel = require('../legacy/models/dialogNodes').model(oldDatabase, Sequelize.DataTypes)
1003
+ const oldDialogNodesCount = await oldDialogNodesModel.count({
1004
+ order: [['isMultipleResponse'], ['SkillId'], ['DialogNodeFolderId'], ['step']]
1005
+ })
1006
+
1007
+ const newDialogNodesModel = require('../models/dialogNodes').model(newDatabase, Sequelize.DataTypes)
1008
+
1009
+ console.log('total de nós:', oldDialogNodesCount)
1010
+
1011
+ const pagesDialogNodes = Math.ceil(oldDialogNodesCount / 5000)
1012
+
1013
+ console.log('total de páginas:', pagesDialogNodes)
1014
+
1015
+ for (let i = 0; i < pagesDialogNodes; i++) {
1016
+
1017
+ console.log(`processando: página ${i + 1} de ${pagesDialogNodes}`)
1018
+
1019
+ const offset = i * 5000
1020
+
1021
+ const oldDialogNodes = await oldDialogNodesModel.findAll({
1022
+ order: [['isMultipleResponse'], ['SkillId'], ['DialogNodeFolderId'], ['step']],
1023
+ offset, limit: 5000
1024
+ })
1025
+
1026
+ const newDialogNodes = oldDialogNodes.map(({ dataValues }) => ({
1027
+ ...dataValues,
1028
+ EnterpriseId: oldEnterprise.id
1029
+ }))
1030
+
1031
+ for (const dialogNode of newDialogNodes) await newDialogNodesModel.create(dialogNode, { transaction })
1032
+ }
1033
+
1034
+ /////////// DIALOGNODESPREREPORTS /////////////
1035
+
1036
+ console.log('DIALOGNODESPREREPORTS')
1037
+
1038
+ const oldDialogNodesPreReportsModel = require('../legacy/models/dialogNodesPreReports').model(oldDatabase, Sequelize.DataTypes)
1039
+ const oldDialogNodesPreReportsCount = await oldDialogNodesPreReportsModel.count({
1040
+ order: [['createdAt', 'ASC']]
1041
+ })
1042
+
1043
+ const newDialogNodesPreReportsModel = require('../models/dialogNodesPreReports').model(newDatabase, Sequelize.DataTypes)
1044
+
1045
+ console.log('total de DIALOGNODESPREREPORTS:', oldDialogNodesPreReportsCount)
1046
+
1047
+ const pagesDialogNodesPreReports = Math.ceil(oldDialogNodesPreReportsCount / 1000)
1048
+
1049
+ console.log('total de páginas:', pagesDialogNodesPreReports)
1050
+
1051
+ for (let i = 0; i < pagesDialogNodesPreReports; i++) {
1052
+
1053
+ console.log(`processando: página ${i + 1} de ${pagesDialogNodesPreReports}`)
1054
+
1055
+ const offset = i * 1000
1056
+
1057
+ const oldDialogNodesPreReports = await oldDialogNodesPreReportsModel.findAll({
1058
+ attributes: { exclude: ['id'] },
1059
+ order: [['createdAt', 'ASC']],
1060
+ offset, limit: 1000
1061
+ })
1062
+
1063
+ const newDialogNodesPreReports = oldDialogNodesPreReports.map(({ dataValues }) => ({
1064
+ ...dataValues,
1065
+ EnterpriseId: oldEnterprise.id,
1066
+ }))
1067
+
1068
+ console.log('inserindo registros...')
1069
+ await newDialogNodesPreReportsModel.bulkCreate(newDialogNodesPreReports, { transaction })
1070
+ }
1071
+
1072
+ /////////// DIALOGNODES_APIRESOURCES /////////////
1073
+
1074
+ console.log('DIALOGNODES_APIRESOURCES')
1075
+
1076
+ const oldDialogNodes_ApiResourcesModel = require('../legacy/models/dialogNodes_apiResources').model(oldDatabase, Sequelize.DataTypes)
1077
+ const oldDialogNodes_ApiResourcesCount = await oldDialogNodes_ApiResourcesModel.count({
1078
+ order: [['createdAt', 'ASC']]
1079
+ })
1080
+
1081
+ const newDialogNodes_ApiResourcesModel = require('../models/dialogNodes_apiResources').model(newDatabase, Sequelize.DataTypes)
1082
+
1083
+ console.log('total de nós:', oldDialogNodes_ApiResourcesCount)
1084
+
1085
+ const pagesDialogNodes_ApiResources = Math.ceil(oldDialogNodes_ApiResourcesCount / 1000)
1086
+
1087
+ console.log('total de páginas:', pagesDialogNodes_ApiResources)
1088
+
1089
+ for (let i = 0; i < pagesDialogNodes_ApiResources; i++) {
1090
+
1091
+ console.log(`processando: página ${i + 1} de ${pagesDialogNodes_ApiResources}`)
1092
+
1093
+ const offset = i * 1000
1094
+
1095
+ const oldDialogNodes_ApiResources = await oldDialogNodes_ApiResourcesModel.findAll({
1096
+ attributes: { exclude: ['id'] },
1097
+ order: [['createdAt', 'ASC']],
1098
+ offset, limit: 1000
1099
+ })
1100
+
1101
+ const newDialogNodes_ApiResources = oldDialogNodes_ApiResources.map(({ dataValues }) => dataValues)
1102
+
1103
+ await newDialogNodes_ApiResourcesModel.bulkCreate(newDialogNodes_ApiResources, { transaction })
1104
+ }
1105
+
1106
+ /////////// DIALOGNODES_MULTIPLERESPONSES /////////////
1107
+
1108
+ console.log('DIALOGNODES_MULTIPLERESPONSES')
1109
+
1110
+ const oldDialogNodes_MultipleResponsesModel = require('../legacy/models/dialogNodes_MultipleResponses').model(oldDatabase, Sequelize.DataTypes)
1111
+ const oldDialogNodes_MultipleResponsesCount = await oldDialogNodes_MultipleResponsesModel.count({
1112
+ order: [['createdAt', 'ASC']]
1113
+ })
1114
+
1115
+ const newDialogNodes_MultipleResponsesModel = require('../models/dialogNodes_MultipleResponses').model(newDatabase, Sequelize.DataTypes)
1116
+
1117
+ console.log('total de nós:', oldDialogNodes_MultipleResponsesCount)
1118
+
1119
+ const pagesDialogNodes_MultipleResponses = Math.ceil(oldDialogNodes_MultipleResponsesCount / 1000)
1120
+
1121
+ console.log('total de páginas:', pagesDialogNodes_MultipleResponses)
1122
+
1123
+ for (let i = 0; i < pagesDialogNodes_MultipleResponses; i++) {
1124
+
1125
+ console.log(`processando: página ${i + 1} de ${pagesDialogNodes_MultipleResponses}`)
1126
+
1127
+ const offset = i * 1000
1128
+
1129
+ const oldDialogNodes_MultipleResponses = await oldDialogNodes_MultipleResponsesModel.findAll({
1130
+ attributes: { exclude: ['id'] },
1131
+ order: [['createdAt', 'ASC']],
1132
+ offset, limit: 1000
1133
+ })
1134
+
1135
+ const newDialogNodes_MultipleResponses = oldDialogNodes_MultipleResponses.map(({ dataValues }) => dataValues)
1136
+
1137
+ await newDialogNodes_MultipleResponsesModel.bulkCreate(newDialogNodes_MultipleResponses, { transaction })
1138
+ }
1139
+
1140
+ /////////// DIALOGNODES_MULTIPLERESPONSES /////////////
1141
+
1142
+ console.log('RESPONSE_DIALOGNODES')
1143
+
1144
+ const oldResponse_DialogNodesModel = require('../legacy/models/response_DialogNodes').model(oldDatabase, Sequelize.DataTypes)
1145
+ const oldResponse_DialogNodesCount = await oldResponse_DialogNodesModel.count({
1146
+ order: [['DialogNodeId'], ['order'], ['createdAt']]
1147
+ })
1148
+
1149
+ const newResponse_DialogNodesModel = require('../models/response_DialogNodes').model(newDatabase, Sequelize.DataTypes)
1150
+
1151
+ console.log('total de nós:', oldResponse_DialogNodesCount)
1152
+
1153
+ const pagesResponse_DialogNodes = Math.ceil(oldResponse_DialogNodesCount / 1000)
1154
+
1155
+ console.log('total de páginas:', pagesResponse_DialogNodes)
1156
+
1157
+ for (let i = 0; i < pagesResponse_DialogNodes; i++) {
1158
+
1159
+ console.log(`processando: página ${i + 1} de ${pagesResponse_DialogNodes}`)
1160
+
1161
+ const offset = i * 1000
1162
+
1163
+ const oldResponse_DialogNodes = await oldResponse_DialogNodesModel.findAll({
1164
+ attributes: { exclude: ['id'] },
1165
+ order: [['DialogNodeId'], ['order'], ['createdAt']],
1166
+ offset, limit: 1000
1167
+ })
1168
+
1169
+ const newResponse_DialogNodes = oldResponse_DialogNodes.map(({ dataValues }) => dataValues)
1170
+
1171
+ await newResponse_DialogNodesModel.bulkCreate(newResponse_DialogNodes, { transaction })
1172
+ }
1173
+
1174
+ /////////// TRANSHIPTRIGGERS /////////////
1175
+
1176
+ console.log('TRANSHIPTRIGGERS')
1177
+
1178
+ const oldTranshipTriggersModel = require('../legacy/models/transhipTriggers').model(oldDatabase, Sequelize.DataTypes)
1179
+ const oldTranshipTriggers = await oldTranshipTriggersModel.findAll()
1180
+
1181
+ const newTranshipTriggersModel = require('../models/transhipTriggers').model(newDatabase, Sequelize.DataTypes)
1182
+ for (const TranshipTrigger of oldTranshipTriggers) await newTranshipTriggersModel.create(TranshipTrigger.dataValues, { transaction })
1183
+
1184
+ /////////// ATTENDANCES /////////////
1185
+
1186
+ console.log('ATTENDANCES')
1187
+
1188
+ console.log('Migrando ATTENDANCES')
1189
+
1190
+ const oldAttendancesModel = require('../legacy/models/attendances').model(oldDatabase, Sequelize.DataTypes)
1191
+ const oldAttendancesCount = await oldAttendancesModel.count({
1192
+ order: [['LineId'], ['createdAt']]
1193
+ })
1194
+
1195
+ const newAttendancesModel = require('../models/attendances').model(newDatabase, Sequelize.DataTypes)
1196
+
1197
+ console.log('total de atendimentos:', oldAttendancesCount)
1198
+
1199
+ const pagesAttendances = Math.ceil(oldAttendancesCount / 5000)
1200
+
1201
+ console.log('total de páginas:', pagesAttendances)
1202
+
1203
+ for (let i = 0; i < pagesAttendances; i++) {
1204
+
1205
+ console.log(`processando: página ${i + 1} de ${pagesAttendances}`)
1206
+
1207
+ const offset = i * 5000
1208
+
1209
+ const oldAttendances = await oldAttendancesModel.findAll({
1210
+ order: [['LineId'], ['createdAt']],
1211
+ offset, limit: 5000
1212
+ })
1213
+
1214
+ const newAttendances = oldAttendances.map(({ dataValues }) => ({
1215
+ ...dataValues,
1216
+ EnterpriseId: oldEnterprise.id
1217
+ }))
1218
+
1219
+ for (const attendance of newAttendances) await newAttendancesModel.create(attendance, { transaction })
1220
+ }
1221
+
1222
+ /////////// COMMENTS /////////////
1223
+
1224
+ console.log('COMMENTS')
1225
+
1226
+ console.log('Migrando COMMENTS')
1227
+
1228
+ const oldCommentsModel = require('../legacy/models/comments').model(oldDatabase, Sequelize.DataTypes)
1229
+ const oldCommentsCount = await oldCommentsModel.count({
1230
+ order: [['createdAt']]
1231
+ })
1232
+
1233
+ const newCommentsModel = require('../models/comments').model(newDatabase, Sequelize.DataTypes)
1234
+
1235
+ console.log('total de comentários:', oldCommentsCount)
1236
+
1237
+ const pagesComments = Math.ceil(oldCommentsCount / 5000)
1238
+
1239
+ console.log('total de páginas:', pagesComments)
1240
+
1241
+ for (let i = 0; i < pagesComments; i++) {
1242
+
1243
+ console.log(`processando: página ${i + 1} de ${pagesComments}`)
1244
+
1245
+ const offset = i * 5000
1246
+
1247
+ const oldComments = await oldCommentsModel.findAll({
1248
+ order: [['createdAt']],
1249
+ offset, limit: 5000
1250
+ })
1251
+
1252
+ const newComments = oldComments.map(({ dataValues }) => ({
1253
+ ...dataValues,
1254
+ EnterpriseId: oldEnterprise.id
1255
+ }))
1256
+
1257
+ for (const comment of newComments) await newCommentsModel.create(comment, { transaction })
1258
+ }
1259
+
1260
+ /////////// ENDSESSIONTRIGGERS /////////////
1261
+
1262
+ console.log('ENDSESSIONTRIGGERS')
1263
+
1264
+ const oldEndSessionTriggersModel = require('../legacy/models/endSessionTriggers').model(oldDatabase, Sequelize.DataTypes)
1265
+ const oldEndSessionTriggers = await oldEndSessionTriggersModel.findAll()
1266
+
1267
+ const newEndSessionTriggersModel = require('../models/endSessionTriggers').model(newDatabase, Sequelize.DataTypes)
1268
+ for (const endSessionTrigger of oldEndSessionTriggers) await newEndSessionTriggersModel.create(endSessionTrigger.dataValues, { transaction })
1269
+
1270
+ /////////// FAQTRIGGERS /////////////
1271
+
1272
+ console.log('FAQTRIGGERS')
1273
+
1274
+ const oldFaqTriggersModel = require('../legacy/models/faqTriggers').model(oldDatabase, Sequelize.DataTypes)
1275
+ const oldFaqTriggers = await oldFaqTriggersModel.findAll()
1276
+
1277
+ const newFaqTriggersModel = require('../models/faqTriggers').model(newDatabase, Sequelize.DataTypes)
1278
+ for (const FaqTrigger of oldFaqTriggers) await newFaqTriggersModel.create(FaqTrigger.dataValues, { transaction })
1279
+
1280
+ /////////// INACTIVITYTRIGGERS /////////////
1281
+
1282
+ console.log('INACTIVITYTRIGGERS')
1283
+
1284
+ const oldInactivityTriggersModel = require('../legacy/models/inactivityTriggers').model(oldDatabase, Sequelize.DataTypes)
1285
+ const oldInactivityTriggers = await oldInactivityTriggersModel.findAll()
1286
+
1287
+ const newInactivityTriggers = oldInactivityTriggers.map(({ dataValues }) => ({
1288
+ ...dataValues,
1289
+ EnterpriseId: oldEnterprise.id
1290
+ }))
1291
+
1292
+ const newInactivityTriggersModel = require('../models/inactivityTriggers').model(newDatabase, Sequelize.DataTypes)
1293
+ for (const InactivityTrigger of newInactivityTriggers) await newInactivityTriggersModel.create(InactivityTrigger, { transaction })
1294
+
1295
+ /////////// RETURNHSMS /////////////
1296
+
1297
+ console.log('RETURNHSMS')
1298
+
1299
+ console.log('Migrando Postbacks Interaxa')
1300
+
1301
+ const oldReturnHsmsModel = require('../legacy/models/returnHsm').model(oldDatabase, Sequelize.DataTypes)
1302
+ const oldReturnHsmsCount = await oldReturnHsmsModel.count({
1303
+ order: [['createdAt', 'ASC']]
1304
+ })
1305
+
1306
+ const newReturnHsmsModel = require('../models/returnHsm').model(newDatabase, Sequelize.DataTypes)
1307
+
1308
+ console.log('total de Postbacks Gupshup:', oldReturnHsmsCount)
1309
+
1310
+ const pagesReturnHsm = Math.ceil(oldReturnHsmsCount / 1000)
1311
+
1312
+ console.log('total de páginas:', pagesReturnHsm)
1313
+
1314
+ for (let i = 0; i < pagesReturnHsm; i++) {
1315
+
1316
+ console.log(`processando: página ${i + 1} de ${pagesReturnHsm}`)
1317
+
1318
+ const offset = i * 1000
1319
+
1320
+ const oldReturnHsms = await oldReturnHsmsModel.findAll({
1321
+ attributes: { exclude: ['id'] },
1322
+ order: [['createdAt', 'ASC']],
1323
+ offset, limit: 1000
1324
+ })
1325
+
1326
+ const newReturnHsms = oldReturnHsms.map(({ dataValues }) => dataValues)
1327
+ console.log('inserindo registros...')
1328
+ await newReturnHsmsModel.bulkCreate(newReturnHsms, { transaction })
1329
+ }
1330
+
1331
+ /////////// TRANSHIPCONVERSATIONS /////////////
1332
+
1333
+ console.log('TRANSHIPCONVERSATIONS')
1334
+
1335
+ const oldTranshipConversationsModel = require('../legacy/models/transhipConversations').model(oldDatabase, Sequelize.DataTypes)
1336
+ const oldTranshipConversationsCount = await oldTranshipConversationsModel.count({
1337
+ order: [['AttendanceId'], ['action'], ['createdAt']]
1338
+ })
1339
+
1340
+ const newTranshipConversationsModel = require('../models/transhipConversations').model(newDatabase, Sequelize.DataTypes)
1341
+
1342
+ console.log('total de mensagens:', oldTranshipConversationsCount)
1343
+
1344
+ const pagesTranshipConversations = Math.ceil(oldTranshipConversationsCount / 1000)
1345
+
1346
+ console.log('total de páginas:', pagesTranshipConversations)
1347
+
1348
+ for (let i = 0; i < pagesTranshipConversations; i++) {
1349
+
1350
+ console.log(`processando: página ${i + 1} de ${pagesTranshipConversations}`)
1351
+
1352
+ const offset = i * 1000
1353
+
1354
+ const oldTranshipConversations = await oldTranshipConversationsModel.findAll({
1355
+ attributes: { exclude: ['id'] },
1356
+ order: [['AttendanceId'], ['action'], ['createdAt']],
1357
+ offset, limit: 1000
1358
+ })
1359
+
1360
+ const newTranshipConversations = oldTranshipConversations.map(({ dataValues }) => ({
1361
+ ...dataValues,
1362
+ EnterpriseId: oldEnterprise.id
1363
+ }))
1364
+
1365
+ await newTranshipConversationsModel.bulkCreate(newTranshipConversations, { transaction })
1366
+ }
1367
+
1368
+ /////////// BLACKLISTCONTACTS /////////////
1369
+
1370
+ console.log('BLACKLISTCONTACTS')
1371
+
1372
+ const oldBlacklistContactsModel = require('../legacy/models/blacklistContacts').model(oldDatabase, Sequelize.DataTypes)
1373
+ const oldBlacklistContacts = await oldBlacklistContactsModel.findAll()
1374
+
1375
+ const newBlacklistContacts = oldBlacklistContacts.map(({ dataValues }) => ({
1376
+ ...dataValues,
1377
+ EnterpriseId: oldEnterprise.id
1378
+ }))
1379
+
1380
+ const newBlacklistContactsModel = require('../models/blacklistContacts').model(newDatabase, Sequelize.DataTypes)
1381
+ for (const blacklistContact of newBlacklistContacts) await newBlacklistContactsModel.create(blacklistContact, { transaction })
1382
+
1383
+ /////////// WHITELISTCONTACTS /////////////
1384
+
1385
+ console.log('WHITELISTCONTACTS')
1386
+
1387
+ const oldWhitelistContactsModel = require('../legacy/models/whitelistContacts').model(oldDatabase, Sequelize.DataTypes)
1388
+ const oldWhitelistContacts = await oldWhitelistContactsModel.findAll()
1389
+
1390
+ const newWhitelistContacts = oldWhitelistContacts.map(({ dataValues }) => ({
1391
+ ...dataValues,
1392
+ EnterpriseId: oldEnterprise.id
1393
+ }))
1394
+
1395
+ const newWhitelistContactsModel = require('../models/whitelistContacts').model(newDatabase, Sequelize.DataTypes)
1396
+ for (const whitelistContact of newWhitelistContacts) await newWhitelistContactsModel.create(whitelistContact, { transaction })
1397
+
1398
+ ////////////////////////////////////////
1399
+
1400
+ await transaction.commit()
1401
+
1402
+ console.log(`\n\n*** CLIENTE ${enterprise.alias} MIGRAGO COM SUCESSO!! ***\n\n`)
1403
+
1404
+ } catch (error) {
1405
+
1406
+ console.error('\n\n***ERRO NA MIGRAÇÃO DO CLIENTE', enterprise.alias)
1407
+ console.error(error)
1408
+ await transaction.rollback()
1409
+ }
1410
+
1411
+
1412
+ }
1413
+ }
1414
+
1415
+ const validationSequence = [
1416
+ `\nEste processo foi iniciado à partir do diretório: ${process.cwd()}\nEstá correto?`,
1417
+ '\nO arquivo _leanbot_enterprises_map.json foi criado e está correto?',
1418
+ '\nO arquivo .env foi criado e está correto?',
1419
+ `\nO destino desta migração será executada no host ${process.env.DATABASE_HOST}, database ${process.env.DATABASE_NAME}. Está correto?`
1420
+ ]
1421
+
1422
+ async function main() {
1423
+
1424
+ const readline = require('readline').createInterface({
1425
+ input: process.stdin,
1426
+ output: process.stdout
1427
+ })
1428
+
1429
+ console.log('\n*** Antes de iniciar o processo de migração, confirme os dados solicitados abaixo. ***\n')
1430
+
1431
+ executeValidationSequence(readline, validationSequence, unificate)
1432
+ }
1433
+
1434
+ main()