@lovrabet/rabetbase-cli 2.5.5 → 2.5.6-beta.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/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/detail.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/cross-db-analysis-shared.d.ts +40 -0
- package/lib/commands/db/cross-db-analysis-shared.js +1 -0
- package/lib/commands/db/cross-db-analyze-latest.d.ts +2 -0
- package/lib/commands/db/cross-db-analyze-latest.js +1 -0
- package/lib/commands/db/cross-db-analyze-start.d.ts +2 -0
- package/lib/commands/db/cross-db-analyze-start.js +1 -0
- package/lib/commands/db/cross-db-analyze-status.d.ts +2 -0
- package/lib/commands/db/cross-db-analyze-status.js +1 -0
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/path.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/subapp-assets.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/subapp-assets-status.js +1 -1
- package/lib/commands/menu/subapp-assets-update.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/feishu-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +7 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-analysis.d.ts +17 -0
- package/lib/core/cross-db-analysis.js +1 -0
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/page/lr-smart-jsx.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +6 -4
- package/skills/rabetbase/guides/database-connection-workflow.md +12 -3
- package/skills/rabetbase/guides/independent-deployment.md +10 -2
- package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +2 -0
- package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -0
- package/skills/rabetbase/references/rabetbase-db-cross-analyze.md +78 -0
- package/skills/rabetbase-page-generation/SKILL.md +1 -1
- package/skills/rabetbase.manifest.json +4 -3
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a243_0x125e(){const _0x1d2a07=['158444GdoUWn','40IlpTvC','sqlcode','params','67720qMNrzi','SQL\x20execution\x20failed','exec','1016568veeaTQ','Returned\x20','68190SOwtZA','18361123asQgNM','read','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','413BSyQbW','now','str','string','sql','3211048BiIRnC','\x20row(s)\x20in\x20','appCode','isArray','172DpRCkh','2pmQdVo','execError','length','execSuccess','1866642BaPoaq'];a243_0x125e=function(){return _0x1d2a07;};return a243_0x125e();}const a243_0x4ebd12=a243_0x1656;(function(_0x3e1742,_0x41783b){const _0x2bcea2=a243_0x1656,_0x5e7bf4=_0x3e1742();while(!![]){try{const _0x352c67=-parseInt(_0x2bcea2(0x100))/0x1*(-parseInt(_0x2bcea2(0xfb))/0x2)+parseInt(_0x2bcea2(0xff))/0x3+parseInt(_0x2bcea2(0xfa))/0x4*(parseInt(_0x2bcea2(0x104))/0x5)+-parseInt(_0x2bcea2(0x109))/0x6*(-parseInt(_0x2bcea2(0xf1))/0x7)+-parseInt(_0x2bcea2(0xf6))/0x8+-parseInt(_0x2bcea2(0x107))/0x9*(-parseInt(_0x2bcea2(0x101))/0xa)+-parseInt(_0x2bcea2(0x10a))/0xb;if(_0x352c67===_0x41783b)break;else _0x5e7bf4['push'](_0x5e7bf4['shift']());}catch(_0x161f04){_0x5e7bf4['push'](_0x5e7bf4['shift']());}}}(a243_0x125e,0x65463));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a243_0x1656(_0x15c457,_0x3ddedc){_0x15c457=_0x15c457-0xf0;const _0x125eab=a243_0x125e();let _0x1656e5=_0x125eab[_0x15c457];return _0x1656e5;}export const sqlExec={'service':a243_0x4ebd12(0xf5),'command':a243_0x4ebd12(0x106),'description':a243_0x4ebd12(0x10c),'risk':a243_0x4ebd12(0x10b),'flags':[SQLCODE_FLAG,{'name':a243_0x4ebd12(0x103),'type':a243_0x4ebd12(0xf4),'description':a243_0x4ebd12(0xf0)}],async 'execute'(_0x2363e9){const _0x4f92f8=a243_0x4ebd12,_0x2ad1cc=parseJsonParams(_0x2363e9[_0x4f92f8(0xf3)]('params')),_0x569b8d=Date[_0x4f92f8(0xf2)](),_0x1921bc=await executeSql(_0x2363e9[_0x4f92f8(0xf8)],_0x2363e9[_0x4f92f8(0xf3)](_0x4f92f8(0x102)),_0x2ad1cc),_0x1b72b5=Date[_0x4f92f8(0xf2)]()-_0x569b8d,_0x3958d5=_0x1921bc?.['execResult']??_0x1921bc,_0x51e111=_0x1921bc?.[_0x4f92f8(0xfe)]??!![];if(!_0x51e111)return{'ok':![],'data':{'error':_0x1921bc?.[_0x4f92f8(0xfc)]||'SQL\x20execution\x20failed','elapsed':_0x1b72b5},'message':_0x4f92f8(0x105)};const _0x1d65db=Array[_0x4f92f8(0xf9)](_0x3958d5)?_0x3958d5:[];return{'ok':!![],'data':{'rows':_0x1d65db,'rowCount':_0x1d65db[_0x4f92f8(0xfd)],'elapsed':_0x1b72b5},'message':_0x4f92f8(0x108)+_0x1d65db[_0x4f92f8(0xfd)]+_0x4f92f8(0xf7)+_0x1b72b5+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a244_0x455e(){const _0x3e3da2=['277203AMrHhk','417547yaSphS','220018vYnhWT','45nNQrpM','5UXpdnn','4tuDFNI','442145yzSYpV','1032108sTJZEH','324UUXeLo','10mJlQhy','298904qiINzF','12vtqOyn','770052BrBzZA'];a244_0x455e=function(){return _0x3e3da2;};return a244_0x455e();}(function(_0x6a3c62,_0x165a60){const _0x37e342=a244_0x5d8a,_0x2b3ded=_0x6a3c62();while(!![]){try{const _0x3f5a4e=parseInt(_0x37e342(0x1b0))/0x1+-parseInt(_0x37e342(0x1a6))/0x2*(-parseInt(_0x37e342(0x1ae))/0x3)+-parseInt(_0x37e342(0x1ad))/0x4*(-parseInt(_0x37e342(0x1a5))/0x5)+-parseInt(_0x37e342(0x1ac))/0x6*(-parseInt(_0x37e342(0x1a8))/0x7)+parseInt(_0x37e342(0x1ab))/0x8*(parseInt(_0x37e342(0x1b1))/0x9)+-parseInt(_0x37e342(0x1aa))/0xa*(parseInt(_0x37e342(0x1a7))/0xb)+parseInt(_0x37e342(0x1a9))/0xc*(-parseInt(_0x37e342(0x1af))/0xd);if(_0x3f5a4e===_0x165a60)break;else _0x2b3ded['push'](_0x2b3ded['shift']());}catch(_0x26f62c){_0x2b3ded['push'](_0x2b3ded['shift']());}}}(a244_0x455e,0x29e6c));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';function a244_0x5d8a(_0xe00117,_0x417ffc){_0xe00117=_0xe00117-0x1a5;const _0x455ece=a244_0x455e();let _0x5d8a6b=_0x455ece[_0xe00117];return _0x5d8a6b;}import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a245_0x2fd589=a245_0x298a;(function(_0x38ce79,_0x267b6a){const _0x25d100=a245_0x298a,_0x1ad738=_0x38ce79();while(!![]){try{const _0x2fbe1c=parseInt(_0x25d100(0xaf))/0x1*(parseInt(_0x25d100(0xb0))/0x2)+-parseInt(_0x25d100(0xa4))/0x3+-parseInt(_0x25d100(0xc0))/0x4*(-parseInt(_0x25d100(0xab))/0x5)+parseInt(_0x25d100(0xbc))/0x6+-parseInt(_0x25d100(0x99))/0x7*(parseInt(_0x25d100(0xbe))/0x8)+-parseInt(_0x25d100(0xad))/0x9*(parseInt(_0x25d100(0xa8))/0xa)+-parseInt(_0x25d100(0xc1))/0xb*(-parseInt(_0x25d100(0xb4))/0xc);if(_0x2fbe1c===_0x267b6a)break;else _0x1ad738['push'](_0x1ad738['shift']());}catch(_0x37c265){_0x1ad738['push'](_0x1ad738['shift']());}}}(a245_0x5ad1,0x22aaa));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a245_0x5ad1(){const _0x5253e3=['Page\x20size','length','sqlName','List\x20custom\x20SQL\x20queries','sqlcode','all','Filter\x20by\x20SQL\x20name','verbose','444834XptUom','boolean','Found\x20','page','10MWSvAL','name','read','36965pNvTii','list','1795779QSqVRl','dbId','750eNsOtN','296bYfrdm','paging','tableData','bool','36BjOXSX','str','pagesize','No\x20custom\x20SQL\x20queries\x20found.','appCode','Page\x20number','totalCount','sqlCode','400542oRcxRX','\x20SQL\x20queries\x20(total:\x20','134472KjxFdv','number','124SQtwYA','1289959mQadje','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','112GFaNvz','description','num'];a245_0x5ad1=function(){return _0x5253e3;};return a245_0x5ad1();}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a245_0x298a(_0x56b805,_0x49f3a0){_0x56b805=_0x56b805-0x98;const _0x5ad198=a245_0x5ad1();let _0x298a88=_0x5ad198[_0x56b805];return _0x298a88;}export const sqlList={'service':'sql','command':a245_0x2fd589(0xac),'description':a245_0x2fd589(0x9f),'risk':a245_0x2fd589(0xaa),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a245_0x2fd589(0xa9),'type':'string','description':a245_0x2fd589(0xa2)},{'name':a245_0x2fd589(0xa7),'type':'number','description':a245_0x2fd589(0xb9),'default':0x1},{'name':a245_0x2fd589(0xb6),'type':a245_0x2fd589(0xbf),'description':a245_0x2fd589(0x9c)},{'name':'verbose','type':a245_0x2fd589(0xa5),'description':a245_0x2fd589(0x98)}],async 'execute'(_0x28f906){const _0x311111=a245_0x2fd589,_0x1be2b4=await listSqlQueries(_0x28f906['appCode'],{'sqlCode':_0x28f906[_0x311111(0xb5)](_0x311111(0xa0))||undefined,'sqlName':_0x28f906[_0x311111(0xb5)](_0x311111(0xa9))||undefined,'currentPage':_0x28f906[_0x311111(0x9b)]('page'),'pageSize':_0x28f906[_0x311111(0x9b)]('pagesize',0x32)}),_0x452bd6=_0x28f906[_0x311111(0xb3)](_0x311111(0xa3)),_0x1ab444=_0x1be2b4[_0x311111(0xb2)]??[],_0x5855c0=_0x1be2b4[_0x311111(0xb1)]?.[_0x311111(0xba)]??_0x1ab444['length'];let _0x2ac2d1;return _0x452bd6?_0x2ac2d1=_0x1ab444:_0x2ac2d1=await Promise[_0x311111(0xa1)](_0x1ab444['map'](async _0x3e66bf=>{const _0x593c42=_0x311111;let _0x3a0972;try{_0x3a0972=_0x3e66bf[_0x593c42(0xae)]?await getDbName(_0x28f906[_0x593c42(0xb8)],_0x3e66bf['dbId']):undefined;}catch{}return{'sqlCode':_0x3e66bf[_0x593c42(0xbb)],'sqlName':_0x3e66bf[_0x593c42(0x9e)],'description':_0x3e66bf[_0x593c42(0x9a)]??'','db':_0x3a0972?_0x3a0972+'\x20('+_0x3e66bf[_0x593c42(0xae)]+')':_0x3e66bf[_0x593c42(0xae)]??''};})),{'ok':!![],'data':_0x2ac2d1,'message':_0x1ab444[_0x311111(0x9d)]===0x0?_0x311111(0xb7):_0x311111(0xa6)+_0x1ab444[_0x311111(0x9d)]+_0x311111(0xbd)+_0x5855c0+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a242_0x5edcef=a242_0xa41c;(function(_0x2daca9,_0x4ac5cc){const _0x5a9b85=a242_0xa41c,_0x33c39e=_0x2daca9();while(!![]){try{const _0xa9c255=-parseInt(_0x5a9b85(0x168))/0x1+parseInt(_0x5a9b85(0x16f))/0x2+parseInt(_0x5a9b85(0x17d))/0x3+-parseInt(_0x5a9b85(0x161))/0x4+parseInt(_0x5a9b85(0x147))/0x5+-parseInt(_0x5a9b85(0x164))/0x6+parseInt(_0x5a9b85(0x13e))/0x7*(parseInt(_0x5a9b85(0x175))/0x8);if(_0xa9c255===_0x4ac5cc)break;else _0x33c39e['push'](_0x33c39e['shift']());}catch(_0x11f44c){_0x33c39e['push'](_0x33c39e['shift']());}}}(a242_0x1a44,0x21ef0));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{detectSqlMode}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';function a242_0x1a44(){const _0x22642f=['join','pull','unchanged','paging','Force\x20overwrite\x20local\x20unsynced\x20changes','find','appCode','str','mode','Would\x20pull\x20','toISOString','Force\x20pull\x20cancelled.','dbId','772736vFyLVM','Filter\x20by\x20SQL\x20display\x20name','sql','846378BbuWeJ','name','replace','sqlcode','21558rCjSwq','trim','sqlName','Pull\x20complete:\x20','sqlContent','split','equivalent','1160kvpkAV','local\x20differs\x20from\x20remote','totalCount','catch','toLowerCase','.xml','8bykeji','skipped','utf8','all','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','some','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','hash','434277SZPuVX','file','push','lockFilePath','read','cancelled','sqls','sqlRootDir','message','filter','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','No\x20remote\x20SQL\x20queries\x20matched.','sqlRoot','boolean','765422MzhUuK','\x20failed','sqlCode','apps','force','description','content','nonInteractive','\x20skipped,\x20','1200560gWxouK','mybatisXml','tableData','would_pull','lastSync','path','POST','map','\x20SQL\x20file(s)\x20into\x20','endsWith','conflict','isCanonical','length'];a242_0x1a44=function(){return _0x22642f;};return a242_0x1a44();}const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x48159f,_0x16796a){const _0x5dbb3a=a242_0xa41c,_0x54dc24=[];let _0x3c41cd=0x1;while(!![]){const _0x30ae7d=await listSqlQueries(_0x48159f,{'currentPage':_0x3c41cd,'pageSize':PAGE_SIZE,'sqlCode':_0x16796a[_0x5dbb3a(0x140)],'sqlName':_0x16796a[_0x5dbb3a(0x16a)]}),_0x29a91b=_0x30ae7d[_0x5dbb3a(0x149)]??[];_0x54dc24['push'](..._0x29a91b);if(_0x29a91b[_0x5dbb3a(0x153)]===0x0)break;const _0x324e0f=_0x30ae7d[_0x5dbb3a(0x157)]?.[_0x5dbb3a(0x171)];if(_0x324e0f!=null?_0x54dc24['length']>=_0x324e0f:_0x29a91b[_0x5dbb3a(0x153)]<PAGE_SIZE)break;_0x3c41cd++;}return _0x54dc24;}function a242_0xa41c(_0x5dc221,_0x380d0e){_0x5dc221=_0x5dc221-0x13e;const _0x1a441d=a242_0x1a44();let _0xa41c64=_0x1a441d[_0x5dc221];return _0xa41c64;}async function ensureSqlContent(_0x25b490){const _0x168b73=a242_0xa41c;if(_0x25b490[_0x168b73(0x16c)]!=null&&String(_0x25b490[_0x168b73(0x16c)])[_0x168b73(0x153)]>0x0)return _0x25b490;return getSqlQueryDetail(_0x25b490['sqlCode']);}export const sqlPull={'service':a242_0x5edcef(0x163),'command':a242_0x5edcef(0x155),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':a242_0x5edcef(0x181),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a242_0x5edcef(0x165),'type':'string','description':a242_0x5edcef(0x162)},{'name':a242_0x5edcef(0x142),'type':a242_0x5edcef(0x18a),'description':a242_0x5edcef(0x158)}],async 'dryRun'(_0x15efd2){const _0x43a943=a242_0x5edcef,_0x351a01=loadSqlProjectConfig(_0x15efd2[_0x43a943(0x15a)]),_0x74574e=await readSqlLockFile(_0x351a01['lockFilePath']),{appLock:_0x4ed679}=ensureSqlLockScope(_0x74574e??createEmptySqlLock(),_0x351a01['appCode'],_0x351a01[_0x43a943(0x189)],_0x43a943(0x155)),_0x44903f=await fetchAllSqlQueries(_0x15efd2['appCode'],{'sqlCode':_0x15efd2[_0x43a943(0x15b)](_0x43a943(0x167))||undefined,'sqlName':_0x15efd2[_0x43a943(0x15b)]('name')||undefined}),_0x499a01=[];for(const _0x29f075 of _0x44903f){const _0x5896fa=await ensureSqlContent(_0x29f075),_0x1af64b=ensureRemoteSqlContent(_0x5896fa),_0x12396c=detectSqlMode(_0x1af64b),_0x321c28=_0x5896fa[_0x43a943(0x160)]?await getDbName(_0x15efd2[_0x43a943(0x15a)],Number(_0x5896fa[_0x43a943(0x160)]))[_0x43a943(0x172)](()=>undefined):undefined,_0x284f87=buildLocalSqlFileContent({'sqlCode':_0x5896fa['sqlCode'],'sqlName':_0x5896fa[_0x43a943(0x16a)],'dbId':_0x5896fa['dbId']},_0x1af64b,{'dbName':_0x321c28,'mode':_0x12396c,'syncedAt':new Date()[_0x43a943(0x15e)](),'description':_0x5896fa['description']}),_0x4f76b5=buildSqlLockEntry(_0x5896fa,_0x1af64b,'',{'dbName':_0x321c28}),_0x5ea5c2=resolveLocalSqlFilePath(_0x351a01,_0x5896fa[_0x43a943(0x140)],_0x4f76b5);let _0x42a9e2=_0x43a943(0x14a),_0x10f78a;const _0x3cac95=await findExistingSqlFiles(_0x351a01,_0x5ea5c2,_0x12396c,_0x4ed679[_0x43a943(0x183)][_0x5896fa[_0x43a943(0x140)]]);if(_0x3cac95[_0x43a943(0x153)]>0x0){const _0x55bbb9=await compareExistingSqlFiles(_0x3cac95,_0x284f87,_0x12396c);if(_0x55bbb9['some'](({equivalent:_0x439d86})=>!_0x439d86))_0x42a9e2=_0x43a943(0x151),_0x10f78a=_0x43a943(0x17b);else _0x55bbb9['length']===0x1&&_0x55bbb9[0x0]?.[_0x43a943(0x17e)][_0x43a943(0x152)]&&(_0x42a9e2=_0x43a943(0x176),_0x10f78a=_0x43a943(0x156));}_0x499a01[_0x43a943(0x17f)]({'sqlCode':_0x5896fa[_0x43a943(0x140)],'sqlName':_0x5896fa[_0x43a943(0x16a)],'filePath':_0x5ea5c2,'status':_0x42a9e2,'reason':_0x10f78a});}return{'method':_0x43a943(0x14d),'url':_0x43a943(0x179),'body':{'appCode':_0x15efd2[_0x43a943(0x15a)],'sqlCode':_0x15efd2['str'](_0x43a943(0x167))||null,'sqlName':_0x15efd2[_0x43a943(0x15b)]('name')||null,'files':_0x499a01},'description':_0x43a943(0x15d)+_0x499a01[_0x43a943(0x153)]+_0x43a943(0x14f)+_0x351a01[_0x43a943(0x184)]};},async 'execute'(_0x3d56ab){const _0x1711f6=a242_0x5edcef,_0x166d89=loadSqlProjectConfig(_0x3d56ab[_0x1711f6(0x15a)]),_0x25550f=await readSqlLockFile(_0x166d89[_0x1711f6(0x180)]),{lockData:_0x8bd5ad,appLock:_0x257b72}=ensureSqlLockScope(_0x25550f??createEmptySqlLock(),_0x166d89[_0x1711f6(0x15a)],_0x166d89['sqlRoot'],_0x1711f6(0x155)),_0x36982f=_0x3d56ab['bool']('force'),_0x377986=await fetchAllSqlQueries(_0x3d56ab[_0x1711f6(0x15a)],{'sqlCode':_0x3d56ab['str']('sqlcode')||undefined,'sqlName':_0x3d56ab[_0x1711f6(0x15b)](_0x1711f6(0x165))||undefined});if(_0x377986[_0x1711f6(0x153)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x1711f6(0x188)};const _0x508fec=[],_0x296991=[];for(const _0x14ddb2 of _0x377986){try{_0x508fec['push'](await ensureSqlContent(_0x14ddb2));}catch(_0x54774e){_0x296991[_0x1711f6(0x17f)]({'sqlCode':_0x14ddb2[_0x1711f6(0x140)],'error':_0x54774e instanceof Error?_0x54774e[_0x1711f6(0x185)]:String(_0x54774e)});}}if(_0x36982f&&!_0x3d56ab[_0x1711f6(0x145)]){let _0x3e1e61=![];for(const _0x39a045 of _0x508fec){const _0x16f130=detectSqlMode(ensureRemoteSqlContent(_0x39a045)),_0x5a32c2=_0x39a045[_0x1711f6(0x160)]?await getDbName(_0x3d56ab[_0x1711f6(0x15a)],Number(_0x39a045['dbId']))[_0x1711f6(0x172)](()=>undefined):undefined,_0x4364b2=buildLocalSqlFileContent({'sqlCode':_0x39a045[_0x1711f6(0x140)],'sqlName':_0x39a045[_0x1711f6(0x16a)],'dbId':_0x39a045[_0x1711f6(0x160)]},ensureRemoteSqlContent(_0x39a045),{'dbName':_0x5a32c2,'mode':_0x16f130,'syncedAt':new Date()[_0x1711f6(0x15e)](),'description':_0x39a045[_0x1711f6(0x143)]}),_0x1a6115=resolveLocalSqlFilePath(_0x166d89,_0x39a045['sqlCode'],buildSqlLockEntry(_0x39a045,ensureRemoteSqlContent(_0x39a045),'',{'dbName':_0x5a32c2})),_0x525cef=await findExistingSqlFiles(_0x166d89,_0x1a6115,_0x16f130,_0x257b72[_0x1711f6(0x183)][_0x39a045[_0x1711f6(0x140)]]),_0x3da02a=await compareExistingSqlFiles(_0x525cef,_0x4364b2,_0x16f130);if(_0x3da02a['some'](({equivalent:_0x2520ce})=>!_0x2520ce)){_0x3e1e61=!![];break;}}if(_0x3e1e61){const _0x419654=await confirmForceOverwrite(_0x1711f6(0x187));if(!_0x419654)throw CliErrors[_0x1711f6(0x182)](_0x1711f6(0x15f));}}const _0x1913aa=cloneSqlLockData(_0x8bd5ad),_0x3fd07f=_0x1913aa[_0x1711f6(0x141)][_0x166d89['appCode']],_0x5d7107=[],_0x4a95dd=[];for(const _0x27b19a of _0x508fec){const _0x53601d=_0x3fd07f[_0x1711f6(0x183)][_0x27b19a['sqlCode']],_0x49ba17=ensureRemoteSqlContent(_0x27b19a),_0x40b024=detectSqlMode(_0x49ba17),_0x207ab1=_0x27b19a[_0x1711f6(0x160)]?await getDbName(_0x3d56ab['appCode'],Number(_0x27b19a[_0x1711f6(0x160)]))['catch'](()=>undefined):undefined,_0x2cb28b=buildLocalSqlFileContent({'sqlCode':_0x27b19a['sqlCode'],'sqlName':_0x27b19a[_0x1711f6(0x16a)],'dbId':_0x27b19a['dbId']},_0x49ba17,{'dbName':_0x207ab1,'mode':_0x40b024,'syncedAt':new Date()[_0x1711f6(0x15e)](),'description':_0x27b19a[_0x1711f6(0x143)]}),_0x1beaa0=buildSqlLockEntry(_0x27b19a,_0x49ba17,computeSqlContentHash(_0x2cb28b),{'dbName':_0x207ab1}),_0x5321fc=_0x1beaa0[_0x1711f6(0x14c)],_0x411e50=join(_0x166d89[_0x1711f6(0x184)],_0x5321fc);try{const _0x5eeb6e=await findExistingSqlFiles(_0x166d89,_0x411e50,_0x40b024,_0x53601d),_0x3150e0=await compareExistingSqlFiles(_0x5eeb6e,_0x2cb28b,_0x40b024);if(!_0x36982f&&_0x3150e0[_0x1711f6(0x17a)](({equivalent:_0x413d45})=>!_0x413d45)){_0x4a95dd[_0x1711f6(0x17f)]({'sqlCode':_0x27b19a[_0x1711f6(0x140)],'reason':_0x1711f6(0x170)});continue;}const _0x406731=_0x3150e0[_0x1711f6(0x159)](({file:_0x1d62b3})=>_0x1d62b3[_0x1711f6(0x152)]),_0x5e576d=_0x3150e0['find'](({file:_0xcd199d})=>!_0xcd199d[_0x1711f6(0x152)]);if(_0x406731?.[_0x1711f6(0x16e)]&&!_0x5e576d){_0x4a95dd[_0x1711f6(0x17f)]({'sqlCode':_0x27b19a[_0x1711f6(0x140)],'reason':_0x1711f6(0x156)}),_0x3fd07f['sqls'][_0x27b19a[_0x1711f6(0x140)]]={..._0x1beaa0,'hash':computeSqlContentHash(_0x406731['content']),'path':_0x5321fc};continue;}!_0x406731?.[_0x1711f6(0x16e)]&&(await ensureParentDirectory(_0x411e50),await writeFile(_0x411e50,_0x2cb28b,_0x1711f6(0x177))),_0x5e576d&&await rm(_0x5e576d[_0x1711f6(0x17e)]['filePath'],{'force':!![]}),_0x3fd07f[_0x1711f6(0x183)][_0x27b19a['sqlCode']]={..._0x1beaa0,'hash':_0x406731?.['equivalent']?computeSqlContentHash(_0x406731[_0x1711f6(0x144)]):_0x1beaa0[_0x1711f6(0x17c)],'path':_0x5321fc},_0x5d7107['push']({'sqlCode':_0x27b19a['sqlCode'],'filePath':_0x411e50});}catch(_0x561391){_0x296991[_0x1711f6(0x17f)]({'sqlCode':_0x27b19a[_0x1711f6(0x140)],'error':_0x561391 instanceof Error?_0x561391[_0x1711f6(0x185)]:String(_0x561391)});}}return _0x3fd07f[_0x1711f6(0x14b)]=new Date()[_0x1711f6(0x15e)](),await writeSqlLockFile(_0x166d89['lockFilePath'],_0x1913aa),{'ok':_0x296991[_0x1711f6(0x153)]===0x0,'data':{'pulled':_0x5d7107,'skipped':_0x4a95dd,'failed':_0x296991},'message':_0x1711f6(0x16b)+_0x5d7107['length']+'\x20written,\x20'+_0x4a95dd[_0x1711f6(0x153)]+_0x1711f6(0x146)+_0x296991[_0x1711f6(0x153)]+_0x1711f6(0x13f)};}};function isEquivalentPulledSqlFile(_0x313bee,_0x398a9c,_0x5160d7,_0xd2f6f1){if(_0x5160d7!==_0xd2f6f1)return normalizePulledSqlBody(_0x313bee,_0x5160d7)===normalizePulledSqlBody(_0x398a9c,_0xd2f6f1);return normalizePullComparableContent(_0x313bee,_0x5160d7)===normalizePullComparableContent(_0x398a9c,_0xd2f6f1);}async function findExistingSqlFiles(_0x19f947,_0x4d2c6a,_0x4b9a28,_0x4b8da3){const _0x3fa78b=a242_0x5edcef,_0x4db91b=[];await fileExists(_0x4d2c6a)&&_0x4db91b[_0x3fa78b(0x17f)]({'filePath':_0x4d2c6a,'mode':_0x4b9a28,'isCanonical':!![]});if(!_0x4b8da3?.[_0x3fa78b(0x14c)])return _0x4db91b;const _0x522cb8=join(_0x19f947[_0x3fa78b(0x184)],_0x4b8da3[_0x3fa78b(0x14c)]);if(_0x522cb8===_0x4d2c6a)return _0x4db91b;return await fileExists(_0x522cb8)&&_0x4db91b['push']({'filePath':_0x522cb8,'mode':_0x4b8da3[_0x3fa78b(0x15c)]??modeFromFilePath(_0x522cb8),'isCanonical':![]}),_0x4db91b;}async function compareExistingSqlFiles(_0x58fbf6,_0x25a495,_0x4710b1){const _0x2755f8=a242_0x5edcef;return Promise[_0x2755f8(0x178)](_0x58fbf6[_0x2755f8(0x14e)](async _0xa2a586=>{const _0x2b4246=_0x2755f8,_0x413d16=await readFile(_0xa2a586['filePath'],'utf8');return{'file':_0xa2a586,'content':_0x413d16,'equivalent':isEquivalentPulledSqlFile(_0x413d16,_0x25a495,_0xa2a586[_0x2b4246(0x15c)],_0x4710b1)};}));}function modeFromFilePath(_0x6efa85){const _0x337fbc=a242_0x5edcef;return _0x6efa85[_0x337fbc(0x173)]()[_0x337fbc(0x150)](_0x337fbc(0x174))?'mybatisXml':'sql';}function normalizePulledSqlBody(_0x4accc7,_0x3033c0){const _0x495999=a242_0x5edcef;return stripLocalSqlMetadata(_0x4accc7,_0x3033c0)['replace'](/\r\n/g,'\x0a')[_0x495999(0x169)]();}function normalizePullComparableContent(_0x355b25,_0x74fd33){const _0x3370aa=a242_0x5edcef,_0x113e62=_0x355b25[_0x3370aa(0x166)](/\r\n/g,'\x0a')[_0x3370aa(0x16d)]('\x0a'),_0x1bc26d=_0x113e62[_0x3370aa(0x186)](_0x257aef=>!isSyncedAtMetadataLine(_0x257aef,_0x74fd33));return _0x1bc26d[_0x3370aa(0x154)]('\x0a');}function isSyncedAtMetadataLine(_0x1a606,_0x199464){const _0x4ba5c7=a242_0x5edcef;if(_0x199464===_0x4ba5c7(0x148))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x1a606);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x1a606);}
|
|
1
|
+
const a246_0x46dcea=a246_0x3a6a;(function(_0x5e1686,_0x1b07de){const _0x56b6f6=a246_0x3a6a,_0x1a2dc7=_0x5e1686();while(!![]){try{const _0x558e8d=parseInt(_0x56b6f6(0xc7))/0x1+-parseInt(_0x56b6f6(0xd5))/0x2+-parseInt(_0x56b6f6(0xb4))/0x3+parseInt(_0x56b6f6(0xf4))/0x4*(parseInt(_0x56b6f6(0xd0))/0x5)+parseInt(_0x56b6f6(0xdc))/0x6*(-parseInt(_0x56b6f6(0xbe))/0x7)+parseInt(_0x56b6f6(0xd4))/0x8*(parseInt(_0x56b6f6(0xf5))/0x9)+parseInt(_0x56b6f6(0xd3))/0xa;if(_0x558e8d===_0x1b07de)break;else _0x1a2dc7['push'](_0x1a2dc7['shift']());}catch(_0x4a720e){_0x1a2dc7['push'](_0x1a2dc7['shift']());}}}(a246_0x4610,0xbc91f));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a246_0x3a6a(_0x48b1a1,_0x40c63a){_0x48b1a1=_0x48b1a1-0xb3;const _0x4610b2=a246_0x4610();let _0x3a6a73=_0x4610b2[_0x48b1a1];return _0x3a6a73;}import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{detectSqlMode}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x1a2fbb,_0x354bb8){const _0x1e40a2=a246_0x3a6a,_0x4a800f=[];let _0x326f54=0x1;while(!![]){const _0x251d69=await listSqlQueries(_0x1a2fbb,{'currentPage':_0x326f54,'pageSize':PAGE_SIZE,'sqlCode':_0x354bb8['sqlCode'],'sqlName':_0x354bb8[_0x1e40a2(0xe4)]}),_0x3d5a4a=_0x251d69[_0x1e40a2(0xc3)]??[];_0x4a800f[_0x1e40a2(0xff)](..._0x3d5a4a);if(_0x3d5a4a[_0x1e40a2(0xed)]===0x0)break;const _0x2f127c=_0x251d69[_0x1e40a2(0xbb)]?.[_0x1e40a2(0xf3)];if(_0x2f127c!=null?_0x4a800f[_0x1e40a2(0xed)]>=_0x2f127c:_0x3d5a4a[_0x1e40a2(0xed)]<PAGE_SIZE)break;_0x326f54++;}return _0x4a800f;}async function ensureSqlContent(_0x285f09){const _0x3a876e=a246_0x3a6a;if(_0x285f09['sqlContent']!=null&&String(_0x285f09[_0x3a876e(0x100)])[_0x3a876e(0xed)]>0x0)return _0x285f09;return getSqlQueryDetail(_0x285f09[_0x3a876e(0xc1)]);}export const sqlPull={'service':a246_0x46dcea(0xcc),'command':a246_0x46dcea(0xe0),'description':a246_0x46dcea(0xef),'risk':a246_0x46dcea(0xfb),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a246_0x46dcea(0x101),'type':a246_0x46dcea(0xd2),'description':a246_0x46dcea(0xec)},{'name':a246_0x46dcea(0xe3),'type':a246_0x46dcea(0xfa),'description':a246_0x46dcea(0xb7)}],async 'dryRun'(_0x4f1da3){const _0x370a60=a246_0x46dcea,_0x38cee7=loadSqlProjectConfig(_0x4f1da3[_0x370a60(0xcd)]),_0x1f599e=await readSqlLockFile(_0x38cee7[_0x370a60(0xce)]),{appLock:_0x1cc48d}=ensureSqlLockScope(_0x1f599e??createEmptySqlLock(),_0x38cee7['appCode'],_0x38cee7['sqlRoot'],_0x370a60(0xe0)),_0x25750b=await fetchAllSqlQueries(_0x4f1da3[_0x370a60(0xcd)],{'sqlCode':_0x4f1da3[_0x370a60(0xc5)]('sqlcode')||undefined,'sqlName':_0x4f1da3[_0x370a60(0xc5)](_0x370a60(0x101))||undefined}),_0x26d65d=[];for(const _0xd2ec70 of _0x25750b){const _0x27ce08=await ensureSqlContent(_0xd2ec70),_0x13b1f9=ensureRemoteSqlContent(_0x27ce08),_0x24cfe9=detectSqlMode(_0x13b1f9),_0x295dd5=_0x27ce08[_0x370a60(0xfd)]?await getDbName(_0x4f1da3[_0x370a60(0xcd)],Number(_0x27ce08[_0x370a60(0xfd)]))[_0x370a60(0xc8)](()=>undefined):undefined,_0x27575e=buildLocalSqlFileContent({'sqlCode':_0x27ce08[_0x370a60(0xc1)],'sqlName':_0x27ce08[_0x370a60(0xe4)],'dbId':_0x27ce08['dbId']},_0x13b1f9,{'dbName':_0x295dd5,'mode':_0x24cfe9,'syncedAt':new Date()[_0x370a60(0xd7)](),'description':_0x27ce08[_0x370a60(0xcb)]}),_0x388c3c=buildSqlLockEntry(_0x27ce08,_0x13b1f9,'',{'dbName':_0x295dd5}),_0x5c6d89=resolveLocalSqlFilePath(_0x38cee7,_0x27ce08[_0x370a60(0xc1)],_0x388c3c);let _0x1609fb=_0x370a60(0xde),_0xd275c1;const _0x2bd716=await findExistingSqlFiles(_0x38cee7,_0x5c6d89,_0x24cfe9,_0x1cc48d['sqls'][_0x27ce08[_0x370a60(0xc1)]]);if(_0x2bd716['length']>0x0){const _0x335438=await compareExistingSqlFiles(_0x2bd716,_0x27575e,_0x24cfe9);if(_0x335438[_0x370a60(0xd9)](({equivalent:_0x5533bc})=>!_0x5533bc))_0x1609fb=_0x370a60(0xc2),_0xd275c1=_0x370a60(0xdb);else _0x335438[_0x370a60(0xed)]===0x1&&_0x335438[0x0]?.['file'][_0x370a60(0xe9)]&&(_0x1609fb='skipped',_0xd275c1=_0x370a60(0xba));}_0x26d65d[_0x370a60(0xff)]({'sqlCode':_0x27ce08[_0x370a60(0xc1)],'sqlName':_0x27ce08[_0x370a60(0xe4)],'filePath':_0x5c6d89,'status':_0x1609fb,'reason':_0xd275c1});}return{'method':_0x370a60(0xf7),'url':_0x370a60(0xf8),'body':{'appCode':_0x4f1da3[_0x370a60(0xcd)],'sqlCode':_0x4f1da3[_0x370a60(0xc5)](_0x370a60(0xe1))||null,'sqlName':_0x4f1da3[_0x370a60(0xc5)](_0x370a60(0x101))||null,'files':_0x26d65d},'description':_0x370a60(0xb5)+_0x26d65d[_0x370a60(0xed)]+_0x370a60(0xbf)+_0x38cee7[_0x370a60(0xbd)]};},async 'execute'(_0x5063bc){const _0x3ab690=a246_0x46dcea,_0x2b8a2a=loadSqlProjectConfig(_0x5063bc[_0x3ab690(0xcd)]),_0x2e8320=await readSqlLockFile(_0x2b8a2a[_0x3ab690(0xce)]),{lockData:_0x367d94,appLock:_0x1e5029}=ensureSqlLockScope(_0x2e8320??createEmptySqlLock(),_0x2b8a2a[_0x3ab690(0xcd)],_0x2b8a2a['sqlRoot'],_0x3ab690(0xe0)),_0x38b6d8=_0x5063bc[_0x3ab690(0xb3)](_0x3ab690(0xe3)),_0x373306=await fetchAllSqlQueries(_0x5063bc[_0x3ab690(0xcd)],{'sqlCode':_0x5063bc[_0x3ab690(0xc5)](_0x3ab690(0xe1))||undefined,'sqlName':_0x5063bc[_0x3ab690(0xc5)](_0x3ab690(0x101))||undefined});if(_0x373306['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x3ab690(0xda)};const _0x55a834=[],_0x265942=[];for(const _0x53b9e2 of _0x373306){try{_0x55a834[_0x3ab690(0xff)](await ensureSqlContent(_0x53b9e2));}catch(_0x2a4ff9){_0x265942[_0x3ab690(0xff)]({'sqlCode':_0x53b9e2[_0x3ab690(0xc1)],'error':_0x2a4ff9 instanceof Error?_0x2a4ff9[_0x3ab690(0xf0)]:String(_0x2a4ff9)});}}if(_0x38b6d8&&!_0x5063bc[_0x3ab690(0xeb)]){let _0x19117a=![];for(const _0x2646e4 of _0x55a834){const _0x403736=detectSqlMode(ensureRemoteSqlContent(_0x2646e4)),_0x2855ae=_0x2646e4[_0x3ab690(0xfd)]?await getDbName(_0x5063bc[_0x3ab690(0xcd)],Number(_0x2646e4[_0x3ab690(0xfd)]))[_0x3ab690(0xc8)](()=>undefined):undefined,_0x4c25c0=buildLocalSqlFileContent({'sqlCode':_0x2646e4[_0x3ab690(0xc1)],'sqlName':_0x2646e4[_0x3ab690(0xe4)],'dbId':_0x2646e4[_0x3ab690(0xfd)]},ensureRemoteSqlContent(_0x2646e4),{'dbName':_0x2855ae,'mode':_0x403736,'syncedAt':new Date()[_0x3ab690(0xd7)](),'description':_0x2646e4['description']}),_0x337f07=resolveLocalSqlFilePath(_0x2b8a2a,_0x2646e4[_0x3ab690(0xc1)],buildSqlLockEntry(_0x2646e4,ensureRemoteSqlContent(_0x2646e4),'',{'dbName':_0x2855ae})),_0x3c3c3a=await findExistingSqlFiles(_0x2b8a2a,_0x337f07,_0x403736,_0x1e5029[_0x3ab690(0xc9)][_0x2646e4[_0x3ab690(0xc1)]]),_0x158a25=await compareExistingSqlFiles(_0x3c3c3a,_0x4c25c0,_0x403736);if(_0x158a25['some'](({equivalent:_0xdc190c})=>!_0xdc190c)){_0x19117a=!![];break;}}if(_0x19117a){const _0x395361=await confirmForceOverwrite(_0x3ab690(0xd8));if(!_0x395361)throw CliErrors[_0x3ab690(0xd6)](_0x3ab690(0xf6));}}const _0x4a39c4=cloneSqlLockData(_0x367d94),_0x171eb7=_0x4a39c4[_0x3ab690(0xb9)][_0x2b8a2a[_0x3ab690(0xcd)]],_0x4de8b8=[],_0x50ee86=[];for(const _0x4944e1 of _0x55a834){const _0x36d64e=_0x171eb7['sqls'][_0x4944e1['sqlCode']],_0x487bc7=ensureRemoteSqlContent(_0x4944e1),_0x598492=detectSqlMode(_0x487bc7),_0x499100=_0x4944e1[_0x3ab690(0xfd)]?await getDbName(_0x5063bc[_0x3ab690(0xcd)],Number(_0x4944e1[_0x3ab690(0xfd)]))[_0x3ab690(0xc8)](()=>undefined):undefined,_0x1375d7=buildLocalSqlFileContent({'sqlCode':_0x4944e1[_0x3ab690(0xc1)],'sqlName':_0x4944e1[_0x3ab690(0xe4)],'dbId':_0x4944e1[_0x3ab690(0xfd)]},_0x487bc7,{'dbName':_0x499100,'mode':_0x598492,'syncedAt':new Date()[_0x3ab690(0xd7)](),'description':_0x4944e1[_0x3ab690(0xcb)]}),_0x2d4af1=buildSqlLockEntry(_0x4944e1,_0x487bc7,computeSqlContentHash(_0x1375d7),{'dbName':_0x499100}),_0x5bd5c6=_0x2d4af1[_0x3ab690(0xd1)],_0x5a8d34=join(_0x2b8a2a[_0x3ab690(0xbd)],_0x5bd5c6);try{const _0x32c2e0=await findExistingSqlFiles(_0x2b8a2a,_0x5a8d34,_0x598492,_0x36d64e),_0x4da76a=await compareExistingSqlFiles(_0x32c2e0,_0x1375d7,_0x598492);if(!_0x38b6d8&&_0x4da76a[_0x3ab690(0xd9)](({equivalent:_0xe72b9f})=>!_0xe72b9f)){_0x50ee86[_0x3ab690(0xff)]({'sqlCode':_0x4944e1[_0x3ab690(0xc1)],'reason':_0x3ab690(0xe7)});continue;}const _0x4872dc=_0x4da76a[_0x3ab690(0xe2)](({file:_0x2712ac})=>_0x2712ac[_0x3ab690(0xe9)]),_0x40c278=_0x4da76a[_0x3ab690(0xe2)](({file:_0x5cf39f})=>!_0x5cf39f[_0x3ab690(0xe9)]);if(_0x4872dc?.[_0x3ab690(0xb6)]&&!_0x40c278){_0x50ee86[_0x3ab690(0xff)]({'sqlCode':_0x4944e1[_0x3ab690(0xc1)],'reason':_0x3ab690(0xba)}),_0x171eb7['sqls'][_0x4944e1[_0x3ab690(0xc1)]]={..._0x2d4af1,'hash':computeSqlContentHash(_0x4872dc[_0x3ab690(0xca)]),'path':_0x5bd5c6};continue;}!_0x4872dc?.['equivalent']&&(await ensureParentDirectory(_0x5a8d34),await writeFile(_0x5a8d34,_0x1375d7,_0x3ab690(0xdd))),_0x40c278&&await rm(_0x40c278['file'][_0x3ab690(0xc0)],{'force':!![]}),_0x171eb7[_0x3ab690(0xc9)][_0x4944e1[_0x3ab690(0xc1)]]={..._0x2d4af1,'hash':_0x4872dc?.[_0x3ab690(0xb6)]?computeSqlContentHash(_0x4872dc['content']):_0x2d4af1['hash'],'path':_0x5bd5c6},_0x4de8b8[_0x3ab690(0xff)]({'sqlCode':_0x4944e1[_0x3ab690(0xc1)],'filePath':_0x5a8d34});}catch(_0x18b51d){_0x265942[_0x3ab690(0xff)]({'sqlCode':_0x4944e1[_0x3ab690(0xc1)],'error':_0x18b51d instanceof Error?_0x18b51d[_0x3ab690(0xf0)]:String(_0x18b51d)});}}return _0x171eb7[_0x3ab690(0xf9)]=new Date()[_0x3ab690(0xd7)](),await writeSqlLockFile(_0x2b8a2a[_0x3ab690(0xce)],_0x4a39c4),{'ok':_0x265942[_0x3ab690(0xed)]===0x0,'data':{'pulled':_0x4de8b8,'skipped':_0x50ee86,'failed':_0x265942},'message':_0x3ab690(0xbc)+_0x4de8b8[_0x3ab690(0xed)]+_0x3ab690(0x102)+_0x50ee86['length']+_0x3ab690(0xdf)+_0x265942[_0x3ab690(0xed)]+_0x3ab690(0xf2)};}};function isEquivalentPulledSqlFile(_0x43cea9,_0x256feb,_0xfed297,_0x300eef){if(_0xfed297!==_0x300eef)return normalizePulledSqlBody(_0x43cea9,_0xfed297)===normalizePulledSqlBody(_0x256feb,_0x300eef);return normalizePullComparableContent(_0x43cea9,_0xfed297)===normalizePullComparableContent(_0x256feb,_0x300eef);}async function findExistingSqlFiles(_0x97ce14,_0xa4cd48,_0x489c95,_0x56e1cc){const _0x46eb67=a246_0x46dcea,_0x4f22a9=[];await fileExists(_0xa4cd48)&&_0x4f22a9['push']({'filePath':_0xa4cd48,'mode':_0x489c95,'isCanonical':!![]});if(!_0x56e1cc?.[_0x46eb67(0xd1)])return _0x4f22a9;const _0x208929=join(_0x97ce14[_0x46eb67(0xbd)],_0x56e1cc[_0x46eb67(0xd1)]);if(_0x208929===_0xa4cd48)return _0x4f22a9;return await fileExists(_0x208929)&&_0x4f22a9[_0x46eb67(0xff)]({'filePath':_0x208929,'mode':_0x56e1cc['mode']??modeFromFilePath(_0x208929),'isCanonical':![]}),_0x4f22a9;}async function compareExistingSqlFiles(_0x412a83,_0x232ead,_0xdc56c7){const _0x5854ea=a246_0x46dcea;return Promise[_0x5854ea(0xea)](_0x412a83[_0x5854ea(0xc6)](async _0x235816=>{const _0x331799=_0x5854ea,_0x56df7d=await readFile(_0x235816[_0x331799(0xc0)],_0x331799(0xdd));return{'file':_0x235816,'content':_0x56df7d,'equivalent':isEquivalentPulledSqlFile(_0x56df7d,_0x232ead,_0x235816[_0x331799(0xc4)],_0xdc56c7)};}));}function modeFromFilePath(_0x3e43ac){const _0x43b13a=a246_0x46dcea;return _0x3e43ac[_0x43b13a(0xf1)]()['endsWith'](_0x43b13a(0xcf))?_0x43b13a(0xe8):'sql';}function normalizePulledSqlBody(_0x71d1bf,_0x1dd7d4){const _0x26951b=a246_0x46dcea;return stripLocalSqlMetadata(_0x71d1bf,_0x1dd7d4)[_0x26951b(0xee)](/\r\n/g,'\x0a')[_0x26951b(0xb8)]();}function normalizePullComparableContent(_0x47b9c7,_0x4bcdca){const _0x5ce3f6=a246_0x46dcea,_0x1e55f1=_0x47b9c7[_0x5ce3f6(0xee)](/\r\n/g,'\x0a')[_0x5ce3f6(0xfe)]('\x0a'),_0x2302ba=_0x1e55f1[_0x5ce3f6(0xe6)](_0x9745cf=>!isSyncedAtMetadataLine(_0x9745cf,_0x4bcdca));return _0x2302ba[_0x5ce3f6(0xe5)]('\x0a');}function isSyncedAtMetadataLine(_0x448720,_0x40bf4e){const _0x304261=a246_0x46dcea;if(_0x40bf4e==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x304261(0xfc)](_0x448720);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x304261(0xfc)](_0x448720);}function a246_0x4610(){const _0x2c9c3f=['catch','sqls','content','description','sql','appCode','lockFilePath','.xml','5MMHgOY','path','string','13245860nDuotU','72VLDBrW','1177836PJCnan','cancelled','toISOString','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','some','No\x20remote\x20SQL\x20queries\x20matched.','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','257274jYmraW','utf8','would_pull','\x20skipped,\x20','pull','sqlcode','find','force','sqlName','join','filter','local\x20differs\x20from\x20remote','mybatisXml','isCanonical','all','nonInteractive','Filter\x20by\x20SQL\x20display\x20name','length','replace','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','message','toLowerCase','\x20failed','totalCount','596384ZmCBot','67653ipgefd','Force\x20pull\x20cancelled.','POST','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','lastSync','boolean','read','test','dbId','split','push','sqlContent','name','\x20written,\x20','bool','430419ejHtzr','Would\x20pull\x20','equivalent','Force\x20overwrite\x20local\x20unsynced\x20changes','trim','apps','unchanged','paging','Pull\x20complete:\x20','sqlRootDir','168bFbFBm','\x20SQL\x20file(s)\x20into\x20','filePath','sqlCode','conflict','tableData','mode','str','map','992535CHnWJO'];a246_0x4610=function(){return _0x2c9c3f;};return a246_0x4610();}
|
package/lib/commands/sql/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a243_0x59ac29=a243_0x235f;(function(_0x7dacca,_0x8cdd92){const _0x26b66f=a243_0x235f,_0x2be6fa=_0x7dacca();while(!![]){try{const _0x1be414=-parseInt(_0x26b66f(0x8b))/0x1+-parseInt(_0x26b66f(0xbe))/0x2*(parseInt(_0x26b66f(0x8a))/0x3)+-parseInt(_0x26b66f(0xb4))/0x4+parseInt(_0x26b66f(0xad))/0x5*(-parseInt(_0x26b66f(0x86))/0x6)+parseInt(_0x26b66f(0xae))/0x7*(-parseInt(_0x26b66f(0x8d))/0x8)+parseInt(_0x26b66f(0x9b))/0x9+parseInt(_0x26b66f(0xa0))/0xa;if(_0x1be414===_0x8cdd92)break;else _0x2be6fa['push'](_0x2be6fa['shift']());}catch(_0x4f5681){_0x2be6fa['push'](_0x2be6fa['shift']());}}}(a243_0x3fea,0x86d26));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';function a243_0x235f(_0x3f4102,_0x2bc103){_0x3f4102=_0x3f4102-0x7f;const _0x3feaa7=a243_0x3fea();let _0x235f04=_0x3feaa7[_0x3f4102];return _0x235f04;}import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a243_0x3fea(){const _0x32e6b8=['startsWith','Local\x20SQL\x20not\x20found:\x20','sqls','No\x20local\x20SQL\x20files\x20found.','entries','filePath','\x20pushed,\x20','relativePath','706524vpxlvT','remoteId','appCode','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','798288kLpzLF','588777wAAEOY','sqlRootDir','1059272VRILko','push',':\x20missing\x20remote\x20version;\x20run\x20sql\x20pull\x20first.','sqlConfig','POST','validation','isFinite','set','exec','sqlName',':\x20SQL\x20content\x20is\x20empty.','has','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','dbId','2181285oKYngI','\x20skipped,\x20','length','Local\x20directory\x20\x22','str','35708210LlnqCU','Push\x20local\x20SQL\x20files\x20to\x20remote','force','bool','sqlcode','catch','join','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','map',':\x20local\x20SQL\x20is\x20not\x20tracked;\x20run\x20sql\x20create\x20or\x20sql\x20pull\x20first.','filter','sqlRoot','trashDir','35nZWlnc','21ilIRhJ','path','write','\x20SQL\x20file(s)','unchanged','toISOString','3673928PkNkxE','dbDirectory','mode','\x20failed','dbName','sqlCode','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','hash','projectRoot','version','4HRmApt','utf8','lockFilePath','No\x20database\x20matches\x20local\x20directory\x20\x22'];a243_0x3fea=function(){return _0x32e6b8;};return a243_0x3fea();}import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function readSqlUploadContent(_0x2ea348){const _0x240f63=a243_0x235f,_0xb53ac1=stripLocalSqlMetadata(await readFile(_0x2ea348[_0x240f63(0x83)],_0x240f63(0xbf)),_0x2ea348[_0x240f63(0xb6)]);if(!_0xb53ac1['trim']())throw CliErrors[_0x240f63(0x92)](_0x2ea348[_0x240f63(0xb9)]+_0x240f63(0x97));return _0xb53ac1;}async function getTargetSqlQueries(_0x5a7804,_0x386ca6,_0x60dac7){const _0xc300ef=a243_0x235f,_0x360888=await scanLocalSqlQueries(_0x5a7804),_0x5495f6=new Map();for(const _0x4b431d of _0x360888){if(_0x60dac7&&_0x4b431d[_0xc300ef(0xb9)]!==_0x60dac7)continue;const _0x5ef580=_0x5495f6['get'](_0x4b431d['sqlCode'])??[];_0x5ef580[_0xc300ef(0x8e)](_0x4b431d),_0x5495f6[_0xc300ef(0x94)](_0x4b431d[_0xc300ef(0xb9)],_0x5ef580);}if(_0x60dac7&&!_0x5495f6[_0xc300ef(0x98)](_0x60dac7))throw CliErrors[_0xc300ef(0x92)](_0xc300ef(0x7f)+_0x60dac7);const _0x1e1069=[];for(const [_0x11cdd5,_0x126dcf]of _0x5495f6[_0xc300ef(0x82)]()){if(_0x126dcf[_0xc300ef(0x9d)]===0x1){_0x1e1069['push'](_0x126dcf[0x0]);continue;}const _0x47ad57=_0x386ca6[_0xc300ef(0x80)][_0x11cdd5],_0xdc891b=_0x47ad57?.[_0xc300ef(0xaf)],_0x4ee4cf=_0xdc891b?_0x126dcf[_0xc300ef(0xaa)](_0x182410=>_0x182410[_0xc300ef(0x85)]!==_0xdc891b):_0x126dcf;if(_0x47ad57&&_0x4ee4cf[_0xc300ef(0x9d)]===0x1){_0x1e1069[_0xc300ef(0x8e)](_0x4ee4cf[0x0]);continue;}throw CliErrors['validation'](_0xc300ef(0xba)+_0x11cdd5+_0xc300ef(0x89));}return _0x1e1069;}export const sqlPush={'service':'sql','command':a243_0x59ac29(0x8e),'description':a243_0x59ac29(0xa1),'risk':a243_0x59ac29(0xb0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a243_0x59ac29(0xa2),'type':'boolean','description':a243_0x59ac29(0xa7)}],async 'dryRun'(_0x2e0aae){const _0x1a8292=a243_0x59ac29,_0x5e6f12=loadSqlProjectConfig(_0x2e0aae[_0x1a8292(0x88)]),_0x258c73=await readSqlLockFile(_0x5e6f12[_0x1a8292(0xc0)]),{appLock:_0x5bfbac}=ensureSqlLockScope(_0x258c73??createEmptySqlLock(),_0x2e0aae[_0x1a8292(0x88)],_0x5e6f12[_0x1a8292(0xab)],'push'),_0x25c6bc=await getTargetSqlQueries(_0x5e6f12,_0x5bfbac,_0x2e0aae[_0x1a8292(0x9f)]('sqlcode')||undefined),_0x23ce22=[];for(const _0xde5153 of _0x25c6bc){const _0x25cfe8=await computeSqlFileHash(_0xde5153[_0x1a8292(0x83)]),_0xa6f4fc=_0x5bfbac[_0x1a8292(0x80)][_0xde5153[_0x1a8292(0xb9)]],_0x5bd740=!!_0xa6f4fc&&(_0xa6f4fc['path']!==_0xde5153[_0x1a8292(0x85)]||!!_0xde5153[_0x1a8292(0x96)]&&_0xa6f4fc[_0x1a8292(0x96)]!==_0xde5153[_0x1a8292(0x96)]||_0xa6f4fc['mode']!==_0xde5153[_0x1a8292(0xb6)]);if(!_0x2e0aae[_0x1a8292(0xa3)](_0x1a8292(0xa2))&&_0xa6f4fc&&_0xa6f4fc[_0x1a8292(0xbb)]===_0x25cfe8&&!_0x5bd740)continue;if(!_0xa6f4fc)throw CliErrors[_0x1a8292(0x92)](_0xde5153[_0x1a8292(0xb9)]+_0x1a8292(0xa9));if(_0xa6f4fc[_0x1a8292(0xbd)]==null)throw CliErrors[_0x1a8292(0x92)](_0xde5153[_0x1a8292(0xb9)]+_0x1a8292(0x8f));await resolveTargetDbBinding(_0x2e0aae['appCode'],_0xde5153,_0xa6f4fc),await readSqlUploadContent(_0xde5153),_0x23ce22[_0x1a8292(0x8e)](_0xde5153[_0x1a8292(0xb9)]);}return{'method':_0x1a8292(0x91),'url':'/smartapi/custom/updateUserCustomSql','body':{'sqlCodes':_0x23ce22,'appCode':_0x2e0aae[_0x1a8292(0x88)]},'description':'Would\x20push\x20'+_0x23ce22[_0x1a8292(0x9d)]+_0x1a8292(0xb1)};},async 'execute'(_0x2146f1){const _0x3670cb=a243_0x59ac29,_0x4d6564=loadSqlProjectConfig(_0x2146f1['appCode']),_0x1cd7ee=await readSqlLockFile(_0x4d6564[_0x3670cb(0xc0)]),{lockData:_0x1e78c2,appLock:_0x13cfce}=ensureSqlLockScope(_0x1cd7ee??createEmptySqlLock(),_0x2146f1['appCode'],_0x4d6564[_0x3670cb(0xab)],_0x3670cb(0x8e)),_0x340b75=await getTargetSqlQueries(_0x4d6564,_0x13cfce,_0x2146f1[_0x3670cb(0x9f)](_0x3670cb(0xa4))||undefined);if(_0x340b75['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x3670cb(0x81)};const _0x33b80b=[],_0x6e0d32=[],_0x302bfd=[];let _0x3d52d6=![];for(const _0x399a4d of _0x340b75){const _0xa6b28b=_0x13cfce[_0x3670cb(0x80)][_0x399a4d[_0x3670cb(0xb9)]];if(!_0xa6b28b){_0x302bfd[_0x3670cb(0x8e)]({'sqlCode':_0x399a4d['sqlCode'],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x440773=await computeSqlFileHash(_0x399a4d[_0x3670cb(0x83)]),_0x4d6a95=_0xa6b28b[_0x3670cb(0xaf)]!==_0x399a4d[_0x3670cb(0x85)]||!!_0x399a4d[_0x3670cb(0x96)]&&_0xa6b28b['sqlName']!==_0x399a4d['sqlName']||_0xa6b28b[_0x3670cb(0xb6)]!==_0x399a4d[_0x3670cb(0xb6)];if(!_0x2146f1['bool'](_0x3670cb(0xa2))&&_0xa6b28b[_0x3670cb(0xbb)]===_0x440773&&!_0x4d6a95){_0x6e0d32[_0x3670cb(0x8e)]({'sqlCode':_0x399a4d[_0x3670cb(0xb9)],'reason':_0x3670cb(0xb2)});continue;}if(_0xa6b28b[_0x3670cb(0xbd)]==null){_0x302bfd[_0x3670cb(0x8e)]({'sqlCode':_0x399a4d['sqlCode'],'error':_0x3670cb(0x99)});continue;}const _0x440e40=_0x399a4d[_0x3670cb(0x96)]||_0xa6b28b[_0x3670cb(0x96)],_0xb3aafd=await resolveTargetDbBinding(_0x2146f1['appCode'],_0x399a4d,_0xa6b28b),_0x1b76e9=await readSqlUploadContent(_0x399a4d),_0x514835=await updateSqlQuery({'id':_0xa6b28b[_0x3670cb(0x87)],'appCode':_0x2146f1['appCode'],'sqlCode':_0x399a4d['sqlCode'],'sqlName':_0x440e40,'dbId':_0xb3aafd[_0x3670cb(0x9a)],'version':_0xa6b28b[_0x3670cb(0xbd)],'sqlContent':_0x1b76e9,'sqlConfig':_0xa6b28b[_0x3670cb(0x90)]??undefined}),_0x1569f6=_0x514835[_0x3670cb(0x9a)]?await getDbName(_0x2146f1[_0x3670cb(0x88)],Number(_0x514835[_0x3670cb(0x9a)]))[_0x3670cb(0xa5)](()=>_0xb3aafd[_0x3670cb(0xb8)]):_0xb3aafd[_0x3670cb(0xb8)];_0x13cfce['sqls'][_0x399a4d[_0x3670cb(0xb9)]]={...buildSqlLockEntry(_0x514835,_0x1b76e9,_0x440773,{'dbName':_0x1569f6}),'path':_0x399a4d[_0x3670cb(0x85)],'mode':_0x399a4d['mode']},_0x3d52d6=!![],await archivePreviousSqlFileIfNeeded(_0x4d6564,_0xa6b28b['path'],_0x399a4d[_0x3670cb(0x85)]),_0x33b80b['push']({'sqlCode':_0x399a4d[_0x3670cb(0xb9)],'remoteId':_0xa6b28b['remoteId']});}catch(_0x56175a){_0x302bfd['push']({'sqlCode':_0x399a4d['sqlCode'],'error':_0x56175a instanceof Error?_0x56175a['message']:String(_0x56175a)});}}(_0x3d52d6||_0x302bfd[_0x3670cb(0x9d)]===0x0)&&(_0x13cfce['lastSync']=new Date()[_0x3670cb(0xb3)](),await writeSqlLockFile(_0x4d6564[_0x3670cb(0xc0)],_0x1e78c2));const _0x19e25c=_0x302bfd[_0x3670cb(0x9d)]===0x0;return{'ok':_0x19e25c,'data':{'pushed':_0x33b80b,'skipped':_0x6e0d32,'failed':_0x302bfd},'message':'Push\x20complete:\x20'+_0x33b80b[_0x3670cb(0x9d)]+_0x3670cb(0x84)+_0x6e0d32[_0x3670cb(0x9d)]+_0x3670cb(0x9c)+_0x302bfd[_0x3670cb(0x9d)]+_0x3670cb(0xb7)};}};async function archivePreviousSqlFileIfNeeded(_0x56c03c,_0x8284d8,_0x177223){const _0x343947=a243_0x59ac29;if(!_0x8284d8||_0x8284d8===_0x177223)return;const _0xcac389=join(_0x56c03c[_0x343947(0x8c)],_0x8284d8);if(!await fileExists(_0xcac389))return;const _0x120b7d=await moveToTrash(_0x56c03c[_0x343947(0xbc)],_0x56c03c[_0x343947(0xac)],_0xcac389);await cleanupEmptyDirectories(dirname(_0xcac389),_0x56c03c['sqlRootDir']),void _0x120b7d;}async function moveToTrash(_0x33e9cc,_0x1a6baa,_0xe0045b){const _0x4da5b0=a243_0x59ac29,_0x310aad=new Date()[_0x4da5b0(0xb3)]()['replace'](/[:.]/g,'-'),_0x24df8d=relative(_0x33e9cc,_0xe0045b),_0xc4b3e4=join(_0x1a6baa,_0x310aad,_0x24df8d);return await mkdir(dirname(_0xc4b3e4),{'recursive':!![]}),await rename(_0xe0045b,_0xc4b3e4),_0xc4b3e4;}async function cleanupEmptyDirectories(_0x506b0b,_0x126a8d){const _0x47deff=a243_0x59ac29;let _0x154ce9=resolve(_0x506b0b);const _0x1d7fb9=resolve(_0x126a8d);while(_0x154ce9[_0x47deff(0xc2)](''+_0x1d7fb9+sep)||_0x154ce9===_0x1d7fb9){if(_0x154ce9===_0x1d7fb9)return;try{const _0x389ba1=await readdir(_0x154ce9);if(_0x389ba1[_0x47deff(0x9d)]>0x0)return;await rmdir(_0x154ce9);}catch{return;}_0x154ce9=dirname(_0x154ce9);}}async function resolveTargetDbBinding(_0x1f5996,_0x5c06cb,_0x5afbc9){const _0x410e2b=a243_0x59ac29,_0x9480f9=_0x5c06cb[_0x410e2b(0xb5)];if(!_0x9480f9)return{'dbId':_0x5afbc9['dbId'],'dbName':_0x5afbc9[_0x410e2b(0xb8)]};const _0xc85806=buildDbDirectoryName(_0x5afbc9[_0x410e2b(0xb8)],_0x5afbc9[_0x410e2b(0x9a)]);if(_0x9480f9===_0xc85806)return{'dbId':_0x5afbc9[_0x410e2b(0x9a)],'dbName':_0x5afbc9[_0x410e2b(0xb8)]};const _0x1d22e6=parseExplicitDbDirectory(_0x9480f9);if(_0x1d22e6!=null)return{'dbId':_0x1d22e6,'dbName':await getDbName(_0x1f5996,_0x1d22e6)['catch'](()=>undefined)};const _0x518ef4=await listDatabases(_0x1f5996),_0x319a70=_0x518ef4[_0x410e2b(0xaa)](_0x3c73a5=>buildDbDirectoryName(_0x3c73a5[_0x410e2b(0xb8)],_0x3c73a5['dbId'])===_0x9480f9);if(_0x319a70[_0x410e2b(0x9d)]===0x1)return{'dbId':_0x319a70[0x0][_0x410e2b(0x9a)],'dbName':_0x319a70[0x0]['dbName']};if(_0x319a70[_0x410e2b(0x9d)]===0x0)throw CliErrors[_0x410e2b(0x92)](_0x410e2b(0xc1)+_0x9480f9+'\x22\x20for\x20sqlCode\x20'+_0x5c06cb[_0x410e2b(0xb9)]+'.');const _0x51c4de=_0x319a70[_0x410e2b(0xa8)](_0x36da1e=>_0x36da1e[_0x410e2b(0xb8)]+'\x20('+_0x36da1e['dbId']+')')[_0x410e2b(0xa6)](',\x20');throw CliErrors[_0x410e2b(0x92)](_0x410e2b(0x9e)+_0x9480f9+'\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20'+_0x5c06cb[_0x410e2b(0xb9)]+':\x20'+_0x51c4de);}function parseExplicitDbDirectory(_0x5ed286){const _0x4392ec=a243_0x59ac29,_0x52157b=/^db-(\d+)$/[_0x4392ec(0x95)](_0x5ed286);if(!_0x52157b)return null;const _0x4d1523=Number(_0x52157b[0x1]);return Number[_0x4392ec(0x93)](_0x4d1523)&&_0x4d1523>0x0?_0x4d1523:null;}
|
|
1
|
+
const a247_0x3e21a1=a247_0x3fd7;(function(_0x347df9,_0x4165f9){const _0x206468=a247_0x3fd7,_0x4ac99d=_0x347df9();while(!![]){try{const _0x331369=parseInt(_0x206468(0x20c))/0x1+parseInt(_0x206468(0x1eb))/0x2*(parseInt(_0x206468(0x1e2))/0x3)+parseInt(_0x206468(0x1d8))/0x4*(-parseInt(_0x206468(0x1e8))/0x5)+parseInt(_0x206468(0x1f4))/0x6*(parseInt(_0x206468(0x1fa))/0x7)+parseInt(_0x206468(0x1ea))/0x8*(parseInt(_0x206468(0x1d0))/0x9)+parseInt(_0x206468(0x203))/0xa*(parseInt(_0x206468(0x1ca))/0xb)+-parseInt(_0x206468(0x20d))/0xc*(parseInt(_0x206468(0x1e7))/0xd);if(_0x331369===_0x4165f9)break;else _0x4ac99d['push'](_0x4ac99d['shift']());}catch(_0xaf4425){_0x4ac99d['push'](_0x4ac99d['shift']());}}}(a247_0x4436,0x63311));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';function a247_0x4436(){const _0x174aa9=['write','appCode','1533904boZoMZ','remoteId','sqlRoot','filter','dbName','\x20skipped,\x20','push','version','get','projectRoot','15WzgmUq','sql','relativePath','trim','force','316381YwDixR','5aIedgn','\x22\x20for\x20sqlCode\x20','5864pBigzp','62998RiLvGm','sqlName','startsWith','bool','sqlCode','str','dbId','\x20pushed,\x20','No\x20local\x20SQL\x20files\x20found.','339468jIfCAB','sqlRootDir','Local\x20directory\x20\x22','validation','\x20SQL\x20file(s)','lastSync','63qqULEv','utf8','\x20failed','replace','boolean','hash','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','Push\x20complete:\x20','mode','150oTVDDa',':\x20SQL\x20content\x20is\x20empty.','Would\x20push\x20','sqls','unchanged','toISOString','sqlcode','length','Push\x20local\x20SQL\x20files\x20to\x20remote','330811TILBzl','372ldQlmK','catch','1529pSiUcb','map','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','/smartapi/custom/updateUserCustomSql','lockFilePath','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','6687eAdmJu',':\x20local\x20SQL\x20is\x20not\x20tracked;\x20run\x20sql\x20create\x20or\x20sql\x20pull\x20first.','Local\x20SQL\x20not\x20found:\x20','path','message','filePath'];a247_0x4436=function(){return _0x174aa9;};return a247_0x4436();}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';function a247_0x3fd7(_0x1a564f,_0x2beaa1){_0x1a564f=_0x1a564f-0x1ca;const _0x4436a8=a247_0x4436();let _0x3fd7d4=_0x4436a8[_0x1a564f];return _0x3fd7d4;}import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function readSqlUploadContent(_0x2dfa66){const _0x2fe421=a247_0x3fd7,_0x193472=stripLocalSqlMetadata(await readFile(_0x2dfa66[_0x2fe421(0x1d5)],_0x2fe421(0x1fb)),_0x2dfa66[_0x2fe421(0x202)]);if(!_0x193472[_0x2fe421(0x1e5)]())throw CliErrors[_0x2fe421(0x1f7)](_0x2dfa66[_0x2fe421(0x1ef)]+_0x2fe421(0x204));return _0x193472;}async function getTargetSqlQueries(_0x24eb76,_0x1434da,_0x164ce2){const _0x4fa9b0=a247_0x3fd7,_0x205a8e=await scanLocalSqlQueries(_0x24eb76),_0x3a2a6a=new Map();for(const _0x391222 of _0x205a8e){if(_0x164ce2&&_0x391222[_0x4fa9b0(0x1ef)]!==_0x164ce2)continue;const _0x376e92=_0x3a2a6a[_0x4fa9b0(0x1e0)](_0x391222['sqlCode'])??[];_0x376e92[_0x4fa9b0(0x1de)](_0x391222),_0x3a2a6a['set'](_0x391222[_0x4fa9b0(0x1ef)],_0x376e92);}if(_0x164ce2&&!_0x3a2a6a['has'](_0x164ce2))throw CliErrors[_0x4fa9b0(0x1f7)](_0x4fa9b0(0x1d2)+_0x164ce2);const _0x43d7c2=[];for(const [_0xb4989,_0x14c43f]of _0x3a2a6a['entries']()){if(_0x14c43f[_0x4fa9b0(0x20a)]===0x1){_0x43d7c2[_0x4fa9b0(0x1de)](_0x14c43f[0x0]);continue;}const _0x4fec58=_0x1434da[_0x4fa9b0(0x206)][_0xb4989],_0x42d67e=_0x4fec58?.[_0x4fa9b0(0x1d3)],_0x4d1833=_0x42d67e?_0x14c43f[_0x4fa9b0(0x1db)](_0x5b1507=>_0x5b1507[_0x4fa9b0(0x1e4)]!==_0x42d67e):_0x14c43f;if(_0x4fec58&&_0x4d1833['length']===0x1){_0x43d7c2[_0x4fa9b0(0x1de)](_0x4d1833[0x0]);continue;}throw CliErrors[_0x4fa9b0(0x1f7)](_0x4fa9b0(0x1cf)+_0xb4989+_0x4fa9b0(0x1cc));}return _0x43d7c2;}export const sqlPush={'service':a247_0x3e21a1(0x1e3),'command':a247_0x3e21a1(0x1de),'description':a247_0x3e21a1(0x20b),'risk':a247_0x3e21a1(0x1d6),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a247_0x3e21a1(0x1e6),'type':a247_0x3e21a1(0x1fe),'description':a247_0x3e21a1(0x200)}],async 'dryRun'(_0x1b1cf1){const _0x1c65d1=a247_0x3e21a1,_0x360301=loadSqlProjectConfig(_0x1b1cf1[_0x1c65d1(0x1d7)]),_0x4218c7=await readSqlLockFile(_0x360301['lockFilePath']),{appLock:_0x217329}=ensureSqlLockScope(_0x4218c7??createEmptySqlLock(),_0x1b1cf1[_0x1c65d1(0x1d7)],_0x360301[_0x1c65d1(0x1da)],_0x1c65d1(0x1de)),_0x57404c=await getTargetSqlQueries(_0x360301,_0x217329,_0x1b1cf1[_0x1c65d1(0x1f0)](_0x1c65d1(0x209))||undefined),_0x2d308c=[];for(const _0x5f4f3f of _0x57404c){const _0x50ad16=await computeSqlFileHash(_0x5f4f3f[_0x1c65d1(0x1d5)]),_0x5a9782=_0x217329[_0x1c65d1(0x206)][_0x5f4f3f[_0x1c65d1(0x1ef)]],_0x58ac30=!!_0x5a9782&&(_0x5a9782[_0x1c65d1(0x1d3)]!==_0x5f4f3f[_0x1c65d1(0x1e4)]||!!_0x5f4f3f['sqlName']&&_0x5a9782[_0x1c65d1(0x1ec)]!==_0x5f4f3f[_0x1c65d1(0x1ec)]||_0x5a9782[_0x1c65d1(0x202)]!==_0x5f4f3f[_0x1c65d1(0x202)]);if(!_0x1b1cf1[_0x1c65d1(0x1ee)](_0x1c65d1(0x1e6))&&_0x5a9782&&_0x5a9782['hash']===_0x50ad16&&!_0x58ac30)continue;if(!_0x5a9782)throw CliErrors[_0x1c65d1(0x1f7)](_0x5f4f3f[_0x1c65d1(0x1ef)]+_0x1c65d1(0x1d1));if(_0x5a9782['version']==null)throw CliErrors[_0x1c65d1(0x1f7)](_0x5f4f3f[_0x1c65d1(0x1ef)]+':\x20missing\x20remote\x20version;\x20run\x20sql\x20pull\x20first.');await resolveTargetDbBinding(_0x1b1cf1[_0x1c65d1(0x1d7)],_0x5f4f3f,_0x5a9782),await readSqlUploadContent(_0x5f4f3f),_0x2d308c[_0x1c65d1(0x1de)](_0x5f4f3f[_0x1c65d1(0x1ef)]);}return{'method':'POST','url':_0x1c65d1(0x1cd),'body':{'sqlCodes':_0x2d308c,'appCode':_0x1b1cf1[_0x1c65d1(0x1d7)]},'description':_0x1c65d1(0x205)+_0x2d308c['length']+_0x1c65d1(0x1f8)};},async 'execute'(_0x385b1d){const _0x197f8a=a247_0x3e21a1,_0x498c1e=loadSqlProjectConfig(_0x385b1d[_0x197f8a(0x1d7)]),_0x20dae3=await readSqlLockFile(_0x498c1e[_0x197f8a(0x1ce)]),{lockData:_0x567cb9,appLock:_0x2f32c3}=ensureSqlLockScope(_0x20dae3??createEmptySqlLock(),_0x385b1d['appCode'],_0x498c1e[_0x197f8a(0x1da)],_0x197f8a(0x1de)),_0x4b6c88=await getTargetSqlQueries(_0x498c1e,_0x2f32c3,_0x385b1d['str'](_0x197f8a(0x209))||undefined);if(_0x4b6c88[_0x197f8a(0x20a)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x197f8a(0x1f3)};const _0x28278c=[],_0xb88f33=[],_0x51faa6=[];let _0x320614=![];for(const _0x476234 of _0x4b6c88){const _0x45fc03=_0x2f32c3[_0x197f8a(0x206)][_0x476234['sqlCode']];if(!_0x45fc03){_0x51faa6[_0x197f8a(0x1de)]({'sqlCode':_0x476234[_0x197f8a(0x1ef)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x22f7e9=await computeSqlFileHash(_0x476234[_0x197f8a(0x1d5)]),_0x5a5619=_0x45fc03[_0x197f8a(0x1d3)]!==_0x476234[_0x197f8a(0x1e4)]||!!_0x476234[_0x197f8a(0x1ec)]&&_0x45fc03[_0x197f8a(0x1ec)]!==_0x476234['sqlName']||_0x45fc03[_0x197f8a(0x202)]!==_0x476234[_0x197f8a(0x202)];if(!_0x385b1d[_0x197f8a(0x1ee)](_0x197f8a(0x1e6))&&_0x45fc03[_0x197f8a(0x1ff)]===_0x22f7e9&&!_0x5a5619){_0xb88f33['push']({'sqlCode':_0x476234[_0x197f8a(0x1ef)],'reason':_0x197f8a(0x207)});continue;}if(_0x45fc03[_0x197f8a(0x1df)]==null){_0x51faa6['push']({'sqlCode':_0x476234[_0x197f8a(0x1ef)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x147618=_0x476234[_0x197f8a(0x1ec)]||_0x45fc03['sqlName'],_0x2b08af=await resolveTargetDbBinding(_0x385b1d['appCode'],_0x476234,_0x45fc03),_0x1de568=await readSqlUploadContent(_0x476234),_0x19e551=await updateSqlQuery({'id':_0x45fc03[_0x197f8a(0x1d9)],'appCode':_0x385b1d[_0x197f8a(0x1d7)],'sqlCode':_0x476234['sqlCode'],'sqlName':_0x147618,'dbId':_0x2b08af[_0x197f8a(0x1f1)],'version':_0x45fc03['version'],'sqlContent':_0x1de568,'sqlConfig':_0x45fc03['sqlConfig']??undefined}),_0xf95e35=_0x19e551['dbId']?await getDbName(_0x385b1d[_0x197f8a(0x1d7)],Number(_0x19e551['dbId']))['catch'](()=>_0x2b08af[_0x197f8a(0x1dc)]):_0x2b08af[_0x197f8a(0x1dc)];_0x2f32c3['sqls'][_0x476234[_0x197f8a(0x1ef)]]={...buildSqlLockEntry(_0x19e551,_0x1de568,_0x22f7e9,{'dbName':_0xf95e35}),'path':_0x476234[_0x197f8a(0x1e4)],'mode':_0x476234['mode']},_0x320614=!![],await archivePreviousSqlFileIfNeeded(_0x498c1e,_0x45fc03[_0x197f8a(0x1d3)],_0x476234['relativePath']),_0x28278c[_0x197f8a(0x1de)]({'sqlCode':_0x476234[_0x197f8a(0x1ef)],'remoteId':_0x45fc03[_0x197f8a(0x1d9)]});}catch(_0x5a64b9){_0x51faa6[_0x197f8a(0x1de)]({'sqlCode':_0x476234[_0x197f8a(0x1ef)],'error':_0x5a64b9 instanceof Error?_0x5a64b9[_0x197f8a(0x1d4)]:String(_0x5a64b9)});}}(_0x320614||_0x51faa6[_0x197f8a(0x20a)]===0x0)&&(_0x2f32c3[_0x197f8a(0x1f9)]=new Date()[_0x197f8a(0x208)](),await writeSqlLockFile(_0x498c1e[_0x197f8a(0x1ce)],_0x567cb9));const _0x56411c=_0x51faa6[_0x197f8a(0x20a)]===0x0;return{'ok':_0x56411c,'data':{'pushed':_0x28278c,'skipped':_0xb88f33,'failed':_0x51faa6},'message':_0x197f8a(0x201)+_0x28278c[_0x197f8a(0x20a)]+_0x197f8a(0x1f2)+_0xb88f33[_0x197f8a(0x20a)]+_0x197f8a(0x1dd)+_0x51faa6['length']+_0x197f8a(0x1fc)};}};async function archivePreviousSqlFileIfNeeded(_0x3f3303,_0x19bf07,_0xb111dd){const _0x9cc997=a247_0x3e21a1;if(!_0x19bf07||_0x19bf07===_0xb111dd)return;const _0x510569=join(_0x3f3303[_0x9cc997(0x1f5)],_0x19bf07);if(!await fileExists(_0x510569))return;const _0x109742=await moveToTrash(_0x3f3303[_0x9cc997(0x1e1)],_0x3f3303['trashDir'],_0x510569);await cleanupEmptyDirectories(dirname(_0x510569),_0x3f3303[_0x9cc997(0x1f5)]),void _0x109742;}async function moveToTrash(_0x29343f,_0x57a1eb,_0x553275){const _0x52c802=a247_0x3e21a1,_0x3bfe1a=new Date()[_0x52c802(0x208)]()[_0x52c802(0x1fd)](/[:.]/g,'-'),_0xf74a59=relative(_0x29343f,_0x553275),_0x491b3b=join(_0x57a1eb,_0x3bfe1a,_0xf74a59);return await mkdir(dirname(_0x491b3b),{'recursive':!![]}),await rename(_0x553275,_0x491b3b),_0x491b3b;}async function cleanupEmptyDirectories(_0x3af366,_0x5e4dd0){const _0x273fcb=a247_0x3e21a1;let _0x304da8=resolve(_0x3af366);const _0x24d2bf=resolve(_0x5e4dd0);while(_0x304da8[_0x273fcb(0x1ed)](''+_0x24d2bf+sep)||_0x304da8===_0x24d2bf){if(_0x304da8===_0x24d2bf)return;try{const _0x3e0e3f=await readdir(_0x304da8);if(_0x3e0e3f[_0x273fcb(0x20a)]>0x0)return;await rmdir(_0x304da8);}catch{return;}_0x304da8=dirname(_0x304da8);}}async function resolveTargetDbBinding(_0xc88c05,_0x405e74,_0x11c3d1){const _0x3a84ac=a247_0x3e21a1,_0x51453a=_0x405e74['dbDirectory'];if(!_0x51453a)return{'dbId':_0x11c3d1[_0x3a84ac(0x1f1)],'dbName':_0x11c3d1['dbName']};const _0x4ff406=buildDbDirectoryName(_0x11c3d1['dbName'],_0x11c3d1[_0x3a84ac(0x1f1)]);if(_0x51453a===_0x4ff406)return{'dbId':_0x11c3d1[_0x3a84ac(0x1f1)],'dbName':_0x11c3d1[_0x3a84ac(0x1dc)]};const _0x3949ba=parseExplicitDbDirectory(_0x51453a);if(_0x3949ba!=null)return{'dbId':_0x3949ba,'dbName':await getDbName(_0xc88c05,_0x3949ba)[_0x3a84ac(0x20e)](()=>undefined)};const _0x2ec529=await listDatabases(_0xc88c05),_0x5e750c=_0x2ec529['filter'](_0x5d4450=>buildDbDirectoryName(_0x5d4450[_0x3a84ac(0x1dc)],_0x5d4450[_0x3a84ac(0x1f1)])===_0x51453a);if(_0x5e750c[_0x3a84ac(0x20a)]===0x1)return{'dbId':_0x5e750c[0x0][_0x3a84ac(0x1f1)],'dbName':_0x5e750c[0x0][_0x3a84ac(0x1dc)]};if(_0x5e750c[_0x3a84ac(0x20a)]===0x0)throw CliErrors['validation']('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x51453a+_0x3a84ac(0x1e9)+_0x405e74[_0x3a84ac(0x1ef)]+'.');const _0x11c076=_0x5e750c[_0x3a84ac(0x1cb)](_0x4f3d59=>_0x4f3d59[_0x3a84ac(0x1dc)]+'\x20('+_0x4f3d59[_0x3a84ac(0x1f1)]+')')['join'](',\x20');throw CliErrors['validation'](_0x3a84ac(0x1f6)+_0x51453a+'\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20'+_0x405e74[_0x3a84ac(0x1ef)]+':\x20'+_0x11c076);}function parseExplicitDbDirectory(_0x1c195e){const _0x553a61=/^db-(\d+)$/['exec'](_0x1c195e);if(!_0x553a61)return null;const _0x22a764=Number(_0x553a61[0x1]);return Number['isFinite'](_0x22a764)&&_0x22a764>0x0?_0x22a764:null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2b09bd,_0x1b888e){const _0x5be431=a248_0x10cb,_0x1731cb=_0x2b09bd();while(!![]){try{const _0x58b3c1=parseInt(_0x5be431(0x94))/0x1*(parseInt(_0x5be431(0x82))/0x2)+-parseInt(_0x5be431(0x97))/0x3*(-parseInt(_0x5be431(0x99))/0x4)+parseInt(_0x5be431(0x89))/0x5*(-parseInt(_0x5be431(0x98))/0x6)+-parseInt(_0x5be431(0x8b))/0x7+-parseInt(_0x5be431(0x8f))/0x8*(parseInt(_0x5be431(0x9e))/0x9)+-parseInt(_0x5be431(0xa6))/0xa+-parseInt(_0x5be431(0xa5))/0xb*(-parseInt(_0x5be431(0x84))/0xc);if(_0x58b3c1===_0x1b888e)break;else _0x1731cb['push'](_0x1731cb['shift']());}catch(_0x5093e0){_0x1731cb['push'](_0x1731cb['shift']());}}}(a248_0x30e9,0x26ee6));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR='.rabetbase/sql';export function buildSqlLockEntry(_0x3b5474,_0x13de12,_0x44135d,_0x5f2c57){const _0x3d50b7=a248_0x10cb,_0x4ad9a4=detectSqlMode(_0x13de12);return{'path':buildSqlRelativePath(_0x3b5474[_0x3d50b7(0xa8)],_0x3b5474['sqlName'],_0x5f2c57?.[_0x3d50b7(0xae)],_0x4ad9a4,_0x3b5474[_0x3d50b7(0x9b)]),'hash':_0x44135d,'remoteId':_0x3b5474['id'],'version':_0x3b5474['version'],'dbId':Number(_0x3b5474[_0x3d50b7(0x9b)]),'dbName':_0x5f2c57?.[_0x3d50b7(0xae)],'sqlName':_0x3b5474[_0x3d50b7(0x86)],'sqlConfig':_0x3b5474[_0x3d50b7(0x90)]??undefined,'mode':_0x4ad9a4};}function a248_0x10cb(_0x52372a,_0x3806a1){_0x52372a=_0x52372a-0x80;const _0x30e9f8=a248_0x30e9();let _0x10cb72=_0x30e9f8[_0x52372a];return _0x10cb72;}export function cloneSqlLockData(_0x33cdab){const _0x1df95d=a248_0x10cb;return{'apps':Object['fromEntries'](Object[_0x1df95d(0x8a)](_0x33cdab['apps'])['map'](([_0x4dccb5,_0x25d466])=>[_0x4dccb5,{'sqlRoot':_0x25d466[_0x1df95d(0xa3)],'lastSync':_0x25d466['lastSync'],'sqls':{..._0x25d466[_0x1df95d(0xa7)]}}]))};}export function ensureRemoteSqlContent(_0x3e881a){const _0x21adb8=a248_0x10cb;return _0x3e881a[_0x21adb8(0x87)]??'';}export function buildLocalSqlFileContent(_0xed6a17,_0x25c9ad,_0x4c10a2){const _0x44cfa4=a248_0x10cb,_0x60daa4=_0x4c10a2?.[_0x44cfa4(0xab)]??detectSqlMode(_0x25c9ad),_0x499238=stripLocalSqlMetadata(_0x25c9ad,_0x60daa4)[_0x44cfa4(0x80)](),_0x4139ee=buildMetadataHeaderLines({'sqlCode':_0xed6a17[_0x44cfa4(0xa8)],'sqlName':_0xed6a17[_0x44cfa4(0x86)],'dbId':_0xed6a17[_0x44cfa4(0x9b)],'dbName':_0x4c10a2?.['dbName'],'mode':_0x60daa4,'syncedAt':_0x4c10a2?.[_0x44cfa4(0x8e)],'description':_0x4c10a2?.[_0x44cfa4(0xaa)]},_0x60daa4),_0x5ec557=_0x60daa4===_0x44cfa4(0xa4)?splitXmlDeclaration(_0x499238):{'body':_0x499238},_0x352181=[..._0x5ec557[_0x44cfa4(0x9c)]?[_0x5ec557[_0x44cfa4(0x9c)]]:[],..._0x4139ee,'',_0x5ec557[_0x44cfa4(0x92)][_0x44cfa4(0x8c)]()],_0x5540c6=_0x352181[_0x44cfa4(0xa1)]('\x0a');return _0x5540c6[_0x44cfa4(0x93)]('\x0a')?_0x5540c6:_0x5540c6+'\x0a';}export function stripLocalSqlMetadata(_0x2b7f17,_0x396fb0){const _0x25fbbe=a248_0x10cb;if(_0x396fb0==='mybatisXml'){const {declaration:_0x5a8954,body:_0x2b4b15}=splitXmlDeclaration(_0x2b7f17[_0x25fbbe(0x81)](/\r\n/g,'\x0a')),_0x11b1ab=stripLeadingMetadataLines(_0x2b4b15,/^\s*<!--\s*@lovrabet\./);return _0x5a8954?''+_0x5a8954+(_0x11b1ab?'\x0a'+_0x11b1ab:''):_0x11b1ab;}return stripLeadingMetadataLines(_0x2b7f17['replace'](/\r\n/g,'\x0a'),/^\s*--\s*@lovrabet\./);}export function resolveSqlMode(_0x5817ce,_0x34b5cd){const _0x2cf047=a248_0x10cb;if(_0x34b5cd?.[_0x2cf047(0xab)])return _0x34b5cd[_0x2cf047(0xab)];return detectSqlMode(_0x5817ce);}export function resolveSqlFileName(_0x52453b,_0x578173,_0x196ddc){const _0x3b23a5=a248_0x10cb;if(_0x196ddc?.['path'])return _0x196ddc[_0x3b23a5(0x8d)];if(_0x196ddc?.[_0x3b23a5(0x86)]||_0x196ddc?.['dbName'])return buildSqlRelativePath(_0x52453b,_0x196ddc?.[_0x3b23a5(0x86)],_0x196ddc?.[_0x3b23a5(0xae)],resolveSqlMode(_0x578173,_0x196ddc),_0x196ddc?.['dbId']);return buildDefaultSqlFileName(_0x52453b,resolveSqlMode(_0x578173,_0x196ddc));}export function resolveSqlLocalDir(_0x2b61be,_0x4580be){return join(_0x2b61be,SQL_LOCAL_REL_DIR,_0x4580be);}export async function confirmForceOverwrite(_0xb29607){const _0x3e5978=a248_0x10cb,_0x2d1277=createInterface({'input':process[_0x3e5978(0x96)],'output':process['stderr']}),_0x2bc2b3=await new Promise(_0x3241d5=>{const _0x446a6a=_0x3e5978;_0x2d1277[_0x446a6a(0xa0)](_0xb29607+_0x446a6a(0xad),_0x3241d5);});return _0x2d1277[_0x3e5978(0x9f)](),['y',_0x3e5978(0x85)]['includes'](_0x2bc2b3[_0x3e5978(0x80)]()[_0x3e5978(0x88)]());}export function findSqlLockScope(_0x3df649,_0x9d6236){const _0x42f2af=a248_0x10cb;return _0x3df649[_0x42f2af(0x91)][_0x9d6236];}function a248_0x30e9(){const _0x1881ef=['declaration','length','4482iHDkwq','close','question','join','slice','sqlRoot','mybatisXml','22583ZGktuf','1890670ncqJtx','sqls','sqlCode','filter','description','mode','map','\x20[y/N]\x20','dbName','trim','replace','438586ASCiZv','exec','996HoBmIT','yes','sqlName','sqlContent','toLowerCase','235vNUFqw','entries','14553ViwBFz','trimStart','path','syncedAt','72SYnixN','sqlConfig','apps','body','endsWith','1hkcths','<!--\x20@lovrabet.','stdin','3MsLWcY','30234PHbSSb','808924TgwBVS','\x20-->','dbId'];a248_0x30e9=function(){return _0x1881ef;};return a248_0x30e9();}function buildMetadataHeaderLines(_0xf20858,_0x107643){const _0x305e8a=a248_0x10cb,_0x49a79a=[[_0x305e8a(0xa8),_0xf20858[_0x305e8a(0xa8)]],['sqlName',_0xf20858['sqlName']],[_0x305e8a(0x9b),_0xf20858['dbId']],[_0x305e8a(0xae),_0xf20858['dbName']],['mode',_0xf20858[_0x305e8a(0xab)]],[_0x305e8a(0x8e),_0xf20858[_0x305e8a(0x8e)]],['description',_0xf20858[_0x305e8a(0xaa)]]];if(_0x107643===_0x305e8a(0xa4))return _0x49a79a['filter'](([,_0x2c8f41])=>_0x2c8f41!==undefined&&_0x2c8f41!==null&&String(_0x2c8f41)['trim']()!=='')[_0x305e8a(0xac)](([_0x4c8206,_0x4c652d])=>_0x305e8a(0x95)+_0x4c8206+':\x20'+String(_0x4c652d)+_0x305e8a(0x9a));return _0x49a79a[_0x305e8a(0xa9)](([,_0xdf43a5])=>_0xdf43a5!==undefined&&_0xdf43a5!==null&&String(_0xdf43a5)[_0x305e8a(0x80)]()!=='')[_0x305e8a(0xac)](([_0x10796a,_0x2ecef7])=>'--\x20@lovrabet.'+_0x10796a+':\x20'+String(_0x2ecef7));}function splitXmlDeclaration(_0x3eb386){const _0x3ad8cb=a248_0x10cb,_0x27959f=_0x3eb386[_0x3ad8cb(0x8c)](),_0x59d22d=/^<\?xml(?=\s|\?>)[\s\S]*?\?>/i[_0x3ad8cb(0x83)](_0x27959f);if(!_0x59d22d)return{'body':_0x3eb386};return{'declaration':_0x59d22d[0x0],'body':_0x27959f[_0x3ad8cb(0xa2)](_0x59d22d[0x0][_0x3ad8cb(0x9d)])};}function stripLeadingMetadataLines(_0x2445bc,_0x13e814){const _0x28fe51=a248_0x10cb,_0x57d22b=_0x2445bc['split']('\x0a');let _0x161908=0x0;while(_0x161908<_0x57d22b[_0x28fe51(0x9d)]){const _0x1c5c5a=_0x57d22b[_0x161908]??'';if(_0x13e814['test'](_0x1c5c5a)||_0x1c5c5a[_0x28fe51(0x80)]()===''){_0x161908++;continue;}break;}return _0x57d22b[_0x28fe51(0xa2)](_0x161908)[_0x28fe51(0xa1)]('\x0a')[_0x28fe51(0x8c)]();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a249_0x94d34c=a249_0x4d07;(function(_0x55d5a1,_0x18bda1){const _0xa373f0=a249_0x4d07,_0x2d441a=_0x55d5a1();while(!![]){try{const _0x503f59=-parseInt(_0xa373f0(0x192))/0x1*(-parseInt(_0xa373f0(0x1ab))/0x2)+-parseInt(_0xa373f0(0x1a9))/0x3+parseInt(_0xa373f0(0x19a))/0x4*(parseInt(_0xa373f0(0x1a2))/0x5)+parseInt(_0xa373f0(0x1a1))/0x6+-parseInt(_0xa373f0(0x199))/0x7+-parseInt(_0xa373f0(0x19b))/0x8+parseInt(_0xa373f0(0x1a0))/0x9;if(_0x503f59===_0x18bda1)break;else _0x2d441a['push'](_0x2d441a['shift']());}catch(_0xbcc2a2){_0x2d441a['push'](_0x2d441a['shift']());}}}(a249_0xa3ec,0x87c67));function a249_0xa3ec(){const _0x3719de=['9947484nJZifr','5669916MXjWrd','1370BBuEOL','sqls','\x20missing,\x20','status','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','boolean','lockFilePath','2905344qwFCVY','remote','2AjUiFC','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','map','push','path','sql','\x20unchanged','tableData','sqlRoot','All\x20SQL\x20queries\x20are\x20in\x20sync.','\x20remote-only','keys','\x20modified,\x20','relativePath','156201tgBXSq','length','read','lockKey','totalCount','\x20added,\x20','sqlName','3397023RvebfS','4896VMurfY','4255736WSYNcR','hash','filePath','sqlCode','has'];a249_0xa3ec=function(){return _0x3719de;};return a249_0xa3ec();}import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';function a249_0x4d07(_0xd6c7eb,_0x52727b){_0xd6c7eb=_0xd6c7eb-0x187;const _0xa3ec42=a249_0xa3ec();let _0x4d07fc=_0xa3ec42[_0xd6c7eb];return _0x4d07fc;}import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x22c0df){const _0x59f708=a249_0x4d07,_0x13e8de=[];let _0xe7770d=0x1;while(!![]){const _0x21689c=await listSqlQueries(_0x22c0df,{'currentPage':_0xe7770d,'pageSize':PAGE_SIZE}),_0x5560de=_0x21689c[_0x59f708(0x18b)]??[];_0x13e8de[_0x59f708(0x187)](..._0x5560de[_0x59f708(0x1ad)](_0x572cf7=>_0x572cf7[_0x59f708(0x19e)]));if(_0x5560de['length']===0x0)break;const _0x32cd69=_0x21689c['paging']?.[_0x59f708(0x196)];if(_0x32cd69!=null?_0x13e8de[_0x59f708(0x193)]>=_0x32cd69:_0x5560de[_0x59f708(0x193)]<PAGE_SIZE)break;_0xe7770d++;}return _0x13e8de;}export const sqlStatus={'service':a249_0x94d34c(0x189),'command':'status','description':a249_0x94d34c(0x1a6),'risk':a249_0x94d34c(0x194),'flags':[{'name':a249_0x94d34c(0x1aa),'type':a249_0x94d34c(0x1a7),'description':a249_0x94d34c(0x1ac)}],async 'execute'(_0x49bea0){const _0x3a0130=a249_0x94d34c,_0x226771=loadSqlProjectConfig(_0x49bea0['appCode']),_0x1af69a=await readSqlLockFile(_0x226771[_0x3a0130(0x1a8)]),{appLock:_0x154b13}=ensureSqlLockScope(_0x1af69a??createEmptySqlLock(),_0x226771['appCode'],_0x226771[_0x3a0130(0x18c)],_0x3a0130(0x1a5)),_0x3f2542=await scanLocalSqlQueries(_0x226771),_0x3d7a0a=[],_0x3c057a=[],_0x395f75=[],_0x2b90f9=[],_0x773d5b=new Set(_0x3f2542[_0x3a0130(0x1ad)](_0x3d0342=>_0x3d0342['lockKey']));for(const _0x21263b of _0x3f2542){const _0x28e7e9=await computeSqlFileHash(_0x21263b[_0x3a0130(0x19d)]),_0x4fdfbe=_0x154b13[_0x3a0130(0x1a3)][_0x21263b[_0x3a0130(0x195)]],_0x18de74=!!_0x4fdfbe&&_0x4fdfbe[_0x3a0130(0x188)]!==_0x21263b[_0x3a0130(0x191)],_0x23c88c=!!_0x4fdfbe&&!!_0x21263b[_0x3a0130(0x198)]&&_0x4fdfbe[_0x3a0130(0x198)]!==_0x21263b[_0x3a0130(0x198)];if(!_0x4fdfbe)_0x3d7a0a[_0x3a0130(0x187)](_0x21263b['lockKey']);else _0x4fdfbe[_0x3a0130(0x19c)]!==_0x28e7e9||_0x18de74||_0x23c88c?_0x3c057a[_0x3a0130(0x187)](_0x21263b[_0x3a0130(0x195)]):_0x395f75[_0x3a0130(0x187)](_0x21263b[_0x3a0130(0x195)]);}for(const _0x2c32ff of Object[_0x3a0130(0x18f)](_0x154b13['sqls'])){!_0x773d5b[_0x3a0130(0x19f)](_0x2c32ff)&&_0x2b90f9[_0x3a0130(0x187)](_0x2c32ff);}const _0x3efe53=[];if(_0x49bea0['bool']('remote')){const _0x39806c=await fetchAllSqlCodes(_0x49bea0['appCode']);for(const _0x527306 of _0x39806c){!_0x773d5b[_0x3a0130(0x19f)](_0x527306)&&!_0x154b13[_0x3a0130(0x1a3)][_0x527306]&&_0x3efe53['push'](_0x527306);}}const _0x4b3dc5=_0x3d7a0a[_0x3a0130(0x193)]===0x0&&_0x3c057a[_0x3a0130(0x193)]===0x0&&_0x2b90f9[_0x3a0130(0x193)]===0x0&&_0x3efe53[_0x3a0130(0x193)]===0x0;return{'ok':!![],'data':{'added':_0x3d7a0a,'modified':_0x3c057a,'missing':_0x2b90f9,'unchanged':_0x395f75,'remoteOnly':_0x3efe53},'message':_0x4b3dc5?_0x3a0130(0x18d):_0x3d7a0a['length']+_0x3a0130(0x197)+_0x3c057a[_0x3a0130(0x193)]+_0x3a0130(0x190)+_0x2b90f9[_0x3a0130(0x193)]+_0x3a0130(0x1a4)+_0x395f75[_0x3a0130(0x193)]+_0x3a0130(0x18a)+(_0x3efe53[_0x3a0130(0x193)]>0x0?',\x20'+_0x3efe53[_0x3a0130(0x193)]+_0x3a0130(0x18e):'')};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a250_0x1bfc40=a250_0x3422;function a250_0x3422(_0x394226,_0xa91c6c){_0x394226=_0x394226-0x6a;const _0x1158e5=a250_0x1158();let _0x3422a5=_0x1158e5[_0x394226];return _0x3422a5;}(function(_0x2e4fe3,_0x6a65ef){const _0x3fe6fc=a250_0x3422,_0x260a50=_0x2e4fe3();while(!![]){try{const _0x388851=-parseInt(_0x3fe6fc(0xa8))/0x1+parseInt(_0x3fe6fc(0x75))/0x2*(-parseInt(_0x3fe6fc(0x97))/0x3)+parseInt(_0x3fe6fc(0x90))/0x4+parseInt(_0x3fe6fc(0x9b))/0x5+parseInt(_0x3fe6fc(0x72))/0x6+parseInt(_0x3fe6fc(0x8a))/0x7*(parseInt(_0x3fe6fc(0x71))/0x8)+parseInt(_0x3fe6fc(0x84))/0x9;if(_0x388851===_0x6a65ef)break;else _0x260a50['push'](_0x260a50['shift']());}catch(_0x3878d3){_0x260a50['push'](_0x260a50['shift']());}}}(a250_0x1158,0x2d592));function a250_0x1158(){const _0x2b2750=['utf-8','1953488gYepJE','318600MDVFJb','tables','schemaWarnings','11366MBJYWp','check-indexes','dbtableConfig','validation','index_columns','schemas','push','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','split','fields','find','--check-indexes\x20requires\x20--schemas.','sql','valid','index_type','1395414YvgTGd','message','filter','joinAudit','Table\x20\x22','columns','7uEfpRs','sqlType','file','unshift','validate','parameters','358632IWsjzs','tableName','size','schema:','str','indexName','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','132OCoTxq','dataset','columnNames','map','364030bsckHB','Audit\x20top-level\x20JOIN\x20equality\x20predicates\x20against\x20dataset\x20index\x20metadata','toLowerCase','pkField','isArray','\x22\x20not\x20found\x20or\x20not\x20accessible','type','Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against','SQL\x20schema\x20validation','length','Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)','isSelectOnly','trim','178998rDhqML','name','primary','indexes','string','reason','flatMap','boolean','Dataset\x20\x22','isLockingRead'];a250_0x1158=function(){return _0x2b2750;};return a250_0x1158();}import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';import{auditSqlJoinIndexes}from'../../core/sql-index-auditor.js';import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertDatasetIsDbTableBacked,filterDbTableBackedDatasets}from'../../commands/dataset/capability.js';export const sqlValidate={'service':a250_0x1bfc40(0x81),'command':a250_0x1bfc40(0x8e),'description':a250_0x1bfc40(0x7c),'risk':'read','flags':[{'name':'file','type':a250_0x1bfc40(0x6a),'description':a250_0x1bfc40(0x96)},{'name':a250_0x1bfc40(0x81),'type':'string','description':a250_0x1bfc40(0xa5)},{'name':a250_0x1bfc40(0x7a),'type':a250_0x1bfc40(0x6a),'description':a250_0x1bfc40(0xa2)},{'name':a250_0x1bfc40(0x76),'type':a250_0x1bfc40(0x6d),'description':a250_0x1bfc40(0x9c)}],async 'execute'(_0x550623){const _0x3b4ec3=a250_0x1bfc40,_0x41ff0c=_0x550623[_0x3b4ec3(0x94)](_0x3b4ec3(0x8c)),_0x55002c=_0x550623[_0x3b4ec3(0x94)](_0x3b4ec3(0x81)),_0xd0c4d1=_0x550623['str'](_0x3b4ec3(0x7a)),_0x27066c=_0x550623['bool'](_0x3b4ec3(0x76));if(!_0x41ff0c&&!_0x55002c)throw CliErrors['flagMissing']('file','Provide\x20--file\x20or\x20--sql');if(_0x27066c&&!_0xd0c4d1)throw CliErrors[_0x3b4ec3(0x78)](_0x3b4ec3(0x80));let _0x167518;if(_0x41ff0c){const _0x70cd=resolve(process['cwd'](),_0x41ff0c);if(!existsSync(_0x70cd))throw CliErrors[_0x3b4ec3(0x78)]('File\x20not\x20found:\x20'+_0x70cd);_0x167518=readFileSync(_0x70cd,_0x3b4ec3(0x70));}else _0x167518=_0x55002c;const _0x2f3912=validateSql(_0x167518),_0x3df70b={'valid':_0x2f3912[_0x3b4ec3(0x82)],'sqlType':_0x2f3912[_0x3b4ec3(0x8b)][_0x3b4ec3(0xa1)],'isSelectOnly':_0x2f3912[_0x3b4ec3(0x8b)][_0x3b4ec3(0xa6)],'isLockingRead':_0x2f3912[_0x3b4ec3(0x8b)][_0x3b4ec3(0x6f)]??![],'isDangerous':_0x2f3912['sqlType']['isDangerous'],'tables':_0x2f3912['tables'],'parameters':_0x2f3912[_0x3b4ec3(0x8f)],'message':_0x2f3912[_0x3b4ec3(0x85)]};_0x2f3912[_0x3b4ec3(0x8b)][_0x3b4ec3(0x6b)]&&(_0x3df70b['reason']=_0x2f3912[_0x3b4ec3(0x8b)][_0x3b4ec3(0x6b)]);if(_0xd0c4d1&&_0x2f3912[_0x3b4ec3(0x82)]){const _0x10f441=_0xd0c4d1['split'](',')['map'](_0x4aee66=>_0x4aee66['trim']())[_0x3b4ec3(0x86)](Boolean),_0x2205b8=[],_0x201175=[],_0x334379=filterDbTableBackedDatasets(await listDatasets(_0x550623['appCode'])),_0x575fe9=new Map(_0x334379[_0x3b4ec3(0x9a)](_0x474c88=>[_0x474c88[_0x3b4ec3(0x77)]?.[_0x3b4ec3(0x91)]?.[_0x3b4ec3(0x9d)](),_0x474c88]));for(const _0x59ee32 of _0x2f3912[_0x3b4ec3(0x73)]){const _0x349986=_0x575fe9['get'](_0x59ee32[_0x3b4ec3(0x9d)]());!_0x349986&&_0x2205b8[_0x3b4ec3(0x7b)](_0x3b4ec3(0x88)+_0x59ee32+'\x22\x20not\x20found\x20in\x20any\x20dataset');}for(const _0x1b98d2 of _0x10f441){let _0x162e67;try{_0x162e67=await getDatasetDetail(_0x1b98d2);}catch{_0x2205b8[_0x3b4ec3(0x7b)](_0x3b4ec3(0x6e)+_0x1b98d2+_0x3b4ec3(0xa0));continue;}assertDatasetIsDbTableBacked(_0x162e67,_0x3b4ec3(0xa3));const _0x207b7a=Array[_0x3b4ec3(0x9f)](_0x162e67[_0x3b4ec3(0x7e)])?_0x162e67[_0x3b4ec3(0x7e)]:[],_0x76410c=new Set(_0x207b7a[_0x3b4ec3(0x9a)](_0x32963d=>_0x32963d[_0x3b4ec3(0xa9)]?.['toLowerCase']())),_0x194b1c=_0x162e67['dbtableConfig']?.[_0x3b4ec3(0x91)]||_0x162e67[_0x3b4ec3(0x91)]||_0x1b98d2;_0x3df70b[_0x3b4ec3(0x93)+_0x194b1c]={'code':_0x1b98d2,'tableName':_0x194b1c,'fieldCount':_0x76410c[_0x3b4ec3(0x92)],'fields':Array['from'](_0x76410c)};if(_0x27066c){const _0x368c08=normalizeDatasetIndexes(_0x162e67);_0x201175[_0x3b4ec3(0x7b)]({'tableName':_0x194b1c,..._0x368c08});}}_0x2205b8['length']>0x0&&(_0x3df70b[_0x3b4ec3(0x74)]=_0x2205b8),_0x27066c&&(_0x3df70b[_0x3b4ec3(0x87)]=auditSqlJoinIndexes(_0x167518,_0x201175));}return{'ok':_0x2f3912[_0x3b4ec3(0x82)],'data':_0x3df70b,'message':_0x2f3912[_0x3b4ec3(0x85)]};}};function normalizeDatasetIndexes(_0x9f2170){const _0x576a5d=a250_0x1bfc40,_0x3b6609=Array[_0x576a5d(0x9f)](_0x9f2170?.[_0x576a5d(0x98)]?.[_0x576a5d(0xab)])?_0x9f2170['dataset'][_0x576a5d(0xab)]:Array[_0x576a5d(0x9f)](_0x9f2170?.[_0x576a5d(0xab)])?_0x9f2170[_0x576a5d(0xab)]:[],_0x4aee50=_0x3b6609[_0x576a5d(0x6c)](_0x4687f1=>{const _0x3b58a9=_0x576a5d,_0x509088=Array[_0x3b58a9(0x9f)](_0x4687f1?.[_0x3b58a9(0x79)])?_0x4687f1[_0x3b58a9(0x79)]:Array[_0x3b58a9(0x9f)](_0x4687f1?.[_0x3b58a9(0x99)])?_0x4687f1['columnNames']:Array[_0x3b58a9(0x9f)](_0x4687f1?.['columns'])?_0x4687f1[_0x3b58a9(0x89)]:[],_0x414ce9=_0x509088[_0x3b58a9(0x86)](_0x4cb87a=>typeof _0x4cb87a==='string')[_0x3b58a9(0x9a)](_0x454389=>_0x454389[_0x3b58a9(0xa7)]())[_0x3b58a9(0x86)](Boolean);if(_0x414ce9[_0x3b58a9(0xa4)]===0x0)return[];const _0x9bc339=[_0x4687f1?.[_0x3b58a9(0x95)],_0x4687f1?.['index_name'],_0x4687f1?.[_0x3b58a9(0xa9)]][_0x3b58a9(0x7f)](_0x16734f=>typeof _0x16734f===_0x3b58a9(0x6a)&&_0x16734f['trim']()),_0x5d23c8=[_0x4687f1?.[_0x3b58a9(0x83)],_0x4687f1?.[_0x3b58a9(0xa1)]][_0x3b58a9(0x7f)](_0x23e8cc=>typeof _0x23e8cc===_0x3b58a9(0x6a)&&_0x23e8cc['trim']());return[{..._0x9bc339?{'name':_0x9bc339[_0x3b58a9(0xa7)]()}:{},..._0x5d23c8?{'type':_0x5d23c8['trim']()}:{},'columns':_0x414ce9}];}),_0x5798b5=[..._0x4aee50],_0x1e64d7=typeof _0x9f2170?.[_0x576a5d(0x77)]?.['pkField']===_0x576a5d(0x6a)?_0x9f2170[_0x576a5d(0x77)][_0x576a5d(0x9e)][_0x576a5d(0x7d)](',')['map'](_0x20e18d=>_0x20e18d['trim']())['filter'](Boolean):[];return _0x1e64d7[_0x576a5d(0xa4)]>0x0&&_0x5798b5[_0x576a5d(0x8d)]({'type':_0x576a5d(0xaa),'columns':_0x1e64d7}),{'indexes':_0x5798b5,'metadataAvailable':_0x4aee50['length']>0x0};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1ce5b8,_0x258cbc){const _0x5e8436=a251_0x4406,_0x1a8236=_0x1ce5b8();while(!![]){try{const _0x5ba1da=-parseInt(_0x5e8436(0x81))/0x1*(-parseInt(_0x5e8436(0x76))/0x2)+parseInt(_0x5e8436(0x7e))/0x3*(-parseInt(_0x5e8436(0x79))/0x4)+-parseInt(_0x5e8436(0x7c))/0x5*(-parseInt(_0x5e8436(0x7a))/0x6)+-parseInt(_0x5e8436(0x77))/0x7*(parseInt(_0x5e8436(0x7b))/0x8)+parseInt(_0x5e8436(0x78))/0x9*(parseInt(_0x5e8436(0x80))/0xa)+parseInt(_0x5e8436(0x7d))/0xb+-parseInt(_0x5e8436(0x7f))/0xc;if(_0x5ba1da===_0x258cbc)break;else _0x1a8236['push'](_0x1a8236['shift']());}catch(_0x3b7047){_0x1a8236['push'](_0x1a8236['shift']());}}}(a251_0x3eca,0xbd532));function a251_0x4406(_0x336bbb,_0x5261ab){_0x336bbb=_0x336bbb-0x76;const _0x3eca40=a251_0x3eca();let _0x440678=_0x3eca40[_0x336bbb];return _0x440678;}import{taskStatus}from'../../commands/task/status.js';export const taskDefinitions=[taskStatus];function a251_0x3eca(){const _0x432249=['25039164UhDxvH','10kCqskJ','1joBelp','2114034dJwYQK','7XaUghY','6312051tAFPMU','80VwMSIW','24NDqOCu','2008504GovXWO','882860yZMUjg','10812010cCZFfr','50163oSsEYD'];a251_0x3eca=function(){return _0x432249;};return a251_0x3eca();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a252_0x3a081b=a252_0x51bd;(function(_0x4e3416,_0xae6be6){const _0x1e28fb=a252_0x51bd,_0x3ea74b=_0x4e3416();while(!![]){try{const _0x6a3cec=-parseInt(_0x1e28fb(0x151))/0x1+parseInt(_0x1e28fb(0x15b))/0x2+-parseInt(_0x1e28fb(0x147))/0x3*(parseInt(_0x1e28fb(0x157))/0x4)+parseInt(_0x1e28fb(0x159))/0x5*(parseInt(_0x1e28fb(0x15e))/0x6)+parseInt(_0x1e28fb(0x14f))/0x7+parseInt(_0x1e28fb(0x14b))/0x8*(-parseInt(_0x1e28fb(0x152))/0x9)+parseInt(_0x1e28fb(0x15a))/0xa;if(_0x6a3cec===_0xae6be6)break;else _0x3ea74b['push'](_0x3ea74b['shift']());}catch(_0x26b048){_0x3ea74b['push'](_0x3ea74b['shift']());}}}(a252_0x1b09,0xab2fc));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{getAsyncTaskStatus}from'../../core/api-client.js';function a252_0x51bd(_0x2a753c,_0x14c78c){_0x2a753c=_0x2a753c-0x147;const _0x1b09a7=a252_0x1b09();let _0x51bd0c=_0x1b09a7[_0x2a753c];return _0x51bd0c;}import{CliErrors}from'../../errors.js';function a252_0x1b09(){const _0x5f5c29=['apiError','string','Task\x20status\x20response\x20id\x20mismatch:\x20requested\x20','Query\x20an\x20asynchronous\x20task;\x20repeat\x20for\x20PENDING\x20or\x20PROCESSING\x20until\x20SUCCESS\x20or\x20FAILED','1220fymMer','task','25SmIkBZ','14687290NoFEVd','1773100xlIpAc','cookie','isTerminal','1471656vEMneS','10731YHMKuF','appCode','trim','str','454808yeJUqz','read','task-id','Task\x20id\x20returned\x20by\x20an\x20asynchronous\x20platform\x20command','71288vdiPUO','taskId','1231168MCNMlG','90FiJeTH'];a252_0x1b09=function(){return _0x5f5c29;};return a252_0x1b09();}export const taskStatus={'service':a252_0x3a081b(0x158),'command':'status','description':a252_0x3a081b(0x156),'risk':a252_0x3a081b(0x14c),'defaultOutputFormat':'compress','structuredErrors':!![],'flags':[{'name':a252_0x3a081b(0x14d),'type':a252_0x3a081b(0x154),'required':!![],'description':a252_0x3a081b(0x14e)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2c6ff5){const _0x2cfbb7=a252_0x3a081b;if(!_0x2c6ff5[_0x2cfbb7(0x14a)](_0x2cfbb7(0x14d))[_0x2cfbb7(0x149)]())throw CliErrors['flagMissing'](_0x2cfbb7(0x14d));},async 'execute'(_0x104e98){const _0x1b9010=a252_0x3a081b,_0x2e50dc=_0x104e98[_0x1b9010(0x14a)](_0x1b9010(0x14d))['trim'](),_0x841cee=normalizeAsyncTask(await getAsyncTaskStatus(_0x2e50dc,_0x104e98[_0x1b9010(0x148)],_0x104e98[_0x1b9010(0x15c)]));if(_0x841cee[_0x1b9010(0x150)]!==_0x2e50dc)throw CliErrors[_0x1b9010(0x153)](_0x1b9010(0x155)+_0x2e50dc+',\x20received\x20'+_0x841cee['taskId']+'.');const _0xe57881=buildAsyncTaskStatusCommand(_0x841cee[_0x1b9010(0x150)],_0x104e98[_0x1b9010(0x148)]);return{'ok':!![],'message':asyncTaskMessage(_0x841cee),'data':{'appCode':_0x104e98[_0x1b9010(0x148)],..._0x841cee,'query':_0x841cee[_0x1b9010(0x15d)]?null:{'command':_0xe57881}}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x15745f,_0x1b09d7){const _0x8b9d6f=a253_0x5323,_0x505a63=_0x15745f();while(!![]){try{const _0x440d9c=-parseInt(_0x8b9d6f(0xc1))/0x1*(-parseInt(_0x8b9d6f(0xba))/0x2)+parseInt(_0x8b9d6f(0xbe))/0x3+parseInt(_0x8b9d6f(0xbd))/0x4*(parseInt(_0x8b9d6f(0xbf))/0x5)+parseInt(_0x8b9d6f(0xbc))/0x6+parseInt(_0x8b9d6f(0xc2))/0x7+parseInt(_0x8b9d6f(0xc0))/0x8+-parseInt(_0x8b9d6f(0xb9))/0x9*(parseInt(_0x8b9d6f(0xbb))/0xa);if(_0x440d9c===_0x1b09d7)break;else _0x505a63['push'](_0x505a63['shift']());}catch(_0x27c07a){_0x505a63['push'](_0x505a63['shift']());}}}(a253_0x2b94,0x2a700));import{tenantMembersListDefinition}from'../../commands/tenant/members-list.js';function a253_0x5323(_0x47cc49,_0x2bb5cb){_0x47cc49=_0x47cc49-0xb9;const _0x2b9426=a253_0x2b94();let _0x532389=_0x2b9426[_0x47cc49];return _0x532389;}function a253_0x2b94(){const _0x4f3f85=['27411tfoGhW','1124347xHANTy','18DWLlPl','10vJNFPD','5151730lizCuu','1856538rvgEHh','685004rkihRE','635370PtywtW','5CYlwpy','1712240akZPHm'];a253_0x2b94=function(){return _0x4f3f85;};return a253_0x2b94();}export const tenantDefinitions=[tenantMembersListDefinition];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a254_0x93d997=a254_0x3098;(function(_0x3ff282,_0x4c9fff){const _0x4db546=a254_0x3098,_0x1288d4=_0x3ff282();while(!![]){try{const _0xa3b600=parseInt(_0x4db546(0x179))/0x1*(-parseInt(_0x4db546(0x186))/0x2)+-parseInt(_0x4db546(0x16f))/0x3*(-parseInt(_0x4db546(0x170))/0x4)+-parseInt(_0x4db546(0x17b))/0x5+-parseInt(_0x4db546(0x174))/0x6*(-parseInt(_0x4db546(0x181))/0x7)+-parseInt(_0x4db546(0x176))/0x8*(-parseInt(_0x4db546(0x182))/0x9)+-parseInt(_0x4db546(0x184))/0xa*(-parseInt(_0x4db546(0x171))/0xb)+-parseInt(_0x4db546(0x183))/0xc;if(_0xa3b600===_0x4c9fff)break;else _0x1288d4['push'](_0x1288d4['shift']());}catch(_0x2344ff){_0x1288d4['push'](_0x1288d4['shift']());}}}(a254_0x4f16,0x9c773));import{listCurrentUserTenantMemberships,listTenantDirectoryMembers}from'../../core/api-client.js';function a254_0x3098(_0x36bb26,_0x1fe11c){_0x36bb26=_0x36bb26-0x16f;const _0x4f161c=a254_0x4f16();let _0x3098ac=_0x4f161c[_0x36bb26];return _0x3098ac;}function a254_0x4f16(){const _0x437f15=['List\x20members\x20of\x20a\x20tenant\x20available\x20to\x20the\x20current\x20account','60882WGxdbM','flagMissing','8aDNxhr','trim','tenant-code','2oiNske','str','2313905ltnSsi','tenant','members-list','length','Found\x20','\x20tenant\x20member(s)','462zTfcKV','10041795odUwNw','15316032BWJRqP','140VaPJCx','read','815092qmQCOL','string','15CkdOVU','1019908jVVkaP','105875NOHwjJ','Pass\x20--tenant-code\x20<code>.'];a254_0x4f16=function(){return _0x437f15;};return a254_0x4f16();}import{CliErrors}from'../../errors.js';import{assertTenantAccessible,projectTenantMembers}from'../../commands/tenant/shared.js';export const tenantMembersListDefinition={'service':a254_0x93d997(0x17c),'command':a254_0x93d997(0x17d),'description':a254_0x93d997(0x173),'risk':a254_0x93d997(0x185),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':'tenant-code','type':a254_0x93d997(0x187),'required':!![],'description':'Exact\x20tenant\x20code'}],async 'validate'(_0x2c88ee){const _0x5962bd=a254_0x93d997;if(!_0x2c88ee[_0x5962bd(0x17a)]('tenant-code')[_0x5962bd(0x177)]())throw CliErrors[_0x5962bd(0x175)]('tenant-code',_0x5962bd(0x172));},async 'execute'(_0x2d0450){const _0x1d4897=a254_0x93d997,_0x55842c=_0x2d0450['str'](_0x1d4897(0x178))['trim'](),_0x4ada18=await listCurrentUserTenantMemberships();assertTenantAccessible(_0x55842c,_0x4ada18);const _0x2696e6=projectTenantMembers(await listTenantDirectoryMembers(_0x55842c));return{'ok':!![],'data':{'tenantCode':_0x55842c,'items':_0x2696e6,'totalCount':_0x2696e6[_0x1d4897(0x17e)]},'message':_0x1d4897(0x17f)+_0x2696e6[_0x1d4897(0x17e)]+_0x1d4897(0x180)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x45690,_0x5e8f7b){const _0x100916=a255_0x2540,_0x42cea4=_0x45690();while(!![]){try{const _0x45d775=-parseInt(_0x100916(0x11a))/0x1+-parseInt(_0x100916(0x11c))/0x2*(-parseInt(_0x100916(0x115))/0x3)+parseInt(_0x100916(0x110))/0x4*(-parseInt(_0x100916(0x120))/0x5)+parseInt(_0x100916(0x10f))/0x6*(-parseInt(_0x100916(0x11b))/0x7)+-parseInt(_0x100916(0x10b))/0x8*(parseInt(_0x100916(0x11f))/0x9)+parseInt(_0x100916(0x113))/0xa*(-parseInt(_0x100916(0x112))/0xb)+parseInt(_0x100916(0x121))/0xc;if(_0x45d775===_0x5e8f7b)break;else _0x42cea4['push'](_0x42cea4['shift']());}catch(_0x47e58b){_0x42cea4['push'](_0x42cea4['shift']());}}}(a255_0xe853,0x50a11));function a255_0x2540(_0x299206,_0x30a8f0){_0x299206=_0x299206-0x109;const _0xe8537e=a255_0xe853();let _0x2540ac=_0xe8537e[_0x299206];return _0x2540ac;}import{CliErrors}from'../../errors.js';function textOrNull(_0x4cb4c5){const _0x3de176=a255_0x2540,_0x1e15d5=_0x4cb4c5?.[_0x3de176(0x123)]();return _0x1e15d5?_0x1e15d5:null;}export function projectTenantMembers(_0x4a4f2b){const _0x4215a3=a255_0x2540,_0x495b73=new Map();for(const _0x2f922e of _0x4a4f2b){const _0x315599=Number(_0x2f922e[_0x4215a3(0x119)]);if(!Number['isFinite'](_0x315599)||_0x315599<=0x0)continue;const _0x5b7192={'userId':_0x315599,'username':textOrNull(_0x2f922e[_0x4215a3(0x122)]),'displayName':textOrNull(_0x2f922e[_0x4215a3(0x10a)]),'role':_0x2f922e[_0x4215a3(0x114)]===!![]?_0x4215a3(0x116):_0x4215a3(0x118),'status':textOrNull(_0x2f922e[_0x4215a3(0x109)])},_0x1aff23=_0x495b73['get'](_0x315599);if(!_0x1aff23){_0x495b73[_0x4215a3(0x11d)](_0x315599,_0x5b7192);continue;}_0x1aff23[_0x4215a3(0x122)]??=_0x5b7192[_0x4215a3(0x122)],_0x1aff23[_0x4215a3(0x117)]??=_0x5b7192[_0x4215a3(0x117)],_0x1aff23['status']??=_0x5b7192[_0x4215a3(0x109)];if(_0x5b7192[_0x4215a3(0x10e)]===_0x4215a3(0x116))_0x1aff23[_0x4215a3(0x10e)]='ADMIN';}return[..._0x495b73[_0x4215a3(0x11e)]()]['sort']((_0x18d519,_0x2b59b9)=>_0x18d519[_0x4215a3(0x119)]-_0x2b59b9[_0x4215a3(0x119)]);}export function assertTenantAccessible(_0x155c7d,_0x2b370d){const _0x5a89e8=a255_0x2540;if(_0x2b370d['some'](_0x2f6554=>_0x2f6554[_0x5a89e8(0x10c)]===_0x155c7d))return;throw CliErrors['validation'](_0x5a89e8(0x111)+_0x155c7d+_0x5a89e8(0x10d),'Check\x20--tenant-code\x20or\x20login\x20with\x20an\x20account\x20that\x20belongs\x20to\x20this\x20tenant.');}function a255_0xe853(){const _0x2e5adb=['Tenant\x20\x22','34562iHskfq','460dWxFrk','adminFlag','171VjHnIl','ADMIN','displayName','MEMBER','userId','255994ZqPCJU','119wIZYMd','21042azsWTr','set','values','12258gwfgfA','15gYcema','11366136cZlELx','username','trim','status','nickname','528caqqos','tenantCode','\x22\x20is\x20not\x20available\x20to\x20the\x20current\x20account.','role','34044oxoCKl','839656biROxs'];a255_0xe853=function(){return _0x2e5adb;};return a255_0xe853();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a256_0x5beb(){const _0x219510=['user-account','5327136jPRdoj','--ding-talk-user-id\x20cannot\x20be\x20empty.','bind','20JLHgsu','dingtalk','str','POST','ding-talk-user-id','25552XRjDVK','string','1484bHwtTW','trim','apiError','Pass\x20the\x20DingTalk\x20user\x20id\x20returned\x20by\x20the\x20sandbox.','414072YbfKFt','914715nzjQvT','write','1325137BJOFDC','Bind\x20the\x20current\x20platform\x20user\x20to\x20a\x20DingTalk\x20sandbox\x20account','15oQMoWT','6509547prXata','130gtSUDE','277642QdmuED','DingTalk\x20sandbox\x20account\x20binding\x20was\x20not\x20confirmed.','validation','The\x20current\x20binding\x20is\x20not\x20exposed\x20by\x20the\x20server;\x20before\x20is\x20unavailable.'];a256_0x5beb=function(){return _0x219510;};return a256_0x5beb();}const a256_0x112aec=a256_0x1c7b;(function(_0x6f9f,_0x3979b1){const _0x25a6fd=a256_0x1c7b,_0x28c8ab=_0x6f9f();while(!![]){try{const _0x225ba1=-parseInt(_0x25a6fd(0xd3))/0x1+-parseInt(_0x25a6fd(0xdb))/0x2*(-parseInt(_0x25a6fd(0xd8))/0x3)+parseInt(_0x25a6fd(0xe3))/0x4*(parseInt(_0x25a6fd(0xd4))/0x5)+-parseInt(_0x25a6fd(0xe0))/0x6+parseInt(_0x25a6fd(0xcf))/0x7*(-parseInt(_0x25a6fd(0xcd))/0x8)+-parseInt(_0x25a6fd(0xd9))/0x9+parseInt(_0x25a6fd(0xda))/0xa*(parseInt(_0x25a6fd(0xd6))/0xb);if(_0x225ba1===_0x3979b1)break;else _0x28c8ab['push'](_0x28c8ab['shift']());}catch(_0x5e1660){_0x28c8ab['push'](_0x28c8ab['shift']());}}}(a256_0x5beb,0x735e8));import{asDryRunResult}from'../../commands/common/dry-run.js';import{bindDingTalkSandboxAccount,DING_TALK_SANDBOX_BIND_PATH}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';const PROVIDER_ID=a256_0x112aec(0xe4),CURRENT_BINDING_WARNING=a256_0x112aec(0xde);function readDingTalkUserId(_0x2cde6a){const _0x4726d3=a256_0x112aec,_0x2d4052=_0x2cde6a[_0x4726d3(0xe5)]('ding-talk-user-id')[_0x4726d3(0xd0)]();if(!_0x2d4052)throw CliErrors[_0x4726d3(0xdd)](_0x4726d3(0xe1),_0x4726d3(0xd2));return _0x2d4052;}function a256_0x1c7b(_0x576a1f,_0x536202){_0x576a1f=_0x576a1f-0xcc;const _0x5beb4c=a256_0x5beb();let _0x1c7b38=_0x5beb4c[_0x576a1f];return _0x1c7b38;}function buildBindingData(_0x5eabf7,_0x3f4c1a){const _0x29ed33=a256_0x112aec;return{'operation':_0x29ed33(0xe2),'selector':{'providerId':PROVIDER_ID,'dingTalkUserId':_0x5eabf7},'before':null,'after':{'providerId':PROVIDER_ID,'dingTalkUserId':_0x5eabf7,'bound':!![]},'dryRun':_0x3f4c1a,'backend':{'method':_0x29ed33(0xe6),'path':DING_TALK_SANDBOX_BIND_PATH},'warnings':[CURRENT_BINDING_WARNING]};}export const dingTalkSandboxBind={'service':a256_0x112aec(0xdf),'command':'dingding-sandbox-bind','description':a256_0x112aec(0xd7),'risk':a256_0x112aec(0xd5),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a256_0x112aec(0xcc),'type':a256_0x112aec(0xce),'required':!![],'description':'DingTalk\x20user\x20id\x20returned\x20by\x20the\x20sandbox'}],async 'validate'(_0x5aea98){readDingTalkUserId(_0x5aea98);},async 'dryRun'(_0x3a72a4){const _0x23a13b=a256_0x112aec,_0x360c97=readDingTalkUserId(_0x3a72a4);return asDryRunResult(buildBindingData(_0x360c97,!![]),{'method':_0x23a13b(0xe6),'url':DING_TALK_SANDBOX_BIND_PATH});},async 'execute'(_0x7ce3ee){const _0x42d6c0=a256_0x112aec,_0x4b4636=readDingTalkUserId(_0x7ce3ee),_0x2982af=await bindDingTalkSandboxAccount(_0x4b4636);if(_0x2982af!==!![])throw CliErrors[_0x42d6c0(0xd1)](_0x42d6c0(0xdc),'Retry\x20with\x20the\x20same\x20--ding-talk-user-id\x20only\x20after\x20checking\x20the\x20current\x20platform\x20session.');return{'ok':!![],'data':buildBindingData(_0x4b4636,![]),'message':'Bound\x20current\x20user\x20to\x20DingTalk\x20sandbox\x20account.'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a257_0x7b7cb8=a257_0x5c66;(function(_0x3d4945,_0x16ad14){const _0x16ddb2=a257_0x5c66,_0x2da6d9=_0x3d4945();while(!![]){try{const _0x1a689c=parseInt(_0x16ddb2(0x1e1))/0x1*(-parseInt(_0x16ddb2(0x1da))/0x2)+parseInt(_0x16ddb2(0x1d3))/0x3*(-parseInt(_0x16ddb2(0x1e0))/0x4)+parseInt(_0x16ddb2(0x1df))/0x5*(-parseInt(_0x16ddb2(0x1d9))/0x6)+parseInt(_0x16ddb2(0x1d2))/0x7*(-parseInt(_0x16ddb2(0x1cc))/0x8)+parseInt(_0x16ddb2(0x1e2))/0x9+parseInt(_0x16ddb2(0x1ce))/0xa+parseInt(_0x16ddb2(0x1ca))/0xb;if(_0x1a689c===_0x16ad14)break;else _0x2da6d9['push'](_0x2da6d9['shift']());}catch(_0x4838f8){_0x2da6d9['push'](_0x2da6d9['shift']());}}}(a257_0x193c,0x516ad));import{asDryRunResult}from'../../commands/common/dry-run.js';import{bindFeishuAccount,FEISHU_BIND_PATH}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a257_0x193c(){const _0x38f382=['4318340JfxckD','Bound\x20current\x20user\x20to\x20Feishu\x20account.','write','test','434PRonlc','433971STMZLa','Pass\x20a\x20Feishu\x20union\x20id\x20such\x20as\x20on_example_001.','user-account','Bind\x20the\x20current\x20platform\x20user\x20to\x20a\x20Feishu\x20account','str','validation','6Noddtz','2tYgeEf','feishu','string','Verify\x20the\x20current\x20binding\x20through\x20the\x20platform\x20before\x20explicitly\x20retrying;\x20do\x20not\x20automatically\x20retry.','POST','2927465CElNHB','4wjBAwq','221099oyDwHr','5923179CPtLIN','trim','7410227GjXOml','feishu-bind','61792HwnpQb','The\x20current\x20binding\x20is\x20not\x20exposed\x20by\x20the\x20server;\x20before\x20is\x20unavailable.'];a257_0x193c=function(){return _0x38f382;};return a257_0x193c();}function a257_0x5c66(_0x401229,_0x1d4d4b){_0x401229=_0x401229-0x1c9;const _0x193c3e=a257_0x193c();let _0x5c66a8=_0x193c3e[_0x401229];return _0x5c66a8;}const PROVIDER_ID=a257_0x7b7cb8(0x1db),CURRENT_BINDING_WARNING=a257_0x7b7cb8(0x1cd);function readUnionId(_0x414ff5){const _0x44b4b2=a257_0x7b7cb8,_0x2174ba=_0x414ff5[_0x44b4b2(0x1d7)]('union-id')[_0x44b4b2(0x1c9)]();if(!/^on_[A-Za-z0-9_-]+$/[_0x44b4b2(0x1d1)](_0x2174ba))throw CliErrors[_0x44b4b2(0x1d8)]('--union-id\x20must\x20match\x20on_\x20followed\x20by\x20letters,\x20digits,\x20underscores,\x20or\x20hyphens.',_0x44b4b2(0x1d4));return _0x2174ba;}function buildBindingData(_0x44621a,_0x1da121){const _0x2bf73b=a257_0x7b7cb8;return{'operation':'bind','selector':{'providerId':PROVIDER_ID,'unionId':_0x44621a},'before':null,'after':{'providerId':PROVIDER_ID,'unionId':_0x44621a,'bound':!![]},'dryRun':_0x1da121,'backend':{'method':_0x2bf73b(0x1de),'path':FEISHU_BIND_PATH},'warnings':[CURRENT_BINDING_WARNING]};}export const feishuBind={'service':a257_0x7b7cb8(0x1d5),'command':a257_0x7b7cb8(0x1cb),'description':a257_0x7b7cb8(0x1d6),'risk':a257_0x7b7cb8(0x1d0),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':'union-id','type':a257_0x7b7cb8(0x1dc),'required':!![],'description':'Feishu\x20union_id\x20for\x20the\x20configured\x20Feishu\x20application\x20developer'}],async 'validate'(_0x10a375){readUnionId(_0x10a375);},async 'dryRun'(_0x5eaac1){const _0x213e28=a257_0x7b7cb8,_0x2406ac=readUnionId(_0x5eaac1);return asDryRunResult(buildBindingData(_0x2406ac,!![]),{'method':_0x213e28(0x1de),'url':FEISHU_BIND_PATH});},async 'execute'(_0x1130f5){const _0x2550fc=a257_0x7b7cb8,_0x4e80c8=readUnionId(_0x1130f5),_0x1d3bcb=await bindFeishuAccount(_0x4e80c8);if(_0x1d3bcb!==!![])throw CliErrors['apiError']('Feishu\x20account\x20binding\x20was\x20not\x20confirmed.',_0x2550fc(0x1dd));return{'ok':!![],'data':buildBindingData(_0x4e80c8,![]),'message':_0x2550fc(0x1cf)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a258_0x4cd4(_0x293319,_0x3c7c9b){_0x293319=_0x293319-0x164;const _0x526b6b=a258_0x526b();let _0x4cd44c=_0x526b6b[_0x293319];return _0x4cd44c;}(function(_0x5e05d7,_0x3d9a0f){const _0x536402=a258_0x4cd4,_0x229ff5=_0x5e05d7();while(!![]){try{const _0x562232=-parseInt(_0x536402(0x16e))/0x1*(parseInt(_0x536402(0x16f))/0x2)+parseInt(_0x536402(0x166))/0x3+-parseInt(_0x536402(0x16b))/0x4*(parseInt(_0x536402(0x168))/0x5)+parseInt(_0x536402(0x169))/0x6*(-parseInt(_0x536402(0x165))/0x7)+-parseInt(_0x536402(0x16a))/0x8+parseInt(_0x536402(0x16c))/0x9*(parseInt(_0x536402(0x16d))/0xa)+parseInt(_0x536402(0x164))/0xb*(parseInt(_0x536402(0x167))/0xc);if(_0x562232===_0x3d9a0f)break;else _0x229ff5['push'](_0x229ff5['shift']());}catch(_0x915a02){_0x229ff5['push'](_0x229ff5['shift']());}}}(a258_0x526b,0xf248e));import{dingTalkSandboxBind}from'../../commands/user-account/dingding-sandbox-bind.js';import{feishuBind}from'../../commands/user-account/feishu-bind.js';export const userAccountDefinitions=[dingTalkSandboxBind,feishuBind];function a258_0x526b(){const _0x50f709=['1604064RScJWY','12KbPqen','9896275Fauhmh','252aygTKw','3759552DXgzfK','4cBoXAc','27lvNJqy','3133010GZNBtf','1268405hVWwzF','2VcRoBq','53973425oGiCMB','278544uHkSjV'];a258_0x526b=function(){return _0x50f709;};return a258_0x526b();}
|