@itleanchatbot/shared-models-js-postgres 3.1.0 → 3.1.2

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