@itleanchatbot/shared-models-js-postgres 2.8.33 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_leanbot_enterprises_map.json +3 -3
- package/package.json +6 -2
- package/src/legacy/models/apiKeys.js +25 -0
- package/src/legacy/models/apiPreRequest.js +56 -0
- package/src/legacy/models/apiResourceBodies.js +44 -0
- package/src/legacy/models/apiResourceHeaders.js +30 -0
- package/src/legacy/models/apiResourcePathParams.js +29 -0
- package/src/legacy/models/apiResourceQueryStringParams.js +37 -0
- package/src/legacy/models/apiResources.js +78 -0
- package/src/legacy/models/apis.js +67 -0
- package/src/legacy/models/attendanceScale.js +40 -0
- package/src/legacy/models/attendanceScaleOff.js +56 -0
- package/src/legacy/models/attendances.js +93 -0
- package/src/legacy/models/blacklistContacts.js +24 -0
- package/src/legacy/models/botIterable.js +137 -0
- package/src/legacy/models/branches.js +35 -0
- package/src/legacy/models/channelConfigurations.js +41 -0
- package/src/legacy/models/channelTypes.js +68 -0
- package/src/legacy/models/channels.js +77 -0
- package/src/legacy/models/client.js +25 -0
- package/src/legacy/models/comments.js +27 -0
- package/src/legacy/models/contacts.js +41 -0
- package/src/legacy/models/conversationSessions.js +56 -0
- package/src/legacy/models/customPostbacks.js +29 -0
- package/src/legacy/models/departments.js +35 -0
- package/src/legacy/models/dialogNodes.js +162 -0
- package/src/legacy/models/dialogNodesPreReports.js +35 -0
- package/src/legacy/models/dialogNodes_MultipleResponses.js +40 -0
- package/src/legacy/models/dialogNodes_apiResources.js +51 -0
- package/src/legacy/models/endSessionTriggers.js +29 -0
- package/src/legacy/models/enterprises.js +29 -0
- package/src/legacy/models/entity.js +38 -0
- package/src/legacy/models/entityValues.js +63 -0
- package/src/legacy/models/faqQuestions.js +31 -0
- package/src/legacy/models/faqTriggers.js +51 -0
- package/src/legacy/models/fields.js +28 -0
- package/src/legacy/models/files.js +35 -0
- package/src/legacy/models/groups.js +45 -0
- package/src/legacy/models/groupsContracts.js +13 -0
- package/src/legacy/models/groupsSendHsms.js +13 -0
- package/src/legacy/models/ibmProvider.js +57 -0
- package/src/legacy/models/inactivityTriggers.js +37 -0
- package/src/legacy/models/intelligence.js +45 -0
- package/src/legacy/models/intention.js +36 -0
- package/src/legacy/models/intentionValue.js +31 -0
- package/src/legacy/models/itleanProvider.js +35 -0
- package/src/legacy/models/lineConfigurations.js +63 -0
- package/src/legacy/models/lines.js +49 -0
- package/src/legacy/models/messagesHsm.js +75 -0
- package/src/legacy/models/onlineEditions.js +27 -0
- package/src/legacy/models/openFaqs.js +33 -0
- package/src/legacy/models/permissions.js +28 -0
- package/src/legacy/models/postbackGupshup.js +27 -0
- package/src/legacy/models/profile.js +23 -0
- package/src/legacy/models/profiles_permission.js +25 -0
- package/src/legacy/models/publications.js +30 -0
- package/src/legacy/models/quickMessages.js +35 -0
- package/src/legacy/models/response_DialogNodes.js +37 -0
- package/src/legacy/models/responses.js +55 -0
- package/src/legacy/models/responsesBoxes.js +66 -0
- package/src/legacy/models/returnHsm.js +31 -0
- package/src/legacy/models/sendHsm.js +51 -0
- package/src/legacy/models/sendHsmReturnHsm.js +16 -0
- package/src/legacy/models/sessions.js +79 -0
- package/src/legacy/models/sessionsPreReports.js +43 -0
- package/src/legacy/models/skill.js +112 -0
- package/src/legacy/models/socketClients.js +56 -0
- package/src/legacy/models/stopwords.js +41 -0
- package/src/legacy/models/subDepartments.js +35 -0
- package/src/legacy/models/synonyms.js +67 -0
- package/src/legacy/models/systemUsers.js +64 -0
- package/src/legacy/models/systemUsers_Lines.js +25 -0
- package/src/legacy/models/systemUsers_profiles.js +25 -0
- package/src/legacy/models/templates.js +50 -0
- package/src/legacy/models/transhipConversations.js +50 -0
- package/src/legacy/models/transhipInactivityTriggers.js +31 -0
- package/src/legacy/models/transhipTriggers.js +103 -0
- package/src/legacy/models/whitelistContacts.js +24 -0
- package/src/legacy/seeders/test/20200924195050-create-ibmprovider.js +38 -0
- package/src/legacy/seeders/test/20200924195050-create-itlean-provider.js +40 -0
- package/src/legacy/seeders/test/20200924195050-seed-enterprises.js +24 -0
- package/src/legacy/seeders/test/20200925184253-seed-skils-itlean-provider.js +37 -0
- package/src/legacy/seeders/test/20200925184253-seed-skils.js +41 -0
- package/src/legacy/seeders/test/20200925184254-seed-Intention.js +39 -0
- package/src/legacy/seeders/test/20200925184258-seed-Intention-values.js +41 -0
- package/src/legacy/seeders/test/20200925191642-seed-entity-skill-itlean.js +23 -0
- package/src/legacy/seeders/test/20200925191642-seed-entity.js +23 -0
- package/src/legacy/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +32 -0
- package/src/legacy/seeders/test/20200925191643-seed-entity-values.js +33 -0
- package/src/legacy/seeders/test/20200929132705-seed-dialog-node.js +128 -0
- package/src/legacy/seeders/test/20201016200600-seed-responses.js +563 -0
- package/src/legacy/seeders/test/20201104183653-seed-create-ype-skill.js +42 -0
- package/src/legacy/seeders/test/20201104183700-seed-create-ype-intention.js +26 -0
- package/src/legacy/seeders/test/20201104183706-seed-create-ype-intention-values.js +70 -0
- package/src/legacy/seeders/test/20201104183714-seed-create-ype-entity.js +38 -0
- package/src/legacy/seeders/test/20201104183723-seed-create-ype-entity-values.js +243 -0
- package/src/legacy/seeders/test/20201104183727-seed-create-ype-synonyms.js +253 -0
- package/src/legacy/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +124 -0
- package/src/legacy/seeders/test/20210224163857-create-ibmprovider-framework.js +37 -0
- package/src/legacy/seeders/test/20210224165819-create-skill-framework.js +41 -0
- package/src/legacy/seeders/test/20210224165821-seed-channel-framework.js +62 -0
- package/src/legacy/seeders/test/20210224171409-create-apiResource-framework.js +107 -0
- package/src/legacy/seeders/test/20210224171409-create-apiResource.js +114 -0
- package/src/legacy/seeders/test/20210226115055-create-entity-framework.js +21 -0
- package/src/legacy/seeders/test/20210226115540-create-entity-value-framework.js +21 -0
- package/src/legacy/seeders/test/20210226115720-create-intention-framework.js +22 -0
- package/src/legacy/seeders/test/20210226115935-create-intention-values-framework.js +21 -0
- package/src/legacy/seeders/test/20210226121222-create-synonyms-framework.js +24 -0
- package/src/legacy/seeders/test/20210301174809-create-dialog-node-framework.js +43 -0
- package/src/legacy/seeders/test/20210422144458-seed-context-test.js +175 -0
- package/src/legacy/seeders/test/20210422181114-seed-jump-node.js +123 -0
- package/src/legacy/seeders/test/20210422182413-seed-jump-skill.js +123 -0
- package/src/legacy/seeders/test/20210426100156-seed-api-test.js +138 -0
- package/src/legacy/seeders/test/20210426103704-seed-multiple-response-test.js +275 -0
- package/src/legacy/seeders/test/20210426190844-seed-entity-search-test.js +160 -0
- package/src/legacy/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +160 -0
- package/src/legacy/seeders/test/20210428105402-seed-test-condition-1.js +190 -0
- package/src/legacy/seeders/test/20210430181906-seed-test-input-text-zero.js +120 -0
- package/src/legacy/seeders/test/20210430183204-seed-ype-test-condition.js +557 -0
- package/src/legacy/seeders/test/20210503172321-seed-invalid-condition.js +119 -0
- package/src/legacy/seeders/test/20210505140225-insert-skills.js +41 -0
- package/src/legacy/seeders/test/20210505183810-seed-chain-with-context.js +147 -0
- package/src/legacy/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +188 -0
- package/src/legacy/seeders/test/20210507204437-seed-condition-igual-true.js +119 -0
- package/src/legacy/seeders/test/20210511181006-seed-using-internal-functions.js +274 -0
- package/src/legacy/seeders/test/20210512140152-seed-ype-real-bot.js +2578 -0
- package/src/legacy/seeders/test/20210519162746-seed-response-with-context.js +186 -0
- package/src/legacy/seeders/test/20210524141819-seed-dialog-node-faq.js +244 -0
- package/src/legacy/seeders/test/20210525180523-seed-regex.js +173 -0
- package/src/legacy/seeders/test/20210602111930-insert-dialogNodes.js +200 -0
- package/src/legacy/seeders/test/20210607124530-create-tranship-framework.js +428 -0
- package/src/legacy/seeders/test/20210608103730-create-transhipConversation-framework.js +368 -0
- package/src/legacy/seeders/test/20210608140230-test-transfer-framework.js +415 -0
- package/src/legacy/seeders/test/20210610152534-seed-test-internal-function-in-context.js +216 -0
- package/src/legacy/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +147 -0
- package/src/legacy/seeders/test/20210611101042-bot-example-internal-functions.js +985 -0
- package/src/legacy/seeders/test/20210613111900-bot-example-api.js +420 -0
- package/src/legacy/seeders/test/20210614113654-miltiple-response-with-research.js +387 -0
- package/src/legacy/seeders/test/20210616212102-api-authentication-and-list.js +422 -0
- package/src/legacy/seeders/test/20210624172310-seed-api-duble-request.js +424 -0
- package/src/legacy/seeders/test/20210628135630-test-branches.js +224 -0
- package/src/legacy/seeders/test/20210629141030-test-departments.js +225 -0
- package/src/legacy/seeders/test/20210630105430-test-subDepartments.js +223 -0
- package/src/legacy/seeders/test/20210630114011-test-contact.js +178 -0
- package/src/legacy/seeders/test/20210701130630-test-channels.js +381 -0
- package/src/legacy/seeders/test/20210702191230-seed-test-counter-in-context.js +122 -0
- package/src/legacy/seeders/test/20210705061313-test-fields.js +152 -0
- package/src/legacy/seeders/test/20210705080813-test-groups.js +122 -0
- package/src/legacy/seeders/test/20210705105918-seed-test-function-slice.js +161 -0
- package/src/legacy/seeders/test/20210706105508-seed-node-without-condition.js +254 -0
- package/src/legacy/seeders/test/20210706112906-seed-1.0-on-response.js +172 -0
- package/src/legacy/seeders/test/20210706145547-seed-clean-context.js +132 -0
- package/src/legacy/seeders/test/20210707151538-seed-test-response-break-line.js +161 -0
- package/src/legacy/seeders/test/20210713155530-seed-test-itl0079-875.js +129 -0
- package/src/legacy/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +789 -0
- package/src/legacy/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +250 -0
- package/src/legacy/seeders/test/20210719154025-seed-2-contexts-together.js +133 -0
- package/src/legacy/seeders/test/20210802144227-seed-end-session-trigger.js +163 -0
- package/src/legacy/seeders/test/20210803103030-tests-dialogNodes.js +406 -0
- package/src/legacy/seeders/test/20210804094630-tests-lines.js +487 -0
- package/src/legacy/seeders/test/20210805104130-tests-lineConfigurations.js +106 -0
- package/src/legacy/seeders/test/20210805133330-tests-systemUsers.js +507 -0
- package/src/legacy/seeders/test/20210813124630-tests-getMessagesBySession.js +333 -0
- package/src/legacy/seeders/test/20210813143730-tests-botIterables-framework.js +400 -0
- package/src/legacy/seeders/test/20210816151830-testes-inactivityTriggers.js +196 -0
- package/src/legacy/seeders/test/20210830134230-tests-sessionReports.js +254 -0
- package/src/legacy/seeders/test/20210830165830-tests-attendancesHistory.js +181 -0
- package/src/legacy/seeders/test/20210927115821-skill-test-open-faq.js +37 -0
- package/src/legacy/seeders/test/20211004131813-true-and-context-with-parent.js +190 -0
- package/src/legacy/seeders/test/20211006210203-context-concat-with-text.js +193 -0
- package/src/legacy/seeders/test/20211122141406-api-pre-request.js +201 -0
- package/src/migrations/20220509095001-create-extension-uuid-ossp.js +27 -0
- package/src/migrations/20220509095002-create-enterprises.js +64 -0
- package/src/migrations/20220509095003-create-systemUsers.js +97 -0
- package/src/migrations/20220509095004-create-permissions.js +45 -0
- package/src/migrations/20220509095005-create-profiles.js +38 -0
- package/src/migrations/20220509095006-create-profiles-permissions.js +45 -0
- package/src/migrations/20220509095007-create-systemUsers-profiles.js +45 -0
- package/src/migrations/20220509095008-create-branches.js +61 -0
- package/src/migrations/20220509095009-create-departments.js +61 -0
- package/src/migrations/20220509095010-create-subDepartments.js +61 -0
- package/src/migrations/20220509095011-create-lines.js +47 -0
- package/src/migrations/20220509095012-create-systemUsers-lines.js +45 -0
- package/src/migrations/20220509095013-create-apiKeys.js +40 -0
- package/src/migrations/20220509095014-create-customPostbacks.js +44 -0
- package/src/migrations/20220509095015-create-lineConfigurations.js +85 -0
- package/src/migrations/20220509095016-create-attendanceScales.js +48 -0
- package/src/migrations/20220509095017-create-attendanceScaleOffs.js +58 -0
- package/src/migrations/20220509095018-create-quickMessages.js +54 -0
- package/src/migrations/20220509095019-create-transhipInactivityTriggers.js +52 -0
- package/src/migrations/20220509095020-create-contacts.js +54 -0
- package/src/migrations/20220509095021-create-groups.js +52 -0
- package/src/migrations/20220509095022-create-groupsContacts.js +45 -0
- package/src/migrations/20220509095023-create-fields.js +39 -0
- package/src/migrations/20220509095024-create-channelTypes.js +62 -0
- package/src/migrations/20220509095025-create-channelConfigurations.js +56 -0
- package/src/migrations/20220509095026-create-templates.js +59 -0
- package/src/migrations/20220509095027-create-intelligences.js +50 -0
- package/src/migrations/20220509095028-create-itleanProviders.js +44 -0
- package/src/migrations/20220509095029-create-ibmProviders.js +63 -0
- package/src/migrations/20220509095030-create-skills.js +124 -0
- package/src/migrations/20220509095031-create-files.js +49 -0
- package/src/migrations/20220509095032-create-channels.js +88 -0
- package/src/migrations/20220509095033-create-messagesHsms.js +70 -0
- package/src/migrations/20220509095034-create-messagesHsms_channels.js +46 -0
- package/src/migrations/20220509095035-create-sendHsms.js +68 -0
- package/src/migrations/20220509095036-create-groupsSendHsms.js +46 -0
- package/src/migrations/20220509095037-create-intentions.js +57 -0
- package/src/migrations/20220509095038-create-intentionValues.js +53 -0
- package/src/migrations/20220509095039-create-entities.js +61 -0
- package/src/migrations/20220509095040-create-entityValues.js +72 -0
- package/src/migrations/20220509095041-create-synonyms.js +67 -0
- package/src/migrations/20220509095042-create-responses.js +63 -0
- package/src/migrations/20220509095043-create-responsesBoxes.js +68 -0
- package/src/migrations/20220509095044-create-openFaqs.js +60 -0
- package/src/migrations/20220509095045-create-faqQuestions.js +53 -0
- package/src/migrations/20220509095046-create-apis.js +63 -0
- package/src/migrations/20220509095047-create-apiResourcesBodies.js +49 -0
- package/src/migrations/20220509095048-create-apiResources.js +72 -0
- package/src/migrations/20220509095049-create-apiPreRequests.js +76 -0
- package/src/migrations/20220509095050-create-apiResourcesHeaders.js +61 -0
- package/src/migrations/20220509095051-create-apiResourcesPathParams.js +60 -0
- package/src/migrations/20220509095052-create-apiResourcesQueryStringParams.js +71 -0
- package/src/migrations/20220509095053-create-clients.js +47 -0
- package/src/migrations/20220509095054-create-onlineEditions.js +52 -0
- package/src/migrations/20220509095055-create-postbackGupshups.js +66 -0
- package/src/migrations/20220509095056-create-publications.js +54 -0
- package/src/migrations/20220509095057-create-returnHsms.js +62 -0
- package/src/migrations/20220509095058-create-sendHsmReturnHsms.js +56 -0
- package/src/migrations/20220509095059-create-sessions.js +85 -0
- package/src/migrations/20220509095060-create-sessionsPreReports.js +74 -0
- package/src/migrations/20220509095061-create-socketClients.js +80 -0
- package/src/migrations/20220509095062-create-stopwords.js +44 -0
- package/src/migrations/20220509095063-create-conversationSessions.js +69 -0
- package/src/migrations/20220509095064-create-dialogNodes.js +92 -0
- package/src/migrations/20220509095065-create-dialogNodesPreReports.js +62 -0
- package/src/migrations/20220509095066-create-dialogNodes_ApiResources.js +65 -0
- package/src/migrations/20220509095067-create-dialogNodes_MultipleResponses.js +46 -0
- package/src/migrations/20220509095068-create-response_DialogNodes.js +57 -0
- package/src/migrations/20220509095069-create-transhipTriggers.js +84 -0
- package/src/migrations/20220509095070-create-attendances.js +112 -0
- package/src/migrations/20220509095071-create-comments.js +46 -0
- package/src/migrations/20220509095072-create-transhipConversations.js +75 -0
- package/src/migrations/20220509095073-create-endSessionTriggers.js +45 -0
- package/src/migrations/20220509095074-create-faqTriggers.js +47 -0
- package/src/migrations/20220509095075-create-inactivityTriggers.js +58 -0
- package/src/migrations/20220509095076-create-botIterables.js +148 -0
- package/src/migrations/20220509095077-create-blacklistContacts.js +44 -0
- package/src/migrations/20220509095078-create-whitelistContacts.js +44 -0
- package/src/migrations/20220509095079-create-function-getInactiveSessions.js +93 -0
- package/src/migrations/20220509095080-create-function-getInactiveAttendances.js +94 -0
- package/src/migrations/20221004113728-add-indexes.js +14 -0
- package/src/models/apiKeys.js +18 -21
- package/src/models/apiPreRequest.js +11 -8
- package/src/models/apiResourceBodies.js +9 -0
- package/src/models/apiResourceHeaders.js +10 -3
- package/src/models/apiResourcePathParams.js +11 -4
- package/src/models/apiResourceQueryStringParams.js +11 -4
- package/src/models/apiResources.js +13 -8
- package/src/models/apis.js +4 -5
- package/src/models/attendanceScale.js +2 -4
- package/src/models/attendanceScaleOff.js +1 -3
- package/src/models/attendances.js +28 -11
- package/src/models/blacklistContacts.js +10 -3
- package/src/models/botIterable.js +15 -13
- package/src/models/branches.js +1 -3
- package/src/models/channelConfigurations.js +1 -3
- package/src/models/channelTypes.js +5 -4
- package/src/models/channels.js +20 -12
- package/src/models/client.js +11 -5
- package/src/models/comments.js +8 -2
- package/src/models/contacts.js +1 -3
- package/src/models/conversationSessions.js +12 -9
- package/src/models/customPostbacks.js +4 -6
- package/src/models/departments.js +1 -3
- package/src/models/dialogNodes.js +19 -14
- package/src/models/dialogNodesPreReports.js +21 -2
- package/src/models/dialogNodes_MultipleResponses.js +1 -6
- package/src/models/dialogNodes_apiResources.js +1 -5
- package/src/models/endSessionTriggers.js +0 -4
- package/src/models/enterprises.js +55 -4
- package/src/models/entity.js +14 -9
- package/src/models/entityValues.js +12 -12
- package/src/models/faqQuestions.js +15 -12
- package/src/models/faqTriggers.js +0 -8
- package/src/models/fields.js +0 -2
- package/src/models/files.js +2 -4
- package/src/models/groups.js +3 -5
- package/src/models/groupsSendHsms.js +10 -10
- package/src/models/ibmProvider.js +21 -22
- package/src/models/inactivityTriggers.js +9 -4
- package/src/models/intelligence.js +2 -3
- package/src/models/intention.js +13 -10
- package/src/models/intentionValue.js +10 -8
- package/src/models/itleanProvider.js +13 -16
- package/src/models/lineConfigurations.js +11 -4
- package/src/models/lines.js +15 -10
- package/src/models/messagesHsm.js +21 -25
- package/src/models/messagesHsms_Channels.js +22 -0
- package/src/models/onlineEditions.js +19 -6
- package/src/models/openFaqs.js +15 -5
- package/src/models/permissions.js +1 -2
- package/src/models/postbackGupshup.js +5 -5
- package/src/models/profile.js +0 -1
- package/src/models/profiles_permission.js +2 -6
- package/src/models/publications.js +14 -4
- package/src/models/quickMessages.js +10 -3
- package/src/models/response_DialogNodes.js +2 -6
- package/src/models/responses.js +12 -7
- package/src/models/responsesBoxes.js +11 -11
- package/src/models/returnHsm.js +5 -5
- package/src/models/sendHsm.js +11 -8
- package/src/models/sendHsmReturnHsm.js +17 -7
- package/src/models/sessions.js +23 -17
- package/src/models/sessionsPreReports.js +21 -2
- package/src/models/skill.js +23 -17
- package/src/models/socketClients.js +12 -7
- package/src/models/stopwords.js +7 -11
- package/src/models/subDepartments.js +1 -3
- package/src/models/synonyms.js +11 -18
- package/src/models/systemUsers.js +20 -16
- package/src/models/systemUsers_Lines.js +8 -6
- package/src/models/systemUsers_profiles.js +2 -6
- package/src/models/templates.js +35 -45
- package/src/models/transhipConversations.js +9 -2
- package/src/models/transhipInactivityTriggers.js +17 -3
- package/src/models/transhipTriggers.js +0 -12
- package/src/models/whitelistContacts.js +10 -3
- package/src/scripts/migrateBotIterables.js +205 -0
- package/src/scripts/migrateClients.js +151 -0
- package/src/scripts/migrateConversationSessions.js +160 -0
- package/src/scripts/migrateDialogNodes.js +181 -0
- package/src/scripts/migrateDialogNodesPreReports.js +160 -0
- package/src/scripts/migrateDialogNodes_MultipleResponses.js +148 -0
- package/src/scripts/migrateEntities.js +157 -0
- package/src/scripts/migrateEntityValues.js +157 -0
- package/src/scripts/migrateIntentionValues.js +151 -0
- package/src/scripts/migrateIntentions.js +154 -0
- package/src/scripts/migratePostbackGupshups.js +125 -0
- package/src/scripts/migrateResponse_DialogNodes.js +151 -0
- package/src/scripts/migrateResponses.js +154 -0
- package/src/scripts/migrateResponsesBoxes.js +157 -0
- package/src/scripts/migrateSessions.js +175 -0
- package/src/scripts/migrateSynonyms.js +157 -0
- package/src/scripts/migrateTranshipConversations.js +166 -0
- package/src/scripts/unification.js +1434 -0
- package/src/seeders/20220509095001-insert-permissions.js +166 -0
- package/src/seeders/20220509095002-insert-profiles.js +40 -0
- package/src/seeders/20220509095003-insert-profiles-permissions.js +99 -0
- package/src/seeders/20220509095004-insert-channelTypes.js +110 -0
- package/src/seeders/20220509095005-insert-channelConfigurations.js +173 -0
- package/src/seeders/20220509095006-insert-templates.js +207 -0
- package/src/seeders/20220509095007-insert-intelligence.js +27 -0
- package/src/seeders/test/20200924195049-create-enterprise.js +66 -0
- package/src/seeders/test/20200924195050-create-ibmprovider.js +2 -1
- package/src/seeders/test/20200924195050-create-itlean-provider.js +1 -6
- package/src/seeders/test/20200924195050-seed-enterprises.js +1 -0
- package/src/seeders/test/20200925184253-seed-skils-itlean-provider.js +2 -1
- package/src/seeders/test/20200925184253-seed-skils.js +3 -1
- package/src/seeders/test/20200925184254-seed-Intention.js +4 -0
- package/src/seeders/test/20200925184258-seed-Intention-values.js +3 -0
- package/src/seeders/test/20200925191642-seed-entity-skill-itlean.js +2 -0
- package/src/seeders/test/20200925191642-seed-entity.js +2 -0
- package/src/seeders/test/20200925191643-seed-entity-values-skill-itlean.js +3 -0
- package/src/seeders/test/20200925191643-seed-entity-values.js +3 -1
- package/src/seeders/test/20200929132705-seed-dialog-node.js +8 -0
- package/src/seeders/test/20201016200600-seed-responses.js +43 -12
- package/src/seeders/test/20201104183653-seed-create-ype-skill.js +3 -1
- package/src/seeders/test/20201104183700-seed-create-ype-intention.js +2 -0
- package/src/seeders/test/20201104183706-seed-create-ype-intention-values.js +3 -0
- package/src/seeders/test/20201104183714-seed-create-ype-entity.js +2 -0
- package/src/seeders/test/20201104183723-seed-create-ype-entity-values.js +3 -0
- package/src/seeders/test/20201104183727-seed-create-ype-synonyms.js +3 -0
- package/src/seeders/test/20201104202534-seed-create-ype-node-saudacao.js +14 -2
- package/src/seeders/test/20210224163857-create-ibmprovider-framework.js +3 -1
- package/src/seeders/test/20210224165819-create-skill-framework.js +3 -1
- package/src/seeders/test/20210224165821-seed-channel-framework.js +4 -0
- package/src/seeders/test/20210224171409-create-apiResource-framework.js +8 -1
- package/src/seeders/test/20210224171409-create-apiResource.js +8 -1
- package/src/seeders/test/20210226115055-create-entity-framework.js +3 -0
- package/src/seeders/test/20210226115540-create-entity-value-framework.js +3 -0
- package/src/seeders/test/20210226115720-create-intention-framework.js +3 -0
- package/src/seeders/test/20210226115935-create-intention-values-framework.js +3 -0
- package/src/seeders/test/20210226121222-create-synonyms-framework.js +3 -0
- package/src/seeders/test/20210301174809-create-dialog-node-framework.js +3 -0
- package/src/seeders/test/20210422144458-seed-context-test.js +17 -3
- package/src/seeders/test/20210422181114-seed-jump-node.js +13 -2
- package/src/seeders/test/20210422182413-seed-jump-skill.js +13 -2
- package/src/seeders/test/20210426100156-seed-api-test.js +13 -2
- package/src/seeders/test/20210426103704-seed-multiple-response-test.js +21 -4
- package/src/seeders/test/20210426190844-seed-entity-search-test.js +17 -2
- package/src/seeders/test/20210427172150-seed-test-with-input-test-fisrt.js +17 -2
- package/src/seeders/test/20210428105402-seed-test-condition-1.js +21 -2
- package/src/seeders/test/20210430181906-seed-test-input-text-zero.js +14 -2
- package/src/seeders/test/20210430183204-seed-ype-test-condition.js +48 -2
- package/src/seeders/test/20210503172321-seed-invalid-condition.js +14 -2
- package/src/seeders/test/20210505140225-insert-skills.js +4 -0
- package/src/seeders/test/20210505183810-seed-chain-with-context.js +15 -2
- package/src/seeders/test/20210506125701-seed-with-intention-and-entity-same-name.js +18 -2
- package/src/seeders/test/20210507204437-seed-condition-igual-true.js +14 -2
- package/src/seeders/test/20210511181006-seed-using-internal-functions.js +20 -2
- package/src/seeders/test/20210512140152-seed-ype-real-bot.js +129 -1
- package/src/seeders/test/20210519162746-seed-response-with-context.js +9 -1
- package/src/seeders/test/20210524141819-seed-dialog-node-faq.js +14 -1
- package/src/seeders/test/20210525180523-seed-regex.js +10 -1
- package/src/seeders/test/20210602111930-insert-dialogNodes.js +7 -5
- package/src/seeders/test/20210607124530-create-tranship-framework.js +13 -7
- package/src/seeders/test/20210608103730-create-transhipConversation-framework.js +18 -6
- package/src/seeders/test/20210608140230-test-transfer-framework.js +16 -6
- package/src/seeders/test/20210610152534-seed-test-internal-function-in-context.js +11 -1
- package/src/seeders/test/20210610181308-seed-test-find-in-array-internal-function.js +8 -1
- package/src/seeders/test/20210611101042-bot-example-internal-functions.js +50 -6
- package/src/seeders/test/20210613111900-bot-example-api.js +19 -7
- package/src/seeders/test/20210614113654-miltiple-response-with-research.js +19 -6
- package/src/seeders/test/20210616212102-api-authentication-and-list.js +17 -7
- package/src/seeders/test/20210624172310-seed-api-duble-request.js +18 -8
- package/src/seeders/test/20210628135630-test-branches.js +3 -6
- package/src/seeders/test/20210629141030-test-departments.js +3 -6
- package/src/seeders/test/20210630105430-test-subDepartments.js +3 -6
- package/src/seeders/test/20210630114011-test-contact.js +2 -6
- package/src/seeders/test/20210701130630-test-channels.js +19 -7
- package/src/seeders/test/20210702191230-seed-test-counter-in-context.js +7 -1
- package/src/seeders/test/20210705061313-test-fields.js +2 -6
- package/src/seeders/test/20210705080813-test-groups.js +2 -6
- package/src/seeders/test/20210705105918-seed-test-function-slice.js +7 -1
- package/src/seeders/test/20210706105508-seed-node-without-condition.js +13 -1
- package/src/seeders/test/20210706112906-seed-1.0-on-response.js +10 -1
- package/src/seeders/test/20210706145547-seed-clean-context.js +7 -1
- package/src/seeders/test/20210707151538-seed-test-response-break-line.js +7 -1
- package/src/seeders/test/20210713155530-seed-test-itl0079-875.js +6 -1
- package/src/seeders/test/20210715125619-seed-multiple-response-with-several-jumps.js +32 -1
- package/src/seeders/test/20210715163606-seed-test-multiple-response-with-jump.js +11 -1
- package/src/seeders/test/20210719154025-seed-2-contexts-together.js +7 -1
- package/src/seeders/test/20210802144227-seed-end-session-trigger.js +8 -1
- package/src/seeders/test/20210803103030-tests-dialogNodes.js +23 -7
- package/src/seeders/test/20210804094630-tests-lines.js +19 -6
- package/src/seeders/test/20210805104130-tests-lineConfigurations.js +4 -6
- package/src/seeders/test/20210805133330-tests-systemUsers.js +5 -6
- package/src/seeders/test/20210813124630-tests-getMessagesBySession.js +20 -1
- package/src/seeders/test/20210813143730-tests-botIterables-framework.js +23 -1
- package/src/seeders/test/20210816151830-testes-inactivityTriggers.js +13 -2
- package/src/seeders/test/20210830134230-tests-sessionReports.js +19 -1
- package/src/seeders/test/20210830165830-tests-attendancesHistory.js +9 -13
- package/src/seeders/test/20210927115821-skill-test-open-faq.js +3 -1
- package/src/seeders/test/20211004131813-true-and-context-with-parent.js +10 -1
- package/src/seeders/test/20211006210203-context-concat-with-text.js +10 -1
- package/src/seeders/test/20211122141406-api-pre-request.js +11 -2
- /package/src/{migrations → legacy/migrations}/2021050204551-create-extension-uuid-ossp.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503140511-create-channel-types.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503141113-create-channel-configurations.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503141528-create-enterprises.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142049-create-permissions.js.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142205-create-profiles.js.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142259-create-profiles-permissions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142433-create-system-users.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142528-create-system-users-profiles.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142645-create-departments.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142739-create-clients.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142857-create-intelligences.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503142959-create-ibm-providers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503151909-create-itlean-providers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503154612-create-skills.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503161006-create-files.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503161236-create-channels.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503161308-create-sessions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503161503-create-subdepartments.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503161543-create-branches.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503161909-create-lines.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503161947-create-entities.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503162126-create-intentions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503162213-create-intentions-values.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503162618-create-entities-values.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503162752-create-synonyms.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503163331-create-responses.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503163437-create-responses-boxes.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503163702-create-languages.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503184109-create-groups.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503185846-create-contacts.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503190220-create-groups-contacts.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503190338-create-fields.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503190515-create-apis.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503191041-create-apis-resources-body.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503191107-create-apis-resources.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503191253-create-apis-resources-headers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503193228-create-apis-resources-query-string-params.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503193425-create-apis-resources-path-params.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503193511-create-dialog-nodes.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503193629-create-response-dialog-nodes.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503193905-create-system-users-lines.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503194004-create-attendances.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503194036-create-tranship-conversations.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210503194204-create-line-configurations.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504133611-create-templates.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504133647-create-socket-clients.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504143703-create-dialog-nodes-multiple-responses.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504144332-create-messages-hsm.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504144657-create-dialog-nodes-api-resources.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504144730-create-send-hsm.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504144859-create-messages-hsm-channels.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504144931-create-open-faqs.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504145032-create-return-hsm.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504160623-create-group-send-hsm.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504164445-create-extension-unaccent.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504164516-create-extension-fuzzy.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504164553-create-attendance-scale.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504164613-create-attendance-scale-off.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504165351-create-comments.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504165421-create-quick-messages.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504165514-create-bot-iterables.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210504165900-create-tranship-triggers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210505025504-create-send-hsm-return-hsm.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210507012938-create-faq-triggers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210518122431-alter-responses.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210524150418-create-faq-questions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210524173157-alter-table-open-faq.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210526115430-alter-attendances.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210528101030-alter-attendances.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210609103918-create-table-postbakGupshup.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210614194609-alter-channels.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210618101840-alter-table-MessagesHsms.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210622132643-alter-table-postbackGupshup.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210623110159-alter-table-botinterable.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210623180356-alter-dialog-nodes-api-resources.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210625165930-alter-dialog-nodes-api-resources.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210708142712-alter-table-entity-values.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210708145259-alter-table-synonyms.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210719161230-alter-attendances.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210727095921-alter-name-size.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210727110430-create-endSessionTriggers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210728140327-create-table-online-editing.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210810152747-alter-botIterables.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210812110330-create-indexes.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210816124430-create-inactivityTriggers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210819155330-create-function.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210823145424-remove-names-botiterables.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210902145430-create-apiKeys.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210906092430-create-customPostback.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210906144034-alter-api-body-migration.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210910081430-create-transhipInactivityTriggers.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210923131530-alter-attendances.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210923140130-create-function.js +0 -0
- /package/src/{migrations → legacy/migrations}/20210927141630-alter-attendances.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211006150930-create-index.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211020130541-alter-table-session-hasTranship.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211022105430-alter-attendance-scale-off.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211025155825-create-stopwords.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211029134230-remove-constraints.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211119123119-CreateApiPreRequest.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211122115430-create-publish.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211213111830-alter-publications.js +0 -0
- /package/src/{migrations → legacy/migrations}/20211220144430-alter-channels.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220105153930-alter-botIterables.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220118131507-alter-table-SystemUsers-isActive.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220121145703-alter-table-botiterable.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220126141248-alter-table-sessions-session-start.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220203094630-alter-SendHsmReturHsms.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220203181702-insert-teams-channel-configurations.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220204141205-create-whastapp-sessions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220207124321-create-conversation-session.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220215123711-alter-table-conversation-sessions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220221140530-alter-functions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220224112430-create-index.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220301115430-create-sessionsPreReports.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220301115530-alter-sessions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220303152530-create-dialogNodesPreReports.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220308145105-alter-table-transhipConversation-mimetype.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220309145730-create-function.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220310125603-alter-table-conversationSessions-SkillId.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220310143530-alter-functions.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220406125731-alter-table-entities-add-column-fuzzy.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220407191846-alter-table-dialog-nodes-type.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220408125630-create-index.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220413113609-alter-table-botiterable-action.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220503111730-create-index.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220503150629-create-table-blacklist-contacts.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220503150638-create-table-whitelist-contacts.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220524130822-alter-table-channel-title-icon-file.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220610103030-create-index.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220704143200-create-index.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220728094430-create-index.js +0 -0
- /package/src/{migrations → legacy/migrations}/20220823112830-alter-skill.js +0 -0
- /package/src/{models → legacy/models}/language.js +0 -0
- /package/src/{models → legacy/models}/responseChannels.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210414180447-change-ChannelTypes.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505130137-insert-channel-types.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505132612-insert-intelligence.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505134121-insert-enterprise.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505134345-insert-permissions.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505134549-insert-profiles.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505134700-insert-profiles-permissions.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505135931-insert-system-users.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505140025-insert-system-users-profiles.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505140049-insert-language.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505140259-insert-itlean-provider.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505140343-insert-templates.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210505140658-insert-channel-configurations.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210618132740-add-new-channel-configutations.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210817081230-insert-profiles-permissions.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210830131930-insert-profiles-permissions.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210902160430-insert-apiKey.js +0 -0
- /package/src/{seeders → legacy/seeders}/20210914165047-update-channel-types.js +0 -0
- /package/src/{seeders → legacy/seeders}/20211005135921-edit-gupshup-reponseTypes.js +0 -0
- /package/src/{seeders → legacy/seeders}/20220203123900-insert-teams-channel-type.js +0 -0
- /package/src/{seeders → legacy/seeders}/20220203181702-insert-teams-channel-configurations.js +0 -0
- /package/src/{seeders → legacy/seeders}/20220221142239-add-permissions-to-adm.js +0 -0
- /package/src/{seeders → legacy/seeders}/20220317172100-insert-facebook-messenger-channel-type.js +0 -0
- /package/src/{seeders → legacy/seeders}/20220317172234-insert-facebook-messenger-channel-configuration.js +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
require('dotenv/config')
|
|
2
|
+
const moment = require('moment')
|
|
3
|
+
const Sequelize = require('sequelize')
|
|
4
|
+
|
|
5
|
+
const { argv } = require('process')
|
|
6
|
+
|
|
7
|
+
const minDateArg = argv[2]
|
|
8
|
+
const maxDateArg = argv[3]
|
|
9
|
+
const oldDatabaseNameArg = argv[4]
|
|
10
|
+
|
|
11
|
+
const hostaddr = process.env.DATABASE_HOST
|
|
12
|
+
const user = process.env.DB_USERNAME
|
|
13
|
+
const password = process.env.DB_PASSWORD
|
|
14
|
+
|
|
15
|
+
function getDatabaseConfig(databaseName) {
|
|
16
|
+
return {
|
|
17
|
+
username: process.env.DB_USERNAME,
|
|
18
|
+
password: process.env.DB_PASSWORD,
|
|
19
|
+
database: databaseName,
|
|
20
|
+
host: process.env.DATABASE_HOST,
|
|
21
|
+
dialect: process.env.DATABASE_TYPE,
|
|
22
|
+
logging: false,
|
|
23
|
+
omitNull: true,
|
|
24
|
+
minifyAliases: true,
|
|
25
|
+
timezone: process.env.DATABASE_TIMEZONE || 'Etc/UTC',
|
|
26
|
+
pool: {
|
|
27
|
+
max: 100,
|
|
28
|
+
min: 0,
|
|
29
|
+
idle: 10000,
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function runQuery(sequelize, date, EnterpriseId) {
|
|
35
|
+
return sequelize.query(
|
|
36
|
+
`insert into "DialogNodes_MultipleResponses" (
|
|
37
|
+
"id",
|
|
38
|
+
"DialogNodeId",
|
|
39
|
+
"ResponseId",
|
|
40
|
+
"createdAt",
|
|
41
|
+
"updatedAt"
|
|
42
|
+
)
|
|
43
|
+
select *
|
|
44
|
+
from dblink(
|
|
45
|
+
'user=${user} password=${password} dbname=${oldDatabaseNameArg}',
|
|
46
|
+
'select "id",
|
|
47
|
+
"DialogNodeId",
|
|
48
|
+
"ResponseId",
|
|
49
|
+
"createdAt",
|
|
50
|
+
"updatedAt"
|
|
51
|
+
from "DialogNodes_MultipleResponses"
|
|
52
|
+
where cast("createdAt" as date) = ''${date.format('YYYY-MM-DD')}'''
|
|
53
|
+
) as linktable
|
|
54
|
+
(
|
|
55
|
+
"id" uuid,
|
|
56
|
+
"DialogNodeId" uuid,
|
|
57
|
+
"ResponseId" uuid,
|
|
58
|
+
"createdAt" timestamp with time zone,
|
|
59
|
+
"updatedAt" timestamp with time zone
|
|
60
|
+
)`
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
async function migrateBotIterables() {
|
|
65
|
+
|
|
66
|
+
const oldConfig = getDatabaseConfig(oldDatabaseNameArg)
|
|
67
|
+
const oldDatabase = new Sequelize(
|
|
68
|
+
oldConfig.database,
|
|
69
|
+
oldConfig.username,
|
|
70
|
+
oldConfig.password,
|
|
71
|
+
oldConfig
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
const oldEnterpriseModel = require('../legacy/models/enterprises').model(oldDatabase, Sequelize.DataTypes)
|
|
75
|
+
const { id: EnterpriseId } = await oldEnterpriseModel.findOne()
|
|
76
|
+
|
|
77
|
+
const dataInicial = moment(minDateArg, 'YYYY-MM-DD')
|
|
78
|
+
const dataFinalStr = moment(maxDateArg, 'YYYY-MM-DD').format('YYYY-MM-DD')
|
|
79
|
+
|
|
80
|
+
const config = getDatabaseConfig(process.env.DATABASE_NAME)
|
|
81
|
+
|
|
82
|
+
const newDatabase = new Sequelize(
|
|
83
|
+
config.database,
|
|
84
|
+
config.username,
|
|
85
|
+
config.password,
|
|
86
|
+
config
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
while (dataInicial.format('YYYY-MM-DD') <= dataFinalStr) {
|
|
90
|
+
|
|
91
|
+
console.log(`MIGRANDO DATA: ${dataInicial.format('YYYY-MM-DD')}`)
|
|
92
|
+
|
|
93
|
+
await runQuery(newDatabase, dataInicial, EnterpriseId)
|
|
94
|
+
|
|
95
|
+
dataInicial.add(1, 'days')
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
console.log('finalizado')
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function executeValidationSequence(readline, sequence, callback, index = 0) {
|
|
102
|
+
readline.question(`${sequence[index]} (y/n): `, resp => {
|
|
103
|
+
|
|
104
|
+
if (resp.toLowerCase() == 'y') {
|
|
105
|
+
|
|
106
|
+
if (index == sequence.length - 1) {
|
|
107
|
+
readline.close()
|
|
108
|
+
callback()
|
|
109
|
+
}
|
|
110
|
+
else executeValidationSequence(readline, sequence, callback, ++index)
|
|
111
|
+
|
|
112
|
+
} else if (resp.toLowerCase() == 'n') {
|
|
113
|
+
|
|
114
|
+
console.log('\nEste processo será encerrado. Reinicie-o após a regularização das configurações\n')
|
|
115
|
+
readline.close()
|
|
116
|
+
process.exit()
|
|
117
|
+
|
|
118
|
+
} else {
|
|
119
|
+
|
|
120
|
+
console.log('\nResponsta inválida!')
|
|
121
|
+
executeValidationSequence(readline, sequence, callback, index)
|
|
122
|
+
}
|
|
123
|
+
})
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const validationSequence = [
|
|
127
|
+
`\nEste processo foi iniciado à partir do diretório: ${process.cwd()}\nEstá correto?`,
|
|
128
|
+
'\nO arquivo .env foi criado e está correto?',
|
|
129
|
+
`\nA origem desta migração será executada no host ${process.env.DATABASE_HOST}, database ${oldDatabaseNameArg}. Está correto?`,
|
|
130
|
+
`\nO destino desta migração será executada no host ${process.env.DATABASE_HOST}, database ${process.env.DATABASE_NAME}. Está correto?`,
|
|
131
|
+
`\nSerão migrados somente os dados da tabela "DialogNodes_MultipleResponses" de ${minDateArg} à ${maxDateArg}. Está correto?`
|
|
132
|
+
]
|
|
133
|
+
|
|
134
|
+
async function main() {
|
|
135
|
+
|
|
136
|
+
if (minDateArg > maxDateArg) return console.log('Data inicial deve ser inferior ou igual à Data final.')
|
|
137
|
+
|
|
138
|
+
const readline = require('readline').createInterface({
|
|
139
|
+
input: process.stdin,
|
|
140
|
+
output: process.stdout
|
|
141
|
+
})
|
|
142
|
+
|
|
143
|
+
console.log('\n*** Antes de iniciar o processo de migração, confirme os dados solicitados abaixo. ***\n')
|
|
144
|
+
|
|
145
|
+
executeValidationSequence(readline, validationSequence, migrateBotIterables)
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
main()
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
require('dotenv/config')
|
|
2
|
+
const moment = require('moment')
|
|
3
|
+
const Sequelize = require('sequelize')
|
|
4
|
+
|
|
5
|
+
const { argv } = require('process')
|
|
6
|
+
|
|
7
|
+
const minDateArg = argv[2]
|
|
8
|
+
const maxDateArg = argv[3]
|
|
9
|
+
const oldDatabaseNameArg = argv[4]
|
|
10
|
+
|
|
11
|
+
const hostaddr = process.env.DATABASE_HOST
|
|
12
|
+
const user = process.env.DB_USERNAME
|
|
13
|
+
const password = process.env.DB_PASSWORD
|
|
14
|
+
|
|
15
|
+
function getDatabaseConfig(databaseName) {
|
|
16
|
+
return {
|
|
17
|
+
username: process.env.DB_USERNAME,
|
|
18
|
+
password: process.env.DB_PASSWORD,
|
|
19
|
+
database: databaseName,
|
|
20
|
+
host: process.env.DATABASE_HOST,
|
|
21
|
+
dialect: process.env.DATABASE_TYPE,
|
|
22
|
+
logging: false,
|
|
23
|
+
omitNull: true,
|
|
24
|
+
minifyAliases: true,
|
|
25
|
+
timezone: process.env.DATABASE_TIMEZONE || 'Etc/UTC',
|
|
26
|
+
pool: {
|
|
27
|
+
max: 100,
|
|
28
|
+
min: 0,
|
|
29
|
+
idle: 10000,
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function runQuery(sequelize, date, EnterpriseId) {
|
|
35
|
+
return sequelize.query(
|
|
36
|
+
`insert into "Entities" (
|
|
37
|
+
"EnterpriseId",
|
|
38
|
+
"id",
|
|
39
|
+
"SkillId",
|
|
40
|
+
"name",
|
|
41
|
+
"values",
|
|
42
|
+
"fuzzy",
|
|
43
|
+
"createdAt",
|
|
44
|
+
"updatedAt"
|
|
45
|
+
)
|
|
46
|
+
select *
|
|
47
|
+
from dblink(
|
|
48
|
+
'user=${user} password=${password} dbname=${oldDatabaseNameArg}',
|
|
49
|
+
'select ''${EnterpriseId}'',
|
|
50
|
+
"id",
|
|
51
|
+
"SkillId",
|
|
52
|
+
"name",
|
|
53
|
+
"values",
|
|
54
|
+
"fuzzy",
|
|
55
|
+
"createdAt",
|
|
56
|
+
"updatedAt"
|
|
57
|
+
from "Entities"
|
|
58
|
+
where cast("createdAt" as date) = ''${date.format('YYYY-MM-DD')}'''
|
|
59
|
+
) as linktable
|
|
60
|
+
(
|
|
61
|
+
"EnterpriseId" uuid,
|
|
62
|
+
"id" uuid,
|
|
63
|
+
"SkillId" uuid,
|
|
64
|
+
"name" varchar(255),
|
|
65
|
+
"values" text,
|
|
66
|
+
"fuzzy" boolean,
|
|
67
|
+
"createdAt" timestamp with time zone,
|
|
68
|
+
"updatedAt" timestamp with time zone
|
|
69
|
+
)`
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async function migrateBotIterables() {
|
|
74
|
+
|
|
75
|
+
const oldConfig = getDatabaseConfig(oldDatabaseNameArg)
|
|
76
|
+
const oldDatabase = new Sequelize(
|
|
77
|
+
oldConfig.database,
|
|
78
|
+
oldConfig.username,
|
|
79
|
+
oldConfig.password,
|
|
80
|
+
oldConfig
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
const oldEnterpriseModel = require('../legacy/models/enterprises').model(oldDatabase, Sequelize.DataTypes)
|
|
84
|
+
const { id: EnterpriseId } = await oldEnterpriseModel.findOne()
|
|
85
|
+
|
|
86
|
+
const dataInicial = moment(minDateArg, 'YYYY-MM-DD')
|
|
87
|
+
const dataFinalStr = moment(maxDateArg, 'YYYY-MM-DD').format('YYYY-MM-DD')
|
|
88
|
+
|
|
89
|
+
const config = getDatabaseConfig(process.env.DATABASE_NAME)
|
|
90
|
+
|
|
91
|
+
const newDatabase = new Sequelize(
|
|
92
|
+
config.database,
|
|
93
|
+
config.username,
|
|
94
|
+
config.password,
|
|
95
|
+
config
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
while (dataInicial.format('YYYY-MM-DD') <= dataFinalStr) {
|
|
99
|
+
|
|
100
|
+
console.log(`MIGRANDO DATA: ${dataInicial.format('YYYY-MM-DD')}`)
|
|
101
|
+
|
|
102
|
+
await runQuery(newDatabase, dataInicial, EnterpriseId)
|
|
103
|
+
|
|
104
|
+
dataInicial.add(1, 'days')
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
console.log('finalizado')
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function executeValidationSequence(readline, sequence, callback, index = 0) {
|
|
111
|
+
readline.question(`${sequence[index]} (y/n): `, resp => {
|
|
112
|
+
|
|
113
|
+
if (resp.toLowerCase() == 'y') {
|
|
114
|
+
|
|
115
|
+
if (index == sequence.length - 1) {
|
|
116
|
+
readline.close()
|
|
117
|
+
callback()
|
|
118
|
+
}
|
|
119
|
+
else executeValidationSequence(readline, sequence, callback, ++index)
|
|
120
|
+
|
|
121
|
+
} else if (resp.toLowerCase() == 'n') {
|
|
122
|
+
|
|
123
|
+
console.log('\nEste processo será encerrado. Reinicie-o após a regularização das configurações\n')
|
|
124
|
+
readline.close()
|
|
125
|
+
process.exit()
|
|
126
|
+
|
|
127
|
+
} else {
|
|
128
|
+
|
|
129
|
+
console.log('\nResponsta inválida!')
|
|
130
|
+
executeValidationSequence(readline, sequence, callback, index)
|
|
131
|
+
}
|
|
132
|
+
})
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const validationSequence = [
|
|
136
|
+
`\nEste processo foi iniciado à partir do diretório: ${process.cwd()}\nEstá correto?`,
|
|
137
|
+
'\nO arquivo .env foi criado e está correto?',
|
|
138
|
+
`\nA origem desta migração será executada no host ${process.env.DATABASE_HOST}, database ${oldDatabaseNameArg}. Está correto?`,
|
|
139
|
+
`\nO destino desta migração será executada no host ${process.env.DATABASE_HOST}, database ${process.env.DATABASE_NAME}. Está correto?`,
|
|
140
|
+
`\nSerão migrados somente os dados da tabela "Entities" de ${minDateArg} à ${maxDateArg}. Está correto?`
|
|
141
|
+
]
|
|
142
|
+
|
|
143
|
+
async function main() {
|
|
144
|
+
|
|
145
|
+
if (minDateArg > maxDateArg) return console.log('Data inicial deve ser inferior ou igual à Data final.')
|
|
146
|
+
|
|
147
|
+
const readline = require('readline').createInterface({
|
|
148
|
+
input: process.stdin,
|
|
149
|
+
output: process.stdout
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
console.log('\n*** Antes de iniciar o processo de migração, confirme os dados solicitados abaixo. ***\n')
|
|
153
|
+
|
|
154
|
+
executeValidationSequence(readline, validationSequence, migrateBotIterables)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
main()
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
require('dotenv/config')
|
|
2
|
+
const moment = require('moment')
|
|
3
|
+
const Sequelize = require('sequelize')
|
|
4
|
+
|
|
5
|
+
const { argv } = require('process')
|
|
6
|
+
|
|
7
|
+
const minDateArg = argv[2]
|
|
8
|
+
const maxDateArg = argv[3]
|
|
9
|
+
const oldDatabaseNameArg = argv[4]
|
|
10
|
+
|
|
11
|
+
const hostaddr = process.env.DATABASE_HOST
|
|
12
|
+
const user = process.env.DB_USERNAME
|
|
13
|
+
const password = process.env.DB_PASSWORD
|
|
14
|
+
|
|
15
|
+
function getDatabaseConfig(databaseName) {
|
|
16
|
+
return {
|
|
17
|
+
username: process.env.DB_USERNAME,
|
|
18
|
+
password: process.env.DB_PASSWORD,
|
|
19
|
+
database: databaseName,
|
|
20
|
+
host: process.env.DATABASE_HOST,
|
|
21
|
+
dialect: process.env.DATABASE_TYPE,
|
|
22
|
+
logging: false,
|
|
23
|
+
omitNull: true,
|
|
24
|
+
minifyAliases: true,
|
|
25
|
+
timezone: process.env.DATABASE_TIMEZONE || 'Etc/UTC',
|
|
26
|
+
pool: {
|
|
27
|
+
max: 100,
|
|
28
|
+
min: 0,
|
|
29
|
+
idle: 10000,
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function runQuery(sequelize, date, EnterpriseId) {
|
|
35
|
+
return sequelize.query(
|
|
36
|
+
`insert into "EntityValues" (
|
|
37
|
+
"EnterpriseId",
|
|
38
|
+
"id",
|
|
39
|
+
"EntityId",
|
|
40
|
+
"name",
|
|
41
|
+
"synonyms",
|
|
42
|
+
"type",
|
|
43
|
+
"createdAt",
|
|
44
|
+
"updatedAt"
|
|
45
|
+
)
|
|
46
|
+
select *
|
|
47
|
+
from dblink(
|
|
48
|
+
'user=${user} password=${password} dbname=${oldDatabaseNameArg}',
|
|
49
|
+
'select ''${EnterpriseId}'',
|
|
50
|
+
"id",
|
|
51
|
+
"EntityId",
|
|
52
|
+
"name",
|
|
53
|
+
"synonyms",
|
|
54
|
+
"type",
|
|
55
|
+
"createdAt",
|
|
56
|
+
"updatedAt"
|
|
57
|
+
from "EntityValues"
|
|
58
|
+
where cast("createdAt" as date) = ''${date.format('YYYY-MM-DD')}'''
|
|
59
|
+
) as linktable
|
|
60
|
+
(
|
|
61
|
+
"EnterpriseId" uuid,
|
|
62
|
+
"id" uuid,
|
|
63
|
+
"EntityId" uuid,
|
|
64
|
+
"name" varchar(255),
|
|
65
|
+
"synonyms" text,
|
|
66
|
+
"type" varchar(10),
|
|
67
|
+
"createdAt" timestamp with time zone,
|
|
68
|
+
"updatedAt" timestamp with time zone
|
|
69
|
+
)`
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async function migrateBotIterables() {
|
|
74
|
+
|
|
75
|
+
const oldConfig = getDatabaseConfig(oldDatabaseNameArg)
|
|
76
|
+
const oldDatabase = new Sequelize(
|
|
77
|
+
oldConfig.database,
|
|
78
|
+
oldConfig.username,
|
|
79
|
+
oldConfig.password,
|
|
80
|
+
oldConfig
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
const oldEnterpriseModel = require('../legacy/models/enterprises').model(oldDatabase, Sequelize.DataTypes)
|
|
84
|
+
const { id: EnterpriseId } = await oldEnterpriseModel.findOne()
|
|
85
|
+
|
|
86
|
+
const dataInicial = moment(minDateArg, 'YYYY-MM-DD')
|
|
87
|
+
const dataFinalStr = moment(maxDateArg, 'YYYY-MM-DD').format('YYYY-MM-DD')
|
|
88
|
+
|
|
89
|
+
const config = getDatabaseConfig(process.env.DATABASE_NAME)
|
|
90
|
+
|
|
91
|
+
const newDatabase = new Sequelize(
|
|
92
|
+
config.database,
|
|
93
|
+
config.username,
|
|
94
|
+
config.password,
|
|
95
|
+
config
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
while (dataInicial.format('YYYY-MM-DD') <= dataFinalStr) {
|
|
99
|
+
|
|
100
|
+
console.log(`MIGRANDO DATA: ${dataInicial.format('YYYY-MM-DD')}`)
|
|
101
|
+
|
|
102
|
+
await runQuery(newDatabase, dataInicial, EnterpriseId)
|
|
103
|
+
|
|
104
|
+
dataInicial.add(1, 'days')
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
console.log('finalizado')
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function executeValidationSequence(readline, sequence, callback, index = 0) {
|
|
111
|
+
readline.question(`${sequence[index]} (y/n): `, resp => {
|
|
112
|
+
|
|
113
|
+
if (resp.toLowerCase() == 'y') {
|
|
114
|
+
|
|
115
|
+
if (index == sequence.length - 1) {
|
|
116
|
+
readline.close()
|
|
117
|
+
callback()
|
|
118
|
+
}
|
|
119
|
+
else executeValidationSequence(readline, sequence, callback, ++index)
|
|
120
|
+
|
|
121
|
+
} else if (resp.toLowerCase() == 'n') {
|
|
122
|
+
|
|
123
|
+
console.log('\nEste processo será encerrado. Reinicie-o após a regularização das configurações\n')
|
|
124
|
+
readline.close()
|
|
125
|
+
process.exit()
|
|
126
|
+
|
|
127
|
+
} else {
|
|
128
|
+
|
|
129
|
+
console.log('\nResponsta inválida!')
|
|
130
|
+
executeValidationSequence(readline, sequence, callback, index)
|
|
131
|
+
}
|
|
132
|
+
})
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const validationSequence = [
|
|
136
|
+
`\nEste processo foi iniciado à partir do diretório: ${process.cwd()}\nEstá correto?`,
|
|
137
|
+
'\nO arquivo .env foi criado e está correto?',
|
|
138
|
+
`\nA origem desta migração será executada no host ${process.env.DATABASE_HOST}, database ${oldDatabaseNameArg}. Está correto?`,
|
|
139
|
+
`\nO destino desta migração será executada no host ${process.env.DATABASE_HOST}, database ${process.env.DATABASE_NAME}. Está correto?`,
|
|
140
|
+
`\nSerão migrados somente os dados da tabela "EntityValues" de ${minDateArg} à ${maxDateArg}. Está correto?`
|
|
141
|
+
]
|
|
142
|
+
|
|
143
|
+
async function main() {
|
|
144
|
+
|
|
145
|
+
if (minDateArg > maxDateArg) return console.log('Data inicial deve ser inferior ou igual à Data final.')
|
|
146
|
+
|
|
147
|
+
const readline = require('readline').createInterface({
|
|
148
|
+
input: process.stdin,
|
|
149
|
+
output: process.stdout
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
console.log('\n*** Antes de iniciar o processo de migração, confirme os dados solicitados abaixo. ***\n')
|
|
153
|
+
|
|
154
|
+
executeValidationSequence(readline, validationSequence, migrateBotIterables)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
main()
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
require('dotenv/config')
|
|
2
|
+
const moment = require('moment')
|
|
3
|
+
const Sequelize = require('sequelize')
|
|
4
|
+
|
|
5
|
+
const { argv } = require('process')
|
|
6
|
+
|
|
7
|
+
const minDateArg = argv[2]
|
|
8
|
+
const maxDateArg = argv[3]
|
|
9
|
+
const oldDatabaseNameArg = argv[4]
|
|
10
|
+
|
|
11
|
+
const hostaddr = process.env.DATABASE_HOST
|
|
12
|
+
const user = process.env.DB_USERNAME
|
|
13
|
+
const password = process.env.DB_PASSWORD
|
|
14
|
+
|
|
15
|
+
function getDatabaseConfig(databaseName) {
|
|
16
|
+
return {
|
|
17
|
+
username: process.env.DB_USERNAME,
|
|
18
|
+
password: process.env.DB_PASSWORD,
|
|
19
|
+
database: databaseName,
|
|
20
|
+
host: process.env.DATABASE_HOST,
|
|
21
|
+
dialect: process.env.DATABASE_TYPE,
|
|
22
|
+
logging: false,
|
|
23
|
+
omitNull: true,
|
|
24
|
+
minifyAliases: true,
|
|
25
|
+
timezone: process.env.DATABASE_TIMEZONE || 'Etc/UTC',
|
|
26
|
+
pool: {
|
|
27
|
+
max: 100,
|
|
28
|
+
min: 0,
|
|
29
|
+
idle: 10000,
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function runQuery(sequelize, date, EnterpriseId) {
|
|
35
|
+
return sequelize.query(
|
|
36
|
+
`insert into "IntentionValues" (
|
|
37
|
+
"EnterpriseId",
|
|
38
|
+
"id",
|
|
39
|
+
"IntentionId",
|
|
40
|
+
"name",
|
|
41
|
+
"createdAt",
|
|
42
|
+
"updatedAt"
|
|
43
|
+
)
|
|
44
|
+
select *
|
|
45
|
+
from dblink(
|
|
46
|
+
'user=${user} password=${password} dbname=${oldDatabaseNameArg}',
|
|
47
|
+
'select ''${EnterpriseId}'',
|
|
48
|
+
"id",
|
|
49
|
+
"IntentionId",
|
|
50
|
+
"name",
|
|
51
|
+
"createdAt",
|
|
52
|
+
"updatedAt"
|
|
53
|
+
from "IntentionValues"
|
|
54
|
+
where cast("createdAt" as date) = ''${date.format('YYYY-MM-DD')}'''
|
|
55
|
+
) as linktable
|
|
56
|
+
(
|
|
57
|
+
"EnterpriseId" uuid,
|
|
58
|
+
"id" uuid,
|
|
59
|
+
"IntentionId" uuid,
|
|
60
|
+
"name" varchar(255),
|
|
61
|
+
"createdAt" timestamp with time zone,
|
|
62
|
+
"updatedAt" timestamp with time zone
|
|
63
|
+
)`
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
async function migrateBotIterables() {
|
|
68
|
+
|
|
69
|
+
const oldConfig = getDatabaseConfig(oldDatabaseNameArg)
|
|
70
|
+
const oldDatabase = new Sequelize(
|
|
71
|
+
oldConfig.database,
|
|
72
|
+
oldConfig.username,
|
|
73
|
+
oldConfig.password,
|
|
74
|
+
oldConfig
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
const oldEnterpriseModel = require('../legacy/models/enterprises').model(oldDatabase, Sequelize.DataTypes)
|
|
78
|
+
const { id: EnterpriseId } = await oldEnterpriseModel.findOne()
|
|
79
|
+
|
|
80
|
+
const dataInicial = moment(minDateArg, 'YYYY-MM-DD')
|
|
81
|
+
const dataFinalStr = moment(maxDateArg, 'YYYY-MM-DD').format('YYYY-MM-DD')
|
|
82
|
+
|
|
83
|
+
const config = getDatabaseConfig(process.env.DATABASE_NAME)
|
|
84
|
+
|
|
85
|
+
const newDatabase = new Sequelize(
|
|
86
|
+
config.database,
|
|
87
|
+
config.username,
|
|
88
|
+
config.password,
|
|
89
|
+
config
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
while (dataInicial.format('YYYY-MM-DD') <= dataFinalStr) {
|
|
93
|
+
|
|
94
|
+
console.log(`MIGRANDO DATA: ${dataInicial.format('YYYY-MM-DD')}`)
|
|
95
|
+
|
|
96
|
+
await runQuery(newDatabase, dataInicial, EnterpriseId)
|
|
97
|
+
|
|
98
|
+
dataInicial.add(1, 'days')
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
console.log('finalizado')
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function executeValidationSequence(readline, sequence, callback, index = 0) {
|
|
105
|
+
readline.question(`${sequence[index]} (y/n): `, resp => {
|
|
106
|
+
|
|
107
|
+
if (resp.toLowerCase() == 'y') {
|
|
108
|
+
|
|
109
|
+
if (index == sequence.length - 1) {
|
|
110
|
+
readline.close()
|
|
111
|
+
callback()
|
|
112
|
+
}
|
|
113
|
+
else executeValidationSequence(readline, sequence, callback, ++index)
|
|
114
|
+
|
|
115
|
+
} else if (resp.toLowerCase() == 'n') {
|
|
116
|
+
|
|
117
|
+
console.log('\nEste processo será encerrado. Reinicie-o após a regularização das configurações\n')
|
|
118
|
+
readline.close()
|
|
119
|
+
process.exit()
|
|
120
|
+
|
|
121
|
+
} else {
|
|
122
|
+
|
|
123
|
+
console.log('\nResponsta inválida!')
|
|
124
|
+
executeValidationSequence(readline, sequence, callback, index)
|
|
125
|
+
}
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const validationSequence = [
|
|
130
|
+
`\nEste processo foi iniciado à partir do diretório: ${process.cwd()}\nEstá correto?`,
|
|
131
|
+
'\nO arquivo .env foi criado e está correto?',
|
|
132
|
+
`\nA origem desta migração será executada no host ${process.env.DATABASE_HOST}, database ${oldDatabaseNameArg}. Está correto?`,
|
|
133
|
+
`\nO destino desta migração será executada no host ${process.env.DATABASE_HOST}, database ${process.env.DATABASE_NAME}. Está correto?`,
|
|
134
|
+
`\nSerão migrados somente os dados da tabela "IntentionValues" de ${minDateArg} à ${maxDateArg}. Está correto?`
|
|
135
|
+
]
|
|
136
|
+
|
|
137
|
+
async function main() {
|
|
138
|
+
|
|
139
|
+
if (minDateArg > maxDateArg) return console.log('Data inicial deve ser inferior ou igual à Data final.')
|
|
140
|
+
|
|
141
|
+
const readline = require('readline').createInterface({
|
|
142
|
+
input: process.stdin,
|
|
143
|
+
output: process.stdout
|
|
144
|
+
})
|
|
145
|
+
|
|
146
|
+
console.log('\n*** Antes de iniciar o processo de migração, confirme os dados solicitados abaixo. ***\n')
|
|
147
|
+
|
|
148
|
+
executeValidationSequence(readline, validationSequence, migrateBotIterables)
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
main()
|