@lovrabet/rabetbase-cli 2.3.13-beta.2 → 2.3.13-beta.3
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_0x1f2925=a200_0x4b0c;(function(_0xf73af3,_0x265e39){const _0x14547d=a200_0x4b0c,_0x133522=_0xf73af3();while(!![]){try{const _0x27ad04=-parseInt(_0x14547d(0x111))/0x1+parseInt(_0x14547d(0x120))/0x2+-parseInt(_0x14547d(0x11c))/0x3*(parseInt(_0x14547d(0x12c))/0x4)+parseInt(_0x14547d(0x11f))/0x5*(-parseInt(_0x14547d(0x11d))/0x6)+-parseInt(_0x14547d(0x12b))/0x7*(-parseInt(_0x14547d(0x118))/0x8)+-parseInt(_0x14547d(0x108))/0x9*(-parseInt(_0x14547d(0x117))/0xa)+-parseInt(_0x14547d(0x123))/0xb*(-parseInt(_0x14547d(0x121))/0xc);if(_0x27ad04===_0x265e39)break;else _0x133522['push'](_0x133522['shift']());}catch(_0x5dc445){_0x133522['push'](_0x133522['shift']());}}}(a200_0x1621,0x4ea6a));import{access,mkdir,readdir,stat}from'node:fs/promises';import{constants}from'node:fs';function a200_0x4b0c(_0x35648e,_0x647cec){_0x35648e=_0x35648e-0x105;const _0x1621e1=a200_0x1621();let _0x4b0c02=_0x1621e1[_0x35648e];return _0x4b0c02;}import{dirname,join}from'node:path';import{findHookLocationByRemoteId,snakeToCamel}from'../../core/bff/utils.js';export const SUPPORTED_BFF_TYPES=['COMMON',a200_0x1f2925(0x10a),a200_0x1f2925(0x113)];export function normalizeBffType(_0x4a1ee2){const _0x46e7e1=a200_0x1f2925;if(!_0x4a1ee2)return undefined;const _0x209bd7=_0x4a1ee2[_0x46e7e1(0x10f)]()[_0x46e7e1(0x110)]();return SUPPORTED_BFF_TYPES['includes'](_0x209bd7)?_0x209bd7:undefined;}async function scanJsFilesRecursively(_0x2c1dff,_0x26cbf1){const _0xeb2e44=a200_0x1f2925,_0x248322=[];try{const _0x352168=await readdir(_0x2c1dff,{'withFileTypes':!![]});for(const _0x3ca3fe of _0x352168){const _0x18014d=join(_0x2c1dff,_0x3ca3fe['name']);if(_0x3ca3fe[_0xeb2e44(0x105)]())_0x248322['push'](...await scanJsFilesRecursively(_0x18014d,_0x26cbf1+'/'+_0x3ca3fe[_0xeb2e44(0x125)]));else _0x3ca3fe[_0xeb2e44(0x129)]()&&_0x3ca3fe['name'][_0xeb2e44(0x127)](_0xeb2e44(0x106))&&_0x248322['push']({'lockKey':_0x26cbf1+'/'+_0x3ca3fe[_0xeb2e44(0x125)][_0xeb2e44(0x12e)](/\.js$/,''),'filePath':_0x18014d});}}catch(_0x231665){if(_0x231665[_0xeb2e44(0x10c)]!==_0xeb2e44(0x128))throw _0x231665;}return _0x248322;}async function scanFlatFunctions(_0x5a0185,_0x41d4d6){const _0x3b633c=a200_0x1f2925,_0x585a6c=join(_0x5a0185[_0x3b633c(0x11a)],_0x41d4d6),_0x1618ee=await scanJsFilesRecursively(_0x585a6c,_0x41d4d6);return _0x1618ee['map'](({lockKey:_0x2eed62,filePath:_0x50ae2b})=>({'type':_0x41d4d6,'name':_0x2eed62[_0x3b633c(0x126)]('/')['at'](-0x1)??'','filePath':_0x50ae2b,'lockKey':_0x2eed62}));}async function scanHookFunctions(_0x3dfefb){const _0x388999=a200_0x1f2925,_0x2271f6=join(_0x3dfefb[_0x388999(0x11a)],'HOOK'),_0x42725f=[];try{const _0x459a85=await readdir(_0x2271f6,{'withFileTypes':!![]});for(const _0x36c12d of _0x459a85){if(!_0x36c12d['isDirectory']())continue;const _0x266225=_0x36c12d[_0x388999(0x125)],_0x4455b6=join(_0x2271f6,_0x266225),_0x193430=await readdir(_0x4455b6,{'withFileTypes':!![]});for(const _0x46d895 of _0x193430){if(!_0x46d895[_0x388999(0x105)]())continue;const _0x398a09=_0x46d895[_0x388999(0x125)],_0x2f6535=join(_0x4455b6,_0x398a09),_0x508aea=await readdir(_0x2f6535,{'withFileTypes':!![]});for(const _0x25e49e of _0x508aea){if(!_0x25e49e[_0x388999(0x105)]())continue;const _0x3bfe1b=_0x25e49e[_0x388999(0x125)],_0x391fdc=join(_0x2f6535,_0x3bfe1b),_0x10657b=await readdir(_0x391fdc,{'withFileTypes':!![]});for(const _0x209a6e of _0x10657b){if(!_0x209a6e[_0x388999(0x129)]()||!_0x209a6e[_0x388999(0x125)]['endsWith'](_0x388999(0x106)))continue;const _0x194445=_0x209a6e['name'][_0x388999(0x12e)](/\.js$/,'');_0x42725f[_0x388999(0x11e)]({'type':_0x388999(0x113),'name':_0x194445,'filePath':join(_0x391fdc,_0x209a6e['name']),'lockKey':_0x388999(0x109)+_0x266225+'/'+_0x398a09+'/'+_0x3bfe1b+'/'+_0x194445,'alias':_0x266225,'operationType':_0x398a09,'functionNode':_0x3bfe1b});}}}}}catch(_0x14545b){if(_0x14545b['code']!==_0x388999(0x128))throw _0x14545b;}return _0x42725f;}export async function scanLocalBffFunctions(_0x2e2ee5,_0x251d2b){const _0x273c96=a200_0x1f2925;if(_0x251d2b===_0x273c96(0x116)||_0x251d2b===_0x273c96(0x10a))return scanFlatFunctions(_0x2e2ee5,_0x251d2b);if(_0x251d2b===_0x273c96(0x113))return scanHookFunctions(_0x2e2ee5);const [_0x447e0a,_0x310d82,_0x550d7d]=await Promise[_0x273c96(0x10d)]([scanFlatFunctions(_0x2e2ee5,_0x273c96(0x116)),scanFlatFunctions(_0x2e2ee5,'ENDPOINT'),scanHookFunctions(_0x2e2ee5)]);return[..._0x447e0a,..._0x310d82,..._0x550d7d];}export function resolveLocalFilePathFromLockKey(_0x3f0de5,_0x5239be){const _0x5e2b94=a200_0x1f2925;return join(_0x3f0de5[_0x5e2b94(0x11a)],..._0x5239be[_0x5e2b94(0x126)]('/'))+'.js';}export function createHookLocationMap(_0x1e3a27){const _0x2c094c=a200_0x1f2925,_0x3246cc=new Map();for(const _0x4a4e95 of _0x1e3a27){_0x4a4e95['beforeScriptId']&&_0x3246cc[_0x2c094c(0x115)](_0x4a4e95[_0x2c094c(0x107)],{'datasetCode':_0x4a4e95['datasetCode'],'operationType':snakeToCamel(_0x4a4e95['operationType']),'functionNode':_0x2c094c(0x114)}),_0x4a4e95[_0x2c094c(0x122)]&&_0x3246cc['set'](_0x4a4e95['afterScriptId'],{'datasetCode':_0x4a4e95[_0x2c094c(0x12a)],'operationType':snakeToCamel(_0x4a4e95['operationType']),'functionNode':_0x2c094c(0x112)});}return _0x3246cc;}export function resolveRemoteScriptTarget(_0x2e882e,_0x1fbe29,_0xbb6e97,_0x52e7d4,_0x7d39d){const _0x11d87c=a200_0x1f2925,_0x3dfcb3=normalizeBffType(_0x1fbe29[_0x11d87c(0x10b)]);if(!_0x3dfcb3||!_0x1fbe29[_0x11d87c(0x119)])return null;if(_0x3dfcb3===_0x11d87c(0x113)){const _0x3dbb15=(_0x1fbe29['id']?_0xbb6e97[_0x11d87c(0x124)](_0x1fbe29['id']):undefined)??findHookLocationByRemoteId(_0x52e7d4,_0x1fbe29['id']);if(!_0x3dbb15)return null;const _0x5bc856=_0x3dbb15[_0x11d87c(0x11b)]||_0x7d39d[_0x11d87c(0x124)](_0x3dbb15[_0x11d87c(0x12a)]),_0x42ec47=_0x5bc856??_0x3dbb15[_0x11d87c(0x12a)],_0x4a0c28={..._0x3dbb15,'alias':_0x5bc856},_0x194e00=_0x11d87c(0x109)+_0x42ec47+'/'+_0x4a0c28[_0x11d87c(0x12d)]+'/'+_0x4a0c28[_0x11d87c(0x10e)]+'/'+_0x1fbe29[_0x11d87c(0x119)];return{'lockKey':_0x194e00,'filePath':resolveLocalFilePathFromLockKey(_0x2e882e,_0x194e00),'type':_0x11d87c(0x113),'hookLocation':_0x4a0c28};}const _0x6b6d95=_0x3dfcb3+'/'+_0x1fbe29[_0x11d87c(0x119)];return{'lockKey':_0x6b6d95,'filePath':resolveLocalFilePathFromLockKey(_0x2e882e,_0x6b6d95),'type':_0x3dfcb3};}function a200_0x1621(){const _0x5ae08f=['1491695TvXXPp','7614jPuqIV','16623588JaEZqZ','afterScriptId','11IISodW','get','name','split','endsWith','ENOENT','isFile','datasetCode','511TcbCQB','36MRgwta','operationType','replace','isDirectory','.js','beforeScriptId','45OXvnTh','HOOK/','ENDPOINT','scriptType','code','all','functionNode','trim','toUpperCase','519868sZHeVH','after','HOOK','before','set','COMMON','384310baDlJj','1592vONpGS','functionName','scriptsRootDir','alias','151809ODSHij','6uUalrX','push'];a200_0x1621=function(){return _0x5ae08f;};return a200_0x1621();}export async function ensureParentDirectory(_0x414a58){await mkdir(dirname(_0x414a58),{'recursive':!![]});}export async function fileExists(_0x2ff4d5){try{return await access(_0x2ff4d5,constants['F_OK']),!![];}catch{return![];}}export async function directoryExists(_0x31f78e){try{const _0x2f0340=await stat(_0x31f78e);return _0x2f0340['isDirectory']();}catch{return![];}}
|
package/lib/core/bff/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a201_0x2e12(){const _0x49b990=['3zeUKXl','createHash','5041872loRnSy','48LbXIuk','934254WmPSVR','digest','5086495zgJpan','18796392UkBYoD','update','981967LmjDRt','1447802SCkMCg','md5','1335588ltKYWZ'];a201_0x2e12=function(){return _0x49b990;};return a201_0x2e12();}(function(_0x3ce604,_0x2b5cf8){const _0x36bd93=a201_0x447c,_0x455ff8=_0x3ce604();while(!![]){try{const _0x4a456c=-parseInt(_0x36bd93(0x120))/0x1+-parseInt(_0x36bd93(0x119))/0x2*(-parseInt(_0x36bd93(0x11c))/0x3)+-parseInt(_0x36bd93(0x11b))/0x4+-parseInt(_0x36bd93(0x122))/0x5+parseInt(_0x36bd93(0x11e))/0x6+-parseInt(_0x36bd93(0x118))/0x7*(parseInt(_0x36bd93(0x11f))/0x8)+parseInt(_0x36bd93(0x123))/0x9;if(_0x4a456c===_0x2b5cf8)break;else _0x455ff8['push'](_0x455ff8['shift']());}catch(_0x5249d2){_0x455ff8['push'](_0x455ff8['shift']());}}}(a201_0x2e12,0x804fd));import{readFile}from'node:fs/promises';import a201_0xdf196f from'node:crypto';function a201_0x447c(_0x1ae699,_0x57cc12){_0x1ae699=_0x1ae699-0x117;const _0x2e1278=a201_0x2e12();let _0x447cde=_0x2e1278[_0x1ae699];return _0x447cde;}export function computeContentHash(_0x5a7f0d){const _0x294ecf=a201_0x447c;return a201_0xdf196f[_0x294ecf(0x11d)](_0x294ecf(0x11a))[_0x294ecf(0x117)](_0x5a7f0d)[_0x294ecf(0x121)]('hex');}export async function computeFileHash(_0x248dd7){const _0x22679f=await readFile(_0x248dd7,'utf8');return computeContentHash(_0x22679f);}
|
package/lib/core/bff/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2e40ae,_0x542245){const _0x42beab=a202_0x4672,_0x1ca98e=_0x2e40ae();while(!![]){try{const _0x3512b7=-parseInt(_0x42beab(0x18f))/0x1+-parseInt(_0x42beab(0x18c))/0x2*(-parseInt(_0x42beab(0x19f))/0x3)+parseInt(_0x42beab(0x19a))/0x4*(-parseInt(_0x42beab(0x198))/0x5)+-parseInt(_0x42beab(0x19b))/0x6+-parseInt(_0x42beab(0x194))/0x7+parseInt(_0x42beab(0x191))/0x8*(parseInt(_0x42beab(0x1a1))/0x9)+parseInt(_0x42beab(0x1a0))/0xa;if(_0x3512b7===_0x542245)break;else _0x1ca98e['push'](_0x1ca98e['shift']());}catch(_0x4ee74b){_0x1ca98e['push'](_0x1ca98e['shift']());}}}(a202_0x4e17,0x2770c));import{mkdir,readFile,writeFile}from'node:fs/promises';function a202_0x4e17(){const _0x331b23=['Check\x20.rabetbase/bff.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','993MNztsT','3759770QnCMaX','1332gXrnRp','functions','scriptsRoot','apps','468NORWmv','stringify','parse','70681bTTTMk','\x22\x20vs\x20lock\x20\x22','15464YHOmaD','utf8','lastSync','1616678EnClpz','current\x20\x22','object',':\x20scriptsRoot\x20mismatch\x20—\x20','10TSuVaF','code','357484OmYyAi','585540GDOYki','ENOENT','\x22.\x20'];a202_0x4e17=function(){return _0x331b23;};return a202_0x4e17();}import{dirname}from'node:path';export function createEmptyBffLock(){return{'apps':{}};}export function ensureLockScope(_0x83cc5d,_0x1e7b15,_0x59d24f,_0x3b8714){const _0x20443a=a202_0x4672,_0x24acfc={'apps':_0x83cc5d[_0x20443a(0x1a4)]&&typeof _0x83cc5d[_0x20443a(0x1a4)]===_0x20443a(0x196)?_0x83cc5d['apps']:{}};let _0x55c494=_0x24acfc['apps'][_0x1e7b15];if(!_0x55c494)return _0x55c494={'scriptsRoot':_0x59d24f,'lastSync':'','functions':{}},_0x24acfc[_0x20443a(0x1a4)][_0x1e7b15]=_0x55c494,{'lockData':_0x24acfc,'appLock':_0x55c494};if(!_0x55c494['scriptsRoot'])_0x55c494['scriptsRoot']=_0x59d24f;else{if(_0x55c494[_0x20443a(0x1a3)]!==_0x59d24f)throw new Error(_0x3b8714+_0x20443a(0x197)+(_0x20443a(0x195)+_0x59d24f+_0x20443a(0x190)+_0x55c494[_0x20443a(0x1a3)]+_0x20443a(0x19d))+_0x20443a(0x19e));}return!_0x55c494[_0x20443a(0x1a2)]&&(_0x55c494[_0x20443a(0x1a2)]={}),!_0x55c494[_0x20443a(0x193)]&&(_0x55c494[_0x20443a(0x193)]=''),{'lockData':_0x24acfc,'appLock':_0x55c494};}export async function readBffLockFile(_0x36affb){const _0x47ab10=a202_0x4672;try{const _0x5c6b8f=await readFile(_0x36affb,'utf8'),_0x563c3a=JSON[_0x47ab10(0x18e)](_0x5c6b8f);return{'apps':_0x563c3a[_0x47ab10(0x1a4)]&&typeof _0x563c3a[_0x47ab10(0x1a4)]===_0x47ab10(0x196)?_0x563c3a[_0x47ab10(0x1a4)]:{}};}catch(_0x2910e9){if(_0x2910e9[_0x47ab10(0x199)]===_0x47ab10(0x19c))return null;throw new Error('Failed\x20to\x20read\x20BFF\x20lock\x20file:\x20'+String(_0x2910e9));}}function a202_0x4672(_0x547af4,_0x1fdbd2){_0x547af4=_0x547af4-0x18c;const _0x4e1735=a202_0x4e17();let _0x46729d=_0x4e1735[_0x547af4];return _0x46729d;}export async function writeBffLockFile(_0x55321e,_0x3032c3){const _0x2d4acd=a202_0x4672;await mkdir(dirname(_0x55321e),{'recursive':!![]}),await writeFile(_0x55321e,JSON[_0x2d4acd(0x18d)](_0x3032c3,null,0x2),_0x2d4acd(0x192));}
|
package/lib/core/bff/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x28e112,_0x382f26){const _0x2e36b9=a204_0x77b0,_0x112bc6=_0x28e112();while(!![]){try{const _0x4453ad=parseInt(_0x2e36b9(0xe8))/0x1+parseInt(_0x2e36b9(0xe6))/0x2*(parseInt(_0x2e36b9(0xee))/0x3)+-parseInt(_0x2e36b9(0xe9))/0x4*(-parseInt(_0x2e36b9(0xed))/0x5)+-parseInt(_0x2e36b9(0xe3))/0x6*(-parseInt(_0x2e36b9(0xea))/0x7)+-parseInt(_0x2e36b9(0xe5))/0x8*(-parseInt(_0x2e36b9(0xf6))/0x9)+-parseInt(_0x2e36b9(0xf2))/0xa*(-parseInt(_0x2e36b9(0xeb))/0xb)+-parseInt(_0x2e36b9(0xe7))/0xc*(parseInt(_0x2e36b9(0xef))/0xd);if(_0x4453ad===_0x382f26)break;else _0x112bc6['push'](_0x112bc6['shift']());}catch(_0x21884f){_0x112bc6['push'](_0x112bc6['shift']());}}}(a204_0xc27c,0xede8a));function a204_0x77b0(_0x4422b5,_0x1c7e36){_0x4422b5=_0x4422b5-0xe3;const _0xc27c94=a204_0xc27c();let _0x77b041=_0xc27c94[_0x4422b5];return _0x77b041;}function a204_0xc27c(){const _0x2e8d88=['10CubOeq','operationType','before','toLowerCase','1800171CzubaD','12XWBXau','values','8KJTKyH','2603826faAZDl','56178120SNxcUF','1058352vZcCyu','157396ktOMcI','5598845DeWXMN','15157813vqKsgi','trim','15XlBReO','3lyqTtX','13qfYqps','after','datasetCode'];a204_0xc27c=function(){return _0x2e8d88;};return a204_0xc27c();}export function snakeToCamel(_0x2cef0f){const _0x3d626d=a204_0x77b0;return _0x2cef0f[_0x3d626d(0xf5)]()['replace'](/_([a-z])/g,(_0x20e718,_0x27518d)=>_0x27518d['toUpperCase']());}export function findHookLocationByRemoteId(_0xa7eb4a,_0x3fec4c){const _0x537534=a204_0x77b0;if(!_0x3fec4c)return undefined;for(const _0x3a6b3a of Object[_0x537534(0xe4)](_0xa7eb4a)){if(_0x3a6b3a['remoteId']===_0x3fec4c&&_0x3a6b3a[_0x537534(0xf1)]&&_0x3a6b3a[_0x537534(0xf3)]&&_0x3a6b3a['functionNode'])return{'datasetCode':_0x3a6b3a[_0x537534(0xf1)],'operationType':_0x3a6b3a[_0x537534(0xf3)],'functionNode':_0x3a6b3a['functionNode']};}return undefined;}export function extractScriptDescription(_0x1ed859){const _0x5ac755=_0x1ed859['match'](/\[\s*脚本描述\s*]\s*(.+)/);return _0x5ac755?.[0x1]?.['trim']()||undefined;}export function isValidBffFunctionName(_0x4b19eb){return/^[A-Za-z_$][A-Za-z0-9_$]*$/['test'](_0x4b19eb);}export function normalizeHookFunctionNode(_0x22c91b){const _0x3ec8f4=a204_0x77b0;if(!_0x22c91b)return undefined;const _0x2054b4=_0x22c91b[_0x3ec8f4(0xec)]()['toLowerCase']();if(_0x2054b4===_0x3ec8f4(0xf4)||_0x2054b4===_0x3ec8f4(0xf0))return _0x2054b4;return undefined;}
|
package/lib/core/db-resolver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x557aa1,_0x23548e){const _0x130ad=a205_0x1b7e,_0xc94884=_0x557aa1();while(!![]){try{const _0x5c5849=-parseInt(_0x130ad(0x15a))/0x1*(parseInt(_0x130ad(0x156))/0x2)+parseInt(_0x130ad(0x157))/0x3*(-parseInt(_0x130ad(0x166))/0x4)+-parseInt(_0x130ad(0x161))/0x5*(-parseInt(_0x130ad(0x162))/0x6)+-parseInt(_0x130ad(0x163))/0x7*(-parseInt(_0x130ad(0x158))/0x8)+parseInt(_0x130ad(0x14c))/0x9+-parseInt(_0x130ad(0x160))/0xa+parseInt(_0x130ad(0x152))/0xb*(parseInt(_0x130ad(0x153))/0xc);if(_0x5c5849===_0x23548e)break;else _0xc94884['push'](_0xc94884['shift']());}catch(_0x383b97){_0xc94884['push'](_0xc94884['shift']());}}}(a205_0xb586,0x52945));import{listDatasets}from'../core/api-client.js';const cache=new Map();export async function listDatabases(_0x943006){const _0x2a3d44=a205_0x1b7e;if(cache[_0x2a3d44(0x149)](_0x943006))return cache[_0x2a3d44(0x15e)](_0x943006);const _0x1e6af9=await listDatasets(_0x943006),_0x5db3a7=new Map();for(const _0x4e46c8 of _0x1e6af9){const _0x3297af=_0x4e46c8[_0x2a3d44(0x145)];_0x3297af?.[_0x2a3d44(0x15c)]!=null&&_0x5db3a7[_0x2a3d44(0x14d)](_0x3297af[_0x2a3d44(0x15c)],_0x3297af[_0x2a3d44(0x15f)]??_0x2a3d44(0x14a)+_0x3297af[_0x2a3d44(0x15c)]);}const _0x13224c=[..._0x5db3a7[_0x2a3d44(0x14b)]()][_0x2a3d44(0x148)](([_0x2ce2a1,_0x57ef5a])=>({'dbId':_0x2ce2a1,'dbName':_0x57ef5a}));return cache[_0x2a3d44(0x14d)](_0x943006,_0x13224c),_0x13224c;}export async function resolveDb(_0x4c9176,_0x503e93){const _0x1d020b=a205_0x1b7e,_0x27f405=await listDatabases(_0x4c9176);if(_0x27f405[_0x1d020b(0x14e)]===0x0)return{'resolved':[],'error':_0x1d020b(0x159)+_0x4c9176+_0x1d020b(0x168)};if(!_0x503e93)return{'resolved':_0x27f405};const _0x49002f=Number(_0x503e93);if(!Number[_0x1d020b(0x167)](_0x49002f)){const _0x4bf6ed=_0x27f405[_0x1d020b(0x151)](_0x11e9b5=>_0x11e9b5[_0x1d020b(0x15c)]===_0x49002f);if(_0x4bf6ed)return{'resolved':[_0x4bf6ed]};}const _0x5ee3a5=_0x503e93[_0x1d020b(0x155)](),_0x23870f=_0x27f405[_0x1d020b(0x154)](_0x2deacb=>_0x2deacb[_0x1d020b(0x15f)][_0x1d020b(0x155)]()[_0x1d020b(0x150)](_0x5ee3a5));if(_0x23870f['length']>0x0)return{'resolved':_0x23870f};const _0x2fdf45=_0x27f405[_0x1d020b(0x148)](_0xe9d68c=>_0xe9d68c[_0x1d020b(0x15f)]+'\x20('+_0xe9d68c[_0x1d020b(0x15c)]+')')[_0x1d020b(0x14f)](',\x20');return{'resolved':[],'error':_0x1d020b(0x164)+_0x503e93+_0x1d020b(0x146)+_0x4c9176+_0x1d020b(0x165)+_0x2fdf45+'.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.'};}function a205_0x1b7e(_0x2caa42,_0xd06316){_0x2caa42=_0x2caa42-0x145;const _0xb5868e=a205_0xb586();let _0x1b7e8c=_0xb5868e[_0x2caa42];return _0x1b7e8c;}export async function resolveOneDb(_0x42cc33,_0x17d02e){const _0x3eb63e=a205_0x1b7e,{resolved:_0x442f39,error:_0x300147}=await resolveDb(_0x42cc33,_0x17d02e);if(_0x300147)return{'db':null,'error':_0x300147};if(_0x442f39['length']===0x1)return{'db':_0x442f39[0x0]};if(!_0x17d02e){const _0x3adb80=_0x442f39[_0x3eb63e(0x148)](_0x155585=>_0x155585[_0x3eb63e(0x15f)]+'\x20('+_0x155585[_0x3eb63e(0x15c)]+')')[_0x3eb63e(0x14f)](',\x20');return{'db':null,'error':_0x3eb63e(0x15b)+_0x3adb80};}const _0xd5db4b=_0x442f39[_0x3eb63e(0x148)](_0x15ac2c=>_0x15ac2c['dbName']+'\x20('+_0x15ac2c[_0x3eb63e(0x15c)]+')')[_0x3eb63e(0x14f)](',\x20');return{'db':null,'error':'\x22'+_0x17d02e+_0x3eb63e(0x15d)+_0xd5db4b+_0x3eb63e(0x147)};}function a205_0xb586(){const _0x5e3f47=['has','db-','entries','1412685TljOVH','set','length','join','includes','find','143KeDcwZ','673800tGehtM','filter','toLowerCase','2mZgHGk','2526bubPIy','8SPwVtp','No\x20linked\x20databases\x20found\x20under\x20app\x20\x22','237399nHPUhf','Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20','dbId','\x22\x20matches\x20multiple\x20databases:\x20','get','dbName','2767210HbhFPQ','550nFhtGW','8166wsYTdX','1232812hPrOFf','No\x20database\x20matching\x20\x22','\x22.\x20Available:\x20','1712owJjoS','isNaN','\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.','dbtableConfig','\x22\x20under\x20app\x20\x22','.\x20Be\x20more\x20specific.','map'];a205_0xb586=function(){return _0x5e3f47;};return a205_0xb586();}export async function getDbName(_0x29eac5,_0xc3a6d0){const _0x4e6aa5=a205_0x1b7e,_0x10a459=await listDatabases(_0x29eac5);return _0x10a459['find'](_0x33693f=>_0x33693f[_0x4e6aa5(0x15c)]===_0xc3a6d0)?.[_0x4e6aa5(0x15f)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x16492f,_0x565a2b){const _0x526cc0=a206_0x4172,_0x4619e4=_0x16492f();while(!![]){try{const _0x8ff63a=-parseInt(_0x526cc0(0x101))/0x1+-parseInt(_0x526cc0(0x102))/0x2+-parseInt(_0x526cc0(0xfb))/0x3+parseInt(_0x526cc0(0xfe))/0x4*(parseInt(_0x526cc0(0x108))/0x5)+-parseInt(_0x526cc0(0x100))/0x6+parseInt(_0x526cc0(0x104))/0x7*(-parseInt(_0x526cc0(0x109))/0x8)+parseInt(_0x526cc0(0xfa))/0x9*(parseInt(_0x526cc0(0xff))/0xa);if(_0x8ff63a===_0x565a2b)break;else _0x4619e4['push'](_0x4619e4['shift']());}catch(_0xdb7386){_0x4619e4['push'](_0x4619e4['shift']());}}}(a206_0x529e,0xadac0));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';function a206_0x4172(_0x4ed98c,_0x519d9f){_0x4ed98c=_0x4ed98c-0xfa;const _0x529e6d=a206_0x529e();let _0x4172a6=_0x529e6d[_0x4ed98c];return _0x4172a6;}export function loadPageProjectConfig(_0x43fa1c,_0x5bb7f1=process['cwd']()){const _0x3e1c3f=a206_0x4172,_0x1344d3=resolve(_0x5bb7f1),_0x4443fd=join(_0x1344d3,_0x3e1c3f(0xfd),_0x3e1c3f(0xfc));return{'projectRoot':_0x1344d3,'pagesBaseDir':_0x4443fd,'appPagesDir':join(_0x4443fd,_0x43fa1c),'lockFilePath':join(_0x1344d3,_0x3e1c3f(0xfd),_0x3e1c3f(0x105))};}export function buildPageFileName(_0x486c95,_0x441151){const _0x450089=a206_0x4172;return _0x486c95+'-'+String(_0x441151)[_0x450089(0x103)]()+'.json';}function a206_0x529e(){const _0x19dbca=['7276896ObdfaT','1417853vABDph','1098392LuMyAG','toUpperCase','8422687mOqAjd','page.lock.json','F_OK','appPagesDir','15KDNsjp','8kOzIVo','3050397jLTXXu','650166msDWmV','page','.rabetbase','302924sMlcSG','150VNpmku'];a206_0x529e=function(){return _0x19dbca;};return a206_0x529e();}export function resolvePageFilePath(_0x2dc085,_0x5b42ab,_0x50d52b){const _0xd636f7=a206_0x4172;return join(_0x2dc085[_0xd636f7(0x107)],buildPageFileName(_0x5b42ab,_0x50d52b));}export async function ensureParentDirectory(_0x3f7454){await mkdir(dirname(_0x3f7454),{'recursive':!![]});}export async function fileExists(_0x2e52b4){const _0x3a94c2=a206_0x4172;try{return await access(_0x2e52b4,constants[_0x3a94c2(0x106)]),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a207_0x677a(){const _0x2e4e1f=['1vJqOJb','stringify','digest','1747688etWVko','235978vCcsVc','md5','9vScJBX','890576TdaOvC','parse','1666135rayOjD','18JyQxlL','hex','899868KVuXZS','update','7546154bBshzh','3802580NOsqid'];a207_0x677a=function(){return _0x2e4e1f;};return a207_0x677a();}(function(_0x23c3f7,_0x5d51d4){const _0x259142=a207_0x1f81,_0x4a71de=_0x23c3f7();while(!![]){try{const _0x20d3e4=parseInt(_0x259142(0xe1))/0x1*(parseInt(_0x259142(0xe5))/0x2)+-parseInt(_0x259142(0xdd))/0x3+parseInt(_0x259142(0xe8))/0x4+parseInt(_0x259142(0xda))/0x5*(parseInt(_0x259142(0xdb))/0x6)+-parseInt(_0x259142(0xdf))/0x7+parseInt(_0x259142(0xe4))/0x8*(parseInt(_0x259142(0xe7))/0x9)+parseInt(_0x259142(0xe0))/0xa;if(_0x20d3e4===_0x5d51d4)break;else _0x4a71de['push'](_0x4a71de['shift']());}catch(_0x395347){_0x4a71de['push'](_0x4a71de['shift']());}}}(a207_0x677a,0x88f9f));import a207_0xe6185c from'node:crypto';import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0x450196){const _0x31f3ec=a207_0x1f81;return JSON[_0x31f3ec(0xe2)](JSON[_0x31f3ec(0xe9)](_0x450196),null,0x2)+'\x0a';}export function computePageContentHash(_0x1b31ba){const _0x508f7d=a207_0x1f81;return a207_0xe6185c['createHash'](_0x508f7d(0xe6))[_0x508f7d(0xde)](_0x1b31ba)[_0x508f7d(0xe3)](_0x508f7d(0xdc));}export function computeSerializedSchemaHash(_0x2ba701){return computePageContentHash(serializePageSchemaForFile(_0x2ba701));}function a207_0x1f81(_0x11a6bd,_0x4d9dfb){_0x11a6bd=_0x11a6bd-0xda;const _0x677a75=a207_0x677a();let _0x1f810b=_0x677a75[_0x11a6bd];return _0x1f810b;}export async function computePageFileHash(_0x22517f){const _0x1c1cc4=await readFile(_0x22517f,'utf8');return computePageContentHash(_0x1c1cc4);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x437b9b,_0x41ae23){const _0x2b8d86=a208_0x22fc,_0x5042ba=_0x437b9b();while(!![]){try{const _0x3f8e81=-parseInt(_0x2b8d86(0x7b))/0x1+-parseInt(_0x2b8d86(0x75))/0x2+parseInt(_0x2b8d86(0x6c))/0x3+parseInt(_0x2b8d86(0x77))/0x4+-parseInt(_0x2b8d86(0x6d))/0x5+-parseInt(_0x2b8d86(0x73))/0x6*(parseInt(_0x2b8d86(0x71))/0x7)+parseInt(_0x2b8d86(0x72))/0x8;if(_0x3f8e81===_0x41ae23)break;else _0x5042ba['push'](_0x5042ba['shift']());}catch(_0x55f8cf){_0x5042ba['push'](_0x5042ba['shift']());}}}(a208_0x1b81,0x1d191));function a208_0x22fc(_0x4460cd,_0x4abda){_0x4460cd=_0x4460cd-0x6c;const _0x1b81b6=a208_0x1b81();let _0x22fc32=_0x1b81b6[_0x4460cd];return _0x22fc32;}import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x278271,_0x1c6fad){const _0x4fd7ad=a208_0x22fc,_0xf6553e={'apps':_0x278271[_0x4fd7ad(0x78)]&&typeof _0x278271[_0x4fd7ad(0x78)]===_0x4fd7ad(0x70)?_0x278271[_0x4fd7ad(0x78)]:{}};let _0x3b9046=_0xf6553e[_0x4fd7ad(0x78)][_0x1c6fad];if(!_0x3b9046)return _0x3b9046={'lastSync':'','pages':{}},_0xf6553e[_0x4fd7ad(0x78)][_0x1c6fad]=_0x3b9046,{'lockData':_0xf6553e,'appLock':_0x3b9046};return!_0x3b9046[_0x4fd7ad(0x79)]&&(_0x3b9046['lastSync']=''),(!_0x3b9046[_0x4fd7ad(0x76)]||typeof _0x3b9046['pages']!==_0x4fd7ad(0x70))&&(_0x3b9046[_0x4fd7ad(0x76)]={}),{'lockData':_0xf6553e,'appLock':_0x3b9046};}export async function readPageLockFile(_0x3fa2bd){const _0x43a0bc=a208_0x22fc;try{const _0x4190c3=await readFile(_0x3fa2bd,_0x43a0bc(0x74)),_0x21d10c=JSON[_0x43a0bc(0x7a)](_0x4190c3);return{'apps':_0x21d10c[_0x43a0bc(0x78)]&&typeof _0x21d10c[_0x43a0bc(0x78)]==='object'?_0x21d10c[_0x43a0bc(0x78)]:{}};}catch(_0x523a2e){if(_0x523a2e['code']===_0x43a0bc(0x6f))return null;throw new Error('Failed\x20to\x20read\x20page\x20lock\x20file:\x20'+String(_0x523a2e));}}function a208_0x1b81(){const _0x4b18cc=['419013GYJuDX','960910tUnNfY','stringify','ENOENT','object','7OdxhcQ','3370856wiQhxi','1223034SmMefl','utf8','348106zOvPbX','pages','688284HfQTfX','apps','lastSync','parse','43840NrIXSx'];a208_0x1b81=function(){return _0x4b18cc;};return a208_0x1b81();}export async function writePageLockFile(_0x59e49a,_0x4a4b48){const _0x37d98e=a208_0x22fc;await mkdir(dirname(_0x59e49a),{'recursive':!![]}),await writeFile(_0x59e49a,JSON[_0x37d98e(0x6e)](_0x4a4b48,null,0x2),_0x37d98e(0x74));}
|
|
@@ -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(_0x187c23,_0x3a4629){const _0x249b6a=a210_0x377f,_0x5c2681=_0x187c23();while(!![]){try{const _0x419085=-parseInt(_0x249b6a(0x197))/0x1+parseInt(_0x249b6a(0x198))/0x2+parseInt(_0x249b6a(0x191))/0x3+-parseInt(_0x249b6a(0x171))/0x4+-parseInt(_0x249b6a(0x196))/0x5*(parseInt(_0x249b6a(0x18e))/0x6)+-parseInt(_0x249b6a(0x194))/0x7+parseInt(_0x249b6a(0x178))/0x8;if(_0x419085===_0x3a4629)break;else _0x5c2681['push'](_0x5c2681['shift']());}catch(_0x37ef38){_0x5c2681['push'](_0x5c2681['shift']());}}}(a210_0x38a4,0x61ce5));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x5bc192,_0x199a0c){const _0x368605=a210_0x377f,_0x221a99=[],_0x4d8a94=normalizeSqlForStaticAnalysis(_0x5bc192),_0x5e67cc=(_0x4d8a94[_0x368605(0x15d)]?[]:extractJoinFacts(_0x4d8a94[_0x368605(0x189)]))[_0x368605(0x18b)](_0x28c166=>{const _0x2dcd13=_0x368605;if(_0x28c166[_0x2dcd13(0x17c)]||_0x28c166[_0x2dcd13(0x165)][_0x2dcd13(0x175)]===0x0)return _0x221a99[_0x2dcd13(0x16a)]({'code':_0x2dcd13(0x17a),'table':_0x28c166[_0x2dcd13(0x179)],'alias':_0x28c166['alias'],'columns':_0x28c166[_0x2dcd13(0x165)],'reason':_0x28c166['unsupportedReason']??_0x2dcd13(0x177)}),{'table':_0x28c166['table'],'alias':_0x28c166['alias'],'columns':_0x28c166['columns'],'status':_0x2dcd13(0x161)};const _0x7c8afc=resolveTableMetadata(_0x199a0c,_0x28c166[_0x2dcd13(0x179)]),_0xe66a1a=(_0x7c8afc?.[_0x2dcd13(0x184)]??[])[_0x2dcd13(0x18b)](_0x3a9e20=>({'index':_0x3a9e20,'matchedPrefix':findEqualityPrefix(_0x3a9e20[_0x2dcd13(0x165)],_0x28c166[_0x2dcd13(0x165)])}))[_0x2dcd13(0x172)](_0x52ca0f=>_0x52ca0f['matchedPrefix'][_0x2dcd13(0x175)]>0x0),_0x15bdc9=_0xe66a1a[_0x2dcd13(0x199)]((_0x457ed2,_0x31ec80)=>!_0x457ed2||_0x31ec80[_0x2dcd13(0x174)][_0x2dcd13(0x175)]>_0x457ed2[_0x2dcd13(0x174)][_0x2dcd13(0x175)]?_0x31ec80:_0x457ed2,_0xe66a1a[0x0]);if(_0x15bdc9)return{'table':_0x28c166['table'],'alias':_0x28c166['alias'],'columns':_0x28c166[_0x2dcd13(0x165)],'status':_0x2dcd13(0x16d),'matchedIndex':{..._0x15bdc9[_0x2dcd13(0x193)],'matchedPrefix':_0x15bdc9[_0x2dcd13(0x174)]}};const _0x157fcd=_0x7c8afc?.[_0x2dcd13(0x184)]['filter'](_0x2f3212=>_0x2f3212['columns'][_0x2dcd13(0x17f)](_0x4c410f=>_0x28c166[_0x2dcd13(0x165)][_0x2dcd13(0x17f)](_0x2ef4c5=>columnNamesMatch(_0x4c410f,_0x2ef4c5))))??[];if(_0x157fcd[_0x2dcd13(0x175)]>0x0)return _0x221a99[_0x2dcd13(0x16a)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x28c166['table'],'alias':_0x28c166[_0x2dcd13(0x18f)],'columns':_0x28c166[_0x2dcd13(0x165)],'reason':_0x2dcd13(0x163)}),{'table':_0x28c166[_0x2dcd13(0x179)],'alias':_0x28c166['alias'],'columns':_0x28c166[_0x2dcd13(0x165)],'status':_0x2dcd13(0x15e),'candidateIndexes':_0x157fcd};if(_0x7c8afc&&_0x7c8afc['metadataAvailable']!==![]&&_0x7c8afc[_0x2dcd13(0x184)][_0x2dcd13(0x175)]>0x0&&_0x28c166[_0x2dcd13(0x165)][_0x2dcd13(0x175)]>0x0)return _0x221a99['push']({'code':_0x2dcd13(0x173),'table':_0x28c166[_0x2dcd13(0x179)],'alias':_0x28c166[_0x2dcd13(0x18f)],'columns':_0x28c166[_0x2dcd13(0x165)],'reason':'No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.'}),{'table':_0x28c166[_0x2dcd13(0x179)],'alias':_0x28c166[_0x2dcd13(0x18f)],'columns':_0x28c166[_0x2dcd13(0x165)],'status':_0x2dcd13(0x15e)};return _0x221a99[_0x2dcd13(0x16a)]({'code':_0x2dcd13(0x182),'table':_0x28c166['table'],'alias':_0x28c166[_0x2dcd13(0x18f)],'columns':_0x28c166[_0x2dcd13(0x165)],'reason':_0x7c8afc?'The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.':'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0x28c166[_0x2dcd13(0x179)],'alias':_0x28c166['alias'],'columns':_0x28c166['columns'],'status':_0x2dcd13(0x161)};});return{'checked':_0x5e67cc[_0x368605(0x175)]>0x0,'joins':_0x5e67cc,'warnings':_0x221a99};}function extractJoinFacts(_0x47d9f2){const _0x53016b=a210_0x377f,_0xc4d721=maskNestedQueries(stripSqlNoise(_0x47d9f2)),_0xffe931=maskQuotedIdentifiers(_0xc4d721),_0x422418=[],_0x356b70=new Set(),_0x1ddcbf=/\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 _0x34977d of _0xc4d721[_0x53016b(0x164)](_0x1ddcbf)){const _0x2133bf=_0x34977d['index']??0x0,_0xb88845=_0x34977d[0x0][_0x53016b(0x160)](/\bJOIN\b/i),_0x3080ff=_0x2133bf+Math[_0x53016b(0x162)](0x0,_0xb88845);if(!/^JOIN\b/i[_0x53016b(0x15f)](_0xffe931[_0x53016b(0x181)](_0x3080ff)))continue;_0x356b70[_0x53016b(0x17b)](_0x3080ff);const _0x64fd81=normalizeIdentifier(_0x34977d[0x1]||_0x53016b(0x166)),_0x4a8b69=normalizeIdentifier(_0x34977d[0x2]??''),_0x2eaba9=normalizeIdentifier(_0x34977d[0x3]||_0x4a8b69[_0x53016b(0x17e)]('.')['at'](-0x1)||_0x4a8b69),_0x376ead=[],_0x1f8f01=_0x4a8b69==='__sq__';let _0x485931=_0x64fd81===_0x53016b(0x19b)||_0x64fd81===_0x53016b(0x169)||_0x1f8f01,_0x50c89c=_0x485931?_0x1f8f01?_0x53016b(0x188):_0x64fd81['toUpperCase']()+_0x53016b(0x195):undefined;const _0x36169b=stripOuterParentheses(_0x34977d[0x4]??''),_0x38846c=_0x36169b['includes'](MYBATIS_DYNAMIC_START_MARKER)||_0x36169b[_0x53016b(0x18a)](MYBATIS_DYNAMIC_END_MARKER),_0x54b71e=_0x36169b[_0x53016b(0x18a)](MYBATIS_INCLUDE_MARKER);_0x38846c&&(_0x485931=!![],_0x50c89c??=_0x53016b(0x186));_0x54b71e&&(_0x485931=!![],_0x50c89c??=_0x53016b(0x16c));const _0x21759a=_0x36169b[_0x53016b(0x19a)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x53016b(0x19a)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x53016b(0x19a)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x21759a,'OR')&&(_0x485931=!![],_0x50c89c??=_0x53016b(0x168));for(const _0x2ff418 of splitTopLevelAnd(_0x21759a)){const _0x56f441=stripOuterParentheses(_0x2ff418);if(hasTopLevelKeyword(_0x56f441,'OR')){_0x485931=!![],_0x50c89c??=_0x53016b(0x168);continue;}const _0x1fd53c=splitEquality(_0x56f441);if(!_0x1fd53c){containsColumnReference(_0x2ff418,_0x2eaba9)&&(_0x485931=!![]);continue;}const _0x11ca7d=parseDirectColumnReference(_0x1fd53c[0x0],_0x2eaba9),_0x37cd7d=parseDirectColumnReference(_0x1fd53c[0x1],_0x2eaba9),_0xe8a7c4=containsColumnReference(_0x1fd53c[0x0],_0x2eaba9),_0x223fac=containsColumnReference(_0x1fd53c[0x1],_0x2eaba9),_0x3e56b3=_0x11ca7d&&!_0x223fac?_0x11ca7d:_0x37cd7d&&!_0xe8a7c4?_0x37cd7d:null;if(_0x3e56b3&&!_0x376ead[_0x53016b(0x18a)](_0x3e56b3))_0x376ead[_0x53016b(0x16a)](_0x3e56b3);else!_0x3e56b3&&containsColumnReference(_0x2ff418,_0x2eaba9)&&(_0x485931=!![]);}_0x422418[_0x53016b(0x16a)]({'table':_0x4a8b69,'alias':_0x2eaba9,'columns':_0x376ead,'unsupportedPredicate':_0x485931,'unsupportedReason':_0x50c89c,'containsUnresolvedInclude':_0x54b71e,'position':_0x3080ff});}for(const _0x144b64 of _0xffe931['matchAll'](/\bJOIN\b/gi)){const _0x4ab8d3=_0x144b64['index']??0x0;if(_0x356b70[_0x53016b(0x180)](_0x4ab8d3))continue;const _0xdc4311=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x53016b(0x16b)](_0xc4d721[_0x53016b(0x181)](_0x4ab8d3+_0x144b64[0x0]['length'])),_0x4d339c=normalizeIdentifier(_0xdc4311?.[0x1]||_0x53016b(0x167)),_0xbcfe25=normalizeIdentifier(_0xdc4311?.[0x2]||''),_0x28f454=isSqlClauseKeyword(_0xbcfe25)?_0x4d339c[_0x53016b(0x17e)]('.')['at'](-0x1)||_0x4d339c:_0xbcfe25||_0x4d339c[_0x53016b(0x17e)]('.')['at'](-0x1)||_0x4d339c;_0x422418['push']({'table':_0x4d339c,'alias':_0x28f454,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','position':_0x4ab8d3});}const _0x90fc88=_0xffe931['indexOf'](MYBATIS_INCLUDE_MARKER);return _0x90fc88>=0x0&&!_0x422418[_0x53016b(0x17f)](_0x58bcf4=>_0x58bcf4[_0x53016b(0x17d)])&&_0x422418['push']({'table':_0x53016b(0x167),'alias':_0x53016b(0x167),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','containsUnresolvedInclude':!![],'position':_0x90fc88}),_0x422418[_0x53016b(0x16e)]((_0x10d67a,_0x4dd401)=>_0x10d67a['position']-_0x4dd401[_0x53016b(0x192)]);}function stripSqlNoise(_0x348c47){const _0x574d08=a210_0x377f,_0x525d63=Array[_0x574d08(0x170)](_0x348c47),_0x30b614=(_0x297ef9,_0x53cb74)=>{for(let _0x3b9d27=_0x297ef9;_0x3b9d27<_0x53cb74;_0x3b9d27+=0x1){_0x525d63[_0x3b9d27]!=='\x0a'&&_0x525d63[_0x3b9d27]!=='\x0d'&&(_0x525d63[_0x3b9d27]='\x20');}};for(let _0x389d00=0x0;_0x389d00<_0x525d63[_0x574d08(0x175)];_0x389d00+=0x1){const _0x3c8d24=_0x525d63[_0x389d00],_0x44e0f3=_0x525d63[_0x389d00+0x1];if(_0x3c8d24==='\x27'||_0x3c8d24==='\x22'||_0x3c8d24==='`'){const _0x3fa2b8=_0x3c8d24,_0x5b7c5d=_0x389d00;_0x389d00+=0x1;while(_0x389d00<_0x525d63['length']){if(_0x525d63[_0x389d00]==='\x5c'&&_0x389d00+0x1<_0x525d63[_0x574d08(0x175)]){_0x389d00+=0x2;continue;}if(_0x525d63[_0x389d00]!==_0x3fa2b8){_0x389d00+=0x1;continue;}if(_0x525d63[_0x389d00+0x1]===_0x3fa2b8){_0x389d00+=0x2;continue;}break;}if(_0x3fa2b8==='\x27')_0x30b614(_0x5b7c5d,Math[_0x574d08(0x19d)](_0x389d00+0x1,_0x525d63[_0x574d08(0x175)]));continue;}if(_0x3c8d24==='-'&&_0x44e0f3==='-'){const _0x39958c=_0x389d00;while(_0x389d00<_0x525d63[_0x574d08(0x175)]&&_0x525d63[_0x389d00]!=='\x0a')_0x389d00+=0x1;_0x30b614(_0x39958c,_0x389d00);continue;}if(_0x3c8d24==='/'&&_0x44e0f3==='*'){const _0x918849=_0x389d00;_0x389d00+=0x2;while(_0x389d00<_0x525d63[_0x574d08(0x175)]&&!(_0x525d63[_0x389d00]==='*'&&_0x525d63[_0x389d00+0x1]==='/')){_0x389d00+=0x1;}_0x389d00=Math[_0x574d08(0x19d)](_0x389d00+0x1,_0x525d63[_0x574d08(0x175)]-0x1),_0x30b614(_0x918849,_0x389d00+0x1);continue;}if(_0x3c8d24==='#'&&_0x44e0f3!=='{'){const _0x3f1164=_0x389d00;while(_0x389d00<_0x525d63[_0x574d08(0x175)]&&_0x525d63[_0x389d00]!=='\x0a')_0x389d00+=0x1;_0x30b614(_0x3f1164,_0x389d00);continue;}if((_0x3c8d24==='#'||_0x3c8d24==='$')&&_0x44e0f3==='{'){const _0x4da395=_0x389d00;_0x389d00+=0x2;while(_0x389d00<_0x525d63[_0x574d08(0x175)]&&_0x525d63[_0x389d00]!=='}')_0x389d00+=0x1;_0x30b614(_0x4da395,Math[_0x574d08(0x19d)](_0x389d00+0x1,_0x525d63[_0x574d08(0x175)]));}}return _0x525d63[_0x574d08(0x185)]('');}function maskQuotedIdentifiers(_0x1e6f90){const _0x46129c=a210_0x377f,_0x4e13f2=Array[_0x46129c(0x170)](_0x1e6f90);for(let _0x2b354a=0x0;_0x2b354a<_0x4e13f2['length'];_0x2b354a+=0x1){const _0x1d14b8=_0x4e13f2[_0x2b354a];if(_0x1d14b8!=='\x22'&&_0x1d14b8!=='`')continue;_0x2b354a+=0x1;while(_0x2b354a<_0x4e13f2[_0x46129c(0x175)]){if(_0x4e13f2[_0x2b354a]===_0x1d14b8){if(_0x4e13f2[_0x2b354a+0x1]===_0x1d14b8){_0x4e13f2[_0x2b354a]='\x20',_0x4e13f2[_0x2b354a+0x1]='\x20',_0x2b354a+=0x2;continue;}break;}_0x4e13f2[_0x2b354a]='\x20',_0x2b354a+=0x1;}}return _0x4e13f2[_0x46129c(0x185)]('');}function maskNestedQueries(_0x552151){const _0x16d02b=a210_0x377f,_0xf8faf0=Array[_0x16d02b(0x170)](_0x552151);for(let _0x579430=0x0;_0x579430<_0xf8faf0[_0x16d02b(0x175)];_0x579430+=0x1){if(_0xf8faf0[_0x579430]!=='(')continue;const _0x5bbbb9=_0x552151['slice'](_0x579430+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x16d02b(0x15f)](_0x5bbbb9))continue;let _0x217274=0x1,_0x20dbfc=_0x579430+0x1;for(;_0x20dbfc<_0xf8faf0[_0x16d02b(0x175)]&&_0x217274>0x0;_0x20dbfc+=0x1){if(_0xf8faf0[_0x20dbfc]==='(')_0x217274+=0x1;if(_0xf8faf0[_0x20dbfc]===')')_0x217274-=0x1;}if(_0x217274!==0x0)continue;for(let _0x5d81cb=_0x579430;_0x5d81cb<_0x20dbfc;_0x5d81cb+=0x1){_0xf8faf0[_0x5d81cb]='\x20';}const _0x3168f0=_0x16d02b(0x18c);for(let _0x56c7a3=0x0;_0x56c7a3<_0x3168f0['length']&&_0x579430+_0x56c7a3<_0x20dbfc;_0x56c7a3+=0x1){_0xf8faf0[_0x579430+_0x56c7a3]=_0x3168f0[_0x56c7a3];}_0x579430=_0x20dbfc-0x1;}return _0xf8faf0[_0x16d02b(0x185)]('');}function splitTopLevelAnd(_0x2f6cbd){const _0x1125e3=a210_0x377f,_0x572561=[];let _0x3faad4=0x0,_0x25ce13=0x0;for(let _0x1f5a7b=0x0;_0x1f5a7b<_0x2f6cbd[_0x1125e3(0x175)];_0x1f5a7b+=0x1){const _0x33bb2c=_0x2f6cbd[_0x1f5a7b];if(_0x33bb2c==='(')_0x3faad4+=0x1;if(_0x33bb2c===')')_0x3faad4=Math[_0x1125e3(0x162)](0x0,_0x3faad4-0x1);_0x3faad4===0x0&&_0x2f6cbd[_0x1125e3(0x181)](_0x1f5a7b)['match'](/^AND\b/i)&&(_0x1f5a7b===0x0||/\s/[_0x1125e3(0x15f)](_0x2f6cbd[_0x1f5a7b-0x1]??''))&&(_0x572561['push'](_0x2f6cbd[_0x1125e3(0x181)](_0x25ce13,_0x1f5a7b)[_0x1125e3(0x190)]()),_0x1f5a7b+=0x2,_0x25ce13=_0x1f5a7b+0x1);}const _0x1e04d6=_0x2f6cbd['slice'](_0x25ce13)[_0x1125e3(0x190)]();if(_0x1e04d6)_0x572561[_0x1125e3(0x16a)](_0x1e04d6);return _0x572561;}function hasTopLevelKeyword(_0x26db72,_0x1730e4){const _0x1fe251=a210_0x377f;let _0x230172=0x0;for(let _0x36bf58=0x0;_0x36bf58<_0x26db72[_0x1fe251(0x175)];_0x36bf58+=0x1){const _0x5f58c5=_0x26db72[_0x36bf58];if(_0x5f58c5==='(')_0x230172+=0x1;if(_0x5f58c5===')')_0x230172=Math['max'](0x0,_0x230172-0x1);if(_0x230172!==0x0)continue;const _0x14b211=_0x26db72[_0x1fe251(0x181)](_0x36bf58,_0x36bf58+_0x1730e4[_0x1fe251(0x175)]),_0x538c57=_0x26db72[_0x36bf58-0x1]??'\x20',_0x1e2a06=_0x26db72[_0x36bf58+_0x1730e4['length']]??'\x20';if(_0x14b211[_0x1fe251(0x176)]()===_0x1730e4[_0x1fe251(0x176)]()&&!/[\w$]/['test'](_0x538c57)&&!/[\w$]/[_0x1fe251(0x15f)](_0x1e2a06))return!![];}return![];}function splitEquality(_0x329e63){const _0x4734a0=a210_0x377f,_0x191302=stripOuterParentheses(_0x329e63);let _0x377afb=0x0,_0x292de6;for(let _0x14f151=0x0;_0x14f151<_0x191302['length'];_0x14f151+=0x1){const _0x4d419e=_0x191302[_0x14f151];if(_0x4d419e==='(')_0x377afb+=0x1;if(_0x4d419e===')')_0x377afb=Math['max'](0x0,_0x377afb-0x1);const _0x442377=_0x191302[_0x14f151-0x1]??'',_0x151b8c=_0x191302[_0x14f151+0x1]??'';if(_0x4d419e==='='&&_0x377afb===0x0&&!/[!<>=:]/[_0x4734a0(0x15f)](_0x442377)&&_0x151b8c!=='='){if(_0x292de6!==undefined)return null;_0x292de6=_0x14f151;}}return _0x292de6===undefined?null:[_0x191302[_0x4734a0(0x181)](0x0,_0x292de6)[_0x4734a0(0x190)](),_0x191302[_0x4734a0(0x181)](_0x292de6+0x1)[_0x4734a0(0x190)]()];}function parseDirectColumnReference(_0x461270,_0x4fc1a1){const _0x431eb2=a210_0x377f,_0x56505e=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x431eb2(0x16b)](stripOuterParentheses(_0x461270));if(!_0x56505e)return null;if(normalizeIdentifier(_0x56505e[0x1]??'')!==normalizeIdentifier(_0x4fc1a1))return null;return normalizeIdentifier(_0x56505e[0x2]??'');}function containsColumnReference(_0x425453,_0x3bc57c){const _0x208b17=a210_0x377f,_0x25d63a=_0x425453[_0x208b17(0x183)](/[`"]/g,''),_0x28b5b9=_0x3bc57c['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return new RegExp(_0x208b17(0x187)+_0x28b5b9+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')['test'](_0x25d63a);}function a210_0x377f(_0x276759,_0x2be40f){_0x276759=_0x276759-0x15d;const _0x38a441=a210_0x38a4();let _0x377fb1=_0x38a441[_0x276759];return _0x377fb1;}function findEqualityPrefix(_0x121f9c,_0x5a15b0){const _0x39ac62=a210_0x377f,_0x1442c4=new Set(_0x5a15b0[_0x39ac62(0x18b)](normalizeIdentifier)),_0x656ded=[];for(const _0x4e5fe3 of _0x121f9c){if(!_0x1442c4[_0x39ac62(0x180)](normalizeIdentifier(_0x4e5fe3)))break;_0x656ded[_0x39ac62(0x16a)](_0x4e5fe3);}return _0x656ded;}function a210_0x38a4(){const _0x4a7068=['replace','indexes','join','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','(?:^|[^\x5cw$])','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','sql','includes','map','__sq__','inner','2938092YzLwzJ','alias','trim','328776BpBkJK','position','index','959434BxcGBt','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','5kxkGsd','321778ARaLSw','1569904qHbnXp','reduce','replaceAll','right','where','min','error','warning','test','search','unavailable','max','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','matchAll','columns','INNER','unknown','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','full','push','exec','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','covered','sort','cross','from','2598616ondLEY','filter','JOIN_INDEX_MISSING','matchedPrefix','length','toUpperCase','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','8833960gwiQSI','table','JOIN_PREDICATE_UNSUPPORTED','add','unsupportedPredicate','containsUnresolvedInclude','split','some','has','slice','INDEX_METADATA_UNAVAILABLE'];a210_0x38a4=function(){return _0x4a7068;};return a210_0x38a4();}function resolveTableMetadata(_0x5b11d6,_0x20e487){const _0x3f1408=a210_0x377f,_0x215886=normalizeIdentifier(_0x20e487),_0x20ee40=_0x5b11d6['filter'](_0x5569ba=>normalizeIdentifier(_0x5569ba['tableName'])===_0x215886);if(_0x20ee40[_0x3f1408(0x175)]===0x1)return _0x20ee40[0x0];const _0x45e3c4=_0x215886[_0x3f1408(0x18a)]('.'),_0x4b98a0=_0x215886['split']('.')['at'](-0x1),_0x46cfec=_0x5b11d6['filter'](_0x32822c=>{const _0x621fcb=_0x3f1408,_0x1cf757=normalizeIdentifier(_0x32822c['tableName']);if(_0x45e3c4&&_0x1cf757[_0x621fcb(0x18a)]('.'))return![];return _0x1cf757[_0x621fcb(0x17e)]('.')['at'](-0x1)===_0x4b98a0;});return _0x46cfec['length']===0x1?_0x46cfec[0x0]:undefined;}function columnNamesMatch(_0x594d0b,_0x529d3f){return normalizeIdentifier(_0x594d0b)===normalizeIdentifier(_0x529d3f);}function normalizeIdentifier(_0x29e82b){const _0x19fa67=a210_0x377f;return _0x29e82b[_0x19fa67(0x183)](/[`"]/g,'')[_0x19fa67(0x190)]()['toLowerCase']();}function isSqlClauseKeyword(_0x127740){const _0x261a49=a210_0x377f;return new Set(['on','using',_0x261a49(0x19c),'join',_0x261a49(0x18d),'left',_0x261a49(0x19b),_0x261a49(0x169),_0x261a49(0x16f),'natural'])[_0x261a49(0x180)](_0x127740);}function stripOuterParentheses(_0x42fe07){const _0x52cde8=a210_0x377f;let _0x4c7801=_0x42fe07[_0x52cde8(0x190)]();while(_0x4c7801['startsWith']('(')&&_0x4c7801['endsWith'](')')){let _0x2876da=0x0,_0x984961=!![];for(let _0x33df73=0x0;_0x33df73<_0x4c7801[_0x52cde8(0x175)];_0x33df73+=0x1){if(_0x4c7801[_0x33df73]==='(')_0x2876da+=0x1;if(_0x4c7801[_0x33df73]===')')_0x2876da-=0x1;if(_0x2876da===0x0&&_0x33df73<_0x4c7801['length']-0x1){_0x984961=![];break;}}if(!_0x984961||_0x2876da!==0x0)break;_0x4c7801=_0x4c7801[_0x52cde8(0x181)](0x1,-0x1)[_0x52cde8(0x190)]();}return _0x4c7801;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a211_0x3f6c71=a211_0x4e0d;(function(_0x4e929c,_0x28c881){const _0x595c55=a211_0x4e0d,_0x11f012=_0x4e929c();while(!![]){try{const _0x3908fb=parseInt(_0x595c55(0x16e))/0x1*(-parseInt(_0x595c55(0x172))/0x2)+parseInt(_0x595c55(0x16d))/0x3*(parseInt(_0x595c55(0x16b))/0x4)+-parseInt(_0x595c55(0x170))/0x5*(-parseInt(_0x595c55(0x166))/0x6)+-parseInt(_0x595c55(0x171))/0x7*(-parseInt(_0x595c55(0x165))/0x8)+-parseInt(_0x595c55(0x16f))/0x9+parseInt(_0x595c55(0x173))/0xa+-parseInt(_0x595c55(0x169))/0xb*(parseInt(_0x595c55(0x16a))/0xc);if(_0x3908fb===_0x28c881)break;else _0x11f012['push'](_0x11f012['shift']());}catch(_0x4e4aad){_0x11f012['push'](_0x11f012['shift']());}}}(a211_0x4b84,0x71b71));import{resolve}from'node:path';import{findProjectRootDirectory}from'../../context.js';const DOT_DIR=a211_0x3f6c71(0x174),LOCK_FILE_NAME=a211_0x3f6c71(0x16c),TRASH_DIR_NAME=a211_0x3f6c71(0x168);function a211_0x4e0d(_0x22d0ba,_0x166540){_0x22d0ba=_0x22d0ba-0x165;const _0x4b848b=a211_0x4b84();let _0x4e0dd8=_0x4b848b[_0x22d0ba];return _0x4e0dd8;}export function loadSqlProjectConfig(_0x5f289b,_0x31c8cd){const _0x514c63=a211_0x3f6c71,_0x22864e=resolve(_0x31c8cd??findProjectRootDirectory()),_0x37e658=DOT_DIR+_0x514c63(0x167),_0x5670de=_0x37e658+'/'+_0x5f289b;return{'projectRoot':_0x22864e,'appCode':_0x5f289b,'sqlWorkspaceRoot':_0x37e658,'sqlRoot':_0x5670de,'sqlRootDir':resolve(_0x22864e,DOT_DIR,'sql',_0x5f289b),'lockFilePath':resolve(_0x22864e,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x22864e,DOT_DIR,TRASH_DIR_NAME)};}function a211_0x4b84(){const _0x2c7030=['7WLnYrk','6iqMImY','4520010FLfQAA','.rabetbase','3454216GGcusj','13938ydALbJ','/sql','sql-trash','11lESvEh','6619380fPFTnm','11004MBXVgH','sql.lock.json','405MxmGiD','115320QXnJHH','2685024ROXaYY','875YUdvzU'];a211_0x4b84=function(){return _0x2c7030;};return a211_0x4b84();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a212_0x180d(){const _0x25dc28=['split','sqlCode','name','144720Rzevxy','test','dbId','dbName','toLowerCase','code','sqlName','sqlRootDir','isDirectory','2264dLiHNh','length','indexOf','52193pupltY','.xml','filter','8670408PrNfzi','1643439QWjitC','1137iDFiXQ','mode','slice','mybatisXml','ENOENT','236105tFCKkU','isFile','push','2218224nfWcAT','sql'];a212_0x180d=function(){return _0x25dc28;};return a212_0x180d();}(function(_0x1f8168,_0x48025b){const _0x1a230a=a212_0x2cc1,_0x2fe439=_0x1f8168();while(!![]){try{const _0x269308=parseInt(_0x1a230a(0x16e))/0x1+-parseInt(_0x1a230a(0x162))/0x2+-parseInt(_0x1a230a(0x173))/0x3*(parseInt(_0x1a230a(0x16b))/0x4)+-parseInt(_0x1a230a(0x178))/0x5+-parseInt(_0x1a230a(0x15d))/0x6+-parseInt(_0x1a230a(0x172))/0x7+parseInt(_0x1a230a(0x171))/0x8;if(_0x269308===_0x48025b)break;else _0x2fe439['push'](_0x2fe439['shift']());}catch(_0x246f8e){_0x2fe439['push'](_0x2fe439['shift']());}}}(a212_0x180d,0x3032a));import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x322ecb){const _0x2a532a=a212_0x2cc1;if(_0x322ecb==='.sql')return _0x2a532a(0x15e);if(_0x322ecb===_0x2a532a(0x16f))return _0x2a532a(0x176);return undefined;}async function scanSqlFilesRecursively(_0x209822,_0x74786a){const _0x4397b5=a212_0x2cc1,_0x46062e=[];try{const _0x542fb8=await readdir(_0x209822,{'withFileTypes':!![]});for(const _0x1c67d3 of _0x542fb8){const _0x2857fe=join(_0x209822,_0x1c67d3[_0x4397b5(0x161)]);if(_0x1c67d3[_0x4397b5(0x16a)]()){_0x46062e[_0x4397b5(0x15c)](...await scanSqlFilesRecursively(_0x2857fe,_0x74786a));continue;}if(!_0x1c67d3[_0x4397b5(0x15b)]())continue;const _0x13e653=extname(_0x1c67d3[_0x4397b5(0x161)])[_0x4397b5(0x166)](),_0xd5385d=extensionToMode(_0x13e653);if(!_0xd5385d)continue;const _0x41b925=relative(_0x74786a,_0x2857fe)['replace'](/\\/g,'/'),_0x2c121b=_0x41b925[_0x4397b5(0x15f)]('/')[_0x4397b5(0x170)](Boolean),_0x425483=parseSqlPath(_0x2c121b,_0x1c67d3[_0x4397b5(0x161)],_0x13e653);if(!_0x425483)continue;_0x46062e['push']({'sqlCode':_0x425483[_0x4397b5(0x160)],'sqlName':_0x425483[_0x4397b5(0x168)],'dbDirectory':_0x2c121b[0x0],'filePath':_0x2857fe,'relativePath':_0x41b925,'lockKey':_0x425483['sqlCode'],'mode':_0xd5385d});}}catch(_0x73d896){if(_0x73d896[_0x4397b5(0x167)]!==_0x4397b5(0x177))throw _0x73d896;}return _0x46062e;}export async function scanLocalSqlQueries(_0x280263){const _0x16d2cd=a212_0x2cc1;return scanSqlFilesRecursively(_0x280263[_0x16d2cd(0x169)],_0x280263[_0x16d2cd(0x169)]);}export function resolveLocalSqlFilePath(_0x5c3173,_0x3a0d6a,_0x56e3da){const _0x310b93=a212_0x2cc1,_0x5761a4=_0x56e3da?.['path']||(_0x56e3da?.[_0x310b93(0x168)]||_0x56e3da?.[_0x310b93(0x165)]?buildSqlRelativePath(_0x3a0d6a,_0x56e3da?.[_0x310b93(0x168)],_0x56e3da?.[_0x310b93(0x165)],_0x56e3da?.[_0x310b93(0x174)]||_0x310b93(0x15e),_0x56e3da?.[_0x310b93(0x164)]):buildDefaultSqlFileName(_0x3a0d6a,_0x56e3da?.['mode']||'sql'));return join(_0x5c3173[_0x310b93(0x169)],_0x5761a4);}export async function directoryExists(_0x4a4b66){const _0x1050aa=a212_0x2cc1;try{const _0xdc8db8=await stat(_0x4a4b66);return _0xdc8db8[_0x1050aa(0x16a)]();}catch{return![];}}function parseSqlPath(_0x26ec1a,_0x2c85fd,_0x4d92e){const _0x15c733=a212_0x2cc1,_0x2ca7fa=_0x2c85fd[_0x15c733(0x175)](0x0,-_0x4d92e[_0x15c733(0x16c)]);if(_0x26ec1a[_0x15c733(0x16c)]<0x2)return null;const _0x114d0f=_0x2ca7fa[_0x15c733(0x16d)]('_');if(_0x114d0f<=0x0||_0x114d0f>=_0x2ca7fa[_0x15c733(0x16c)]-0x1)return null;const _0x16802c=_0x2ca7fa['slice'](0x0,_0x114d0f);if(!isLikelySqlCode(_0x16802c))return null;return{'sqlCode':_0x16802c,'sqlName':_0x2ca7fa[_0x15c733(0x175)](_0x114d0f+0x1)};}function a212_0x2cc1(_0x57b860,_0x50b093){_0x57b860=_0x57b860-0x15b;const _0x180d13=a212_0x180d();let _0x2cc1b9=_0x180d13[_0x57b860];return _0x2cc1b9;}function isLikelySqlCode(_0x47ef3a){const _0xc47de7=a212_0x2cc1;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0xc47de7(0x163)](_0x47ef3a);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x39fd44,_0x1e4186){const _0x5a7730=a213_0x58d9,_0x346365=_0x39fd44();while(!![]){try{const _0x5919d1=-parseInt(_0x5a7730(0x13d))/0x1*(parseInt(_0x5a7730(0x140))/0x2)+parseInt(_0x5a7730(0x141))/0x3+-parseInt(_0x5a7730(0x14c))/0x4+parseInt(_0x5a7730(0x149))/0x5*(parseInt(_0x5a7730(0x143))/0x6)+-parseInt(_0x5a7730(0x148))/0x7*(parseInt(_0x5a7730(0x142))/0x8)+parseInt(_0x5a7730(0x145))/0x9*(parseInt(_0x5a7730(0x146))/0xa)+parseInt(_0x5a7730(0x14b))/0xb*(parseInt(_0x5a7730(0x13c))/0xc);if(_0x5919d1===_0x1e4186)break;else _0x346365['push'](_0x346365['shift']());}catch(_0x2cdfd8){_0x346365['push'](_0x346365['shift']());}}}(a213_0x4769,0x901ef));import{readFile}from'node:fs/promises';import a213_0x6ce909 from'node:crypto';function a213_0x58d9(_0x2c19d4,_0x130ab2){_0x2c19d4=_0x2c19d4-0x13c;const _0x476911=a213_0x4769();let _0x58d90d=_0x476911[_0x2c19d4];return _0x58d90d;}export function computeSqlContentHash(_0xb80b43){const _0x3f914e=a213_0x58d9;return a213_0x6ce909[_0x3f914e(0x14a)](_0x3f914e(0x144))[_0x3f914e(0x147)](_0xb80b43)[_0x3f914e(0x13e)]('hex');}export async function computeSqlFileHash(_0x4b95d0){const _0x34cbe1=a213_0x58d9,_0x2ff9b7=await readFile(_0x4b95d0,_0x34cbe1(0x13f));return computeSqlContentHash(_0x2ff9b7);}function a213_0x4769(){const _0x4ddacd=['109626otSRiZ','md5','4414797FwTelZ','10rWPpfP','update','7cuyLim','60zRlasr','createHash','43747SYPTbR','1634744NaXaGa','3180NsKuep','1RrvzfT','digest','utf8','2069318YqhLEI','2499783TgtxYy','4506296kOTqOU'];a213_0x4769=function(){return _0x4ddacd;};return a213_0x4769();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a214_0x501b(){const _0x2ed589=['263944ZHHeEH','stringify','3716839xjdwex',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','279PUshyC','sqls','sqlRoot','8210iDYQll','\x22\x20vs\x20lock\x20\x22','\x22.\x20','303024tvkAXe','942vAgVmf','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','apps','1770kgOJGW','387955DJwEAc','64FypmEI','utf8','7073YGQdzR','1179764YPMyYG','lastSync','code','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20'];a214_0x501b=function(){return _0x2ed589;};return a214_0x501b();}(function(_0x52c35c,_0xea5c30){const _0x1de909=a214_0x1abb,_0x4b992e=_0x52c35c();while(!![]){try{const _0x4a13b0=parseInt(_0x1de909(0x12c))/0x1+-parseInt(_0x1de909(0x124))/0x2*(parseInt(_0x1de909(0x127))/0x3)+parseInt(_0x1de909(0x129))/0x4*(-parseInt(_0x1de909(0x128))/0x5)+parseInt(_0x1de909(0x123))/0x6+-parseInt(_0x1de909(0x11b))/0x7+-parseInt(_0x1de909(0x119))/0x8*(-parseInt(_0x1de909(0x11d))/0x9)+parseInt(_0x1de909(0x120))/0xa*(parseInt(_0x1de909(0x12b))/0xb);if(_0x4a13b0===_0xea5c30)break;else _0x4b992e['push'](_0x4b992e['shift']());}catch(_0x3ee275){_0x4b992e['push'](_0x4b992e['shift']());}}}(a214_0x501b,0xb2607));function a214_0x1abb(_0x3a2155,_0x1e224d){_0x3a2155=_0x3a2155-0x118;const _0x501b8b=a214_0x501b();let _0x1abb6f=_0x501b8b[_0x3a2155];return _0x1abb6f;}import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x552325,_0x1c5a39,_0x2c1b44,_0x5659a3){const _0x10737a=a214_0x1abb,_0x1944c4=_0x552325??createEmptySqlLock();let _0x13789d=_0x1944c4[_0x10737a(0x126)][_0x1c5a39];if(!_0x13789d)return _0x13789d={'sqlRoot':_0x2c1b44,'lastSync':'','sqls':{}},_0x1944c4['apps'][_0x1c5a39]=_0x13789d,{'lockData':_0x1944c4,'appLock':_0x13789d};if(!_0x13789d[_0x10737a(0x11f)])_0x13789d[_0x10737a(0x11f)]=_0x2c1b44;else{if(_0x13789d[_0x10737a(0x11f)]!==_0x2c1b44)throw new Error(_0x5659a3+_0x10737a(0x11c)+_0x2c1b44+_0x10737a(0x121)+_0x13789d[_0x10737a(0x11f)]+_0x10737a(0x122)+_0x10737a(0x125));}return!_0x13789d[_0x10737a(0x11e)]&&(_0x13789d['sqls']={}),!_0x13789d[_0x10737a(0x12d)]&&(_0x13789d[_0x10737a(0x12d)]=''),{'lockData':_0x1944c4,'appLock':_0x13789d};}export async function readSqlLockFile(_0x153eef){const _0x27f257=a214_0x1abb;try{const _0x45ba5d=await readFile(_0x153eef,_0x27f257(0x12a));return JSON['parse'](_0x45ba5d);}catch(_0x238d45){if(_0x238d45[_0x27f257(0x12e)]==='ENOENT')return null;throw new Error(_0x27f257(0x118)+String(_0x238d45));}}export async function writeSqlLockFile(_0xfde123,_0xae3525){const _0x47a9b7=a214_0x1abb;await mkdir(dirname(_0xfde123),{'recursive':!![]}),await writeFile(_0xfde123,JSON[_0x47a9b7(0x11a)](_0xae3525,null,0x2),_0x47a9b7(0x12a));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a216_0x339b(_0x44665d,_0x299dce){_0x44665d=_0x44665d-0x18a;const _0xb7b015=a216_0xb7b0();let _0x339b0c=_0xb7b015[_0x44665d];return _0x339b0c;}(function(_0x494f7e,_0x1381d1){const _0x1377c2=a216_0x339b,_0x407623=_0x494f7e();while(!![]){try{const _0x46b3e9=-parseInt(_0x1377c2(0x18c))/0x1*(-parseInt(_0x1377c2(0x19c))/0x2)+parseInt(_0x1377c2(0x194))/0x3*(-parseInt(_0x1377c2(0x18b))/0x4)+parseInt(_0x1377c2(0x19f))/0x5+-parseInt(_0x1377c2(0x18e))/0x6+parseInt(_0x1377c2(0x195))/0x7*(-parseInt(_0x1377c2(0x192))/0x8)+parseInt(_0x1377c2(0x199))/0x9*(-parseInt(_0x1377c2(0x193))/0xa)+-parseInt(_0x1377c2(0x18a))/0xb*(-parseInt(_0x1377c2(0x19b))/0xc);if(_0x46b3e9===_0x1381d1)break;else _0x407623['push'](_0x407623['shift']());}catch(_0xbaf077){_0x407623['push'](_0x407623['shift']());}}}(a216_0xb7b0,0x580d9));export function detectSqlMode(_0x175a6c){const _0x458ef3=a216_0x339b,_0x54905e=_0x175a6c['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x458ef3(0x19a)](_0x54905e))return _0x458ef3(0x190);return _0x458ef3(0x18d);}export function getSqlFileExtension(_0x2c79f9){const _0x3e4f12=a216_0x339b;return _0x2c79f9===_0x3e4f12(0x190)?_0x3e4f12(0x191):_0x3e4f12(0x196);}function a216_0xb7b0(){const _0x3c25eb=['50zKfisV','6483HbjDNX','116543XjmnPF','.sql','db-','replace','759447LQtWvW','test','12UvmNMr','44rHZrqt','unknown-sql','unknown-db','16135vjjwVm','16009026LvsotA','1208OISiLc','27901fyWiZE','sql','27306HIBDeD','trim','mybatisXml','.xml','304MqGccF'];a216_0xb7b0=function(){return _0x3c25eb;};return a216_0xb7b0();}export function buildDefaultSqlFileName(_0x1aa156,_0x110a16){return''+_0x1aa156+getSqlFileExtension(_0x110a16);}export function sanitizeSqlPathSegment(_0x366f49,_0x432513){const _0x2b4d9e=a216_0x339b,_0x558444=String(_0x366f49??'')[_0x2b4d9e(0x18f)](),_0x553206=_0x558444['replace'](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x2b4d9e(0x198)](/\s+/g,'-')[_0x2b4d9e(0x198)](/-+/g,'-')[_0x2b4d9e(0x198)](/^\.+/,'')[_0x2b4d9e(0x198)](/\.+$/,'')[_0x2b4d9e(0x198)](/^-+/,'')['replace'](/-+$/,'');return _0x553206||_0x432513;}export function buildDbDirectoryName(_0x2e72db,_0x193357){const _0x150a80=a216_0x339b;return sanitizeSqlPathSegment(_0x2e72db,_0x193357!=null?_0x150a80(0x197)+_0x193357:_0x150a80(0x19e));}export function buildSqlRelativePath(_0x338c44,_0x13372e,_0x2acd53,_0xcc8a02,_0x135a16){const _0x38ffa9=a216_0x339b,_0x595758=buildDbDirectoryName(_0x2acd53,_0x135a16),_0x19fa8b=sanitizeSqlPathSegment(_0x338c44,_0x38ffa9(0x19d)),_0x2325da=sanitizeSqlPathSegment(_0x13372e,_0x19fa8b);return _0x595758+'/'+_0x19fa8b+'_'+_0x2325da+getSqlFileExtension(_0xcc8a02);}
|
|
@@ -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_0x3396c9=a217_0x1920;(function(_0x292803,_0xe97588){const _0x447677=a217_0x1920,_0x27adb7=_0x292803();while(!![]){try{const _0x5a598b=parseInt(_0x447677(0xea))/0x1+parseInt(_0x447677(0xd8))/0x2+-parseInt(_0x447677(0xcb))/0x3+-parseInt(_0x447677(0xec))/0x4+parseInt(_0x447677(0x10f))/0x5*(-parseInt(_0x447677(0x109))/0x6)+-parseInt(_0x447677(0xe7))/0x7+parseInt(_0x447677(0x111))/0x8;if(_0x5a598b===_0xe97588)break;else _0x27adb7['push'](_0x27adb7['shift']());}catch(_0x2556d2){_0x27adb7['push'](_0x27adb7['shift']());}}}(a217_0x1d20,0x2cbbd));const MYBATIS_OUTER_TAGS=new Map([[a217_0x3396c9(0xd5),a217_0x3396c9(0xff)],[a217_0x3396c9(0xc8),'INSERT'],[a217_0x3396c9(0x112),a217_0x3396c9(0x106)],[a217_0x3396c9(0xd6),a217_0x3396c9(0x115)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a217_0x3396c9(0x114),a217_0x3396c9(0xe5),a217_0x3396c9(0xdd),'when',a217_0x3396c9(0xc5),a217_0x3396c9(0xc9),a217_0x3396c9(0x110),a217_0x3396c9(0x118),a217_0x3396c9(0xf4),a217_0x3396c9(0x119)]),MYBATIS_BRANCH_TAGS=new Set(['if',a217_0x3396c9(0xe5),a217_0x3396c9(0xdd),'when','otherwise']);export const MYBATIS_DYNAMIC_START_MARKER=a217_0x3396c9(0xcf);export const MYBATIS_DYNAMIC_END_MARKER=a217_0x3396c9(0xd2);export const MYBATIS_INCLUDE_MARKER=a217_0x3396c9(0xfb);function a217_0x1920(_0x25de0f,_0xcbfb90){_0x25de0f=_0x25de0f-0xc4;const _0x1d20ba=a217_0x1d20();let _0x192096=_0x1d20ba[_0x25de0f];return _0x192096;}const UNRESOLVED_SQL_FRAGMENT='__RABETBASE_UNRESOLVED_SQL_FRAGMENT__',MYBATIS_OUTER_TAG_PATTERN=new RegExp(a217_0x3396c9(0xce)+[...MYBATIS_OUTER_TAGS[a217_0x3396c9(0xfe)]()]['join']('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x53f914){const _0xe9232d=a217_0x3396c9,_0x4ff56a=typeof _0x53f914===_0xe9232d(0xd3)?_0x53f914:'';if(!startsWithMybatisStatementWrapper(_0x4ff56a))return{'sql':_0x4ff56a,'mode':'sql'};let _0x1a0722=0x0,_0x36ba24='',_0x4a310e,_0x4e6316=![],_0x567e26=![];const _0x3c3834=[];while(_0x1a0722<_0x4ff56a['length']){if(_0x4ff56a[_0xe9232d(0x100)](_0xe9232d(0xf5),_0x1a0722)){const _0x45b451=_0x4ff56a[_0xe9232d(0xe1)]('-->',_0x1a0722+0x4);if(_0x45b451<0x0)return invalidMybatisSource(_0xe9232d(0xd7));_0x36ba24+='\x20',_0x1a0722=_0x45b451+0x3;continue;}if(_0x4ff56a['startsWith'](_0xe9232d(0x103),_0x1a0722)){if(!_0x4e6316||_0x567e26)return invalidMybatisSource(_0xe9232d(0x102));const _0xab828=_0x4ff56a['indexOf'](_0xe9232d(0xe6),_0x1a0722+0x9);if(_0xab828<0x0)return invalidMybatisSource(_0xe9232d(0xe2));_0x36ba24+=_0x4ff56a[_0xe9232d(0xdb)](_0x1a0722+0x9,_0xab828),_0x1a0722=_0xab828+0x3;continue;}if(_0x4ff56a[_0xe9232d(0x100)]('<?',_0x1a0722)){if(_0x4e6316)return invalidMybatisSource('XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x2ebe28=_0x4ff56a[_0xe9232d(0xe1)]('?>',_0x1a0722+0x2);if(_0x2ebe28<0x0)return invalidMybatisSource(_0xe9232d(0xf8));_0x36ba24+='\x20',_0x1a0722=_0x2ebe28+0x2;continue;}if(_0x4ff56a[_0x1a0722]!=='<'){const _0x280e50=_0x4ff56a[_0xe9232d(0xe1)]('<',_0x1a0722),_0x32cc8b=_0x280e50<0x0?_0x4ff56a[_0xe9232d(0xeb)]:_0x280e50,_0xabb23=_0x4ff56a['slice'](_0x1a0722,_0x32cc8b);if((!_0x4e6316||_0x567e26)&&_0xabb23[_0xe9232d(0xc9)]())return invalidMybatisSource('SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');if(_0x4e6316&&!_0x567e26){const _0x5874c4=decodeXmlEntities(_0xabb23);if(_0x5874c4===null)return invalidMybatisSource(_0xe9232d(0x101));_0x36ba24+=_0x5874c4;}else _0x36ba24+='\x20';_0x1a0722=_0x32cc8b;continue;}const _0xb3c5=findXmlTagEnd(_0x4ff56a,_0x1a0722);if(_0xb3c5<0x0)return invalidMybatisSource(_0xe9232d(0xc7));const _0x5d781a=_0x4ff56a['slice'](_0x1a0722,_0xb3c5+0x1),_0x5d4d0c=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0xe9232d(0xee)](_0x5d781a);if(!_0x5d4d0c)return invalidMybatisSource(_0xe9232d(0xe4));const _0x3e0961=_0x5d4d0c[0x1]==='/',_0x340974=_0x5d4d0c[0x2]??'',_0x3d3c81=_0x340974[_0xe9232d(0xef)](),_0x42c396=_0x5d4d0c[0x3]??'',_0x35dc7e=_0x5d4d0c[0x4]==='/',_0x49f098=MYBATIS_OUTER_TAGS[_0xe9232d(0x10a)](_0x3d3c81);if(!_0x49f098&&!MYBATIS_DYNAMIC_TAGS['has'](_0x3d3c81))return invalidMybatisSource('Unsupported\x20MyBatis\x20XML\x20tag:\x20<'+_0x3d3c81+'>.');if(!_0x49f098&&_0x340974!==_0x3d3c81)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<'+_0x340974+'>.');if(_0x3e0961){if(_0x42c396['trim']()||_0x35dc7e)return invalidMybatisSource(_0xe9232d(0xd0)+_0x340974+'>.');const _0x3324e4=_0x3c3834['at'](-0x1);if(!_0x3324e4||(_0x3324e4['outer']?_0x3324e4['tagName']!==_0x3d3c81:_0x3324e4[_0xe9232d(0xca)]!==_0x340974))return invalidMybatisSource(_0xe9232d(0xcd)+_0x340974+'>.');_0x3c3834['pop']();if(_0x3324e4['outer'])_0x567e26=!![];_0x36ba24+=MYBATIS_BRANCH_TAGS['has'](_0x3d3c81)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x42c396))return invalidMybatisSource(_0xe9232d(0xd1)+_0x340974+'>.');if(_0x3d3c81==='property'&&(!_0x35dc7e||_0x3c3834['at'](-0x1)?.[_0xe9232d(0xd4)]!=='include'))return invalidMybatisSource(_0xe9232d(0xda));if(_0x49f098){if(_0x4e6316||_0x3c3834[_0xe9232d(0xeb)]>0x0)return invalidMybatisSource(_0xe9232d(0x10c));_0x4e6316=!![],_0x567e26=_0x35dc7e,_0x4a310e=_0x49f098;}else{if(!_0x4e6316||_0x567e26)return invalidMybatisSource(_0xe9232d(0xf0)+_0x340974+'>.');}_0x36ba24+=_0x3d3c81===_0xe9232d(0x114)?'\x20WHERE\x20':_0x3d3c81==='set'?_0xe9232d(0xdc):_0x3d3c81===_0xe9232d(0xf4)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0xe9232d(0xf7)](_0x3d3c81)&&!_0x35dc7e?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x35dc7e&&_0x3c3834[_0xe9232d(0xf2)]({'rawName':_0x340974,'tagName':_0x3d3c81,'outer':!!_0x49f098});}_0x1a0722=_0xb3c5+0x1;}if(_0x3c3834[_0xe9232d(0xeb)]>0x0)return invalidMybatisSource('Unclosed\x20MyBatis\x20XML\x20tag:\x20<'+_0x3c3834['at'](-0x1)?.[_0xe9232d(0xca)]+'>.');if(!_0x4e6316||!_0x567e26)return invalidMybatisSource('MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.');return{'sql':_0x36ba24[_0xe9232d(0xc9)](),'mode':'mybatisXml',..._0x4a310e?{'statementType':_0x4a310e}:{}};}function hasWellFormedXmlAttributes(_0x4adaa6){const _0x4075ae=a217_0x3396c9;let _0x230d85=0x0;const _0x280546=new Set();while(_0x230d85<_0x4adaa6[_0x4075ae(0xeb)]){while(_0x230d85<_0x4adaa6['length']&&/\s/[_0x4075ae(0xf6)](_0x4adaa6[_0x230d85]??''))_0x230d85+=0x1;if(_0x230d85>=_0x4adaa6[_0x4075ae(0xeb)])return!![];const _0x26b1c1=/^[A-Za-z_:][\w:.-]*/[_0x4075ae(0xee)](_0x4adaa6[_0x4075ae(0xdb)](_0x230d85)),_0x288a30=_0x26b1c1?.[0x0];if(!_0x288a30||_0x280546[_0x4075ae(0xf7)](_0x288a30))return![];_0x280546[_0x4075ae(0x11d)](_0x288a30),_0x230d85+=_0x288a30[_0x4075ae(0xeb)];while(_0x230d85<_0x4adaa6['length']&&/\s/['test'](_0x4adaa6[_0x230d85]??''))_0x230d85+=0x1;if(_0x4adaa6[_0x230d85]!=='=')return![];_0x230d85+=0x1;while(_0x230d85<_0x4adaa6[_0x4075ae(0xeb)]&&/\s/[_0x4075ae(0xf6)](_0x4adaa6[_0x230d85]??''))_0x230d85+=0x1;const _0x3d6efa=_0x4adaa6[_0x230d85];if(_0x3d6efa!=='\x22'&&_0x3d6efa!=='\x27')return![];_0x230d85+=0x1;const _0x32be8c=_0x4adaa6[_0x4075ae(0xe1)](_0x3d6efa,_0x230d85);if(_0x32be8c<0x0)return![];if(decodeXmlEntities(_0x4adaa6[_0x4075ae(0xdb)](_0x230d85,_0x32be8c))===null)return![];_0x230d85=_0x32be8c+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x50630f){const _0x2134de=a217_0x3396c9;let _0x236028=0x0;const _0x215019=()=>{const _0x1620cc=a217_0x1920;while(_0x236028<_0x50630f[_0x1620cc(0xeb)]&&/\s/['test'](_0x50630f[_0x236028]??''))_0x236028+=0x1;};_0x215019();while(_0x236028<_0x50630f['length']){if(_0x50630f[_0x2134de(0x100)](_0x2134de(0xf5),_0x236028)){const _0xe571d6=_0x50630f[_0x2134de(0xe1)]('-->',_0x236028+0x4);if(_0xe571d6<0x0)return!![];_0x236028=_0xe571d6+0x3,_0x215019();continue;}if(_0x50630f[_0x2134de(0x100)]('<?',_0x236028)){const _0x56a072=_0x50630f['indexOf']('?>',_0x236028+0x2);if(_0x56a072<0x0)return!![];_0x236028=_0x56a072+0x2,_0x215019();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x2134de(0xf6)](_0x50630f[_0x2134de(0xdb)](_0x236028));}function invalidMybatisSource(_0x2af781){const _0x5ee84a=a217_0x3396c9;return{'sql':'','mode':_0x5ee84a(0x11a),'error':_0x2af781};}function findXmlTagEnd(_0x167b25,_0x1823a2){let _0x27e850;for(let _0x31fa4e=_0x1823a2+0x1;_0x31fa4e<_0x167b25['length'];_0x31fa4e+=0x1){const _0x11e99c=_0x167b25[_0x31fa4e];if(_0x27e850){if(_0x11e99c===_0x27e850)_0x27e850=undefined;continue;}if(_0x11e99c==='\x22'||_0x11e99c==='\x27'){_0x27e850=_0x11e99c;continue;}if(_0x11e99c==='>')return _0x31fa4e;}return-0x1;}function decodeXmlEntities(_0x66f9af){const _0xc7a64a=a217_0x3396c9;let _0x4621c3=![];const _0x51b41c=_0x66f9af[_0xc7a64a(0xed)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x1dbf8a=>{const _0x33585b=_0xc7a64a;if(_0x1dbf8a===_0x33585b(0x116))return'<';if(_0x1dbf8a===_0x33585b(0xf1))return'>';if(_0x1dbf8a==='"')return'\x22';if(_0x1dbf8a===_0x33585b(0x10e))return'\x27';if(_0x1dbf8a===_0x33585b(0x11b))return'&';const _0x55a5c0=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x33585b(0xee)](_0x1dbf8a);if(_0x55a5c0){const _0x53b5fe=_0x55a5c0[0x1],_0x1e51a4=_0x55a5c0[0x2],_0xeb5648=Number[_0x33585b(0x104)](_0x53b5fe??_0x1e51a4??'',_0x53b5fe?0x10:0xa);if(isValidXmlCharacter(_0xeb5648))return String[_0x33585b(0x108)](_0xeb5648);}return _0x4621c3=!![],'';});return _0x4621c3?null:_0x51b41c;}function isValidXmlCharacter(_0x159950){return _0x159950===0x9||_0x159950===0xa||_0x159950===0xd||_0x159950>=0x20&&_0x159950<=0xd7ff||_0x159950>=0xe000&&_0x159950<=0xfffd||_0x159950>=0x10000&&_0x159950<=0x10ffff;}export function detectSqlType(_0x150c1b){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x150c1b));}function detectNormalizedSqlType(_0x1e6e57){const _0x37c3c4=a217_0x3396c9;if(_0x1e6e57['error'])return{'type':_0x37c3c4(0xe9),'isSelectOnly':![],'isDangerous':![],'reason':_0x1e6e57[_0x37c3c4(0xd9)]};if(!_0x1e6e57[_0x37c3c4(0xfd)]['trim']())return{'type':_0x37c3c4(0xe9),'isSelectOnly':![],'isDangerous':![],'reason':'SQL\x20content\x20is\x20empty'};const _0x1ca2da=stripStaticAnalysisMarkers(_0x1e6e57[_0x37c3c4(0xfd)])[_0x37c3c4(0xed)](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')[_0x37c3c4(0xed)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x37c3c4(0xed)](/\/\*[\s\S]*?\*\//g,'')['trim'](),_0x28b38d=_0x1ca2da[_0x37c3c4(0x105)]('\x0a');let _0x376e0d='';for(const _0x50626d of _0x28b38d){const _0x1ed0e0=_0x50626d['trim']();if(!_0x1ed0e0||_0x1ed0e0[_0x37c3c4(0x100)]('--')||_0x1ed0e0['startsWith']('/*'))continue;_0x376e0d=_0x1ed0e0;break;}const _0x5c9fa6=_0x376e0d[_0x37c3c4(0x11f)](),_0x116986=_0x1e6e57[_0x37c3c4(0xfc)],_0x180eb8=maskSqlTextForBlockedKeywordScan(_0x1ca2da),_0x2dc6c4=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x37c3c4(0xf6)](_0x180eb8);if(_0x116986==='SELECT'||!_0x116986&&(_0x5c9fa6[_0x37c3c4(0x100)](_0x37c3c4(0xff))||_0x5c9fa6['startsWith']('WITH'))){const _0x8fec54=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i['test'](_0x1ca2da);return{'type':_0x37c3c4(0xff),'isSelectOnly':!_0x8fec54,'isDangerous':_0x8fec54,'reason':_0x8fec54?_0x37c3c4(0xcc):undefined};}if(_0x116986===_0x37c3c4(0x11e)||!_0x116986&&_0x5c9fa6[_0x37c3c4(0x100)](_0x37c3c4(0x11e)))return{'type':_0x37c3c4(0x11e),'isSelectOnly':![],'isDangerous':_0x2dc6c4,'reason':_0x2dc6c4?_0x37c3c4(0xe8):undefined};if(_0x116986===_0x37c3c4(0x106)||!_0x116986&&_0x5c9fa6[_0x37c3c4(0x100)](_0x37c3c4(0x106)))return{'type':_0x37c3c4(0x106),'isSelectOnly':![],'isDangerous':_0x2dc6c4,'reason':_0x2dc6c4?_0x37c3c4(0xe8):undefined};if(_0x116986===_0x37c3c4(0x115)||!_0x116986&&_0x5c9fa6['startsWith'](_0x37c3c4(0x115)))return{'type':_0x37c3c4(0x115),'isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x37c3c4(0xf6)](_0x5c9fa6))return{'type':_0x37c3c4(0xf3),'isSelectOnly':![],'isDangerous':!![],'reason':_0x37c3c4(0x107)};return{'type':_0x37c3c4(0xe9),'isSelectOnly':![],'isDangerous':![]};}function a217_0x1d20(){const _0xf86342=['UNKNOWN','214746msMIcx','length','196156KqYRXs','replace','exec','toLowerCase','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','>','push','DDL','include','<!--','test','has','Unterminated\x20XML\x20declaration.','includes','replaceAll','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','statementType','sql','keys','SELECT','startsWith','Invalid\x20XML\x20entity\x20reference.','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','<![CDATA[','parseInt','split','UPDATE','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','fromCodePoint','684iHJBTU','get','\x20query\x20targeting\x20','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','match',''','11465zggaNs','set','3523120fzVfzm','update','matchAll','where','DELETE','<','join','bind','property','mybatisXml','&','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','add','INSERT','toUpperCase','\x20with\x20parameters:\x20','otherwise','unknown\x20table(s)','Unterminated\x20MyBatis\x20XML\x20tag.','insert','trim','rawName','305142FtPayc','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','^<\x5cs*(?:','__RABETBASE_MYBATIS_DYNAMIC_START__','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','__RABETBASE_MYBATIS_DYNAMIC_END__','string','tagName','select','delete','Unterminated\x20XML\x20comment.','128782omwRUq','error','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','slice','\x20SET\x20','choose','type','Unable\x20to\x20detect\x20SQL\x20type.\x20','reason','indexOf','Unterminated\x20CDATA\x20section.','from','Invalid\x20MyBatis\x20XML\x20tag.','foreach',']]>','869001RXsWeK','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements'];a217_0x1d20=function(){return _0xf86342;};return a217_0x1d20();}function stripStaticAnalysisMarkers(_0x17f270){const _0x24239f=a217_0x3396c9;return _0x17f270[_0x24239f(0xfa)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x24239f(0xfa)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x11cf5a){const _0xbf3300=a217_0x3396c9;return _0x11cf5a[_0xbf3300(0xed)](/'(?:''|\\.|[^'])*'/g,'\x20')['replace'](/"(?:""|\\.|[^"])*"/g,'\x20')[_0xbf3300(0xed)](/`(?:``|\\.|[^`])*`/g,'\x20')[_0xbf3300(0xed)](/--.*$/gm,'\x20')[_0xbf3300(0xed)](/#.*$/gm,'\x20')['replace'](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x2b625a){const _0x161e04=a217_0x3396c9,_0x415049=_0x2b625a[_0x161e04(0xed)](/#\{[^}]*\}/g,'?')[_0x161e04(0xed)](/\$\{[^}]*\}/g,'?')['replace'](/'[^']*'/g,'\x27\x27')[_0x161e04(0xed)](/--.*$/gm,'')[_0x161e04(0xed)](/\/\*[\s\S]*?\*\//g,''),_0x32e70b=[],_0x29d3ed=_0x415049['match'](/FROM\s+([^\s,)(]+)/i);addTable(_0x32e70b,_0x29d3ed?.[0x1]);for(const _0xdd5f19 of _0x415049[_0x161e04(0x113)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x32e70b,_0xdd5f19[0x1]);}const _0x682252=_0x415049[_0x161e04(0x10d)](/INTO\s+([^\s(]+)/i);addTable(_0x32e70b,_0x682252?.[0x1]);const _0x387638=_0x415049[_0x161e04(0x10d)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x32e70b,_0x387638?.[0x1]),_0x32e70b;}function addTable(_0x4f7858,_0x398b0b){const _0x39331e=a217_0x3396c9,_0x25ce4c=_0x398b0b?.[_0x39331e(0xed)](/[`"]/g,'');_0x25ce4c&&_0x25ce4c!==UNRESOLVED_SQL_FRAGMENT&&!_0x4f7858[_0x39331e(0xf9)](_0x25ce4c)&&_0x4f7858[_0x39331e(0xf2)](_0x25ce4c);}function extractParameters(_0x2aab21){const _0x2b7b27=a217_0x3396c9,_0x161b15=new Set();for(const _0x5f4633 of _0x2aab21[_0x2b7b27(0x113)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x5f4633[0x1])_0x161b15[_0x2b7b27(0x11d)](_0x5f4633[0x1]);}return Array[_0x2b7b27(0xe3)](_0x161b15);}export function validateSql(_0x3839ec){const _0x2b41aa=a217_0x3396c9,_0x4898aa=normalizeSqlForStaticAnalysis(_0x3839ec),_0x1aafb4=detectNormalizedSqlType(_0x4898aa),_0x2eda5f=stripStaticAnalysisMarkers(_0x4898aa[_0x2b41aa(0xfd)]),_0x30264a=_0x4898aa['error']?[]:extractTables(_0x2eda5f),_0x29492e=_0x4898aa[_0x2b41aa(0xd9)]?[]:extractParameters(_0x2eda5f);if(_0x1aafb4['isDangerous'])return{'valid':![],'sqlType':_0x1aafb4,'tables':_0x30264a,'parameters':_0x29492e,'message':_0x1aafb4[_0x2b41aa(0xe0)]||_0x1aafb4['type']+'\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.'};if(_0x1aafb4[_0x2b41aa(0xde)]===_0x2b41aa(0xe9))return{'valid':![],'sqlType':_0x1aafb4,'tables':_0x30264a,'parameters':_0x29492e,'message':_0x4898aa[_0x2b41aa(0xd9)]?_0x2b41aa(0xdf)+_0x4898aa[_0x2b41aa(0xd9)]:_0x2b41aa(0x11c)};return{'valid':!![],'sqlType':_0x1aafb4,'tables':_0x30264a,'parameters':_0x29492e,'message':_0x1aafb4[_0x2b41aa(0xde)]+_0x2b41aa(0x10b)+(_0x30264a[_0x2b41aa(0xeb)]?_0x30264a['join'](',\x20'):_0x2b41aa(0xc6))+(_0x29492e['length']?_0x2b41aa(0xc4)+_0x29492e[_0x2b41aa(0x117)](',\x20'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a218_0x2fb8f0=a218_0x3e75;(function(_0x132be6,_0x51fb83){const _0xf18819=a218_0x3e75,_0x18f949=_0x132be6();while(!![]){try{const _0x3bc15b=parseInt(_0xf18819(0x147))/0x1*(parseInt(_0xf18819(0x14c))/0x2)+parseInt(_0xf18819(0x148))/0x3*(-parseInt(_0xf18819(0x13f))/0x4)+-parseInt(_0xf18819(0x13d))/0x5+-parseInt(_0xf18819(0x140))/0x6*(parseInt(_0xf18819(0x142))/0x7)+-parseInt(_0xf18819(0x143))/0x8*(parseInt(_0xf18819(0x14a))/0x9)+parseInt(_0xf18819(0x144))/0xa+-parseInt(_0xf18819(0x14e))/0xb*(-parseInt(_0xf18819(0x14d))/0xc);if(_0x3bc15b===_0x51fb83)break;else _0x18f949['push'](_0x18f949['shift']());}catch(_0x364981){_0x18f949['push'](_0x18f949['shift']());}}}(a218_0x4f27,0xcecec));function a218_0x3e75(_0x4e1bae,_0x2c8215){_0x4e1bae=_0x4e1bae-0x13d;const _0x4f27c5=a218_0x4f27();let _0x3e7508=_0x4f27c5[_0x4e1bae];return _0x3e7508;}import{CliError,createCliErrors}from'@lovrabet/cli-framework';function a218_0x4f27(){const _0x21a447=['42JInqIo','Set\x20appcode\x20via\x20`','6976197ovZtOK','Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.','405986mQlTUv','96FivxIW','1190288gqsGEa','3242515oHNvlw','Run\x20`','33684cePjvF','54rixBfW','\x0a\x20\x20\x20\x20\x20\x20\x20','169134Qatwcc','8TcCQLs','15374150hObWZQ','Tip:\x20`','join','1kKWTLA'];a218_0x4f27=function(){return _0x21a447;};return a218_0x4f27();}import{CLI_BIN_NAME}from'./constant/cli.js';export{CliError};export const CliErrors=createCliErrors({'cliBinName':CLI_BIN_NAME,'authRequiredHint':a218_0x2fb8f0(0x13e)+CLI_BIN_NAME+'\x20auth`\x20to\x20login\x20first.','configMissingHint':[a218_0x2fb8f0(0x149)+CLI_BIN_NAME+'\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.',a218_0x2fb8f0(0x145)+CLI_BIN_NAME+'\x20init\x20--appcode\x20<code>\x20--global`\x20registers\x20globally\x20so\x20you\x20can\x20use\x20it\x20from\x20anywhere.'][a218_0x2fb8f0(0x146)](a218_0x2fb8f0(0x141)),'notInProjectHint':a218_0x2fb8f0(0x14b)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x44b3cc,_0x104e78){const _0x1ec8a5=a219_0x1e86,_0x451031=_0x44b3cc();while(!![]){try{const _0x572b3b=parseInt(_0x1ec8a5(0x130))/0x1+-parseInt(_0x1ec8a5(0x136))/0x2+parseInt(_0x1ec8a5(0x135))/0x3+-parseInt(_0x1ec8a5(0x138))/0x4*(-parseInt(_0x1ec8a5(0x134))/0x5)+-parseInt(_0x1ec8a5(0x133))/0x6*(parseInt(_0x1ec8a5(0x131))/0x7)+parseInt(_0x1ec8a5(0x139))/0x8+-parseInt(_0x1ec8a5(0x12f))/0x9;if(_0x572b3b===_0x104e78)break;else _0x451031['push'](_0x451031['shift']());}catch(_0x3e2714){_0x451031['push'](_0x451031['shift']());}}}(a219_0x17ce,0xbf0d0));function a219_0x1e86(_0x439c13,_0x173dfb){_0x439c13=_0x439c13-0x12f;const _0x17ce3b=a219_0x17ce();let _0x1e86b2=_0x17ce3b[_0x439c13];return _0x1e86b2;}import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';import{buildAllFlags as a219_0x1d4553}from'@lovrabet/cli-framework';import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';function a219_0x17ce(){const _0x2fa9da=['842364ngUXPP','642002tpqaGf','name','1676OtniBl','11120640XLiJTf','15127299uOZQsv','623322OLIPHg','35Aahwcv','map','1080594IzwZRY','16595ggxsnZ'];a219_0x17ce=function(){return _0x2fa9da;};return a219_0x17ce();}export function buildAllFlags(_0x2efc16){const _0x2238d6=a219_0x1e86,_0x54d5b4=a219_0x1d4553(_0x2efc16,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x2efc16))return _0x54d5b4;return _0x54d5b4[_0x2238d6(0x132)](_0x4e78d2=>_0x4e78d2[_0x2238d6(0x137)]==='yes'?{..._0x4e78d2,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x4e78d2);}
|