@lovrabet/rabetbase-cli 2.5.2-beta.6 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.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/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/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/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/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/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/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/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/service.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/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/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/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/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.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/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.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/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 +1 -1
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a204_0x540963=a204_0xab91;(function(_0xef1f1d,_0x3b212a){const _0x4a5e91=a204_0xab91,_0x52c6ed=_0xef1f1d();while(!![]){try{const _0x5a0809=parseInt(_0x4a5e91(0x79))/0x1+-parseInt(_0x4a5e91(0x94))/0x2*(-parseInt(_0x4a5e91(0x9d))/0x3)+parseInt(_0x4a5e91(0xa5))/0x4*(-parseInt(_0x4a5e91(0x8e))/0x5)+parseInt(_0x4a5e91(0xaa))/0x6*(-parseInt(_0x4a5e91(0x7d))/0x7)+parseInt(_0x4a5e91(0x9e))/0x8+-parseInt(_0x4a5e91(0x8d))/0x9*(-parseInt(_0x4a5e91(0x9a))/0xa)+-parseInt(_0x4a5e91(0x83))/0xb;if(_0x5a0809===_0x3b212a)break;else _0x52c6ed['push'](_0x52c6ed['shift']());}catch(_0x4b80e5){_0x52c6ed['push'](_0x52c6ed['shift']());}}}(a204_0x4a9c,0x56740));import{readFileSync,existsSync}from'node:fs';function a204_0xab91(_0x49b0d0,_0x540329){_0x49b0d0=_0x49b0d0-0x76;const _0x4a9c69=a204_0x4a9c();let _0xab9139=_0x4a9c69[_0x49b0d0];return _0xab9139;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a204_0x540963(0x89),a204_0x540963(0xa6)]),DOMAIN_ROUTING_SYNC_SCRIPTS=new Set(['start',a204_0x540963(0xa6),a204_0x540963(0x8b),a204_0x540963(0x7e)]);export function syncProjectDomainRoutingBeforeScript(_0x4e999f,_0x4107a3){const _0x3d6d00=a204_0x540963;if(!DOMAIN_ROUTING_SYNC_SCRIPTS[_0x3d6d00(0x96)](_0x4107a3))return null;const _0x273a01=findProjectRootDirectory(_0x4e999f);if(!resolveConfigPath(_0x273a01))return null;const _0x147261=writeProjectDomainRoutingManifest(_0x273a01);return{'path':_0x147261[_0x3d6d00(0xb9)],'changed':_0x147261[_0x3d6d00(0x99)]};}function readPackageScripts(_0x49d43a){const _0x4ea66e=a204_0x540963,_0x5d9ab8=resolve(_0x49d43a,_0x4ea66e(0xb3));if(!existsSync(_0x5d9ab8))return null;try{const _0x1b56a6=JSON['parse'](readFileSync(_0x5d9ab8,_0x4ea66e(0xad)));return _0x1b56a6[_0x4ea66e(0x76)]??{};}catch{return null;}}function detectPackageManager(_0x5dd17d){const _0x481571=a204_0x540963;if(existsSync(resolve(_0x5dd17d,_0x481571(0xae)))||existsSync(resolve(_0x5dd17d,_0x481571(0x88))))return _0x481571(0x77);if(existsSync(resolve(_0x5dd17d,_0x481571(0xaf))))return _0x481571(0x91);if(existsSync(resolve(_0x5dd17d,'yarn.lock')))return'yarn';return'npm';}async function versionCheck(_0x59260c){const _0x5c70da=a204_0x540963,_0x157839=await checkCliVersion();(_0x157839[_0x5c70da(0x97)]||_0x157839[_0x5c70da(0xa7)])&&(printCliUpgradeWarning(_0x157839),assertCliVersionSupported(_0x157839));const _0x5373f7=await checkSdkVersion(_0x59260c);if(_0x5373f7['needsUpgrade'])printSdkUpgradeWarning(_0x5373f7);}function spawnScript(_0x218aee,_0x31cec8,_0x2dcf02,_0x2e8fa5){return new Promise((_0x54199e,_0x160e54)=>{const _0xba4776=a204_0xab91,_0x485727=[_0xba4776(0x95),_0x31cec8,..._0x2dcf02],_0x4a3b24=spawn(_0x218aee,_0x485727,{'cwd':_0x2e8fa5,'stdio':_0xba4776(0xb6),'shell':!![],'env':{...process.env,'PATH':''+join(_0x2e8fa5,_0xba4776(0xb4),'.bin')+delimiter+process.env.PATH}});_0x4a3b24['on'](_0xba4776(0xb2),_0x4766e5=>{const _0x318f4d=_0xba4776;if(_0x4766e5===0x0||_0x4766e5===null)_0x54199e();else _0x160e54(new Error(_0x218aee+_0x318f4d(0x9c)+_0x31cec8+_0x318f4d(0xb0)+_0x4766e5));}),_0x4a3b24['on']('error',_0x160e54);});}function spawnViteBuildWatch(_0xc393fe){return new Promise((_0x468ea9,_0x2028de)=>{const _0x30409d=a204_0xab91,_0x2d829a=spawn(_0x30409d(0x7f),[_0x30409d(0x8b),_0x30409d(0x90)],{'cwd':_0xc393fe,'stdio':_0x30409d(0xb6),'shell':!![],'env':{...process.env,'PATH':''+join(_0xc393fe,'node_modules',_0x30409d(0x9f))+delimiter+process.env.PATH}});_0x2d829a['on'](_0x30409d(0xb2),_0x17c462=>{if(_0x17c462===0x0||_0x17c462===null)_0x468ea9();else _0x2028de(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x17c462));}),_0x2d829a['on']('error',_0x2028de);});}function a204_0x4a9c(){const _0x28fa18=['validation','3609puOxZu','10Zhioyl','Script\x20\x22','--watch','pnpm','boolean','error','953222qfBZVH','run','has','needsUpgrade','No\x20scripts\x20defined\x20in\x20package.json.','changed','13980ILPQSw','cwd','\x20run\x20','3BCcTdv','5437696UjPtVe','.bin','log','vite\x20preview\x20exited\x20with\x20code\x20','Domain\x20routing\x20synchronized:\x20','watch','push','82308cqVJJz','dev','belowMinimum','\x22\x20not\x20found\x20in\x20package.json.','all','1104Bzgebx','\x20run\x20preview\x20--watch','\x20\x20\x20\x20','utf-8','bun.lockb','pnpm-lock.yaml','\x20exited\x20with\x20code\x20','length','close','package.json','node_modules','write','inherit','No\x20package.json\x20found\x20in\x20current\x20directory.','Script\x20name\x20defined\x20in\x20package.json','path','scripts','bun','\x20\x20EXAMPLES','475775dnbBNJ','\x20run\x20start','\x0a\x20\x20Available\x20scripts:\x0a','\x20run\x20preview','4844VxvRSE','preview','vite','(none)','script','bool','18371122tAChfs','args','slice','join','Enable\x20watch\x20mode\x20for\x20preview','bun.lock','start','keys','build'];a204_0x4a9c=function(){return _0x28fa18;};return a204_0x4a9c();}function spawnVitePreview(_0x4ea746){return new Promise((_0x47bfd4,_0x22ab4c)=>{const _0x2cd0b5=a204_0xab91,_0xc0d0fc=spawn(_0x2cd0b5(0x7f),[_0x2cd0b5(0x7e)],{'cwd':_0x4ea746,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x4ea746,_0x2cd0b5(0xb4),'.bin')+delimiter+process.env.PATH}});_0xc0d0fc['on']('close',_0x3856ee=>{const _0x43dd43=_0x2cd0b5;if(_0x3856ee===0x0||_0x3856ee===null)_0x47bfd4();else _0x22ab4c(new Error(_0x43dd43(0xa1)+_0x3856ee));}),_0xc0d0fc['on'](_0x2cd0b5(0x93),_0x22ab4c);});}const runFlags=[{'name':a204_0x540963(0xa3),'type':a204_0x540963(0x92),'description':a204_0x540963(0x87),'default':![]}];export const runDefinition={'service':'run','command':a204_0x540963(0x95),'description':'Run\x20a\x20package.json\x20script','risk':a204_0x540963(0xb5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a204_0x540963(0x81),'description':a204_0x540963(0xb8),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5be92c=a204_0x540963,_0x22ead8=[];return _0x22ead8[_0x5be92c(0xa4)](_0x5be92c(0x78)),_0x22ead8[_0x5be92c(0xa4)](_0x5be92c(0xac)+CLI_BIN_NAME+_0x5be92c(0x7a)),_0x22ead8['push'](_0x5be92c(0xac)+CLI_BIN_NAME+'\x20run\x20build'),_0x22ead8[_0x5be92c(0xa4)](_0x5be92c(0xac)+CLI_BIN_NAME+_0x5be92c(0x7c)),_0x22ead8[_0x5be92c(0xa4)](_0x5be92c(0xac)+CLI_BIN_NAME+_0x5be92c(0xab)),_0x22ead8[_0x5be92c(0x86)]('\x0a');},async 'execute'(_0x396885){const _0x2be0b3=a204_0x540963,_0x84a863=process[_0x2be0b3(0x9b)](),_0x5e0e79=_0x396885['args'][0x0],_0x5a7bb3=_0x396885[_0x2be0b3(0x84)][_0x2be0b3(0x85)](0x1),_0x1d02e9=readPackageScripts(_0x84a863);if(!_0x1d02e9)throw CliErrors[_0x2be0b3(0x8c)](_0x2be0b3(0xb7));if(!_0x5e0e79){const _0x348d77=Object[_0x2be0b3(0x8a)](_0x1d02e9);if(_0x348d77[_0x2be0b3(0xb1)]===0x0)console[_0x2be0b3(0xa0)](_0x2be0b3(0x98));else{console[_0x2be0b3(0xa0)](_0x2be0b3(0x7b));for(const _0xf2e704 of _0x348d77){console[_0x2be0b3(0xa0)](_0x2be0b3(0xac)+_0xf2e704);}console['log']('\x0a\x20\x20Usage:\x20'+CLI_BIN_NAME+'\x20run\x20<script>\x0a');}return{'ok':!![]};}if(!_0x1d02e9[_0x5e0e79])throw CliErrors[_0x2be0b3(0x8c)](_0x2be0b3(0x8f)+_0x5e0e79+_0x2be0b3(0xa8),'Available:\x20'+(Object[_0x2be0b3(0x8a)](_0x1d02e9)[_0x2be0b3(0x86)](',\x20')||_0x2be0b3(0x80)));const _0x54b48f=detectPackageManager(_0x84a863),_0x293095=syncProjectDomainRoutingBeforeScript(_0x84a863,_0x5e0e79);_0x293095?.[_0x2be0b3(0x99)]&&console[_0x2be0b3(0x93)](_0x2be0b3(0xa2)+_0x293095[_0x2be0b3(0xb9)]);VERSION_CHECK_SCRIPTS['has'](_0x5e0e79)&&await versionCheck(_0x84a863);if(_0x5e0e79===_0x2be0b3(0x7e)&&_0x396885[_0x2be0b3(0x82)]('watch'))return await Promise[_0x2be0b3(0xa9)]([spawnViteBuildWatch(_0x84a863),spawnVitePreview(_0x84a863)]),{'ok':!![]};return await spawnScript(_0x54b48f,_0x5e0e79,_0x5a7bb3,_0x84a863),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a205_0x2f3c79=a205_0x219f;function a205_0x219f(_0x5b4e82,_0x2f5ab9){_0x5b4e82=_0x5b4e82-0x109;const _0x56568f=a205_0x5656();let _0x219f89=_0x56568f[_0x5b4e82];return _0x219f89;}function a205_0x5656(){const _0x14fed5=['9163520CNtwTV','15YTOwCy','9403471RACogE','schema','436116PuLWcj','1422850UROebp','30vpghyF','945320EleTBW','18KnFLMb','240420GRFjde','export','2248821Jzrlyj'];a205_0x5656=function(){return _0x14fed5;};return a205_0x5656();}(function(_0x3b6b0a,_0x5f1a8f){const _0x50ac25=a205_0x219f,_0x5784a0=_0x3b6b0a();while(!![]){try{const _0xc06fac=-parseInt(_0x50ac25(0x10d))/0x1+-parseInt(_0x50ac25(0x112))/0x2+parseInt(_0x50ac25(0x10a))/0x3*(parseInt(_0x50ac25(0x110))/0x4)+-parseInt(_0x50ac25(0x10e))/0x5*(parseInt(_0x50ac25(0x111))/0x6)+parseInt(_0x50ac25(0x10b))/0x7+-parseInt(_0x50ac25(0x109))/0x8+parseInt(_0x50ac25(0x114))/0x9*(parseInt(_0x50ac25(0x10f))/0xa);if(_0xc06fac===_0x5f1a8f)break;else _0x5784a0['push'](_0x5784a0['shift']());}catch(_0x519961){_0x5784a0['push'](_0x5784a0['shift']());}}}(a205_0x5656,0xaf91e));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x3b24b1){const _0x25a614=await buildSchemaPayload();return{'ok':!![],'data':_0x25a614};}export const schemaDefinition={'service':a205_0x2f3c79(0x10c),'command':a205_0x2f3c79(0x113),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a206_0x3b5acd=a206_0x51f1;(function(_0xa4ed45,_0x3b61d1){const _0x16f920=a206_0x51f1,_0x23e4cd=_0xa4ed45();while(!![]){try{const _0x3199b4=-parseInt(_0x16f920(0x1ee))/0x1+parseInt(_0x16f920(0x1e3))/0x2*(parseInt(_0x16f920(0x1e0))/0x3)+parseInt(_0x16f920(0x1d9))/0x4+-parseInt(_0x16f920(0x1fa))/0x5*(-parseInt(_0x16f920(0x1f4))/0x6)+-parseInt(_0x16f920(0x205))/0x7+-parseInt(_0x16f920(0x1ca))/0x8+parseInt(_0x16f920(0x202))/0x9*(parseInt(_0x16f920(0x1cb))/0xa);if(_0x3199b4===_0x3b61d1)break;else _0x23e4cd['push'](_0x23e4cd['shift']());}catch(_0x5d7a69){_0x23e4cd['push'](_0x23e4cd['shift']());}}}(a206_0x393c,0xeb5f2));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a206_0x393c(){const _0x56d6df=['isFinite','new','join','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','dbId','__manual__','2422704Lncoqv','78010vOnUcu','toISOString','nonInteractive','MyBatis\x20XML\x20(mybatisXml)','db-id','name','✎\x20Enter\x20dbId\x20manually','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','Created\x20SQL\x20query\x20','dbName','For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly','\x20\x20SELECT\x201\x20AS\x20id','string','/smartapi/custom/saveUserCustomSql','938272RTepLB','flag','sqlCode','sqlRoot','mybatisXml','catch','Local\x20SQL\x20file\x20mode','3UTokSQ','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','stringify','2639718EWHmma','</select>','utf8','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','Plain\x20SQL\x20(sql)','Invalid\x20database\x20selection\x20payload:\x20','flagMissing','length','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','dbId\x20must\x20be\x20a\x20positive\x20integer','lastSync','1356538hrauYD','number','isInteger','POST','create','Target\x20database\x20ID','6TIRsHL','lockFilePath','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','parse','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Target\x20database\x20dbId:','8774770iXMdAJ','write','sqlName','trim','SELECT\x201\x20AS\x20id;','str','appCode','mode','27wNxLPQ','sqlRootDir','sql','4965282HBxyZs'];a206_0x393c=function(){return _0x56d6df;};return a206_0x393c();}import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x541e56){const _0x5aa9d6=a206_0x51f1;if(_0x541e56===_0x5aa9d6(0x1dd))return[_0x5aa9d6(0x1eb),_0x5aa9d6(0x1d6),_0x5aa9d6(0x1e4),''][_0x5aa9d6(0x1c6)]('\x0a');return[_0x5aa9d6(0x1fe),''][_0x5aa9d6(0x1c6)]('\x0a');}export const sqlCreate={'service':a206_0x3b5acd(0x204),'command':a206_0x3b5acd(0x1f2),'description':a206_0x3b5acd(0x1e6),'risk':a206_0x3b5acd(0x1fb),'flags':[{'name':a206_0x3b5acd(0x1d0),'type':a206_0x3b5acd(0x1d7),'description':'SQL\x20query\x20display\x20name'},{'name':'db-id','type':a206_0x3b5acd(0x1ef),'description':a206_0x3b5acd(0x1f3)},{'name':a206_0x3b5acd(0x201),'type':a206_0x3b5acd(0x1d7),'enum':['sql',a206_0x3b5acd(0x1dd)],'description':a206_0x3b5acd(0x1df)}],async 'validate'(_0xafcc1e){const _0x205fe0=a206_0x3b5acd;if(!_0xafcc1e[_0x205fe0(0x1cd)])return;if(!_0xafcc1e[_0x205fe0(0x1ff)]('name')[_0x205fe0(0x1fd)]())throw CliErrors[_0x205fe0(0x1e9)]('name',_0x205fe0(0x1f6));const _0x56fa90=resolveProvidedDbId(_0xafcc1e);if(typeof _0x56fa90!=='number'||!Number[_0x205fe0(0x206)](_0x56fa90)||_0x56fa90<=0x0)throw CliErrors[_0x205fe0(0x1e9)](_0x205fe0(0x1cf),_0x205fe0(0x1c7));if(!_0xafcc1e[_0x205fe0(0x1ff)](_0x205fe0(0x201))[_0x205fe0(0x1fd)]())throw CliErrors[_0x205fe0(0x1e9)](_0x205fe0(0x201),_0x205fe0(0x1f8));},async 'dryRun'(_0x3894fe){const _0x2f1279=a206_0x3b5acd,_0x4a6812=loadSqlProjectConfig(_0x3894fe[_0x2f1279(0x200)]),{sqlName:_0x371016,dbId:_0x4027fe,dbName:_0x1dda87,mode:_0x59f058}=await resolveSqlNewInputs(_0x3894fe),_0x47bf60=buildSqlRelativePath('<server-generated-sqlCode>',_0x371016,_0x1dda87,_0x59f058,_0x4027fe),_0x113ea1=_0x4a6812['sqlRootDir']+'/'+_0x47bf60;return{'method':_0x2f1279(0x1f1),'url':_0x2f1279(0x1d8),'body':{'appCode':_0x3894fe['appCode'],'sqlName':_0x371016,'dbId':_0x4027fe,'mode':_0x59f058,'localPath':_0x113ea1},'description':_0x2f1279(0x1d2)+_0x4a6812[_0x2f1279(0x203)]};},async 'execute'(_0x6e5766){const _0x14343d=a206_0x3b5acd,_0x484d41=loadSqlProjectConfig(_0x6e5766[_0x14343d(0x200)]),{sqlName:_0x4ec1ef,dbId:_0x4a2111,dbName:_0x2c7388,mode:_0x393f57}=await resolveSqlNewInputs(_0x6e5766),_0x46d2a3=generateSqlTemplate(_0x393f57),_0x544856=await createSqlQuery({'appCode':_0x6e5766[_0x14343d(0x200)],'sqlName':_0x4ec1ef,'dbId':_0x4a2111,'sqlContent':_0x46d2a3}),_0x1afa69=ensureRemoteSqlContent(_0x544856),_0x5ed9f7=_0x2c7388||await getDbName(_0x6e5766[_0x14343d(0x200)],_0x4a2111)['catch'](()=>undefined),_0x1da398=buildSqlRelativePath(_0x544856[_0x14343d(0x1db)],_0x544856[_0x14343d(0x1fc)],_0x5ed9f7,_0x393f57,_0x4a2111),_0x455e00=_0x484d41['sqlRootDir']+'/'+_0x1da398,_0xf0b2d=buildLocalSqlFileContent({'sqlCode':_0x544856[_0x14343d(0x1db)],'sqlName':_0x544856['sqlName'],'dbId':_0x544856[_0x14343d(0x1c8)]},_0x1afa69,{'dbName':_0x5ed9f7,'mode':_0x393f57,'syncedAt':new Date()[_0x14343d(0x1cc)](),'description':_0x544856['description']});if(await fileExists(_0x455e00))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x455e00);await ensureParentDirectory(_0x455e00),await writeFile(_0x455e00,_0xf0b2d,_0x14343d(0x1e5));const _0x1f6e0a=await readSqlLockFile(_0x484d41['lockFilePath']),{lockData:_0x3a424d,appLock:_0x40f72e}=ensureSqlLockScope(_0x1f6e0a??createEmptySqlLock(),_0x484d41[_0x14343d(0x200)],_0x484d41[_0x14343d(0x1dc)],_0x14343d(0x1c5));return _0x40f72e['sqls'][_0x544856['sqlCode']]={...buildSqlLockEntry(_0x544856,_0x1afa69,computeSqlContentHash(_0xf0b2d),{'dbName':_0x5ed9f7}),'path':_0x1da398,'mode':_0x393f57},_0x40f72e[_0x14343d(0x1ed)]=new Date()[_0x14343d(0x1cc)](),await writeSqlLockFile(_0x484d41[_0x14343d(0x1f5)],_0x3a424d),{'ok':!![],'data':{'id':_0x544856['id'],'sqlCode':_0x544856[_0x14343d(0x1db)],'sqlName':_0x544856['sqlName'],'dbId':_0x544856[_0x14343d(0x1c8)],'path':_0x455e00,'mode':_0x393f57},'message':_0x14343d(0x1d3)+_0x544856[_0x14343d(0x1db)]};}};function a206_0x51f1(_0x317c5b,_0x2957c3){_0x317c5b=_0x317c5b-0x1c5;const _0x393c6b=a206_0x393c();let _0x51f1d2=_0x393c6b[_0x317c5b];return _0x51f1d2;}async function resolveSqlNewInputs(_0x36a04e){const _0xdeb84a=await resolveSqlNameInput(_0x36a04e),{dbId:_0x5aae86,dbName:_0x4dd7f5}=await resolveDbSelection(_0x36a04e),_0x90c80e=await resolveSqlModeInput(_0x36a04e);return{'sqlName':_0xdeb84a,'dbId':_0x5aae86,'dbName':_0x4dd7f5,'mode':_0x90c80e};}async function resolveSqlNameInput(_0x42e0df){const _0x33c42b=a206_0x3b5acd,_0x3e4310=_0x42e0df[_0x33c42b(0x1ff)]('name')[_0x33c42b(0x1fd)]();if(_0x3e4310)return _0x3e4310;if(_0x42e0df['nonInteractive'])throw CliErrors['flagMissing'](_0x33c42b(0x1d0),_0x33c42b(0x1f6));return(await input({'message':'SQL\x20name:','validate':_0x25873f=>_0x25873f[_0x33c42b(0x1fd)]()?!![]:'SQL\x20name\x20cannot\x20be\x20empty'}))[_0x33c42b(0x1fd)]();}async function resolveDbSelection(_0x54c3cf){const _0x3df480=a206_0x3b5acd,_0x5415bc=resolveProvidedDbId(_0x54c3cf);if(typeof _0x5415bc===_0x3df480(0x1ef)&&Number[_0x3df480(0x206)](_0x5415bc)&&_0x5415bc>0x0)return{'dbId':_0x5415bc,'dbName':await getDbName(_0x54c3cf[_0x3df480(0x200)],_0x5415bc)[_0x3df480(0x1de)](()=>undefined)};if(_0x54c3cf[_0x3df480(0x1cd)])throw CliErrors[_0x3df480(0x1e9)](_0x3df480(0x1cf),_0x3df480(0x1c7));const _0x146377=await listDatabases(_0x54c3cf['appCode'])['catch'](()=>[]);if(_0x146377[_0x3df480(0x1ea)]===0x1)return{'dbId':_0x146377[0x0]['dbId'],'dbName':_0x146377[0x0][_0x3df480(0x1d4)]};if(_0x146377[_0x3df480(0x1ea)]>0x1){const _0x47d243=await select({'message':'Select\x20the\x20target\x20database:','choices':[..._0x146377['map'](_0x4da806=>({'name':_0x4da806[_0x3df480(0x1d4)]+'\x20('+_0x4da806[_0x3df480(0x1c8)]+')','value':serializeDbSelection(_0x4da806)})),{'name':_0x3df480(0x1d1),'value':_0x3df480(0x1c9)}]});if(_0x47d243!==_0x3df480(0x1c9))return deserializeDbSelection(_0x47d243);}const _0x3066f2=await input({'message':_0x3df480(0x1f9),'validate':_0x12e6d5=>{const _0x5cc1d4=_0x3df480,_0x412836=_0x12e6d5[_0x5cc1d4(0x1fd)]();if(!_0x412836)return'dbId\x20cannot\x20be\x20empty';const _0x556731=Number(_0x412836);if(!Number[_0x5cc1d4(0x1f0)](_0x556731)||_0x556731<=0x0)return _0x5cc1d4(0x1ec);return!![];}});return{'dbId':Number(_0x3066f2[_0x3df480(0x1fd)]())};}async function resolveSqlModeInput(_0x302064){const _0x41b590=a206_0x3b5acd,_0x18740d=_0x302064[_0x41b590(0x1ff)](_0x41b590(0x201))[_0x41b590(0x1fd)]();if(_0x18740d===_0x41b590(0x204)||_0x18740d==='mybatisXml')return _0x18740d;if(_0x302064[_0x41b590(0x1cd)])throw CliErrors['flagMissing'](_0x41b590(0x201),_0x41b590(0x1f8));return await select({'message':'Select\x20the\x20local\x20SQL\x20mode:','choices':[{'name':_0x41b590(0x1e7),'value':_0x41b590(0x204),'description':_0x41b590(0x1d5)},{'name':_0x41b590(0x1ce),'value':_0x41b590(0x1dd),'description':_0x41b590(0x1e1)}]});}function serializeDbSelection(_0x3c0f74){const _0x32ea7f=a206_0x3b5acd;return JSON[_0x32ea7f(0x1e2)]({'dbId':_0x3c0f74[_0x32ea7f(0x1c8)],'dbName':_0x3c0f74[_0x32ea7f(0x1d4)]});}function deserializeDbSelection(_0x5e4fa7){const _0x112211=a206_0x3b5acd;try{const _0x519e19=JSON[_0x112211(0x1f7)](_0x5e4fa7);if(typeof _0x519e19[_0x112211(0x1c8)]===_0x112211(0x1ef)&&Number['isFinite'](_0x519e19[_0x112211(0x1c8)]))return{'dbId':_0x519e19[_0x112211(0x1c8)],'dbName':_0x519e19['dbName']};}catch{}throw CliErrors['validation'](_0x112211(0x1e8)+_0x5e4fa7);}function resolveProvidedDbId(_0x661188){const _0x200e82=a206_0x3b5acd,_0x497d8a=_0x661188[_0x200e82(0x1da)](_0x200e82(0x1cf));if(typeof _0x497d8a===_0x200e82(0x1ef)&&Number[_0x200e82(0x206)](_0x497d8a))return _0x497d8a;return undefined;}
|
|
1
|
+
const a206_0x1cf83b=a206_0x2785;(function(_0x17ed89,_0xc12730){const _0x1c7d0c=a206_0x2785,_0x274bb1=_0x17ed89();while(!![]){try{const _0x42261d=parseInt(_0x1c7d0c(0xb9))/0x1*(-parseInt(_0x1c7d0c(0x8b))/0x2)+parseInt(_0x1c7d0c(0xa5))/0x3*(parseInt(_0x1c7d0c(0xa0))/0x4)+-parseInt(_0x1c7d0c(0xbf))/0x5*(-parseInt(_0x1c7d0c(0xb5))/0x6)+-parseInt(_0x1c7d0c(0xb0))/0x7*(parseInt(_0x1c7d0c(0xa4))/0x8)+parseInt(_0x1c7d0c(0x82))/0x9+parseInt(_0x1c7d0c(0xb8))/0xa+parseInt(_0x1c7d0c(0x88))/0xb*(-parseInt(_0x1c7d0c(0x9a))/0xc);if(_0x42261d===_0xc12730)break;else _0x274bb1['push'](_0x274bb1['shift']());}catch(_0x319ab0){_0x274bb1['push'](_0x274bb1['shift']());}}}(a206_0xac97,0xc61cd));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a206_0x2785(_0x291cfd,_0x46d54f){_0x291cfd=_0x291cfd-0x82;const _0xac97a1=a206_0xac97();let _0x2785e6=_0xac97a1[_0x291cfd];return _0x2785e6;}import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function a206_0xac97(){const _0x114d4c=['SQL\x20name\x20cannot\x20be\x20empty','\x20\x20SELECT\x201\x20AS\x20id','string','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','isInteger','6223cmwTuL','toISOString','number','dbName','File\x20already\x20exists:\x20','209958JVKUjB','lastSync','utf8','10005940otdiCN','587464mnicGH','dbId\x20cannot\x20be\x20empty','sqlRootDir','For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly','str','sqlName','135gxBUzu','parse','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlCode','dbId','10835559ccIrYF','length','Target\x20database\x20dbId:','sqlRoot','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','/smartapi/custom/saveUserCustomSql','1117391SJnAar','flag','Plain\x20SQL\x20(sql)','2okYKAs','flagMissing','validation','trim','name','Select\x20the\x20target\x20database:','isFinite','catch','nonInteractive','mybatisXml','mode','appCode','Select\x20the\x20local\x20SQL\x20mode:','SELECT\x201\x20AS\x20id;','Created\x20SQL\x20query\x20','204pbQZMk','db-id','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','stringify','join','POST','334120oLEZoY','Invalid\x20database\x20selection\x20payload:\x20','create','Local\x20SQL\x20file\x20mode','9232hotoSY','36jqNiXY','</select>','sql','map','dbId\x20must\x20be\x20a\x20positive\x20integer','__manual__'];a206_0xac97=function(){return _0x114d4c;};return a206_0xac97();}function generateSqlTemplate(_0x3c4d60){const _0x1948fc=a206_0x2785;if(_0x3c4d60===_0x1948fc(0x94))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x1948fc(0xac),_0x1948fc(0xa6),''][_0x1948fc(0x9e)]('\x0a');return[_0x1948fc(0x98),''][_0x1948fc(0x9e)]('\x0a');}export const sqlCreate={'service':a206_0x1cf83b(0xa7),'command':a206_0x1cf83b(0xa2),'description':a206_0x1cf83b(0x9c),'risk':'write','flags':[{'name':a206_0x1cf83b(0x8f),'type':a206_0x1cf83b(0xad),'description':'SQL\x20query\x20display\x20name'},{'name':a206_0x1cf83b(0x9b),'type':a206_0x1cf83b(0xb2),'description':'Target\x20database\x20ID'},{'name':a206_0x1cf83b(0x95),'type':a206_0x1cf83b(0xad),'enum':[a206_0x1cf83b(0xa7),a206_0x1cf83b(0x94)],'description':a206_0x1cf83b(0xa3)}],async 'validate'(_0x6b9cc1){const _0x51025f=a206_0x1cf83b;if(!_0x6b9cc1[_0x51025f(0x93)])return;if(!_0x6b9cc1[_0x51025f(0xbd)](_0x51025f(0x8f))[_0x51025f(0x8e)]())throw CliErrors[_0x51025f(0x8c)](_0x51025f(0x8f),_0x51025f(0x86));const _0x1653fb=resolveProvidedDbId(_0x6b9cc1);if(typeof _0x1653fb!==_0x51025f(0xb2)||!Number[_0x51025f(0x91)](_0x1653fb)||_0x1653fb<=0x0)throw CliErrors[_0x51025f(0x8c)](_0x51025f(0x9b),_0x51025f(0xc1));if(!_0x6b9cc1[_0x51025f(0xbd)](_0x51025f(0x95))[_0x51025f(0x8e)]())throw CliErrors[_0x51025f(0x8c)](_0x51025f(0x95),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x57f7b0){const _0x2fa7d0=a206_0x1cf83b,_0x230aa7=loadSqlProjectConfig(_0x57f7b0[_0x2fa7d0(0x96)]),{sqlName:_0x5c94a5,dbId:_0x10b97b,dbName:_0x2ff289,mode:_0x2b8a35}=await resolveSqlNewInputs(_0x57f7b0),_0x240f76=buildSqlRelativePath('<server-generated-sqlCode>',_0x5c94a5,_0x2ff289,_0x2b8a35,_0x10b97b),_0x5f5d08=_0x230aa7[_0x2fa7d0(0xbb)]+'/'+_0x240f76;return{'method':_0x2fa7d0(0x9f),'url':_0x2fa7d0(0x87),'body':{'appCode':_0x57f7b0[_0x2fa7d0(0x96)],'sqlName':_0x5c94a5,'dbId':_0x10b97b,'mode':_0x2b8a35,'localPath':_0x5f5d08},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x230aa7[_0x2fa7d0(0xbb)]};},async 'execute'(_0x854fdd){const _0x59373f=a206_0x1cf83b,_0x5093a1=loadSqlProjectConfig(_0x854fdd[_0x59373f(0x96)]),{sqlName:_0x116725,dbId:_0x3c4cca,dbName:_0x15e635,mode:_0x393dee}=await resolveSqlNewInputs(_0x854fdd),_0x235b27=generateSqlTemplate(_0x393dee),_0x307192=await createSqlQuery({'appCode':_0x854fdd[_0x59373f(0x96)],'sqlName':_0x116725,'dbId':_0x3c4cca,'sqlContent':_0x235b27}),_0x180e6d=ensureRemoteSqlContent(_0x307192),_0x5e1d70=_0x15e635||await getDbName(_0x854fdd['appCode'],_0x3c4cca)[_0x59373f(0x92)](()=>undefined),_0x4bc693=buildSqlRelativePath(_0x307192['sqlCode'],_0x307192[_0x59373f(0xbe)],_0x5e1d70,_0x393dee,_0x3c4cca),_0x1945d2=_0x5093a1['sqlRootDir']+'/'+_0x4bc693,_0x3fa9bb=buildLocalSqlFileContent({'sqlCode':_0x307192['sqlCode'],'sqlName':_0x307192[_0x59373f(0xbe)],'dbId':_0x307192[_0x59373f(0xc3)]},_0x180e6d,{'dbName':_0x5e1d70,'mode':_0x393dee,'syncedAt':new Date()['toISOString'](),'description':_0x307192['description']});if(await fileExists(_0x1945d2))throw CliErrors[_0x59373f(0x8d)](_0x59373f(0xb4)+_0x1945d2);await ensureParentDirectory(_0x1945d2),await writeFile(_0x1945d2,_0x3fa9bb,_0x59373f(0xb7));const _0x13e06=await readSqlLockFile(_0x5093a1['lockFilePath']),{lockData:_0x498b90,appLock:_0x51a844}=ensureSqlLockScope(_0x13e06??createEmptySqlLock(),_0x5093a1[_0x59373f(0x96)],_0x5093a1[_0x59373f(0x85)],'new');return _0x51a844['sqls'][_0x307192[_0x59373f(0xc2)]]={...buildSqlLockEntry(_0x307192,_0x180e6d,computeSqlContentHash(_0x3fa9bb),{'dbName':_0x5e1d70}),'path':_0x4bc693,'mode':_0x393dee},_0x51a844[_0x59373f(0xb6)]=new Date()[_0x59373f(0xb1)](),await writeSqlLockFile(_0x5093a1['lockFilePath'],_0x498b90),{'ok':!![],'data':{'id':_0x307192['id'],'sqlCode':_0x307192[_0x59373f(0xc2)],'sqlName':_0x307192['sqlName'],'dbId':_0x307192[_0x59373f(0xc3)],'path':_0x1945d2,'mode':_0x393dee},'message':_0x59373f(0x99)+_0x307192[_0x59373f(0xc2)]};}};async function resolveSqlNewInputs(_0x59d710){const _0x3e4924=await resolveSqlNameInput(_0x59d710),{dbId:_0x3c29c1,dbName:_0x161e39}=await resolveDbSelection(_0x59d710),_0x113e21=await resolveSqlModeInput(_0x59d710);return{'sqlName':_0x3e4924,'dbId':_0x3c29c1,'dbName':_0x161e39,'mode':_0x113e21};}async function resolveSqlNameInput(_0x44de3f){const _0x3c7c10=a206_0x1cf83b,_0x2b777f=_0x44de3f[_0x3c7c10(0xbd)]('name')['trim']();if(_0x2b777f)return _0x2b777f;if(_0x44de3f[_0x3c7c10(0x93)])throw CliErrors[_0x3c7c10(0x8c)](_0x3c7c10(0x8f),_0x3c7c10(0x86));return(await input({'message':'SQL\x20name:','validate':_0xcb0d77=>_0xcb0d77[_0x3c7c10(0x8e)]()?!![]:_0x3c7c10(0xab)}))[_0x3c7c10(0x8e)]();}async function resolveDbSelection(_0x4afe76){const _0x4bc929=a206_0x1cf83b,_0xad18ba=resolveProvidedDbId(_0x4afe76);if(typeof _0xad18ba===_0x4bc929(0xb2)&&Number['isFinite'](_0xad18ba)&&_0xad18ba>0x0)return{'dbId':_0xad18ba,'dbName':await getDbName(_0x4afe76[_0x4bc929(0x96)],_0xad18ba)[_0x4bc929(0x92)](()=>undefined)};if(_0x4afe76[_0x4bc929(0x93)])throw CliErrors[_0x4bc929(0x8c)](_0x4bc929(0x9b),_0x4bc929(0xc1));const _0xa6ae1c=await listDatabases(_0x4afe76[_0x4bc929(0x96)])[_0x4bc929(0x92)](()=>[]);if(_0xa6ae1c['length']===0x1)return{'dbId':_0xa6ae1c[0x0]['dbId'],'dbName':_0xa6ae1c[0x0][_0x4bc929(0xb3)]};if(_0xa6ae1c[_0x4bc929(0x83)]>0x1){const _0xdd0523=await select({'message':_0x4bc929(0x90),'choices':[..._0xa6ae1c[_0x4bc929(0xa8)](_0x23526c=>({'name':_0x23526c['dbName']+'\x20('+_0x23526c[_0x4bc929(0xc3)]+')','value':serializeDbSelection(_0x23526c)})),{'name':'✎\x20Enter\x20dbId\x20manually','value':_0x4bc929(0xaa)}]});if(_0xdd0523!==_0x4bc929(0xaa))return deserializeDbSelection(_0xdd0523);}const _0x236079=await input({'message':_0x4bc929(0x84),'validate':_0x2af753=>{const _0x154ca0=_0x4bc929,_0x5ea6d9=_0x2af753[_0x154ca0(0x8e)]();if(!_0x5ea6d9)return _0x154ca0(0xba);const _0x314b24=Number(_0x5ea6d9);if(!Number[_0x154ca0(0xaf)](_0x314b24)||_0x314b24<=0x0)return _0x154ca0(0xa9);return!![];}});return{'dbId':Number(_0x236079[_0x4bc929(0x8e)]())};}async function resolveSqlModeInput(_0x443e70){const _0x4acade=a206_0x1cf83b,_0x1d5223=_0x443e70[_0x4acade(0xbd)](_0x4acade(0x95))[_0x4acade(0x8e)]();if(_0x1d5223===_0x4acade(0xa7)||_0x1d5223===_0x4acade(0x94))return _0x1d5223;if(_0x443e70[_0x4acade(0x93)])throw CliErrors[_0x4acade(0x8c)](_0x4acade(0x95),_0x4acade(0xae));return await select({'message':_0x4acade(0x97),'choices':[{'name':_0x4acade(0x8a),'value':_0x4acade(0xa7),'description':_0x4acade(0xbc)},{'name':'MyBatis\x20XML\x20(mybatisXml)','value':_0x4acade(0x94),'description':'For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags'}]});}function serializeDbSelection(_0x3ea71){const _0x4c985a=a206_0x1cf83b;return JSON[_0x4c985a(0x9d)]({'dbId':_0x3ea71[_0x4c985a(0xc3)],'dbName':_0x3ea71[_0x4c985a(0xb3)]});}function deserializeDbSelection(_0x63e158){const _0x22d534=a206_0x1cf83b;try{const _0x3e2c16=JSON[_0x22d534(0xc0)](_0x63e158);if(typeof _0x3e2c16[_0x22d534(0xc3)]===_0x22d534(0xb2)&&Number['isFinite'](_0x3e2c16[_0x22d534(0xc3)]))return{'dbId':_0x3e2c16[_0x22d534(0xc3)],'dbName':_0x3e2c16['dbName']};}catch{}throw CliErrors['validation'](_0x22d534(0xa1)+_0x63e158);}function resolveProvidedDbId(_0x3ca68e){const _0x76087=a206_0x1cf83b,_0x5a26d2=_0x3ca68e[_0x76087(0x89)](_0x76087(0x9b));if(typeof _0x5a26d2===_0x76087(0xb2)&&Number['isFinite'](_0x5a26d2))return _0x5a26d2;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a207_0x18bdd4=a207_0x5c53;(function(_0x32b52a,_0xfb2514){const _0x2d4e88=a207_0x5c53,_0x30e67f=_0x32b52a();while(!![]){try{const _0x142381=-parseInt(_0x2d4e88(0x124))/0x1+-parseInt(_0x2d4e88(0x130))/0x2+parseInt(_0x2d4e88(0x113))/0x3+parseInt(_0x2d4e88(0x11d))/0x4*(parseInt(_0x2d4e88(0x114))/0x5)+parseInt(_0x2d4e88(0x11e))/0x6+-parseInt(_0x2d4e88(0x125))/0x7*(parseInt(_0x2d4e88(0x131))/0x8)+parseInt(_0x2d4e88(0x132))/0x9;if(_0x142381===_0xfb2514)break;else _0x30e67f['push'](_0x30e67f['shift']());}catch(_0x3fb2ee){_0x30e67f['push'](_0x30e67f['shift']());}}}(a207_0x4586,0x3a523));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';function a207_0x4586(){const _0x3d4cc9=['Deleted\x20','SQL\x20lock\x20file\x20not\x20found.','appCode','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','122084NEkwSn','325674ZhyuGk','sqlRootDir','remoteId','delete','/smartapi/custom/deleteUserCustomSql','sqlRoot','270033QhRrYj','735NvHiku','filter','Would\x20delete\x20SQL\x20','entries','trashDir','sqls','validation','str','length','fromEntries','\x20(local\x20file\x20moved\x20to\x20trash)','798836FBQnjn','21848NzxjVW','4971510cUvUkZ','POST','lockFilePath','1399008rhNjXq','20wPJkAo','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','sql','sqlcode','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'];a207_0x4586=function(){return _0x3d4cc9;};return a207_0x4586();}import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a207_0x5c53(_0x51b748,_0xbd3c0b){_0x51b748=_0x51b748-0x112;const _0x45863b=a207_0x4586();let _0x5c535c=_0x45863b[_0x51b748];return _0x5c535c;}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a207_0x18bdd4(0x116),'command':'delete','description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x10dcc2){const _0x25a8e4=a207_0x18bdd4,_0x43564f=loadSqlProjectConfig(_0x10dcc2[_0x25a8e4(0x11b)]),_0x1a6315=await readSqlLockFile(_0x43564f[_0x25a8e4(0x112)]);if(!_0x1a6315)throw CliErrors[_0x25a8e4(0x12b)](_0x25a8e4(0x115));},async 'dryRun'(_0x3c348b){const _0x24db65=a207_0x18bdd4,_0x4dca53=loadSqlProjectConfig(_0x3c348b[_0x24db65(0x11b)]),_0x44ffb5=await readSqlLockFile(_0x4dca53[_0x24db65(0x112)]);if(!_0x44ffb5)throw CliErrors[_0x24db65(0x12b)](_0x24db65(0x115));const {appLock:_0x54bf7a}=ensureSqlLockScope(_0x44ffb5,_0x3c348b[_0x24db65(0x11b)],_0x4dca53[_0x24db65(0x123)],_0x24db65(0x121)),_0x383e6a=_0x3c348b[_0x24db65(0x12c)](_0x24db65(0x117)),_0x33874c=_0x54bf7a[_0x24db65(0x12a)][_0x383e6a];if(!_0x33874c)throw CliErrors[_0x24db65(0x12b)](_0x24db65(0x118)+_0x383e6a+'\x22.');return{'method':_0x24db65(0x133),'url':_0x24db65(0x122),'body':{'sqlCode':_0x383e6a,'id':_0x33874c['remoteId'],'localPath':resolveLocalSqlFilePath(_0x4dca53,_0x383e6a,_0x33874c)},'description':_0x24db65(0x127)+_0x383e6a+_0x24db65(0x11c)+_0x4dca53[_0x24db65(0x129)]};},async 'execute'(_0x214393){const _0x1456a8=a207_0x18bdd4,_0x1d05a5=loadSqlProjectConfig(_0x214393[_0x1456a8(0x11b)]),_0x5b6708=await readSqlLockFile(_0x1d05a5[_0x1456a8(0x112)]);if(!_0x5b6708)throw CliErrors[_0x1456a8(0x12b)](_0x1456a8(0x11a));const {lockData:_0x4cf8a1,appLock:_0x2beec7}=ensureSqlLockScope(_0x5b6708,_0x214393['appCode'],_0x1d05a5[_0x1456a8(0x123)],'delete'),_0x3ddaac=_0x214393['str']('sqlcode'),_0x15b761=_0x2beec7['sqls'][_0x3ddaac];if(!_0x15b761)throw CliErrors[_0x1456a8(0x12b)](_0x1456a8(0x118)+_0x3ddaac+'\x22.');await deleteSqlQuery({'id':_0x15b761[_0x1456a8(0x120)],'sqlCode':_0x3ddaac}),_0x2beec7[_0x1456a8(0x12a)]=Object[_0x1456a8(0x12e)](Object[_0x1456a8(0x128)](_0x2beec7[_0x1456a8(0x12a)])[_0x1456a8(0x126)](([_0x5a1eb9])=>_0x5a1eb9!==_0x3ddaac)),_0x2beec7['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x1d05a5[_0x1456a8(0x112)],_0x4cf8a1);const _0x29d272=resolveLocalSqlFilePath(_0x1d05a5,_0x3ddaac,_0x15b761);let _0x146c14;await fileExists(_0x29d272)&&(_0x146c14=await moveToTrash(_0x1d05a5['projectRoot'],_0x1d05a5[_0x1456a8(0x129)],_0x29d272),await cleanupEmptyDirectories(dirname(_0x29d272),_0x1d05a5[_0x1456a8(0x11f)]));const _0x51af28={'deleted':_0x3ddaac,'remoteId':_0x15b761[_0x1456a8(0x120)]};if(_0x146c14)_0x51af28['trashedTo']=_0x146c14;return{'ok':!![],'data':_0x51af28,'message':_0x1456a8(0x119)+_0x3ddaac+(_0x146c14?_0x1456a8(0x12f):'')};}};async function moveToTrash(_0x5a0001,_0x58f1d0,_0xb3637e){const _0x10e623=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x19e184=relative(_0x5a0001,_0xb3637e),_0x376c59=join(_0x58f1d0,_0x10e623,_0x19e184);return await mkdir(dirname(_0x376c59),{'recursive':!![]}),await rename(_0xb3637e,_0x376c59),_0x376c59;}async function cleanupEmptyDirectories(_0x4722a2,_0x18f4ea){const _0x10a2f4=a207_0x18bdd4;let _0xf44302=resolve(_0x4722a2);const _0x37d6da=resolve(_0x18f4ea);while(_0xf44302['startsWith'](''+_0x37d6da+sep)||_0xf44302===_0x37d6da){if(_0xf44302===_0x37d6da)return;try{const _0x54da59=await readdir(_0xf44302);if(_0x54da59[_0x10a2f4(0x12d)]>0x0)return;await rmdir(_0xf44302);}catch{return;}_0xf44302=dirname(_0xf44302);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a208_0x46ad(_0x26be09,_0x2484c7){_0x26be09=_0x26be09-0x183;const _0x314156=a208_0x3141();let _0x46adb8=_0x314156[_0x26be09];return _0x46adb8;}const a208_0x331d7a=a208_0x46ad;function a208_0x3141(){const _0x2e941a=['803016IWcPbh','bool','read','12456704JdEXLR','sqlContent','Return\x20full\x20raw\x20SQL\x20query\x20object','verbose','dbId','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','sqlcode','5iiYRtw','sql','str','1634zxxQuf','1898532aDEUNL','sqlName','3134782GkQwos','boolean','description','130089VlxCba','267xuSBbu','appCode','191790twkHVO','1160bnmBmL'];a208_0x3141=function(){return _0x2e941a;};return a208_0x3141();}(function(_0x5bd633,_0x2701dd){const _0x2cffce=a208_0x46ad,_0x17dc91=_0x5bd633();while(!![]){try{const _0xe37fb5=parseInt(_0x2cffce(0x183))/0x1+parseInt(_0x2cffce(0x195))/0x2*(parseInt(_0x2cffce(0x184))/0x3)+-parseInt(_0x2cffce(0x188))/0x4+parseInt(_0x2cffce(0x192))/0x5*(parseInt(_0x2cffce(0x196))/0x6)+-parseInt(_0x2cffce(0x198))/0x7+-parseInt(_0x2cffce(0x18b))/0x8+parseInt(_0x2cffce(0x186))/0x9*(parseInt(_0x2cffce(0x187))/0xa);if(_0xe37fb5===_0x2701dd)break;else _0x17dc91['push'](_0x17dc91['shift']());}catch(_0x104e2b){_0x17dc91['push'](_0x17dc91['shift']());}}}(a208_0x3141,0xbfc6c));import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a208_0x331d7a(0x193),'command':'detail','description':a208_0x331d7a(0x190),'risk':a208_0x331d7a(0x18a),'flags':[SQLCODE_FLAG,{'name':a208_0x331d7a(0x18e),'type':a208_0x331d7a(0x199),'description':a208_0x331d7a(0x18d)}],async 'execute'(_0x554acc){const _0x2306c9=a208_0x331d7a,_0x888628=await getSqlQueryInfo(_0x554acc[_0x2306c9(0x185)],_0x554acc[_0x2306c9(0x194)](_0x2306c9(0x191))),_0x2d777a=_0x554acc[_0x2306c9(0x189)](_0x2306c9(0x18e));if(_0x2d777a)return{'ok':!![],'data':_0x888628};const _0x2cd9c4=_0x888628[_0x2306c9(0x18f)]?await getDbName(_0x554acc[_0x2306c9(0x185)],_0x888628['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x888628['sqlCode'],'sqlName':_0x888628[_0x2306c9(0x197)],'db':_0x2cd9c4?_0x2cd9c4+'\x20('+_0x888628[_0x2306c9(0x18f)]+')':_0x888628[_0x2306c9(0x18f)]??'','description':_0x888628[_0x2306c9(0x19a)]??'','sqlContent':_0x888628[_0x2306c9(0x18c)]??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a209_0x37dcb3=a209_0x4c19;(function(_0x32de7a,_0x5bd93c){const _0x386e4e=a209_0x4c19,_0xa71649=_0x32de7a();while(!![]){try{const _0x242e75=parseInt(_0x386e4e(0x19a))/0x1*(parseInt(_0x386e4e(0x1b2))/0x2)+parseInt(_0x386e4e(0x1ae))/0x3*(parseInt(_0x386e4e(0x19f))/0x4)+parseInt(_0x386e4e(0x1ab))/0x5*(-parseInt(_0x386e4e(0x1b7))/0x6)+-parseInt(_0x386e4e(0x1a1))/0x7*(-parseInt(_0x386e4e(0x1ac))/0x8)+parseInt(_0x386e4e(0x1a3))/0x9*(parseInt(_0x386e4e(0x1b6))/0xa)+-parseInt(_0x386e4e(0x1b5))/0xb*(-parseInt(_0x386e4e(0x1a6))/0xc)+parseInt(_0x386e4e(0x1af))/0xd*(-parseInt(_0x386e4e(0x19b))/0xe);if(_0x242e75===_0x5bd93c)break;else _0xa71649['push'](_0xa71649['shift']());}catch(_0x512b01){_0xa71649['push'](_0xa71649['shift']());}}}(a209_0x1dee,0xb1015));function a209_0x1dee(){const _0xaaa43f=['execError','88rTDuyS','967490nsSetV','66ftTXZQ','SQL\x20execution\x20failed','1ItQWor','14GLdwfi','execResult','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','sql','2416668KeObQP','str','35OHDHUD','read','99fkqqHE','sqlcode','length','1519140AHkBwF','string','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','\x20row(s)\x20in\x20','execSuccess','410995wVEIWe','993120ARyZJR','exec','3bBlOZA','28504099skcjzg','params','now','1039918rbXrLE','appCode'];a209_0x1dee=function(){return _0xaaa43f;};return a209_0x1dee();}import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';function a209_0x4c19(_0x3ae206,_0x2c28ca){_0x3ae206=_0x3ae206-0x199;const _0x1dee07=a209_0x1dee();let _0x4c19a9=_0x1dee07[_0x3ae206];return _0x4c19a9;}export const sqlExec={'service':a209_0x37dcb3(0x19e),'command':a209_0x37dcb3(0x1ad),'description':a209_0x37dcb3(0x19d),'risk':a209_0x37dcb3(0x1a2),'flags':[SQLCODE_FLAG,{'name':a209_0x37dcb3(0x1b0),'type':a209_0x37dcb3(0x1a7),'description':a209_0x37dcb3(0x1a8)}],async 'execute'(_0x139c68){const _0x42c37c=a209_0x37dcb3,_0x232d15=parseJsonParams(_0x139c68[_0x42c37c(0x1a0)]('params')),_0x7f0ce9=Date[_0x42c37c(0x1b1)](),_0x4a3f7f=await executeSql(_0x139c68[_0x42c37c(0x1b3)],_0x139c68[_0x42c37c(0x1a0)](_0x42c37c(0x1a4)),_0x232d15),_0x59bd56=Date[_0x42c37c(0x1b1)]()-_0x7f0ce9,_0x57de52=_0x4a3f7f?.[_0x42c37c(0x19c)]??_0x4a3f7f,_0x5acd9b=_0x4a3f7f?.[_0x42c37c(0x1aa)]??!![];if(!_0x5acd9b)return{'ok':![],'data':{'error':_0x4a3f7f?.[_0x42c37c(0x1b4)]||_0x42c37c(0x199),'elapsed':_0x59bd56},'message':'SQL\x20execution\x20failed'};const _0x573a06=Array['isArray'](_0x57de52)?_0x57de52:[];return{'ok':!![],'data':{'rows':_0x573a06,'rowCount':_0x573a06['length'],'elapsed':_0x59bd56},'message':'Returned\x20'+_0x573a06[_0x42c37c(0x1a5)]+_0x42c37c(0x1a9)+_0x59bd56+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2b3a83,_0x4b4b41){const _0x36dbd5=a210_0x4d20,_0xe9c25=_0x2b3a83();while(!![]){try{const _0x1bafdf=-parseInt(_0x36dbd5(0x1e0))/0x1+parseInt(_0x36dbd5(0x1e3))/0x2*(-parseInt(_0x36dbd5(0x1de))/0x3)+-parseInt(_0x36dbd5(0x1e8))/0x4*(parseInt(_0x36dbd5(0x1dd))/0x5)+-parseInt(_0x36dbd5(0x1e1))/0x6*(-parseInt(_0x36dbd5(0x1e2))/0x7)+-parseInt(_0x36dbd5(0x1df))/0x8*(parseInt(_0x36dbd5(0x1e7))/0x9)+-parseInt(_0x36dbd5(0x1e6))/0xa+-parseInt(_0x36dbd5(0x1e5))/0xb*(-parseInt(_0x36dbd5(0x1e4))/0xc);if(_0x1bafdf===_0x4b4b41)break;else _0xe9c25['push'](_0xe9c25['shift']());}catch(_0x3d602d){_0xe9c25['push'](_0xe9c25['shift']());}}}(a210_0x9b4e,0x37381));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';function a210_0x4d20(_0x144958,_0x117518){_0x144958=_0x144958-0x1dd;const _0x9b4e76=a210_0x9b4e();let _0x4d2019=_0x9b4e76[_0x144958];return _0x4d2019;}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';function a210_0x9b4e(){const _0x9f803d=['9zgSAoX','492608bsIKKO','5tiAxMX','219vgKTyj','3184888QvDEMd','26336IxnNMt','6djNSKa','2872814rhNVps','3342hxMlVq','348qaPYhI','196603mIGEHc','329600zjSpyi'];a210_0x9b4e=function(){return _0x9f803d;};return a210_0x9b4e();}import{sqlStatus}from'../../commands/sql/status.js';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 a211_0x3fc1f8=a211_0x11ce;(function(_0x313e31,_0x129aeb){const _0x241cf8=a211_0x11ce,_0x818ae1=_0x313e31();while(!![]){try{const _0x285133=-parseInt(_0x241cf8(0x13a))/0x1+-parseInt(_0x241cf8(0x141))/0x2+-parseInt(_0x241cf8(0x124))/0x3*(-parseInt(_0x241cf8(0x130))/0x4)+parseInt(_0x241cf8(0x126))/0x5*(parseInt(_0x241cf8(0x128))/0x6)+parseInt(_0x241cf8(0x133))/0x7*(-parseInt(_0x241cf8(0x132))/0x8)+-parseInt(_0x241cf8(0x12d))/0x9*(-parseInt(_0x241cf8(0x121))/0xa)+parseInt(_0x241cf8(0x11e))/0xb;if(_0x285133===_0x129aeb)break;else _0x818ae1['push'](_0x818ae1['shift']());}catch(_0x25af62){_0x818ae1['push'](_0x818ae1['shift']());}}}(a211_0x19ac,0xafd3c));import{listSqlQueries}from'../../core/api-client.js';function a211_0x11ce(_0x106b26,_0x4e8bcf){_0x106b26=_0x106b26-0x11e;const _0x19ac6c=a211_0x19ac();let _0x11ce4f=_0x19ac6c[_0x106b26];return _0x11ce4f;}function a211_0x19ac(){const _0x4146c4=['Filter\x20by\x20SQL\x20name','length','1799608QVQANQ','\x20SQL\x20queries\x20(total:\x20','name','number','sqlCode','7872337OVsHmb','num','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','25030lEKCcM','description','page','9EaZKDk','pagesize','1255TrREdo','bool','31740rCJpYD','Page\x20number','sqlName','list','List\x20custom\x20SQL\x20queries','2763TcuKvU','all','boolean','185948BzujoB','totalCount','120DpsuXi','211274AbkEBj','appCode','read','string','sqlcode','map','str','878617ZmanoD','Found\x20','Page\x20size','verbose','dbId'];a211_0x19ac=function(){return _0x4146c4;};return a211_0x19ac();}import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':a211_0x3fc1f8(0x12b),'description':a211_0x3fc1f8(0x12c),'risk':a211_0x3fc1f8(0x135),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a211_0x3fc1f8(0x143),'type':a211_0x3fc1f8(0x136),'description':a211_0x3fc1f8(0x13f)},{'name':a211_0x3fc1f8(0x123),'type':a211_0x3fc1f8(0x144),'description':a211_0x3fc1f8(0x129),'default':0x1},{'name':a211_0x3fc1f8(0x125),'type':a211_0x3fc1f8(0x144),'description':a211_0x3fc1f8(0x13c)},{'name':a211_0x3fc1f8(0x13d),'type':a211_0x3fc1f8(0x12f),'description':a211_0x3fc1f8(0x120)}],async 'execute'(_0x13bb99){const _0x13114e=a211_0x3fc1f8,_0x41cd38=await listSqlQueries(_0x13bb99[_0x13114e(0x134)],{'sqlCode':_0x13bb99[_0x13114e(0x139)](_0x13114e(0x137))||undefined,'sqlName':_0x13bb99[_0x13114e(0x139)](_0x13114e(0x143))||undefined,'currentPage':_0x13bb99[_0x13114e(0x11f)](_0x13114e(0x123)),'pageSize':_0x13bb99['num'](_0x13114e(0x125),0x32)}),_0x2bcd2e=_0x13bb99[_0x13114e(0x127)](_0x13114e(0x13d)),_0x46228b=_0x41cd38['tableData']??[],_0x38b851=_0x41cd38['paging']?.[_0x13114e(0x131)]??_0x46228b[_0x13114e(0x140)];let _0x28bb9f;return _0x2bcd2e?_0x28bb9f=_0x46228b:_0x28bb9f=await Promise[_0x13114e(0x12e)](_0x46228b[_0x13114e(0x138)](async _0x2b2552=>{const _0x58d09b=_0x13114e;let _0x23864a;try{_0x23864a=_0x2b2552[_0x58d09b(0x13e)]?await getDbName(_0x13bb99[_0x58d09b(0x134)],_0x2b2552[_0x58d09b(0x13e)]):undefined;}catch{}return{'sqlCode':_0x2b2552[_0x58d09b(0x145)],'sqlName':_0x2b2552[_0x58d09b(0x12a)],'description':_0x2b2552[_0x58d09b(0x122)]??'','db':_0x23864a?_0x23864a+'\x20('+_0x2b2552[_0x58d09b(0x13e)]+')':_0x2b2552['dbId']??''};})),{'ok':!![],'data':_0x28bb9f,'message':_0x46228b[_0x13114e(0x140)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':_0x13114e(0x13b)+_0x46228b[_0x13114e(0x140)]+_0x13114e(0x142)+_0x38b851+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a212_0x2ecf8d=a212_0x153f;(function(_0x208e8c,_0xb0d26){const _0x1fae89=a212_0x153f,_0x2df10a=_0x208e8c();while(!![]){try{const _0x179122=parseInt(_0x1fae89(0x125))/0x1*(parseInt(_0x1fae89(0x103))/0x2)+-parseInt(_0x1fae89(0xfd))/0x3*(parseInt(_0x1fae89(0x11a))/0x4)+parseInt(_0x1fae89(0x135))/0x5+-parseInt(_0x1fae89(0xfe))/0x6*(-parseInt(_0x1fae89(0x128))/0x7)+-parseInt(_0x1fae89(0x106))/0x8*(parseInt(_0x1fae89(0xff))/0x9)+parseInt(_0x1fae89(0x138))/0xa+parseInt(_0x1fae89(0x11d))/0xb;if(_0x179122===_0xb0d26)break;else _0x2df10a['push'](_0x2df10a['shift']());}catch(_0x4fe494){_0x2df10a['push'](_0x2df10a['shift']());}}}(a212_0x4399,0xb1a06));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 a212_0x4399(){const _0x37ff0d=['path','string','3HCdVQL','6YPIzta','337941XLQOKG','sqlcode','unchanged','appCode','614MUfXeJ','split','lastSync','200yhQzuw','Filter\x20by\x20SQL\x20display\x20name','filter','mybatisXml','POST','\x20failed','No\x20remote\x20SQL\x20queries\x20matched.','skipped','nonInteractive','read','sqls','bool','\x20SQL\x20file(s)\x20into\x20','utf8','push','str','replace','toISOString','cancelled','force','978344nDNhDg','totalCount','conflict','2087932MCWpYX','sqlName','test','trimStart','sqlContent','sql','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','965wanQfO','pull','message','2868481iqgJRm','Would\x20pull\x20','sqlRoot','length','sqlRootDir','sqlCode','Pull\x20complete:\x20','lockFilePath','name','Force\x20pull\x20cancelled.','dbId','boolean','paging','4298890ZwvZli','tableData','description','1552410qultxY','catch','\x20written,\x20'];a212_0x4399=function(){return _0x37ff0d;};return a212_0x4399();}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{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a212_0x153f(_0x4fcbe9,_0x18fd1c){_0x4fcbe9=_0x4fcbe9-0xfa;const _0x439950=a212_0x4399();let _0x153ffb=_0x439950[_0x4fcbe9];return _0x153ffb;}import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x22b9bb,_0x2ec368){const _0x47b809=a212_0x153f,_0x55901b=[];let _0x484dc1=0x1;while(!![]){const _0xc559c0=await listSqlQueries(_0x22b9bb,{'currentPage':_0x484dc1,'pageSize':PAGE_SIZE,'sqlCode':_0x2ec368[_0x47b809(0x12d)],'sqlName':_0x2ec368[_0x47b809(0x11e)]}),_0x2f1990=_0xc559c0[_0x47b809(0x136)]??[];_0x55901b[_0x47b809(0x114)](..._0x2f1990);if(_0x2f1990[_0x47b809(0x12b)]===0x0)break;const _0x25881c=_0xc559c0[_0x47b809(0x134)]?.[_0x47b809(0x11b)];if(_0x25881c!=null?_0x55901b[_0x47b809(0x12b)]>=_0x25881c:_0x2f1990[_0x47b809(0x12b)]<PAGE_SIZE)break;_0x484dc1++;}return _0x55901b;}async function ensureSqlContent(_0x764118){const _0x2cefc7=a212_0x153f;if(_0x764118['sqlContent']!=null&&String(_0x764118[_0x2cefc7(0x121)])['length']>0x0)return _0x764118;return getSqlQueryDetail(_0x764118[_0x2cefc7(0x12d)]);}export const sqlPull={'service':a212_0x2ecf8d(0x122),'command':a212_0x2ecf8d(0x126),'description':a212_0x2ecf8d(0x124),'risk':a212_0x2ecf8d(0x10f),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a212_0x2ecf8d(0x130),'type':a212_0x2ecf8d(0xfc),'description':a212_0x2ecf8d(0x107)},{'name':a212_0x2ecf8d(0x119),'type':a212_0x2ecf8d(0x133),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x4c3750){const _0x263e18=a212_0x2ecf8d,_0x274cca=loadSqlProjectConfig(_0x4c3750[_0x263e18(0x102)]),_0x45b610=await readSqlLockFile(_0x274cca[_0x263e18(0x12f)]),{appLock:_0x563408}=ensureSqlLockScope(_0x45b610??createEmptySqlLock(),_0x274cca[_0x263e18(0x102)],_0x274cca[_0x263e18(0x12a)],_0x263e18(0x126)),_0x2c917b=await fetchAllSqlQueries(_0x4c3750[_0x263e18(0x102)],{'sqlCode':_0x4c3750[_0x263e18(0x115)](_0x263e18(0x100))||undefined,'sqlName':_0x4c3750[_0x263e18(0x115)]('name')||undefined}),_0x38a020=[];for(const _0x5adfc2 of _0x2c917b){const _0x111bac=await ensureSqlContent(_0x5adfc2),_0x101dd6=ensureRemoteSqlContent(_0x111bac),_0x34c88b=detectModeFromSql(_0x111bac),_0x73c694=_0x111bac[_0x263e18(0x132)]?await getDbName(_0x4c3750['appCode'],Number(_0x111bac[_0x263e18(0x132)]))[_0x263e18(0x139)](()=>undefined):undefined,_0x1be7de=buildLocalSqlFileContent({'sqlCode':_0x111bac[_0x263e18(0x12d)],'sqlName':_0x111bac['sqlName'],'dbId':_0x111bac[_0x263e18(0x132)]},_0x101dd6,{'dbName':_0x73c694,'mode':_0x34c88b,'syncedAt':new Date()[_0x263e18(0x117)](),'description':_0x111bac[_0x263e18(0x137)]}),_0x304b47=buildSqlLockEntry(_0x111bac,_0x101dd6,'',{'dbName':_0x73c694}),_0x219fb4=resolveLocalSqlFilePath(_0x274cca,_0x111bac[_0x263e18(0x12d)],_0x304b47);let _0x53ab32='would_pull',_0x3fa564;if(await fileExists(_0x219fb4)){const _0x4f3c19=await readFile(_0x219fb4,_0x263e18(0x113));isEquivalentPulledSqlFile(_0x4f3c19,_0x1be7de,_0x34c88b)?(_0x53ab32=_0x263e18(0x10d),_0x3fa564=_0x263e18(0x101)):(_0x53ab32=_0x263e18(0x11c),_0x3fa564='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x38a020[_0x263e18(0x114)]({'sqlCode':_0x111bac[_0x263e18(0x12d)],'sqlName':_0x111bac['sqlName'],'filePath':_0x219fb4,'status':_0x53ab32,'reason':_0x3fa564});}return{'method':_0x263e18(0x10a),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x4c3750['appCode'],'sqlCode':_0x4c3750['str'](_0x263e18(0x100))||null,'sqlName':_0x4c3750[_0x263e18(0x115)](_0x263e18(0x130))||null,'files':_0x38a020},'description':_0x263e18(0x129)+_0x38a020['length']+_0x263e18(0x112)+_0x274cca[_0x263e18(0x12c)]};},async 'execute'(_0x3bd4cc){const _0x187cde=a212_0x2ecf8d,_0x533032=loadSqlProjectConfig(_0x3bd4cc[_0x187cde(0x102)]),_0x1ed3ae=await readSqlLockFile(_0x533032[_0x187cde(0x12f)]),{lockData:_0x270fc9,appLock:_0x249dfb}=ensureSqlLockScope(_0x1ed3ae??createEmptySqlLock(),_0x533032[_0x187cde(0x102)],_0x533032['sqlRoot'],'pull'),_0x38f91c=_0x3bd4cc[_0x187cde(0x111)]('force'),_0x1cf4ee=await fetchAllSqlQueries(_0x3bd4cc[_0x187cde(0x102)],{'sqlCode':_0x3bd4cc['str'](_0x187cde(0x100))||undefined,'sqlName':_0x3bd4cc['str'](_0x187cde(0x130))||undefined});if(_0x1cf4ee[_0x187cde(0x12b)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x187cde(0x10c)};const _0x26973f=[],_0x23d5cb=[];for(const _0x3b2352 of _0x1cf4ee){try{_0x26973f[_0x187cde(0x114)](await ensureSqlContent(_0x3b2352));}catch(_0x2b0d85){_0x23d5cb['push']({'sqlCode':_0x3b2352[_0x187cde(0x12d)],'error':_0x2b0d85 instanceof Error?_0x2b0d85['message']:String(_0x2b0d85)});}}if(_0x38f91c&&!_0x3bd4cc[_0x187cde(0x10e)]){let _0x272221=![];for(const _0x67984c of _0x26973f){const _0x523d8b=detectModeFromSql(_0x67984c),_0x116535=_0x67984c['dbId']?await getDbName(_0x3bd4cc['appCode'],Number(_0x67984c['dbId']))[_0x187cde(0x139)](()=>undefined):undefined,_0x260e8b=buildLocalSqlFileContent({'sqlCode':_0x67984c[_0x187cde(0x12d)],'sqlName':_0x67984c[_0x187cde(0x11e)],'dbId':_0x67984c[_0x187cde(0x132)]},ensureRemoteSqlContent(_0x67984c),{'dbName':_0x116535,'mode':_0x523d8b,'syncedAt':new Date()[_0x187cde(0x117)](),'description':_0x67984c['description']}),_0xf0b9eb=resolveLocalSqlFilePath(_0x533032,_0x67984c[_0x187cde(0x12d)],buildSqlLockEntry(_0x67984c,ensureRemoteSqlContent(_0x67984c),'',{'dbName':_0x116535}));if(await fileExists(_0xf0b9eb)){const _0x4fd0f5=await readFile(_0xf0b9eb,'utf8');if(!isEquivalentPulledSqlFile(_0x4fd0f5,_0x260e8b,_0x523d8b)){_0x272221=!![];break;}}}if(_0x272221){const _0x1437ca=await confirmForceOverwrite(_0x187cde(0x123));if(!_0x1437ca)throw CliErrors[_0x187cde(0x118)](_0x187cde(0x131));}}const _0x562a0d=cloneSqlLockData(_0x270fc9),_0x23e4da=_0x562a0d['apps'][_0x533032[_0x187cde(0x102)]],_0x33b7a4=[],_0x1671ea=[];for(const _0x154084 of _0x26973f){const _0x2b2e65=_0x23e4da[_0x187cde(0x110)][_0x154084[_0x187cde(0x12d)]],_0x153567=ensureRemoteSqlContent(_0x154084),_0x434fad=detectModeFromSql(_0x154084),_0xf16387=_0x154084['dbId']?await getDbName(_0x3bd4cc[_0x187cde(0x102)],Number(_0x154084['dbId']))[_0x187cde(0x139)](()=>undefined):undefined,_0x48c0a3=buildLocalSqlFileContent({'sqlCode':_0x154084[_0x187cde(0x12d)],'sqlName':_0x154084[_0x187cde(0x11e)],'dbId':_0x154084['dbId']},_0x153567,{'dbName':_0xf16387,'mode':_0x434fad,'syncedAt':new Date()[_0x187cde(0x117)](),'description':_0x154084[_0x187cde(0x137)]}),_0x45e79d=buildSqlLockEntry(_0x154084,_0x153567,computeSqlContentHash(_0x48c0a3),{'dbName':_0xf16387}),_0x1e43d5=_0x45e79d['path'],_0x4cab23=join(_0x533032[_0x187cde(0x12c)],_0x1e43d5);try{if(await fileExists(_0x4cab23)){const _0x1b65e3=await readFile(_0x4cab23,_0x187cde(0x113));if(isEquivalentPulledSqlFile(_0x1b65e3,_0x48c0a3,_0x434fad)){_0x1671ea[_0x187cde(0x114)]({'sqlCode':_0x154084['sqlCode'],'reason':'unchanged'}),_0x23e4da[_0x187cde(0x110)][_0x154084[_0x187cde(0x12d)]]={..._0x45e79d,'hash':computeSqlContentHash(_0x1b65e3),'path':_0x1e43d5};continue;}if(!_0x38f91c){_0x1671ea[_0x187cde(0x114)]({'sqlCode':_0x154084[_0x187cde(0x12d)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x59665b=_0x2b2e65?.[_0x187cde(0xfb)]?join(_0x533032[_0x187cde(0x12c)],_0x2b2e65[_0x187cde(0xfb)]):undefined;_0x59665b&&_0x59665b!==_0x4cab23&&await fileExists(_0x59665b)&&await rm(_0x59665b,{'force':!![]}),await ensureParentDirectory(_0x4cab23),await writeFile(_0x4cab23,_0x48c0a3,_0x187cde(0x113)),_0x23e4da[_0x187cde(0x110)][_0x154084['sqlCode']]={..._0x45e79d,'path':_0x1e43d5},_0x33b7a4[_0x187cde(0x114)]({'sqlCode':_0x154084['sqlCode'],'filePath':_0x4cab23});}catch(_0x114c98){_0x23d5cb['push']({'sqlCode':_0x154084[_0x187cde(0x12d)],'error':_0x114c98 instanceof Error?_0x114c98[_0x187cde(0x127)]:String(_0x114c98)});}}return _0x23e4da[_0x187cde(0x105)]=new Date()['toISOString'](),await writeSqlLockFile(_0x533032[_0x187cde(0x12f)],_0x562a0d),{'ok':_0x23d5cb[_0x187cde(0x12b)]===0x0,'data':{'pulled':_0x33b7a4,'skipped':_0x1671ea,'failed':_0x23d5cb},'message':_0x187cde(0x12e)+_0x33b7a4[_0x187cde(0x12b)]+_0x187cde(0xfa)+_0x1671ea[_0x187cde(0x12b)]+'\x20skipped,\x20'+_0x23d5cb['length']+_0x187cde(0x10b)};}};function detectModeFromSql(_0x8a97f5){const _0x33eebf=a212_0x2ecf8d,_0x285a0b=ensureRemoteSqlContent(_0x8a97f5),_0x158c45=stripLocalSqlMetadata(_0x285a0b,_0x33eebf(0x109))[_0x33eebf(0x120)]();if(/^<(select|insert|update|delete)\b/i[_0x33eebf(0x11f)](_0x158c45))return _0x33eebf(0x109);return _0x33eebf(0x122);}function isEquivalentPulledSqlFile(_0x5e0e5b,_0x5292df,_0x3caf6b){return normalizePullComparableContent(_0x5e0e5b,_0x3caf6b)===normalizePullComparableContent(_0x5292df,_0x3caf6b);}function normalizePullComparableContent(_0x53200e,_0x4b4e81){const _0x3f796c=a212_0x2ecf8d,_0x23e0ac=_0x53200e[_0x3f796c(0x116)](/\r\n/g,'\x0a')[_0x3f796c(0x104)]('\x0a'),_0x2426da=_0x23e0ac[_0x3f796c(0x108)](_0x234cfd=>!isSyncedAtMetadataLine(_0x234cfd,_0x4b4e81));return _0x2426da['join']('\x0a');}function isSyncedAtMetadataLine(_0x3ac37e,_0x39a958){const _0x44b84b=a212_0x2ecf8d;if(_0x39a958===_0x44b84b(0x109))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x44b84b(0x11f)](_0x3ac37e);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x44b84b(0x11f)](_0x3ac37e);}
|
|
1
|
+
function a212_0x461c(){const _0x1f9351=['skipped','Filter\x20by\x20SQL\x20display\x20name','8MmeJie','message','push','split','str','Would\x20pull\x20','boolean','local\x20differs\x20from\x20remote','utf8','dbId','Force\x20pull\x20cancelled.','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','force','104FIVVvN','\x20skipped,\x20','trimStart','sqlContent','join','sqls','612378yZndHQ','602631ebXuRn','read','sqlRootDir','bool','\x20SQL\x20file(s)\x20into\x20','lockFilePath','sqlName','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','conflict','description','catch','replace','708rgiNFI','sqlcode','POST','535975wiTZnR','sqlCode','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sql','4kOEMwY','3614292bZEGJb','string','Force\x20overwrite\x20local\x20unsynced\x20changes','86884tEFbXy','sqlRoot','mybatisXml','pull','10347440lQZZKm','name','path','length','totalCount','2437195suMwaJ','tableData','nonInteractive','unchanged','toISOString','test','appCode','apps'];a212_0x461c=function(){return _0x1f9351;};return a212_0x461c();}const a212_0x14db3a=a212_0x41b1;(function(_0x409ab3,_0x102035){const _0x159406=a212_0x41b1,_0x5c6bce=_0x409ab3();while(!![]){try{const _0x54dd3d=parseInt(_0x159406(0x1be))/0x1*(parseInt(_0x159406(0x194))/0x2)+parseInt(_0x159406(0x195))/0x3+-parseInt(_0x159406(0x1ab))/0x4*(parseInt(_0x159406(0x1a1))/0x5)+-parseInt(_0x159406(0x18d))/0x6*(-parseInt(_0x159406(0x198))/0x7)+-parseInt(_0x159406(0x1b8))/0x8*(parseInt(_0x159406(0x1bf))/0x9)+-parseInt(_0x159406(0x19c))/0xa+-parseInt(_0x159406(0x190))/0xb;if(_0x54dd3d===_0x102035)break;else _0x5c6bce['push'](_0x5c6bce['shift']());}catch(_0x151dbe){_0x5c6bce['push'](_0x5c6bce['shift']());}}}(a212_0x461c,0xebaca));import{readFile,rm,writeFile}from'node:fs/promises';function a212_0x41b1(_0x108a42,_0x4a8133){_0x108a42=_0x108a42-0x184;const _0x461c83=a212_0x461c();let _0x41b131=_0x461c83[_0x108a42];return _0x41b131;}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{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(_0xb276a8,_0x324423){const _0x2a4837=a212_0x41b1,_0x247e87=[];let _0x54e2e3=0x1;while(!![]){const _0x221334=await listSqlQueries(_0xb276a8,{'currentPage':_0x54e2e3,'pageSize':PAGE_SIZE,'sqlCode':_0x324423[_0x2a4837(0x191)],'sqlName':_0x324423['sqlName']}),_0x32b9ec=_0x221334[_0x2a4837(0x1a2)]??[];_0x247e87[_0x2a4837(0x1ad)](..._0x32b9ec);if(_0x32b9ec[_0x2a4837(0x19f)]===0x0)break;const _0x3bae53=_0x221334['paging']?.[_0x2a4837(0x1a0)];if(_0x3bae53!=null?_0x247e87['length']>=_0x3bae53:_0x32b9ec[_0x2a4837(0x19f)]<PAGE_SIZE)break;_0x54e2e3++;}return _0x247e87;}async function ensureSqlContent(_0x3bc194){const _0x144ef5=a212_0x41b1;if(_0x3bc194[_0x144ef5(0x1bb)]!=null&&String(_0x3bc194[_0x144ef5(0x1bb)])[_0x144ef5(0x19f)]>0x0)return _0x3bc194;return getSqlQueryDetail(_0x3bc194[_0x144ef5(0x191)]);}export const sqlPull={'service':a212_0x14db3a(0x193),'command':'pull','description':a212_0x14db3a(0x192),'risk':a212_0x14db3a(0x1c0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a212_0x14db3a(0x196),'description':a212_0x14db3a(0x1aa)},{'name':a212_0x14db3a(0x1b7),'type':a212_0x14db3a(0x1b1),'description':a212_0x14db3a(0x197)}],async 'dryRun'(_0x340c94){const _0x28fb8c=a212_0x14db3a,_0x7447f8=loadSqlProjectConfig(_0x340c94[_0x28fb8c(0x1a7)]),_0x3157bc=await readSqlLockFile(_0x7447f8[_0x28fb8c(0x186)]),{appLock:_0x418318}=ensureSqlLockScope(_0x3157bc??createEmptySqlLock(),_0x7447f8['appCode'],_0x7447f8[_0x28fb8c(0x199)],_0x28fb8c(0x19b)),_0x546317=await fetchAllSqlQueries(_0x340c94[_0x28fb8c(0x1a7)],{'sqlCode':_0x340c94[_0x28fb8c(0x1af)](_0x28fb8c(0x18e))||undefined,'sqlName':_0x340c94[_0x28fb8c(0x1af)](_0x28fb8c(0x19d))||undefined}),_0x42961c=[];for(const _0x1d2435 of _0x546317){const _0x42fab5=await ensureSqlContent(_0x1d2435),_0xf6723a=ensureRemoteSqlContent(_0x42fab5),_0x4d6fc0=detectModeFromSql(_0x42fab5),_0x35fda4=_0x42fab5['dbId']?await getDbName(_0x340c94[_0x28fb8c(0x1a7)],Number(_0x42fab5['dbId']))[_0x28fb8c(0x18b)](()=>undefined):undefined,_0x3f1921=buildLocalSqlFileContent({'sqlCode':_0x42fab5[_0x28fb8c(0x191)],'sqlName':_0x42fab5['sqlName'],'dbId':_0x42fab5[_0x28fb8c(0x1b4)]},_0xf6723a,{'dbName':_0x35fda4,'mode':_0x4d6fc0,'syncedAt':new Date()[_0x28fb8c(0x1a5)](),'description':_0x42fab5[_0x28fb8c(0x18a)]}),_0x4cdedc=buildSqlLockEntry(_0x42fab5,_0xf6723a,'',{'dbName':_0x35fda4}),_0x5443cb=resolveLocalSqlFilePath(_0x7447f8,_0x42fab5[_0x28fb8c(0x191)],_0x4cdedc);let _0x53554b='would_pull',_0xa73831;if(await fileExists(_0x5443cb)){const _0x46c183=await readFile(_0x5443cb,'utf8');isEquivalentPulledSqlFile(_0x46c183,_0x3f1921,_0x4d6fc0)?(_0x53554b=_0x28fb8c(0x1a9),_0xa73831=_0x28fb8c(0x1a4)):(_0x53554b=_0x28fb8c(0x189),_0xa73831='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x42961c[_0x28fb8c(0x1ad)]({'sqlCode':_0x42fab5[_0x28fb8c(0x191)],'sqlName':_0x42fab5['sqlName'],'filePath':_0x5443cb,'status':_0x53554b,'reason':_0xa73831});}return{'method':_0x28fb8c(0x18f),'url':_0x28fb8c(0x1b6),'body':{'appCode':_0x340c94[_0x28fb8c(0x1a7)],'sqlCode':_0x340c94[_0x28fb8c(0x1af)](_0x28fb8c(0x18e))||null,'sqlName':_0x340c94['str'](_0x28fb8c(0x19d))||null,'files':_0x42961c},'description':_0x28fb8c(0x1b0)+_0x42961c[_0x28fb8c(0x19f)]+_0x28fb8c(0x185)+_0x7447f8[_0x28fb8c(0x1c1)]};},async 'execute'(_0x53f97b){const _0x3f98ce=a212_0x14db3a,_0x19d223=loadSqlProjectConfig(_0x53f97b[_0x3f98ce(0x1a7)]),_0x233ec4=await readSqlLockFile(_0x19d223[_0x3f98ce(0x186)]),{lockData:_0x17bd43,appLock:_0x5ec5bc}=ensureSqlLockScope(_0x233ec4??createEmptySqlLock(),_0x19d223['appCode'],_0x19d223['sqlRoot'],_0x3f98ce(0x19b)),_0x32f602=_0x53f97b[_0x3f98ce(0x184)]('force'),_0x35a9c3=await fetchAllSqlQueries(_0x53f97b[_0x3f98ce(0x1a7)],{'sqlCode':_0x53f97b[_0x3f98ce(0x1af)]('sqlcode')||undefined,'sqlName':_0x53f97b['str'](_0x3f98ce(0x19d))||undefined});if(_0x35a9c3[_0x3f98ce(0x19f)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x40de1c=[],_0x579cbd=[];for(const _0x5d610c of _0x35a9c3){try{_0x40de1c['push'](await ensureSqlContent(_0x5d610c));}catch(_0x27bdc0){_0x579cbd[_0x3f98ce(0x1ad)]({'sqlCode':_0x5d610c['sqlCode'],'error':_0x27bdc0 instanceof Error?_0x27bdc0[_0x3f98ce(0x1ac)]:String(_0x27bdc0)});}}if(_0x32f602&&!_0x53f97b[_0x3f98ce(0x1a3)]){let _0x3bda49=![];for(const _0x2155e3 of _0x40de1c){const _0xcfaaa0=detectModeFromSql(_0x2155e3),_0x2ba70d=_0x2155e3[_0x3f98ce(0x1b4)]?await getDbName(_0x53f97b[_0x3f98ce(0x1a7)],Number(_0x2155e3['dbId']))[_0x3f98ce(0x18b)](()=>undefined):undefined,_0x9c7c76=buildLocalSqlFileContent({'sqlCode':_0x2155e3[_0x3f98ce(0x191)],'sqlName':_0x2155e3[_0x3f98ce(0x187)],'dbId':_0x2155e3['dbId']},ensureRemoteSqlContent(_0x2155e3),{'dbName':_0x2ba70d,'mode':_0xcfaaa0,'syncedAt':new Date()[_0x3f98ce(0x1a5)](),'description':_0x2155e3[_0x3f98ce(0x18a)]}),_0x48c904=resolveLocalSqlFilePath(_0x19d223,_0x2155e3['sqlCode'],buildSqlLockEntry(_0x2155e3,ensureRemoteSqlContent(_0x2155e3),'',{'dbName':_0x2ba70d}));if(await fileExists(_0x48c904)){const _0x4c84c8=await readFile(_0x48c904,_0x3f98ce(0x1b3));if(!isEquivalentPulledSqlFile(_0x4c84c8,_0x9c7c76,_0xcfaaa0)){_0x3bda49=!![];break;}}}if(_0x3bda49){const _0x2f9fe2=await confirmForceOverwrite(_0x3f98ce(0x188));if(!_0x2f9fe2)throw CliErrors['cancelled'](_0x3f98ce(0x1b5));}}const _0x52d1c0=cloneSqlLockData(_0x17bd43),_0x250be6=_0x52d1c0[_0x3f98ce(0x1a8)][_0x19d223[_0x3f98ce(0x1a7)]],_0x4f2f2d=[],_0x4e7f2a=[];for(const _0x16928b of _0x40de1c){const _0x5308fd=_0x250be6[_0x3f98ce(0x1bd)][_0x16928b[_0x3f98ce(0x191)]],_0x48925d=ensureRemoteSqlContent(_0x16928b),_0x2e92ed=detectModeFromSql(_0x16928b),_0x2c1752=_0x16928b[_0x3f98ce(0x1b4)]?await getDbName(_0x53f97b[_0x3f98ce(0x1a7)],Number(_0x16928b['dbId']))['catch'](()=>undefined):undefined,_0x773b6c=buildLocalSqlFileContent({'sqlCode':_0x16928b[_0x3f98ce(0x191)],'sqlName':_0x16928b[_0x3f98ce(0x187)],'dbId':_0x16928b[_0x3f98ce(0x1b4)]},_0x48925d,{'dbName':_0x2c1752,'mode':_0x2e92ed,'syncedAt':new Date()[_0x3f98ce(0x1a5)](),'description':_0x16928b['description']}),_0x2d9513=buildSqlLockEntry(_0x16928b,_0x48925d,computeSqlContentHash(_0x773b6c),{'dbName':_0x2c1752}),_0x2e9ef2=_0x2d9513[_0x3f98ce(0x19e)],_0x4d9643=join(_0x19d223[_0x3f98ce(0x1c1)],_0x2e9ef2);try{if(await fileExists(_0x4d9643)){const _0x390161=await readFile(_0x4d9643,_0x3f98ce(0x1b3));if(isEquivalentPulledSqlFile(_0x390161,_0x773b6c,_0x2e92ed)){_0x4e7f2a['push']({'sqlCode':_0x16928b['sqlCode'],'reason':_0x3f98ce(0x1a4)}),_0x250be6[_0x3f98ce(0x1bd)][_0x16928b[_0x3f98ce(0x191)]]={..._0x2d9513,'hash':computeSqlContentHash(_0x390161),'path':_0x2e9ef2};continue;}if(!_0x32f602){_0x4e7f2a[_0x3f98ce(0x1ad)]({'sqlCode':_0x16928b[_0x3f98ce(0x191)],'reason':_0x3f98ce(0x1b2)});continue;}}const _0x5305e8=_0x5308fd?.[_0x3f98ce(0x19e)]?join(_0x19d223[_0x3f98ce(0x1c1)],_0x5308fd[_0x3f98ce(0x19e)]):undefined;_0x5305e8&&_0x5305e8!==_0x4d9643&&await fileExists(_0x5305e8)&&await rm(_0x5305e8,{'force':!![]}),await ensureParentDirectory(_0x4d9643),await writeFile(_0x4d9643,_0x773b6c,_0x3f98ce(0x1b3)),_0x250be6[_0x3f98ce(0x1bd)][_0x16928b['sqlCode']]={..._0x2d9513,'path':_0x2e9ef2},_0x4f2f2d['push']({'sqlCode':_0x16928b[_0x3f98ce(0x191)],'filePath':_0x4d9643});}catch(_0x25afa6){_0x579cbd[_0x3f98ce(0x1ad)]({'sqlCode':_0x16928b['sqlCode'],'error':_0x25afa6 instanceof Error?_0x25afa6['message']:String(_0x25afa6)});}}return _0x250be6['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x19d223[_0x3f98ce(0x186)],_0x52d1c0),{'ok':_0x579cbd[_0x3f98ce(0x19f)]===0x0,'data':{'pulled':_0x4f2f2d,'skipped':_0x4e7f2a,'failed':_0x579cbd},'message':'Pull\x20complete:\x20'+_0x4f2f2d[_0x3f98ce(0x19f)]+'\x20written,\x20'+_0x4e7f2a[_0x3f98ce(0x19f)]+_0x3f98ce(0x1b9)+_0x579cbd[_0x3f98ce(0x19f)]+'\x20failed'};}};function detectModeFromSql(_0x44e4c8){const _0xe8940c=a212_0x14db3a,_0x1712ff=ensureRemoteSqlContent(_0x44e4c8),_0x585451=stripLocalSqlMetadata(_0x1712ff,_0xe8940c(0x19a))[_0xe8940c(0x1ba)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x585451))return _0xe8940c(0x19a);return'sql';}function isEquivalentPulledSqlFile(_0x4d6db5,_0x386159,_0x669bdf){return normalizePullComparableContent(_0x4d6db5,_0x669bdf)===normalizePullComparableContent(_0x386159,_0x669bdf);}function normalizePullComparableContent(_0x4de56a,_0x21fa5c){const _0x5be104=a212_0x14db3a,_0x53f46c=_0x4de56a[_0x5be104(0x18c)](/\r\n/g,'\x0a')[_0x5be104(0x1ae)]('\x0a'),_0x370b13=_0x53f46c['filter'](_0x15cd53=>!isSyncedAtMetadataLine(_0x15cd53,_0x21fa5c));return _0x370b13[_0x5be104(0x1bc)]('\x0a');}function isSyncedAtMetadataLine(_0x4c7baf,_0x504311){const _0x3ce4c9=a212_0x14db3a;if(_0x504311===_0x3ce4c9(0x19a))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x3ce4c9(0x1a6)](_0x4c7baf);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x3ce4c9(0x1a6)](_0x4c7baf);}
|
package/lib/commands/sql/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a213_0xe3ff7b=a213_0x5112;function a213_0x5112(_0x2c12af,_0x4e4c9a){_0x2c12af=_0x2c12af-0x1a3;const _0x517ac7=a213_0x517a();let _0x5112aa=_0x517ac7[_0x2c12af];return _0x5112aa;}(function(_0x46aa60,_0x5d0579){const _0x410834=a213_0x5112,_0x4d77bf=_0x46aa60();while(!![]){try{const _0x379a07=parseInt(_0x410834(0x1da))/0x1+-parseInt(_0x410834(0x1b8))/0x2+parseInt(_0x410834(0x1bf))/0x3*(parseInt(_0x410834(0x1b2))/0x4)+-parseInt(_0x410834(0x1e2))/0x5*(parseInt(_0x410834(0x1df))/0x6)+parseInt(_0x410834(0x1a3))/0x7*(-parseInt(_0x410834(0x1ba))/0x8)+-parseInt(_0x410834(0x1ce))/0x9*(parseInt(_0x410834(0x1bc))/0xa)+parseInt(_0x410834(0x1be))/0xb;if(_0x379a07===_0x5d0579)break;else _0x4d77bf['push'](_0x4d77bf['shift']());}catch(_0x2f7034){_0x4d77bf['push'](_0x4d77bf['shift']());}}}(a213_0x517a,0x48e15));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';function a213_0x517a(){const _0x5d409d=['remoteId','1527426ueShkD','trashDir','get','10lfEkRY','217707iOCeKr','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','hash','path','sqlcode','sqls','sqlConfig','\x22\x20for\x20sqlCode\x20','lockFilePath','relativePath','isFinite','Local\x20directory\x20\x22','exec','write','version','916hJPFtj','message','dbDirectory','sqlRoot','dbName','lastSync','644960AzpdJN','filePath','8AGcuoO','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','10BoyUfV','appCode','14104420NCPvGR','1497yYmLPj','bool','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','utf8','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','\x20failed','length','projectRoot','validation','filter','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','Push\x20local\x20SQL\x20files\x20to\x20remote','startsWith','push','mode','2173671mvwwZK','\x20pushed,\x20','boolean','join','sqlName','force','POST','dbId','sqlRootDir','entries','toISOString','/smartapi/custom/updateUserCustomSql','6268xrmbpU','map','has','sqlCode'];a213_0x517a=function(){return _0x5d409d;};return a213_0x517a();}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';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';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x4166c4,_0x315c4e,_0x5dd914){const _0x19bcb7=a213_0x5112,_0x37a589=await scanLocalSqlQueries(_0x4166c4),_0x2045c1=new Map();for(const _0x3c7285 of _0x37a589){if(_0x5dd914&&_0x3c7285['sqlCode']!==_0x5dd914)continue;const _0x1a9a97=_0x2045c1[_0x19bcb7(0x1e1)](_0x3c7285[_0x19bcb7(0x1dd)])??[];_0x1a9a97['push'](_0x3c7285),_0x2045c1['set'](_0x3c7285['sqlCode'],_0x1a9a97);}if(_0x5dd914&&!_0x2045c1[_0x19bcb7(0x1dc)](_0x5dd914))throw CliErrors[_0x19bcb7(0x1c7)]('Local\x20SQL\x20not\x20found:\x20'+_0x5dd914);const _0x30d344=[];for(const [_0x2cc448,_0x3bbc6a]of _0x2045c1[_0x19bcb7(0x1d7)]()){if(_0x3bbc6a['length']===0x1){_0x30d344[_0x19bcb7(0x1cc)](_0x3bbc6a[0x0]);continue;}const _0x3757ec=_0x315c4e[_0x19bcb7(0x1a8)][_0x2cc448],_0x22eff6=_0x3757ec?.[_0x19bcb7(0x1a6)],_0x4dc848=_0x22eff6?_0x3bbc6a[_0x19bcb7(0x1c8)](_0x11e75b=>_0x11e75b[_0x19bcb7(0x1ac)]!==_0x22eff6):_0x3bbc6a;if(_0x3757ec&&_0x4dc848['length']===0x1){_0x30d344['push'](_0x4dc848[0x0]);continue;}throw CliErrors['validation'](_0x19bcb7(0x1c1)+_0x2cc448+_0x19bcb7(0x1c3));}return _0x30d344;}export const sqlPush={'service':'sql','command':a213_0xe3ff7b(0x1cc),'description':a213_0xe3ff7b(0x1ca),'risk':a213_0xe3ff7b(0x1b0),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a213_0xe3ff7b(0x1d3),'type':a213_0xe3ff7b(0x1d0),'description':a213_0xe3ff7b(0x1bb)}],async 'dryRun'(_0x3196ad){const _0x472176=a213_0xe3ff7b,_0x3819cd=loadSqlProjectConfig(_0x3196ad[_0x472176(0x1bd)]),_0x447967=await readSqlLockFile(_0x3819cd[_0x472176(0x1ab)]),{appLock:_0x109995}=ensureSqlLockScope(_0x447967??createEmptySqlLock(),_0x3196ad[_0x472176(0x1bd)],_0x3819cd[_0x472176(0x1b5)],_0x472176(0x1cc)),_0x5b5564=await getTargetSqlQueries(_0x3819cd,_0x109995,_0x3196ad['str'](_0x472176(0x1a7))||undefined),_0x586e88=[];for(const _0x3bf247 of _0x5b5564){const _0xa45d07=await computeSqlFileHash(_0x3bf247[_0x472176(0x1b9)]),_0x2041b3=_0x109995[_0x472176(0x1a8)][_0x3bf247[_0x472176(0x1dd)]],_0x64f604=!!_0x2041b3&&(_0x2041b3[_0x472176(0x1a6)]!==_0x3bf247['relativePath']||!!_0x3bf247[_0x472176(0x1d2)]&&_0x2041b3[_0x472176(0x1d2)]!==_0x3bf247['sqlName']);if(!_0x3196ad[_0x472176(0x1c0)](_0x472176(0x1d3))&&_0x2041b3&&_0x2041b3[_0x472176(0x1a5)]===_0xa45d07&&!_0x64f604)continue;_0x586e88[_0x472176(0x1cc)](_0x3bf247[_0x472176(0x1dd)]);}return{'method':_0x472176(0x1d4),'url':_0x472176(0x1d9),'body':{'sqlCodes':_0x586e88,'appCode':_0x3196ad[_0x472176(0x1bd)]},'description':'Would\x20push\x20'+_0x586e88[_0x472176(0x1c5)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x4a7f0a){const _0x8154e3=a213_0xe3ff7b,_0x16364b=loadSqlProjectConfig(_0x4a7f0a[_0x8154e3(0x1bd)]),_0x2775ee=await readSqlLockFile(_0x16364b[_0x8154e3(0x1ab)]),{lockData:_0x37c18d,appLock:_0x331a25}=ensureSqlLockScope(_0x2775ee??createEmptySqlLock(),_0x4a7f0a[_0x8154e3(0x1bd)],_0x16364b[_0x8154e3(0x1b5)],'push'),_0x12823a=await getTargetSqlQueries(_0x16364b,_0x331a25,_0x4a7f0a['str']('sqlcode')||undefined);if(_0x12823a[_0x8154e3(0x1c5)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x30b9fe=[],_0x5806fb=[],_0x2d6094=[];for(const _0x4a18b4 of _0x12823a){const _0x125dbf=_0x331a25['sqls'][_0x4a18b4['sqlCode']];if(!_0x125dbf){_0x2d6094['push']({'sqlCode':_0x4a18b4[_0x8154e3(0x1dd)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x58a9e2=await computeSqlFileHash(_0x4a18b4[_0x8154e3(0x1b9)]),_0x1dcf14=_0x125dbf[_0x8154e3(0x1a6)]!==_0x4a18b4[_0x8154e3(0x1ac)]||!!_0x4a18b4['sqlName']&&_0x125dbf[_0x8154e3(0x1d2)]!==_0x4a18b4['sqlName'];if(!_0x4a7f0a[_0x8154e3(0x1c0)](_0x8154e3(0x1d3))&&_0x125dbf['hash']===_0x58a9e2&&!_0x1dcf14){_0x5806fb['push']({'sqlCode':_0x4a18b4['sqlCode'],'reason':'unchanged'});continue;}if(_0x125dbf[_0x8154e3(0x1b1)]==null){_0x2d6094[_0x8154e3(0x1cc)]({'sqlCode':_0x4a18b4[_0x8154e3(0x1dd)],'error':_0x8154e3(0x1a4)});continue;}const _0x3b90a9=await readFile(_0x4a18b4[_0x8154e3(0x1b9)],_0x8154e3(0x1c2)),_0x463e6e=stripLocalSqlMetadata(_0x3b90a9,_0x4a18b4[_0x8154e3(0x1cd)]),_0x4dc4d5=_0x4a18b4[_0x8154e3(0x1d2)]||_0x125dbf[_0x8154e3(0x1d2)],_0x549104=await resolveTargetDbBinding(_0x4a7f0a['appCode'],_0x4a18b4,_0x125dbf),_0x10aa74=await updateSqlQuery({'id':_0x125dbf[_0x8154e3(0x1de)],'appCode':_0x4a7f0a[_0x8154e3(0x1bd)],'sqlCode':_0x4a18b4['sqlCode'],'sqlName':_0x4dc4d5,'dbId':_0x549104['dbId'],'version':_0x125dbf[_0x8154e3(0x1b1)],'sqlContent':_0x463e6e,'sqlConfig':_0x125dbf[_0x8154e3(0x1a9)]??undefined}),_0x14b7d9=_0x10aa74['dbId']?await getDbName(_0x4a7f0a[_0x8154e3(0x1bd)],Number(_0x10aa74[_0x8154e3(0x1d5)]))['catch'](()=>_0x549104[_0x8154e3(0x1b6)]):_0x549104[_0x8154e3(0x1b6)];_0x331a25[_0x8154e3(0x1a8)][_0x4a18b4[_0x8154e3(0x1dd)]]={...buildSqlLockEntry(_0x10aa74,_0x463e6e,_0x58a9e2,{'dbName':_0x14b7d9}),'path':_0x4a18b4['relativePath'],'mode':_0x125dbf[_0x8154e3(0x1cd)]},await archivePreviousSqlFileIfNeeded(_0x16364b,_0x125dbf[_0x8154e3(0x1a6)],_0x4a18b4[_0x8154e3(0x1ac)]),_0x30b9fe[_0x8154e3(0x1cc)]({'sqlCode':_0x4a18b4['sqlCode'],'remoteId':_0x125dbf[_0x8154e3(0x1de)]});}catch(_0x19349c){_0x2d6094[_0x8154e3(0x1cc)]({'sqlCode':_0x4a18b4['sqlCode'],'error':_0x19349c instanceof Error?_0x19349c[_0x8154e3(0x1b3)]:String(_0x19349c)});}}_0x331a25[_0x8154e3(0x1b7)]=new Date()['toISOString'](),await writeSqlLockFile(_0x16364b[_0x8154e3(0x1ab)],_0x37c18d);const _0x42d232=_0x2d6094[_0x8154e3(0x1c5)]===0x0;return{'ok':_0x42d232,'data':{'pushed':_0x30b9fe,'skipped':_0x5806fb,'failed':_0x2d6094},'message':'Push\x20complete:\x20'+_0x30b9fe[_0x8154e3(0x1c5)]+_0x8154e3(0x1cf)+_0x5806fb['length']+'\x20skipped,\x20'+_0x2d6094[_0x8154e3(0x1c5)]+_0x8154e3(0x1c4)};}};async function archivePreviousSqlFileIfNeeded(_0x3a0100,_0x39dab3,_0x278661){const _0xf3b1eb=a213_0xe3ff7b;if(!_0x39dab3||_0x39dab3===_0x278661)return;const _0x32e628=join(_0x3a0100[_0xf3b1eb(0x1d6)],_0x39dab3);if(!await fileExists(_0x32e628))return;const _0x518e56=await moveToTrash(_0x3a0100[_0xf3b1eb(0x1c6)],_0x3a0100[_0xf3b1eb(0x1e0)],_0x32e628);await cleanupEmptyDirectories(dirname(_0x32e628),_0x3a0100[_0xf3b1eb(0x1d6)]),void _0x518e56;}async function moveToTrash(_0x4e5dfa,_0x4cd183,_0x59e94b){const _0x30598c=a213_0xe3ff7b,_0x41727d=new Date()[_0x30598c(0x1d8)]()['replace'](/[:.]/g,'-'),_0x4d0d00=relative(_0x4e5dfa,_0x59e94b),_0x1c6b03=join(_0x4cd183,_0x41727d,_0x4d0d00);return await mkdir(dirname(_0x1c6b03),{'recursive':!![]}),await rename(_0x59e94b,_0x1c6b03),_0x1c6b03;}async function cleanupEmptyDirectories(_0x71e3c7,_0x285d98){const _0x2b1c80=a213_0xe3ff7b;let _0x39b529=resolve(_0x71e3c7);const _0x29c7a1=resolve(_0x285d98);while(_0x39b529[_0x2b1c80(0x1cb)](''+_0x29c7a1+sep)||_0x39b529===_0x29c7a1){if(_0x39b529===_0x29c7a1)return;try{const _0x31b1d9=await readdir(_0x39b529);if(_0x31b1d9[_0x2b1c80(0x1c5)]>0x0)return;await rmdir(_0x39b529);}catch{return;}_0x39b529=dirname(_0x39b529);}}async function resolveTargetDbBinding(_0x30504f,_0x4691b0,_0x3fb295){const _0x5fbee5=a213_0xe3ff7b,_0x3a8c87=_0x4691b0[_0x5fbee5(0x1b4)];if(!_0x3a8c87)return{'dbId':_0x3fb295[_0x5fbee5(0x1d5)],'dbName':_0x3fb295[_0x5fbee5(0x1b6)]};const _0x541002=buildDbDirectoryName(_0x3fb295[_0x5fbee5(0x1b6)],_0x3fb295[_0x5fbee5(0x1d5)]);if(_0x3a8c87===_0x541002)return{'dbId':_0x3fb295[_0x5fbee5(0x1d5)],'dbName':_0x3fb295[_0x5fbee5(0x1b6)]};const _0x4b3947=parseExplicitDbDirectory(_0x3a8c87);if(_0x4b3947!=null)return{'dbId':_0x4b3947,'dbName':await getDbName(_0x30504f,_0x4b3947)['catch'](()=>undefined)};const _0x5ec471=await listDatabases(_0x30504f),_0x1225dc=_0x5ec471[_0x5fbee5(0x1c8)](_0x74a0e2=>buildDbDirectoryName(_0x74a0e2['dbName'],_0x74a0e2[_0x5fbee5(0x1d5)])===_0x3a8c87);if(_0x1225dc[_0x5fbee5(0x1c5)]===0x1)return{'dbId':_0x1225dc[0x0][_0x5fbee5(0x1d5)],'dbName':_0x1225dc[0x0][_0x5fbee5(0x1b6)]};if(_0x1225dc['length']===0x0)throw CliErrors[_0x5fbee5(0x1c7)]('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x3a8c87+_0x5fbee5(0x1aa)+_0x4691b0[_0x5fbee5(0x1dd)]+'.');const _0x513232=_0x1225dc[_0x5fbee5(0x1db)](_0x56f0c4=>_0x56f0c4[_0x5fbee5(0x1b6)]+'\x20('+_0x56f0c4['dbId']+')')[_0x5fbee5(0x1d1)](',\x20');throw CliErrors[_0x5fbee5(0x1c7)](_0x5fbee5(0x1ae)+_0x3a8c87+_0x5fbee5(0x1c9)+_0x4691b0[_0x5fbee5(0x1dd)]+':\x20'+_0x513232);}function parseExplicitDbDirectory(_0x21c598){const _0x4f9788=a213_0xe3ff7b,_0x5a4580=/^db-(\d+)$/[_0x4f9788(0x1af)](_0x21c598);if(!_0x5a4580)return null;const _0x31c4fc=Number(_0x5a4580[0x1]);return Number[_0x4f9788(0x1ad)](_0x31c4fc)&&_0x31c4fc>0x0?_0x31c4fc:null;}
|
|
1
|
+
function a213_0x1c47(_0x32a822,_0x3d123b){_0x32a822=_0x32a822-0x157;const _0xff3c17=a213_0xff3c();let _0x1c4766=_0xff3c17[_0x32a822];return _0x1c4766;}const a213_0x479043=a213_0x1c47;(function(_0x498031,_0x588216){const _0x54b5b0=a213_0x1c47,_0x3503a9=_0x498031();while(!![]){try{const _0x1a18cb=-parseInt(_0x54b5b0(0x188))/0x1*(-parseInt(_0x54b5b0(0x181))/0x2)+-parseInt(_0x54b5b0(0x159))/0x3+-parseInt(_0x54b5b0(0x164))/0x4*(-parseInt(_0x54b5b0(0x19b))/0x5)+parseInt(_0x54b5b0(0x19c))/0x6*(parseInt(_0x54b5b0(0x18f))/0x7)+-parseInt(_0x54b5b0(0x17a))/0x8+parseInt(_0x54b5b0(0x191))/0x9+-parseInt(_0x54b5b0(0x15f))/0xa;if(_0x1a18cb===_0x588216)break;else _0x3503a9['push'](_0x3503a9['shift']());}catch(_0x41639f){_0x3503a9['push'](_0x3503a9['shift']());}}}(a213_0xff3c,0x597d0));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 a213_0xff3c(){const _0x5b2eed=['927288xLEvgi','No\x20database\x20matches\x20local\x20directory\x20\x22','lastSync','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','remoteId','/smartapi/custom/updateUserCustomSql','5509920vPisjp','push','has','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','catch','58260IZhMSO','\x20pushed,\x20','get','relativePath','dbName','path','hash','lockFilePath','\x22\x20for\x20sqlCode\x20','dbId','Local\x20SQL\x20not\x20found:\x20','sqlcode','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','length','mode','boolean','startsWith','sqlRootDir','utf8','\x20failed','Push\x20local\x20SQL\x20files\x20to\x20remote','filter','1684232UCTbEF','Local\x20directory\x20\x22','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','message','filePath','sqlRoot','map','253714sCXYTF','str','sqlCode','sql','replace','sqls','toISOString','4QPvJpx','exec','No\x20local\x20SQL\x20files\x20found.','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','sqlName','projectRoot','dbDirectory','7DCWgvp','unchanged','5643045WkXPDE','isFinite','\x20skipped,\x20','appCode','entries','bool','force','Push\x20complete:\x20','validation','\x20SQL\x20file(s)','15pCDplB','1554198xqzpKj','version','Would\x20push\x20'];a213_0xff3c=function(){return _0x5b2eed;};return a213_0xff3c();}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';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x52015c,_0xf5e871,_0x1f15de){const _0x4fbac4=a213_0x1c47,_0x1e4707=await scanLocalSqlQueries(_0x52015c),_0x117351=new Map();for(const _0xc26864 of _0x1e4707){if(_0x1f15de&&_0xc26864['sqlCode']!==_0x1f15de)continue;const _0xc9af8b=_0x117351[_0x4fbac4(0x166)](_0xc26864[_0x4fbac4(0x183)])??[];_0xc9af8b[_0x4fbac4(0x160)](_0xc26864),_0x117351['set'](_0xc26864[_0x4fbac4(0x183)],_0xc9af8b);}if(_0x1f15de&&!_0x117351[_0x4fbac4(0x161)](_0x1f15de))throw CliErrors['validation'](_0x4fbac4(0x16e)+_0x1f15de);const _0x50b389=[];for(const [_0x28d3d2,_0x4bbb2c]of _0x117351[_0x4fbac4(0x195)]()){if(_0x4bbb2c[_0x4fbac4(0x171)]===0x1){_0x50b389[_0x4fbac4(0x160)](_0x4bbb2c[0x0]);continue;}const _0x310f4b=_0xf5e871[_0x4fbac4(0x186)][_0x28d3d2],_0x4aad03=_0x310f4b?.['path'],_0x210718=_0x4aad03?_0x4bbb2c[_0x4fbac4(0x179)](_0x3fc1bc=>_0x3fc1bc[_0x4fbac4(0x167)]!==_0x4aad03):_0x4bbb2c;if(_0x310f4b&&_0x210718[_0x4fbac4(0x171)]===0x1){_0x50b389['push'](_0x210718[0x0]);continue;}throw CliErrors['validation']('Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20'+_0x28d3d2+_0x4fbac4(0x18b));}return _0x50b389;}export const sqlPush={'service':a213_0x479043(0x184),'command':'push','description':a213_0x479043(0x178),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':a213_0x479043(0x173),'description':a213_0x479043(0x170)}],async 'dryRun'(_0x93173e){const _0x5f5514=a213_0x479043,_0x38e851=loadSqlProjectConfig(_0x93173e[_0x5f5514(0x194)]),_0x57fe11=await readSqlLockFile(_0x38e851['lockFilePath']),{appLock:_0x68535d}=ensureSqlLockScope(_0x57fe11??createEmptySqlLock(),_0x93173e['appCode'],_0x38e851[_0x5f5514(0x17f)],_0x5f5514(0x160)),_0x27ff3b=await getTargetSqlQueries(_0x38e851,_0x68535d,_0x93173e[_0x5f5514(0x182)](_0x5f5514(0x16f))||undefined),_0x2da0c5=[];for(const _0x300489 of _0x27ff3b){const _0x2c95db=await computeSqlFileHash(_0x300489[_0x5f5514(0x17e)]),_0x51511d=_0x68535d[_0x5f5514(0x186)][_0x300489['sqlCode']],_0x1d8a8a=!!_0x51511d&&(_0x51511d[_0x5f5514(0x169)]!==_0x300489[_0x5f5514(0x167)]||!!_0x300489[_0x5f5514(0x18c)]&&_0x51511d['sqlName']!==_0x300489[_0x5f5514(0x18c)]);if(!_0x93173e[_0x5f5514(0x196)](_0x5f5514(0x197))&&_0x51511d&&_0x51511d[_0x5f5514(0x16a)]===_0x2c95db&&!_0x1d8a8a)continue;_0x2da0c5[_0x5f5514(0x160)](_0x300489[_0x5f5514(0x183)]);}return{'method':'POST','url':_0x5f5514(0x15e),'body':{'sqlCodes':_0x2da0c5,'appCode':_0x93173e[_0x5f5514(0x194)]},'description':_0x5f5514(0x158)+_0x2da0c5[_0x5f5514(0x171)]+_0x5f5514(0x19a)};},async 'execute'(_0x408d6e){const _0x333ce4=a213_0x479043,_0x5094df=loadSqlProjectConfig(_0x408d6e['appCode']),_0x3555f1=await readSqlLockFile(_0x5094df[_0x333ce4(0x16b)]),{lockData:_0x2c3096,appLock:_0x398920}=ensureSqlLockScope(_0x3555f1??createEmptySqlLock(),_0x408d6e[_0x333ce4(0x194)],_0x5094df[_0x333ce4(0x17f)],'push'),_0x259281=await getTargetSqlQueries(_0x5094df,_0x398920,_0x408d6e['str'](_0x333ce4(0x16f))||undefined);if(_0x259281[_0x333ce4(0x171)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x333ce4(0x18a)};const _0x3994df=[],_0x353021=[],_0xcd7b60=[];for(const _0x377615 of _0x259281){const _0x4785fb=_0x398920[_0x333ce4(0x186)][_0x377615[_0x333ce4(0x183)]];if(!_0x4785fb){_0xcd7b60[_0x333ce4(0x160)]({'sqlCode':_0x377615['sqlCode'],'error':_0x333ce4(0x17c)});continue;}try{const _0x921ba4=await computeSqlFileHash(_0x377615[_0x333ce4(0x17e)]),_0x356ff3=_0x4785fb[_0x333ce4(0x169)]!==_0x377615[_0x333ce4(0x167)]||!!_0x377615[_0x333ce4(0x18c)]&&_0x4785fb[_0x333ce4(0x18c)]!==_0x377615[_0x333ce4(0x18c)];if(!_0x408d6e[_0x333ce4(0x196)]('force')&&_0x4785fb[_0x333ce4(0x16a)]===_0x921ba4&&!_0x356ff3){_0x353021[_0x333ce4(0x160)]({'sqlCode':_0x377615[_0x333ce4(0x183)],'reason':_0x333ce4(0x190)});continue;}if(_0x4785fb[_0x333ce4(0x157)]==null){_0xcd7b60[_0x333ce4(0x160)]({'sqlCode':_0x377615[_0x333ce4(0x183)],'error':_0x333ce4(0x162)});continue;}const _0x1f4566=await readFile(_0x377615[_0x333ce4(0x17e)],_0x333ce4(0x176)),_0x1d9c76=stripLocalSqlMetadata(_0x1f4566,_0x377615[_0x333ce4(0x172)]),_0xf862df=_0x377615['sqlName']||_0x4785fb[_0x333ce4(0x18c)],_0x782fb2=await resolveTargetDbBinding(_0x408d6e[_0x333ce4(0x194)],_0x377615,_0x4785fb),_0x24951c=await updateSqlQuery({'id':_0x4785fb[_0x333ce4(0x15d)],'appCode':_0x408d6e['appCode'],'sqlCode':_0x377615[_0x333ce4(0x183)],'sqlName':_0xf862df,'dbId':_0x782fb2[_0x333ce4(0x16d)],'version':_0x4785fb['version'],'sqlContent':_0x1d9c76,'sqlConfig':_0x4785fb['sqlConfig']??undefined}),_0x18a1d3=_0x24951c[_0x333ce4(0x16d)]?await getDbName(_0x408d6e['appCode'],Number(_0x24951c[_0x333ce4(0x16d)]))[_0x333ce4(0x163)](()=>_0x782fb2[_0x333ce4(0x168)]):_0x782fb2[_0x333ce4(0x168)];_0x398920[_0x333ce4(0x186)][_0x377615[_0x333ce4(0x183)]]={...buildSqlLockEntry(_0x24951c,_0x1d9c76,_0x921ba4,{'dbName':_0x18a1d3}),'path':_0x377615['relativePath'],'mode':_0x4785fb[_0x333ce4(0x172)]},await archivePreviousSqlFileIfNeeded(_0x5094df,_0x4785fb[_0x333ce4(0x169)],_0x377615[_0x333ce4(0x167)]),_0x3994df['push']({'sqlCode':_0x377615[_0x333ce4(0x183)],'remoteId':_0x4785fb['remoteId']});}catch(_0x489d55){_0xcd7b60[_0x333ce4(0x160)]({'sqlCode':_0x377615[_0x333ce4(0x183)],'error':_0x489d55 instanceof Error?_0x489d55[_0x333ce4(0x17d)]:String(_0x489d55)});}}_0x398920[_0x333ce4(0x15b)]=new Date()[_0x333ce4(0x187)](),await writeSqlLockFile(_0x5094df[_0x333ce4(0x16b)],_0x2c3096);const _0x2a640e=_0xcd7b60[_0x333ce4(0x171)]===0x0;return{'ok':_0x2a640e,'data':{'pushed':_0x3994df,'skipped':_0x353021,'failed':_0xcd7b60},'message':_0x333ce4(0x198)+_0x3994df[_0x333ce4(0x171)]+_0x333ce4(0x165)+_0x353021['length']+_0x333ce4(0x193)+_0xcd7b60['length']+_0x333ce4(0x177)};}};async function archivePreviousSqlFileIfNeeded(_0x2927aa,_0x5be5d5,_0x1311c9){const _0xef4694=a213_0x479043;if(!_0x5be5d5||_0x5be5d5===_0x1311c9)return;const _0x238484=join(_0x2927aa[_0xef4694(0x175)],_0x5be5d5);if(!await fileExists(_0x238484))return;const _0x502d4c=await moveToTrash(_0x2927aa[_0xef4694(0x18d)],_0x2927aa['trashDir'],_0x238484);await cleanupEmptyDirectories(dirname(_0x238484),_0x2927aa['sqlRootDir']),void _0x502d4c;}async function moveToTrash(_0x504097,_0x30b3a4,_0x3db04f){const _0x29313c=a213_0x479043,_0x5d0fd2=new Date()[_0x29313c(0x187)]()[_0x29313c(0x185)](/[:.]/g,'-'),_0x9dfe70=relative(_0x504097,_0x3db04f),_0x583b3b=join(_0x30b3a4,_0x5d0fd2,_0x9dfe70);return await mkdir(dirname(_0x583b3b),{'recursive':!![]}),await rename(_0x3db04f,_0x583b3b),_0x583b3b;}async function cleanupEmptyDirectories(_0x48d328,_0x835b00){const _0x235ca5=a213_0x479043;let _0x471655=resolve(_0x48d328);const _0x4b3555=resolve(_0x835b00);while(_0x471655[_0x235ca5(0x174)](''+_0x4b3555+sep)||_0x471655===_0x4b3555){if(_0x471655===_0x4b3555)return;try{const _0x5615f0=await readdir(_0x471655);if(_0x5615f0['length']>0x0)return;await rmdir(_0x471655);}catch{return;}_0x471655=dirname(_0x471655);}}async function resolveTargetDbBinding(_0x2d2175,_0x40cec9,_0x3338b3){const _0x485261=a213_0x479043,_0x2380b8=_0x40cec9[_0x485261(0x18e)];if(!_0x2380b8)return{'dbId':_0x3338b3['dbId'],'dbName':_0x3338b3[_0x485261(0x168)]};const _0x2f2f00=buildDbDirectoryName(_0x3338b3['dbName'],_0x3338b3[_0x485261(0x16d)]);if(_0x2380b8===_0x2f2f00)return{'dbId':_0x3338b3[_0x485261(0x16d)],'dbName':_0x3338b3[_0x485261(0x168)]};const _0x48003d=parseExplicitDbDirectory(_0x2380b8);if(_0x48003d!=null)return{'dbId':_0x48003d,'dbName':await getDbName(_0x2d2175,_0x48003d)[_0x485261(0x163)](()=>undefined)};const _0x5e5d90=await listDatabases(_0x2d2175),_0x30e336=_0x5e5d90[_0x485261(0x179)](_0x19a753=>buildDbDirectoryName(_0x19a753['dbName'],_0x19a753[_0x485261(0x16d)])===_0x2380b8);if(_0x30e336[_0x485261(0x171)]===0x1)return{'dbId':_0x30e336[0x0]['dbId'],'dbName':_0x30e336[0x0][_0x485261(0x168)]};if(_0x30e336['length']===0x0)throw CliErrors[_0x485261(0x199)](_0x485261(0x15a)+_0x2380b8+_0x485261(0x16c)+_0x40cec9['sqlCode']+'.');const _0x31687f=_0x30e336[_0x485261(0x180)](_0x30e7df=>_0x30e7df[_0x485261(0x168)]+'\x20('+_0x30e7df['dbId']+')')['join'](',\x20');throw CliErrors['validation'](_0x485261(0x17b)+_0x2380b8+_0x485261(0x15c)+_0x40cec9[_0x485261(0x183)]+':\x20'+_0x31687f);}function parseExplicitDbDirectory(_0x4722a5){const _0x421fe3=a213_0x479043,_0x49213e=/^db-(\d+)$/[_0x421fe3(0x189)](_0x4722a5);if(!_0x49213e)return null;const _0x3ab8f1=Number(_0x49213e[0x1]);return Number[_0x421fe3(0x192)](_0x3ab8f1)&&_0x3ab8f1>0x0?_0x3ab8f1:null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a214_0x427823=a214_0xc4d8;function a214_0xc4d8(_0x596545,_0x4d80e9){_0x596545=_0x596545-0xe2;const _0x304573=a214_0x3045();let _0xc4d810=_0x304573[_0x596545];return _0xc4d810;}(function(_0x538547,_0x55fdcd){const _0x245a25=a214_0xc4d8,_0x3a99ee=_0x538547();while(!![]){try{const _0x250485=parseInt(_0x245a25(0xf7))/0x1+parseInt(_0x245a25(0xff))/0x2*(-parseInt(_0x245a25(0xf5))/0x3)+-parseInt(_0x245a25(0x100))/0x4+-parseInt(_0x245a25(0x10b))/0x5+parseInt(_0x245a25(0xe9))/0x6+-parseInt(_0x245a25(0xed))/0x7*(parseInt(_0x245a25(0xec))/0x8)+parseInt(_0x245a25(0x102))/0x9*(parseInt(_0x245a25(0xf1))/0xa);if(_0x250485===_0x55fdcd)break;else _0x3a99ee['push'](_0x3a99ee['shift']());}catch(_0x126dfc){_0x3a99ee['push'](_0x3a99ee['shift']());}}}(a214_0x3045,0xd91e5));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=a214_0x427823(0x105);export function buildSqlLockEntry(_0x5f23ff,_0x441278,_0x45f21d,_0x1e1b91){const _0x478efc=a214_0x427823,_0x241655=detectSqlMode(_0x441278);return{'path':buildSqlRelativePath(_0x5f23ff[_0x478efc(0xe2)],_0x5f23ff[_0x478efc(0xf3)],_0x1e1b91?.[_0x478efc(0x10a)],_0x241655,_0x5f23ff[_0x478efc(0xee)]),'hash':_0x45f21d,'remoteId':_0x5f23ff['id'],'version':_0x5f23ff[_0x478efc(0xfb)],'dbId':Number(_0x5f23ff['dbId']),'dbName':_0x1e1b91?.['dbName'],'sqlName':_0x5f23ff[_0x478efc(0xf3)],'sqlConfig':_0x5f23ff[_0x478efc(0xf9)]??undefined,'mode':_0x241655};}export function cloneSqlLockData(_0x58ce26){const _0x3ab44e=a214_0x427823;return{'apps':Object[_0x3ab44e(0xfc)](Object['entries'](_0x58ce26['apps'])[_0x3ab44e(0xef)](([_0x275fee,_0x4dfcbf])=>[_0x275fee,{'sqlRoot':_0x4dfcbf['sqlRoot'],'lastSync':_0x4dfcbf[_0x3ab44e(0xe3)],'sqls':{..._0x4dfcbf['sqls']}}]))};}export function ensureRemoteSqlContent(_0x5ef79f){const _0xfde11a=a214_0x427823;return _0x5ef79f[_0xfde11a(0x101)]??'';}export function buildLocalSqlFileContent(_0x2c1cf7,_0x4acb36,_0xe2dff8){const _0xc53ed5=a214_0x427823,_0x325595=_0xe2dff8?.[_0xc53ed5(0xf4)]??detectSqlMode(_0x4acb36),_0x2bfee2=stripLocalSqlMetadata(_0x4acb36,_0x325595)[_0xc53ed5(0xf0)](),_0x358adc=[...buildMetadataHeaderLines({'sqlCode':_0x2c1cf7[_0xc53ed5(0xe2)],'sqlName':_0x2c1cf7[_0xc53ed5(0xf3)],'dbId':_0x2c1cf7['dbId'],'dbName':_0xe2dff8?.['dbName'],'mode':_0x325595,'syncedAt':_0xe2dff8?.[_0xc53ed5(0xe8)],'description':_0xe2dff8?.[_0xc53ed5(0x104)]},_0x325595),'',_0x2bfee2],_0xf364cd=_0x358adc['join']('\x0a');return _0xf364cd[_0xc53ed5(0x10c)]('\x0a')?_0xf364cd:_0xf364cd+'\x0a';}export function stripLocalSqlMetadata(_0x1f532e,_0x5e19c5){const _0x5b1a27=a214_0x427823,_0x378eed=_0x1f532e[_0x5b1a27(0xfd)](/\r\n/g,'\x0a')[_0x5b1a27(0x108)]('\x0a'),_0x302552=[];let _0x2f323c=0x0;if(_0x5e19c5===_0x5b1a27(0xeb))while(_0x2f323c<_0x378eed[_0x5b1a27(0xe5)]){const _0x5548c1=_0x378eed[_0x2f323c]??'';if(/^\s*<!--\s*@lovrabet\./['test'](_0x5548c1)){_0x2f323c++;continue;}if(_0x5548c1['trim']()===''&&_0x2f323c>0x0){_0x2f323c++;continue;}break;}else while(_0x2f323c<_0x378eed[_0x5b1a27(0xe5)]){const _0x2195ba=_0x378eed[_0x2f323c]??'';if(/^\s*--\s*@lovrabet\./[_0x5b1a27(0x109)](_0x2195ba)){_0x2f323c++;continue;}if(_0x2195ba[_0x5b1a27(0xf0)]()===''&&_0x2f323c>0x0){_0x2f323c++;continue;}break;}for(;_0x2f323c<_0x378eed[_0x5b1a27(0xe5)];_0x2f323c++){_0x302552['push'](_0x378eed[_0x2f323c]);}return _0x302552[_0x5b1a27(0xf2)]('\x0a')[_0x5b1a27(0xf6)]();}export function resolveSqlMode(_0x178d0e,_0xd10bdb){const _0x6000df=a214_0x427823;if(_0xd10bdb?.[_0x6000df(0xf4)])return _0xd10bdb[_0x6000df(0xf4)];return detectSqlMode(_0x178d0e);}export function resolveSqlFileName(_0x2c4c63,_0x51ce83,_0x4bb2d0){const _0x5312d9=a214_0x427823;if(_0x4bb2d0?.['path'])return _0x4bb2d0[_0x5312d9(0x10d)];if(_0x4bb2d0?.[_0x5312d9(0xf3)]||_0x4bb2d0?.[_0x5312d9(0x10a)])return buildSqlRelativePath(_0x2c4c63,_0x4bb2d0?.[_0x5312d9(0xf3)],_0x4bb2d0?.[_0x5312d9(0x10a)],resolveSqlMode(_0x51ce83,_0x4bb2d0),_0x4bb2d0?.[_0x5312d9(0xee)]);return buildDefaultSqlFileName(_0x2c4c63,resolveSqlMode(_0x51ce83,_0x4bb2d0));}export function resolveSqlLocalDir(_0x2a6a59,_0x1125c9){return join(_0x2a6a59,SQL_LOCAL_REL_DIR,_0x1125c9);}export async function confirmForceOverwrite(_0x834f8a){const _0x27a6b1=a214_0x427823,_0x52048e=createInterface({'input':process[_0x27a6b1(0x103)],'output':process[_0x27a6b1(0xea)]}),_0x50e45e=await new Promise(_0x46e171=>{const _0x1aba4a=_0x27a6b1;_0x52048e[_0x1aba4a(0xe6)](_0x834f8a+_0x1aba4a(0xfe),_0x46e171);});return _0x52048e[_0x27a6b1(0x106)](),['y','yes'][_0x27a6b1(0x107)](_0x50e45e[_0x27a6b1(0xf0)]()[_0x27a6b1(0xe4)]());}export function findSqlLockScope(_0x340773,_0x2ef130){const _0x329c70=a214_0x427823;return _0x340773[_0x329c70(0xf8)][_0x2ef130];}function buildMetadataHeaderLines(_0x3a5f66,_0x1a2790){const _0x1f8bc1=a214_0x427823,_0x341823=[['sqlCode',_0x3a5f66[_0x1f8bc1(0xe2)]],['sqlName',_0x3a5f66[_0x1f8bc1(0xf3)]],[_0x1f8bc1(0xee),_0x3a5f66[_0x1f8bc1(0xee)]],[_0x1f8bc1(0x10a),_0x3a5f66[_0x1f8bc1(0x10a)]],[_0x1f8bc1(0xf4),_0x3a5f66[_0x1f8bc1(0xf4)]],[_0x1f8bc1(0xe8),_0x3a5f66[_0x1f8bc1(0xe8)]],['description',_0x3a5f66[_0x1f8bc1(0x104)]]];if(_0x1a2790===_0x1f8bc1(0xeb))return _0x341823[_0x1f8bc1(0xfa)](([,_0x3c0503])=>_0x3c0503!==undefined&&_0x3c0503!==null&&String(_0x3c0503)[_0x1f8bc1(0xf0)]()!=='')[_0x1f8bc1(0xef)](([_0x27820f,_0x4aa60])=>_0x1f8bc1(0xe7)+_0x27820f+':\x20'+String(_0x4aa60)+'\x20-->');return _0x341823[_0x1f8bc1(0xfa)](([,_0x31de72])=>_0x31de72!==undefined&&_0x31de72!==null&&String(_0x31de72)[_0x1f8bc1(0xf0)]()!=='')[_0x1f8bc1(0xef)](([_0x235cfd,_0x390852])=>'--\x20@lovrabet.'+_0x235cfd+':\x20'+String(_0x390852));}function a214_0x3045(){const _0x43a044=['mybatisXml','24QRgYgk','2850267yIRBXw','dbId','map','trim','1690yiePPU','join','sqlName','mode','3216495MvOYWg','trimStart','1583101iwNnXZ','apps','sqlConfig','filter','version','fromEntries','replace','\x20[y/N]\x20','2iCXxZJ','1126060mEiBFi','sqlContent','113193yeGauv','stdin','description','.rabetbase/sql','close','includes','split','test','dbName','7034140nXDNou','endsWith','path','sqlCode','lastSync','toLowerCase','length','question','<!--\x20@lovrabet.','syncedAt','6976524mPsrSo','stderr'];a214_0x3045=function(){return _0x43a044;};return a214_0x3045();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a215_0x310c(){const _0x4fea9b=['7308530drbTLz','10GsfsFM','length','4629252mfntWu','1662yKDABC','243iOZwnk','sqlRoot','3976AjDfEo','map','\x20missing,\x20','keys','26VbnIms','\x20remote-only','appCode','56572rVZErB','lockFilePath','\x20modified,\x20','29718XYcEuc','sqlName','relativePath','paging','sqlCode','sql','324915NVBFBE','read','22UYggTm','hash','push','remote','has','24437OnMExz','lockKey','tableData','path','\x20added,\x20','\x20unchanged','filePath','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','7696795ikGaiw','sqls'];a215_0x310c=function(){return _0x4fea9b;};return a215_0x310c();}const a215_0x2dc53d=a215_0x100a;(function(_0x5b5c80,_0x529a62){const _0x3b37a4=a215_0x100a,_0x6380aa=_0x5b5c80();while(!![]){try{const _0x2a527e=parseInt(_0x3b37a4(0x145))/0x1*(parseInt(_0x3b37a4(0x12f))/0x2)+-parseInt(_0x3b37a4(0x133))/0x3*(-parseInt(_0x3b37a4(0x13c))/0x4)+-parseInt(_0x3b37a4(0x154))/0x5+parseInt(_0x3b37a4(0x132))/0x6*(-parseInt(_0x3b37a4(0x14c))/0x7)+-parseInt(_0x3b37a4(0x135))/0x8*(parseInt(_0x3b37a4(0x13f))/0x9)+parseInt(_0x3b37a4(0x12e))/0xa*(parseInt(_0x3b37a4(0x147))/0xb)+parseInt(_0x3b37a4(0x131))/0xc*(parseInt(_0x3b37a4(0x139))/0xd);if(_0x2a527e===_0x529a62)break;else _0x6380aa['push'](_0x6380aa['shift']());}catch(_0x578550){_0x6380aa['push'](_0x6380aa['shift']());}}}(a215_0x310c,0xd0f8a));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 a215_0x100a(_0x508c38,_0x2c0164){_0x508c38=_0x508c38-0x12e;const _0x310c33=a215_0x310c();let _0x100af4=_0x310c33[_0x508c38];return _0x100af4;}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(_0x1ef49f){const _0x20cf07=a215_0x100a,_0x3d5ff4=[];let _0x9cb45=0x1;while(!![]){const _0x45338a=await listSqlQueries(_0x1ef49f,{'currentPage':_0x9cb45,'pageSize':PAGE_SIZE}),_0x2685bb=_0x45338a[_0x20cf07(0x14e)]??[];_0x3d5ff4['push'](..._0x2685bb['map'](_0x226738=>_0x226738[_0x20cf07(0x143)]));if(_0x2685bb[_0x20cf07(0x130)]===0x0)break;const _0x5deef5=_0x45338a[_0x20cf07(0x142)]?.['totalCount'];if(_0x5deef5!=null?_0x3d5ff4[_0x20cf07(0x130)]>=_0x5deef5:_0x2685bb[_0x20cf07(0x130)]<PAGE_SIZE)break;_0x9cb45++;}return _0x3d5ff4;}export const sqlStatus={'service':a215_0x2dc53d(0x144),'command':'status','description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':a215_0x2dc53d(0x146),'flags':[{'name':a215_0x2dc53d(0x14a),'type':'boolean','description':a215_0x2dc53d(0x153)}],async 'execute'(_0x58b34b){const _0x4e16ff=a215_0x2dc53d,_0x36fbe6=loadSqlProjectConfig(_0x58b34b[_0x4e16ff(0x13b)]),_0x537d70=await readSqlLockFile(_0x36fbe6[_0x4e16ff(0x13d)]),{appLock:_0x7cdf83}=ensureSqlLockScope(_0x537d70??createEmptySqlLock(),_0x36fbe6[_0x4e16ff(0x13b)],_0x36fbe6[_0x4e16ff(0x134)],'status'),_0x435ebc=await scanLocalSqlQueries(_0x36fbe6),_0x865c9a=[],_0x16aebb=[],_0xd736c1=[],_0x287ea2=[],_0x45caea=new Set(_0x435ebc[_0x4e16ff(0x136)](_0x23a663=>_0x23a663[_0x4e16ff(0x14d)]));for(const _0x4034c6 of _0x435ebc){const _0xa96ef5=await computeSqlFileHash(_0x4034c6[_0x4e16ff(0x152)]),_0xc0177d=_0x7cdf83[_0x4e16ff(0x155)][_0x4034c6[_0x4e16ff(0x14d)]],_0x36a724=!!_0xc0177d&&_0xc0177d[_0x4e16ff(0x14f)]!==_0x4034c6[_0x4e16ff(0x141)],_0x5dd58f=!!_0xc0177d&&!!_0x4034c6[_0x4e16ff(0x140)]&&_0xc0177d[_0x4e16ff(0x140)]!==_0x4034c6[_0x4e16ff(0x140)];if(!_0xc0177d)_0x865c9a['push'](_0x4034c6[_0x4e16ff(0x14d)]);else _0xc0177d[_0x4e16ff(0x148)]!==_0xa96ef5||_0x36a724||_0x5dd58f?_0x16aebb[_0x4e16ff(0x149)](_0x4034c6[_0x4e16ff(0x14d)]):_0xd736c1[_0x4e16ff(0x149)](_0x4034c6['lockKey']);}for(const _0x5b2795 of Object[_0x4e16ff(0x138)](_0x7cdf83[_0x4e16ff(0x155)])){!_0x45caea[_0x4e16ff(0x14b)](_0x5b2795)&&_0x287ea2[_0x4e16ff(0x149)](_0x5b2795);}const _0x487467=[];if(_0x58b34b['bool'](_0x4e16ff(0x14a))){const _0x4afc4d=await fetchAllSqlCodes(_0x58b34b[_0x4e16ff(0x13b)]);for(const _0x4ddcf2 of _0x4afc4d){!_0x45caea[_0x4e16ff(0x14b)](_0x4ddcf2)&&!_0x7cdf83[_0x4e16ff(0x155)][_0x4ddcf2]&&_0x487467['push'](_0x4ddcf2);}}const _0x59be0a=_0x865c9a['length']===0x0&&_0x16aebb[_0x4e16ff(0x130)]===0x0&&_0x287ea2[_0x4e16ff(0x130)]===0x0&&_0x487467['length']===0x0;return{'ok':!![],'data':{'added':_0x865c9a,'modified':_0x16aebb,'missing':_0x287ea2,'unchanged':_0xd736c1,'remoteOnly':_0x487467},'message':_0x59be0a?'All\x20SQL\x20queries\x20are\x20in\x20sync.':_0x865c9a[_0x4e16ff(0x130)]+_0x4e16ff(0x150)+_0x16aebb[_0x4e16ff(0x130)]+_0x4e16ff(0x13e)+_0x287ea2[_0x4e16ff(0x130)]+_0x4e16ff(0x137)+_0xd736c1[_0x4e16ff(0x130)]+_0x4e16ff(0x151)+(_0x487467[_0x4e16ff(0x130)]>0x0?',\x20'+_0x487467[_0x4e16ff(0x130)]+_0x4e16ff(0x13a):'')};}};
|