@lovrabet/rabetbase-cli 2.4.7 → 2.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +13 -3
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.d.ts +7 -0
- package/lib/api/generate-sdk-config-file.js +1 -0
- 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.d.ts +2 -5
- 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.d.ts +5 -0
- package/lib/commands/config/delete.js +1 -0
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +12 -0
- package/lib/commands/config/init.js +1 -0
- 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-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/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/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.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/template.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.d.ts +1 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.d.ts +6 -2
- 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.d.ts +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/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.d.ts +2 -2
- 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.d.ts +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/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.d.ts +10 -0
- package/lib/config/domain-config.js +1 -0
- package/lib/config/schema.d.ts +3 -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.d.ts +23 -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.d.ts +9 -0
- package/lib/constant/region.js +1 -0
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.d.ts +4 -6
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +2 -2
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +2 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.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.d.ts +11 -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.d.ts +2 -2
- 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/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.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/types/index.d.ts +28 -0
- package/lib/utils/ai_config.d.ts +1 -2
- 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 -3
- package/skills/rabetbase/SKILL.md +33 -28
- package/skills/rabetbase/guides/backend-function.md +41 -12
- package/skills/rabetbase/guides/bff-creation-workflow.md +6 -4
- package/skills/rabetbase/guides/custom-page-workflow.md +1 -1
- package/skills/rabetbase/guides/data-api-guidelines.md +8 -8
- package/skills/rabetbase/guides/database-connection-workflow.md +8 -16
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +1 -6
- package/skills/rabetbase/guides/sdk-client-generation.md +146 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +1 -1
- package/skills/rabetbase/guides/troubleshooting.md +1 -1
- package/skills/rabetbase/guides/typescript-sdk.md +46 -10
- package/skills/rabetbase/references/rabetbase-api-list.md +4 -4
- package/skills/rabetbase/references/rabetbase-api-pull.md +44 -29
- package/skills/rabetbase/references/rabetbase-app-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-auth-login.md +4 -2
- package/skills/rabetbase/references/rabetbase-bff-push.md +3 -1
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +3 -1
- package/skills/rabetbase/references/rabetbase-config.md +75 -30
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-db-analyze.md +3 -3
- package/skills/rabetbase/references/rabetbase-db-detail.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -4
- package/skills/rabetbase/references/rabetbase-db-diff.md +6 -9
- package/skills/rabetbase/references/rabetbase-doctor.md +1 -1
- package/skills/rabetbase/references/rabetbase-init.md +57 -51
- package/skills/rabetbase/references/rabetbase-kb.md +2 -0
- package/skills/rabetbase/references/rabetbase-page-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-custom-detail.md +3 -3
- package/skills/rabetbase/references/rabetbase-page-custom-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-project-create.md +12 -3
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +2 -2
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
- package/skills/rabetbase/references/rabetbase-user-account.md +1 -1
- package/skills/rabetbase/references/rabetbase-workspace.md +6 -6
- package/skills/rabetbase.manifest.json +4 -3
- package/templates/README.md +17 -28
- package/templates/generate-api/api.ts.tpl +3 -3
- package/templates/generate-api/client.ts.tpl +10 -37
- package/lib/commands/data/filter.d.ts +0 -7
- package/lib/commands/data/filter.js +0 -1
- package/lib/commands/data/getOne.d.ts +0 -7
- package/lib/commands/data/getOne.js +0 -1
- package/lib/commands/data/index.d.ts +0 -8
- package/lib/commands/data/index.js +0 -1
- package/lib/commands/data/shared.d.ts +0 -33
- package/lib/commands/data/shared.js +0 -1
- package/lib/commands/init/index.d.ts +0 -11
- package/lib/commands/init/index.js +0 -1
- package/lib/utils/rules-cdn.d.ts +0 -38
- package/lib/utils/rules-cdn.js +0 -1
- package/templates/rules/lovrabet_rules.mdc.tpl +0 -893
- package/templates/skill/SKILL.md.tpl +0 -120
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a223_0x44ca7c=a223_0x1305;(function(_0xb2cdd2,_0x470b80){const _0x424f7b=a223_0x1305,_0x367a0c=_0xb2cdd2();while(!![]){try{const _0x201b3b=-parseInt(_0x424f7b(0xbf))/0x1*(-parseInt(_0x424f7b(0xc9))/0x2)+-parseInt(_0x424f7b(0xb8))/0x3*(parseInt(_0x424f7b(0xad))/0x4)+-parseInt(_0x424f7b(0xab))/0x5+-parseInt(_0x424f7b(0xb0))/0x6*(parseInt(_0x424f7b(0xa3))/0x7)+parseInt(_0x424f7b(0xc2))/0x8+parseInt(_0x424f7b(0xbc))/0x9+-parseInt(_0x424f7b(0xc6))/0xa*(parseInt(_0x424f7b(0xc8))/0xb);if(_0x201b3b===_0x470b80)break;else _0x367a0c['push'](_0x367a0c['shift']());}catch(_0x58a9ad){_0x367a0c['push'](_0x367a0c['shift']());}}}(a223_0x1bdd,0xc9dbd));import{access,mkdir,readdir,stat}from'node:fs/promises';import{constants}from'node:fs';import{dirname,join,resolve,sep}from'node:path';import{findHookLocationByRemoteId,snakeToCamel}from'../../core/bff/utils.js';export const SUPPORTED_BFF_TYPES=['COMMON',a223_0x44ca7c(0xcd),a223_0x44ca7c(0xc0)];export function normalizeBffType(_0x3d2fd6){const _0x35847d=a223_0x44ca7c;if(!_0x3d2fd6)return undefined;const _0x587e14=_0x3d2fd6['trim']()[_0x35847d(0xb3)]();return SUPPORTED_BFF_TYPES['includes'](_0x587e14)?_0x587e14:undefined;}async function scanJsFilesRecursively(_0x1d75b1,_0x5ab64f){const _0x590d9b=a223_0x44ca7c,_0x22cbd4=[];try{const _0x5df265=await readdir(_0x1d75b1,{'withFileTypes':!![]});for(const _0x1915f8 of _0x5df265){const _0x287c49=join(_0x1d75b1,_0x1915f8[_0x590d9b(0xac)]);if(_0x1915f8['isDirectory']())_0x22cbd4[_0x590d9b(0xcb)](...await scanJsFilesRecursively(_0x287c49,_0x5ab64f+'/'+_0x1915f8[_0x590d9b(0xac)]));else _0x1915f8[_0x590d9b(0xb1)]()&&_0x1915f8[_0x590d9b(0xac)]['endsWith'](_0x590d9b(0xa8))&&_0x22cbd4[_0x590d9b(0xcb)]({'lockKey':_0x5ab64f+'/'+_0x1915f8[_0x590d9b(0xac)]['replace'](/\.js$/,''),'filePath':_0x287c49});}}catch(_0x8bed9f){if(_0x8bed9f[_0x590d9b(0xa5)]!=='ENOENT')throw _0x8bed9f;}return _0x22cbd4;}async function scanFlatFunctions(_0x5ba81c,_0x12006b){const _0x389d04=a223_0x44ca7c,_0x55dd8b=join(_0x5ba81c[_0x389d04(0xa6)],_0x12006b),_0x5dc051=await scanJsFilesRecursively(_0x55dd8b,_0x12006b);return _0x5dc051[_0x389d04(0xb4)](({lockKey:_0x3d9f86,filePath:_0x1390fb})=>({'type':_0x12006b,'name':_0x3d9f86['split']('/')['at'](-0x1)??'','filePath':_0x1390fb,'lockKey':_0x3d9f86}));}async function scanHookFunctions(_0x4ef72a){const _0x328aa3=a223_0x44ca7c,_0x515533=join(_0x4ef72a['scriptsRootDir'],_0x328aa3(0xc0)),_0x60c5d0=[];try{const _0xb816ce=await readdir(_0x515533,{'withFileTypes':!![]});for(const _0x4b37ff of _0xb816ce){if(!_0x4b37ff['isDirectory']())continue;const _0x2217a5=_0x4b37ff[_0x328aa3(0xac)],_0x56bb50=join(_0x515533,_0x2217a5),_0xaf3eeb=await readdir(_0x56bb50,{'withFileTypes':!![]});for(const _0x3c782c of _0xaf3eeb){if(!_0x3c782c[_0x328aa3(0xcc)]())continue;const _0x4fd0bc=_0x3c782c[_0x328aa3(0xac)],_0x2be084=join(_0x56bb50,_0x4fd0bc),_0x58d478=await readdir(_0x2be084,{'withFileTypes':!![]});for(const _0x5ecdfa of _0x58d478){if(!_0x5ecdfa['isDirectory']())continue;const _0x3c96bd=_0x5ecdfa['name'],_0x4d9951=join(_0x2be084,_0x3c96bd),_0x17f8af=await readdir(_0x4d9951,{'withFileTypes':!![]});for(const _0x1a5948 of _0x17f8af){if(!_0x1a5948[_0x328aa3(0xb1)]()||!_0x1a5948[_0x328aa3(0xac)][_0x328aa3(0xae)]('.js'))continue;const _0x12dfad=_0x1a5948[_0x328aa3(0xac)][_0x328aa3(0xbe)](/\.js$/,'');_0x60c5d0[_0x328aa3(0xcb)]({'type':_0x328aa3(0xc0),'name':_0x12dfad,'filePath':join(_0x4d9951,_0x1a5948['name']),'lockKey':_0x328aa3(0xbd)+_0x2217a5+'/'+_0x4fd0bc+'/'+_0x3c96bd+'/'+_0x12dfad,'alias':_0x2217a5,'operationType':_0x4fd0bc,'functionNode':_0x3c96bd});}}}}}catch(_0x32e12f){if(_0x32e12f[_0x328aa3(0xa5)]!==_0x328aa3(0xb6))throw _0x32e12f;}return _0x60c5d0;}export async function scanLocalBffFunctions(_0x33c80f,_0x51ef6b){const _0x141cb1=a223_0x44ca7c;if(_0x51ef6b===_0x141cb1(0xb7)||_0x51ef6b===_0x141cb1(0xcd))return scanFlatFunctions(_0x33c80f,_0x51ef6b);if(_0x51ef6b===_0x141cb1(0xc0))return scanHookFunctions(_0x33c80f);const [_0x45db51,_0x54e7ff,_0x46ec9f]=await Promise['all']([scanFlatFunctions(_0x33c80f,_0x141cb1(0xb7)),scanFlatFunctions(_0x33c80f,_0x141cb1(0xcd)),scanHookFunctions(_0x33c80f)]);return[..._0x45db51,..._0x54e7ff,..._0x46ec9f];}const SAFE_LOCK_KEY_SEGMENT=/^[A-Za-z0-9_$.-]+$/;function a223_0x1305(_0x10d7b5,_0x34783){_0x10d7b5=_0x10d7b5-0xa3;const _0x1bdd8b=a223_0x1bdd();let _0x1305cf=_0x1bdd8b[_0x10d7b5];return _0x1305cf;}function a223_0x1bdd(){const _0x3cb993=['1696020ZZuwsz','name','2020QPlQdN','endsWith','set','789324GkYRBz','isFile','functionName','toUpperCase','map','after','ENOENT','COMMON','2217sNdTeD','afterScriptId','before','Resolved\x20Backend\x20Function\x20script\x20path\x20escapes\x20scripts\x20root:\x20','9943290AYLZBf','HOOK/','replace','2dQKQxN','HOOK','alias','12135456JrcnLz','split','operationType','scriptType','20sZcdCS','F_OK','2437787HrCPEO','544690vsRhEN','datasetCode','push','isDirectory','ENDPOINT','63nwglEQ','Unsafe\x20Backend\x20Function\x20lock\x20key\x20(traversal\x20or\x20invalid\x20segment):\x20','code','scriptsRootDir','every','.js','test','beforeScriptId'];a223_0x1bdd=function(){return _0x3cb993;};return a223_0x1bdd();}export function isSafeLockKeySegment(_0x4fc142){const _0x5a8edd=a223_0x44ca7c;return SAFE_LOCK_KEY_SEGMENT[_0x5a8edd(0xa9)](_0x4fc142)&&_0x4fc142!=='.'&&_0x4fc142!=='..';}export function resolveLocalFilePathFromLockKey(_0x197693,_0x460451){const _0x5eecbd=a223_0x44ca7c,_0x3fabd8=_0x460451[_0x5eecbd(0xc3)]('/');if(!_0x3fabd8[_0x5eecbd(0xa7)](isSafeLockKeySegment))throw new Error(_0x5eecbd(0xa4)+_0x460451);const _0x4a23eb=resolve(join(_0x197693[_0x5eecbd(0xa6)],..._0x3fabd8)+'.js'),_0x5e8786=resolve(_0x197693[_0x5eecbd(0xa6)]);if(_0x4a23eb!==_0x5e8786&&!_0x4a23eb['startsWith'](_0x5e8786+sep))throw new Error(_0x5eecbd(0xbb)+_0x4a23eb);return _0x4a23eb;}export function createHookLocationMap(_0x20e12d){const _0x436ce0=a223_0x44ca7c,_0x225ce6=new Map();for(const _0x38dcef of _0x20e12d){_0x38dcef[_0x436ce0(0xaa)]&&_0x225ce6[_0x436ce0(0xaf)](_0x38dcef[_0x436ce0(0xaa)],{'datasetCode':_0x38dcef['datasetCode'],'operationType':snakeToCamel(_0x38dcef[_0x436ce0(0xc4)]),'functionNode':_0x436ce0(0xba)}),_0x38dcef[_0x436ce0(0xb9)]&&_0x225ce6[_0x436ce0(0xaf)](_0x38dcef['afterScriptId'],{'datasetCode':_0x38dcef[_0x436ce0(0xca)],'operationType':snakeToCamel(_0x38dcef['operationType']),'functionNode':_0x436ce0(0xb5)});}return _0x225ce6;}export function resolveRemoteScriptTarget(_0x25d9b1,_0x15e928,_0xccda56,_0x290456,_0x2854ec){const _0x3276a9=a223_0x44ca7c,_0x2a7b16=normalizeBffType(_0x15e928[_0x3276a9(0xc5)]);if(!_0x2a7b16||!_0x15e928[_0x3276a9(0xb2)])return null;if(_0x2a7b16===_0x3276a9(0xc0)){const _0x1b2e75=(_0x15e928['id']?_0xccda56['get'](_0x15e928['id']):undefined)??findHookLocationByRemoteId(_0x290456,_0x15e928['id']);if(!_0x1b2e75)return null;const _0x1b9c6b=_0x1b2e75[_0x3276a9(0xc1)]||_0x2854ec['get'](_0x1b2e75[_0x3276a9(0xca)]),_0x400397=_0x1b9c6b??_0x1b2e75[_0x3276a9(0xca)],_0x2e5eeb={..._0x1b2e75,'alias':_0x1b9c6b},_0x5bc51b=_0x3276a9(0xbd)+_0x400397+'/'+_0x2e5eeb[_0x3276a9(0xc4)]+'/'+_0x2e5eeb['functionNode']+'/'+_0x15e928[_0x3276a9(0xb2)];if(!_0x5bc51b['split']('/')['every'](isSafeLockKeySegment))return null;return{'lockKey':_0x5bc51b,'filePath':resolveLocalFilePathFromLockKey(_0x25d9b1,_0x5bc51b),'type':_0x3276a9(0xc0),'hookLocation':_0x2e5eeb};}const _0x1fbce5=_0x2a7b16+'/'+_0x15e928[_0x3276a9(0xb2)];if(!_0x1fbce5[_0x3276a9(0xc3)]('/')[_0x3276a9(0xa7)](isSafeLockKeySegment))return null;return{'lockKey':_0x1fbce5,'filePath':resolveLocalFilePathFromLockKey(_0x25d9b1,_0x1fbce5),'type':_0x2a7b16};}export async function ensureParentDirectory(_0x45f3fc){await mkdir(dirname(_0x45f3fc),{'recursive':!![]});}export async function fileExists(_0x3f2a98){const _0x1cd7d8=a223_0x44ca7c;try{return await access(_0x3f2a98,constants[_0x1cd7d8(0xc7)]),!![];}catch{return![];}}export async function directoryExists(_0x50322c){try{const _0x53b0ab=await stat(_0x50322c);return _0x53b0ab['isDirectory']();}catch{return![];}}
|
package/lib/core/bff/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1f79e1,_0x346180){const _0xddf094=a224_0x2959,_0x5d9f43=_0x1f79e1();while(!![]){try{const _0x367d94=parseInt(_0xddf094(0xc2))/0x1+parseInt(_0xddf094(0xc5))/0x2*(parseInt(_0xddf094(0xbd))/0x3)+parseInt(_0xddf094(0xc6))/0x4+-parseInt(_0xddf094(0xc0))/0x5*(parseInt(_0xddf094(0xc9))/0x6)+parseInt(_0xddf094(0xc7))/0x7+parseInt(_0xddf094(0xbe))/0x8+-parseInt(_0xddf094(0xc8))/0x9*(parseInt(_0xddf094(0xc4))/0xa);if(_0x367d94===_0x346180)break;else _0x5d9f43['push'](_0x5d9f43['shift']());}catch(_0x7213d8){_0x5d9f43['push'](_0x5d9f43['shift']());}}}(a224_0x1c67,0x48bec));import{readFile}from'node:fs/promises';import a224_0x3f436d from'node:crypto';export function computeContentHash(_0x4da327){const _0x594359=a224_0x2959;return a224_0x3f436d[_0x594359(0xc1)]('md5')['update'](_0x4da327)['digest'](_0x594359(0xc3));}export async function computeFileHash(_0xf7da04){const _0x395166=a224_0x2959,_0x411155=await readFile(_0xf7da04,_0x395166(0xbf));return computeContentHash(_0x411155);}function a224_0x2959(_0x33920f,_0x4f4ad7){_0x33920f=_0x33920f-0xbd;const _0x1c67a7=a224_0x1c67();let _0x2959ee=_0x1c67a7[_0x33920f];return _0x2959ee;}function a224_0x1c67(){const _0xd94f0a=['createHash','443542hlVTyE','hex','70MEkWYt','44DMbreu','90604cHvkwG','3719485hpTwOY','1753749JjqEer','30sGYEYe','50334aPKWZW','3322576TzmpAx','utf8','119995qnSPUL'];a224_0x1c67=function(){return _0xd94f0a;};return a224_0x1c67();}
|
package/lib/core/bff/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x17b59e,_0x343727){const _0xa1ffd5=a225_0x5aa4,_0x797fe0=_0x17b59e();while(!![]){try{const _0x5a7268=-parseInt(_0xa1ffd5(0x1f0))/0x1+-parseInt(_0xa1ffd5(0x1f6))/0x2*(-parseInt(_0xa1ffd5(0x1f8))/0x3)+-parseInt(_0xa1ffd5(0x1fd))/0x4*(-parseInt(_0xa1ffd5(0x1ef))/0x5)+parseInt(_0xa1ffd5(0x1f5))/0x6*(-parseInt(_0xa1ffd5(0x1ee))/0x7)+-parseInt(_0xa1ffd5(0x1f9))/0x8*(-parseInt(_0xa1ffd5(0x1fb))/0x9)+parseInt(_0xa1ffd5(0x1f1))/0xa+-parseInt(_0xa1ffd5(0x1fe))/0xb;if(_0x5a7268===_0x343727)break;else _0x797fe0['push'](_0x797fe0['shift']());}catch(_0x11d68e){_0x797fe0['push'](_0x797fe0['shift']());}}}(a225_0x2d7e,0x56656));function a225_0x2d7e(){const _0x5adaad=['8245523MfbxlG','parse','object','\x22\x20vs\x20lock\x20\x22','stringify','Check\x20.rabetbase/bff.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','lastSync','scriptsRoot','apps','208103tAwgDS','35RvHiLs','45764KaTIcu','3155900FnkoBl','utf8','code','ENOENT','12qmCQfa','1341246RBqsVC','\x22.\x20','3pBjVRa','16OqzUCN','functions','719613tsQKIj','Failed\x20to\x20read\x20Backend\x20Function\x20lock\x20file:\x20','35752Kqorao'];a225_0x2d7e=function(){return _0x5adaad;};return a225_0x2d7e();}import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';function a225_0x5aa4(_0x52f158,_0x2b8c2d){_0x52f158=_0x52f158-0x1e7;const _0x2d7e3c=a225_0x2d7e();let _0x5aa42d=_0x2d7e3c[_0x52f158];return _0x5aa42d;}export function createEmptyBffLock(){return{'apps':{}};}export function ensureLockScope(_0x535f01,_0x2261e2,_0x5c3870,_0x3cd7c7){const _0x4d680e=a225_0x5aa4,_0xf005b0={'apps':_0x535f01['apps']&&typeof _0x535f01[_0x4d680e(0x1ed)]===_0x4d680e(0x1e7)?_0x535f01[_0x4d680e(0x1ed)]:{}};let _0x4e2421=_0xf005b0[_0x4d680e(0x1ed)][_0x2261e2];if(!_0x4e2421)return _0x4e2421={'scriptsRoot':_0x5c3870,'lastSync':'','functions':{}},_0xf005b0[_0x4d680e(0x1ed)][_0x2261e2]=_0x4e2421,{'lockData':_0xf005b0,'appLock':_0x4e2421};if(!_0x4e2421[_0x4d680e(0x1ec)])_0x4e2421[_0x4d680e(0x1ec)]=_0x5c3870;else{if(_0x4e2421[_0x4d680e(0x1ec)]!==_0x5c3870)throw new Error(_0x3cd7c7+':\x20scriptsRoot\x20mismatch\x20—\x20'+('current\x20\x22'+_0x5c3870+_0x4d680e(0x1e8)+_0x4e2421[_0x4d680e(0x1ec)]+_0x4d680e(0x1f7))+_0x4d680e(0x1ea));}return!_0x4e2421['functions']&&(_0x4e2421[_0x4d680e(0x1fa)]={}),!_0x4e2421[_0x4d680e(0x1eb)]&&(_0x4e2421[_0x4d680e(0x1eb)]=''),{'lockData':_0xf005b0,'appLock':_0x4e2421};}export async function readBffLockFile(_0x511551){const _0x3f26d=a225_0x5aa4;try{const _0x1a4ae6=await readFile(_0x511551,_0x3f26d(0x1f2)),_0x211810=JSON[_0x3f26d(0x1ff)](_0x1a4ae6);return{'apps':_0x211810['apps']&&typeof _0x211810['apps']===_0x3f26d(0x1e7)?_0x211810[_0x3f26d(0x1ed)]:{}};}catch(_0x5a2c55){if(_0x5a2c55[_0x3f26d(0x1f3)]===_0x3f26d(0x1f4))return null;throw new Error(_0x3f26d(0x1fc)+String(_0x5a2c55));}}export async function writeBffLockFile(_0x1ebaab,_0x343fa1){const _0x2bf845=a225_0x5aa4;await mkdir(dirname(_0x1ebaab),{'recursive':!![]}),await writeFile(_0x1ebaab,JSON[_0x2bf845(0x1e9)](_0x343fa1,null,0x2),_0x2bf845(0x1f2));}
|
package/lib/core/bff/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a227_0x1671(_0x22a742,_0x20d855){_0x22a742=_0x22a742-0xdc;const _0x1768b9=a227_0x1768();let _0x16714a=_0x1768b9[_0x22a742];return _0x16714a;}const a227_0x198b3f=a227_0x1671;(function(_0x4eea4c,_0x33ad5c){const _0x25d6d6=a227_0x1671,_0x49d521=_0x4eea4c();while(!![]){try{const _0x49e621=-parseInt(_0x25d6d6(0xf0))/0x1+-parseInt(_0x25d6d6(0xdf))/0x2*(parseInt(_0x25d6d6(0xf2))/0x3)+parseInt(_0x25d6d6(0xe2))/0x4*(parseInt(_0x25d6d6(0xde))/0x5)+-parseInt(_0x25d6d6(0xef))/0x6+-parseInt(_0x25d6d6(0xe3))/0x7+-parseInt(_0x25d6d6(0xe7))/0x8*(-parseInt(_0x25d6d6(0xe8))/0x9)+parseInt(_0x25d6d6(0xe9))/0xa;if(_0x49e621===_0x33ad5c)break;else _0x49d521['push'](_0x49d521['shift']());}catch(_0x1fdf58){_0x49d521['push'](_0x49d521['shift']());}}}(a227_0x1768,0xa0485));export const DEFAULT_BFF_SCRIPT_DESCRIPTION=a227_0x198b3f(0xdc);const LEGACY_DEFAULT_BFF_SCRIPT_DESCRIPTION=a227_0x198b3f(0xe6);export function snakeToCamel(_0x422135){const _0x143164=a227_0x198b3f;return _0x422135['toLowerCase']()[_0x143164(0xe5)](/_([a-z])/g,(_0x591d89,_0x57736e)=>_0x57736e[_0x143164(0xf4)]());}function a227_0x1768(){const _0x354362=['operationType','replace','TODO:\x20add\x20script\x20description','290216YRDhph','99vfkpVo','8358450JUaheL','map','before','match','trim','some','4537044gnKTmi','207929PJvuEj','functionNode','1083TWglnu','split','toUpperCase','TODO:\x20补充脚本功能描述','test','10QXsYDd','566NMPlMp','remoteId','datasetCode','1756492KNkaLX','2732485jzdIMH'];a227_0x1768=function(){return _0x354362;};return a227_0x1768();}export function findHookLocationByRemoteId(_0x505d71,_0x3c7d3b){const _0x9634d9=a227_0x198b3f;if(!_0x3c7d3b)return undefined;for(const _0x4e9622 of Object['values'](_0x505d71)){if(_0x4e9622[_0x9634d9(0xe0)]===_0x3c7d3b&&_0x4e9622['datasetCode']&&_0x4e9622[_0x9634d9(0xe4)]&&_0x4e9622[_0x9634d9(0xf1)])return{'datasetCode':_0x4e9622[_0x9634d9(0xe1)],'operationType':_0x4e9622[_0x9634d9(0xe4)],'functionNode':_0x4e9622[_0x9634d9(0xf1)]};}return undefined;}export function extractScriptDescription(_0x1672fb){const _0x3427a1=a227_0x198b3f,_0x5b2ced=_0x1672fb[_0x3427a1(0xec)](/^\s*\/\*\*([\s\S]*?)\*\//);if(!_0x5b2ced?.[0x1])return undefined;const _0x38ef91=_0x5b2ced[0x1],_0x3b0752=_0xaaee42=>{const _0x16787e=_0x3427a1,_0xe24739=_0xaaee42?.[_0x16787e(0xed)]();if(!_0xe24739||_0xe24739===DEFAULT_BFF_SCRIPT_DESCRIPTION||_0xe24739===LEGACY_DEFAULT_BFF_SCRIPT_DESCRIPTION)return undefined;return _0xe24739;},_0x5401d3=_0x38ef91['match'](/^\s*\*\s*\[\s*脚本描述\s*]\s*(.+)$/m);if(_0x5401d3)return _0x3b0752(_0x5401d3[0x1]);const _0x3d4b19=_0x38ef91[_0x3427a1(0xf3)](/\r?\n/)[_0x3427a1(0xea)](_0x415459=>_0x415459[_0x3427a1(0xe5)](/^\s*\*\s?/,'')[_0x3427a1(0xed)]()),_0x3955a6=_0x3d4b19[_0x3427a1(0xee)](_0x577110=>/^\[\s*脚本类型\s*]\s*\S+/[_0x3427a1(0xdd)](_0x577110))&&_0x3d4b19[_0x3427a1(0xee)](_0x4a45af=>/^\[\s*脚本名称\s*]\s*\S+/[_0x3427a1(0xdd)](_0x4a45af));if(!_0x3955a6)return undefined;for(const _0x26ec21 of _0x3d4b19){if(!_0x26ec21||_0x26ec21['startsWith']('@')||/^\[[^\]]+]\s*/[_0x3427a1(0xdd)](_0x26ec21))continue;return _0x3b0752(_0x26ec21);}return undefined;}export function isValidBffFunctionName(_0x48e468){const _0x25429f=a227_0x198b3f;return/^[A-Za-z_$][A-Za-z0-9_$]*$/[_0x25429f(0xdd)](_0x48e468);}export function normalizeHookFunctionNode(_0x584502){const _0x1f65b8=a227_0x198b3f;if(!_0x584502)return undefined;const _0x3106e9=_0x584502[_0x1f65b8(0xed)]()['toLowerCase']();if(_0x3106e9===_0x1f65b8(0xeb)||_0x3106e9==='after')return _0x3106e9;return undefined;}
|
package/lib/core/db-resolver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x238b4a,_0x36ce4d){const _0x791cc8=a228_0x1cb3,_0x5e8ddb=_0x238b4a();while(!![]){try{const _0x488164=parseInt(_0x791cc8(0x180))/0x1*(parseInt(_0x791cc8(0x169))/0x2)+-parseInt(_0x791cc8(0x184))/0x3+-parseInt(_0x791cc8(0x175))/0x4*(parseInt(_0x791cc8(0x185))/0x5)+parseInt(_0x791cc8(0x171))/0x6*(-parseInt(_0x791cc8(0x182))/0x7)+-parseInt(_0x791cc8(0x181))/0x8+-parseInt(_0x791cc8(0x16d))/0x9*(-parseInt(_0x791cc8(0x17e))/0xa)+-parseInt(_0x791cc8(0x166))/0xb*(-parseInt(_0x791cc8(0x16c))/0xc);if(_0x488164===_0x36ce4d)break;else _0x5e8ddb['push'](_0x5e8ddb['shift']());}catch(_0x206c74){_0x5e8ddb['push'](_0x5e8ddb['shift']());}}}(a228_0x18d1,0x7181c));function a228_0x1cb3(_0x477a75,_0x5534bf){_0x477a75=_0x477a75-0x166;const _0x18d1c7=a228_0x18d1();let _0x1cb38a=_0x18d1c7[_0x477a75];return _0x1cb38a;}import{listDatasets}from'../core/api-client.js';const cache=new Map();function a228_0x18d1(){const _0x59561a=['156430pXwatJ','find','12VYDxsW','2621360KkwrMm','7BPlQsV','\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.','1324434crEOuu','835QAsCYc','3058jwhKta','length','toLowerCase','2288pylkUK','join','set','66348Drcfiq','225pqXtUr','includes','dbName','has','1473222kVYdSW','.\x20Be\x20more\x20specific.','db-','Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20','11072tubRgL','\x22\x20matches\x20multiple\x20databases:\x20','dbId','\x22.\x20Available:\x20','isNaN','dbtableConfig','get','filter','map'];a228_0x18d1=function(){return _0x59561a;};return a228_0x18d1();}export async function listDatabases(_0x20bc50){const _0x289b3f=a228_0x1cb3;if(cache[_0x289b3f(0x170)](_0x20bc50))return cache[_0x289b3f(0x17b)](_0x20bc50);const _0x226123=await listDatasets(_0x20bc50),_0x26e0b6=new Map();for(const _0x4ca90b of _0x226123){const _0x4e9e2c=_0x4ca90b[_0x289b3f(0x17a)];_0x4e9e2c?.[_0x289b3f(0x177)]!=null&&_0x26e0b6['set'](_0x4e9e2c[_0x289b3f(0x177)],_0x4e9e2c['dbName']??_0x289b3f(0x173)+_0x4e9e2c[_0x289b3f(0x177)]);}const _0x20d95a=[..._0x26e0b6['entries']()][_0x289b3f(0x17d)](([_0x395ba5,_0x439f90])=>({'dbId':_0x395ba5,'dbName':_0x439f90}));return cache[_0x289b3f(0x16b)](_0x20bc50,_0x20d95a),_0x20d95a;}export async function resolveDb(_0xc5d206,_0x42ce35){const _0x3817a9=a228_0x1cb3,_0x1779da=await listDatabases(_0xc5d206);if(_0x1779da['length']===0x0)return{'resolved':[],'error':'No\x20linked\x20databases\x20found\x20under\x20app\x20\x22'+_0xc5d206+_0x3817a9(0x183)};if(!_0x42ce35)return{'resolved':_0x1779da};const _0x3b7b63=Number(_0x42ce35);if(!Number[_0x3817a9(0x179)](_0x3b7b63)){const _0x390019=_0x1779da[_0x3817a9(0x17f)](_0x54d33d=>_0x54d33d[_0x3817a9(0x177)]===_0x3b7b63);if(_0x390019)return{'resolved':[_0x390019]};}const _0x414948=_0x42ce35[_0x3817a9(0x168)](),_0x3cdbf9=_0x1779da[_0x3817a9(0x17c)](_0x31f4e6=>_0x31f4e6[_0x3817a9(0x16f)][_0x3817a9(0x168)]()[_0x3817a9(0x16e)](_0x414948));if(_0x3cdbf9[_0x3817a9(0x167)]>0x0)return{'resolved':_0x3cdbf9};const _0x74a5c1=_0x1779da['map'](_0x1ba998=>_0x1ba998[_0x3817a9(0x16f)]+'\x20('+_0x1ba998[_0x3817a9(0x177)]+')')['join'](',\x20');return{'resolved':[],'error':'No\x20database\x20matching\x20\x22'+_0x42ce35+'\x22\x20under\x20app\x20\x22'+_0xc5d206+_0x3817a9(0x178)+_0x74a5c1+'.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.'};}export async function resolveOneDb(_0x70a9dd,_0x48a37a){const _0x19ecab=a228_0x1cb3,{resolved:_0x268482,error:_0xb2ef88}=await resolveDb(_0x70a9dd,_0x48a37a);if(_0xb2ef88)return{'db':null,'error':_0xb2ef88};if(_0x268482[_0x19ecab(0x167)]===0x1)return{'db':_0x268482[0x0]};if(!_0x48a37a){const _0x4102e8=_0x268482['map'](_0x4d4bd3=>_0x4d4bd3[_0x19ecab(0x16f)]+'\x20('+_0x4d4bd3['dbId']+')')['join'](',\x20');return{'db':null,'error':_0x19ecab(0x174)+_0x4102e8};}const _0x498460=_0x268482[_0x19ecab(0x17d)](_0x38e789=>_0x38e789[_0x19ecab(0x16f)]+'\x20('+_0x38e789['dbId']+')')[_0x19ecab(0x16a)](',\x20');return{'db':null,'error':'\x22'+_0x48a37a+_0x19ecab(0x176)+_0x498460+_0x19ecab(0x172)};}export async function getDbName(_0x511577,_0x5d3e7c){const _0x12eafc=a228_0x1cb3,_0x98d34f=await listDatabases(_0x511577);return _0x98d34f[_0x12eafc(0x17f)](_0x45582f=>_0x45582f['dbId']===_0x5d3e7c)?.['dbName'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a229_0x244f04=a229_0x3e78;(function(_0x3dc415,_0x591b6f){const _0x19f314=a229_0x3e78,_0x9850e7=_0x3dc415();while(!![]){try{const _0x2423af=-parseInt(_0x19f314(0x153))/0x1+parseInt(_0x19f314(0x145))/0x2*(-parseInt(_0x19f314(0x148))/0x3)+parseInt(_0x19f314(0x14b))/0x4+parseInt(_0x19f314(0x14e))/0x5*(parseInt(_0x19f314(0x146))/0x6)+-parseInt(_0x19f314(0x147))/0x7*(-parseInt(_0x19f314(0x14a))/0x8)+-parseInt(_0x19f314(0x150))/0x9+parseInt(_0x19f314(0x14d))/0xa*(-parseInt(_0x19f314(0x149))/0xb);if(_0x2423af===_0x591b6f)break;else _0x9850e7['push'](_0x9850e7['shift']());}catch(_0x26553e){_0x9850e7['push'](_0x9850e7['shift']());}}}(a229_0x4bdf,0xd5ad5));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';export function loadPageProjectConfig(_0x2671b1,_0x4d4c2e=process[a229_0x244f04(0x154)]()){const _0x4c21f6=a229_0x244f04,_0x3222b0=resolve(_0x4d4c2e),_0x164aa3=join(_0x3222b0,_0x4c21f6(0x14c),_0x4c21f6(0x152));return{'projectRoot':_0x3222b0,'pagesBaseDir':_0x164aa3,'appPagesDir':join(_0x164aa3,_0x2671b1),'lockFilePath':join(_0x3222b0,_0x4c21f6(0x14c),'page.lock.json')};}function a229_0x4bdf(){const _0x45d1b8=['28NZTouL','404517hbOEfj','1038697mCVRkx','757128Jujczc','4323552VZQapM','.rabetbase','60EccdDl','655915XaLIKh','.json','4180779kmXqvd','F_OK','page','183461eCszVu','cwd','14AwEOdT','72XStTBt'];a229_0x4bdf=function(){return _0x45d1b8;};return a229_0x4bdf();}export function buildPageFileName(_0x280d4f,_0x3d173c){const _0x2991b8=a229_0x244f04;return _0x280d4f+'-'+String(_0x3d173c)['toUpperCase']()+_0x2991b8(0x14f);}function a229_0x3e78(_0x5343ee,_0xf87795){_0x5343ee=_0x5343ee-0x145;const _0x4bdff2=a229_0x4bdf();let _0x3e78c6=_0x4bdff2[_0x5343ee];return _0x3e78c6;}export function resolvePageFilePath(_0x1c47db,_0x20eb17,_0x28a63e){return join(_0x1c47db['appPagesDir'],buildPageFileName(_0x20eb17,_0x28a63e));}export async function ensureParentDirectory(_0x1713ef){await mkdir(dirname(_0x1713ef),{'recursive':!![]});}export async function fileExists(_0x252f8f){const _0x3f3a50=a229_0x244f04;try{return await access(_0x252f8f,constants[_0x3f3a50(0x151)]),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x58f7af,_0x1142cf){const _0x10098b=a230_0x3803,_0x418e9f=_0x58f7af();while(!![]){try{const _0x3e5565=parseInt(_0x10098b(0xe9))/0x1+-parseInt(_0x10098b(0xe1))/0x2*(parseInt(_0x10098b(0xe7))/0x3)+parseInt(_0x10098b(0xe3))/0x4+parseInt(_0x10098b(0xe8))/0x5+parseInt(_0x10098b(0xec))/0x6+-parseInt(_0x10098b(0xdf))/0x7+-parseInt(_0x10098b(0xe5))/0x8*(parseInt(_0x10098b(0xde))/0x9);if(_0x3e5565===_0x1142cf)break;else _0x418e9f['push'](_0x418e9f['shift']());}catch(_0x9d0b91){_0x418e9f['push'](_0x418e9f['shift']());}}}(a230_0x590d,0xec4ca));import a230_0x5a344b from'node:crypto';import{readFile}from'node:fs/promises';function a230_0x590d(){const _0x1bd78a=['239336lBSeWW','stringify','7246120PjKRJv','createHash','4952BkpFVd','update','18MIushG','4605150SpAsNW','189630pbPIsK','digest','md5','3301944cZYJOY','6426SOpdtC','9412606cxWNeS','utf8'];a230_0x590d=function(){return _0x1bd78a;};return a230_0x590d();}export function serializePageSchemaForFile(_0xa66eac){const _0x32ef9f=a230_0x3803;return JSON[_0x32ef9f(0xe2)](JSON['parse'](_0xa66eac),null,0x2)+'\x0a';}function a230_0x3803(_0x5d1e87,_0x39d16a){_0x5d1e87=_0x5d1e87-0xde;const _0x590d83=a230_0x590d();let _0x38032b=_0x590d83[_0x5d1e87];return _0x38032b;}export function computePageContentHash(_0x2e192d){const _0x1654e5=a230_0x3803;return a230_0x5a344b[_0x1654e5(0xe4)](_0x1654e5(0xeb))[_0x1654e5(0xe6)](_0x2e192d)[_0x1654e5(0xea)]('hex');}export function computeSerializedSchemaHash(_0x3ddad3){return computePageContentHash(serializePageSchemaForFile(_0x3ddad3));}export async function computePageFileHash(_0x5ac479){const _0x1699df=a230_0x3803,_0x8f7a8b=await readFile(_0x5ac479,_0x1699df(0xe0));return computePageContentHash(_0x8f7a8b);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x257d99,_0x3ff444){const _0x4c9dfa=a231_0x7d72,_0x39febc=_0x257d99();while(!![]){try{const _0xb0fbb6=-parseInt(_0x4c9dfa(0x87))/0x1*(-parseInt(_0x4c9dfa(0x86))/0x2)+parseInt(_0x4c9dfa(0x78))/0x3+parseInt(_0x4c9dfa(0x76))/0x4+parseInt(_0x4c9dfa(0x7f))/0x5*(parseInt(_0x4c9dfa(0x85))/0x6)+parseInt(_0x4c9dfa(0x7c))/0x7*(parseInt(_0x4c9dfa(0x7b))/0x8)+parseInt(_0x4c9dfa(0x82))/0x9*(parseInt(_0x4c9dfa(0x84))/0xa)+-parseInt(_0x4c9dfa(0x83))/0xb*(parseInt(_0x4c9dfa(0x7e))/0xc);if(_0xb0fbb6===_0x3ff444)break;else _0x39febc['push'](_0x39febc['shift']());}catch(_0x480307){_0x39febc['push'](_0x39febc['shift']());}}}(a231_0x4d45,0xed9fb));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}function a231_0x7d72(_0x19ca86,_0x54cf65){_0x19ca86=_0x19ca86-0x75;const _0x4d45f7=a231_0x4d45();let _0x7d7261=_0x4d45f7[_0x19ca86];return _0x7d7261;}export function ensurePageLockScope(_0xe2d90c,_0x5e66e5){const _0x2ca54e=a231_0x7d72,_0x5e715b={'apps':_0xe2d90c['apps']&&typeof _0xe2d90c[_0x2ca54e(0x7d)]===_0x2ca54e(0x77)?_0xe2d90c[_0x2ca54e(0x7d)]:{}};let _0x366a6=_0x5e715b[_0x2ca54e(0x7d)][_0x5e66e5];if(!_0x366a6)return _0x366a6={'lastSync':'','pages':{}},_0x5e715b[_0x2ca54e(0x7d)][_0x5e66e5]=_0x366a6,{'lockData':_0x5e715b,'appLock':_0x366a6};return!_0x366a6[_0x2ca54e(0x79)]&&(_0x366a6[_0x2ca54e(0x79)]=''),(!_0x366a6[_0x2ca54e(0x81)]||typeof _0x366a6['pages']!=='object')&&(_0x366a6[_0x2ca54e(0x81)]={}),{'lockData':_0x5e715b,'appLock':_0x366a6};}export async function readPageLockFile(_0x19da80){const _0x8c603d=a231_0x7d72;try{const _0x410c80=await readFile(_0x19da80,'utf8'),_0x44718e=JSON[_0x8c603d(0x7a)](_0x410c80);return{'apps':_0x44718e[_0x8c603d(0x7d)]&&typeof _0x44718e[_0x8c603d(0x7d)]==='object'?_0x44718e[_0x8c603d(0x7d)]:{}};}catch(_0x58f4e3){if(_0x58f4e3['code']===_0x8c603d(0x75))return null;throw new Error('Failed\x20to\x20read\x20page\x20lock\x20file:\x20'+String(_0x58f4e3));}}function a231_0x4d45(){const _0x498de3=['693OzqVUf','42966242cGvGrp','144410ENVetd','46938BIycMu','2628712rDXqck','1EjZzbn','ENOENT','5022448DaONwe','object','1428345ZzRktD','lastSync','parse','16HaDDbs','2223326lWaATs','apps','12ibuUPu','55hdFOsw','stringify','pages'];a231_0x4d45=function(){return _0x498de3;};return a231_0x4d45();}export async function writePageLockFile(_0x15c491,_0x33dbd5){const _0x68e9cb=a231_0x7d72;await mkdir(dirname(_0x15c491),{'recursive':!![]}),await writeFile(_0x15c491,JSON[_0x68e9cb(0x80)](_0x33dbd5,null,0x2),'utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1c9750,_0x2a8b77){const _0x3f315d=a233_0x3153,_0xdaea69=_0x1c9750();while(!![]){try{const _0x5164a5=parseInt(_0x3f315d(0x119))/0x1*(-parseInt(_0x3f315d(0x127))/0x2)+parseInt(_0x3f315d(0x10c))/0x3*(parseInt(_0x3f315d(0x13c))/0x4)+parseInt(_0x3f315d(0xf4))/0x5*(parseInt(_0x3f315d(0x133))/0x6)+parseInt(_0x3f315d(0x11e))/0x7*(parseInt(_0x3f315d(0x11b))/0x8)+parseInt(_0x3f315d(0x118))/0x9+-parseInt(_0x3f315d(0x123))/0xa+-parseInt(_0x3f315d(0xf9))/0xb;if(_0x5164a5===_0x2a8b77)break;else _0xdaea69['push'](_0xdaea69['shift']());}catch(_0xe1105c){_0xdaea69['push'](_0xdaea69['shift']());}}}(a233_0x1dc3,0xad5cd));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x5d8286,_0x58b0b9){const _0x2f5d5e=a233_0x3153,_0xc01745=[],_0x27bb8e=normalizeSqlForStaticAnalysis(_0x5d8286),_0x2cb188=(_0x27bb8e[_0x2f5d5e(0x101)]?[]:extractJoinFacts(_0x27bb8e[_0x2f5d5e(0x108)]))[_0x2f5d5e(0x111)](_0x1c1182=>{const _0x553b94=_0x2f5d5e;if(_0x1c1182['unsupportedPredicate']||_0x1c1182[_0x553b94(0x12e)][_0x553b94(0x116)]===0x0)return _0xc01745[_0x553b94(0x12d)]({'code':_0x553b94(0x11f),'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182['alias'],'columns':_0x1c1182[_0x553b94(0x12e)],'reason':_0x1c1182['unsupportedReason']??'Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.'}),{'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182[_0x553b94(0x12e)],'status':_0x553b94(0x107)};const _0x56f376=resolveTableMetadata(_0x58b0b9,_0x1c1182[_0x553b94(0x12b)]),_0x4d249c=(_0x56f376?.[_0x553b94(0x11d)]??[])[_0x553b94(0x111)](_0xcbd6bc=>({'index':_0xcbd6bc,'matchedPrefix':findEqualityPrefix(_0xcbd6bc['columns'],_0x1c1182[_0x553b94(0x12e)])}))[_0x553b94(0x102)](_0x2f0618=>_0x2f0618[_0x553b94(0xf7)][_0x553b94(0x116)]>0x0),_0x575110=_0x4d249c[_0x553b94(0x122)]((_0x521f4b,_0x31819f)=>!_0x521f4b||_0x31819f[_0x553b94(0xf7)]['length']>_0x521f4b[_0x553b94(0xf7)][_0x553b94(0x116)]?_0x31819f:_0x521f4b,_0x4d249c[0x0]);if(_0x575110)return{'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182[_0x553b94(0x12e)],'status':_0x553b94(0x138),'matchedIndex':{..._0x575110[_0x553b94(0x113)],'matchedPrefix':_0x575110[_0x553b94(0xf7)]}};const _0x128d55=_0x56f376?.[_0x553b94(0x11d)][_0x553b94(0x102)](_0x1c1e66=>_0x1c1e66[_0x553b94(0x12e)][_0x553b94(0xf8)](_0x21cc2f=>_0x1c1182[_0x553b94(0x12e)][_0x553b94(0xf8)](_0x2dbc72=>columnNamesMatch(_0x21cc2f,_0x2dbc72))))??[];if(_0x128d55[_0x553b94(0x116)]>0x0)return _0xc01745[_0x553b94(0x12d)]({'code':_0x553b94(0xf5),'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182['columns'],'reason':_0x553b94(0x11c)}),{'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182['columns'],'status':_0x553b94(0x13a),'candidateIndexes':_0x128d55};if(_0x56f376&&_0x56f376[_0x553b94(0x105)]!==![]&&_0x56f376[_0x553b94(0x11d)][_0x553b94(0x116)]>0x0&&_0x1c1182['columns'][_0x553b94(0x116)]>0x0)return _0xc01745[_0x553b94(0x12d)]({'code':_0x553b94(0x130),'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182[_0x553b94(0x12e)],'reason':_0x553b94(0x13e)}),{'table':_0x1c1182['table'],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182['columns'],'status':_0x553b94(0x13a)};return _0xc01745[_0x553b94(0x12d)]({'code':_0x553b94(0x10a),'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182[_0x553b94(0x12e)],'reason':_0x56f376?_0x553b94(0xfd):'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0x1c1182[_0x553b94(0x12b)],'alias':_0x1c1182[_0x553b94(0xfe)],'columns':_0x1c1182['columns'],'status':_0x553b94(0x107)};});return{'checked':_0x2cb188[_0x2f5d5e(0x116)]>0x0,'joins':_0x2cb188,'warnings':_0xc01745};}function extractJoinFacts(_0xaf8dfc){const _0x1b2117=a233_0x3153,_0x41cedd=maskNestedQueries(stripSqlNoise(_0xaf8dfc)),_0x33aa1c=maskQuotedIdentifiers(_0x41cedd),_0x595a45=[],_0x5203d6=new Set(),_0x3438c5=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x439f0f of _0x41cedd[_0x1b2117(0xfc)](_0x3438c5)){const _0x28c05b=_0x439f0f['index']??0x0,_0x2ac04c=_0x439f0f[0x0]['search'](/\bJOIN\b/i),_0x1c5bdb=_0x28c05b+Math['max'](0x0,_0x2ac04c);if(!/^JOIN\b/i[_0x1b2117(0xf6)](_0x33aa1c[_0x1b2117(0x12f)](_0x1c5bdb)))continue;_0x5203d6['add'](_0x1c5bdb);const _0x30680b=normalizeIdentifier(_0x439f0f[0x1]||_0x1b2117(0x121)),_0x50c885=normalizeIdentifier(_0x439f0f[0x2]??''),_0x38b9e0=normalizeIdentifier(_0x439f0f[0x3]||_0x50c885[_0x1b2117(0xfa)]('.')['at'](-0x1)||_0x50c885),_0x5d4172=[],_0x2e34e4=_0x50c885===_0x1b2117(0x136);let _0x10aa5c=_0x30680b===_0x1b2117(0x135)||_0x30680b===_0x1b2117(0x139)||_0x2e34e4,_0x4241bc=_0x10aa5c?_0x2e34e4?'Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.':_0x30680b[_0x1b2117(0x10e)]()+_0x1b2117(0x128):undefined;const _0x4d3268=stripOuterParentheses(_0x439f0f[0x4]??''),_0x344549=_0x4d3268[_0x1b2117(0x120)](MYBATIS_DYNAMIC_START_MARKER)||_0x4d3268[_0x1b2117(0x120)](MYBATIS_DYNAMIC_END_MARKER),_0x168ac4=_0x4d3268[_0x1b2117(0x120)](MYBATIS_INCLUDE_MARKER);_0x344549&&(_0x10aa5c=!![],_0x4241bc??='MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.');_0x168ac4&&(_0x10aa5c=!![],_0x4241bc??=_0x1b2117(0x124));const _0x3aac02=_0x4d3268[_0x1b2117(0x10b)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x1b2117(0x10b)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x3aac02,'OR')&&(_0x10aa5c=!![],_0x4241bc??=_0x1b2117(0x104));for(const _0x537753 of splitTopLevelAnd(_0x3aac02)){const _0x195b3a=stripOuterParentheses(_0x537753);if(hasTopLevelKeyword(_0x195b3a,'OR')){_0x10aa5c=!![],_0x4241bc??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.';continue;}const _0x29a20d=splitEquality(_0x195b3a);if(!_0x29a20d){containsColumnReference(_0x537753,_0x38b9e0)&&(_0x10aa5c=!![]);continue;}const _0xfc9dc6=parseDirectColumnReference(_0x29a20d[0x0],_0x38b9e0),_0x4478d4=parseDirectColumnReference(_0x29a20d[0x1],_0x38b9e0),_0x56900a=containsColumnReference(_0x29a20d[0x0],_0x38b9e0),_0x1a1214=containsColumnReference(_0x29a20d[0x1],_0x38b9e0),_0x2e173b=_0xfc9dc6&&!_0x1a1214?_0xfc9dc6:_0x4478d4&&!_0x56900a?_0x4478d4:null;if(_0x2e173b&&!_0x5d4172[_0x1b2117(0x120)](_0x2e173b))_0x5d4172[_0x1b2117(0x12d)](_0x2e173b);else!_0x2e173b&&containsColumnReference(_0x537753,_0x38b9e0)&&(_0x10aa5c=!![]);}_0x595a45[_0x1b2117(0x12d)]({'table':_0x50c885,'alias':_0x38b9e0,'columns':_0x5d4172,'unsupportedPredicate':_0x10aa5c,'unsupportedReason':_0x4241bc,'containsUnresolvedInclude':_0x168ac4,'position':_0x1c5bdb});}for(const _0x3b0843 of _0x33aa1c[_0x1b2117(0xfc)](/\bJOIN\b/gi)){const _0x2fa105=_0x3b0843[_0x1b2117(0x113)]??0x0;if(_0x5203d6[_0x1b2117(0xfb)](_0x2fa105))continue;const _0x265317=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x1b2117(0x112)](_0x41cedd[_0x1b2117(0x12f)](_0x2fa105+_0x3b0843[0x0][_0x1b2117(0x116)])),_0x302863=normalizeIdentifier(_0x265317?.[0x1]||_0x1b2117(0xff)),_0x344748=normalizeIdentifier(_0x265317?.[0x2]||''),_0x336df0=isSqlClauseKeyword(_0x344748)?_0x302863['split']('.')['at'](-0x1)||_0x302863:_0x344748||_0x302863[_0x1b2117(0xfa)]('.')['at'](-0x1)||_0x302863;_0x595a45['push']({'table':_0x302863,'alias':_0x336df0,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x1b2117(0x10d),'position':_0x2fa105});}const _0x274a9a=_0x33aa1c[_0x1b2117(0x117)](MYBATIS_INCLUDE_MARKER);return _0x274a9a>=0x0&&!_0x595a45[_0x1b2117(0xf8)](_0x448488=>_0x448488[_0x1b2117(0x126)])&&_0x595a45['push']({'table':_0x1b2117(0xff),'alias':'unknown','columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x1b2117(0x13b),'containsUnresolvedInclude':!![],'position':_0x274a9a}),_0x595a45['sort']((_0x329870,_0xc0015c)=>_0x329870['position']-_0xc0015c[_0x1b2117(0x134)]);}function stripSqlNoise(_0x1c265b){const _0x8aec53=a233_0x3153,_0x1fb583=Array[_0x8aec53(0x12c)](_0x1c265b),_0x575e81=(_0x1aabd2,_0x3ded7c)=>{for(let _0x5d4b85=_0x1aabd2;_0x5d4b85<_0x3ded7c;_0x5d4b85+=0x1){_0x1fb583[_0x5d4b85]!=='\x0a'&&_0x1fb583[_0x5d4b85]!=='\x0d'&&(_0x1fb583[_0x5d4b85]='\x20');}};for(let _0x107d6a=0x0;_0x107d6a<_0x1fb583[_0x8aec53(0x116)];_0x107d6a+=0x1){const _0x31a238=_0x1fb583[_0x107d6a],_0x43689b=_0x1fb583[_0x107d6a+0x1];if(_0x31a238==='\x27'||_0x31a238==='\x22'||_0x31a238==='`'){const _0x51e0e8=_0x31a238,_0xb9507d=_0x107d6a;_0x107d6a+=0x1;while(_0x107d6a<_0x1fb583['length']){if(_0x1fb583[_0x107d6a]==='\x5c'&&_0x107d6a+0x1<_0x1fb583[_0x8aec53(0x116)]){_0x107d6a+=0x2;continue;}if(_0x1fb583[_0x107d6a]!==_0x51e0e8){_0x107d6a+=0x1;continue;}if(_0x1fb583[_0x107d6a+0x1]===_0x51e0e8){_0x107d6a+=0x2;continue;}break;}if(_0x51e0e8==='\x27')_0x575e81(_0xb9507d,Math['min'](_0x107d6a+0x1,_0x1fb583[_0x8aec53(0x116)]));continue;}if(_0x31a238==='-'&&_0x43689b==='-'){const _0xfc7df0=_0x107d6a;while(_0x107d6a<_0x1fb583[_0x8aec53(0x116)]&&_0x1fb583[_0x107d6a]!=='\x0a')_0x107d6a+=0x1;_0x575e81(_0xfc7df0,_0x107d6a);continue;}if(_0x31a238==='/'&&_0x43689b==='*'){const _0x33cd0c=_0x107d6a;_0x107d6a+=0x2;while(_0x107d6a<_0x1fb583[_0x8aec53(0x116)]&&!(_0x1fb583[_0x107d6a]==='*'&&_0x1fb583[_0x107d6a+0x1]==='/')){_0x107d6a+=0x1;}_0x107d6a=Math[_0x8aec53(0x137)](_0x107d6a+0x1,_0x1fb583[_0x8aec53(0x116)]-0x1),_0x575e81(_0x33cd0c,_0x107d6a+0x1);continue;}if(_0x31a238==='#'&&_0x43689b!=='{'){const _0x2ffc72=_0x107d6a;while(_0x107d6a<_0x1fb583[_0x8aec53(0x116)]&&_0x1fb583[_0x107d6a]!=='\x0a')_0x107d6a+=0x1;_0x575e81(_0x2ffc72,_0x107d6a);continue;}if((_0x31a238==='#'||_0x31a238==='$')&&_0x43689b==='{'){const _0xc008f6=_0x107d6a;_0x107d6a+=0x2;while(_0x107d6a<_0x1fb583[_0x8aec53(0x116)]&&_0x1fb583[_0x107d6a]!=='}')_0x107d6a+=0x1;_0x575e81(_0xc008f6,Math[_0x8aec53(0x137)](_0x107d6a+0x1,_0x1fb583[_0x8aec53(0x116)]));}}return _0x1fb583[_0x8aec53(0x125)]('');}function maskQuotedIdentifiers(_0x347b07){const _0x3dc133=a233_0x3153,_0x5d8bfd=Array['from'](_0x347b07);for(let _0x138d89=0x0;_0x138d89<_0x5d8bfd[_0x3dc133(0x116)];_0x138d89+=0x1){const _0x3e4067=_0x5d8bfd[_0x138d89];if(_0x3e4067!=='\x22'&&_0x3e4067!=='`')continue;_0x138d89+=0x1;while(_0x138d89<_0x5d8bfd[_0x3dc133(0x116)]){if(_0x5d8bfd[_0x138d89]===_0x3e4067){if(_0x5d8bfd[_0x138d89+0x1]===_0x3e4067){_0x5d8bfd[_0x138d89]='\x20',_0x5d8bfd[_0x138d89+0x1]='\x20',_0x138d89+=0x2;continue;}break;}_0x5d8bfd[_0x138d89]='\x20',_0x138d89+=0x1;}}return _0x5d8bfd['join']('');}function maskNestedQueries(_0x36c449){const _0x35c428=a233_0x3153,_0x2dc003=Array[_0x35c428(0x12c)](_0x36c449);for(let _0x2a87c8=0x0;_0x2a87c8<_0x2dc003[_0x35c428(0x116)];_0x2a87c8+=0x1){if(_0x2dc003[_0x2a87c8]!=='(')continue;const _0x495269=_0x36c449[_0x35c428(0x12f)](_0x2a87c8+0x1);if(!/^\s*(?:SELECT|WITH)\b/i['test'](_0x495269))continue;let _0x234315=0x1,_0x51c834=_0x2a87c8+0x1;for(;_0x51c834<_0x2dc003[_0x35c428(0x116)]&&_0x234315>0x0;_0x51c834+=0x1){if(_0x2dc003[_0x51c834]==='(')_0x234315+=0x1;if(_0x2dc003[_0x51c834]===')')_0x234315-=0x1;}if(_0x234315!==0x0)continue;for(let _0x5a2e28=_0x2a87c8;_0x5a2e28<_0x51c834;_0x5a2e28+=0x1){_0x2dc003[_0x5a2e28]='\x20';}const _0x2ad175=_0x35c428(0x136);for(let _0x283837=0x0;_0x283837<_0x2ad175[_0x35c428(0x116)]&&_0x2a87c8+_0x283837<_0x51c834;_0x283837+=0x1){_0x2dc003[_0x2a87c8+_0x283837]=_0x2ad175[_0x283837];}_0x2a87c8=_0x51c834-0x1;}return _0x2dc003['join']('');}function splitTopLevelAnd(_0x1455a2){const _0x4f85ed=a233_0x3153,_0x21e2a1=[];let _0x876ab9=0x0,_0x1a5ec6=0x0;for(let _0x3dc23a=0x0;_0x3dc23a<_0x1455a2[_0x4f85ed(0x116)];_0x3dc23a+=0x1){const _0x410603=_0x1455a2[_0x3dc23a];if(_0x410603==='(')_0x876ab9+=0x1;if(_0x410603===')')_0x876ab9=Math[_0x4f85ed(0x114)](0x0,_0x876ab9-0x1);_0x876ab9===0x0&&_0x1455a2[_0x4f85ed(0x12f)](_0x3dc23a)[_0x4f85ed(0x115)](/^AND\b/i)&&(_0x3dc23a===0x0||/\s/[_0x4f85ed(0xf6)](_0x1455a2[_0x3dc23a-0x1]??''))&&(_0x21e2a1[_0x4f85ed(0x12d)](_0x1455a2[_0x4f85ed(0x12f)](_0x1a5ec6,_0x3dc23a)[_0x4f85ed(0x12a)]()),_0x3dc23a+=0x2,_0x1a5ec6=_0x3dc23a+0x1);}const _0x50da5b=_0x1455a2[_0x4f85ed(0x12f)](_0x1a5ec6)[_0x4f85ed(0x12a)]();if(_0x50da5b)_0x21e2a1[_0x4f85ed(0x12d)](_0x50da5b);return _0x21e2a1;}function a233_0x1dc3(){const _0x5f0b13=['alias','unknown','tableName','error','filter','left','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','metadataAvailable','replace','unavailable','sql','\x5c$&','INDEX_METADATA_UNAVAILABLE','replaceAll','3hZSAte','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','toUpperCase','endsWith','toLowerCase','map','exec','index','max','match','length','indexOf','12176874RjGOkr','4081BdmgQF','where','2504zhMmQs','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','indexes','26971hAmBmX','JOIN_PREDICATE_UNSUPPORTED','includes','INNER','reduce','2691790jrtpeB','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','join','containsUnresolvedInclude','632dDGETf','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','using','trim','table','from','push','columns','slice','JOIN_INDEX_MISSING','natural','\x5cs*\x5c.\x5cs*[\x5cw$]+','6QvraXh','position','right','__sq__','min','covered','full','warning','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','116436LWfozA','(?:^|[^\x5cw$])','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','1730650Gzydet','JOIN_INDEX_NOT_USABLE','test','matchedPrefix','some','7318806CZkjxk','split','has','matchAll','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.'];a233_0x1dc3=function(){return _0x5f0b13;};return a233_0x1dc3();}function hasTopLevelKeyword(_0x27b855,_0x4482a6){const _0x1b1ef2=a233_0x3153;let _0x50b492=0x0;for(let _0x1ceead=0x0;_0x1ceead<_0x27b855[_0x1b1ef2(0x116)];_0x1ceead+=0x1){const _0x5bef3c=_0x27b855[_0x1ceead];if(_0x5bef3c==='(')_0x50b492+=0x1;if(_0x5bef3c===')')_0x50b492=Math['max'](0x0,_0x50b492-0x1);if(_0x50b492!==0x0)continue;const _0x23fc4b=_0x27b855[_0x1b1ef2(0x12f)](_0x1ceead,_0x1ceead+_0x4482a6[_0x1b1ef2(0x116)]),_0x49d354=_0x27b855[_0x1ceead-0x1]??'\x20',_0x497651=_0x27b855[_0x1ceead+_0x4482a6[_0x1b1ef2(0x116)]]??'\x20';if(_0x23fc4b[_0x1b1ef2(0x10e)]()===_0x4482a6[_0x1b1ef2(0x10e)]()&&!/[\w$]/[_0x1b1ef2(0xf6)](_0x49d354)&&!/[\w$]/[_0x1b1ef2(0xf6)](_0x497651))return!![];}return![];}function splitEquality(_0x20a0cd){const _0x39c48a=a233_0x3153,_0x45142e=stripOuterParentheses(_0x20a0cd);let _0x3bbe83=0x0,_0x2d2366;for(let _0x3644af=0x0;_0x3644af<_0x45142e[_0x39c48a(0x116)];_0x3644af+=0x1){const _0xdf7dcd=_0x45142e[_0x3644af];if(_0xdf7dcd==='(')_0x3bbe83+=0x1;if(_0xdf7dcd===')')_0x3bbe83=Math[_0x39c48a(0x114)](0x0,_0x3bbe83-0x1);const _0x1e8601=_0x45142e[_0x3644af-0x1]??'',_0x3f8266=_0x45142e[_0x3644af+0x1]??'';if(_0xdf7dcd==='='&&_0x3bbe83===0x0&&!/[!<>=:]/[_0x39c48a(0xf6)](_0x1e8601)&&_0x3f8266!=='='){if(_0x2d2366!==undefined)return null;_0x2d2366=_0x3644af;}}return _0x2d2366===undefined?null:[_0x45142e[_0x39c48a(0x12f)](0x0,_0x2d2366)[_0x39c48a(0x12a)](),_0x45142e[_0x39c48a(0x12f)](_0x2d2366+0x1)[_0x39c48a(0x12a)]()];}function parseDirectColumnReference(_0x5e0da7,_0x338f1a){const _0x23e046=a233_0x3153,_0x2f33f1=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x23e046(0x112)](stripOuterParentheses(_0x5e0da7));if(!_0x2f33f1)return null;if(normalizeIdentifier(_0x2f33f1[0x1]??'')!==normalizeIdentifier(_0x338f1a))return null;return normalizeIdentifier(_0x2f33f1[0x2]??'');}function containsColumnReference(_0x4f6650,_0xb4c44e){const _0x525d82=a233_0x3153,_0x423f7c=_0x4f6650[_0x525d82(0x106)](/[`"]/g,''),_0x2e127a=_0xb4c44e[_0x525d82(0x106)](/[.*+?^${}()|[\]\\]/g,_0x525d82(0x109));return new RegExp(_0x525d82(0x13d)+_0x2e127a+_0x525d82(0x132),'i')[_0x525d82(0xf6)](_0x423f7c);}function findEqualityPrefix(_0x3e5e23,_0x84fe77){const _0x16dd2b=a233_0x3153,_0x3ebe85=new Set(_0x84fe77['map'](normalizeIdentifier)),_0x15667b=[];for(const _0x2a38d8 of _0x3e5e23){if(!_0x3ebe85[_0x16dd2b(0xfb)](normalizeIdentifier(_0x2a38d8)))break;_0x15667b[_0x16dd2b(0x12d)](_0x2a38d8);}return _0x15667b;}function resolveTableMetadata(_0x1a7b17,_0x7db5c5){const _0x52fbb9=a233_0x3153,_0x39d501=normalizeIdentifier(_0x7db5c5),_0x40eeec=_0x1a7b17['filter'](_0x534143=>normalizeIdentifier(_0x534143[_0x52fbb9(0x100)])===_0x39d501);if(_0x40eeec[_0x52fbb9(0x116)]===0x1)return _0x40eeec[0x0];const _0x5960e5=_0x39d501[_0x52fbb9(0x120)]('.'),_0x436ced=_0x39d501[_0x52fbb9(0xfa)]('.')['at'](-0x1),_0x2b9a62=_0x1a7b17['filter'](_0x299b50=>{const _0x8a25ff=_0x52fbb9,_0x2ae045=normalizeIdentifier(_0x299b50['tableName']);if(_0x5960e5&&_0x2ae045[_0x8a25ff(0x120)]('.'))return![];return _0x2ae045[_0x8a25ff(0xfa)]('.')['at'](-0x1)===_0x436ced;});return _0x2b9a62[_0x52fbb9(0x116)]===0x1?_0x2b9a62[0x0]:undefined;}function columnNamesMatch(_0x1f4e9e,_0x4b18dc){return normalizeIdentifier(_0x1f4e9e)===normalizeIdentifier(_0x4b18dc);}function normalizeIdentifier(_0x51dedd){const _0x532541=a233_0x3153;return _0x51dedd[_0x532541(0x106)](/[`"]/g,'')[_0x532541(0x12a)]()[_0x532541(0x110)]();}function isSqlClauseKeyword(_0x57cb21){const _0x4fc9fc=a233_0x3153;return new Set(['on',_0x4fc9fc(0x129),_0x4fc9fc(0x11a),'join','inner',_0x4fc9fc(0x103),_0x4fc9fc(0x135),_0x4fc9fc(0x139),'cross',_0x4fc9fc(0x131)])['has'](_0x57cb21);}function a233_0x3153(_0x3c84f0,_0x405cb8){_0x3c84f0=_0x3c84f0-0xf4;const _0x1dc322=a233_0x1dc3();let _0x3153e3=_0x1dc322[_0x3c84f0];return _0x3153e3;}function stripOuterParentheses(_0x4dcee2){const _0x562ae5=a233_0x3153;let _0x40439a=_0x4dcee2[_0x562ae5(0x12a)]();while(_0x40439a['startsWith']('(')&&_0x40439a[_0x562ae5(0x10f)](')')){let _0x39b8eb=0x0,_0x3b8486=!![];for(let _0x34fb84=0x0;_0x34fb84<_0x40439a['length'];_0x34fb84+=0x1){if(_0x40439a[_0x34fb84]==='(')_0x39b8eb+=0x1;if(_0x40439a[_0x34fb84]===')')_0x39b8eb-=0x1;if(_0x39b8eb===0x0&&_0x34fb84<_0x40439a[_0x562ae5(0x116)]-0x1){_0x3b8486=![];break;}}if(!_0x3b8486||_0x39b8eb!==0x0)break;_0x40439a=_0x40439a[_0x562ae5(0x12f)](0x1,-0x1)[_0x562ae5(0x12a)]();}return _0x40439a;}
|
|
1
|
+
(function(_0x43bd73,_0x4cd5b7){const _0x309beb=a233_0x3833,_0x5a7206=_0x43bd73();while(!![]){try{const _0x2e6649=-parseInt(_0x309beb(0x1af))/0x1+parseInt(_0x309beb(0x1bd))/0x2*(parseInt(_0x309beb(0x1ad))/0x3)+parseInt(_0x309beb(0x19a))/0x4+parseInt(_0x309beb(0x1d1))/0x5+parseInt(_0x309beb(0x1ba))/0x6+parseInt(_0x309beb(0x195))/0x7+-parseInt(_0x309beb(0x1b1))/0x8;if(_0x2e6649===_0x4cd5b7)break;else _0x5a7206['push'](_0x5a7206['shift']());}catch(_0x48c8aa){_0x5a7206['push'](_0x5a7206['shift']());}}}(a233_0x77ee,0xa4458));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x4548ef,_0x178df2){const _0x4566dc=a233_0x3833,_0x2636f3=[],_0x4dffa1=normalizeSqlForStaticAnalysis(_0x4548ef),_0x40ecc4=(_0x4dffa1['error']?[]:extractJoinFacts(_0x4dffa1[_0x4566dc(0x1c7)]))['map'](_0x1e48e0=>{const _0x24f4dd=_0x4566dc;if(_0x1e48e0[_0x24f4dd(0x1c1)]||_0x1e48e0[_0x24f4dd(0x1b2)]['length']===0x0)return _0x2636f3['push']({'code':_0x24f4dd(0x1c4),'table':_0x1e48e0[_0x24f4dd(0x199)],'alias':_0x1e48e0[_0x24f4dd(0x1b6)],'columns':_0x1e48e0[_0x24f4dd(0x1b2)],'reason':_0x1e48e0[_0x24f4dd(0x1c5)]??_0x24f4dd(0x1d6)}),{'table':_0x1e48e0[_0x24f4dd(0x199)],'alias':_0x1e48e0[_0x24f4dd(0x1b6)],'columns':_0x1e48e0[_0x24f4dd(0x1b2)],'status':'unavailable'};const _0x3fd777=resolveTableMetadata(_0x178df2,_0x1e48e0[_0x24f4dd(0x199)]),_0x43a8e5=(_0x3fd777?.[_0x24f4dd(0x1a3)]??[])['map'](_0x442a1d=>({'index':_0x442a1d,'matchedPrefix':findEqualityPrefix(_0x442a1d[_0x24f4dd(0x1b2)],_0x1e48e0['columns'])}))[_0x24f4dd(0x1b3)](_0x127dff=>_0x127dff[_0x24f4dd(0x1b0)][_0x24f4dd(0x1be)]>0x0),_0x24cc28=_0x43a8e5['reduce']((_0x7acf14,_0x3f92c5)=>!_0x7acf14||_0x3f92c5[_0x24f4dd(0x1b0)][_0x24f4dd(0x1be)]>_0x7acf14[_0x24f4dd(0x1b0)][_0x24f4dd(0x1be)]?_0x3f92c5:_0x7acf14,_0x43a8e5[0x0]);if(_0x24cc28)return{'table':_0x1e48e0[_0x24f4dd(0x199)],'alias':_0x1e48e0['alias'],'columns':_0x1e48e0[_0x24f4dd(0x1b2)],'status':_0x24f4dd(0x1a8),'matchedIndex':{..._0x24cc28[_0x24f4dd(0x19c)],'matchedPrefix':_0x24cc28[_0x24f4dd(0x1b0)]}};const _0x49f2b9=_0x3fd777?.[_0x24f4dd(0x1a3)][_0x24f4dd(0x1b3)](_0x49f96f=>_0x49f96f[_0x24f4dd(0x1b2)][_0x24f4dd(0x198)](_0x55a0ad=>_0x1e48e0[_0x24f4dd(0x1b2)][_0x24f4dd(0x198)](_0x161ca4=>columnNamesMatch(_0x55a0ad,_0x161ca4))))??[];if(_0x49f2b9[_0x24f4dd(0x1be)]>0x0)return _0x2636f3[_0x24f4dd(0x1a6)]({'code':_0x24f4dd(0x197),'table':_0x1e48e0[_0x24f4dd(0x199)],'alias':_0x1e48e0[_0x24f4dd(0x1b6)],'columns':_0x1e48e0['columns'],'reason':_0x24f4dd(0x1a0)}),{'table':_0x1e48e0[_0x24f4dd(0x199)],'alias':_0x1e48e0[_0x24f4dd(0x1b6)],'columns':_0x1e48e0[_0x24f4dd(0x1b2)],'status':'warning','candidateIndexes':_0x49f2b9};if(_0x3fd777&&_0x3fd777[_0x24f4dd(0x1a2)]!==![]&&_0x3fd777['indexes'][_0x24f4dd(0x1be)]>0x0&&_0x1e48e0[_0x24f4dd(0x1b2)][_0x24f4dd(0x1be)]>0x0)return _0x2636f3[_0x24f4dd(0x1a6)]({'code':_0x24f4dd(0x194),'table':_0x1e48e0[_0x24f4dd(0x199)],'alias':_0x1e48e0['alias'],'columns':_0x1e48e0['columns'],'reason':_0x24f4dd(0x1d2)}),{'table':_0x1e48e0['table'],'alias':_0x1e48e0['alias'],'columns':_0x1e48e0['columns'],'status':_0x24f4dd(0x1b4)};return _0x2636f3[_0x24f4dd(0x1a6)]({'code':_0x24f4dd(0x1c2),'table':_0x1e48e0['table'],'alias':_0x1e48e0['alias'],'columns':_0x1e48e0['columns'],'reason':_0x3fd777?_0x24f4dd(0x1d8):_0x24f4dd(0x1aa)}),{'table':_0x1e48e0[_0x24f4dd(0x199)],'alias':_0x1e48e0[_0x24f4dd(0x1b6)],'columns':_0x1e48e0[_0x24f4dd(0x1b2)],'status':'unavailable'};});return{'checked':_0x40ecc4[_0x4566dc(0x1be)]>0x0,'joins':_0x40ecc4,'warnings':_0x2636f3};}function extractJoinFacts(_0x35c5e0){const _0x1cbe97=a233_0x3833,_0x31f049=maskNestedQueries(stripSqlNoise(_0x35c5e0)),_0x42974c=maskQuotedIdentifiers(_0x31f049),_0x2dc6b4=[],_0xee7591=new Set(),_0x693cde=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x1b89d7 of _0x31f049[_0x1cbe97(0x1ae)](_0x693cde)){const _0x5ec05f=_0x1b89d7[_0x1cbe97(0x19c)]??0x0,_0x19a3e0=_0x1b89d7[0x0][_0x1cbe97(0x1cf)](/\bJOIN\b/i),_0x32f11a=_0x5ec05f+Math[_0x1cbe97(0x1bb)](0x0,_0x19a3e0);if(!/^JOIN\b/i['test'](_0x42974c[_0x1cbe97(0x1d9)](_0x32f11a)))continue;_0xee7591[_0x1cbe97(0x1d7)](_0x32f11a);const _0x88a092=normalizeIdentifier(_0x1b89d7[0x1]||_0x1cbe97(0x1a5)),_0x1df382=normalizeIdentifier(_0x1b89d7[0x2]??''),_0x16c501=normalizeIdentifier(_0x1b89d7[0x3]||_0x1df382[_0x1cbe97(0x1a9)]('.')['at'](-0x1)||_0x1df382),_0x4f8c37=[],_0x4cdaeb=_0x1df382===_0x1cbe97(0x1ca);let _0x3296e1=_0x88a092===_0x1cbe97(0x19e)||_0x88a092===_0x1cbe97(0x1bf)||_0x4cdaeb,_0x4e1cb7=_0x3296e1?_0x4cdaeb?_0x1cbe97(0x1ab):_0x88a092[_0x1cbe97(0x19f)]()+_0x1cbe97(0x1c9):undefined;const _0x2a6533=stripOuterParentheses(_0x1b89d7[0x4]??''),_0xc7436d=_0x2a6533[_0x1cbe97(0x1cb)](MYBATIS_DYNAMIC_START_MARKER)||_0x2a6533[_0x1cbe97(0x1cb)](MYBATIS_DYNAMIC_END_MARKER),_0xbcd816=_0x2a6533[_0x1cbe97(0x1cb)](MYBATIS_INCLUDE_MARKER);_0xc7436d&&(_0x3296e1=!![],_0x4e1cb7??='MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.');_0xbcd816&&(_0x3296e1=!![],_0x4e1cb7??='MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.');const _0xe5e15=_0x2a6533[_0x1cbe97(0x1a1)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x1cbe97(0x1a1)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x1cbe97(0x1a1)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0xe5e15,'OR')&&(_0x3296e1=!![],_0x4e1cb7??=_0x1cbe97(0x1b9));for(const _0xe74f3d of splitTopLevelAnd(_0xe5e15)){const _0x4e925b=stripOuterParentheses(_0xe74f3d);if(hasTopLevelKeyword(_0x4e925b,'OR')){_0x3296e1=!![],_0x4e1cb7??=_0x1cbe97(0x1b9);continue;}const _0x2b30df=splitEquality(_0x4e925b);if(!_0x2b30df){containsColumnReference(_0xe74f3d,_0x16c501)&&(_0x3296e1=!![]);continue;}const _0x6d1a0=parseDirectColumnReference(_0x2b30df[0x0],_0x16c501),_0x262762=parseDirectColumnReference(_0x2b30df[0x1],_0x16c501),_0x3caacf=containsColumnReference(_0x2b30df[0x0],_0x16c501),_0x21f284=containsColumnReference(_0x2b30df[0x1],_0x16c501),_0x202210=_0x6d1a0&&!_0x21f284?_0x6d1a0:_0x262762&&!_0x3caacf?_0x262762:null;if(_0x202210&&!_0x4f8c37[_0x1cbe97(0x1cb)](_0x202210))_0x4f8c37[_0x1cbe97(0x1a6)](_0x202210);else!_0x202210&&containsColumnReference(_0xe74f3d,_0x16c501)&&(_0x3296e1=!![]);}_0x2dc6b4[_0x1cbe97(0x1a6)]({'table':_0x1df382,'alias':_0x16c501,'columns':_0x4f8c37,'unsupportedPredicate':_0x3296e1,'unsupportedReason':_0x4e1cb7,'containsUnresolvedInclude':_0xbcd816,'position':_0x32f11a});}for(const _0x302646 of _0x42974c[_0x1cbe97(0x1ae)](/\bJOIN\b/gi)){const _0x15e8a2=_0x302646[_0x1cbe97(0x19c)]??0x0;if(_0xee7591[_0x1cbe97(0x1c3)](_0x15e8a2))continue;const _0x2ca373=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x1cbe97(0x1bc)](_0x31f049[_0x1cbe97(0x1d9)](_0x15e8a2+_0x302646[0x0][_0x1cbe97(0x1be)])),_0x36792b=normalizeIdentifier(_0x2ca373?.[0x1]||_0x1cbe97(0x1cc)),_0x5cbb32=normalizeIdentifier(_0x2ca373?.[0x2]||''),_0x4a6dcb=isSqlClauseKeyword(_0x5cbb32)?_0x36792b[_0x1cbe97(0x1a9)]('.')['at'](-0x1)||_0x36792b:_0x5cbb32||_0x36792b[_0x1cbe97(0x1a9)]('.')['at'](-0x1)||_0x36792b;_0x2dc6b4[_0x1cbe97(0x1a6)]({'table':_0x36792b,'alias':_0x4a6dcb,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','position':_0x15e8a2});}const _0x24a85e=_0x42974c[_0x1cbe97(0x1d3)](MYBATIS_INCLUDE_MARKER);return _0x24a85e>=0x0&&!_0x2dc6b4['some'](_0x4bc70c=>_0x4bc70c[_0x1cbe97(0x1a4)])&&_0x2dc6b4[_0x1cbe97(0x1a6)]({'table':_0x1cbe97(0x1cc),'alias':_0x1cbe97(0x1cc),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x1cbe97(0x19d),'containsUnresolvedInclude':!![],'position':_0x24a85e}),_0x2dc6b4['sort']((_0xec9105,_0xdd126c)=>_0xec9105[_0x1cbe97(0x1c6)]-_0xdd126c['position']);}function stripSqlNoise(_0x1b87d7){const _0x8593fa=a233_0x3833,_0x4ab967=Array[_0x8593fa(0x1b7)](_0x1b87d7),_0x10f97e=(_0x4eb855,_0x61de5a)=>{for(let _0x3f4c01=_0x4eb855;_0x3f4c01<_0x61de5a;_0x3f4c01+=0x1){_0x4ab967[_0x3f4c01]!=='\x0a'&&_0x4ab967[_0x3f4c01]!=='\x0d'&&(_0x4ab967[_0x3f4c01]='\x20');}};for(let _0x21bc08=0x0;_0x21bc08<_0x4ab967[_0x8593fa(0x1be)];_0x21bc08+=0x1){const _0x4998a4=_0x4ab967[_0x21bc08],_0x4610c2=_0x4ab967[_0x21bc08+0x1];if(_0x4998a4==='\x27'||_0x4998a4==='\x22'||_0x4998a4==='`'){const _0x577fdd=_0x4998a4,_0x4e41ad=_0x21bc08;_0x21bc08+=0x1;while(_0x21bc08<_0x4ab967[_0x8593fa(0x1be)]){if(_0x4ab967[_0x21bc08]==='\x5c'&&_0x21bc08+0x1<_0x4ab967[_0x8593fa(0x1be)]){_0x21bc08+=0x2;continue;}if(_0x4ab967[_0x21bc08]!==_0x577fdd){_0x21bc08+=0x1;continue;}if(_0x4ab967[_0x21bc08+0x1]===_0x577fdd){_0x21bc08+=0x2;continue;}break;}if(_0x577fdd==='\x27')_0x10f97e(_0x4e41ad,Math[_0x8593fa(0x1ac)](_0x21bc08+0x1,_0x4ab967[_0x8593fa(0x1be)]));continue;}if(_0x4998a4==='-'&&_0x4610c2==='-'){const _0x1c9dec=_0x21bc08;while(_0x21bc08<_0x4ab967['length']&&_0x4ab967[_0x21bc08]!=='\x0a')_0x21bc08+=0x1;_0x10f97e(_0x1c9dec,_0x21bc08);continue;}if(_0x4998a4==='/'&&_0x4610c2==='*'){const _0x38ae91=_0x21bc08;_0x21bc08+=0x2;while(_0x21bc08<_0x4ab967[_0x8593fa(0x1be)]&&!(_0x4ab967[_0x21bc08]==='*'&&_0x4ab967[_0x21bc08+0x1]==='/')){_0x21bc08+=0x1;}_0x21bc08=Math['min'](_0x21bc08+0x1,_0x4ab967[_0x8593fa(0x1be)]-0x1),_0x10f97e(_0x38ae91,_0x21bc08+0x1);continue;}if(_0x4998a4==='#'&&_0x4610c2!=='{'){const _0x55780a=_0x21bc08;while(_0x21bc08<_0x4ab967[_0x8593fa(0x1be)]&&_0x4ab967[_0x21bc08]!=='\x0a')_0x21bc08+=0x1;_0x10f97e(_0x55780a,_0x21bc08);continue;}if((_0x4998a4==='#'||_0x4998a4==='$')&&_0x4610c2==='{'){const _0x1938e0=_0x21bc08;_0x21bc08+=0x2;while(_0x21bc08<_0x4ab967[_0x8593fa(0x1be)]&&_0x4ab967[_0x21bc08]!=='}')_0x21bc08+=0x1;_0x10f97e(_0x1938e0,Math[_0x8593fa(0x1ac)](_0x21bc08+0x1,_0x4ab967[_0x8593fa(0x1be)]));}}return _0x4ab967['join']('');}function maskQuotedIdentifiers(_0x2a2b35){const _0x213e79=a233_0x3833,_0x4d74fc=Array[_0x213e79(0x1b7)](_0x2a2b35);for(let _0x1fb17f=0x0;_0x1fb17f<_0x4d74fc[_0x213e79(0x1be)];_0x1fb17f+=0x1){const _0x33189f=_0x4d74fc[_0x1fb17f];if(_0x33189f!=='\x22'&&_0x33189f!=='`')continue;_0x1fb17f+=0x1;while(_0x1fb17f<_0x4d74fc[_0x213e79(0x1be)]){if(_0x4d74fc[_0x1fb17f]===_0x33189f){if(_0x4d74fc[_0x1fb17f+0x1]===_0x33189f){_0x4d74fc[_0x1fb17f]='\x20',_0x4d74fc[_0x1fb17f+0x1]='\x20',_0x1fb17f+=0x2;continue;}break;}_0x4d74fc[_0x1fb17f]='\x20',_0x1fb17f+=0x1;}}return _0x4d74fc['join']('');}function maskNestedQueries(_0x724cb1){const _0x891cfb=a233_0x3833,_0x181798=Array['from'](_0x724cb1);for(let _0x6a8781=0x0;_0x6a8781<_0x181798['length'];_0x6a8781+=0x1){if(_0x181798[_0x6a8781]!=='(')continue;const _0x3c9372=_0x724cb1[_0x891cfb(0x1d9)](_0x6a8781+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x891cfb(0x1ce)](_0x3c9372))continue;let _0x942897=0x1,_0x427d5=_0x6a8781+0x1;for(;_0x427d5<_0x181798[_0x891cfb(0x1be)]&&_0x942897>0x0;_0x427d5+=0x1){if(_0x181798[_0x427d5]==='(')_0x942897+=0x1;if(_0x181798[_0x427d5]===')')_0x942897-=0x1;}if(_0x942897!==0x0)continue;for(let _0x55a36c=_0x6a8781;_0x55a36c<_0x427d5;_0x55a36c+=0x1){_0x181798[_0x55a36c]='\x20';}const _0x3a385a=_0x891cfb(0x1ca);for(let _0x1ec0ab=0x0;_0x1ec0ab<_0x3a385a[_0x891cfb(0x1be)]&&_0x6a8781+_0x1ec0ab<_0x427d5;_0x1ec0ab+=0x1){_0x181798[_0x6a8781+_0x1ec0ab]=_0x3a385a[_0x1ec0ab];}_0x6a8781=_0x427d5-0x1;}return _0x181798[_0x891cfb(0x1a7)]('');}function splitTopLevelAnd(_0x171ec8){const _0x4adecf=a233_0x3833,_0x3a355f=[];let _0x4cdf41=0x0,_0x26a4d3=0x0;for(let _0x4f27c8=0x0;_0x4f27c8<_0x171ec8[_0x4adecf(0x1be)];_0x4f27c8+=0x1){const _0x47eb10=_0x171ec8[_0x4f27c8];if(_0x47eb10==='(')_0x4cdf41+=0x1;if(_0x47eb10===')')_0x4cdf41=Math[_0x4adecf(0x1bb)](0x0,_0x4cdf41-0x1);_0x4cdf41===0x0&&_0x171ec8[_0x4adecf(0x1d9)](_0x4f27c8)[_0x4adecf(0x196)](/^AND\b/i)&&(_0x4f27c8===0x0||/\s/['test'](_0x171ec8[_0x4f27c8-0x1]??''))&&(_0x3a355f[_0x4adecf(0x1a6)](_0x171ec8['slice'](_0x26a4d3,_0x4f27c8)['trim']()),_0x4f27c8+=0x2,_0x26a4d3=_0x4f27c8+0x1);}const _0x1cdb91=_0x171ec8['slice'](_0x26a4d3)[_0x4adecf(0x1c0)]();if(_0x1cdb91)_0x3a355f[_0x4adecf(0x1a6)](_0x1cdb91);return _0x3a355f;}function a233_0x77ee(){const _0x3fc3ee=['search','tableName','3109105SLDLbM','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','indexOf','(?:^|[^\x5cw$])','using','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','add','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','slice','toLowerCase','JOIN_INDEX_MISSING','4933824YtdTpA','match','JOIN_INDEX_NOT_USABLE','some','table','940316PiQcDL','\x5c$&','index','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','right','toUpperCase','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','replaceAll','metadataAvailable','indexes','containsUnresolvedInclude','INNER','push','join','covered','split','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','min','74271NHuDIp','matchAll','790217SSevBI','matchedPrefix','11131920gNxxWD','columns','filter','warning','left','alias','from','where','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','6123024XbmSqN','max','exec','22JCorvE','length','full','trim','unsupportedPredicate','INDEX_METADATA_UNAVAILABLE','has','JOIN_PREDICATE_UNSUPPORTED','unsupportedReason','position','sql','map','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','__sq__','includes','unknown','inner','test'];a233_0x77ee=function(){return _0x3fc3ee;};return a233_0x77ee();}function hasTopLevelKeyword(_0x2b588c,_0x5ecbfd){const _0x3eb41b=a233_0x3833;let _0x444c2e=0x0;for(let _0x225453=0x0;_0x225453<_0x2b588c[_0x3eb41b(0x1be)];_0x225453+=0x1){const _0x25b38a=_0x2b588c[_0x225453];if(_0x25b38a==='(')_0x444c2e+=0x1;if(_0x25b38a===')')_0x444c2e=Math[_0x3eb41b(0x1bb)](0x0,_0x444c2e-0x1);if(_0x444c2e!==0x0)continue;const _0x57117f=_0x2b588c[_0x3eb41b(0x1d9)](_0x225453,_0x225453+_0x5ecbfd['length']),_0x316284=_0x2b588c[_0x225453-0x1]??'\x20',_0x4cf1d1=_0x2b588c[_0x225453+_0x5ecbfd[_0x3eb41b(0x1be)]]??'\x20';if(_0x57117f[_0x3eb41b(0x19f)]()===_0x5ecbfd['toUpperCase']()&&!/[\w$]/['test'](_0x316284)&&!/[\w$]/[_0x3eb41b(0x1ce)](_0x4cf1d1))return!![];}return![];}function splitEquality(_0x2b5846){const _0x30820e=a233_0x3833,_0x4c703c=stripOuterParentheses(_0x2b5846);let _0x4d8091=0x0,_0x3bdbed;for(let _0x1a474d=0x0;_0x1a474d<_0x4c703c[_0x30820e(0x1be)];_0x1a474d+=0x1){const _0x50d6df=_0x4c703c[_0x1a474d];if(_0x50d6df==='(')_0x4d8091+=0x1;if(_0x50d6df===')')_0x4d8091=Math[_0x30820e(0x1bb)](0x0,_0x4d8091-0x1);const _0x5dc428=_0x4c703c[_0x1a474d-0x1]??'',_0x19b008=_0x4c703c[_0x1a474d+0x1]??'';if(_0x50d6df==='='&&_0x4d8091===0x0&&!/[!<>=:]/[_0x30820e(0x1ce)](_0x5dc428)&&_0x19b008!=='='){if(_0x3bdbed!==undefined)return null;_0x3bdbed=_0x1a474d;}}return _0x3bdbed===undefined?null:[_0x4c703c[_0x30820e(0x1d9)](0x0,_0x3bdbed)[_0x30820e(0x1c0)](),_0x4c703c[_0x30820e(0x1d9)](_0x3bdbed+0x1)[_0x30820e(0x1c0)]()];}function a233_0x3833(_0xdd9908,_0x266004){_0xdd9908=_0xdd9908-0x194;const _0x77ee71=a233_0x77ee();let _0x3833ee=_0x77ee71[_0xdd9908];return _0x3833ee;}function parseDirectColumnReference(_0x2e9623,_0x2b5bf6){const _0x48deb4=a233_0x3833,_0x4099a1=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x48deb4(0x1bc)](stripOuterParentheses(_0x2e9623));if(!_0x4099a1)return null;if(normalizeIdentifier(_0x4099a1[0x1]??'')!==normalizeIdentifier(_0x2b5bf6))return null;return normalizeIdentifier(_0x4099a1[0x2]??'');}function containsColumnReference(_0x3936db,_0x291101){const _0x3d5ccf=a233_0x3833,_0x2fe683=_0x3936db['replace'](/[`"]/g,''),_0x5916ec=_0x291101['replace'](/[.*+?^${}()|[\]\\]/g,_0x3d5ccf(0x19b));return new RegExp(_0x3d5ccf(0x1d4)+_0x5916ec+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')[_0x3d5ccf(0x1ce)](_0x2fe683);}function findEqualityPrefix(_0x364e6f,_0x4887b7){const _0x3e235d=a233_0x3833,_0x2f604d=new Set(_0x4887b7[_0x3e235d(0x1c8)](normalizeIdentifier)),_0x50f656=[];for(const _0x40db74 of _0x364e6f){if(!_0x2f604d[_0x3e235d(0x1c3)](normalizeIdentifier(_0x40db74)))break;_0x50f656['push'](_0x40db74);}return _0x50f656;}function resolveTableMetadata(_0x7900d8,_0x40c8bc){const _0x52d011=a233_0x3833,_0xde0aaa=normalizeIdentifier(_0x40c8bc),_0x380091=_0x7900d8[_0x52d011(0x1b3)](_0x3ec3a9=>normalizeIdentifier(_0x3ec3a9[_0x52d011(0x1d0)])===_0xde0aaa);if(_0x380091[_0x52d011(0x1be)]===0x1)return _0x380091[0x0];const _0x200b1d=_0xde0aaa[_0x52d011(0x1cb)]('.'),_0x1e45a7=_0xde0aaa['split']('.')['at'](-0x1),_0x24382b=_0x7900d8[_0x52d011(0x1b3)](_0x14a54e=>{const _0x2ed2cf=_0x52d011,_0x40eb56=normalizeIdentifier(_0x14a54e[_0x2ed2cf(0x1d0)]);if(_0x200b1d&&_0x40eb56[_0x2ed2cf(0x1cb)]('.'))return![];return _0x40eb56['split']('.')['at'](-0x1)===_0x1e45a7;});return _0x24382b[_0x52d011(0x1be)]===0x1?_0x24382b[0x0]:undefined;}function columnNamesMatch(_0x2dd335,_0x2d7a76){return normalizeIdentifier(_0x2dd335)===normalizeIdentifier(_0x2d7a76);}function normalizeIdentifier(_0x2084d){const _0x732a1d=a233_0x3833;return _0x2084d['replace'](/[`"]/g,'')['trim']()[_0x732a1d(0x1da)]();}function isSqlClauseKeyword(_0x45f355){const _0x3afef1=a233_0x3833;return new Set(['on',_0x3afef1(0x1d5),_0x3afef1(0x1b8),_0x3afef1(0x1a7),_0x3afef1(0x1cd),_0x3afef1(0x1b5),'right',_0x3afef1(0x1bf),'cross','natural'])[_0x3afef1(0x1c3)](_0x45f355);}function stripOuterParentheses(_0x4e0e09){const _0x3e542a=a233_0x3833;let _0xf0d4f0=_0x4e0e09[_0x3e542a(0x1c0)]();while(_0xf0d4f0['startsWith']('(')&&_0xf0d4f0['endsWith'](')')){let _0x30ef9a=0x0,_0x3dbb9c=!![];for(let _0x55b901=0x0;_0x55b901<_0xf0d4f0[_0x3e542a(0x1be)];_0x55b901+=0x1){if(_0xf0d4f0[_0x55b901]==='(')_0x30ef9a+=0x1;if(_0xf0d4f0[_0x55b901]===')')_0x30ef9a-=0x1;if(_0x30ef9a===0x0&&_0x55b901<_0xf0d4f0[_0x3e542a(0x1be)]-0x1){_0x3dbb9c=![];break;}}if(!_0x3dbb9c||_0x30ef9a!==0x0)break;_0xf0d4f0=_0xf0d4f0[_0x3e542a(0x1d9)](0x1,-0x1)[_0x3e542a(0x1c0)]();}return _0xf0d4f0;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a234_0x1a9f(){const _0x1409ea=['227512HwAzaz','19870KoBGKR','4527rGxZeq','1150110cSQqPJ','2455368NLntgi','35XyyJvP','/sql','48KwqWLv','669642VOZYpG','sql-trash','sql','555953GvVqIM','400450kluEVl'];a234_0x1a9f=function(){return _0x1409ea;};return a234_0x1a9f();}const a234_0xfc869d=a234_0x2d15;function a234_0x2d15(_0x20b150,_0x2b8b33){_0x20b150=_0x20b150-0x1d9;const _0x1a9f9a=a234_0x1a9f();let _0x2d15ee=_0x1a9f9a[_0x20b150];return _0x2d15ee;}(function(_0x3d2826,_0x22492b){const _0xed51e6=a234_0x2d15,_0x491563=_0x3d2826();while(!![]){try{const _0x50e7b5=parseInt(_0xed51e6(0x1e0))/0x1+-parseInt(_0xed51e6(0x1e5))/0x2+parseInt(_0xed51e6(0x1dd))/0x3+-parseInt(_0xed51e6(0x1dc))/0x4*(parseInt(_0xed51e6(0x1e1))/0x5)+parseInt(_0xed51e6(0x1d9))/0x6+parseInt(_0xed51e6(0x1da))/0x7*(-parseInt(_0xed51e6(0x1e2))/0x8)+parseInt(_0xed51e6(0x1e4))/0x9*(parseInt(_0xed51e6(0x1e3))/0xa);if(_0x50e7b5===_0x22492b)break;else _0x491563['push'](_0x491563['shift']());}catch(_0x3cb1b3){_0x491563['push'](_0x491563['shift']());}}}(a234_0x1a9f,0x7c656));import{resolve}from'node:path';import{findProjectRootDirectory}from'../../context.js';const DOT_DIR='.rabetbase',LOCK_FILE_NAME='sql.lock.json',TRASH_DIR_NAME=a234_0xfc869d(0x1de);export function loadSqlProjectConfig(_0x555ba9,_0x269e04){const _0x718a9f=a234_0xfc869d,_0x5999a8=resolve(_0x269e04??findProjectRootDirectory()),_0x5a8ca9=DOT_DIR+_0x718a9f(0x1db),_0x5107c7=_0x5a8ca9+'/'+_0x555ba9;return{'projectRoot':_0x5999a8,'appCode':_0x555ba9,'sqlWorkspaceRoot':_0x5a8ca9,'sqlRoot':_0x5107c7,'sqlRootDir':resolve(_0x5999a8,DOT_DIR,_0x718a9f(0x1df),_0x555ba9),'lockFilePath':resolve(_0x5999a8,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x5999a8,DOT_DIR,TRASH_DIR_NAME)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x52d578,_0x30282a){const _0x5a6b0b=a235_0x1e4b,_0x46cf7d=_0x52d578();while(!![]){try{const _0x407965=-parseInt(_0x5a6b0b(0xb6))/0x1+parseInt(_0x5a6b0b(0xc5))/0x2*(parseInt(_0x5a6b0b(0xb0))/0x3)+parseInt(_0x5a6b0b(0xc4))/0x4*(parseInt(_0x5a6b0b(0xbe))/0x5)+parseInt(_0x5a6b0b(0xc3))/0x6*(parseInt(_0x5a6b0b(0xb2))/0x7)+-parseInt(_0x5a6b0b(0xbc))/0x8+-parseInt(_0x5a6b0b(0xc6))/0x9*(parseInt(_0x5a6b0b(0xb7))/0xa)+-parseInt(_0x5a6b0b(0xbf))/0xb*(-parseInt(_0x5a6b0b(0xc1))/0xc);if(_0x407965===_0x30282a)break;else _0x46cf7d['push'](_0x46cf7d['shift']());}catch(_0x4a55fa){_0x46cf7d['push'](_0x46cf7d['shift']());}}}(a235_0x2981,0xa602f));import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x28d56d){const _0x440220=a235_0x1e4b;if(_0x28d56d===_0x440220(0xaf))return _0x440220(0xc0);if(_0x28d56d==='.xml')return'mybatisXml';return undefined;}async function scanSqlFilesRecursively(_0x2cb8ae,_0x2d4264){const _0x590abf=a235_0x1e4b,_0x4bed35=[];try{const _0x4d7d33=await readdir(_0x2cb8ae,{'withFileTypes':!![]});for(const _0x353ba6 of _0x4d7d33){const _0x3616f5=join(_0x2cb8ae,_0x353ba6[_0x590abf(0xc2)]);if(_0x353ba6[_0x590abf(0xac)]()){_0x4bed35['push'](...await scanSqlFilesRecursively(_0x3616f5,_0x2d4264));continue;}if(!_0x353ba6[_0x590abf(0xb3)]())continue;const _0x3bfd7b=extname(_0x353ba6[_0x590abf(0xc2)])[_0x590abf(0xa8)](),_0xf9bd20=extensionToMode(_0x3bfd7b);if(!_0xf9bd20)continue;const _0x16fddb=relative(_0x2d4264,_0x3616f5)[_0x590abf(0xab)](/\\/g,'/'),_0x1463ac=_0x16fddb[_0x590abf(0xaa)]('/')[_0x590abf(0xba)](Boolean),_0x4438a1=parseSqlPath(_0x1463ac,_0x353ba6[_0x590abf(0xc2)],_0x3bfd7b);if(!_0x4438a1)continue;_0x4bed35[_0x590abf(0xb1)]({'sqlCode':_0x4438a1[_0x590abf(0xae)],'sqlName':_0x4438a1['sqlName'],'dbDirectory':_0x1463ac[0x0],'filePath':_0x3616f5,'relativePath':_0x16fddb,'lockKey':_0x4438a1['sqlCode'],'mode':_0xf9bd20});}}catch(_0x863cbc){if(_0x863cbc['code']!=='ENOENT')throw _0x863cbc;}return _0x4bed35;}export async function scanLocalSqlQueries(_0x4a34de){const _0x5b88c8=a235_0x1e4b;return scanSqlFilesRecursively(_0x4a34de[_0x5b88c8(0xbd)],_0x4a34de[_0x5b88c8(0xbd)]);}function a235_0x1e4b(_0x25e59f,_0x193932){_0x25e59f=_0x25e59f-0xa8;const _0x298185=a235_0x2981();let _0x1e4bae=_0x298185[_0x25e59f];return _0x1e4bae;}export function resolveLocalSqlFilePath(_0x369e53,_0x38a024,_0x2ebae9){const _0x399ad9=a235_0x1e4b,_0x1b3c2d=_0x2ebae9?.[_0x399ad9(0xb8)]||(_0x2ebae9?.[_0x399ad9(0xb4)]||_0x2ebae9?.[_0x399ad9(0xbb)]?buildSqlRelativePath(_0x38a024,_0x2ebae9?.[_0x399ad9(0xb4)],_0x2ebae9?.['dbName'],_0x2ebae9?.[_0x399ad9(0xc7)]||_0x399ad9(0xc0),_0x2ebae9?.[_0x399ad9(0xad)]):buildDefaultSqlFileName(_0x38a024,_0x2ebae9?.[_0x399ad9(0xc7)]||_0x399ad9(0xc0)));return join(_0x369e53[_0x399ad9(0xbd)],_0x1b3c2d);}export async function directoryExists(_0x3ab364){const _0x43db84=a235_0x1e4b;try{const _0x5201e2=await stat(_0x3ab364);return _0x5201e2[_0x43db84(0xac)]();}catch{return![];}}function parseSqlPath(_0x5d7087,_0x4bf828,_0x18344d){const _0xb78c13=a235_0x1e4b,_0x4c7f59=_0x4bf828[_0xb78c13(0xb5)](0x0,-_0x18344d[_0xb78c13(0xa9)]);if(_0x5d7087[_0xb78c13(0xa9)]<0x2)return null;const _0x3b15a5=_0x4c7f59['indexOf']('_');if(_0x3b15a5<=0x0||_0x3b15a5>=_0x4c7f59['length']-0x1)return null;const _0x3c230a=_0x4c7f59[_0xb78c13(0xb5)](0x0,_0x3b15a5);if(!isLikelySqlCode(_0x3c230a))return null;return{'sqlCode':_0x3c230a,'sqlName':_0x4c7f59[_0xb78c13(0xb5)](_0x3b15a5+0x1)};}function a235_0x2981(){const _0x152d2d=['.sql','41295iWrnUl','push','77UfzTiM','isFile','sqlName','slice','1218442FWIQwh','11391070MqHMcy','path','test','filter','dbName','8992120GOOFIj','sqlRootDir','4924435dkKNau','32465697jjUnsV','sql','12tMshfn','name','107838cYIAwZ','4XKJFTQ','4uAvOSj','9zLWfsh','mode','toLowerCase','length','split','replace','isDirectory','dbId','sqlCode'];a235_0x2981=function(){return _0x152d2d;};return a235_0x2981();}function isLikelySqlCode(_0x887fa5){const _0x3d8bbd=a235_0x1e4b;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x3d8bbd(0xb9)](_0x887fa5);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x11ec91,_0x11b07a){const _0x38b6b0=a236_0x3bc4,_0x3572c7=_0x11ec91();while(!![]){try{const _0x4827b7=parseInt(_0x38b6b0(0x19e))/0x1*(parseInt(_0x38b6b0(0x18e))/0x2)+parseInt(_0x38b6b0(0x196))/0x3*(-parseInt(_0x38b6b0(0x18f))/0x4)+parseInt(_0x38b6b0(0x190))/0x5*(-parseInt(_0x38b6b0(0x199))/0x6)+-parseInt(_0x38b6b0(0x191))/0x7*(-parseInt(_0x38b6b0(0x19f))/0x8)+-parseInt(_0x38b6b0(0x197))/0x9*(parseInt(_0x38b6b0(0x19b))/0xa)+parseInt(_0x38b6b0(0x194))/0xb+parseInt(_0x38b6b0(0x195))/0xc*(parseInt(_0x38b6b0(0x19d))/0xd);if(_0x4827b7===_0x11b07a)break;else _0x3572c7['push'](_0x3572c7['shift']());}catch(_0x2e1718){_0x3572c7['push'](_0x3572c7['shift']());}}}(a236_0x29cb,0x9a56e));import{readFile}from'node:fs/promises';import a236_0x143f2d from'node:crypto';export function computeSqlContentHash(_0x15caae){const _0x480baa=a236_0x3bc4;return a236_0x143f2d['createHash'](_0x480baa(0x193))[_0x480baa(0x19a)](_0x15caae)[_0x480baa(0x198)](_0x480baa(0x192));}function a236_0x3bc4(_0x1ba654,_0x3561ac){_0x1ba654=_0x1ba654-0x18e;const _0x29cb6d=a236_0x29cb();let _0x3bc4be=_0x29cb6d[_0x1ba654];return _0x3bc4be;}function a236_0x29cb(){const _0x5ad754=['md5','10344950hpQzoD','8130360NsTepR','3rrtmDC','5503023ZjGXHn','digest','5351814VQHlSP','update','10zvhLGI','utf8','13uvtKKP','2pESIqH','104rjxGuH','496634baiMke','1393676wIGesD','5hPRhMD','198905TDLBwB','hex'];a236_0x29cb=function(){return _0x5ad754;};return a236_0x29cb();}export async function computeSqlFileHash(_0x2d3474){const _0x388915=a236_0x3bc4,_0x63110d=await readFile(_0x2d3474,_0x388915(0x19c));return computeSqlContentHash(_0x63110d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x223bd9,_0x3757a1){const _0x2dd2fc=a237_0xdd98,_0x101b42=_0x223bd9();while(!![]){try{const _0x465e5c=-parseInt(_0x2dd2fc(0xf4))/0x1*(parseInt(_0x2dd2fc(0x100))/0x2)+-parseInt(_0x2dd2fc(0xfc))/0x3+parseInt(_0x2dd2fc(0xfe))/0x4*(parseInt(_0x2dd2fc(0xed))/0x5)+-parseInt(_0x2dd2fc(0xf3))/0x6+-parseInt(_0x2dd2fc(0xef))/0x7*(parseInt(_0x2dd2fc(0xfa))/0x8)+-parseInt(_0x2dd2fc(0xf7))/0x9+parseInt(_0x2dd2fc(0xf6))/0xa;if(_0x465e5c===_0x3757a1)break;else _0x101b42['push'](_0x101b42['shift']());}catch(_0x4edbdc){_0x101b42['push'](_0x101b42['shift']());}}}(a237_0x3d89,0x2a1d8));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';function a237_0x3d89(){const _0x21d22a=['2FPkzGB','parse','code','50ycxTAv','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20','63QfEHIJ','stringify','\x22.\x20','\x22\x20vs\x20lock\x20\x22','1812450MOqnqS','101123cZuleq','apps','10484600eBqJJP','1981845ESHYiS','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','lastSync','170480WkcJuP','sqlRoot','397149kUtUyv','sqls','28648LDuDrZ','utf8'];a237_0x3d89=function(){return _0x21d22a;};return a237_0x3d89();}export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x3c817b,_0x39d44b,_0xeae785,_0x122244){const _0x2ebe64=a237_0xdd98,_0xd4373d=_0x3c817b??createEmptySqlLock();let _0x4dd23c=_0xd4373d[_0x2ebe64(0xf5)][_0x39d44b];if(!_0x4dd23c)return _0x4dd23c={'sqlRoot':_0xeae785,'lastSync':'','sqls':{}},_0xd4373d[_0x2ebe64(0xf5)][_0x39d44b]=_0x4dd23c,{'lockData':_0xd4373d,'appLock':_0x4dd23c};if(!_0x4dd23c[_0x2ebe64(0xfb)])_0x4dd23c[_0x2ebe64(0xfb)]=_0xeae785;else{if(_0x4dd23c['sqlRoot']!==_0xeae785)throw new Error(_0x122244+':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22'+_0xeae785+_0x2ebe64(0xf2)+_0x4dd23c[_0x2ebe64(0xfb)]+_0x2ebe64(0xf1)+_0x2ebe64(0xf8));}return!_0x4dd23c[_0x2ebe64(0xfd)]&&(_0x4dd23c[_0x2ebe64(0xfd)]={}),!_0x4dd23c[_0x2ebe64(0xf9)]&&(_0x4dd23c[_0x2ebe64(0xf9)]=''),{'lockData':_0xd4373d,'appLock':_0x4dd23c};}export async function readSqlLockFile(_0x1c5f01){const _0x117f3d=a237_0xdd98;try{const _0x1529dc=await readFile(_0x1c5f01,'utf8');return JSON[_0x117f3d(0x101)](_0x1529dc);}catch(_0x225bd5){if(_0x225bd5[_0x117f3d(0xec)]==='ENOENT')return null;throw new Error(_0x117f3d(0xee)+String(_0x225bd5));}}function a237_0xdd98(_0x265990,_0x104040){_0x265990=_0x265990-0xec;const _0x3d892a=a237_0x3d89();let _0xdd98c8=_0x3d892a[_0x265990];return _0xdd98c8;}export async function writeSqlLockFile(_0x1f6176,_0x3dc082){const _0x4fb8af=a237_0xdd98;await mkdir(dirname(_0x1f6176),{'recursive':!![]}),await writeFile(_0x1f6176,JSON[_0x4fb8af(0xf0)](_0x3dc082,null,0x2),_0x4fb8af(0xff));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4430d7,_0x52df4b){const _0x525daa=a239_0x19ca,_0xec7428=_0x4430d7();while(!![]){try{const _0x3c84cc=-parseInt(_0x525daa(0x1c5))/0x1*(-parseInt(_0x525daa(0x1cc))/0x2)+-parseInt(_0x525daa(0x1d5))/0x3*(parseInt(_0x525daa(0x1d4))/0x4)+-parseInt(_0x525daa(0x1c7))/0x5+parseInt(_0x525daa(0x1d2))/0x6+-parseInt(_0x525daa(0x1cd))/0x7*(parseInt(_0x525daa(0x1c9))/0x8)+-parseInt(_0x525daa(0x1d1))/0x9*(-parseInt(_0x525daa(0x1d0))/0xa)+parseInt(_0x525daa(0x1c3))/0xb;if(_0x3c84cc===_0x52df4b)break;else _0xec7428['push'](_0xec7428['shift']());}catch(_0x318d5d){_0xec7428['push'](_0xec7428['shift']());}}}(a239_0x195c,0xdff79));export function detectSqlMode(_0x47b673){const _0xa4e952=a239_0x19ca,_0x12f418=_0x47b673['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0xa4e952(0x1c8)](_0x12f418))return _0xa4e952(0x1d3);return _0xa4e952(0x1cb);}function a239_0x19ca(_0x4556b5,_0x5d67da){_0x4556b5=_0x4556b5-0x1c2;const _0x195c8b=a239_0x195c();let _0x19cae1=_0x195c8b[_0x4556b5];return _0x19cae1;}function a239_0x195c(){const _0x5d7957=['mybatisXml','892qTBvtJ','16008DrMYij','replace','trim','10800273YeaIWe','unknown-db','51148dQcPdC','.sql','4189425qPbXCS','test','12170472EaLPaI','unknown-sql','sql','38tpqrXV','7lbqgyY','.xml','db-','7810crcDSJ','7839xFtwDY','10995510KdBLrn'];a239_0x195c=function(){return _0x5d7957;};return a239_0x195c();}export function getSqlFileExtension(_0x8acbaa){const _0x5911ac=a239_0x19ca;return _0x8acbaa===_0x5911ac(0x1d3)?_0x5911ac(0x1ce):_0x5911ac(0x1c6);}export function buildDefaultSqlFileName(_0x18f25c,_0x434e0f){return''+_0x18f25c+getSqlFileExtension(_0x434e0f);}export function sanitizeSqlPathSegment(_0xea3227,_0x1b7691){const _0x197177=a239_0x19ca,_0x500e7a=String(_0xea3227??'')[_0x197177(0x1c2)](),_0x485d72=_0x500e7a[_0x197177(0x1d6)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x197177(0x1d6)](/\s+/g,'-')[_0x197177(0x1d6)](/-+/g,'-')[_0x197177(0x1d6)](/^\.+/,'')[_0x197177(0x1d6)](/\.+$/,'')[_0x197177(0x1d6)](/^-+/,'')[_0x197177(0x1d6)](/-+$/,'');return _0x485d72||_0x1b7691;}export function buildDbDirectoryName(_0x459c41,_0x11497a){const _0x4bc6d7=a239_0x19ca;return sanitizeSqlPathSegment(_0x459c41,_0x11497a!=null?_0x4bc6d7(0x1cf)+_0x11497a:_0x4bc6d7(0x1c4));}export function buildSqlRelativePath(_0x4b8c1e,_0x3120fb,_0x4b4eb6,_0x772d2f,_0x1fb636){const _0x269f64=a239_0x19ca,_0x5c3a5a=buildDbDirectoryName(_0x4b4eb6,_0x1fb636),_0x41ee4c=sanitizeSqlPathSegment(_0x4b8c1e,_0x269f64(0x1ca)),_0x39cb3d=sanitizeSqlPathSegment(_0x3120fb,_0x41ee4c);return _0x5c3a5a+'/'+_0x41ee4c+'_'+_0x39cb3d+getSqlFileExtension(_0x772d2f);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a240_0x1111c7=a240_0x3094;(function(_0x6fef45,_0x18b9d2){const _0x5a3358=a240_0x3094,_0x18afa1=_0x6fef45();while(!![]){try{const _0x4dc721=-parseInt(_0x5a3358(0x1ff))/0x1+-parseInt(_0x5a3358(0x206))/0x2*(parseInt(_0x5a3358(0x1f9))/0x3)+-parseInt(_0x5a3358(0x1ec))/0x4+parseInt(_0x5a3358(0x1f5))/0x5*(parseInt(_0x5a3358(0x222))/0x6)+parseInt(_0x5a3358(0x1e9))/0x7*(parseInt(_0x5a3358(0x204))/0x8)+parseInt(_0x5a3358(0x1f4))/0x9*(parseInt(_0x5a3358(0x1da))/0xa)+-parseInt(_0x5a3358(0x1e5))/0xb*(-parseInt(_0x5a3358(0x1dc))/0xc);if(_0x4dc721===_0x18b9d2)break;else _0x18afa1['push'](_0x18afa1['shift']());}catch(_0x1782b6){_0x18afa1['push'](_0x18afa1['shift']());}}}(a240_0x5ab5,0x1f5ed));const MYBATIS_OUTER_TAGS=new Map([[a240_0x1111c7(0x207),'SELECT'],[a240_0x1111c7(0x1e4),a240_0x1111c7(0x215)],[a240_0x1111c7(0x1ed),a240_0x1111c7(0x1fe)],[a240_0x1111c7(0x1f3),'DELETE']]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a240_0x1111c7(0x1d9),a240_0x1111c7(0x1fb),a240_0x1111c7(0x216),'when',a240_0x1111c7(0x1f1),a240_0x1111c7(0x212),a240_0x1111c7(0x200),a240_0x1111c7(0x1d8),'include','property']),MYBATIS_BRANCH_TAGS=new Set(['if',a240_0x1111c7(0x1fb),a240_0x1111c7(0x216),a240_0x1111c7(0x1f7),a240_0x1111c7(0x1f1)]);export const MYBATIS_DYNAMIC_START_MARKER='__RABETBASE_MYBATIS_DYNAMIC_START__';export const MYBATIS_DYNAMIC_END_MARKER=a240_0x1111c7(0x201);export const MYBATIS_INCLUDE_MARKER='__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__';const UNRESOLVED_SQL_FRAGMENT=a240_0x1111c7(0x205),MYBATIS_OUTER_TAG_PATTERN=new RegExp('^<\x5cs*(?:'+[...MYBATIS_OUTER_TAGS['keys']()][a240_0x1111c7(0x1d3)]('|')+')\x5cb','i');function a240_0x3094(_0x1d8219,_0x534611){_0x1d8219=_0x1d8219-0x1c4;const _0x5ab55e=a240_0x5ab5();let _0x3094a6=_0x5ab55e[_0x1d8219];return _0x3094a6;}export function normalizeSqlForStaticAnalysis(_0x137c1a){const _0x173086=a240_0x1111c7,_0x2aa288=typeof _0x137c1a===_0x173086(0x1e7)?_0x137c1a:'';if(!startsWithMybatisStatementWrapper(_0x2aa288))return{'sql':_0x2aa288,'mode':_0x173086(0x1de)};let _0x88d21e=0x0,_0x731bde='',_0x81dd57,_0x9be2de=![],_0x4a7271=![];const _0x47591c=[];while(_0x88d21e<_0x2aa288['length']){if(_0x2aa288[_0x173086(0x1fc)](_0x173086(0x1d5),_0x88d21e)){const _0x3b9ff8=_0x2aa288[_0x173086(0x20f)](_0x173086(0x210),_0x88d21e+0x4);if(_0x3b9ff8<0x0)return invalidMybatisSource(_0x173086(0x203));_0x731bde+='\x20',_0x88d21e=_0x3b9ff8+0x3;continue;}if(_0x2aa288[_0x173086(0x1fc)](_0x173086(0x214),_0x88d21e)){if(!_0x9be2de||_0x4a7271)return invalidMybatisSource('CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x1daf87=_0x2aa288[_0x173086(0x20f)](']]>',_0x88d21e+0x9);if(_0x1daf87<0x0)return invalidMybatisSource(_0x173086(0x1e8));_0x731bde+=_0x2aa288['slice'](_0x88d21e+0x9,_0x1daf87),_0x88d21e=_0x1daf87+0x3;continue;}if(_0x2aa288[_0x173086(0x1fc)]('<?',_0x88d21e)){if(_0x9be2de)return invalidMybatisSource(_0x173086(0x20e));const _0xbc0e4e=_0x2aa288[_0x173086(0x20f)]('?>',_0x88d21e+0x2);if(_0xbc0e4e<0x0)return invalidMybatisSource(_0x173086(0x20d));_0x731bde+='\x20',_0x88d21e=_0xbc0e4e+0x2;continue;}if(_0x2aa288[_0x88d21e]!=='<'){const _0x14963e=_0x2aa288[_0x173086(0x20f)]('<',_0x88d21e),_0x3ed956=_0x14963e<0x0?_0x2aa288['length']:_0x14963e,_0x473a7f=_0x2aa288[_0x173086(0x1e3)](_0x88d21e,_0x3ed956);if((!_0x9be2de||_0x4a7271)&&_0x473a7f['trim']())return invalidMybatisSource(_0x173086(0x20c));if(_0x9be2de&&!_0x4a7271){const _0x5d9df9=decodeXmlEntities(_0x473a7f);if(_0x5d9df9===null)return invalidMybatisSource(_0x173086(0x21b));_0x731bde+=_0x5d9df9;}else _0x731bde+='\x20';_0x88d21e=_0x3ed956;continue;}const _0x1d3e34=findXmlTagEnd(_0x2aa288,_0x88d21e);if(_0x1d3e34<0x0)return invalidMybatisSource('Unterminated\x20MyBatis\x20XML\x20tag.');const _0x5f0db8=_0x2aa288['slice'](_0x88d21e,_0x1d3e34+0x1),_0xaf1629=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x173086(0x1dd)](_0x5f0db8);if(!_0xaf1629)return invalidMybatisSource(_0x173086(0x1cb));const _0x3fa580=_0xaf1629[0x1]==='/',_0x16a3c8=_0xaf1629[0x2]??'',_0x41c27d=_0x16a3c8[_0x173086(0x1db)](),_0x1fe2ca=_0xaf1629[0x3]??'',_0x36cc65=_0xaf1629[0x4]==='/',_0xb27d50=MYBATIS_OUTER_TAGS[_0x173086(0x1f6)](_0x41c27d);if(!_0xb27d50&&!MYBATIS_DYNAMIC_TAGS[_0x173086(0x1cd)](_0x41c27d))return invalidMybatisSource(_0x173086(0x1e6)+_0x41c27d+'>.');if(!_0xb27d50&&_0x16a3c8!==_0x41c27d)return invalidMybatisSource(_0x173086(0x217)+_0x16a3c8+'>.');if(_0x3fa580){if(_0x1fe2ca[_0x173086(0x212)]()||_0x36cc65)return invalidMybatisSource(_0x173086(0x209)+_0x16a3c8+'>.');const _0x1ac4a2=_0x47591c['at'](-0x1);if(!_0x1ac4a2||(_0x1ac4a2[_0x173086(0x21f)]?_0x1ac4a2[_0x173086(0x1ce)]!==_0x41c27d:_0x1ac4a2[_0x173086(0x21a)]!==_0x16a3c8))return invalidMybatisSource(_0x173086(0x224)+_0x16a3c8+'>.');_0x47591c[_0x173086(0x1e2)]();if(_0x1ac4a2[_0x173086(0x21f)])_0x4a7271=!![];_0x731bde+=MYBATIS_BRANCH_TAGS[_0x173086(0x1cd)](_0x41c27d)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x1fe2ca))return invalidMybatisSource(_0x173086(0x1c7)+_0x16a3c8+'>.');if(_0x41c27d===_0x173086(0x1d6)&&(!_0x36cc65||_0x47591c['at'](-0x1)?.[_0x173086(0x1ce)]!=='include'))return invalidMybatisSource('MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.');if(_0xb27d50){if(_0x9be2de||_0x47591c[_0x173086(0x20b)]>0x0)return invalidMybatisSource(_0x173086(0x1d0));_0x9be2de=!![],_0x4a7271=_0x36cc65,_0x81dd57=_0xb27d50;}else{if(!_0x9be2de||_0x4a7271)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<'+_0x16a3c8+'>.');}_0x731bde+=_0x41c27d==='where'?_0x173086(0x1c5):_0x41c27d===_0x173086(0x200)?_0x173086(0x1f2):_0x41c27d===_0x173086(0x1eb)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0x41c27d)&&!_0x36cc65?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x36cc65&&_0x47591c['push']({'rawName':_0x16a3c8,'tagName':_0x41c27d,'outer':!!_0xb27d50});}_0x88d21e=_0x1d3e34+0x1;}if(_0x47591c[_0x173086(0x20b)]>0x0)return invalidMybatisSource(_0x173086(0x219)+_0x47591c['at'](-0x1)?.[_0x173086(0x21a)]+'>.');if(!_0x9be2de||!_0x4a7271)return invalidMybatisSource(_0x173086(0x1c9));return{'sql':_0x731bde[_0x173086(0x212)](),'mode':'mybatisXml',..._0x81dd57?{'statementType':_0x81dd57}:{}};}function hasWellFormedXmlAttributes(_0x2f00f0){const _0x581af3=a240_0x1111c7;let _0x1119e5=0x0;const _0x408faf=new Set();while(_0x1119e5<_0x2f00f0['length']){while(_0x1119e5<_0x2f00f0[_0x581af3(0x20b)]&&/\s/[_0x581af3(0x20a)](_0x2f00f0[_0x1119e5]??''))_0x1119e5+=0x1;if(_0x1119e5>=_0x2f00f0['length'])return!![];const _0x50136c=/^[A-Za-z_:][\w:.-]*/[_0x581af3(0x1dd)](_0x2f00f0[_0x581af3(0x1e3)](_0x1119e5)),_0x2a5d45=_0x50136c?.[0x0];if(!_0x2a5d45||_0x408faf['has'](_0x2a5d45))return![];_0x408faf[_0x581af3(0x1ee)](_0x2a5d45),_0x1119e5+=_0x2a5d45[_0x581af3(0x20b)];while(_0x1119e5<_0x2f00f0[_0x581af3(0x20b)]&&/\s/[_0x581af3(0x20a)](_0x2f00f0[_0x1119e5]??''))_0x1119e5+=0x1;if(_0x2f00f0[_0x1119e5]!=='=')return![];_0x1119e5+=0x1;while(_0x1119e5<_0x2f00f0['length']&&/\s/[_0x581af3(0x20a)](_0x2f00f0[_0x1119e5]??''))_0x1119e5+=0x1;const _0x21afff=_0x2f00f0[_0x1119e5];if(_0x21afff!=='\x22'&&_0x21afff!=='\x27')return![];_0x1119e5+=0x1;const _0x25708c=_0x2f00f0['indexOf'](_0x21afff,_0x1119e5);if(_0x25708c<0x0)return![];if(decodeXmlEntities(_0x2f00f0[_0x581af3(0x1e3)](_0x1119e5,_0x25708c))===null)return![];_0x1119e5=_0x25708c+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x7495e6){const _0xb6c37=a240_0x1111c7;let _0x4e8a55=0x0;const _0x401375=()=>{const _0x45b359=a240_0x3094;while(_0x4e8a55<_0x7495e6['length']&&/\s/[_0x45b359(0x20a)](_0x7495e6[_0x4e8a55]??''))_0x4e8a55+=0x1;};_0x401375();while(_0x4e8a55<_0x7495e6['length']){if(_0x7495e6[_0xb6c37(0x1fc)]('<!--',_0x4e8a55)){const _0x5a472f=_0x7495e6[_0xb6c37(0x20f)](_0xb6c37(0x210),_0x4e8a55+0x4);if(_0x5a472f<0x0)return!![];_0x4e8a55=_0x5a472f+0x3,_0x401375();continue;}if(_0x7495e6[_0xb6c37(0x1fc)]('<?',_0x4e8a55)){const _0xaf99ef=_0x7495e6[_0xb6c37(0x20f)]('?>',_0x4e8a55+0x2);if(_0xaf99ef<0x0)return!![];_0x4e8a55=_0xaf99ef+0x2,_0x401375();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0xb6c37(0x20a)](_0x7495e6[_0xb6c37(0x1e3)](_0x4e8a55));}function invalidMybatisSource(_0x59b86a){const _0x451d89=a240_0x1111c7;return{'sql':'','mode':_0x451d89(0x21e),'error':_0x59b86a};}function findXmlTagEnd(_0xc65bbe,_0x4c9f69){const _0xec8bc6=a240_0x1111c7;let _0x28fdcc;for(let _0x2da6d4=_0x4c9f69+0x1;_0x2da6d4<_0xc65bbe[_0xec8bc6(0x20b)];_0x2da6d4+=0x1){const _0x430ca3=_0xc65bbe[_0x2da6d4];if(_0x28fdcc){if(_0x430ca3===_0x28fdcc)_0x28fdcc=undefined;continue;}if(_0x430ca3==='\x22'||_0x430ca3==='\x27'){_0x28fdcc=_0x430ca3;continue;}if(_0x430ca3==='>')return _0x2da6d4;}return-0x1;}function decodeXmlEntities(_0x528a6f){const _0x2e430c=a240_0x1111c7;let _0x26bd2e=![];const _0x4d3d9e=_0x528a6f[_0x2e430c(0x21d)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x3aac28=>{const _0x873a50=_0x2e430c;if(_0x3aac28===_0x873a50(0x1fd))return'<';if(_0x3aac28===_0x873a50(0x1df))return'>';if(_0x3aac28===_0x873a50(0x1e0))return'\x22';if(_0x3aac28===''')return'\x27';if(_0x3aac28==='&')return'&';const _0x100314=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x873a50(0x1dd)](_0x3aac28);if(_0x100314){const _0x243b42=_0x100314[0x1],_0xebc7cf=_0x100314[0x2],_0x2e6801=Number[_0x873a50(0x1ef)](_0x243b42??_0xebc7cf??'',_0x243b42?0x10:0xa);if(isValidXmlCharacter(_0x2e6801))return String[_0x873a50(0x1d1)](_0x2e6801);}return _0x26bd2e=!![],'';});return _0x26bd2e?null:_0x4d3d9e;}function a240_0x5ab5(){const _0xc27b1b=['3bHyTcB','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','foreach','startsWith','<','UPDATE','230912PCAoLy','set','__RABETBASE_MYBATIS_DYNAMIC_END__','reason','Unterminated\x20XML\x20comment.','16JbDYZs','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','14156VGqrmQ','select','replaceAll','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','test','length','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','Unterminated\x20XML\x20declaration.','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','indexOf','-->','matchAll','trim','match','<![CDATA[','INSERT','choose','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','DELETE','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','rawName','Invalid\x20XML\x20entity\x20reference.','from','replace','mybatisXml','outer','DDL','UNKNOWN','1230942eHVzLr','isDangerous','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','push','\x20WHERE\x20','SELECT','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','type','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','WITH','Invalid\x20MyBatis\x20XML\x20tag.','Unable\x20to\x20detect\x20SQL\x20type.\x20','has','tagName','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','fromCodePoint','unknown\x20table(s)','join','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','<!--','property','\x20with\x20parameters:\x20','bind','where','30aaBWGR','toLowerCase','15084XdVdSP','exec','sql','>','"','error','pop','slice','insert','1430jrwJbG','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','string','Unterminated\x20CDATA\x20section.','471968FXfeMC','\x20query\x20targeting\x20','include','652344gGHjer','update','add','parseInt','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','otherwise','\x20SET\x20','delete','78462hcgvtS','5ZrdGah','get','when','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save'];a240_0x5ab5=function(){return _0xc27b1b;};return a240_0x5ab5();}function isValidXmlCharacter(_0x8f6bf9){return _0x8f6bf9===0x9||_0x8f6bf9===0xa||_0x8f6bf9===0xd||_0x8f6bf9>=0x20&&_0x8f6bf9<=0xd7ff||_0x8f6bf9>=0xe000&&_0x8f6bf9<=0xfffd||_0x8f6bf9>=0x10000&&_0x8f6bf9<=0x10ffff;}export function detectSqlType(_0x4d23d2){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x4d23d2));}function detectNormalizedSqlType(_0xd82c18){const _0x27d4e1=a240_0x1111c7;if(_0xd82c18[_0x27d4e1(0x1e1)])return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![],'reason':_0xd82c18['error']};if(!_0xd82c18[_0x27d4e1(0x1de)][_0x27d4e1(0x212)]())return{'type':_0x27d4e1(0x221),'isSelectOnly':![],'isDangerous':![],'reason':'SQL\x20content\x20is\x20empty'};const _0x5d7dd2=stripStaticAnalysisMarkers(_0xd82c18[_0x27d4e1(0x1de)])[_0x27d4e1(0x21d)](/#\{[^}]*\}/g,'?')[_0x27d4e1(0x21d)](/\$\{[^}]*\}/g,'?')[_0x27d4e1(0x21d)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x27d4e1(0x21d)](/\/\*[\s\S]*?\*\//g,'')[_0x27d4e1(0x212)](),_0x320396=_0x5d7dd2['split']('\x0a');let _0x530eb0='';for(const _0x2732b6 of _0x320396){const _0x38cf16=_0x2732b6[_0x27d4e1(0x212)]();if(!_0x38cf16||_0x38cf16[_0x27d4e1(0x1fc)]('--')||_0x38cf16[_0x27d4e1(0x1fc)]('/*'))continue;_0x530eb0=_0x38cf16;break;}const _0x43d3f9=_0x530eb0['toUpperCase'](),_0x2612c0=_0xd82c18['statementType'],_0x178b28=maskSqlTextForBlockedKeywordScan(_0x5d7dd2),_0x3c67e1=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x27d4e1(0x20a)](_0x178b28);if(_0x2612c0===_0x27d4e1(0x1c6)||!_0x2612c0&&(_0x43d3f9['startsWith'](_0x27d4e1(0x1c6))||_0x43d3f9[_0x27d4e1(0x1fc)](_0x27d4e1(0x1ca)))){const _0x33dc5b=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x27d4e1(0x20a)](_0x5d7dd2);return{'type':_0x27d4e1(0x1c6),'isSelectOnly':!_0x33dc5b,'isDangerous':_0x33dc5b,'reason':_0x33dc5b?_0x27d4e1(0x1cf):undefined};}if(_0x2612c0===_0x27d4e1(0x215)||!_0x2612c0&&_0x43d3f9[_0x27d4e1(0x1fc)](_0x27d4e1(0x215)))return{'type':_0x27d4e1(0x215),'isSelectOnly':![],'isDangerous':_0x3c67e1,'reason':_0x3c67e1?'SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements':undefined};if(_0x2612c0===_0x27d4e1(0x1fe)||!_0x2612c0&&_0x43d3f9[_0x27d4e1(0x1fc)](_0x27d4e1(0x1fe)))return{'type':_0x27d4e1(0x1fe),'isSelectOnly':![],'isDangerous':_0x3c67e1,'reason':_0x3c67e1?_0x27d4e1(0x1f0):undefined};if(_0x2612c0==='DELETE'||!_0x2612c0&&_0x43d3f9['startsWith'](_0x27d4e1(0x218)))return{'type':_0x27d4e1(0x218),'isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x27d4e1(0x20a)](_0x43d3f9))return{'type':_0x27d4e1(0x220),'isSelectOnly':![],'isDangerous':!![],'reason':_0x27d4e1(0x1f8)};return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x162a62){const _0x2b19f8=a240_0x1111c7;return _0x162a62['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x2b19f8(0x208)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x2b19f8(0x208)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x23f8d9){const _0x3173c2=a240_0x1111c7;return _0x23f8d9[_0x3173c2(0x21d)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x3173c2(0x21d)](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x3173c2(0x21d)](/--.*$/gm,'\x20')['replace'](/#.*$/gm,'\x20')['replace'](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x2f17cc){const _0x3a83b4=a240_0x1111c7,_0x3bfe17=_0x2f17cc[_0x3a83b4(0x21d)](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')[_0x3a83b4(0x21d)](/'[^']*'/g,'\x27\x27')[_0x3a83b4(0x21d)](/--.*$/gm,'')[_0x3a83b4(0x21d)](/\/\*[\s\S]*?\*\//g,''),_0x40f5fc=[],_0x1a7928=_0x3bfe17[_0x3a83b4(0x213)](/FROM\s+([^\s,)(]+)/i);addTable(_0x40f5fc,_0x1a7928?.[0x1]);for(const _0x4b8402 of _0x3bfe17[_0x3a83b4(0x211)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x40f5fc,_0x4b8402[0x1]);}const _0x54ab13=_0x3bfe17[_0x3a83b4(0x213)](/INTO\s+([^\s(]+)/i);addTable(_0x40f5fc,_0x54ab13?.[0x1]);const _0x32e272=_0x3bfe17[_0x3a83b4(0x213)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x40f5fc,_0x32e272?.[0x1]),_0x40f5fc;}function addTable(_0x3aa9a6,_0xd7ea27){const _0xfddd66=a240_0x1111c7,_0x2f25b9=_0xd7ea27?.['replace'](/[`"]/g,'');_0x2f25b9&&_0x2f25b9!==UNRESOLVED_SQL_FRAGMENT&&!_0x3aa9a6['includes'](_0x2f25b9)&&_0x3aa9a6[_0xfddd66(0x1c4)](_0x2f25b9);}function extractParameters(_0x4d30fc){const _0x1abbd2=a240_0x1111c7,_0x1ccd6b=new Set();for(const _0x3bfc0c of _0x4d30fc[_0x1abbd2(0x211)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x3bfc0c[0x1])_0x1ccd6b[_0x1abbd2(0x1ee)](_0x3bfc0c[0x1]);}return Array[_0x1abbd2(0x21c)](_0x1ccd6b);}export function validateSql(_0x138ad3){const _0x24f709=a240_0x1111c7,_0x11fe44=normalizeSqlForStaticAnalysis(_0x138ad3),_0x47dd7e=detectNormalizedSqlType(_0x11fe44),_0x299113=stripStaticAnalysisMarkers(_0x11fe44[_0x24f709(0x1de)]),_0x1b6d5f=_0x11fe44[_0x24f709(0x1e1)]?[]:extractTables(_0x299113),_0x25ea05=_0x11fe44['error']?[]:extractParameters(_0x299113);if(_0x47dd7e[_0x24f709(0x223)])return{'valid':![],'sqlType':_0x47dd7e,'tables':_0x1b6d5f,'parameters':_0x25ea05,'message':_0x47dd7e[_0x24f709(0x202)]||_0x47dd7e['type']+_0x24f709(0x1d4)};if(_0x47dd7e['type']===_0x24f709(0x221))return{'valid':![],'sqlType':_0x47dd7e,'tables':_0x1b6d5f,'parameters':_0x25ea05,'message':_0x11fe44[_0x24f709(0x1e1)]?_0x24f709(0x1cc)+_0x11fe44['error']:_0x24f709(0x1fa)};return{'valid':!![],'sqlType':_0x47dd7e,'tables':_0x1b6d5f,'parameters':_0x25ea05,'message':_0x47dd7e[_0x24f709(0x1c8)]+_0x24f709(0x1ea)+(_0x1b6d5f[_0x24f709(0x20b)]?_0x1b6d5f[_0x24f709(0x1d3)](',\x20'):_0x24f709(0x1d2))+(_0x25ea05[_0x24f709(0x20b)]?_0x24f709(0x1d7)+_0x25ea05[_0x24f709(0x1d3)](',\x20'):'')};}
|
|
1
|
+
const a240_0x559f0d=a240_0x15ca;(function(_0x2d304f,_0x4f3b2e){const _0x4806f8=a240_0x15ca,_0xb2e4b5=_0x2d304f();while(!![]){try{const _0x50853d=-parseInt(_0x4806f8(0x1c1))/0x1*(parseInt(_0x4806f8(0x19e))/0x2)+-parseInt(_0x4806f8(0x1b2))/0x3*(-parseInt(_0x4806f8(0x1cc))/0x4)+parseInt(_0x4806f8(0x1ca))/0x5*(-parseInt(_0x4806f8(0x187))/0x6)+parseInt(_0x4806f8(0x171))/0x7+parseInt(_0x4806f8(0x17c))/0x8+-parseInt(_0x4806f8(0x183))/0x9+parseInt(_0x4806f8(0x176))/0xa*(parseInt(_0x4806f8(0x1a9))/0xb);if(_0x50853d===_0x4f3b2e)break;else _0xb2e4b5['push'](_0xb2e4b5['shift']());}catch(_0x5781e4){_0xb2e4b5['push'](_0xb2e4b5['shift']());}}}(a240_0x2f75,0xb40fb));const MYBATIS_OUTER_TAGS=new Map([[a240_0x559f0d(0x1b8),a240_0x559f0d(0x185)],[a240_0x559f0d(0x18e),'INSERT'],[a240_0x559f0d(0x17f),'UPDATE'],[a240_0x559f0d(0x192),'DELETE']]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a240_0x559f0d(0x1af),'foreach','choose',a240_0x559f0d(0x18b),a240_0x559f0d(0x1be),a240_0x559f0d(0x1ab),a240_0x559f0d(0x1bc),a240_0x559f0d(0x1ae),a240_0x559f0d(0x1c4),a240_0x559f0d(0x1c8)]),MYBATIS_BRANCH_TAGS=new Set(['if','foreach','choose',a240_0x559f0d(0x18b),a240_0x559f0d(0x1be)]);export const MYBATIS_DYNAMIC_START_MARKER=a240_0x559f0d(0x1b7);export const MYBATIS_DYNAMIC_END_MARKER=a240_0x559f0d(0x1c0);export const MYBATIS_INCLUDE_MARKER=a240_0x559f0d(0x19d);function a240_0x2f75(){const _0x224b3a=['toLowerCase','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','sql','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','\x20SET\x20','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','2DFMDZB','-->','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','WITH','split','mybatisXml','push','unknown\x20table(s)','\x20WHERE\x20','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','rawName','27632SXNftm','replaceAll','trim','get','Unterminated\x20MyBatis\x20XML\x20tag.','bind','where','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','18EGYjfC','replace',''','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','parseInt','__RABETBASE_MYBATIS_DYNAMIC_START__','select','<!--','&','Unterminated\x20XML\x20comment.','set','test','otherwise','has','__RABETBASE_MYBATIS_DYNAMIC_END__','768148IZGEYr','startsWith','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','include','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','<![CDATA[','reason','property','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','5rbXLYB','UPDATE','64384pWxVif','3390597rIArly','type','includes','error','Invalid\x20XML\x20entity\x20reference.','6770aPGFNQ','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','outer','toUpperCase','statementType','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','7343704foqJar','DDL','Unterminated\x20XML\x20declaration.','update','DELETE','pop','INSERT','11453346PNGANC','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','SELECT','from','2527566BBwcMW','join','Unable\x20to\x20detect\x20SQL\x20type.\x20','tagName','when','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','UNKNOWN','insert','indexOf','length','^<\x5cs*(?:','delete','exec','slice','fromCodePoint','add'];a240_0x2f75=function(){return _0x224b3a;};return a240_0x2f75();}const UNRESOLVED_SQL_FRAGMENT=a240_0x559f0d(0x17b),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a240_0x559f0d(0x191)+[...MYBATIS_OUTER_TAGS['keys']()][a240_0x559f0d(0x188)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x54f324){const _0x25e471=a240_0x559f0d,_0x59aac4=typeof _0x54f324==='string'?_0x54f324:'';if(!startsWithMybatisStatementWrapper(_0x59aac4))return{'sql':_0x59aac4,'mode':'sql'};let _0x4ad9d3=0x0,_0x31f6d0='',_0x10cdb9,_0x2f22d2=![],_0x2a9415=![];const _0x25f2e0=[];while(_0x4ad9d3<_0x59aac4[_0x25e471(0x190)]){if(_0x59aac4[_0x25e471(0x1c2)](_0x25e471(0x1b9),_0x4ad9d3)){const _0x426d60=_0x59aac4[_0x25e471(0x18f)]('-->',_0x4ad9d3+0x4);if(_0x426d60<0x0)return invalidMybatisSource(_0x25e471(0x1bb));_0x31f6d0+='\x20',_0x4ad9d3=_0x426d60+0x3;continue;}if(_0x59aac4[_0x25e471(0x1c2)](_0x25e471(0x1c6),_0x4ad9d3)){if(!_0x2f22d2||_0x2a9415)return invalidMybatisSource('CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x4d224b=_0x59aac4[_0x25e471(0x18f)](']]>',_0x4ad9d3+0x9);if(_0x4d224b<0x0)return invalidMybatisSource('Unterminated\x20CDATA\x20section.');_0x31f6d0+=_0x59aac4[_0x25e471(0x194)](_0x4ad9d3+0x9,_0x4d224b),_0x4ad9d3=_0x4d224b+0x3;continue;}if(_0x59aac4['startsWith']('<?',_0x4ad9d3)){if(_0x2f22d2)return invalidMybatisSource('XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x253a5e=_0x59aac4[_0x25e471(0x18f)]('?>',_0x4ad9d3+0x2);if(_0x253a5e<0x0)return invalidMybatisSource(_0x25e471(0x17e));_0x31f6d0+='\x20',_0x4ad9d3=_0x253a5e+0x2;continue;}if(_0x59aac4[_0x4ad9d3]!=='<'){const _0x2ec387=_0x59aac4[_0x25e471(0x18f)]('<',_0x4ad9d3),_0x38e446=_0x2ec387<0x0?_0x59aac4['length']:_0x2ec387,_0x298e9f=_0x59aac4[_0x25e471(0x194)](_0x4ad9d3,_0x38e446);if((!_0x2f22d2||_0x2a9415)&&_0x298e9f['trim']())return invalidMybatisSource(_0x25e471(0x184));if(_0x2f22d2&&!_0x2a9415){const _0x5b4ec9=decodeXmlEntities(_0x298e9f);if(_0x5b4ec9===null)return invalidMybatisSource(_0x25e471(0x175));_0x31f6d0+=_0x5b4ec9;}else _0x31f6d0+='\x20';_0x4ad9d3=_0x38e446;continue;}const _0x3ed8e2=findXmlTagEnd(_0x59aac4,_0x4ad9d3);if(_0x3ed8e2<0x0)return invalidMybatisSource(_0x25e471(0x1ad));const _0x6c646f=_0x59aac4[_0x25e471(0x194)](_0x4ad9d3,_0x3ed8e2+0x1),_0x34f703=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x25e471(0x193)](_0x6c646f);if(!_0x34f703)return invalidMybatisSource('Invalid\x20MyBatis\x20XML\x20tag.');const _0x27745c=_0x34f703[0x1]==='/',_0x4141a3=_0x34f703[0x2]??'',_0x4d7bc3=_0x4141a3[_0x25e471(0x197)](),_0x2acd88=_0x34f703[0x3]??'',_0x324805=_0x34f703[0x4]==='/',_0x59a4b9=MYBATIS_OUTER_TAGS[_0x25e471(0x1ac)](_0x4d7bc3);if(!_0x59a4b9&&!MYBATIS_DYNAMIC_TAGS[_0x25e471(0x1bf)](_0x4d7bc3))return invalidMybatisSource(_0x25e471(0x1c3)+_0x4d7bc3+'>.');if(!_0x59a4b9&&_0x4141a3!==_0x4d7bc3)return invalidMybatisSource(_0x25e471(0x18c)+_0x4141a3+'>.');if(_0x27745c){if(_0x2acd88['trim']()||_0x324805)return invalidMybatisSource(_0x25e471(0x177)+_0x4141a3+'>.');const _0x707d57=_0x25f2e0['at'](-0x1);if(!_0x707d57||(_0x707d57[_0x25e471(0x178)]?_0x707d57['tagName']!==_0x4d7bc3:_0x707d57['rawName']!==_0x4141a3))return invalidMybatisSource(_0x25e471(0x1a7)+_0x4141a3+'>.');_0x25f2e0[_0x25e471(0x181)]();if(_0x707d57[_0x25e471(0x178)])_0x2a9415=!![];_0x31f6d0+=MYBATIS_BRANCH_TAGS[_0x25e471(0x1bf)](_0x4d7bc3)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x2acd88))return invalidMybatisSource(_0x25e471(0x1b5)+_0x4141a3+'>.');if(_0x4d7bc3===_0x25e471(0x1c8)&&(!_0x324805||_0x25f2e0['at'](-0x1)?.[_0x25e471(0x18a)]!==_0x25e471(0x1c4)))return invalidMybatisSource(_0x25e471(0x1c5));if(_0x59a4b9){if(_0x2f22d2||_0x25f2e0[_0x25e471(0x190)]>0x0)return invalidMybatisSource(_0x25e471(0x1c9));_0x2f22d2=!![],_0x2a9415=_0x324805,_0x10cdb9=_0x59a4b9;}else{if(!_0x2f22d2||_0x2a9415)return invalidMybatisSource(_0x25e471(0x1b0)+_0x4141a3+'>.');}_0x31f6d0+=_0x4d7bc3===_0x25e471(0x1af)?_0x25e471(0x1a6):_0x4d7bc3==='set'?_0x25e471(0x19b):_0x4d7bc3==='include'?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0x4d7bc3)&&!_0x324805?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x324805&&_0x25f2e0[_0x25e471(0x1a4)]({'rawName':_0x4141a3,'tagName':_0x4d7bc3,'outer':!!_0x59a4b9});}_0x4ad9d3=_0x3ed8e2+0x1;}if(_0x25f2e0[_0x25e471(0x190)]>0x0)return invalidMybatisSource(_0x25e471(0x1b1)+_0x25f2e0['at'](-0x1)?.[_0x25e471(0x1a8)]+'>.');if(!_0x2f22d2||!_0x2a9415)return invalidMybatisSource(_0x25e471(0x1a0));return{'sql':_0x31f6d0[_0x25e471(0x1ab)](),'mode':'mybatisXml',..._0x10cdb9?{'statementType':_0x10cdb9}:{}};}function hasWellFormedXmlAttributes(_0x2a51f2){const _0x5b2eec=a240_0x559f0d;let _0x448c93=0x0;const _0x2a75a3=new Set();while(_0x448c93<_0x2a51f2['length']){while(_0x448c93<_0x2a51f2[_0x5b2eec(0x190)]&&/\s/[_0x5b2eec(0x1bd)](_0x2a51f2[_0x448c93]??''))_0x448c93+=0x1;if(_0x448c93>=_0x2a51f2[_0x5b2eec(0x190)])return!![];const _0x280a9e=/^[A-Za-z_:][\w:.-]*/['exec'](_0x2a51f2[_0x5b2eec(0x194)](_0x448c93)),_0x4a3d7c=_0x280a9e?.[0x0];if(!_0x4a3d7c||_0x2a75a3[_0x5b2eec(0x1bf)](_0x4a3d7c))return![];_0x2a75a3[_0x5b2eec(0x196)](_0x4a3d7c),_0x448c93+=_0x4a3d7c[_0x5b2eec(0x190)];while(_0x448c93<_0x2a51f2[_0x5b2eec(0x190)]&&/\s/[_0x5b2eec(0x1bd)](_0x2a51f2[_0x448c93]??''))_0x448c93+=0x1;if(_0x2a51f2[_0x448c93]!=='=')return![];_0x448c93+=0x1;while(_0x448c93<_0x2a51f2[_0x5b2eec(0x190)]&&/\s/[_0x5b2eec(0x1bd)](_0x2a51f2[_0x448c93]??''))_0x448c93+=0x1;const _0x440ff0=_0x2a51f2[_0x448c93];if(_0x440ff0!=='\x22'&&_0x440ff0!=='\x27')return![];_0x448c93+=0x1;const _0xa65e45=_0x2a51f2[_0x5b2eec(0x18f)](_0x440ff0,_0x448c93);if(_0xa65e45<0x0)return![];if(decodeXmlEntities(_0x2a51f2['slice'](_0x448c93,_0xa65e45))===null)return![];_0x448c93=_0xa65e45+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x40a2d5){const _0x1a46d7=a240_0x559f0d;let _0x49e113=0x0;const _0x191b04=()=>{const _0x56f474=a240_0x15ca;while(_0x49e113<_0x40a2d5[_0x56f474(0x190)]&&/\s/[_0x56f474(0x1bd)](_0x40a2d5[_0x49e113]??''))_0x49e113+=0x1;};_0x191b04();while(_0x49e113<_0x40a2d5[_0x1a46d7(0x190)]){if(_0x40a2d5['startsWith'](_0x1a46d7(0x1b9),_0x49e113)){const _0xa7244d=_0x40a2d5['indexOf'](_0x1a46d7(0x19f),_0x49e113+0x4);if(_0xa7244d<0x0)return!![];_0x49e113=_0xa7244d+0x3,_0x191b04();continue;}if(_0x40a2d5[_0x1a46d7(0x1c2)]('<?',_0x49e113)){const _0x353fdb=_0x40a2d5[_0x1a46d7(0x18f)]('?>',_0x49e113+0x2);if(_0x353fdb<0x0)return!![];_0x49e113=_0x353fdb+0x2,_0x191b04();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x1a46d7(0x1bd)](_0x40a2d5['slice'](_0x49e113));}function invalidMybatisSource(_0x507a78){const _0x51446a=a240_0x559f0d;return{'sql':'','mode':_0x51446a(0x1a3),'error':_0x507a78};}function findXmlTagEnd(_0x388e9e,_0x6f5acc){const _0x51e60a=a240_0x559f0d;let _0x220cbe;for(let _0x3858d9=_0x6f5acc+0x1;_0x3858d9<_0x388e9e[_0x51e60a(0x190)];_0x3858d9+=0x1){const _0x1b93b6=_0x388e9e[_0x3858d9];if(_0x220cbe){if(_0x1b93b6===_0x220cbe)_0x220cbe=undefined;continue;}if(_0x1b93b6==='\x22'||_0x1b93b6==='\x27'){_0x220cbe=_0x1b93b6;continue;}if(_0x1b93b6==='>')return _0x3858d9;}return-0x1;}function decodeXmlEntities(_0xff9d12){const _0x54842b=a240_0x559f0d;let _0x2b356b=![];const _0x45926b=_0xff9d12[_0x54842b(0x1b3)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x5f26fb=>{const _0x5a70b0=_0x54842b;if(_0x5f26fb==='<')return'<';if(_0x5f26fb==='>')return'>';if(_0x5f26fb==='"')return'\x22';if(_0x5f26fb===_0x5a70b0(0x1b4))return'\x27';if(_0x5f26fb===_0x5a70b0(0x1ba))return'&';const _0x2f1b90=/^&#(?:x([0-9a-f]+)|([0-9]+));$/['exec'](_0x5f26fb);if(_0x2f1b90){const _0x385257=_0x2f1b90[0x1],_0x14cf2d=_0x2f1b90[0x2],_0x5446f=Number[_0x5a70b0(0x1b6)](_0x385257??_0x14cf2d??'',_0x385257?0x10:0xa);if(isValidXmlCharacter(_0x5446f))return String[_0x5a70b0(0x195)](_0x5446f);}return _0x2b356b=!![],'';});return _0x2b356b?null:_0x45926b;}function isValidXmlCharacter(_0x489728){return _0x489728===0x9||_0x489728===0xa||_0x489728===0xd||_0x489728>=0x20&&_0x489728<=0xd7ff||_0x489728>=0xe000&&_0x489728<=0xfffd||_0x489728>=0x10000&&_0x489728<=0x10ffff;}export function detectSqlType(_0x5adc66){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x5adc66));}function detectNormalizedSqlType(_0x230f47){const _0x585d30=a240_0x559f0d;if(_0x230f47['error'])return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![],'reason':_0x230f47[_0x585d30(0x174)]};if(!_0x230f47[_0x585d30(0x199)][_0x585d30(0x1ab)]())return{'type':_0x585d30(0x18d),'isSelectOnly':![],'isDangerous':![],'reason':'SQL\x20content\x20is\x20empty'};const _0x4e3781=stripStaticAnalysisMarkers(_0x230f47[_0x585d30(0x199)])[_0x585d30(0x1b3)](/#\{[^}]*\}/g,'?')[_0x585d30(0x1b3)](/\$\{[^}]*\}/g,'?')[_0x585d30(0x1b3)](/@[^(\s]+(\([^)]*\))?/g,'')['replace'](/\/\*[\s\S]*?\*\//g,'')['trim'](),_0x36a5f5=_0x4e3781[_0x585d30(0x1a2)]('\x0a');let _0xc7b881='';for(const _0x1508d8 of _0x36a5f5){const _0x277e00=_0x1508d8['trim']();if(!_0x277e00||_0x277e00['startsWith']('--')||_0x277e00[_0x585d30(0x1c2)]('/*'))continue;_0xc7b881=_0x277e00;break;}const _0x3cb48d=_0xc7b881[_0x585d30(0x179)](),_0x5b8fbb=_0x230f47[_0x585d30(0x17a)],_0x17b6b7=maskSqlTextForBlockedKeywordScan(_0x4e3781),_0x575cb0=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x585d30(0x1bd)](_0x17b6b7);if(_0x5b8fbb===_0x585d30(0x185)||!_0x5b8fbb&&(_0x3cb48d[_0x585d30(0x1c2)]('SELECT')||_0x3cb48d[_0x585d30(0x1c2)](_0x585d30(0x1a1)))){const _0x618734=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x585d30(0x1bd)](_0x4e3781);return{'type':_0x585d30(0x185),'isSelectOnly':!_0x618734,'isDangerous':_0x618734,'reason':_0x618734?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0x5b8fbb===_0x585d30(0x182)||!_0x5b8fbb&&_0x3cb48d[_0x585d30(0x1c2)](_0x585d30(0x182)))return{'type':_0x585d30(0x182),'isSelectOnly':![],'isDangerous':_0x575cb0,'reason':_0x575cb0?'SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements':undefined};if(_0x5b8fbb==='UPDATE'||!_0x5b8fbb&&_0x3cb48d[_0x585d30(0x1c2)](_0x585d30(0x1cb)))return{'type':_0x585d30(0x1cb),'isSelectOnly':![],'isDangerous':_0x575cb0,'reason':_0x575cb0?'SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements':undefined};if(_0x5b8fbb===_0x585d30(0x180)||!_0x5b8fbb&&_0x3cb48d['startsWith']('DELETE'))return{'type':_0x585d30(0x180),'isSelectOnly':![],'isDangerous':!![],'reason':_0x585d30(0x19c)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x585d30(0x1bd)](_0x3cb48d))return{'type':_0x585d30(0x17d),'isSelectOnly':![],'isDangerous':!![],'reason':_0x585d30(0x198)};return{'type':_0x585d30(0x18d),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x1299e9){const _0x30149a=a240_0x559f0d;return _0x1299e9[_0x30149a(0x1aa)](MYBATIS_DYNAMIC_START_MARKER,'\x20')['replaceAll'](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x30149a(0x1aa)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function a240_0x15ca(_0x2c8df4,_0x4f9a38){_0x2c8df4=_0x2c8df4-0x171;const _0x2f75c9=a240_0x2f75();let _0x15cacb=_0x2f75c9[_0x2c8df4];return _0x15cacb;}function maskSqlTextForBlockedKeywordScan(_0x4f4895){const _0x49ed7a=a240_0x559f0d;return _0x4f4895[_0x49ed7a(0x1b3)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x49ed7a(0x1b3)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0x49ed7a(0x1b3)](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x49ed7a(0x1b3)](/--.*$/gm,'\x20')[_0x49ed7a(0x1b3)](/#.*$/gm,'\x20')[_0x49ed7a(0x1b3)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x4862d2){const _0x2cce32=a240_0x559f0d,_0x7a0cc5=_0x4862d2[_0x2cce32(0x1b3)](/#\{[^}]*\}/g,'?')[_0x2cce32(0x1b3)](/\$\{[^}]*\}/g,'?')[_0x2cce32(0x1b3)](/'[^']*'/g,'\x27\x27')[_0x2cce32(0x1b3)](/--.*$/gm,'')[_0x2cce32(0x1b3)](/\/\*[\s\S]*?\*\//g,''),_0x552fb0=[],_0x5d7e5a=_0x7a0cc5['match'](/FROM\s+([^\s,)(]+)/i);addTable(_0x552fb0,_0x5d7e5a?.[0x1]);for(const _0x9249e3 of _0x7a0cc5['matchAll'](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x552fb0,_0x9249e3[0x1]);}const _0x5eabdf=_0x7a0cc5['match'](/INTO\s+([^\s(]+)/i);addTable(_0x552fb0,_0x5eabdf?.[0x1]);const _0x43d2d5=_0x7a0cc5['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x552fb0,_0x43d2d5?.[0x1]),_0x552fb0;}function addTable(_0x582ce3,_0x355531){const _0x1e0ca4=a240_0x559f0d,_0x2b2c96=_0x355531?.[_0x1e0ca4(0x1b3)](/[`"]/g,'');_0x2b2c96&&_0x2b2c96!==UNRESOLVED_SQL_FRAGMENT&&!_0x582ce3[_0x1e0ca4(0x173)](_0x2b2c96)&&_0x582ce3[_0x1e0ca4(0x1a4)](_0x2b2c96);}function extractParameters(_0x5b07fc){const _0x384ab7=a240_0x559f0d,_0x1847b3=new Set();for(const _0x2e4140 of _0x5b07fc['matchAll'](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x2e4140[0x1])_0x1847b3[_0x384ab7(0x196)](_0x2e4140[0x1]);}return Array[_0x384ab7(0x186)](_0x1847b3);}export function validateSql(_0x56a023){const _0x1891e2=a240_0x559f0d,_0x49a2aa=normalizeSqlForStaticAnalysis(_0x56a023),_0x55fe82=detectNormalizedSqlType(_0x49a2aa),_0x30495a=stripStaticAnalysisMarkers(_0x49a2aa[_0x1891e2(0x199)]),_0x10eb20=_0x49a2aa['error']?[]:extractTables(_0x30495a),_0x5734a2=_0x49a2aa['error']?[]:extractParameters(_0x30495a);if(_0x55fe82['isDangerous'])return{'valid':![],'sqlType':_0x55fe82,'tables':_0x10eb20,'parameters':_0x5734a2,'message':_0x55fe82[_0x1891e2(0x1c7)]||_0x55fe82[_0x1891e2(0x172)]+_0x1891e2(0x19a)};if(_0x55fe82[_0x1891e2(0x172)]===_0x1891e2(0x18d))return{'valid':![],'sqlType':_0x55fe82,'tables':_0x10eb20,'parameters':_0x5734a2,'message':_0x49a2aa[_0x1891e2(0x174)]?_0x1891e2(0x189)+_0x49a2aa[_0x1891e2(0x174)]:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0x55fe82,'tables':_0x10eb20,'parameters':_0x5734a2,'message':_0x55fe82['type']+'\x20query\x20targeting\x20'+(_0x10eb20['length']?_0x10eb20[_0x1891e2(0x188)](',\x20'):_0x1891e2(0x1a5))+(_0x5734a2[_0x1891e2(0x190)]?'\x20with\x20parameters:\x20'+_0x5734a2[_0x1891e2(0x188)](',\x20'):'')};}
|
package/lib/errors.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
import { CliError } from "@lovrabet/cli-framework";
|
|
2
2
|
export { CliError };
|
|
3
|
-
export declare const CliErrors:
|
|
3
|
+
export declare const CliErrors: {
|
|
4
|
+
authRequired(hint?: string): CliError;
|
|
5
|
+
configMissing(hint?: string): CliError;
|
|
6
|
+
notInProject(): CliError;
|
|
7
|
+
apiError(message: string, hint?: string): CliError;
|
|
8
|
+
networkError(message: string): CliError;
|
|
9
|
+
unknownCommand(cmd: string): CliError;
|
|
10
|
+
flagMissing(flagName: string, hint?: string): CliError;
|
|
11
|
+
validation(message: string, hint?: string): CliError;
|
|
12
|
+
cancelled(message?: string): CliError;
|
|
13
|
+
};
|