@lovrabet/rabetbase-cli 2.3.13-beta.2 → 2.3.13
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/README.md +1 -1
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/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/add.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.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.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/init/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/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -0
- 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 -0
- 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/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/notification/config-list.js +1 -1
- package/lib/commands/notification/index.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/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/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/save.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/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/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.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.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/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/lib/commands/menu/update.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a200_0x56a293=a200_0x963e;(function(_0x34f051,_0x4749f5){const _0x16fc98=a200_0x963e,_0x4bd6b9=_0x34f051();while(!![]){try{const _0x550775=parseInt(_0x16fc98(0x1ed))/0x1+parseInt(_0x16fc98(0x1d7))/0x2+-parseInt(_0x16fc98(0x1e8))/0x3*(-parseInt(_0x16fc98(0x1e7))/0x4)+-parseInt(_0x16fc98(0x1e4))/0x5*(parseInt(_0x16fc98(0x1dc))/0x6)+-parseInt(_0x16fc98(0x1e1))/0x7*(parseInt(_0x16fc98(0x1cf))/0x8)+parseInt(_0x16fc98(0x1cd))/0x9+-parseInt(_0x16fc98(0x1e5))/0xa*(parseInt(_0x16fc98(0x1d8))/0xb);if(_0x550775===_0x4749f5)break;else _0x4bd6b9['push'](_0x4bd6b9['shift']());}catch(_0x1784f9){_0x4bd6b9['push'](_0x4bd6b9['shift']());}}}(a200_0x5c05,0x4179b));function a200_0x5c05(){const _0x43d6d8=['push','operationType','endsWith','617936XJEdGA','803djpWRl','get','ENDPOINT','after','14646IFzFQU','functionName','includes','trim','isDirectory','7uDMsOt','HOOK/','alias','975BTszLA','40970hQlFgJ','datasetCode','292XhesgG','17679CRUQTS','split','scriptsRootDir','HOOK','isFile','481807hyqrUi','before','ENOENT','all','beforeScriptId','scriptType','replace','.js','map','COMMON','496953OXOXae','name','1863344jyPUXB','toUpperCase','set','code','afterScriptId'];a200_0x5c05=function(){return _0x43d6d8;};return a200_0x5c05();}import{access,mkdir,readdir,stat}from'node:fs/promises';import{constants}from'node:fs';import{dirname,join}from'node:path';import{findHookLocationByRemoteId,snakeToCamel}from'../../core/bff/utils.js';export const SUPPORTED_BFF_TYPES=[a200_0x56a293(0x1cc),'ENDPOINT','HOOK'];export function normalizeBffType(_0x5c2c1a){const _0xa63dc0=a200_0x56a293;if(!_0x5c2c1a)return undefined;const _0x4ea7b9=_0x5c2c1a[_0xa63dc0(0x1df)]()[_0xa63dc0(0x1d0)]();return SUPPORTED_BFF_TYPES[_0xa63dc0(0x1de)](_0x4ea7b9)?_0x4ea7b9:undefined;}async function scanJsFilesRecursively(_0x246ea6,_0x27fd9f){const _0x37255b=a200_0x56a293,_0x28ec15=[];try{const _0x33339e=await readdir(_0x246ea6,{'withFileTypes':!![]});for(const _0x1b104b of _0x33339e){const _0x42e28a=join(_0x246ea6,_0x1b104b[_0x37255b(0x1ce)]);if(_0x1b104b[_0x37255b(0x1e0)]())_0x28ec15[_0x37255b(0x1d4)](...await scanJsFilesRecursively(_0x42e28a,_0x27fd9f+'/'+_0x1b104b[_0x37255b(0x1ce)]));else _0x1b104b[_0x37255b(0x1ec)]()&&_0x1b104b[_0x37255b(0x1ce)][_0x37255b(0x1d6)]('.js')&&_0x28ec15[_0x37255b(0x1d4)]({'lockKey':_0x27fd9f+'/'+_0x1b104b[_0x37255b(0x1ce)][_0x37255b(0x1c9)](/\.js$/,''),'filePath':_0x42e28a});}}catch(_0x598e6e){if(_0x598e6e[_0x37255b(0x1d2)]!==_0x37255b(0x1ef))throw _0x598e6e;}return _0x28ec15;}function a200_0x963e(_0x2705fc,_0x14e829){_0x2705fc=_0x2705fc-0x1c7;const _0x5c05b4=a200_0x5c05();let _0x963e67=_0x5c05b4[_0x2705fc];return _0x963e67;}async function scanFlatFunctions(_0x29213c,_0x20dc22){const _0x2ec399=a200_0x56a293,_0x441c20=join(_0x29213c[_0x2ec399(0x1ea)],_0x20dc22),_0x32893a=await scanJsFilesRecursively(_0x441c20,_0x20dc22);return _0x32893a[_0x2ec399(0x1cb)](({lockKey:_0x18e245,filePath:_0x4eec54})=>({'type':_0x20dc22,'name':_0x18e245['split']('/')['at'](-0x1)??'','filePath':_0x4eec54,'lockKey':_0x18e245}));}async function scanHookFunctions(_0x4ab773){const _0x25ed1a=a200_0x56a293,_0x3eabfd=join(_0x4ab773[_0x25ed1a(0x1ea)],_0x25ed1a(0x1eb)),_0x427eb3=[];try{const _0x372afb=await readdir(_0x3eabfd,{'withFileTypes':!![]});for(const _0x4226bc of _0x372afb){if(!_0x4226bc['isDirectory']())continue;const _0x353b47=_0x4226bc[_0x25ed1a(0x1ce)],_0x108a75=join(_0x3eabfd,_0x353b47),_0x1ed016=await readdir(_0x108a75,{'withFileTypes':!![]});for(const _0x32c486 of _0x1ed016){if(!_0x32c486[_0x25ed1a(0x1e0)]())continue;const _0xb5d7c7=_0x32c486[_0x25ed1a(0x1ce)],_0x12e040=join(_0x108a75,_0xb5d7c7),_0x4dc6e9=await readdir(_0x12e040,{'withFileTypes':!![]});for(const _0x1c7b21 of _0x4dc6e9){if(!_0x1c7b21[_0x25ed1a(0x1e0)]())continue;const _0x338cf2=_0x1c7b21['name'],_0x214daf=join(_0x12e040,_0x338cf2),_0xf7bbcb=await readdir(_0x214daf,{'withFileTypes':!![]});for(const _0x5d4ab1 of _0xf7bbcb){if(!_0x5d4ab1[_0x25ed1a(0x1ec)]()||!_0x5d4ab1[_0x25ed1a(0x1ce)][_0x25ed1a(0x1d6)](_0x25ed1a(0x1ca)))continue;const _0x1fe4f0=_0x5d4ab1['name'][_0x25ed1a(0x1c9)](/\.js$/,'');_0x427eb3['push']({'type':_0x25ed1a(0x1eb),'name':_0x1fe4f0,'filePath':join(_0x214daf,_0x5d4ab1[_0x25ed1a(0x1ce)]),'lockKey':_0x25ed1a(0x1e2)+_0x353b47+'/'+_0xb5d7c7+'/'+_0x338cf2+'/'+_0x1fe4f0,'alias':_0x353b47,'operationType':_0xb5d7c7,'functionNode':_0x338cf2});}}}}}catch(_0x2ebf7e){if(_0x2ebf7e[_0x25ed1a(0x1d2)]!==_0x25ed1a(0x1ef))throw _0x2ebf7e;}return _0x427eb3;}export async function scanLocalBffFunctions(_0x96c3b8,_0x3a2bb0){const _0x46ded8=a200_0x56a293;if(_0x3a2bb0===_0x46ded8(0x1cc)||_0x3a2bb0===_0x46ded8(0x1da))return scanFlatFunctions(_0x96c3b8,_0x3a2bb0);if(_0x3a2bb0===_0x46ded8(0x1eb))return scanHookFunctions(_0x96c3b8);const [_0x22551b,_0x25c0d2,_0x27505b]=await Promise[_0x46ded8(0x1f0)]([scanFlatFunctions(_0x96c3b8,_0x46ded8(0x1cc)),scanFlatFunctions(_0x96c3b8,_0x46ded8(0x1da)),scanHookFunctions(_0x96c3b8)]);return[..._0x22551b,..._0x25c0d2,..._0x27505b];}export function resolveLocalFilePathFromLockKey(_0x41ee79,_0x2b453d){const _0x1b6082=a200_0x56a293;return join(_0x41ee79[_0x1b6082(0x1ea)],..._0x2b453d[_0x1b6082(0x1e9)]('/'))+_0x1b6082(0x1ca);}export function createHookLocationMap(_0x3901db){const _0x56f489=a200_0x56a293,_0x176a93=new Map();for(const _0xc340fe of _0x3901db){_0xc340fe[_0x56f489(0x1c7)]&&_0x176a93[_0x56f489(0x1d1)](_0xc340fe[_0x56f489(0x1c7)],{'datasetCode':_0xc340fe[_0x56f489(0x1e6)],'operationType':snakeToCamel(_0xc340fe[_0x56f489(0x1d5)]),'functionNode':_0x56f489(0x1ee)}),_0xc340fe[_0x56f489(0x1d3)]&&_0x176a93['set'](_0xc340fe['afterScriptId'],{'datasetCode':_0xc340fe[_0x56f489(0x1e6)],'operationType':snakeToCamel(_0xc340fe[_0x56f489(0x1d5)]),'functionNode':_0x56f489(0x1db)});}return _0x176a93;}export function resolveRemoteScriptTarget(_0xe3482e,_0x372e46,_0x369866,_0x2a51e8,_0x1532d2){const _0x1e26e1=a200_0x56a293,_0x1fd266=normalizeBffType(_0x372e46[_0x1e26e1(0x1c8)]);if(!_0x1fd266||!_0x372e46[_0x1e26e1(0x1dd)])return null;if(_0x1fd266===_0x1e26e1(0x1eb)){const _0x2d079b=(_0x372e46['id']?_0x369866[_0x1e26e1(0x1d9)](_0x372e46['id']):undefined)??findHookLocationByRemoteId(_0x2a51e8,_0x372e46['id']);if(!_0x2d079b)return null;const _0x51bad1=_0x2d079b[_0x1e26e1(0x1e3)]||_0x1532d2[_0x1e26e1(0x1d9)](_0x2d079b[_0x1e26e1(0x1e6)]),_0x2e280d=_0x51bad1??_0x2d079b[_0x1e26e1(0x1e6)],_0x1f0293={..._0x2d079b,'alias':_0x51bad1},_0x26da0b=_0x1e26e1(0x1e2)+_0x2e280d+'/'+_0x1f0293[_0x1e26e1(0x1d5)]+'/'+_0x1f0293['functionNode']+'/'+_0x372e46['functionName'];return{'lockKey':_0x26da0b,'filePath':resolveLocalFilePathFromLockKey(_0xe3482e,_0x26da0b),'type':_0x1e26e1(0x1eb),'hookLocation':_0x1f0293};}const _0x34cbe2=_0x1fd266+'/'+_0x372e46[_0x1e26e1(0x1dd)];return{'lockKey':_0x34cbe2,'filePath':resolveLocalFilePathFromLockKey(_0xe3482e,_0x34cbe2),'type':_0x1fd266};}export async function ensureParentDirectory(_0x50206e){await mkdir(dirname(_0x50206e),{'recursive':!![]});}export async function fileExists(_0x1f30e9){try{return await access(_0x1f30e9,constants['F_OK']),!![];}catch{return![];}}export async function directoryExists(_0x10c405){try{const _0x2a50f3=await stat(_0x10c405);return _0x2a50f3['isDirectory']();}catch{return![];}}
|
package/lib/core/bff/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a201_0x34ed(){const _0x4f81dd=['199688VytIFo','312868rjiROt','171256SeRHkH','2507170xfhKAt','10sZTrDI','291735QZJVze','264RAQTXf','utf8','4214AxPrkn','update','9UCHPgw','createHash','83199UJjLVN'];a201_0x34ed=function(){return _0x4f81dd;};return a201_0x34ed();}(function(_0x4a471f,_0x35ba5d){const _0x16d10b=a201_0x1e19,_0x8d89c0=_0x4a471f();while(!![]){try{const _0x27e3bb=-parseInt(_0x16d10b(0x13c))/0x1+parseInt(_0x16d10b(0x140))/0x2*(parseInt(_0x16d10b(0x13b))/0x3)+-parseInt(_0x16d10b(0x13d))/0x4+-parseInt(_0x16d10b(0x134))/0x5+parseInt(_0x16d10b(0x135))/0x6*(parseInt(_0x16d10b(0x137))/0x7)+parseInt(_0x16d10b(0x13e))/0x8+-parseInt(_0x16d10b(0x139))/0x9*(-parseInt(_0x16d10b(0x13f))/0xa);if(_0x27e3bb===_0x35ba5d)break;else _0x8d89c0['push'](_0x8d89c0['shift']());}catch(_0x5254eb){_0x8d89c0['push'](_0x8d89c0['shift']());}}}(a201_0x34ed,0x18aa1));function a201_0x1e19(_0x5a2152,_0x457316){_0x5a2152=_0x5a2152-0x134;const _0x34ed89=a201_0x34ed();let _0x1e19b8=_0x34ed89[_0x5a2152];return _0x1e19b8;}import{readFile}from'node:fs/promises';import a201_0x5f4db5 from'node:crypto';export function computeContentHash(_0xfd44bf){const _0x383292=a201_0x1e19;return a201_0x5f4db5[_0x383292(0x13a)]('md5')[_0x383292(0x138)](_0xfd44bf)['digest']('hex');}export async function computeFileHash(_0x1e28ff){const _0x16f478=a201_0x1e19,_0x1dbd93=await readFile(_0x1e28ff,_0x16f478(0x136));return computeContentHash(_0x1dbd93);}
|
package/lib/core/bff/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4e5026,_0x4d495a){const _0x4cad72=a202_0x1029,_0x3ce818=_0x4e5026();while(!![]){try{const _0x2586eb=-parseInt(_0x4cad72(0x117))/0x1*(parseInt(_0x4cad72(0x123))/0x2)+parseInt(_0x4cad72(0x114))/0x3*(-parseInt(_0x4cad72(0x121))/0x4)+parseInt(_0x4cad72(0x120))/0x5+parseInt(_0x4cad72(0x116))/0x6*(parseInt(_0x4cad72(0x125))/0x7)+parseInt(_0x4cad72(0x11c))/0x8+parseInt(_0x4cad72(0x11d))/0x9+-parseInt(_0x4cad72(0x11b))/0xa;if(_0x2586eb===_0x4d495a)break;else _0x3ce818['push'](_0x3ce818['shift']());}catch(_0x1073f4){_0x3ce818['push'](_0x3ce818['shift']());}}}(a202_0xbad1,0x96d9d));import{mkdir,readFile,writeFile}from'node:fs/promises';function a202_0x1029(_0x260ec8,_0xfcf473){_0x260ec8=_0x260ec8-0x112;const _0xbad171=a202_0xbad1();let _0x10290a=_0xbad171[_0x260ec8];return _0x10290a;}import{dirname}from'node:path';export function createEmptyBffLock(){return{'apps':{}};}export function ensureLockScope(_0x3ee1a2,_0x5a12d3,_0xf1a642,_0xc54a62){const _0x2cbd87=a202_0x1029,_0x44f014={'apps':_0x3ee1a2[_0x2cbd87(0x124)]&&typeof _0x3ee1a2[_0x2cbd87(0x124)]===_0x2cbd87(0x119)?_0x3ee1a2['apps']:{}};let _0x330d77=_0x44f014[_0x2cbd87(0x124)][_0x5a12d3];if(!_0x330d77)return _0x330d77={'scriptsRoot':_0xf1a642,'lastSync':'','functions':{}},_0x44f014['apps'][_0x5a12d3]=_0x330d77,{'lockData':_0x44f014,'appLock':_0x330d77};if(!_0x330d77[_0x2cbd87(0x115)])_0x330d77[_0x2cbd87(0x115)]=_0xf1a642;else{if(_0x330d77[_0x2cbd87(0x115)]!==_0xf1a642)throw new Error(_0xc54a62+':\x20scriptsRoot\x20mismatch\x20—\x20'+(_0x2cbd87(0x126)+_0xf1a642+_0x2cbd87(0x122)+_0x330d77[_0x2cbd87(0x115)]+_0x2cbd87(0x112))+_0x2cbd87(0x113));}return!_0x330d77[_0x2cbd87(0x11a)]&&(_0x330d77[_0x2cbd87(0x11a)]={}),!_0x330d77[_0x2cbd87(0x11e)]&&(_0x330d77[_0x2cbd87(0x11e)]=''),{'lockData':_0x44f014,'appLock':_0x330d77};}function a202_0xbad1(){const _0x7e5b48=['lastSync','parse','26885AUuHHr','71692eRUCXF','\x22\x20vs\x20lock\x20\x22','397906qTJvUr','apps','147EinfIC','current\x20\x22','code','\x22.\x20','Check\x20.rabetbase/bff.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','54JJznOH','scriptsRoot','46674XAAswL','2VnbTzF','utf8','object','functions','125750iJTiPb','3794896OfHUpV','6370938sPvMqB'];a202_0xbad1=function(){return _0x7e5b48;};return a202_0xbad1();}export async function readBffLockFile(_0x54bad4){const _0x39715c=a202_0x1029;try{const _0x2bf6b4=await readFile(_0x54bad4,_0x39715c(0x118)),_0x15e330=JSON[_0x39715c(0x11f)](_0x2bf6b4);return{'apps':_0x15e330['apps']&&typeof _0x15e330[_0x39715c(0x124)]===_0x39715c(0x119)?_0x15e330[_0x39715c(0x124)]:{}};}catch(_0x219d14){if(_0x219d14[_0x39715c(0x127)]==='ENOENT')return null;throw new Error('Failed\x20to\x20read\x20BFF\x20lock\x20file:\x20'+String(_0x219d14));}}export async function writeBffLockFile(_0x19644c,_0x1ef0d3){const _0x477cd0=a202_0x1029;await mkdir(dirname(_0x19644c),{'recursive':!![]}),await writeFile(_0x19644c,JSON['stringify'](_0x1ef0d3,null,0x2),_0x477cd0(0x118));}
|
package/lib/core/bff/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1cb165,_0x54f13f){const _0x2375e5=a204_0x480b,_0xb98077=_0x1cb165();while(!![]){try{const _0x53bd09=-parseInt(_0x2375e5(0x12a))/0x1+parseInt(_0x2375e5(0x11f))/0x2+-parseInt(_0x2375e5(0x123))/0x3+-parseInt(_0x2375e5(0x12e))/0x4*(parseInt(_0x2375e5(0x127))/0x5)+parseInt(_0x2375e5(0x12f))/0x6+-parseInt(_0x2375e5(0x129))/0x7*(parseInt(_0x2375e5(0x12c))/0x8)+parseInt(_0x2375e5(0x122))/0x9;if(_0x53bd09===_0x54f13f)break;else _0xb98077['push'](_0xb98077['shift']());}catch(_0x3f6b1c){_0xb98077['push'](_0xb98077['shift']());}}}(a204_0x1a56,0xb2a8d));export function snakeToCamel(_0x4793cd){const _0x445e46=a204_0x480b;return _0x4793cd['toLowerCase']()[_0x445e46(0x130)](/_([a-z])/g,(_0x21c443,_0x4fd0f2)=>_0x4fd0f2[_0x445e46(0x131)]());}export function findHookLocationByRemoteId(_0x266b70,_0x2dab28){const _0x4c2886=a204_0x480b;if(!_0x2dab28)return undefined;for(const _0x229eaf of Object['values'](_0x266b70)){if(_0x229eaf[_0x4c2886(0x128)]===_0x2dab28&&_0x229eaf['datasetCode']&&_0x229eaf[_0x4c2886(0x12d)]&&_0x229eaf[_0x4c2886(0x124)])return{'datasetCode':_0x229eaf[_0x4c2886(0x121)],'operationType':_0x229eaf[_0x4c2886(0x12d)],'functionNode':_0x229eaf[_0x4c2886(0x124)]};}return undefined;}function a204_0x480b(_0x534383,_0x4b5a21){_0x534383=_0x534383-0x11f;const _0x1a5691=a204_0x1a56();let _0x480b88=_0x1a5691[_0x534383];return _0x480b88;}export function extractScriptDescription(_0x1d3c0a){const _0x29baa3=a204_0x480b,_0x5e0711=_0x1d3c0a['match'](/\[\s*脚本描述\s*]\s*(.+)/);return _0x5e0711?.[0x1]?.[_0x29baa3(0x125)]()||undefined;}export function isValidBffFunctionName(_0x2faf33){const _0x2188db=a204_0x480b;return/^[A-Za-z_$][A-Za-z0-9_$]*$/[_0x2188db(0x126)](_0x2faf33);}export function normalizeHookFunctionNode(_0x2e1049){const _0x1a1492=a204_0x480b;if(!_0x2e1049)return undefined;const _0x1616d7=_0x2e1049[_0x1a1492(0x125)]()[_0x1a1492(0x12b)]();if(_0x1616d7===_0x1a1492(0x120)||_0x1616d7===_0x1a1492(0x132))return _0x1616d7;return undefined;}function a204_0x1a56(){const _0x5c23ad=['2962347ZAYefi','functionNode','trim','test','6655WVfDIL','remoteId','304171GbpbfX','834114FQFqXd','toLowerCase','232bQAIrg','operationType','1864rubgMp','7898862vsQlSQ','replace','toUpperCase','after','1028486aTLnqo','before','datasetCode','23427135pEIldn'];a204_0x1a56=function(){return _0x5c23ad;};return a204_0x1a56();}
|
package/lib/core/db-resolver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a205_0x1e54(_0x591173,_0x4869d2){_0x591173=_0x591173-0x141;const _0x1ca907=a205_0x1ca9();let _0x1e54da=_0x1ca907[_0x591173];return _0x1e54da;}function a205_0x1ca9(){const _0x474772=['439806dmVTCw','4612880OMuqjz','\x22.\x20Available:\x20','.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.','join','map','set','1346240CHZTJJ','toLowerCase','238628yCErQW','length','dbId','\x22\x20under\x20app\x20\x22','972061iwxObb','\x22\x20matches\x20multiple\x20databases:\x20','3117849GpYNjd','No\x20linked\x20databases\x20found\x20under\x20app\x20\x22','has','4rhxtBz','db-','dbName','\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.','3387123mtyGXx','filter','find','84idmuHC','get','dbtableConfig','.\x20Be\x20more\x20specific.','Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20'];a205_0x1ca9=function(){return _0x474772;};return a205_0x1ca9();}(function(_0x562a89,_0x2a3740){const _0x1bccaf=a205_0x1e54,_0x2ac22f=_0x562a89();while(!![]){try{const _0x4b5470=parseInt(_0x1bccaf(0x153))/0x1+-parseInt(_0x1bccaf(0x14f))/0x2+-parseInt(_0x1bccaf(0x155))/0x3*(parseInt(_0x1bccaf(0x158))/0x4)+-parseInt(_0x1bccaf(0x14d))/0x5+parseInt(_0x1bccaf(0x146))/0x6*(parseInt(_0x1bccaf(0x141))/0x7)+parseInt(_0x1bccaf(0x147))/0x8+-parseInt(_0x1bccaf(0x15c))/0x9;if(_0x4b5470===_0x2a3740)break;else _0x2ac22f['push'](_0x2ac22f['shift']());}catch(_0x485b84){_0x2ac22f['push'](_0x2ac22f['shift']());}}}(a205_0x1ca9,0x985db));import{listDatasets}from'../core/api-client.js';const cache=new Map();export async function listDatabases(_0x33b8d8){const _0xeedb71=a205_0x1e54;if(cache[_0xeedb71(0x157)](_0x33b8d8))return cache[_0xeedb71(0x142)](_0x33b8d8);const _0x598b20=await listDatasets(_0x33b8d8),_0x1e4750=new Map();for(const _0x4148b6 of _0x598b20){const _0x596e50=_0x4148b6[_0xeedb71(0x143)];_0x596e50?.[_0xeedb71(0x151)]!=null&&_0x1e4750[_0xeedb71(0x14c)](_0x596e50[_0xeedb71(0x151)],_0x596e50[_0xeedb71(0x15a)]??_0xeedb71(0x159)+_0x596e50[_0xeedb71(0x151)]);}const _0xe68abe=[..._0x1e4750['entries']()][_0xeedb71(0x14b)](([_0xae7bc9,_0x27d505])=>({'dbId':_0xae7bc9,'dbName':_0x27d505}));return cache[_0xeedb71(0x14c)](_0x33b8d8,_0xe68abe),_0xe68abe;}export async function resolveDb(_0x20a5f4,_0x532538){const _0x2b87f8=a205_0x1e54,_0x42fb70=await listDatabases(_0x20a5f4);if(_0x42fb70['length']===0x0)return{'resolved':[],'error':_0x2b87f8(0x156)+_0x20a5f4+_0x2b87f8(0x15b)};if(!_0x532538)return{'resolved':_0x42fb70};const _0x538fd8=Number(_0x532538);if(!Number['isNaN'](_0x538fd8)){const _0x36c631=_0x42fb70[_0x2b87f8(0x15e)](_0x21f0c3=>_0x21f0c3[_0x2b87f8(0x151)]===_0x538fd8);if(_0x36c631)return{'resolved':[_0x36c631]};}const _0x41e705=_0x532538['toLowerCase'](),_0x4c3d26=_0x42fb70[_0x2b87f8(0x15d)](_0x52dea8=>_0x52dea8['dbName'][_0x2b87f8(0x14e)]()['includes'](_0x41e705));if(_0x4c3d26[_0x2b87f8(0x150)]>0x0)return{'resolved':_0x4c3d26};const _0x3bf840=_0x42fb70[_0x2b87f8(0x14b)](_0x410198=>_0x410198['dbName']+'\x20('+_0x410198[_0x2b87f8(0x151)]+')')[_0x2b87f8(0x14a)](',\x20');return{'resolved':[],'error':'No\x20database\x20matching\x20\x22'+_0x532538+_0x2b87f8(0x152)+_0x20a5f4+_0x2b87f8(0x148)+_0x3bf840+_0x2b87f8(0x149)};}export async function resolveOneDb(_0xb843fa,_0x3b5ac5){const _0x332dac=a205_0x1e54,{resolved:_0x2472f2,error:_0x166ddc}=await resolveDb(_0xb843fa,_0x3b5ac5);if(_0x166ddc)return{'db':null,'error':_0x166ddc};if(_0x2472f2[_0x332dac(0x150)]===0x1)return{'db':_0x2472f2[0x0]};if(!_0x3b5ac5){const _0x58e2ab=_0x2472f2[_0x332dac(0x14b)](_0x418d98=>_0x418d98[_0x332dac(0x15a)]+'\x20('+_0x418d98[_0x332dac(0x151)]+')')[_0x332dac(0x14a)](',\x20');return{'db':null,'error':_0x332dac(0x145)+_0x58e2ab};}const _0x47b4ed=_0x2472f2[_0x332dac(0x14b)](_0x3fef01=>_0x3fef01['dbName']+'\x20('+_0x3fef01[_0x332dac(0x151)]+')')[_0x332dac(0x14a)](',\x20');return{'db':null,'error':'\x22'+_0x3b5ac5+_0x332dac(0x154)+_0x47b4ed+_0x332dac(0x144)};}export async function getDbName(_0x2d7e9a,_0x7160c6){const _0x598a8a=a205_0x1e54,_0x56942b=await listDatabases(_0x2d7e9a);return _0x56942b[_0x598a8a(0x15e)](_0x39da59=>_0x39da59[_0x598a8a(0x151)]===_0x7160c6)?.['dbName'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a206_0x579b(_0xa03a30,_0x51a188){_0xa03a30=_0xa03a30-0xba;const _0x45c90c=a206_0x45c9();let _0x579bc8=_0x45c90c[_0xa03a30];return _0x579bc8;}const a206_0x2c5af9=a206_0x579b;(function(_0x86cd82,_0x5c5cca){const _0x5097e4=a206_0x579b,_0x134999=_0x86cd82();while(!![]){try{const _0x4c4643=-parseInt(_0x5097e4(0xc8))/0x1*(parseInt(_0x5097e4(0xbc))/0x2)+-parseInt(_0x5097e4(0xbf))/0x3+-parseInt(_0x5097e4(0xc6))/0x4*(parseInt(_0x5097e4(0xba))/0x5)+parseInt(_0x5097e4(0xc5))/0x6*(-parseInt(_0x5097e4(0xc1))/0x7)+-parseInt(_0x5097e4(0xc9))/0x8*(parseInt(_0x5097e4(0xc7))/0x9)+parseInt(_0x5097e4(0xc4))/0xa*(-parseInt(_0x5097e4(0xc2))/0xb)+-parseInt(_0x5097e4(0xbb))/0xc*(-parseInt(_0x5097e4(0xbd))/0xd);if(_0x4c4643===_0x5c5cca)break;else _0x134999['push'](_0x134999['shift']());}catch(_0x4a1f13){_0x134999['push'](_0x134999['shift']());}}}(a206_0x45c9,0x271a2));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';export function loadPageProjectConfig(_0x2f788b,_0x72dfe3=process[a206_0x2c5af9(0xbe)]()){const _0x3c2abd=a206_0x2c5af9,_0xd1ed3c=resolve(_0x72dfe3),_0x142a26=join(_0xd1ed3c,_0x3c2abd(0xca),'page');return{'projectRoot':_0xd1ed3c,'pagesBaseDir':_0x142a26,'appPagesDir':join(_0x142a26,_0x2f788b),'lockFilePath':join(_0xd1ed3c,_0x3c2abd(0xca),'page.lock.json')};}export function buildPageFileName(_0x3f6b40,_0x22a2ed){const _0x47f0db=a206_0x2c5af9;return _0x3f6b40+'-'+String(_0x22a2ed)[_0x47f0db(0xc3)]()+'.json';}export function resolvePageFilePath(_0x38bfe6,_0x5f4b4d,_0x28d26c){const _0x524cc7=a206_0x2c5af9;return join(_0x38bfe6[_0x524cc7(0xc0)],buildPageFileName(_0x5f4b4d,_0x28d26c));}function a206_0x45c9(){const _0x3fd22f=['cwd','1968XRTuuh','appPagesDir','2082101OAubKW','22eLhvCh','toUpperCase','314610sJJuAi','6jRqYkL','124csBbpW','9zeqnKu','1SaHMBK','1755016aLmgiY','.rabetbase','40975inPEUZ','4942512dpeUzB','482046tJkzuk','39DHyDIt'];a206_0x45c9=function(){return _0x3fd22f;};return a206_0x45c9();}export async function ensureParentDirectory(_0x2e3516){await mkdir(dirname(_0x2e3516),{'recursive':!![]});}export async function fileExists(_0x1c2191){try{return await access(_0x1c2191,constants['F_OK']),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2cf8f8,_0xea86ef){const _0x199ac1=a207_0x21f8,_0x43aff7=_0x2cf8f8();while(!![]){try{const _0x29c98d=-parseInt(_0x199ac1(0x10c))/0x1*(parseInt(_0x199ac1(0x110))/0x2)+parseInt(_0x199ac1(0x111))/0x3*(parseInt(_0x199ac1(0x116))/0x4)+parseInt(_0x199ac1(0x114))/0x5+-parseInt(_0x199ac1(0x10f))/0x6*(-parseInt(_0x199ac1(0x112))/0x7)+-parseInt(_0x199ac1(0x10a))/0x8+-parseInt(_0x199ac1(0x10b))/0x9+parseInt(_0x199ac1(0x10e))/0xa;if(_0x29c98d===_0xea86ef)break;else _0x43aff7['push'](_0x43aff7['shift']());}catch(_0xcf9178){_0x43aff7['push'](_0x43aff7['shift']());}}}(a207_0x201d,0xacc37));import a207_0x41b822 from'node:crypto';function a207_0x201d(){const _0x2ceb0e=['4xXPcPg','createHash','16816180iRjzfK','30YIimCA','433438PXAupl','3GzzzTK','150654BlCkon','hex','4556630DspKbx','update','2976980vXnLrf','stringify','digest','md5','5278144eCJOTh','10894644WvNiff'];a207_0x201d=function(){return _0x2ceb0e;};return a207_0x201d();}import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0xd47ad8){const _0x5ab945=a207_0x21f8;return JSON[_0x5ab945(0x117)](JSON['parse'](_0xd47ad8),null,0x2)+'\x0a';}export function computePageContentHash(_0x687460){const _0xf20400=a207_0x21f8;return a207_0x41b822[_0xf20400(0x10d)](_0xf20400(0x109))[_0xf20400(0x115)](_0x687460)[_0xf20400(0x118)](_0xf20400(0x113));}function a207_0x21f8(_0x56bb9c,_0x44e040){_0x56bb9c=_0x56bb9c-0x109;const _0x201d64=a207_0x201d();let _0x21f811=_0x201d64[_0x56bb9c];return _0x21f811;}export function computeSerializedSchemaHash(_0x5c9b8a){return computePageContentHash(serializePageSchemaForFile(_0x5c9b8a));}export async function computePageFileHash(_0xeb435){const _0x561348=await readFile(_0xeb435,'utf8');return computePageContentHash(_0x561348);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4fc431,_0x2f3243){const _0x10f84f=a208_0x4d6f,_0x3b8aa8=_0x4fc431();while(!![]){try{const _0x5a9502=parseInt(_0x10f84f(0x92))/0x1+-parseInt(_0x10f84f(0x8f))/0x2+parseInt(_0x10f84f(0x88))/0x3+-parseInt(_0x10f84f(0x8e))/0x4*(parseInt(_0x10f84f(0x8d))/0x5)+parseInt(_0x10f84f(0x8c))/0x6*(parseInt(_0x10f84f(0x86))/0x7)+parseInt(_0x10f84f(0x91))/0x8+-parseInt(_0x10f84f(0x8b))/0x9;if(_0x5a9502===_0x2f3243)break;else _0x3b8aa8['push'](_0x3b8aa8['shift']());}catch(_0x4c8121){_0x3b8aa8['push'](_0x3b8aa8['shift']());}}}(a208_0x1348,0xb0406));function a208_0x1348(){const _0xf54bdc=['286653YwVwGl','code','object','pages','utf8','parse','7VWomsL','stringify','3944469MyHmRa','Failed\x20to\x20read\x20page\x20lock\x20file:\x20','apps','14698872ohsjzA','7994166zyAEgm','5fMMfUK','3382004CzNLAO','1861664FqoNYz','lastSync','9581040hJMumy'];a208_0x1348=function(){return _0xf54bdc;};return a208_0x1348();}import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x2f5d32,_0x40dc63){const _0x48e458=a208_0x4d6f,_0x52a68d={'apps':_0x2f5d32[_0x48e458(0x8a)]&&typeof _0x2f5d32[_0x48e458(0x8a)]==='object'?_0x2f5d32[_0x48e458(0x8a)]:{}};let _0x56b2ab=_0x52a68d[_0x48e458(0x8a)][_0x40dc63];if(!_0x56b2ab)return _0x56b2ab={'lastSync':'','pages':{}},_0x52a68d['apps'][_0x40dc63]=_0x56b2ab,{'lockData':_0x52a68d,'appLock':_0x56b2ab};return!_0x56b2ab['lastSync']&&(_0x56b2ab[_0x48e458(0x90)]=''),(!_0x56b2ab[_0x48e458(0x83)]||typeof _0x56b2ab[_0x48e458(0x83)]!==_0x48e458(0x82))&&(_0x56b2ab['pages']={}),{'lockData':_0x52a68d,'appLock':_0x56b2ab};}function a208_0x4d6f(_0x2ef019,_0x5df3b9){_0x2ef019=_0x2ef019-0x82;const _0x134825=a208_0x1348();let _0x4d6f91=_0x134825[_0x2ef019];return _0x4d6f91;}export async function readPageLockFile(_0x58f03a){const _0x504bc1=a208_0x4d6f;try{const _0x412563=await readFile(_0x58f03a,_0x504bc1(0x84)),_0xbe3018=JSON[_0x504bc1(0x85)](_0x412563);return{'apps':_0xbe3018[_0x504bc1(0x8a)]&&typeof _0xbe3018['apps']===_0x504bc1(0x82)?_0xbe3018[_0x504bc1(0x8a)]:{}};}catch(_0x105d4b){if(_0x105d4b[_0x504bc1(0x93)]==='ENOENT')return null;throw new Error(_0x504bc1(0x89)+String(_0x105d4b));}}export async function writePageLockFile(_0x28e262,_0x67fc65){const _0x14b18b=a208_0x4d6f;await mkdir(dirname(_0x28e262),{'recursive':!![]}),await writeFile(_0x28e262,JSON[_0x14b18b(0x87)](_0x67fc65,null,0x2),_0x14b18b(0x84));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5599e3,_0x61fec9){const _0x54350c=a209_0x23e2,_0x227293=_0x5599e3();while(!![]){try{const _0x27fc7e=parseInt(_0x54350c(0xb6))/0x1+-parseInt(_0x54350c(0xaa))/0x2+-parseInt(_0x54350c(0xed))/0x3*(parseInt(_0x54350c(0xaf))/0x4)+parseInt(_0x54350c(0xbe))/0x5*(-parseInt(_0x54350c(0xcf))/0x6)+-parseInt(_0x54350c(0xcb))/0x7+-parseInt(_0x54350c(0xf1))/0x8*(parseInt(_0x54350c(0xb8))/0x9)+parseInt(_0x54350c(0xd4))/0xa;if(_0x27fc7e===_0x61fec9)break;else _0x227293['push'](_0x227293['shift']());}catch(_0x21339e){_0x227293['push'](_0x227293['shift']());}}}(a209_0x441f,0x86ec6));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x59e5f1,_0x4181a5){const _0x590a19=a209_0x23e2,_0x1c6cde=[],_0x364bbd=normalizeSqlForStaticAnalysis(_0x59e5f1),_0x438325=(_0x364bbd[_0x590a19(0xcc)]?[]:extractJoinFacts(_0x364bbd[_0x590a19(0xd7)]))[_0x590a19(0xd5)](_0x202e0a=>{const _0x2aeaa3=_0x590a19;if(_0x202e0a[_0x2aeaa3(0xbb)]||_0x202e0a[_0x2aeaa3(0xc7)][_0x2aeaa3(0xb2)]===0x0)return _0x1c6cde[_0x2aeaa3(0xb0)]({'code':_0x2aeaa3(0xe7),'table':_0x202e0a[_0x2aeaa3(0xbc)],'alias':_0x202e0a['alias'],'columns':_0x202e0a[_0x2aeaa3(0xc7)],'reason':_0x202e0a[_0x2aeaa3(0xea)]??'Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.'}),{'table':_0x202e0a[_0x2aeaa3(0xbc)],'alias':_0x202e0a['alias'],'columns':_0x202e0a['columns'],'status':_0x2aeaa3(0xef)};const _0x45ff58=resolveTableMetadata(_0x4181a5,_0x202e0a[_0x2aeaa3(0xbc)]),_0x3ab7ee=(_0x45ff58?.[_0x2aeaa3(0xcd)]??[])['map'](_0x180f47=>({'index':_0x180f47,'matchedPrefix':findEqualityPrefix(_0x180f47[_0x2aeaa3(0xc7)],_0x202e0a[_0x2aeaa3(0xc7)])}))[_0x2aeaa3(0xe1)](_0x23a91f=>_0x23a91f[_0x2aeaa3(0xab)][_0x2aeaa3(0xb2)]>0x0),_0x355fe2=_0x3ab7ee['reduce']((_0x599fd0,_0x274bce)=>!_0x599fd0||_0x274bce[_0x2aeaa3(0xab)][_0x2aeaa3(0xb2)]>_0x599fd0[_0x2aeaa3(0xab)][_0x2aeaa3(0xb2)]?_0x274bce:_0x599fd0,_0x3ab7ee[0x0]);if(_0x355fe2)return{'table':_0x202e0a['table'],'alias':_0x202e0a[_0x2aeaa3(0xc1)],'columns':_0x202e0a[_0x2aeaa3(0xc7)],'status':_0x2aeaa3(0xd0),'matchedIndex':{..._0x355fe2[_0x2aeaa3(0xe2)],'matchedPrefix':_0x355fe2['matchedPrefix']}};const _0x288156=_0x45ff58?.[_0x2aeaa3(0xcd)][_0x2aeaa3(0xe1)](_0x4b4037=>_0x4b4037[_0x2aeaa3(0xc7)][_0x2aeaa3(0xc8)](_0x2c1dc1=>_0x202e0a[_0x2aeaa3(0xc7)][_0x2aeaa3(0xc8)](_0x22f24=>columnNamesMatch(_0x2c1dc1,_0x22f24))))??[];if(_0x288156[_0x2aeaa3(0xb2)]>0x0)return _0x1c6cde['push']({'code':_0x2aeaa3(0xe8),'table':_0x202e0a[_0x2aeaa3(0xbc)],'alias':_0x202e0a[_0x2aeaa3(0xc1)],'columns':_0x202e0a[_0x2aeaa3(0xc7)],'reason':_0x2aeaa3(0xf0)}),{'table':_0x202e0a[_0x2aeaa3(0xbc)],'alias':_0x202e0a[_0x2aeaa3(0xc1)],'columns':_0x202e0a[_0x2aeaa3(0xc7)],'status':_0x2aeaa3(0xba),'candidateIndexes':_0x288156};if(_0x45ff58&&_0x45ff58['metadataAvailable']!==![]&&_0x45ff58[_0x2aeaa3(0xcd)][_0x2aeaa3(0xb2)]>0x0&&_0x202e0a[_0x2aeaa3(0xc7)][_0x2aeaa3(0xb2)]>0x0)return _0x1c6cde['push']({'code':_0x2aeaa3(0xec),'table':_0x202e0a[_0x2aeaa3(0xbc)],'alias':_0x202e0a[_0x2aeaa3(0xc1)],'columns':_0x202e0a[_0x2aeaa3(0xc7)],'reason':_0x2aeaa3(0xb1)}),{'table':_0x202e0a['table'],'alias':_0x202e0a[_0x2aeaa3(0xc1)],'columns':_0x202e0a['columns'],'status':'warning'};return _0x1c6cde[_0x2aeaa3(0xb0)]({'code':_0x2aeaa3(0xe3),'table':_0x202e0a['table'],'alias':_0x202e0a['alias'],'columns':_0x202e0a[_0x2aeaa3(0xc7)],'reason':_0x45ff58?_0x2aeaa3(0xe9):_0x2aeaa3(0xe5)}),{'table':_0x202e0a[_0x2aeaa3(0xbc)],'alias':_0x202e0a[_0x2aeaa3(0xc1)],'columns':_0x202e0a[_0x2aeaa3(0xc7)],'status':_0x2aeaa3(0xef)};});return{'checked':_0x438325[_0x590a19(0xb2)]>0x0,'joins':_0x438325,'warnings':_0x1c6cde};}function extractJoinFacts(_0x28a9e2){const _0x487501=a209_0x23e2,_0xba466d=maskNestedQueries(stripSqlNoise(_0x28a9e2)),_0x1b173b=maskQuotedIdentifiers(_0xba466d),_0x1aa667=[],_0x227709=new Set(),_0x3ea1ae=/\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 _0x498604 of _0xba466d['matchAll'](_0x3ea1ae)){const _0x23564d=_0x498604['index']??0x0,_0x2d085a=_0x498604[0x0][_0x487501(0xce)](/\bJOIN\b/i),_0x4c49ec=_0x23564d+Math[_0x487501(0xd1)](0x0,_0x2d085a);if(!/^JOIN\b/i[_0x487501(0xb5)](_0x1b173b[_0x487501(0xde)](_0x4c49ec)))continue;_0x227709[_0x487501(0xc3)](_0x4c49ec);const _0x163bfb=normalizeIdentifier(_0x498604[0x1]||_0x487501(0xdb)),_0xd8d2b3=normalizeIdentifier(_0x498604[0x2]??''),_0x27a487=normalizeIdentifier(_0x498604[0x3]||_0xd8d2b3[_0x487501(0xa8)]('.')['at'](-0x1)||_0xd8d2b3),_0x51eda3=[],_0x4c7467=_0xd8d2b3===_0x487501(0xa7);let _0x2ced85=_0x163bfb==='right'||_0x163bfb===_0x487501(0xe4)||_0x4c7467,_0x2fd179=_0x2ced85?_0x4c7467?'Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.':_0x163bfb['toUpperCase']()+_0x487501(0xe0):undefined;const _0x52d8c3=stripOuterParentheses(_0x498604[0x4]??''),_0x541e2a=_0x52d8c3[_0x487501(0xd2)](MYBATIS_DYNAMIC_START_MARKER)||_0x52d8c3['includes'](MYBATIS_DYNAMIC_END_MARKER),_0x7396ad=_0x52d8c3[_0x487501(0xd2)](MYBATIS_INCLUDE_MARKER);_0x541e2a&&(_0x2ced85=!![],_0x2fd179??=_0x487501(0xd3));_0x7396ad&&(_0x2ced85=!![],_0x2fd179??='MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.');const _0x4b83eb=_0x52d8c3['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x487501(0xee)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x487501(0xee)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x4b83eb,'OR')&&(_0x2ced85=!![],_0x2fd179??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.');for(const _0x25fa0b of splitTopLevelAnd(_0x4b83eb)){const _0x5e2e65=stripOuterParentheses(_0x25fa0b);if(hasTopLevelKeyword(_0x5e2e65,'OR')){_0x2ced85=!![],_0x2fd179??=_0x487501(0xd9);continue;}const _0x5a8aaf=splitEquality(_0x5e2e65);if(!_0x5a8aaf){containsColumnReference(_0x25fa0b,_0x27a487)&&(_0x2ced85=!![]);continue;}const _0x17ca18=parseDirectColumnReference(_0x5a8aaf[0x0],_0x27a487),_0x3f8656=parseDirectColumnReference(_0x5a8aaf[0x1],_0x27a487),_0x14e0fb=containsColumnReference(_0x5a8aaf[0x0],_0x27a487),_0x2da487=containsColumnReference(_0x5a8aaf[0x1],_0x27a487),_0x232d7c=_0x17ca18&&!_0x2da487?_0x17ca18:_0x3f8656&&!_0x14e0fb?_0x3f8656:null;if(_0x232d7c&&!_0x51eda3[_0x487501(0xd2)](_0x232d7c))_0x51eda3['push'](_0x232d7c);else!_0x232d7c&&containsColumnReference(_0x25fa0b,_0x27a487)&&(_0x2ced85=!![]);}_0x1aa667['push']({'table':_0xd8d2b3,'alias':_0x27a487,'columns':_0x51eda3,'unsupportedPredicate':_0x2ced85,'unsupportedReason':_0x2fd179,'containsUnresolvedInclude':_0x7396ad,'position':_0x4c49ec});}for(const _0x2713de of _0x1b173b[_0x487501(0xa9)](/\bJOIN\b/gi)){const _0x2da131=_0x2713de[_0x487501(0xe2)]??0x0;if(_0x227709['has'](_0x2da131))continue;const _0x95c88a=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x487501(0xac)](_0xba466d[_0x487501(0xde)](_0x2da131+_0x2713de[0x0]['length'])),_0x364f13=normalizeIdentifier(_0x95c88a?.[0x1]||'unknown'),_0x4decc2=normalizeIdentifier(_0x95c88a?.[0x2]||''),_0x5d6069=isSqlClauseKeyword(_0x4decc2)?_0x364f13[_0x487501(0xa8)]('.')['at'](-0x1)||_0x364f13:_0x4decc2||_0x364f13['split']('.')['at'](-0x1)||_0x364f13;_0x1aa667[_0x487501(0xb0)]({'table':_0x364f13,'alias':_0x5d6069,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x487501(0xeb),'position':_0x2da131});}const _0x1f719a=_0x1b173b[_0x487501(0xdc)](MYBATIS_INCLUDE_MARKER);return _0x1f719a>=0x0&&!_0x1aa667['some'](_0x257ef9=>_0x257ef9[_0x487501(0xc9)])&&_0x1aa667[_0x487501(0xb0)]({'table':'unknown','alias':_0x487501(0xb7),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x487501(0xd8),'containsUnresolvedInclude':!![],'position':_0x1f719a}),_0x1aa667['sort']((_0x4f3a04,_0x2fc723)=>_0x4f3a04[_0x487501(0xe6)]-_0x2fc723[_0x487501(0xe6)]);}function stripSqlNoise(_0x333b9a){const _0x263d58=a209_0x23e2,_0x30bcf8=Array['from'](_0x333b9a),_0x299598=(_0x2b7a06,_0xb365a7)=>{for(let _0x4a521c=_0x2b7a06;_0x4a521c<_0xb365a7;_0x4a521c+=0x1){_0x30bcf8[_0x4a521c]!=='\x0a'&&_0x30bcf8[_0x4a521c]!=='\x0d'&&(_0x30bcf8[_0x4a521c]='\x20');}};for(let _0x3207e9=0x0;_0x3207e9<_0x30bcf8['length'];_0x3207e9+=0x1){const _0x39d176=_0x30bcf8[_0x3207e9],_0x5c2a17=_0x30bcf8[_0x3207e9+0x1];if(_0x39d176==='\x27'||_0x39d176==='\x22'||_0x39d176==='`'){const _0x5d7b91=_0x39d176,_0x33e7f6=_0x3207e9;_0x3207e9+=0x1;while(_0x3207e9<_0x30bcf8[_0x263d58(0xb2)]){if(_0x30bcf8[_0x3207e9]==='\x5c'&&_0x3207e9+0x1<_0x30bcf8[_0x263d58(0xb2)]){_0x3207e9+=0x2;continue;}if(_0x30bcf8[_0x3207e9]!==_0x5d7b91){_0x3207e9+=0x1;continue;}if(_0x30bcf8[_0x3207e9+0x1]===_0x5d7b91){_0x3207e9+=0x2;continue;}break;}if(_0x5d7b91==='\x27')_0x299598(_0x33e7f6,Math[_0x263d58(0xb3)](_0x3207e9+0x1,_0x30bcf8[_0x263d58(0xb2)]));continue;}if(_0x39d176==='-'&&_0x5c2a17==='-'){const _0x4dd828=_0x3207e9;while(_0x3207e9<_0x30bcf8['length']&&_0x30bcf8[_0x3207e9]!=='\x0a')_0x3207e9+=0x1;_0x299598(_0x4dd828,_0x3207e9);continue;}if(_0x39d176==='/'&&_0x5c2a17==='*'){const _0x36b22b=_0x3207e9;_0x3207e9+=0x2;while(_0x3207e9<_0x30bcf8[_0x263d58(0xb2)]&&!(_0x30bcf8[_0x3207e9]==='*'&&_0x30bcf8[_0x3207e9+0x1]==='/')){_0x3207e9+=0x1;}_0x3207e9=Math[_0x263d58(0xb3)](_0x3207e9+0x1,_0x30bcf8[_0x263d58(0xb2)]-0x1),_0x299598(_0x36b22b,_0x3207e9+0x1);continue;}if(_0x39d176==='#'&&_0x5c2a17!=='{'){const _0xa8e7b1=_0x3207e9;while(_0x3207e9<_0x30bcf8[_0x263d58(0xb2)]&&_0x30bcf8[_0x3207e9]!=='\x0a')_0x3207e9+=0x1;_0x299598(_0xa8e7b1,_0x3207e9);continue;}if((_0x39d176==='#'||_0x39d176==='$')&&_0x5c2a17==='{'){const _0x574389=_0x3207e9;_0x3207e9+=0x2;while(_0x3207e9<_0x30bcf8[_0x263d58(0xb2)]&&_0x30bcf8[_0x3207e9]!=='}')_0x3207e9+=0x1;_0x299598(_0x574389,Math[_0x263d58(0xb3)](_0x3207e9+0x1,_0x30bcf8['length']));}}return _0x30bcf8['join']('');}function maskQuotedIdentifiers(_0x582af7){const _0x5223fb=a209_0x23e2,_0x5a2b8f=Array[_0x5223fb(0xdd)](_0x582af7);for(let _0x1922aa=0x0;_0x1922aa<_0x5a2b8f[_0x5223fb(0xb2)];_0x1922aa+=0x1){const _0x1d221c=_0x5a2b8f[_0x1922aa];if(_0x1d221c!=='\x22'&&_0x1d221c!=='`')continue;_0x1922aa+=0x1;while(_0x1922aa<_0x5a2b8f[_0x5223fb(0xb2)]){if(_0x5a2b8f[_0x1922aa]===_0x1d221c){if(_0x5a2b8f[_0x1922aa+0x1]===_0x1d221c){_0x5a2b8f[_0x1922aa]='\x20',_0x5a2b8f[_0x1922aa+0x1]='\x20',_0x1922aa+=0x2;continue;}break;}_0x5a2b8f[_0x1922aa]='\x20',_0x1922aa+=0x1;}}return _0x5a2b8f['join']('');}function maskNestedQueries(_0xfead9f){const _0x445c11=a209_0x23e2,_0x59e39b=Array[_0x445c11(0xdd)](_0xfead9f);for(let _0x5805a6=0x0;_0x5805a6<_0x59e39b['length'];_0x5805a6+=0x1){if(_0x59e39b[_0x5805a6]!=='(')continue;const _0x5ac53c=_0xfead9f[_0x445c11(0xde)](_0x5805a6+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x445c11(0xb5)](_0x5ac53c))continue;let _0x5136bd=0x1,_0x32e91b=_0x5805a6+0x1;for(;_0x32e91b<_0x59e39b['length']&&_0x5136bd>0x0;_0x32e91b+=0x1){if(_0x59e39b[_0x32e91b]==='(')_0x5136bd+=0x1;if(_0x59e39b[_0x32e91b]===')')_0x5136bd-=0x1;}if(_0x5136bd!==0x0)continue;for(let _0x349fc2=_0x5805a6;_0x349fc2<_0x32e91b;_0x349fc2+=0x1){_0x59e39b[_0x349fc2]='\x20';}const _0x2105a9='__sq__';for(let _0x102df2=0x0;_0x102df2<_0x2105a9[_0x445c11(0xb2)]&&_0x5805a6+_0x102df2<_0x32e91b;_0x102df2+=0x1){_0x59e39b[_0x5805a6+_0x102df2]=_0x2105a9[_0x102df2];}_0x5805a6=_0x32e91b-0x1;}return _0x59e39b[_0x445c11(0xb4)]('');}function a209_0x23e2(_0x586075,_0x3a1e94){_0x586075=_0x586075-0xa6;const _0x441fc4=a209_0x441f();let _0x23e2c7=_0x441fc4[_0x586075];return _0x23e2c7;}function a209_0x441f(){const _0x3dbba5=['1302486HUojEZ','matchedPrefix','exec','\x5cs*\x5c.\x5cs*[\x5cw$]+','tableName','8uDYUeS','push','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','length','min','join','test','637657tdtxsE','unknown','9IhIzXF','(?:^|[^\x5cw$])','warning','unsupportedPredicate','table','endsWith','707775lURuSI','left','cross','alias','has','add','inner','right','match','columns','some','containsUnresolvedInclude','\x5c$&','3896536WjiopP','error','indexes','search','12JNaIag','covered','max','includes','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','19452990eFNNpN','map','toUpperCase','sql','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','toLowerCase','INNER','indexOf','from','slice','natural','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','filter','index','INDEX_METADATA_UNAVAILABLE','full','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','position','JOIN_PREDICATE_UNSUPPORTED','JOIN_INDEX_NOT_USABLE','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','unsupportedReason','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','JOIN_INDEX_MISSING','29778WhwsZn','replaceAll','unavailable','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','4155656agWATB','trim','startsWith','__sq__','split','matchAll'];a209_0x441f=function(){return _0x3dbba5;};return a209_0x441f();}function splitTopLevelAnd(_0xb34f5d){const _0x373b58=a209_0x23e2,_0x4acecc=[];let _0x35adce=0x0,_0x38a315=0x0;for(let _0x4ddccf=0x0;_0x4ddccf<_0xb34f5d[_0x373b58(0xb2)];_0x4ddccf+=0x1){const _0x4a039c=_0xb34f5d[_0x4ddccf];if(_0x4a039c==='(')_0x35adce+=0x1;if(_0x4a039c===')')_0x35adce=Math['max'](0x0,_0x35adce-0x1);_0x35adce===0x0&&_0xb34f5d[_0x373b58(0xde)](_0x4ddccf)[_0x373b58(0xc6)](/^AND\b/i)&&(_0x4ddccf===0x0||/\s/[_0x373b58(0xb5)](_0xb34f5d[_0x4ddccf-0x1]??''))&&(_0x4acecc['push'](_0xb34f5d[_0x373b58(0xde)](_0x38a315,_0x4ddccf)['trim']()),_0x4ddccf+=0x2,_0x38a315=_0x4ddccf+0x1);}const _0x4ec772=_0xb34f5d['slice'](_0x38a315)[_0x373b58(0xf2)]();if(_0x4ec772)_0x4acecc['push'](_0x4ec772);return _0x4acecc;}function hasTopLevelKeyword(_0x56345c,_0x10bb15){const _0x325224=a209_0x23e2;let _0x43b8b5=0x0;for(let _0x1acea5=0x0;_0x1acea5<_0x56345c[_0x325224(0xb2)];_0x1acea5+=0x1){const _0x4c2d2f=_0x56345c[_0x1acea5];if(_0x4c2d2f==='(')_0x43b8b5+=0x1;if(_0x4c2d2f===')')_0x43b8b5=Math[_0x325224(0xd1)](0x0,_0x43b8b5-0x1);if(_0x43b8b5!==0x0)continue;const _0x201150=_0x56345c[_0x325224(0xde)](_0x1acea5,_0x1acea5+_0x10bb15[_0x325224(0xb2)]),_0x3f57a7=_0x56345c[_0x1acea5-0x1]??'\x20',_0x3cf218=_0x56345c[_0x1acea5+_0x10bb15['length']]??'\x20';if(_0x201150['toUpperCase']()===_0x10bb15[_0x325224(0xd6)]()&&!/[\w$]/[_0x325224(0xb5)](_0x3f57a7)&&!/[\w$]/['test'](_0x3cf218))return!![];}return![];}function splitEquality(_0x56a571){const _0x46ad81=a209_0x23e2,_0x2e5e4f=stripOuterParentheses(_0x56a571);let _0x5c2b40=0x0,_0x49f28d;for(let _0x4769ed=0x0;_0x4769ed<_0x2e5e4f[_0x46ad81(0xb2)];_0x4769ed+=0x1){const _0x4b56ce=_0x2e5e4f[_0x4769ed];if(_0x4b56ce==='(')_0x5c2b40+=0x1;if(_0x4b56ce===')')_0x5c2b40=Math[_0x46ad81(0xd1)](0x0,_0x5c2b40-0x1);const _0x82ff0=_0x2e5e4f[_0x4769ed-0x1]??'',_0x1a1320=_0x2e5e4f[_0x4769ed+0x1]??'';if(_0x4b56ce==='='&&_0x5c2b40===0x0&&!/[!<>=:]/[_0x46ad81(0xb5)](_0x82ff0)&&_0x1a1320!=='='){if(_0x49f28d!==undefined)return null;_0x49f28d=_0x4769ed;}}return _0x49f28d===undefined?null:[_0x2e5e4f['slice'](0x0,_0x49f28d)[_0x46ad81(0xf2)](),_0x2e5e4f[_0x46ad81(0xde)](_0x49f28d+0x1)[_0x46ad81(0xf2)]()];}function parseDirectColumnReference(_0x50e927,_0x34a798){const _0x2d34e8=a209_0x23e2,_0x34003a=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x2d34e8(0xac)](stripOuterParentheses(_0x50e927));if(!_0x34003a)return null;if(normalizeIdentifier(_0x34003a[0x1]??'')!==normalizeIdentifier(_0x34a798))return null;return normalizeIdentifier(_0x34003a[0x2]??'');}function containsColumnReference(_0x234c01,_0x3de5ee){const _0x32a760=a209_0x23e2,_0x1f9e4c=_0x234c01['replace'](/[`"]/g,''),_0x3dbeb4=_0x3de5ee['replace'](/[.*+?^${}()|[\]\\]/g,_0x32a760(0xca));return new RegExp(_0x32a760(0xb9)+_0x3dbeb4+_0x32a760(0xad),'i')[_0x32a760(0xb5)](_0x1f9e4c);}function findEqualityPrefix(_0x4009e3,_0x440bad){const _0x553204=a209_0x23e2,_0x2acc43=new Set(_0x440bad[_0x553204(0xd5)](normalizeIdentifier)),_0x3d39b1=[];for(const _0x18a6dd of _0x4009e3){if(!_0x2acc43[_0x553204(0xc2)](normalizeIdentifier(_0x18a6dd)))break;_0x3d39b1[_0x553204(0xb0)](_0x18a6dd);}return _0x3d39b1;}function resolveTableMetadata(_0x50ef2c,_0x30c155){const _0x1fa48b=a209_0x23e2,_0xb686f4=normalizeIdentifier(_0x30c155),_0x91179=_0x50ef2c[_0x1fa48b(0xe1)](_0x428bf9=>normalizeIdentifier(_0x428bf9[_0x1fa48b(0xae)])===_0xb686f4);if(_0x91179[_0x1fa48b(0xb2)]===0x1)return _0x91179[0x0];const _0x1ba7c5=_0xb686f4[_0x1fa48b(0xd2)]('.'),_0x1e9848=_0xb686f4[_0x1fa48b(0xa8)]('.')['at'](-0x1),_0x21bcec=_0x50ef2c[_0x1fa48b(0xe1)](_0x3fc84e=>{const _0x220562=_0x1fa48b,_0x4bb955=normalizeIdentifier(_0x3fc84e[_0x220562(0xae)]);if(_0x1ba7c5&&_0x4bb955[_0x220562(0xd2)]('.'))return![];return _0x4bb955[_0x220562(0xa8)]('.')['at'](-0x1)===_0x1e9848;});return _0x21bcec['length']===0x1?_0x21bcec[0x0]:undefined;}function columnNamesMatch(_0x4c06ae,_0x1a6749){return normalizeIdentifier(_0x4c06ae)===normalizeIdentifier(_0x1a6749);}function normalizeIdentifier(_0x547ec9){const _0x2b15a9=a209_0x23e2;return _0x547ec9['replace'](/[`"]/g,'')[_0x2b15a9(0xf2)]()[_0x2b15a9(0xda)]();}function isSqlClauseKeyword(_0x595837){const _0x5fe285=a209_0x23e2;return new Set(['on','using','where','join',_0x5fe285(0xc4),_0x5fe285(0xbf),_0x5fe285(0xc5),_0x5fe285(0xe4),_0x5fe285(0xc0),_0x5fe285(0xdf)])['has'](_0x595837);}function stripOuterParentheses(_0x4e9e5f){const _0x577dc5=a209_0x23e2;let _0x542381=_0x4e9e5f[_0x577dc5(0xf2)]();while(_0x542381[_0x577dc5(0xa6)]('(')&&_0x542381[_0x577dc5(0xbd)](')')){let _0x296254=0x0,_0x17d9e5=!![];for(let _0x9e67a5=0x0;_0x9e67a5<_0x542381[_0x577dc5(0xb2)];_0x9e67a5+=0x1){if(_0x542381[_0x9e67a5]==='(')_0x296254+=0x1;if(_0x542381[_0x9e67a5]===')')_0x296254-=0x1;if(_0x296254===0x0&&_0x9e67a5<_0x542381['length']-0x1){_0x17d9e5=![];break;}}if(!_0x17d9e5||_0x296254!==0x0)break;_0x542381=_0x542381[_0x577dc5(0xde)](0x1,-0x1)[_0x577dc5(0xf2)]();}return _0x542381;}
|
|
1
|
+
(function(_0x3af9f8,_0x244634){const _0x422ccc=a210_0x268a,_0x371f6f=_0x3af9f8();while(!![]){try{const _0x4a1eb3=-parseInt(_0x422ccc(0x19c))/0x1*(-parseInt(_0x422ccc(0x1b8))/0x2)+-parseInt(_0x422ccc(0x190))/0x3+parseInt(_0x422ccc(0x192))/0x4*(parseInt(_0x422ccc(0x17e))/0x5)+parseInt(_0x422ccc(0x184))/0x6+-parseInt(_0x422ccc(0x1ab))/0x7*(parseInt(_0x422ccc(0x1b2))/0x8)+-parseInt(_0x422ccc(0x17f))/0x9*(parseInt(_0x422ccc(0x189))/0xa)+parseInt(_0x422ccc(0x19e))/0xb;if(_0x4a1eb3===_0x244634)break;else _0x371f6f['push'](_0x371f6f['shift']());}catch(_0x1d1023){_0x371f6f['push'](_0x371f6f['shift']());}}}(a210_0x4f97,0x19750));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x5d1b13,_0x1d92a3){const _0x337a6e=a210_0x268a,_0x231fa1=[],_0x193673=normalizeSqlForStaticAnalysis(_0x5d1b13),_0x16f5a0=(_0x193673[_0x337a6e(0x1ba)]?[]:extractJoinFacts(_0x193673[_0x337a6e(0x1aa)]))[_0x337a6e(0x1a9)](_0x315ee2=>{const _0x307ed2=_0x337a6e;if(_0x315ee2[_0x307ed2(0x195)]||_0x315ee2[_0x307ed2(0x182)][_0x307ed2(0x1bd)]===0x0)return _0x231fa1['push']({'code':'JOIN_PREDICATE_UNSUPPORTED','table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'reason':_0x315ee2[_0x307ed2(0x1a0)]??_0x307ed2(0x1b3)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x1b5)};const _0x5d3bba=resolveTableMetadata(_0x1d92a3,_0x315ee2['table']),_0x15fa37=(_0x5d3bba?.[_0x307ed2(0x1b4)]??[])[_0x307ed2(0x1a9)](_0x39622e=>({'index':_0x39622e,'matchedPrefix':findEqualityPrefix(_0x39622e['columns'],_0x315ee2[_0x307ed2(0x182)])}))[_0x307ed2(0x1ac)](_0x4e097a=>_0x4e097a[_0x307ed2(0x19d)][_0x307ed2(0x1bd)]>0x0),_0x2f4312=_0x15fa37[_0x307ed2(0x1a4)]((_0x1879a1,_0x149c27)=>!_0x1879a1||_0x149c27[_0x307ed2(0x19d)][_0x307ed2(0x1bd)]>_0x1879a1[_0x307ed2(0x19d)]['length']?_0x149c27:_0x1879a1,_0x15fa37[0x0]);if(_0x2f4312)return{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x186),'matchedIndex':{..._0x2f4312['index'],'matchedPrefix':_0x2f4312[_0x307ed2(0x19d)]}};const _0x5c4d5d=_0x5d3bba?.[_0x307ed2(0x1b4)]['filter'](_0x492082=>_0x492082['columns']['some'](_0x4e8f18=>_0x315ee2[_0x307ed2(0x182)]['some'](_0x1dfb04=>columnNamesMatch(_0x4e8f18,_0x1dfb04))))??[];if(_0x5c4d5d[_0x307ed2(0x1bd)]>0x0)return _0x231fa1[_0x307ed2(0x178)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x315ee2['table'],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'reason':_0x307ed2(0x1a2)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x177),'candidateIndexes':_0x5c4d5d};if(_0x5d3bba&&_0x5d3bba['metadataAvailable']!==![]&&_0x5d3bba[_0x307ed2(0x1b4)][_0x307ed2(0x1bd)]>0x0&&_0x315ee2[_0x307ed2(0x182)][_0x307ed2(0x1bd)]>0x0)return _0x231fa1[_0x307ed2(0x178)]({'code':_0x307ed2(0x1b6),'table':_0x315ee2['table'],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2['columns'],'reason':_0x307ed2(0x18e)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':'warning'};return _0x231fa1[_0x307ed2(0x178)]({'code':_0x307ed2(0x1ae),'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2['columns'],'reason':_0x5d3bba?_0x307ed2(0x188):'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x1b5)};});return{'checked':_0x16f5a0['length']>0x0,'joins':_0x16f5a0,'warnings':_0x231fa1};}function extractJoinFacts(_0x2aa6cb){const _0x2f95be=a210_0x268a,_0x44bf5e=maskNestedQueries(stripSqlNoise(_0x2aa6cb)),_0x5624d5=maskQuotedIdentifiers(_0x44bf5e),_0x452156=[],_0x4f17e1=new Set(),_0x7873e9=/\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 _0x323c48 of _0x44bf5e[_0x2f95be(0x1af)](_0x7873e9)){const _0x5855fc=_0x323c48[_0x2f95be(0x19a)]??0x0,_0x896968=_0x323c48[0x0]['search'](/\bJOIN\b/i),_0x396f89=_0x5855fc+Math[_0x2f95be(0x17d)](0x0,_0x896968);if(!/^JOIN\b/i[_0x2f95be(0x193)](_0x5624d5[_0x2f95be(0x196)](_0x396f89)))continue;_0x4f17e1[_0x2f95be(0x1a6)](_0x396f89);const _0x2224c7=normalizeIdentifier(_0x323c48[0x1]||'INNER'),_0x26b20d=normalizeIdentifier(_0x323c48[0x2]??''),_0x336450=normalizeIdentifier(_0x323c48[0x3]||_0x26b20d[_0x2f95be(0x197)]('.')['at'](-0x1)||_0x26b20d),_0x4aa7be=[],_0x185e20=_0x26b20d==='__sq__';let _0x20ef43=_0x2224c7==='right'||_0x2224c7===_0x2f95be(0x18d)||_0x185e20,_0x131d8e=_0x20ef43?_0x185e20?'Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.':_0x2224c7[_0x2f95be(0x198)]()+'\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.':undefined;const _0x8cf86e=stripOuterParentheses(_0x323c48[0x4]??''),_0x3c7a33=_0x8cf86e[_0x2f95be(0x19f)](MYBATIS_DYNAMIC_START_MARKER)||_0x8cf86e[_0x2f95be(0x19f)](MYBATIS_DYNAMIC_END_MARKER),_0x368962=_0x8cf86e['includes'](MYBATIS_INCLUDE_MARKER);_0x3c7a33&&(_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x1be));_0x368962&&(_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x175));const _0x392bad=_0x8cf86e[_0x2f95be(0x194)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x2f95be(0x194)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x2f95be(0x194)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x392bad,'OR')&&(_0x20ef43=!![],_0x131d8e??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.');for(const _0x57204b of splitTopLevelAnd(_0x392bad)){const _0x3d81a9=stripOuterParentheses(_0x57204b);if(hasTopLevelKeyword(_0x3d81a9,'OR')){_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x199);continue;}const _0x41a805=splitEquality(_0x3d81a9);if(!_0x41a805){containsColumnReference(_0x57204b,_0x336450)&&(_0x20ef43=!![]);continue;}const _0xd2650d=parseDirectColumnReference(_0x41a805[0x0],_0x336450),_0x2a92da=parseDirectColumnReference(_0x41a805[0x1],_0x336450),_0x5eb686=containsColumnReference(_0x41a805[0x0],_0x336450),_0x35499e=containsColumnReference(_0x41a805[0x1],_0x336450),_0x4922a0=_0xd2650d&&!_0x35499e?_0xd2650d:_0x2a92da&&!_0x5eb686?_0x2a92da:null;if(_0x4922a0&&!_0x4aa7be[_0x2f95be(0x19f)](_0x4922a0))_0x4aa7be[_0x2f95be(0x178)](_0x4922a0);else!_0x4922a0&&containsColumnReference(_0x57204b,_0x336450)&&(_0x20ef43=!![]);}_0x452156['push']({'table':_0x26b20d,'alias':_0x336450,'columns':_0x4aa7be,'unsupportedPredicate':_0x20ef43,'unsupportedReason':_0x131d8e,'containsUnresolvedInclude':_0x368962,'position':_0x396f89});}for(const _0x35ec42 of _0x5624d5['matchAll'](/\bJOIN\b/gi)){const _0x438e56=_0x35ec42[_0x2f95be(0x19a)]??0x0;if(_0x4f17e1[_0x2f95be(0x17c)](_0x438e56))continue;const _0xcac723=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x2f95be(0x179)](_0x44bf5e[_0x2f95be(0x196)](_0x438e56+_0x35ec42[0x0]['length'])),_0xacf7f3=normalizeIdentifier(_0xcac723?.[0x1]||_0x2f95be(0x181)),_0x4a11ad=normalizeIdentifier(_0xcac723?.[0x2]||''),_0x57eb09=isSqlClauseKeyword(_0x4a11ad)?_0xacf7f3[_0x2f95be(0x197)]('.')['at'](-0x1)||_0xacf7f3:_0x4a11ad||_0xacf7f3[_0x2f95be(0x197)]('.')['at'](-0x1)||_0xacf7f3;_0x452156[_0x2f95be(0x178)]({'table':_0xacf7f3,'alias':_0x57eb09,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x2f95be(0x18b),'position':_0x438e56});}const _0x1c6bd7=_0x5624d5[_0x2f95be(0x18f)](MYBATIS_INCLUDE_MARKER);return _0x1c6bd7>=0x0&&!_0x452156[_0x2f95be(0x185)](_0x1c0894=>_0x1c0894[_0x2f95be(0x1b1)])&&_0x452156[_0x2f95be(0x178)]({'table':_0x2f95be(0x181),'alias':_0x2f95be(0x181),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','containsUnresolvedInclude':!![],'position':_0x1c6bd7}),_0x452156[_0x2f95be(0x174)]((_0x3a1e00,_0x26ac02)=>_0x3a1e00[_0x2f95be(0x1a3)]-_0x26ac02[_0x2f95be(0x1a3)]);}function stripSqlNoise(_0x33caca){const _0x7e0be3=a210_0x268a,_0x544296=Array[_0x7e0be3(0x1bf)](_0x33caca),_0x41fbb7=(_0x54c909,_0x25ceaf)=>{for(let _0xac261d=_0x54c909;_0xac261d<_0x25ceaf;_0xac261d+=0x1){_0x544296[_0xac261d]!=='\x0a'&&_0x544296[_0xac261d]!=='\x0d'&&(_0x544296[_0xac261d]='\x20');}};for(let _0xb0f3fa=0x0;_0xb0f3fa<_0x544296['length'];_0xb0f3fa+=0x1){const _0xa625d7=_0x544296[_0xb0f3fa],_0x104d1e=_0x544296[_0xb0f3fa+0x1];if(_0xa625d7==='\x27'||_0xa625d7==='\x22'||_0xa625d7==='`'){const _0x35cb1a=_0xa625d7,_0x2c7fcc=_0xb0f3fa;_0xb0f3fa+=0x1;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]){if(_0x544296[_0xb0f3fa]==='\x5c'&&_0xb0f3fa+0x1<_0x544296[_0x7e0be3(0x1bd)]){_0xb0f3fa+=0x2;continue;}if(_0x544296[_0xb0f3fa]!==_0x35cb1a){_0xb0f3fa+=0x1;continue;}if(_0x544296[_0xb0f3fa+0x1]===_0x35cb1a){_0xb0f3fa+=0x2;continue;}break;}if(_0x35cb1a==='\x27')_0x41fbb7(_0x2c7fcc,Math[_0x7e0be3(0x180)](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]));continue;}if(_0xa625d7==='-'&&_0x104d1e==='-'){const _0x1ca702=_0xb0f3fa;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&_0x544296[_0xb0f3fa]!=='\x0a')_0xb0f3fa+=0x1;_0x41fbb7(_0x1ca702,_0xb0f3fa);continue;}if(_0xa625d7==='/'&&_0x104d1e==='*'){const _0x489433=_0xb0f3fa;_0xb0f3fa+=0x2;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&!(_0x544296[_0xb0f3fa]==='*'&&_0x544296[_0xb0f3fa+0x1]==='/')){_0xb0f3fa+=0x1;}_0xb0f3fa=Math['min'](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]-0x1),_0x41fbb7(_0x489433,_0xb0f3fa+0x1);continue;}if(_0xa625d7==='#'&&_0x104d1e!=='{'){const _0x2e0287=_0xb0f3fa;while(_0xb0f3fa<_0x544296['length']&&_0x544296[_0xb0f3fa]!=='\x0a')_0xb0f3fa+=0x1;_0x41fbb7(_0x2e0287,_0xb0f3fa);continue;}if((_0xa625d7==='#'||_0xa625d7==='$')&&_0x104d1e==='{'){const _0x2c9cb7=_0xb0f3fa;_0xb0f3fa+=0x2;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&_0x544296[_0xb0f3fa]!=='}')_0xb0f3fa+=0x1;_0x41fbb7(_0x2c9cb7,Math['min'](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]));}}return _0x544296['join']('');}function a210_0x4f97(){const _0x18c4e0=['cross','error','alias','startsWith','length','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','from','sort','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','where','warning','push','exec','\x5c$&','tableName','has','max','5SsNSpZ','207LMsKVV','min','unknown','columns','match','487932tCDCNQ','some','covered','(?:^|[^\x5cw$])','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','74590pvGFYL','endsWith','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','trim','full','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','indexOf','144438eqkhnS','natural','188740uTaQcd','test','replaceAll','unsupportedPredicate','slice','split','toUpperCase','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','index','replace','101kyDapM','matchedPrefix','1358544pkSdQR','includes','unsupportedReason','inner','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','position','reduce','right','add','__sq__','table','map','sql','21CWsRqT','filter','using','INDEX_METADATA_UNAVAILABLE','matchAll','toLowerCase','containsUnresolvedInclude','334912yqAABs','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','indexes','unavailable','JOIN_INDEX_MISSING','join','3912ZlPbwT'];a210_0x4f97=function(){return _0x18c4e0;};return a210_0x4f97();}function maskQuotedIdentifiers(_0x588f29){const _0x59a85d=a210_0x268a,_0x3a6c50=Array[_0x59a85d(0x1bf)](_0x588f29);for(let _0x323320=0x0;_0x323320<_0x3a6c50[_0x59a85d(0x1bd)];_0x323320+=0x1){const _0x1e2db3=_0x3a6c50[_0x323320];if(_0x1e2db3!=='\x22'&&_0x1e2db3!=='`')continue;_0x323320+=0x1;while(_0x323320<_0x3a6c50[_0x59a85d(0x1bd)]){if(_0x3a6c50[_0x323320]===_0x1e2db3){if(_0x3a6c50[_0x323320+0x1]===_0x1e2db3){_0x3a6c50[_0x323320]='\x20',_0x3a6c50[_0x323320+0x1]='\x20',_0x323320+=0x2;continue;}break;}_0x3a6c50[_0x323320]='\x20',_0x323320+=0x1;}}return _0x3a6c50[_0x59a85d(0x1b7)]('');}function maskNestedQueries(_0x2eea89){const _0x512b48=a210_0x268a,_0x1dfc1e=Array['from'](_0x2eea89);for(let _0x5f13bd=0x0;_0x5f13bd<_0x1dfc1e['length'];_0x5f13bd+=0x1){if(_0x1dfc1e[_0x5f13bd]!=='(')continue;const _0x45166b=_0x2eea89['slice'](_0x5f13bd+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x512b48(0x193)](_0x45166b))continue;let _0x3b8d82=0x1,_0xfc6965=_0x5f13bd+0x1;for(;_0xfc6965<_0x1dfc1e[_0x512b48(0x1bd)]&&_0x3b8d82>0x0;_0xfc6965+=0x1){if(_0x1dfc1e[_0xfc6965]==='(')_0x3b8d82+=0x1;if(_0x1dfc1e[_0xfc6965]===')')_0x3b8d82-=0x1;}if(_0x3b8d82!==0x0)continue;for(let _0x46c084=_0x5f13bd;_0x46c084<_0xfc6965;_0x46c084+=0x1){_0x1dfc1e[_0x46c084]='\x20';}const _0x27d160=_0x512b48(0x1a7);for(let _0x42e627=0x0;_0x42e627<_0x27d160[_0x512b48(0x1bd)]&&_0x5f13bd+_0x42e627<_0xfc6965;_0x42e627+=0x1){_0x1dfc1e[_0x5f13bd+_0x42e627]=_0x27d160[_0x42e627];}_0x5f13bd=_0xfc6965-0x1;}return _0x1dfc1e[_0x512b48(0x1b7)]('');}function splitTopLevelAnd(_0x1669ac){const _0x396dc3=a210_0x268a,_0x49092d=[];let _0x5017a0=0x0,_0x4eb5dc=0x0;for(let _0x47eb83=0x0;_0x47eb83<_0x1669ac[_0x396dc3(0x1bd)];_0x47eb83+=0x1){const _0x2bdafc=_0x1669ac[_0x47eb83];if(_0x2bdafc==='(')_0x5017a0+=0x1;if(_0x2bdafc===')')_0x5017a0=Math[_0x396dc3(0x17d)](0x0,_0x5017a0-0x1);_0x5017a0===0x0&&_0x1669ac[_0x396dc3(0x196)](_0x47eb83)[_0x396dc3(0x183)](/^AND\b/i)&&(_0x47eb83===0x0||/\s/[_0x396dc3(0x193)](_0x1669ac[_0x47eb83-0x1]??''))&&(_0x49092d[_0x396dc3(0x178)](_0x1669ac[_0x396dc3(0x196)](_0x4eb5dc,_0x47eb83)[_0x396dc3(0x18c)]()),_0x47eb83+=0x2,_0x4eb5dc=_0x47eb83+0x1);}const _0x4ed47a=_0x1669ac[_0x396dc3(0x196)](_0x4eb5dc)[_0x396dc3(0x18c)]();if(_0x4ed47a)_0x49092d[_0x396dc3(0x178)](_0x4ed47a);return _0x49092d;}function a210_0x268a(_0x487ce6,_0x165080){_0x487ce6=_0x487ce6-0x174;const _0x4f978e=a210_0x4f97();let _0x268a18=_0x4f978e[_0x487ce6];return _0x268a18;}function hasTopLevelKeyword(_0x43e916,_0x47bada){const _0x509ede=a210_0x268a;let _0x29a3d5=0x0;for(let _0x139a4e=0x0;_0x139a4e<_0x43e916['length'];_0x139a4e+=0x1){const _0x2a112a=_0x43e916[_0x139a4e];if(_0x2a112a==='(')_0x29a3d5+=0x1;if(_0x2a112a===')')_0x29a3d5=Math[_0x509ede(0x17d)](0x0,_0x29a3d5-0x1);if(_0x29a3d5!==0x0)continue;const _0x48634a=_0x43e916['slice'](_0x139a4e,_0x139a4e+_0x47bada[_0x509ede(0x1bd)]),_0x5dfae4=_0x43e916[_0x139a4e-0x1]??'\x20',_0x26a284=_0x43e916[_0x139a4e+_0x47bada[_0x509ede(0x1bd)]]??'\x20';if(_0x48634a[_0x509ede(0x198)]()===_0x47bada[_0x509ede(0x198)]()&&!/[\w$]/['test'](_0x5dfae4)&&!/[\w$]/[_0x509ede(0x193)](_0x26a284))return!![];}return![];}function splitEquality(_0x10d931){const _0x2399da=a210_0x268a,_0x223c2d=stripOuterParentheses(_0x10d931);let _0x31bb9f=0x0,_0x2950a2;for(let _0x1d9f68=0x0;_0x1d9f68<_0x223c2d[_0x2399da(0x1bd)];_0x1d9f68+=0x1){const _0x192a71=_0x223c2d[_0x1d9f68];if(_0x192a71==='(')_0x31bb9f+=0x1;if(_0x192a71===')')_0x31bb9f=Math[_0x2399da(0x17d)](0x0,_0x31bb9f-0x1);const _0x3ece94=_0x223c2d[_0x1d9f68-0x1]??'',_0x63e313=_0x223c2d[_0x1d9f68+0x1]??'';if(_0x192a71==='='&&_0x31bb9f===0x0&&!/[!<>=:]/[_0x2399da(0x193)](_0x3ece94)&&_0x63e313!=='='){if(_0x2950a2!==undefined)return null;_0x2950a2=_0x1d9f68;}}return _0x2950a2===undefined?null:[_0x223c2d[_0x2399da(0x196)](0x0,_0x2950a2)[_0x2399da(0x18c)](),_0x223c2d[_0x2399da(0x196)](_0x2950a2+0x1)[_0x2399da(0x18c)]()];}function parseDirectColumnReference(_0x43fade,_0xb036c0){const _0x2a59a3=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/['exec'](stripOuterParentheses(_0x43fade));if(!_0x2a59a3)return null;if(normalizeIdentifier(_0x2a59a3[0x1]??'')!==normalizeIdentifier(_0xb036c0))return null;return normalizeIdentifier(_0x2a59a3[0x2]??'');}function containsColumnReference(_0x41793e,_0x170248){const _0x463ed5=a210_0x268a,_0x247b68=_0x41793e['replace'](/[`"]/g,''),_0x1640dc=_0x170248[_0x463ed5(0x19b)](/[.*+?^${}()|[\]\\]/g,_0x463ed5(0x17a));return new RegExp(_0x463ed5(0x187)+_0x1640dc+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')[_0x463ed5(0x193)](_0x247b68);}function findEqualityPrefix(_0x37c406,_0xfc6fbb){const _0x855da4=a210_0x268a,_0xedda64=new Set(_0xfc6fbb[_0x855da4(0x1a9)](normalizeIdentifier)),_0x5db54f=[];for(const _0x5dab6d of _0x37c406){if(!_0xedda64[_0x855da4(0x17c)](normalizeIdentifier(_0x5dab6d)))break;_0x5db54f[_0x855da4(0x178)](_0x5dab6d);}return _0x5db54f;}function resolveTableMetadata(_0x34c876,_0x57db00){const _0x3d983b=a210_0x268a,_0x57a0a6=normalizeIdentifier(_0x57db00),_0x430b6e=_0x34c876[_0x3d983b(0x1ac)](_0x397b04=>normalizeIdentifier(_0x397b04['tableName'])===_0x57a0a6);if(_0x430b6e[_0x3d983b(0x1bd)]===0x1)return _0x430b6e[0x0];const _0x2765c2=_0x57a0a6[_0x3d983b(0x19f)]('.'),_0x4bb7ad=_0x57a0a6[_0x3d983b(0x197)]('.')['at'](-0x1),_0xbe7af0=_0x34c876[_0x3d983b(0x1ac)](_0x59376d=>{const _0x3f91d6=_0x3d983b,_0x5cc62c=normalizeIdentifier(_0x59376d[_0x3f91d6(0x17b)]);if(_0x2765c2&&_0x5cc62c[_0x3f91d6(0x19f)]('.'))return![];return _0x5cc62c['split']('.')['at'](-0x1)===_0x4bb7ad;});return _0xbe7af0[_0x3d983b(0x1bd)]===0x1?_0xbe7af0[0x0]:undefined;}function columnNamesMatch(_0x7cfb9d,_0x372f99){return normalizeIdentifier(_0x7cfb9d)===normalizeIdentifier(_0x372f99);}function normalizeIdentifier(_0x239541){const _0x5ce8cb=a210_0x268a;return _0x239541['replace'](/[`"]/g,'')[_0x5ce8cb(0x18c)]()[_0x5ce8cb(0x1b0)]();}function isSqlClauseKeyword(_0x19f203){const _0x1daccd=a210_0x268a;return new Set(['on',_0x1daccd(0x1ad),_0x1daccd(0x176),'join',_0x1daccd(0x1a1),'left',_0x1daccd(0x1a5),_0x1daccd(0x18d),_0x1daccd(0x1b9),_0x1daccd(0x191)])[_0x1daccd(0x17c)](_0x19f203);}function stripOuterParentheses(_0x40691f){const _0x2d4229=a210_0x268a;let _0x3a362d=_0x40691f[_0x2d4229(0x18c)]();while(_0x3a362d[_0x2d4229(0x1bc)]('(')&&_0x3a362d[_0x2d4229(0x18a)](')')){let _0x4bd20b=0x0,_0xead002=!![];for(let _0x1ef6ff=0x0;_0x1ef6ff<_0x3a362d[_0x2d4229(0x1bd)];_0x1ef6ff+=0x1){if(_0x3a362d[_0x1ef6ff]==='(')_0x4bd20b+=0x1;if(_0x3a362d[_0x1ef6ff]===')')_0x4bd20b-=0x1;if(_0x4bd20b===0x0&&_0x1ef6ff<_0x3a362d[_0x2d4229(0x1bd)]-0x1){_0xead002=![];break;}}if(!_0xead002||_0x4bd20b!==0x0)break;_0x3a362d=_0x3a362d[_0x2d4229(0x196)](0x1,-0x1)[_0x2d4229(0x18c)]();}return _0x3a362d;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a211_0x5d1644=a211_0x3522;(function(_0x30db5c,_0x5f09ac){const _0xf0f73f=a211_0x3522,_0x41d958=_0x30db5c();while(!![]){try{const _0x16dc60=parseInt(_0xf0f73f(0x120))/0x1+parseInt(_0xf0f73f(0x124))/0x2*(parseInt(_0xf0f73f(0x11a))/0x3)+-parseInt(_0xf0f73f(0x11e))/0x4+-parseInt(_0xf0f73f(0x11c))/0x5+-parseInt(_0xf0f73f(0x118))/0x6+-parseInt(_0xf0f73f(0x11b))/0x7*(parseInt(_0xf0f73f(0x121))/0x8)+-parseInt(_0xf0f73f(0x123))/0x9*(-parseInt(_0xf0f73f(0x119))/0xa);if(_0x16dc60===_0x5f09ac)break;else _0x41d958['push'](_0x41d958['shift']());}catch(_0x53950c){_0x41d958['push'](_0x41d958['shift']());}}}(a211_0x310d,0xdebb1));function a211_0x3522(_0x56e8e2,_0xcb347f){_0x56e8e2=_0x56e8e2-0x117;const _0x310d30=a211_0x310d();let _0x352289=_0x310d30[_0x56e8e2];return _0x352289;}import{resolve}from'node:path';import{findProjectRootDirectory}from'../../context.js';const DOT_DIR='.rabetbase',LOCK_FILE_NAME=a211_0x5d1644(0x11f),TRASH_DIR_NAME=a211_0x5d1644(0x117);export function loadSqlProjectConfig(_0x213cfe,_0x1fa64e){const _0x182a34=a211_0x5d1644,_0x62bf5=resolve(_0x1fa64e??findProjectRootDirectory()),_0x45d654=DOT_DIR+_0x182a34(0x11d),_0x2c3257=_0x45d654+'/'+_0x213cfe;return{'projectRoot':_0x62bf5,'appCode':_0x213cfe,'sqlWorkspaceRoot':_0x45d654,'sqlRoot':_0x2c3257,'sqlRootDir':resolve(_0x62bf5,DOT_DIR,_0x182a34(0x122),_0x213cfe),'lockFilePath':resolve(_0x62bf5,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x62bf5,DOT_DIR,TRASH_DIR_NAME)};}function a211_0x310d(){const _0x224de8=['sql-trash','6781752AYOGqb','560930dHbCta','1013604SEsYGp','26425COnMvW','6882875qUYVJn','/sql','6181184NTPNqq','sql.lock.json','1687972HsHSHk','1032iIiSBJ','sql','387fHWhgH','8InKDWz'];a211_0x310d=function(){return _0x224de8;};return a211_0x310d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3db2c5,_0x3601a7){const _0x29d81f=a212_0x105e,_0x2f7d39=_0x3db2c5();while(!![]){try{const _0x47d1ba=parseInt(_0x29d81f(0xa3))/0x1*(-parseInt(_0x29d81f(0x8f))/0x2)+-parseInt(_0x29d81f(0x90))/0x3*(-parseInt(_0x29d81f(0x97))/0x4)+parseInt(_0x29d81f(0x92))/0x5+parseInt(_0x29d81f(0x9e))/0x6*(-parseInt(_0x29d81f(0x84))/0x7)+parseInt(_0x29d81f(0x9b))/0x8*(-parseInt(_0x29d81f(0xa0))/0x9)+-parseInt(_0x29d81f(0x9c))/0xa*(parseInt(_0x29d81f(0x83))/0xb)+parseInt(_0x29d81f(0x9a))/0xc;if(_0x47d1ba===_0x3601a7)break;else _0x2f7d39['push'](_0x2f7d39['shift']());}catch(_0x28cb83){_0x2f7d39['push'](_0x2f7d39['shift']());}}}(a212_0x2ed5,0xd38b2));function a212_0x105e(_0x572c34,_0x5b250c){_0x572c34=_0x572c34-0x83;const _0x2ed5c2=a212_0x2ed5();let _0x105e71=_0x2ed5c2[_0x572c34];return _0x105e71;}import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x3e859b){const _0x4e23f3=a212_0x105e;if(_0x3e859b==='.sql')return _0x4e23f3(0x89);if(_0x3e859b===_0x4e23f3(0x8c))return _0x4e23f3(0x94);return undefined;}async function scanSqlFilesRecursively(_0xc659c1,_0x404809){const _0x3c8684=a212_0x105e,_0x5bf8e8=[];try{const _0x445fd1=await readdir(_0xc659c1,{'withFileTypes':!![]});for(const _0x4060d6 of _0x445fd1){const _0x4fb0be=join(_0xc659c1,_0x4060d6[_0x3c8684(0x91)]);if(_0x4060d6[_0x3c8684(0x93)]()){_0x5bf8e8[_0x3c8684(0x98)](...await scanSqlFilesRecursively(_0x4fb0be,_0x404809));continue;}if(!_0x4060d6['isFile']())continue;const _0x5a4eec=extname(_0x4060d6['name'])[_0x3c8684(0x99)](),_0x1dbb24=extensionToMode(_0x5a4eec);if(!_0x1dbb24)continue;const _0x21a851=relative(_0x404809,_0x4fb0be)[_0x3c8684(0x87)](/\\/g,'/'),_0x36f574=_0x21a851['split']('/')[_0x3c8684(0x96)](Boolean),_0x2f888d=parseSqlPath(_0x36f574,_0x4060d6[_0x3c8684(0x91)],_0x5a4eec);if(!_0x2f888d)continue;_0x5bf8e8['push']({'sqlCode':_0x2f888d[_0x3c8684(0x86)],'sqlName':_0x2f888d[_0x3c8684(0x95)],'dbDirectory':_0x36f574[0x0],'filePath':_0x4fb0be,'relativePath':_0x21a851,'lockKey':_0x2f888d['sqlCode'],'mode':_0x1dbb24});}}catch(_0x44ace6){if(_0x44ace6[_0x3c8684(0x8d)]!==_0x3c8684(0x88))throw _0x44ace6;}return _0x5bf8e8;}function a212_0x2ed5(){const _0x41986d=['sql','slice','length','.xml','code','mode','1284128PKeELh','2661pUVdmN','name','5594715pDKIWq','isDirectory','mybatisXml','sqlName','filter','532TIqyES','push','toLowerCase','39192048ojQrws','6152XnKrQi','10rmKnPH','dbId','1380LOAGPw','path','13545boVoDU','indexOf','sqlRootDir','1AdIQkc','17295267PmJYpl','8057LverXQ','dbName','sqlCode','replace','ENOENT'];a212_0x2ed5=function(){return _0x41986d;};return a212_0x2ed5();}export async function scanLocalSqlQueries(_0x586aa7){const _0x2f5e63=a212_0x105e;return scanSqlFilesRecursively(_0x586aa7[_0x2f5e63(0xa2)],_0x586aa7[_0x2f5e63(0xa2)]);}export function resolveLocalSqlFilePath(_0xbbbec1,_0x431515,_0x3f3fbc){const _0x4f9d3a=a212_0x105e,_0x2f545f=_0x3f3fbc?.[_0x4f9d3a(0x9f)]||(_0x3f3fbc?.[_0x4f9d3a(0x95)]||_0x3f3fbc?.[_0x4f9d3a(0x85)]?buildSqlRelativePath(_0x431515,_0x3f3fbc?.[_0x4f9d3a(0x95)],_0x3f3fbc?.[_0x4f9d3a(0x85)],_0x3f3fbc?.[_0x4f9d3a(0x8e)]||_0x4f9d3a(0x89),_0x3f3fbc?.[_0x4f9d3a(0x9d)]):buildDefaultSqlFileName(_0x431515,_0x3f3fbc?.[_0x4f9d3a(0x8e)]||_0x4f9d3a(0x89)));return join(_0xbbbec1['sqlRootDir'],_0x2f545f);}export async function directoryExists(_0x433480){const _0x262eb5=a212_0x105e;try{const _0x26a9b7=await stat(_0x433480);return _0x26a9b7[_0x262eb5(0x93)]();}catch{return![];}}function parseSqlPath(_0x22d676,_0x41f8c2,_0x28eb01){const _0x9c12a8=a212_0x105e,_0x4b47c5=_0x41f8c2['slice'](0x0,-_0x28eb01[_0x9c12a8(0x8b)]);if(_0x22d676[_0x9c12a8(0x8b)]<0x2)return null;const _0x22868a=_0x4b47c5[_0x9c12a8(0xa1)]('_');if(_0x22868a<=0x0||_0x22868a>=_0x4b47c5[_0x9c12a8(0x8b)]-0x1)return null;const _0x307250=_0x4b47c5['slice'](0x0,_0x22868a);if(!isLikelySqlCode(_0x307250))return null;return{'sqlCode':_0x307250,'sqlName':_0x4b47c5[_0x9c12a8(0x8a)](_0x22868a+0x1)};}function isLikelySqlCode(_0x7a3dba){return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/['test'](_0x7a3dba);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a213_0x815f(){const _0x767994=['11193457wgkTHj','1539423HnpskP','2LxsSxp','utf8','md5','6BcgnCE','261741vWfQOo','1465702Awfuby','createHash','hex','6450608wAEdco','12SGKPzG','10ZQssvc','1674080BTtIdh','274047YiQHje','update'];a213_0x815f=function(){return _0x767994;};return a213_0x815f();}(function(_0x206044,_0x557266){const _0x5d6f66=a213_0x3612,_0x1a2116=_0x206044();while(!![]){try{const _0x444b8c=-parseInt(_0x5d6f66(0x13d))/0x1*(-parseInt(_0x5d6f66(0x139))/0x2)+parseInt(_0x5d6f66(0x135))/0x3*(-parseInt(_0x5d6f66(0x132))/0x4)+-parseInt(_0x5d6f66(0x134))/0x5*(-parseInt(_0x5d6f66(0x13c))/0x6)+parseInt(_0x5d6f66(0x13e))/0x7+-parseInt(_0x5d6f66(0x131))/0x8+-parseInt(_0x5d6f66(0x138))/0x9+-parseInt(_0x5d6f66(0x133))/0xa*(-parseInt(_0x5d6f66(0x137))/0xb);if(_0x444b8c===_0x557266)break;else _0x1a2116['push'](_0x1a2116['shift']());}catch(_0x199ef8){_0x1a2116['push'](_0x1a2116['shift']());}}}(a213_0x815f,0x8bace));import{readFile}from'node:fs/promises';import a213_0x365859 from'node:crypto';export function computeSqlContentHash(_0x43824d){const _0x4054ee=a213_0x3612;return a213_0x365859[_0x4054ee(0x12f)](_0x4054ee(0x13b))[_0x4054ee(0x136)](_0x43824d)['digest'](_0x4054ee(0x130));}function a213_0x3612(_0x5e09e7,_0x1ebf11){_0x5e09e7=_0x5e09e7-0x12f;const _0x815fe=a213_0x815f();let _0x361268=_0x815fe[_0x5e09e7];return _0x361268;}export async function computeSqlFileHash(_0x2f277a){const _0x314b52=a213_0x3612,_0x184d03=await readFile(_0x2f277a,_0x314b52(0x13a));return computeSqlContentHash(_0x184d03);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3c2bfa,_0x4b930e){const _0x19cc25=a214_0x50fa,_0x4bd61c=_0x3c2bfa();while(!![]){try{const _0x383a91=parseInt(_0x19cc25(0x1df))/0x1*(parseInt(_0x19cc25(0x1da))/0x2)+parseInt(_0x19cc25(0x1e1))/0x3*(-parseInt(_0x19cc25(0x1d5))/0x4)+-parseInt(_0x19cc25(0x1e2))/0x5*(-parseInt(_0x19cc25(0x1e4))/0x6)+parseInt(_0x19cc25(0x1e5))/0x7+-parseInt(_0x19cc25(0x1d6))/0x8+-parseInt(_0x19cc25(0x1dc))/0x9*(-parseInt(_0x19cc25(0x1db))/0xa)+parseInt(_0x19cc25(0x1e3))/0xb;if(_0x383a91===_0x4b930e)break;else _0x4bd61c['push'](_0x4bd61c['shift']());}catch(_0x512717){_0x4bd61c['push'](_0x4bd61c['shift']());}}}(a214_0x2d49,0xca8a0));import{mkdir,readFile,writeFile}from'node:fs/promises';function a214_0x2d49(){const _0x3e7d7b=['4nITAHn','7943048jDCbem','sqls','parse','utf8','2OjncPW','540FyKLsi','64161fKRLFn','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','lastSync','253308czPMRM','stringify','2522553bczxts','895ehobdj','8754977azWSNd','3072kYLGje','7962521oIokFT','sqlRoot','ENOENT','apps'];a214_0x2d49=function(){return _0x3e7d7b;};return a214_0x2d49();}import{dirname}from'node:path';function a214_0x50fa(_0x53dd76,_0x318299){_0x53dd76=_0x53dd76-0x1d3;const _0x2d498f=a214_0x2d49();let _0x50fa0c=_0x2d498f[_0x53dd76];return _0x50fa0c;}export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x33c481,_0x2b6304,_0x1d8485,_0xc534c8){const _0x56c860=a214_0x50fa,_0x3c8d64=_0x33c481??createEmptySqlLock();let _0x196c16=_0x3c8d64[_0x56c860(0x1d4)][_0x2b6304];if(!_0x196c16)return _0x196c16={'sqlRoot':_0x1d8485,'lastSync':'','sqls':{}},_0x3c8d64[_0x56c860(0x1d4)][_0x2b6304]=_0x196c16,{'lockData':_0x3c8d64,'appLock':_0x196c16};if(!_0x196c16[_0x56c860(0x1e6)])_0x196c16['sqlRoot']=_0x1d8485;else{if(_0x196c16[_0x56c860(0x1e6)]!==_0x1d8485)throw new Error(_0xc534c8+':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22'+_0x1d8485+'\x22\x20vs\x20lock\x20\x22'+_0x196c16['sqlRoot']+'\x22.\x20'+_0x56c860(0x1dd));}return!_0x196c16[_0x56c860(0x1d7)]&&(_0x196c16['sqls']={}),!_0x196c16[_0x56c860(0x1de)]&&(_0x196c16[_0x56c860(0x1de)]=''),{'lockData':_0x3c8d64,'appLock':_0x196c16};}export async function readSqlLockFile(_0x559a29){const _0x201eb4=a214_0x50fa;try{const _0x3e73fe=await readFile(_0x559a29,_0x201eb4(0x1d9));return JSON[_0x201eb4(0x1d8)](_0x3e73fe);}catch(_0x5f8a24){if(_0x5f8a24['code']===_0x201eb4(0x1d3))return null;throw new Error('Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20'+String(_0x5f8a24));}}export async function writeSqlLockFile(_0x3c706b,_0x1ae747){const _0x2f36bc=a214_0x50fa;await mkdir(dirname(_0x3c706b),{'recursive':!![]}),await writeFile(_0x3c706b,JSON[_0x2f36bc(0x1e0)](_0x1ae747,null,0x2),'utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3271f6,_0x5c7d8a){const _0x4ae386=a216_0x24c2,_0x424855=_0x3271f6();while(!![]){try{const _0x1f20eb=-parseInt(_0x4ae386(0xb4))/0x1+-parseInt(_0x4ae386(0xbe))/0x2*(-parseInt(_0x4ae386(0xc5))/0x3)+parseInt(_0x4ae386(0xbf))/0x4*(parseInt(_0x4ae386(0xb8))/0x5)+parseInt(_0x4ae386(0xb3))/0x6+parseInt(_0x4ae386(0xb2))/0x7+-parseInt(_0x4ae386(0xc6))/0x8*(-parseInt(_0x4ae386(0xc3))/0x9)+-parseInt(_0x4ae386(0xc4))/0xa*(parseInt(_0x4ae386(0xc0))/0xb);if(_0x1f20eb===_0x5c7d8a)break;else _0x424855['push'](_0x424855['shift']());}catch(_0x1643d6){_0x424855['push'](_0x424855['shift']());}}}(a216_0x3eaa,0x2c995));export function detectSqlMode(_0x29f4fd){const _0x592f94=a216_0x24c2,_0x53f012=_0x29f4fd[_0x592f94(0xc2)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x53f012))return _0x592f94(0xbd);return _0x592f94(0xbc);}export function getSqlFileExtension(_0x5647f5){const _0x1fa7e8=a216_0x24c2;return _0x5647f5===_0x1fa7e8(0xbd)?_0x1fa7e8(0xc1):_0x1fa7e8(0xb5);}function a216_0x3eaa(){const _0x18b636=['169477GSpkaN','.xml','trimStart','10953ZFmwXE','320pSmtpn','8373ERCXUR','1424xHOfOD','1124942bZDFPi','516594XJBbzs','136154soVkFZ','.sql','replace','db-','15BxCxOF','unknown-db','unknown-sql','trim','sql','mybatisXml','2VCmsSQ','460844JndAFH'];a216_0x3eaa=function(){return _0x18b636;};return a216_0x3eaa();}function a216_0x24c2(_0x3d6624,_0x428c25){_0x3d6624=_0x3d6624-0xb2;const _0x3eaa37=a216_0x3eaa();let _0x24c2ac=_0x3eaa37[_0x3d6624];return _0x24c2ac;}export function buildDefaultSqlFileName(_0x14c0c9,_0x2c7eae){return''+_0x14c0c9+getSqlFileExtension(_0x2c7eae);}export function sanitizeSqlPathSegment(_0x578d83,_0x2138f3){const _0x406d86=a216_0x24c2,_0x27374d=String(_0x578d83??'')[_0x406d86(0xbb)](),_0x35b8be=_0x27374d[_0x406d86(0xb6)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x406d86(0xb6)](/\s+/g,'-')['replace'](/-+/g,'-')[_0x406d86(0xb6)](/^\.+/,'')[_0x406d86(0xb6)](/\.+$/,'')[_0x406d86(0xb6)](/^-+/,'')[_0x406d86(0xb6)](/-+$/,'');return _0x35b8be||_0x2138f3;}export function buildDbDirectoryName(_0x25f892,_0xe18f0){const _0x481f4c=a216_0x24c2;return sanitizeSqlPathSegment(_0x25f892,_0xe18f0!=null?_0x481f4c(0xb7)+_0xe18f0:_0x481f4c(0xb9));}export function buildSqlRelativePath(_0xfe63a8,_0x475798,_0x4769a8,_0x250a7a,_0x4e65b3){const _0xa21358=a216_0x24c2,_0x282a0f=buildDbDirectoryName(_0x4769a8,_0x4e65b3),_0x1c3743=sanitizeSqlPathSegment(_0xfe63a8,_0xa21358(0xba)),_0xe357e9=sanitizeSqlPathSegment(_0x475798,_0x1c3743);return _0x282a0f+'/'+_0x1c3743+'_'+_0xe357e9+getSqlFileExtension(_0x250a7a);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a216_0x430ff1=a216_0x2005;(function(_0x53e491,_0x1bdde2){const _0x17a3ca=a216_0x2005,_0x30a500=_0x53e491();while(!![]){try{const _0x1d826e=-parseInt(_0x17a3ca(0x1b1))/0x1*(-parseInt(_0x17a3ca(0x1a2))/0x2)+parseInt(_0x17a3ca(0x18f))/0x3*(parseInt(_0x17a3ca(0x1a9))/0x4)+-parseInt(_0x17a3ca(0x18d))/0x5*(-parseInt(_0x17a3ca(0x1c8))/0x6)+-parseInt(_0x17a3ca(0x1c5))/0x7*(-parseInt(_0x17a3ca(0x1e3))/0x8)+parseInt(_0x17a3ca(0x1ac))/0x9*(parseInt(_0x17a3ca(0x1d6))/0xa)+parseInt(_0x17a3ca(0x1e4))/0xb*(-parseInt(_0x17a3ca(0x1c0))/0xc)+-parseInt(_0x17a3ca(0x1bb))/0xd*(parseInt(_0x17a3ca(0x1ce))/0xe);if(_0x1d826e===_0x1bdde2)break;else _0x30a500['push'](_0x30a500['shift']());}catch(_0x58bfd1){_0x30a500['push'](_0x30a500['shift']());}}}(a216_0x5605,0xf4178));const MYBATIS_OUTER_TAGS=new Map([[a216_0x430ff1(0x1b0),a216_0x430ff1(0x1c6)],[a216_0x430ff1(0x19e),a216_0x430ff1(0x1a3)],[a216_0x430ff1(0x1b6),'UPDATE'],[a216_0x430ff1(0x1bf),a216_0x430ff1(0x1db)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a216_0x430ff1(0x1cc),'foreach',a216_0x430ff1(0x1a8),a216_0x430ff1(0x1e6),a216_0x430ff1(0x1e0),a216_0x430ff1(0x1ab),a216_0x430ff1(0x1e9),'bind',a216_0x430ff1(0x1a1),a216_0x430ff1(0x19d)]),MYBATIS_BRANCH_TAGS=new Set(['if',a216_0x430ff1(0x1be),'choose','when','otherwise']);export const MYBATIS_DYNAMIC_START_MARKER=a216_0x430ff1(0x1e1);export const MYBATIS_DYNAMIC_END_MARKER='__RABETBASE_MYBATIS_DYNAMIC_END__';export const MYBATIS_INCLUDE_MARKER=a216_0x430ff1(0x194);const UNRESOLVED_SQL_FRAGMENT=a216_0x430ff1(0x1cf),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a216_0x430ff1(0x197)+[...MYBATIS_OUTER_TAGS[a216_0x430ff1(0x18b)]()][a216_0x430ff1(0x1bc)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x36d991){const _0x39bab9=a216_0x430ff1,_0x4d1d6c=typeof _0x36d991===_0x39bab9(0x1dd)?_0x36d991:'';if(!startsWithMybatisStatementWrapper(_0x4d1d6c))return{'sql':_0x4d1d6c,'mode':'sql'};let _0x6da53f=0x0,_0x537fbf='',_0x1eb1c0,_0x26f81a=![],_0x464089=![];const _0x239b49=[];while(_0x6da53f<_0x4d1d6c[_0x39bab9(0x1d9)]){if(_0x4d1d6c[_0x39bab9(0x1e2)]('<!--',_0x6da53f)){const _0x266413=_0x4d1d6c[_0x39bab9(0x1cd)](_0x39bab9(0x192),_0x6da53f+0x4);if(_0x266413<0x0)return invalidMybatisSource(_0x39bab9(0x1d3));_0x537fbf+='\x20',_0x6da53f=_0x266413+0x3;continue;}if(_0x4d1d6c['startsWith'](_0x39bab9(0x196),_0x6da53f)){if(!_0x26f81a||_0x464089)return invalidMybatisSource('CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x2c24a1=_0x4d1d6c[_0x39bab9(0x1cd)](_0x39bab9(0x1af),_0x6da53f+0x9);if(_0x2c24a1<0x0)return invalidMybatisSource(_0x39bab9(0x1c2));_0x537fbf+=_0x4d1d6c[_0x39bab9(0x1c3)](_0x6da53f+0x9,_0x2c24a1),_0x6da53f=_0x2c24a1+0x3;continue;}if(_0x4d1d6c[_0x39bab9(0x1e2)]('<?',_0x6da53f)){if(_0x26f81a)return invalidMybatisSource(_0x39bab9(0x1b8));const _0x4ffd2e=_0x4d1d6c[_0x39bab9(0x1cd)]('?>',_0x6da53f+0x2);if(_0x4ffd2e<0x0)return invalidMybatisSource(_0x39bab9(0x1e8));_0x537fbf+='\x20',_0x6da53f=_0x4ffd2e+0x2;continue;}if(_0x4d1d6c[_0x6da53f]!=='<'){const _0x2b33da=_0x4d1d6c[_0x39bab9(0x1cd)]('<',_0x6da53f),_0x4db7fa=_0x2b33da<0x0?_0x4d1d6c['length']:_0x2b33da,_0xa9b3af=_0x4d1d6c['slice'](_0x6da53f,_0x4db7fa);if((!_0x26f81a||_0x464089)&&_0xa9b3af[_0x39bab9(0x1ab)]())return invalidMybatisSource(_0x39bab9(0x1df));if(_0x26f81a&&!_0x464089){const _0x871c4e=decodeXmlEntities(_0xa9b3af);if(_0x871c4e===null)return invalidMybatisSource(_0x39bab9(0x19b));_0x537fbf+=_0x871c4e;}else _0x537fbf+='\x20';_0x6da53f=_0x4db7fa;continue;}const _0x47c3b6=findXmlTagEnd(_0x4d1d6c,_0x6da53f);if(_0x47c3b6<0x0)return invalidMybatisSource('Unterminated\x20MyBatis\x20XML\x20tag.');const _0x2c744b=_0x4d1d6c['slice'](_0x6da53f,_0x47c3b6+0x1),_0x5ce22f=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/['exec'](_0x2c744b);if(!_0x5ce22f)return invalidMybatisSource(_0x39bab9(0x1ae));const _0x333b27=_0x5ce22f[0x1]==='/',_0x103fc6=_0x5ce22f[0x2]??'',_0x594ca0=_0x103fc6[_0x39bab9(0x1b5)](),_0x1466c4=_0x5ce22f[0x3]??'',_0x5eba90=_0x5ce22f[0x4]==='/',_0x17c941=MYBATIS_OUTER_TAGS['get'](_0x594ca0);if(!_0x17c941&&!MYBATIS_DYNAMIC_TAGS['has'](_0x594ca0))return invalidMybatisSource(_0x39bab9(0x188)+_0x594ca0+'>.');if(!_0x17c941&&_0x103fc6!==_0x594ca0)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<'+_0x103fc6+'>.');if(_0x333b27){if(_0x1466c4['trim']()||_0x5eba90)return invalidMybatisSource(_0x39bab9(0x1c4)+_0x103fc6+'>.');const _0x7e1f9a=_0x239b49['at'](-0x1);if(!_0x7e1f9a||(_0x7e1f9a['outer']?_0x7e1f9a[_0x39bab9(0x1d1)]!==_0x594ca0:_0x7e1f9a[_0x39bab9(0x1a5)]!==_0x103fc6))return invalidMybatisSource(_0x39bab9(0x19c)+_0x103fc6+'>.');_0x239b49['pop']();if(_0x7e1f9a['outer'])_0x464089=!![];_0x537fbf+=MYBATIS_BRANCH_TAGS[_0x39bab9(0x1ad)](_0x594ca0)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x1466c4))return invalidMybatisSource(_0x39bab9(0x18c)+_0x103fc6+'>.');if(_0x594ca0===_0x39bab9(0x19d)&&(!_0x5eba90||_0x239b49['at'](-0x1)?.[_0x39bab9(0x1d1)]!==_0x39bab9(0x1a1)))return invalidMybatisSource(_0x39bab9(0x1c7));if(_0x17c941){if(_0x26f81a||_0x239b49[_0x39bab9(0x1d9)]>0x0)return invalidMybatisSource(_0x39bab9(0x1d2));_0x26f81a=!![],_0x464089=_0x5eba90,_0x1eb1c0=_0x17c941;}else{if(!_0x26f81a||_0x464089)return invalidMybatisSource(_0x39bab9(0x1e5)+_0x103fc6+'>.');}_0x537fbf+=_0x594ca0==='where'?_0x39bab9(0x1bd):_0x594ca0===_0x39bab9(0x1e9)?_0x39bab9(0x1b4):_0x594ca0===_0x39bab9(0x1a1)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0x594ca0)&&!_0x5eba90?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x5eba90&&_0x239b49[_0x39bab9(0x1a7)]({'rawName':_0x103fc6,'tagName':_0x594ca0,'outer':!!_0x17c941});}_0x6da53f=_0x47c3b6+0x1;}if(_0x239b49[_0x39bab9(0x1d9)]>0x0)return invalidMybatisSource('Unclosed\x20MyBatis\x20XML\x20tag:\x20<'+_0x239b49['at'](-0x1)?.['rawName']+'>.');if(!_0x26f81a||!_0x464089)return invalidMybatisSource('MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.');return{'sql':_0x537fbf['trim'](),'mode':'mybatisXml',..._0x1eb1c0?{'statementType':_0x1eb1c0}:{}};}function hasWellFormedXmlAttributes(_0x392271){const _0x2c3c30=a216_0x430ff1;let _0x4229d7=0x0;const _0x4167ad=new Set();while(_0x4229d7<_0x392271[_0x2c3c30(0x1d9)]){while(_0x4229d7<_0x392271[_0x2c3c30(0x1d9)]&&/\s/[_0x2c3c30(0x193)](_0x392271[_0x4229d7]??''))_0x4229d7+=0x1;if(_0x4229d7>=_0x392271[_0x2c3c30(0x1d9)])return!![];const _0xb3b871=/^[A-Za-z_:][\w:.-]*/[_0x2c3c30(0x19f)](_0x392271[_0x2c3c30(0x1c3)](_0x4229d7)),_0x6c72e1=_0xb3b871?.[0x0];if(!_0x6c72e1||_0x4167ad[_0x2c3c30(0x1ad)](_0x6c72e1))return![];_0x4167ad[_0x2c3c30(0x1cb)](_0x6c72e1),_0x4229d7+=_0x6c72e1['length'];while(_0x4229d7<_0x392271[_0x2c3c30(0x1d9)]&&/\s/[_0x2c3c30(0x193)](_0x392271[_0x4229d7]??''))_0x4229d7+=0x1;if(_0x392271[_0x4229d7]!=='=')return![];_0x4229d7+=0x1;while(_0x4229d7<_0x392271[_0x2c3c30(0x1d9)]&&/\s/['test'](_0x392271[_0x4229d7]??''))_0x4229d7+=0x1;const _0x250c46=_0x392271[_0x4229d7];if(_0x250c46!=='\x22'&&_0x250c46!=='\x27')return![];_0x4229d7+=0x1;const _0xf8116e=_0x392271['indexOf'](_0x250c46,_0x4229d7);if(_0xf8116e<0x0)return![];if(decodeXmlEntities(_0x392271['slice'](_0x4229d7,_0xf8116e))===null)return![];_0x4229d7=_0xf8116e+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x53dcad){const _0x448d95=a216_0x430ff1;let _0x2bea1b=0x0;const _0x260d40=()=>{const _0x4f6806=a216_0x2005;while(_0x2bea1b<_0x53dcad[_0x4f6806(0x1d9)]&&/\s/[_0x4f6806(0x193)](_0x53dcad[_0x2bea1b]??''))_0x2bea1b+=0x1;};_0x260d40();while(_0x2bea1b<_0x53dcad[_0x448d95(0x1d9)]){if(_0x53dcad[_0x448d95(0x1e2)](_0x448d95(0x1d7),_0x2bea1b)){const _0x54bda5=_0x53dcad[_0x448d95(0x1cd)](_0x448d95(0x192),_0x2bea1b+0x4);if(_0x54bda5<0x0)return!![];_0x2bea1b=_0x54bda5+0x3,_0x260d40();continue;}if(_0x53dcad['startsWith']('<?',_0x2bea1b)){const _0x34a4db=_0x53dcad[_0x448d95(0x1cd)]('?>',_0x2bea1b+0x2);if(_0x34a4db<0x0)return!![];_0x2bea1b=_0x34a4db+0x2,_0x260d40();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x448d95(0x193)](_0x53dcad[_0x448d95(0x1c3)](_0x2bea1b));}function invalidMybatisSource(_0x9eb239){const _0x491cca=a216_0x430ff1;return{'sql':'','mode':_0x491cca(0x1b3),'error':_0x9eb239};}function findXmlTagEnd(_0x2fade8,_0x1b7253){const _0x44069e=a216_0x430ff1;let _0x1aa9b0;for(let _0x2e503f=_0x1b7253+0x1;_0x2e503f<_0x2fade8[_0x44069e(0x1d9)];_0x2e503f+=0x1){const _0x120f67=_0x2fade8[_0x2e503f];if(_0x1aa9b0){if(_0x120f67===_0x1aa9b0)_0x1aa9b0=undefined;continue;}if(_0x120f67==='\x22'||_0x120f67==='\x27'){_0x1aa9b0=_0x120f67;continue;}if(_0x120f67==='>')return _0x2e503f;}return-0x1;}function decodeXmlEntities(_0x1334e0){const _0x3e4142=a216_0x430ff1;let _0x56dad0=![];const _0x9571bb=_0x1334e0[_0x3e4142(0x1e7)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x2b5563=>{const _0x34ac50=_0x3e4142;if(_0x2b5563==='<')return'<';if(_0x2b5563===_0x34ac50(0x19a))return'>';if(_0x2b5563===_0x34ac50(0x1ca))return'\x22';if(_0x2b5563===_0x34ac50(0x1da))return'\x27';if(_0x2b5563===_0x34ac50(0x198))return'&';const _0x15b31d=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x34ac50(0x19f)](_0x2b5563);if(_0x15b31d){const _0x43560e=_0x15b31d[0x1],_0x2444ec=_0x15b31d[0x2],_0x44a677=Number[_0x34ac50(0x1aa)](_0x43560e??_0x2444ec??'',_0x43560e?0x10:0xa);if(isValidXmlCharacter(_0x44a677))return String[_0x34ac50(0x199)](_0x44a677);}return _0x56dad0=!![],'';});return _0x56dad0?null:_0x9571bb;}function a216_0x2005(_0xa23d07,_0x39486e){_0xa23d07=_0xa23d07-0x187;const _0x560515=a216_0x5605();let _0x2005f4=_0x560515[_0xa23d07];return _0x2005f4;}function isValidXmlCharacter(_0x55ecf6){return _0x55ecf6===0x9||_0x55ecf6===0xa||_0x55ecf6===0xd||_0x55ecf6>=0x20&&_0x55ecf6<=0xd7ff||_0x55ecf6>=0xe000&&_0x55ecf6<=0xfffd||_0x55ecf6>=0x10000&&_0x55ecf6<=0x10ffff;}export function detectSqlType(_0x482225){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x482225));}function detectNormalizedSqlType(_0x3d0ca7){const _0x7a3eff=a216_0x430ff1;if(_0x3d0ca7[_0x7a3eff(0x1dc)])return{'type':_0x7a3eff(0x1a6),'isSelectOnly':![],'isDangerous':![],'reason':_0x3d0ca7[_0x7a3eff(0x1dc)]};if(!_0x3d0ca7[_0x7a3eff(0x1de)][_0x7a3eff(0x1ab)]())return{'type':_0x7a3eff(0x1a6),'isSelectOnly':![],'isDangerous':![],'reason':_0x7a3eff(0x1c9)};const _0x4d8f82=stripStaticAnalysisMarkers(_0x3d0ca7[_0x7a3eff(0x1de)])[_0x7a3eff(0x1e7)](/#\{[^}]*\}/g,'?')[_0x7a3eff(0x1e7)](/\$\{[^}]*\}/g,'?')[_0x7a3eff(0x1e7)](/@[^(\s]+(\([^)]*\))?/g,'')['replace'](/\/\*[\s\S]*?\*\//g,'')[_0x7a3eff(0x1ab)](),_0x1476e9=_0x4d8f82[_0x7a3eff(0x195)]('\x0a');let _0x559b58='';for(const _0x376440 of _0x1476e9){const _0x233a40=_0x376440['trim']();if(!_0x233a40||_0x233a40[_0x7a3eff(0x1e2)]('--')||_0x233a40[_0x7a3eff(0x1e2)]('/*'))continue;_0x559b58=_0x233a40;break;}const _0x5cd22f=_0x559b58[_0x7a3eff(0x1a0)](),_0x4f86cc=_0x3d0ca7[_0x7a3eff(0x1d8)],_0x52b6e6=maskSqlTextForBlockedKeywordScan(_0x4d8f82),_0xe200b7=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x7a3eff(0x193)](_0x52b6e6);if(_0x4f86cc===_0x7a3eff(0x1c6)||!_0x4f86cc&&(_0x5cd22f[_0x7a3eff(0x1e2)]('SELECT')||_0x5cd22f[_0x7a3eff(0x1e2)]('WITH'))){const _0xf0b9d6=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i['test'](_0x4d8f82);return{'type':_0x7a3eff(0x1c6),'isSelectOnly':!_0xf0b9d6,'isDangerous':_0xf0b9d6,'reason':_0xf0b9d6?_0x7a3eff(0x189):undefined};}if(_0x4f86cc===_0x7a3eff(0x1a3)||!_0x4f86cc&&_0x5cd22f[_0x7a3eff(0x1e2)](_0x7a3eff(0x1a3)))return{'type':_0x7a3eff(0x1a3),'isSelectOnly':![],'isDangerous':_0xe200b7,'reason':_0xe200b7?'SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements':undefined};if(_0x4f86cc==='UPDATE'||!_0x4f86cc&&_0x5cd22f[_0x7a3eff(0x1e2)](_0x7a3eff(0x1a4)))return{'type':_0x7a3eff(0x1a4),'isSelectOnly':![],'isDangerous':_0xe200b7,'reason':_0xe200b7?_0x7a3eff(0x1d0):undefined};if(_0x4f86cc==='DELETE'||!_0x4f86cc&&_0x5cd22f[_0x7a3eff(0x1e2)]('DELETE'))return{'type':_0x7a3eff(0x1db),'isSelectOnly':![],'isDangerous':!![],'reason':_0x7a3eff(0x1ba)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x7a3eff(0x193)](_0x5cd22f))return{'type':_0x7a3eff(0x1b2),'isSelectOnly':![],'isDangerous':!![],'reason':'DDL\x20statements\x20are\x20blocked\x20from\x20auto-save'};return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x5a00dc){const _0x42952d=a216_0x430ff1;return _0x5a00dc[_0x42952d(0x18e)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x42952d(0x18e)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x44c26a){const _0x3e4383=a216_0x430ff1;return _0x44c26a[_0x3e4383(0x1e7)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x3e4383(0x1e7)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0x3e4383(0x1e7)](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x3e4383(0x1e7)](/--.*$/gm,'\x20')[_0x3e4383(0x1e7)](/#.*$/gm,'\x20')[_0x3e4383(0x1e7)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x15c8e8){const _0x3b5531=a216_0x430ff1,_0x40d823=_0x15c8e8[_0x3b5531(0x1e7)](/#\{[^}]*\}/g,'?')[_0x3b5531(0x1e7)](/\$\{[^}]*\}/g,'?')['replace'](/'[^']*'/g,'\x27\x27')[_0x3b5531(0x1e7)](/--.*$/gm,'')[_0x3b5531(0x1e7)](/\/\*[\s\S]*?\*\//g,''),_0x1a95c7=[],_0x3392ce=_0x40d823[_0x3b5531(0x18a)](/FROM\s+([^\s,)(]+)/i);addTable(_0x1a95c7,_0x3392ce?.[0x1]);for(const _0x5d13df of _0x40d823['matchAll'](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x1a95c7,_0x5d13df[0x1]);}const _0x134a90=_0x40d823[_0x3b5531(0x18a)](/INTO\s+([^\s(]+)/i);addTable(_0x1a95c7,_0x134a90?.[0x1]);const _0x368502=_0x40d823[_0x3b5531(0x18a)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x1a95c7,_0x368502?.[0x1]),_0x1a95c7;}function a216_0x5605(){const _0x38df3e=[']]>','select','1466167bzkeyq','DDL','mybatisXml','\x20SET\x20','toLowerCase','update','from','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','isDangerous','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','13nppHKo','join','\x20WHERE\x20','foreach','delete','12UlAPvS','unknown\x20table(s)','Unterminated\x20CDATA\x20section.','slice','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','3234pQxwqn','SELECT','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','18MxGPYd','SQL\x20content\x20is\x20empty','"','add','where','indexOf','49110796XFirKh','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','tagName','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','Unterminated\x20XML\x20comment.','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','reason','11058790dEBHLz','<!--','statementType','length',''','DELETE','error','string','sql','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','otherwise','__RABETBASE_MYBATIS_DYNAMIC_START__','startsWith','25976efztDQ','17521790VmtDJN','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','when','replace','Unterminated\x20XML\x20declaration.','set','\x20with\x20parameters:\x20','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','match','keys','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','1830535aUnQwx','replaceAll','2790369LBBFYl','type','\x20query\x20targeting\x20','-->','test','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','split','<![CDATA[','^<\x5cs*(?:','&','fromCodePoint','>','Invalid\x20XML\x20entity\x20reference.','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','property','insert','exec','toUpperCase','include','2UEWbkU','INSERT','UPDATE','rawName','UNKNOWN','push','choose','4epUCXL','parseInt','trim','9eQOXIp','has','Invalid\x20MyBatis\x20XML\x20tag.'];a216_0x5605=function(){return _0x38df3e;};return a216_0x5605();}function addTable(_0x33cd00,_0x570b8c){const _0x44efb2=a216_0x430ff1,_0x44f1f1=_0x570b8c?.[_0x44efb2(0x1e7)](/[`"]/g,'');_0x44f1f1&&_0x44f1f1!==UNRESOLVED_SQL_FRAGMENT&&!_0x33cd00['includes'](_0x44f1f1)&&_0x33cd00[_0x44efb2(0x1a7)](_0x44f1f1);}function extractParameters(_0x3c81c4){const _0x5f4e82=a216_0x430ff1,_0x4bcc41=new Set();for(const _0x3caecd of _0x3c81c4['matchAll'](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x3caecd[0x1])_0x4bcc41[_0x5f4e82(0x1cb)](_0x3caecd[0x1]);}return Array[_0x5f4e82(0x1b7)](_0x4bcc41);}export function validateSql(_0x285664){const _0x332847=a216_0x430ff1,_0x2d980f=normalizeSqlForStaticAnalysis(_0x285664),_0x400027=detectNormalizedSqlType(_0x2d980f),_0x4caefa=stripStaticAnalysisMarkers(_0x2d980f[_0x332847(0x1de)]),_0x7b4d0b=_0x2d980f[_0x332847(0x1dc)]?[]:extractTables(_0x4caefa),_0x45609e=_0x2d980f['error']?[]:extractParameters(_0x4caefa);if(_0x400027[_0x332847(0x1b9)])return{'valid':![],'sqlType':_0x400027,'tables':_0x7b4d0b,'parameters':_0x45609e,'message':_0x400027[_0x332847(0x1d5)]||_0x400027[_0x332847(0x190)]+_0x332847(0x187)};if(_0x400027[_0x332847(0x190)]===_0x332847(0x1a6))return{'valid':![],'sqlType':_0x400027,'tables':_0x7b4d0b,'parameters':_0x45609e,'message':_0x2d980f[_0x332847(0x1dc)]?'Unable\x20to\x20detect\x20SQL\x20type.\x20'+_0x2d980f[_0x332847(0x1dc)]:_0x332847(0x1d4)};return{'valid':!![],'sqlType':_0x400027,'tables':_0x7b4d0b,'parameters':_0x45609e,'message':_0x400027[_0x332847(0x190)]+_0x332847(0x191)+(_0x7b4d0b['length']?_0x7b4d0b['join'](',\x20'):_0x332847(0x1c1))+(_0x45609e[_0x332847(0x1d9)]?_0x332847(0x1ea)+_0x45609e[_0x332847(0x1bc)](',\x20'):'')};}
|
|
1
|
+
const a217_0x2bc9b0=a217_0x19e9;(function(_0x171cf2,_0x39686a){const _0x1a4da4=a217_0x19e9,_0x44b1a2=_0x171cf2();while(!![]){try{const _0x385f44=-parseInt(_0x1a4da4(0x176))/0x1+-parseInt(_0x1a4da4(0x1b4))/0x2+parseInt(_0x1a4da4(0x1d0))/0x3*(parseInt(_0x1a4da4(0x171))/0x4)+parseInt(_0x1a4da4(0x1c7))/0x5+parseInt(_0x1a4da4(0x1ca))/0x6*(parseInt(_0x1a4da4(0x174))/0x7)+-parseInt(_0x1a4da4(0x18a))/0x8+-parseInt(_0x1a4da4(0x1ac))/0x9*(-parseInt(_0x1a4da4(0x19d))/0xa);if(_0x385f44===_0x39686a)break;else _0x44b1a2['push'](_0x44b1a2['shift']());}catch(_0x19bd5d){_0x44b1a2['push'](_0x44b1a2['shift']());}}}(a217_0x455b,0x5fa7b));const MYBATIS_OUTER_TAGS=new Map([[a217_0x2bc9b0(0x1c1),a217_0x2bc9b0(0x1d2)],[a217_0x2bc9b0(0x1ad),'INSERT'],['update','UPDATE'],[a217_0x2bc9b0(0x199),a217_0x2bc9b0(0x1a8)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a217_0x2bc9b0(0x172),'foreach',a217_0x2bc9b0(0x1a6),a217_0x2bc9b0(0x198),a217_0x2bc9b0(0x1a9),a217_0x2bc9b0(0x181),a217_0x2bc9b0(0x1b5),a217_0x2bc9b0(0x19b),'include',a217_0x2bc9b0(0x1b6)]),MYBATIS_BRANCH_TAGS=new Set(['if',a217_0x2bc9b0(0x183),'choose','when',a217_0x2bc9b0(0x1a9)]);export const MYBATIS_DYNAMIC_START_MARKER=a217_0x2bc9b0(0x192);function a217_0x19e9(_0x474bf7,_0x4da529){_0x474bf7=_0x474bf7-0x170;const _0x455bc6=a217_0x455b();let _0x19e9c1=_0x455bc6[_0x474bf7];return _0x19e9c1;}export const MYBATIS_DYNAMIC_END_MARKER=a217_0x2bc9b0(0x180);export const MYBATIS_INCLUDE_MARKER=a217_0x2bc9b0(0x1a2);const UNRESOLVED_SQL_FRAGMENT=a217_0x2bc9b0(0x18e),MYBATIS_OUTER_TAG_PATTERN=new RegExp('^<\x5cs*(?:'+[...MYBATIS_OUTER_TAGS[a217_0x2bc9b0(0x1a4)]()][a217_0x2bc9b0(0x1b0)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x105aef){const _0xe125ba=a217_0x2bc9b0,_0x125378=typeof _0x105aef===_0xe125ba(0x1b7)?_0x105aef:'';if(!startsWithMybatisStatementWrapper(_0x125378))return{'sql':_0x125378,'mode':_0xe125ba(0x18c)};let _0x8df5c1=0x0,_0x48f475='',_0x2da68a,_0x2c2796=![],_0x269ac0=![];const _0x321788=[];while(_0x8df5c1<_0x125378[_0xe125ba(0x194)]){if(_0x125378['startsWith'](_0xe125ba(0x1c6),_0x8df5c1)){const _0x58eb32=_0x125378['indexOf'](_0xe125ba(0x1b9),_0x8df5c1+0x4);if(_0x58eb32<0x0)return invalidMybatisSource(_0xe125ba(0x1c5));_0x48f475+='\x20',_0x8df5c1=_0x58eb32+0x3;continue;}if(_0x125378[_0xe125ba(0x17e)](_0xe125ba(0x1be),_0x8df5c1)){if(!_0x2c2796||_0x269ac0)return invalidMybatisSource(_0xe125ba(0x175));const _0x31e2a0=_0x125378[_0xe125ba(0x17d)](']]>',_0x8df5c1+0x9);if(_0x31e2a0<0x0)return invalidMybatisSource(_0xe125ba(0x1bc));_0x48f475+=_0x125378[_0xe125ba(0x18b)](_0x8df5c1+0x9,_0x31e2a0),_0x8df5c1=_0x31e2a0+0x3;continue;}if(_0x125378[_0xe125ba(0x17e)]('<?',_0x8df5c1)){if(_0x2c2796)return invalidMybatisSource(_0xe125ba(0x182));const _0x4011ec=_0x125378['indexOf']('?>',_0x8df5c1+0x2);if(_0x4011ec<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x48f475+='\x20',_0x8df5c1=_0x4011ec+0x2;continue;}if(_0x125378[_0x8df5c1]!=='<'){const _0x2a0d53=_0x125378[_0xe125ba(0x17d)]('<',_0x8df5c1),_0x17daa7=_0x2a0d53<0x0?_0x125378[_0xe125ba(0x194)]:_0x2a0d53,_0x55f6e7=_0x125378[_0xe125ba(0x18b)](_0x8df5c1,_0x17daa7);if((!_0x2c2796||_0x269ac0)&&_0x55f6e7['trim']())return invalidMybatisSource(_0xe125ba(0x188));if(_0x2c2796&&!_0x269ac0){const _0x5de6a4=decodeXmlEntities(_0x55f6e7);if(_0x5de6a4===null)return invalidMybatisSource(_0xe125ba(0x186));_0x48f475+=_0x5de6a4;}else _0x48f475+='\x20';_0x8df5c1=_0x17daa7;continue;}const _0x26c1a9=findXmlTagEnd(_0x125378,_0x8df5c1);if(_0x26c1a9<0x0)return invalidMybatisSource(_0xe125ba(0x17a));const _0x5773ed=_0x125378[_0xe125ba(0x18b)](_0x8df5c1,_0x26c1a9+0x1),_0x50d7b9=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0xe125ba(0x1b3)](_0x5773ed);if(!_0x50d7b9)return invalidMybatisSource(_0xe125ba(0x1a0));const _0x3732db=_0x50d7b9[0x1]==='/',_0x3ccd4b=_0x50d7b9[0x2]??'',_0x100e4f=_0x3ccd4b[_0xe125ba(0x1ae)](),_0x5c145f=_0x50d7b9[0x3]??'',_0x2c424e=_0x50d7b9[0x4]==='/',_0x3ee401=MYBATIS_OUTER_TAGS[_0xe125ba(0x170)](_0x100e4f);if(!_0x3ee401&&!MYBATIS_DYNAMIC_TAGS[_0xe125ba(0x1c9)](_0x100e4f))return invalidMybatisSource(_0xe125ba(0x17f)+_0x100e4f+'>.');if(!_0x3ee401&&_0x3ccd4b!==_0x100e4f)return invalidMybatisSource(_0xe125ba(0x1ce)+_0x3ccd4b+'>.');if(_0x3732db){if(_0x5c145f[_0xe125ba(0x181)]()||_0x2c424e)return invalidMybatisSource(_0xe125ba(0x19a)+_0x3ccd4b+'>.');const _0x3623a2=_0x321788['at'](-0x1);if(!_0x3623a2||(_0x3623a2[_0xe125ba(0x18f)]?_0x3623a2[_0xe125ba(0x195)]!==_0x100e4f:_0x3623a2['rawName']!==_0x3ccd4b))return invalidMybatisSource(_0xe125ba(0x1b2)+_0x3ccd4b+'>.');_0x321788[_0xe125ba(0x191)]();if(_0x3623a2[_0xe125ba(0x18f)])_0x269ac0=!![];_0x48f475+=MYBATIS_BRANCH_TAGS['has'](_0x100e4f)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x5c145f))return invalidMybatisSource(_0xe125ba(0x1ba)+_0x3ccd4b+'>.');if(_0x100e4f===_0xe125ba(0x1b6)&&(!_0x2c424e||_0x321788['at'](-0x1)?.[_0xe125ba(0x195)]!==_0xe125ba(0x1a3)))return invalidMybatisSource(_0xe125ba(0x1cc));if(_0x3ee401){if(_0x2c2796||_0x321788[_0xe125ba(0x194)]>0x0)return invalidMybatisSource(_0xe125ba(0x1bb));_0x2c2796=!![],_0x269ac0=_0x2c424e,_0x2da68a=_0x3ee401;}else{if(!_0x2c2796||_0x269ac0)return invalidMybatisSource(_0xe125ba(0x19f)+_0x3ccd4b+'>.');}_0x48f475+=_0x100e4f===_0xe125ba(0x172)?_0xe125ba(0x1ab):_0x100e4f===_0xe125ba(0x1b5)?_0xe125ba(0x1bf):_0x100e4f===_0xe125ba(0x1a3)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0xe125ba(0x1c9)](_0x100e4f)&&!_0x2c424e?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x2c424e&&_0x321788[_0xe125ba(0x1b8)]({'rawName':_0x3ccd4b,'tagName':_0x100e4f,'outer':!!_0x3ee401});}_0x8df5c1=_0x26c1a9+0x1;}if(_0x321788[_0xe125ba(0x194)]>0x0)return invalidMybatisSource('Unclosed\x20MyBatis\x20XML\x20tag:\x20<'+_0x321788['at'](-0x1)?.[_0xe125ba(0x197)]+'>.');if(!_0x2c2796||!_0x269ac0)return invalidMybatisSource(_0xe125ba(0x1d1));return{'sql':_0x48f475[_0xe125ba(0x181)](),'mode':_0xe125ba(0x1a7),..._0x2da68a?{'statementType':_0x2da68a}:{}};}function hasWellFormedXmlAttributes(_0x355bf6){const _0x12dadf=a217_0x2bc9b0;let _0x38de17=0x0;const _0x3a994e=new Set();while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]){while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;if(_0x38de17>=_0x355bf6['length'])return!![];const _0x2ad1c6=/^[A-Za-z_:][\w:.-]*/[_0x12dadf(0x1b3)](_0x355bf6[_0x12dadf(0x18b)](_0x38de17)),_0x3ea5f1=_0x2ad1c6?.[0x0];if(!_0x3ea5f1||_0x3a994e[_0x12dadf(0x1c9)](_0x3ea5f1))return![];_0x3a994e['add'](_0x3ea5f1),_0x38de17+=_0x3ea5f1[_0x12dadf(0x194)];while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;if(_0x355bf6[_0x38de17]!=='=')return![];_0x38de17+=0x1;while(_0x38de17<_0x355bf6['length']&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;const _0x36accc=_0x355bf6[_0x38de17];if(_0x36accc!=='\x22'&&_0x36accc!=='\x27')return![];_0x38de17+=0x1;const _0xafa9a7=_0x355bf6[_0x12dadf(0x17d)](_0x36accc,_0x38de17);if(_0xafa9a7<0x0)return![];if(decodeXmlEntities(_0x355bf6['slice'](_0x38de17,_0xafa9a7))===null)return![];_0x38de17=_0xafa9a7+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x3ff553){const _0x129f5a=a217_0x2bc9b0;let _0x5a6555=0x0;const _0x59e397=()=>{const _0x512c15=a217_0x19e9;while(_0x5a6555<_0x3ff553['length']&&/\s/[_0x512c15(0x1cb)](_0x3ff553[_0x5a6555]??''))_0x5a6555+=0x1;};_0x59e397();while(_0x5a6555<_0x3ff553[_0x129f5a(0x194)]){if(_0x3ff553[_0x129f5a(0x17e)](_0x129f5a(0x1c6),_0x5a6555)){const _0x481a3f=_0x3ff553[_0x129f5a(0x17d)](_0x129f5a(0x1b9),_0x5a6555+0x4);if(_0x481a3f<0x0)return!![];_0x5a6555=_0x481a3f+0x3,_0x59e397();continue;}if(_0x3ff553[_0x129f5a(0x17e)]('<?',_0x5a6555)){const _0x521dbf=_0x3ff553[_0x129f5a(0x17d)]('?>',_0x5a6555+0x2);if(_0x521dbf<0x0)return!![];_0x5a6555=_0x521dbf+0x2,_0x59e397();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x129f5a(0x1cb)](_0x3ff553['slice'](_0x5a6555));}function invalidMybatisSource(_0x1b7e23){const _0x837a80=a217_0x2bc9b0;return{'sql':'','mode':_0x837a80(0x1a7),'error':_0x1b7e23};}function findXmlTagEnd(_0x26125a,_0x4a13c7){const _0x285642=a217_0x2bc9b0;let _0x5174ca;for(let _0x5a9c25=_0x4a13c7+0x1;_0x5a9c25<_0x26125a[_0x285642(0x194)];_0x5a9c25+=0x1){const _0x5c4909=_0x26125a[_0x5a9c25];if(_0x5174ca){if(_0x5c4909===_0x5174ca)_0x5174ca=undefined;continue;}if(_0x5c4909==='\x22'||_0x5c4909==='\x27'){_0x5174ca=_0x5c4909;continue;}if(_0x5c4909==='>')return _0x5a9c25;}return-0x1;}function decodeXmlEntities(_0x54edee){const _0x332a3d=a217_0x2bc9b0;let _0x418b60=![];const _0x3be9b8=_0x54edee[_0x332a3d(0x17b)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x3b8d72=>{const _0x1c92c9=_0x332a3d;if(_0x3b8d72==='<')return'<';if(_0x3b8d72===_0x1c92c9(0x1cd))return'>';if(_0x3b8d72===_0x1c92c9(0x187))return'\x22';if(_0x3b8d72===_0x1c92c9(0x1c8))return'\x27';if(_0x3b8d72===_0x1c92c9(0x196))return'&';const _0x25e983=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x1c92c9(0x1b3)](_0x3b8d72);if(_0x25e983){const _0x5a45f8=_0x25e983[0x1],_0x2e5405=_0x25e983[0x2],_0x40dded=Number['parseInt'](_0x5a45f8??_0x2e5405??'',_0x5a45f8?0x10:0xa);if(isValidXmlCharacter(_0x40dded))return String['fromCodePoint'](_0x40dded);}return _0x418b60=!![],'';});return _0x418b60?null:_0x3be9b8;}function isValidXmlCharacter(_0x122a93){return _0x122a93===0x9||_0x122a93===0xa||_0x122a93===0xd||_0x122a93>=0x20&&_0x122a93<=0xd7ff||_0x122a93>=0xe000&&_0x122a93<=0xfffd||_0x122a93>=0x10000&&_0x122a93<=0x10ffff;}export function detectSqlType(_0x1a97a7){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x1a97a7));}function detectNormalizedSqlType(_0x2e3a4d){const _0x111bdd=a217_0x2bc9b0;if(_0x2e3a4d[_0x111bdd(0x1b1)])return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![],'reason':_0x2e3a4d[_0x111bdd(0x1b1)]};if(!_0x2e3a4d['sql'][_0x111bdd(0x181)]())return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![],'reason':_0x111bdd(0x1bd)};const _0x4baabd=stripStaticAnalysisMarkers(_0x2e3a4d[_0x111bdd(0x18c)])[_0x111bdd(0x17b)](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')[_0x111bdd(0x17b)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x111bdd(0x17b)](/\/\*[\s\S]*?\*\//g,'')[_0x111bdd(0x181)](),_0x3791e3=_0x4baabd[_0x111bdd(0x177)]('\x0a');let _0x4c8d14='';for(const _0x24f572 of _0x3791e3){const _0x1a2899=_0x24f572['trim']();if(!_0x1a2899||_0x1a2899[_0x111bdd(0x17e)]('--')||_0x1a2899[_0x111bdd(0x17e)]('/*'))continue;_0x4c8d14=_0x1a2899;break;}const _0x5c588e=_0x4c8d14[_0x111bdd(0x1af)](),_0x1f69dc=_0x2e3a4d[_0x111bdd(0x178)],_0x22de64=maskSqlTextForBlockedKeywordScan(_0x4baabd),_0x3c389f=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x111bdd(0x1cb)](_0x22de64);if(_0x1f69dc===_0x111bdd(0x1d2)||!_0x1f69dc&&(_0x5c588e[_0x111bdd(0x17e)](_0x111bdd(0x1d2))||_0x5c588e[_0x111bdd(0x17e)]('WITH'))){const _0x128bde=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i['test'](_0x4baabd);return{'type':'SELECT','isSelectOnly':!_0x128bde,'isDangerous':_0x128bde,'reason':_0x128bde?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0x1f69dc===_0x111bdd(0x193)||!_0x1f69dc&&_0x5c588e[_0x111bdd(0x17e)]('INSERT'))return{'type':_0x111bdd(0x193),'isSelectOnly':![],'isDangerous':_0x3c389f,'reason':_0x3c389f?_0x111bdd(0x1c4):undefined};if(_0x1f69dc===_0x111bdd(0x173)||!_0x1f69dc&&_0x5c588e[_0x111bdd(0x17e)]('UPDATE'))return{'type':'UPDATE','isSelectOnly':![],'isDangerous':_0x3c389f,'reason':_0x3c389f?_0x111bdd(0x1c4):undefined};if(_0x1f69dc===_0x111bdd(0x1a8)||!_0x1f69dc&&_0x5c588e['startsWith']('DELETE'))return{'type':_0x111bdd(0x1a8),'isSelectOnly':![],'isDangerous':!![],'reason':_0x111bdd(0x185)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i['test'](_0x5c588e))return{'type':'DDL','isSelectOnly':![],'isDangerous':!![],'reason':'DDL\x20statements\x20are\x20blocked\x20from\x20auto-save'};return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x378b8d){const _0x1313c3=a217_0x2bc9b0;return _0x378b8d['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x1313c3(0x18d)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x1313c3(0x18d)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x3e17fd){const _0x4ed058=a217_0x2bc9b0;return _0x3e17fd[_0x4ed058(0x17b)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x4ed058(0x17b)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0x4ed058(0x17b)](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x4ed058(0x17b)](/--.*$/gm,'\x20')['replace'](/#.*$/gm,'\x20')[_0x4ed058(0x17b)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x461d89){const _0x12d5d8=a217_0x2bc9b0,_0x46dcb4=_0x461d89[_0x12d5d8(0x17b)](/#\{[^}]*\}/g,'?')[_0x12d5d8(0x17b)](/\$\{[^}]*\}/g,'?')['replace'](/'[^']*'/g,'\x27\x27')[_0x12d5d8(0x17b)](/--.*$/gm,'')[_0x12d5d8(0x17b)](/\/\*[\s\S]*?\*\//g,''),_0x481a6b=[],_0x58300a=_0x46dcb4[_0x12d5d8(0x1aa)](/FROM\s+([^\s,)(]+)/i);addTable(_0x481a6b,_0x58300a?.[0x1]);for(const _0x3ba89c of _0x46dcb4[_0x12d5d8(0x184)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x481a6b,_0x3ba89c[0x1]);}const _0x507b86=_0x46dcb4[_0x12d5d8(0x1aa)](/INTO\s+([^\s(]+)/i);addTable(_0x481a6b,_0x507b86?.[0x1]);const _0x24ca1a=_0x46dcb4[_0x12d5d8(0x1aa)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x481a6b,_0x24ca1a?.[0x1]),_0x481a6b;}function a217_0x455b(){const _0x409e41=['isDangerous','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','Unterminated\x20XML\x20comment.','<!--','2728050urKUdu',''','has','158694jYbFgF','test','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','>','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','reason','39onkBuc','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','SELECT','get','123884xhwEMl','where','UPDATE','161sOPYdn','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','521901axHFfK','split','statementType','add','Unterminated\x20MyBatis\x20XML\x20tag.','replace','UNKNOWN','indexOf','startsWith','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','__RABETBASE_MYBATIS_DYNAMIC_END__','trim','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','foreach','matchAll','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','Invalid\x20XML\x20entity\x20reference.','"','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','type','5345688VdzWTp','slice','sql','replaceAll','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','outer','\x20query\x20targeting\x20','pop','__RABETBASE_MYBATIS_DYNAMIC_START__','INSERT','length','tagName','&','rawName','when','delete','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','bind','\x20with\x20parameters:\x20','520roSDwj','includes','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','Invalid\x20MyBatis\x20XML\x20tag.','Unable\x20to\x20detect\x20SQL\x20type.\x20','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','include','keys','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','choose','mybatisXml','DELETE','otherwise','match','\x20WHERE\x20','21051idFweF','insert','toLowerCase','toUpperCase','join','error','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','exec','192546uEsLuQ','set','property','string','push','-->','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','Unterminated\x20CDATA\x20section.','SQL\x20content\x20is\x20empty','<![CDATA[','\x20SET\x20','from','select','unknown\x20table(s)'];a217_0x455b=function(){return _0x409e41;};return a217_0x455b();}function addTable(_0x5e4c48,_0x1a63a2){const _0xaab3e5=a217_0x2bc9b0,_0x138eaa=_0x1a63a2?.['replace'](/[`"]/g,'');_0x138eaa&&_0x138eaa!==UNRESOLVED_SQL_FRAGMENT&&!_0x5e4c48[_0xaab3e5(0x19e)](_0x138eaa)&&_0x5e4c48[_0xaab3e5(0x1b8)](_0x138eaa);}function extractParameters(_0x455944){const _0x5fe66a=a217_0x2bc9b0,_0x232d7e=new Set();for(const _0x4ba4a3 of _0x455944['matchAll'](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x4ba4a3[0x1])_0x232d7e[_0x5fe66a(0x179)](_0x4ba4a3[0x1]);}return Array[_0x5fe66a(0x1c0)](_0x232d7e);}export function validateSql(_0xf016eb){const _0x58739c=a217_0x2bc9b0,_0x8db0ed=normalizeSqlForStaticAnalysis(_0xf016eb),_0xa702fb=detectNormalizedSqlType(_0x8db0ed),_0x43613d=stripStaticAnalysisMarkers(_0x8db0ed[_0x58739c(0x18c)]),_0x5c6faf=_0x8db0ed[_0x58739c(0x1b1)]?[]:extractTables(_0x43613d),_0x32be0c=_0x8db0ed[_0x58739c(0x1b1)]?[]:extractParameters(_0x43613d);if(_0xa702fb[_0x58739c(0x1c3)])return{'valid':![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0xa702fb[_0x58739c(0x1cf)]||_0xa702fb[_0x58739c(0x189)]+_0x58739c(0x1a5)};if(_0xa702fb['type']==='UNKNOWN')return{'valid':![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0x8db0ed['error']?_0x58739c(0x1a1)+_0x8db0ed[_0x58739c(0x1b1)]:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0xa702fb[_0x58739c(0x189)]+_0x58739c(0x190)+(_0x5c6faf[_0x58739c(0x194)]?_0x5c6faf[_0x58739c(0x1b0)](',\x20'):_0x58739c(0x1c2))+(_0x32be0c[_0x58739c(0x194)]?_0x58739c(0x19c)+_0x32be0c[_0x58739c(0x1b0)](',\x20'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a218_0x2a31e7=a218_0x4c5e;(function(_0x3c1557,_0x328a43){const _0x563fd0=a218_0x4c5e,_0x5624ee=_0x3c1557();while(!![]){try{const _0xe3fff3=parseInt(_0x563fd0(0xbe))/0x1+parseInt(_0x563fd0(0xba))/0x2*(parseInt(_0x563fd0(0xb8))/0x3)+parseInt(_0x563fd0(0xb7))/0x4+parseInt(_0x563fd0(0xb6))/0x5*(parseInt(_0x563fd0(0xb9))/0x6)+-parseInt(_0x563fd0(0xbd))/0x7+-parseInt(_0x563fd0(0xc1))/0x8+-parseInt(_0x563fd0(0xbb))/0x9*(-parseInt(_0x563fd0(0xbf))/0xa);if(_0xe3fff3===_0x328a43)break;else _0x5624ee['push'](_0x5624ee['shift']());}catch(_0x693fdb){_0x5624ee['push'](_0x5624ee['shift']());}}}(a218_0xe65a,0x20959));import{CliError,createCliErrors}from'@lovrabet/cli-framework';function a218_0xe65a(){const _0x39958d=['18ZJNtCa','Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.','1676115BEyfAc','29684xAFGmf','72290dBklbI','\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.','1578640DKGfiZ','Tip:\x20`','10055gyYXmH','930044wOUuPn','24714sRxBrH','114UAgoWP','62hBKwrY'];a218_0xe65a=function(){return _0x39958d;};return a218_0xe65a();}function a218_0x4c5e(_0xd85a5e,_0x593509){_0xd85a5e=_0xd85a5e-0xb5;const _0xe65ac5=a218_0xe65a();let _0x4c5eb1=_0xe65ac5[_0xd85a5e];return _0x4c5eb1;}import{CLI_BIN_NAME}from'./constant/cli.js';export{CliError};export const CliErrors=createCliErrors({'cliBinName':CLI_BIN_NAME,'authRequiredHint':'Run\x20`'+CLI_BIN_NAME+'\x20auth`\x20to\x20login\x20first.','configMissingHint':['Set\x20appcode\x20via\x20`'+CLI_BIN_NAME+a218_0x2a31e7(0xc0),a218_0x2a31e7(0xb5)+CLI_BIN_NAME+'\x20init\x20--appcode\x20<code>\x20--global`\x20registers\x20globally\x20so\x20you\x20can\x20use\x20it\x20from\x20anywhere.']['join']('\x0a\x20\x20\x20\x20\x20\x20\x20'),'notInProjectHint':a218_0x2a31e7(0xbc)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x238359,_0x1b8add){const _0x5210b5=a219_0x2231,_0xf41522=_0x238359();while(!![]){try{const _0x6acebb=-parseInt(_0x5210b5(0xf2))/0x1+parseInt(_0x5210b5(0xe8))/0x2*(-parseInt(_0x5210b5(0xe9))/0x3)+-parseInt(_0x5210b5(0xed))/0x4*(parseInt(_0x5210b5(0xeb))/0x5)+parseInt(_0x5210b5(0xee))/0x6+parseInt(_0x5210b5(0xef))/0x7+parseInt(_0x5210b5(0xec))/0x8+-parseInt(_0x5210b5(0xf1))/0x9;if(_0x6acebb===_0x1b8add)break;else _0xf41522['push'](_0xf41522['shift']());}catch(_0x15d142){_0xf41522['push'](_0xf41522['shift']());}}}(a219_0x4b09,0xd788e));import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';function a219_0x4b09(){const _0x74eb16=['1610946zDGWGr','yes','15DvsZtw','7060000VkVhwj','154092GTWMdj','2004204EkeUkh','12254060qrBzPR','map','845721duqZjT','800782jeHGFQ','4AZQEfD'];a219_0x4b09=function(){return _0x74eb16;};return a219_0x4b09();}import{buildAllFlags as a219_0x258538}from'@lovrabet/cli-framework';function a219_0x2231(_0x3fc8b5,_0x356b63){_0x3fc8b5=_0x3fc8b5-0xe8;const _0x4b0954=a219_0x4b09();let _0x223135=_0x4b0954[_0x3fc8b5];return _0x223135;}import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';export function buildAllFlags(_0x411281){const _0xfcbbc6=a219_0x2231,_0x137c52=a219_0x258538(_0x411281,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x411281))return _0x137c52;return _0x137c52[_0xfcbbc6(0xf0)](_0x777a47=>_0x777a47['name']===_0xfcbbc6(0xea)?{..._0x777a47,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x777a47);}
|