@lovrabet/rabetbase-cli 2.3.13-beta.1 → 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
|
-
|
|
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
|
-
(function(
|
|
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(_0x573a6c,_0x5cbf55){const _0x569fc1=a209_0x1240,_0x49143c=_0x573a6c();while(!![]){try{const _0xa457f2=parseInt(_0x569fc1(0x1f6))/0x1*(parseInt(_0x569fc1(0x1ec))/0x2)+-parseInt(_0x569fc1(0x1ce))/0x3+-parseInt(_0x569fc1(0x1e3))/0x4*(parseInt(_0x569fc1(0x1fc))/0x5)+parseInt(_0x569fc1(0x206))/0x6*(parseInt(_0x569fc1(0x1dd))/0x7)+parseInt(_0x569fc1(0x1d4))/0x8+-parseInt(_0x569fc1(0x1da))/0x9+parseInt(_0x569fc1(0x20d))/0xa;if(_0xa457f2===_0x5cbf55)break;else _0x49143c['push'](_0x49143c['shift']());}catch(_0x107eac){_0x49143c['push'](_0x49143c['shift']());}}}(a209_0x3a19,0xb13e2));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x33a973,_0x253d82){const _0x24c293=a209_0x1240,_0x2081d3=[],_0x328a35=normalizeSqlForStaticAnalysis(_0x33a973),_0x430adb=(_0x328a35[_0x24c293(0x202)]?[]:extractJoinFacts(_0x328a35[_0x24c293(0x1f4)]))[_0x24c293(0x1e2)](_0x568a30=>{const _0x1ef67e=_0x24c293;if(_0x568a30['unsupportedPredicate']||_0x568a30['columns']['length']===0x0)return _0x2081d3['push']({'code':'JOIN_PREDICATE_UNSUPPORTED','table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30[_0x1ef67e(0x1d3)],'columns':_0x568a30[_0x1ef67e(0x1db)],'reason':_0x568a30[_0x1ef67e(0x1fd)]??'Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.'}),{'table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30[_0x1ef67e(0x1d3)],'columns':_0x568a30[_0x1ef67e(0x1db)],'status':'unavailable'};const _0x314343=resolveTableMetadata(_0x253d82,_0x568a30['table']),_0x4885db=(_0x314343?.[_0x1ef67e(0x1d6)]??[])[_0x1ef67e(0x1e2)](_0x291ba9=>({'index':_0x291ba9,'matchedPrefix':findEqualityPrefix(_0x291ba9[_0x1ef67e(0x1db)],_0x568a30[_0x1ef67e(0x1db)])}))['filter'](_0x26d8e5=>_0x26d8e5[_0x1ef67e(0x1fb)][_0x1ef67e(0x207)]>0x0),_0x1ca38f=_0x4885db[_0x1ef67e(0x1df)]((_0x203a80,_0x248ed6)=>!_0x203a80||_0x248ed6[_0x1ef67e(0x1fb)][_0x1ef67e(0x207)]>_0x203a80['matchedPrefix']['length']?_0x248ed6:_0x203a80,_0x4885db[0x0]);if(_0x1ca38f)return{'table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30[_0x1ef67e(0x1d3)],'columns':_0x568a30[_0x1ef67e(0x1db)],'status':_0x1ef67e(0x1f7),'matchedIndex':{..._0x1ca38f[_0x1ef67e(0x1e7)],'matchedPrefix':_0x1ca38f[_0x1ef67e(0x1fb)]}};const _0x1b5cf9=_0x314343?.[_0x1ef67e(0x1d6)][_0x1ef67e(0x205)](_0x57021b=>_0x57021b[_0x1ef67e(0x1db)]['some'](_0x188125=>_0x568a30[_0x1ef67e(0x1db)]['some'](_0x144e0e=>columnNamesMatch(_0x188125,_0x144e0e))))??[];if(_0x1b5cf9['length']>0x0)return _0x2081d3['push']({'code':_0x1ef67e(0x20a),'table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30[_0x1ef67e(0x1d3)],'columns':_0x568a30[_0x1ef67e(0x1db)],'reason':_0x1ef67e(0x1f0)}),{'table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30['alias'],'columns':_0x568a30[_0x1ef67e(0x1db)],'status':_0x1ef67e(0x1e6),'candidateIndexes':_0x1b5cf9};if(_0x314343&&_0x314343['metadataAvailable']!==![]&&_0x314343[_0x1ef67e(0x1d6)][_0x1ef67e(0x207)]>0x0&&_0x568a30[_0x1ef67e(0x1db)]['length']>0x0)return _0x2081d3['push']({'code':_0x1ef67e(0x1ee),'table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30[_0x1ef67e(0x1d3)],'columns':_0x568a30['columns'],'reason':_0x1ef67e(0x1d2)}),{'table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30[_0x1ef67e(0x1d3)],'columns':_0x568a30[_0x1ef67e(0x1db)],'status':_0x1ef67e(0x1e6)};return _0x2081d3[_0x1ef67e(0x1cc)]({'code':'INDEX_METADATA_UNAVAILABLE','table':_0x568a30['table'],'alias':_0x568a30['alias'],'columns':_0x568a30[_0x1ef67e(0x1db)],'reason':_0x314343?_0x1ef67e(0x1f5):_0x1ef67e(0x1f3)}),{'table':_0x568a30[_0x1ef67e(0x1fa)],'alias':_0x568a30['alias'],'columns':_0x568a30[_0x1ef67e(0x1db)],'status':_0x1ef67e(0x1dc)};});return{'checked':_0x430adb[_0x24c293(0x207)]>0x0,'joins':_0x430adb,'warnings':_0x2081d3};}function extractJoinFacts(_0x530669){const _0x29fc5a=a209_0x1240,_0x5cf5db=maskNestedQueries(stripSqlNoise(_0x530669)),_0x36b627=maskQuotedIdentifiers(_0x5cf5db),_0x59edb4=[],_0x460cc3=new Set(),_0x191cf3=/\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 _0x17646f of _0x5cf5db[_0x29fc5a(0x1f9)](_0x191cf3)){const _0x2ba89c=_0x17646f[_0x29fc5a(0x1e7)]??0x0,_0xc0c919=_0x17646f[0x0]['search'](/\bJOIN\b/i),_0x15079e=_0x2ba89c+Math[_0x29fc5a(0x201)](0x0,_0xc0c919);if(!/^JOIN\b/i[_0x29fc5a(0x1ff)](_0x36b627[_0x29fc5a(0x1ea)](_0x15079e)))continue;_0x460cc3['add'](_0x15079e);const _0x3b2691=normalizeIdentifier(_0x17646f[0x1]||_0x29fc5a(0x20f)),_0x217dca=normalizeIdentifier(_0x17646f[0x2]??''),_0x12fd44=normalizeIdentifier(_0x17646f[0x3]||_0x217dca['split']('.')['at'](-0x1)||_0x217dca),_0x19e853=[],_0x1aa3ea=_0x217dca===_0x29fc5a(0x1f2);let _0x3c3a15=_0x3b2691===_0x29fc5a(0x1ca)||_0x3b2691==='full'||_0x1aa3ea,_0x5b1ef9=_0x3c3a15?_0x1aa3ea?'Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.':_0x3b2691[_0x29fc5a(0x1ed)]()+_0x29fc5a(0x1f1):undefined;const _0x179f39=stripOuterParentheses(_0x17646f[0x4]??''),_0x5d2f1e=_0x179f39[_0x29fc5a(0x1e5)](MYBATIS_DYNAMIC_START_MARKER)||_0x179f39['includes'](MYBATIS_DYNAMIC_END_MARKER),_0x463cc2=_0x179f39[_0x29fc5a(0x1e5)](MYBATIS_INCLUDE_MARKER);_0x5d2f1e&&(_0x3c3a15=!![],_0x5b1ef9??=_0x29fc5a(0x1f8));_0x463cc2&&(_0x3c3a15=!![],_0x5b1ef9??=_0x29fc5a(0x1d5));const _0x507e73=_0x179f39['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x29fc5a(0x1e1)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x29fc5a(0x1e1)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x507e73,'OR')&&(_0x3c3a15=!![],_0x5b1ef9??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.');for(const _0x252882 of splitTopLevelAnd(_0x507e73)){const _0x197c5b=stripOuterParentheses(_0x252882);if(hasTopLevelKeyword(_0x197c5b,'OR')){_0x3c3a15=!![],_0x5b1ef9??=_0x29fc5a(0x1d8);continue;}const _0x2bde65=splitEquality(_0x197c5b);if(!_0x2bde65){containsColumnReference(_0x252882,_0x12fd44)&&(_0x3c3a15=!![]);continue;}const _0x52a4f6=parseDirectColumnReference(_0x2bde65[0x0],_0x12fd44),_0x57bf7f=parseDirectColumnReference(_0x2bde65[0x1],_0x12fd44),_0x3881ce=containsColumnReference(_0x2bde65[0x0],_0x12fd44),_0x4808e6=containsColumnReference(_0x2bde65[0x1],_0x12fd44),_0x4fb845=_0x52a4f6&&!_0x4808e6?_0x52a4f6:_0x57bf7f&&!_0x3881ce?_0x57bf7f:null;if(_0x4fb845&&!_0x19e853[_0x29fc5a(0x1e5)](_0x4fb845))_0x19e853['push'](_0x4fb845);else!_0x4fb845&&containsColumnReference(_0x252882,_0x12fd44)&&(_0x3c3a15=!![]);}_0x59edb4['push']({'table':_0x217dca,'alias':_0x12fd44,'columns':_0x19e853,'unsupportedPredicate':_0x3c3a15,'unsupportedReason':_0x5b1ef9,'containsUnresolvedInclude':_0x463cc2,'position':_0x15079e});}for(const _0x56f042 of _0x36b627[_0x29fc5a(0x1f9)](/\bJOIN\b/gi)){const _0x44df5e=_0x56f042[_0x29fc5a(0x1e7)]??0x0;if(_0x460cc3[_0x29fc5a(0x1d9)](_0x44df5e))continue;const _0x58241e=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x29fc5a(0x1cb)](_0x5cf5db[_0x29fc5a(0x1ea)](_0x44df5e+_0x56f042[0x0][_0x29fc5a(0x207)])),_0x3a47d9=normalizeIdentifier(_0x58241e?.[0x1]||_0x29fc5a(0x204)),_0x342829=normalizeIdentifier(_0x58241e?.[0x2]||''),_0xc93be3=isSqlClauseKeyword(_0x342829)?_0x3a47d9[_0x29fc5a(0x1fe)]('.')['at'](-0x1)||_0x3a47d9:_0x342829||_0x3a47d9[_0x29fc5a(0x1fe)]('.')['at'](-0x1)||_0x3a47d9;_0x59edb4['push']({'table':_0x3a47d9,'alias':_0xc93be3,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','position':_0x44df5e});}const _0x2fd55e=_0x36b627['indexOf'](MYBATIS_INCLUDE_MARKER);return _0x2fd55e>=0x0&&!_0x59edb4[_0x29fc5a(0x1eb)](_0x4b929d=>_0x4b929d[_0x29fc5a(0x1ef)])&&_0x59edb4[_0x29fc5a(0x1cc)]({'table':_0x29fc5a(0x204),'alias':_0x29fc5a(0x204),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x29fc5a(0x1e4),'containsUnresolvedInclude':!![],'position':_0x2fd55e}),_0x59edb4[_0x29fc5a(0x200)]((_0x2ed930,_0x33ab96)=>_0x2ed930[_0x29fc5a(0x208)]-_0x33ab96[_0x29fc5a(0x208)]);}function stripSqlNoise(_0x1a674d){const _0x55c656=a209_0x1240,_0x2693f2=Array[_0x55c656(0x203)](_0x1a674d),_0x4b7e15=(_0x292ae0,_0x5382f0)=>{for(let _0x9e82d0=_0x292ae0;_0x9e82d0<_0x5382f0;_0x9e82d0+=0x1){_0x2693f2[_0x9e82d0]!=='\x0a'&&_0x2693f2[_0x9e82d0]!=='\x0d'&&(_0x2693f2[_0x9e82d0]='\x20');}};for(let _0x58e733=0x0;_0x58e733<_0x2693f2[_0x55c656(0x207)];_0x58e733+=0x1){const _0x47da72=_0x2693f2[_0x58e733],_0x3af426=_0x2693f2[_0x58e733+0x1];if(_0x47da72==='\x27'||_0x47da72==='\x22'||_0x47da72==='`'){const _0xdbcdff=_0x47da72,_0x101717=_0x58e733;_0x58e733+=0x1;while(_0x58e733<_0x2693f2[_0x55c656(0x207)]){if(_0x2693f2[_0x58e733]==='\x5c'&&_0x58e733+0x1<_0x2693f2['length']){_0x58e733+=0x2;continue;}if(_0x2693f2[_0x58e733]!==_0xdbcdff){_0x58e733+=0x1;continue;}if(_0x2693f2[_0x58e733+0x1]===_0xdbcdff){_0x58e733+=0x2;continue;}break;}if(_0xdbcdff==='\x27')_0x4b7e15(_0x101717,Math[_0x55c656(0x1e9)](_0x58e733+0x1,_0x2693f2['length']));continue;}if(_0x47da72==='-'&&_0x3af426==='-'){const _0x5e567b=_0x58e733;while(_0x58e733<_0x2693f2[_0x55c656(0x207)]&&_0x2693f2[_0x58e733]!=='\x0a')_0x58e733+=0x1;_0x4b7e15(_0x5e567b,_0x58e733);continue;}if(_0x47da72==='/'&&_0x3af426==='*'){const _0xdb1b67=_0x58e733;_0x58e733+=0x2;while(_0x58e733<_0x2693f2[_0x55c656(0x207)]&&!(_0x2693f2[_0x58e733]==='*'&&_0x2693f2[_0x58e733+0x1]==='/')){_0x58e733+=0x1;}_0x58e733=Math['min'](_0x58e733+0x1,_0x2693f2[_0x55c656(0x207)]-0x1),_0x4b7e15(_0xdb1b67,_0x58e733+0x1);continue;}if(_0x47da72==='#'&&_0x3af426!=='{'){const _0x1b9cf1=_0x58e733;while(_0x58e733<_0x2693f2['length']&&_0x2693f2[_0x58e733]!=='\x0a')_0x58e733+=0x1;_0x4b7e15(_0x1b9cf1,_0x58e733);continue;}if((_0x47da72==='#'||_0x47da72==='$')&&_0x3af426==='{'){const _0x1b9f7a=_0x58e733;_0x58e733+=0x2;while(_0x58e733<_0x2693f2[_0x55c656(0x207)]&&_0x2693f2[_0x58e733]!=='}')_0x58e733+=0x1;_0x4b7e15(_0x1b9f7a,Math['min'](_0x58e733+0x1,_0x2693f2[_0x55c656(0x207)]));}}return _0x2693f2['join']('');}function a209_0x1240(_0x96d0ad,_0x3cf987){_0x96d0ad=_0x96d0ad-0x1ca;const _0x3a19cd=a209_0x3a19();let _0x12409c=_0x3a19cd[_0x96d0ad];return _0x12409c;}function maskQuotedIdentifiers(_0x76090e){const _0xf77adf=a209_0x1240,_0x20bdf7=Array['from'](_0x76090e);for(let _0x535ad7=0x0;_0x535ad7<_0x20bdf7[_0xf77adf(0x207)];_0x535ad7+=0x1){const _0x430c26=_0x20bdf7[_0x535ad7];if(_0x430c26!=='\x22'&&_0x430c26!=='`')continue;_0x535ad7+=0x1;while(_0x535ad7<_0x20bdf7[_0xf77adf(0x207)]){if(_0x20bdf7[_0x535ad7]===_0x430c26){if(_0x20bdf7[_0x535ad7+0x1]===_0x430c26){_0x20bdf7[_0x535ad7]='\x20',_0x20bdf7[_0x535ad7+0x1]='\x20',_0x535ad7+=0x2;continue;}break;}_0x20bdf7[_0x535ad7]='\x20',_0x535ad7+=0x1;}}return _0x20bdf7[_0xf77adf(0x1de)]('');}function maskNestedQueries(_0x1375a6){const _0x28f620=a209_0x1240,_0x1bc2ea=Array['from'](_0x1375a6);for(let _0x3837b5=0x0;_0x3837b5<_0x1bc2ea[_0x28f620(0x207)];_0x3837b5+=0x1){if(_0x1bc2ea[_0x3837b5]!=='(')continue;const _0x44d32f=_0x1375a6[_0x28f620(0x1ea)](_0x3837b5+0x1);if(!/^\s*(?:SELECT|WITH)\b/i['test'](_0x44d32f))continue;let _0x5ae7a4=0x1,_0x26720d=_0x3837b5+0x1;for(;_0x26720d<_0x1bc2ea[_0x28f620(0x207)]&&_0x5ae7a4>0x0;_0x26720d+=0x1){if(_0x1bc2ea[_0x26720d]==='(')_0x5ae7a4+=0x1;if(_0x1bc2ea[_0x26720d]===')')_0x5ae7a4-=0x1;}if(_0x5ae7a4!==0x0)continue;for(let _0x55aa30=_0x3837b5;_0x55aa30<_0x26720d;_0x55aa30+=0x1){_0x1bc2ea[_0x55aa30]='\x20';}const _0x23028a=_0x28f620(0x1f2);for(let _0x4fd345=0x0;_0x4fd345<_0x23028a[_0x28f620(0x207)]&&_0x3837b5+_0x4fd345<_0x26720d;_0x4fd345+=0x1){_0x1bc2ea[_0x3837b5+_0x4fd345]=_0x23028a[_0x4fd345];}_0x3837b5=_0x26720d-0x1;}return _0x1bc2ea[_0x28f620(0x1de)]('');}function splitTopLevelAnd(_0xace8f1){const _0x3a515c=a209_0x1240,_0x8ea65b=[];let _0x34b3b1=0x0,_0x80c3df=0x0;for(let _0x15cdcc=0x0;_0x15cdcc<_0xace8f1[_0x3a515c(0x207)];_0x15cdcc+=0x1){const _0x55a797=_0xace8f1[_0x15cdcc];if(_0x55a797==='(')_0x34b3b1+=0x1;if(_0x55a797===')')_0x34b3b1=Math['max'](0x0,_0x34b3b1-0x1);_0x34b3b1===0x0&&_0xace8f1['slice'](_0x15cdcc)['match'](/^AND\b/i)&&(_0x15cdcc===0x0||/\s/[_0x3a515c(0x1ff)](_0xace8f1[_0x15cdcc-0x1]??''))&&(_0x8ea65b[_0x3a515c(0x1cc)](_0xace8f1['slice'](_0x80c3df,_0x15cdcc)['trim']()),_0x15cdcc+=0x2,_0x80c3df=_0x15cdcc+0x1);}const _0x17b49d=_0xace8f1[_0x3a515c(0x1ea)](_0x80c3df)[_0x3a515c(0x1d1)]();if(_0x17b49d)_0x8ea65b[_0x3a515c(0x1cc)](_0x17b49d);return _0x8ea65b;}function hasTopLevelKeyword(_0x5595cb,_0x1b0825){const _0x187a06=a209_0x1240;let _0x4f91cc=0x0;for(let _0x19ec0c=0x0;_0x19ec0c<_0x5595cb[_0x187a06(0x207)];_0x19ec0c+=0x1){const _0xb514fd=_0x5595cb[_0x19ec0c];if(_0xb514fd==='(')_0x4f91cc+=0x1;if(_0xb514fd===')')_0x4f91cc=Math['max'](0x0,_0x4f91cc-0x1);if(_0x4f91cc!==0x0)continue;const _0x21370c=_0x5595cb['slice'](_0x19ec0c,_0x19ec0c+_0x1b0825[_0x187a06(0x207)]),_0x51793d=_0x5595cb[_0x19ec0c-0x1]??'\x20',_0x5259c4=_0x5595cb[_0x19ec0c+_0x1b0825['length']]??'\x20';if(_0x21370c[_0x187a06(0x1ed)]()===_0x1b0825['toUpperCase']()&&!/[\w$]/[_0x187a06(0x1ff)](_0x51793d)&&!/[\w$]/[_0x187a06(0x1ff)](_0x5259c4))return!![];}return![];}function splitEquality(_0x1e447a){const _0x36a37f=a209_0x1240,_0x5e03b7=stripOuterParentheses(_0x1e447a);let _0x5d951f=0x0,_0x3372cf;for(let _0x41b90c=0x0;_0x41b90c<_0x5e03b7[_0x36a37f(0x207)];_0x41b90c+=0x1){const _0x42ac5c=_0x5e03b7[_0x41b90c];if(_0x42ac5c==='(')_0x5d951f+=0x1;if(_0x42ac5c===')')_0x5d951f=Math['max'](0x0,_0x5d951f-0x1);const _0x502bc8=_0x5e03b7[_0x41b90c-0x1]??'',_0x4c73c7=_0x5e03b7[_0x41b90c+0x1]??'';if(_0x42ac5c==='='&&_0x5d951f===0x0&&!/[!<>=:]/[_0x36a37f(0x1ff)](_0x502bc8)&&_0x4c73c7!=='='){if(_0x3372cf!==undefined)return null;_0x3372cf=_0x41b90c;}}return _0x3372cf===undefined?null:[_0x5e03b7[_0x36a37f(0x1ea)](0x0,_0x3372cf)[_0x36a37f(0x1d1)](),_0x5e03b7['slice'](_0x3372cf+0x1)[_0x36a37f(0x1d1)]()];}function parseDirectColumnReference(_0x386131,_0xd36c31){const _0x1d2055=a209_0x1240,_0x3ea3c2=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x1d2055(0x1cb)](stripOuterParentheses(_0x386131));if(!_0x3ea3c2)return null;if(normalizeIdentifier(_0x3ea3c2[0x1]??'')!==normalizeIdentifier(_0xd36c31))return null;return normalizeIdentifier(_0x3ea3c2[0x2]??'');}function containsColumnReference(_0x48c9a6,_0x4d4778){const _0x101f5d=a209_0x1240,_0x24294e=_0x48c9a6[_0x101f5d(0x20e)](/[`"]/g,''),_0x493839=_0x4d4778['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&');return new RegExp(_0x101f5d(0x209)+_0x493839+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')[_0x101f5d(0x1ff)](_0x24294e);}function findEqualityPrefix(_0xbfb7b,_0x2a6857){const _0x4803f1=a209_0x1240,_0x51864c=new Set(_0x2a6857[_0x4803f1(0x1e2)](normalizeIdentifier)),_0x48f539=[];for(const _0x1d9cdf of _0xbfb7b){if(!_0x51864c[_0x4803f1(0x1d9)](normalizeIdentifier(_0x1d9cdf)))break;_0x48f539[_0x4803f1(0x1cc)](_0x1d9cdf);}return _0x48f539;}function a209_0x3a19(){const _0x15ab56=['MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','indexes','inner','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','has','491184NgQMbE','columns','unavailable','2062438dGztTM','join','reduce','left','replaceAll','map','181732KyYZLi','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','includes','warning','index','tableName','min','slice','some','3238wFPVhr','toUpperCase','JOIN_INDEX_MISSING','containsUnresolvedInclude','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','__sq__','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','sql','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','57yEWeGJ','covered','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','matchAll','table','matchedPrefix','55mRpZns','unsupportedReason','split','test','sort','max','error','from','unknown','filter','12nQBLrS','length','position','(?:^|[^\x5cw$])','JOIN_INDEX_NOT_USABLE','startsWith','full','12424330bjrWuo','replace','INNER','right','exec','push','toLowerCase','2089260MaFfMa','endsWith','where','trim','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','alias','422088JbLURw'];a209_0x3a19=function(){return _0x15ab56;};return a209_0x3a19();}function resolveTableMetadata(_0x3342f8,_0x4aca0e){const _0x5772aa=a209_0x1240,_0x4526ad=normalizeIdentifier(_0x4aca0e),_0x3fe5f6=_0x3342f8[_0x5772aa(0x205)](_0x561a7b=>normalizeIdentifier(_0x561a7b[_0x5772aa(0x1e8)])===_0x4526ad);if(_0x3fe5f6[_0x5772aa(0x207)]===0x1)return _0x3fe5f6[0x0];const _0x58bea1=_0x4526ad[_0x5772aa(0x1e5)]('.'),_0x1a2446=_0x4526ad[_0x5772aa(0x1fe)]('.')['at'](-0x1),_0x193dd0=_0x3342f8[_0x5772aa(0x205)](_0x34feb9=>{const _0x3cec12=_0x5772aa,_0x430a0f=normalizeIdentifier(_0x34feb9[_0x3cec12(0x1e8)]);if(_0x58bea1&&_0x430a0f[_0x3cec12(0x1e5)]('.'))return![];return _0x430a0f[_0x3cec12(0x1fe)]('.')['at'](-0x1)===_0x1a2446;});return _0x193dd0[_0x5772aa(0x207)]===0x1?_0x193dd0[0x0]:undefined;}function columnNamesMatch(_0xe5aada,_0x212d5c){return normalizeIdentifier(_0xe5aada)===normalizeIdentifier(_0x212d5c);}function normalizeIdentifier(_0x155c07){const _0x290b1c=a209_0x1240;return _0x155c07[_0x290b1c(0x20e)](/[`"]/g,'')[_0x290b1c(0x1d1)]()[_0x290b1c(0x1cd)]();}function isSqlClauseKeyword(_0x3d02f2){const _0x253dca=a209_0x1240;return new Set(['on','using',_0x253dca(0x1d0),_0x253dca(0x1de),_0x253dca(0x1d7),_0x253dca(0x1e0),'right',_0x253dca(0x20c),'cross','natural'])[_0x253dca(0x1d9)](_0x3d02f2);}function stripOuterParentheses(_0x1a505c){const _0x2ccaf4=a209_0x1240;let _0x4d8cac=_0x1a505c[_0x2ccaf4(0x1d1)]();while(_0x4d8cac[_0x2ccaf4(0x20b)]('(')&&_0x4d8cac[_0x2ccaf4(0x1cf)](')')){let _0x13eb18=0x0,_0x378b4f=!![];for(let _0x48ce54=0x0;_0x48ce54<_0x4d8cac[_0x2ccaf4(0x207)];_0x48ce54+=0x1){if(_0x4d8cac[_0x48ce54]==='(')_0x13eb18+=0x1;if(_0x4d8cac[_0x48ce54]===')')_0x13eb18-=0x1;if(_0x13eb18===0x0&&_0x48ce54<_0x4d8cac[_0x2ccaf4(0x207)]-0x1){_0x378b4f=![];break;}}if(!_0x378b4f||_0x13eb18!==0x0)break;_0x4d8cac=_0x4d8cac[_0x2ccaf4(0x1ea)](0x1,-0x1)[_0x2ccaf4(0x1d1)]();}return _0x4d8cac;}
|
|
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
|
-
|
|
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_0x268593=a216_0x2ea8;(function(_0x26b921,_0x83a540){const _0x338ca0=a216_0x2ea8,_0x2aa736=_0x26b921();while(!![]){try{const _0x41f3ae=parseInt(_0x338ca0(0x1f8))/0x1*(parseInt(_0x338ca0(0x1c8))/0x2)+-parseInt(_0x338ca0(0x1c0))/0x3*(-parseInt(_0x338ca0(0x1ce))/0x4)+parseInt(_0x338ca0(0x1d2))/0x5*(parseInt(_0x338ca0(0x1dd))/0x6)+parseInt(_0x338ca0(0x1dc))/0x7*(-parseInt(_0x338ca0(0x1de))/0x8)+parseInt(_0x338ca0(0x1b0))/0x9*(parseInt(_0x338ca0(0x1ca))/0xa)+parseInt(_0x338ca0(0x1e5))/0xb+parseInt(_0x338ca0(0x1cd))/0xc*(-parseInt(_0x338ca0(0x1ad))/0xd);if(_0x41f3ae===_0x83a540)break;else _0x2aa736['push'](_0x2aa736['shift']());}catch(_0x2f013b){_0x2aa736['push'](_0x2aa736['shift']());}}}(a216_0x4768,0x3527d));const MYBATIS_OUTER_TAGS=new Map([[a216_0x268593(0x1a7),a216_0x268593(0x1b7)],[a216_0x268593(0x1d1),a216_0x268593(0x1cb)],['update',a216_0x268593(0x1f6)],[a216_0x268593(0x1b4),a216_0x268593(0x1bf)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if','where','foreach',a216_0x268593(0x1cf),'when',a216_0x268593(0x200),a216_0x268593(0x1ba),'set',a216_0x268593(0x1c7),a216_0x268593(0x1bd),a216_0x268593(0x1a0)]),MYBATIS_BRANCH_TAGS=new Set(['if',a216_0x268593(0x1a2),'choose',a216_0x268593(0x1b1),a216_0x268593(0x200)]);export const MYBATIS_DYNAMIC_START_MARKER=a216_0x268593(0x1a4);export const MYBATIS_DYNAMIC_END_MARKER='__RABETBASE_MYBATIS_DYNAMIC_END__';export const MYBATIS_INCLUDE_MARKER=a216_0x268593(0x1c3);const UNRESOLVED_SQL_FRAGMENT=a216_0x268593(0x1b6),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a216_0x268593(0x1d8)+[...MYBATIS_OUTER_TAGS[a216_0x268593(0x1ab)]()]['join']('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x38b595){const _0x5386c1=a216_0x268593,_0x10b903=typeof _0x38b595===_0x5386c1(0x1ed)?_0x38b595:'';if(!startsWithMybatisStatementWrapper(_0x10b903))return{'sql':_0x10b903,'mode':_0x5386c1(0x1e8)};let _0x535b2c=0x0,_0x557a24='',_0xd29c0e,_0x421cb4=![],_0x5be1da=![];const _0x57404c=[];while(_0x535b2c<_0x10b903[_0x5386c1(0x1f4)]){if(_0x10b903[_0x5386c1(0x1a9)](_0x5386c1(0x1bb),_0x535b2c)){const _0x593286=_0x10b903['indexOf'](_0x5386c1(0x1a1),_0x535b2c+0x4);if(_0x593286<0x0)return invalidMybatisSource(_0x5386c1(0x1fe));_0x557a24+='\x20',_0x535b2c=_0x593286+0x3;continue;}if(_0x10b903['startsWith'](_0x5386c1(0x1d5),_0x535b2c)){if(!_0x421cb4||_0x5be1da)return invalidMybatisSource(_0x5386c1(0x1d4));const _0x44dfb0=_0x10b903[_0x5386c1(0x1ae)](_0x5386c1(0x1c4),_0x535b2c+0x9);if(_0x44dfb0<0x0)return invalidMybatisSource(_0x5386c1(0x1ea));_0x557a24+=_0x10b903['slice'](_0x535b2c+0x9,_0x44dfb0),_0x535b2c=_0x44dfb0+0x3;continue;}if(_0x10b903[_0x5386c1(0x1a9)]('<?',_0x535b2c)){if(_0x421cb4)return invalidMybatisSource(_0x5386c1(0x1f9));const _0x460104=_0x10b903[_0x5386c1(0x1ae)]('?>',_0x535b2c+0x2);if(_0x460104<0x0)return invalidMybatisSource(_0x5386c1(0x1f0));_0x557a24+='\x20',_0x535b2c=_0x460104+0x2;continue;}if(_0x10b903[_0x535b2c]!=='<'){const _0x47a5bc=_0x10b903[_0x5386c1(0x1ae)]('<',_0x535b2c),_0x231933=_0x47a5bc<0x0?_0x10b903[_0x5386c1(0x1f4)]:_0x47a5bc,_0x580b1c=_0x10b903['slice'](_0x535b2c,_0x231933);if((!_0x421cb4||_0x5be1da)&&_0x580b1c[_0x5386c1(0x1ba)]())return invalidMybatisSource('SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');if(_0x421cb4&&!_0x5be1da){const _0x5ed80d=decodeXmlEntities(_0x580b1c);if(_0x5ed80d===null)return invalidMybatisSource(_0x5386c1(0x1ac));_0x557a24+=_0x5ed80d;}else _0x557a24+='\x20';_0x535b2c=_0x231933;continue;}const _0x1b4dba=findXmlTagEnd(_0x10b903,_0x535b2c);if(_0x1b4dba<0x0)return invalidMybatisSource(_0x5386c1(0x1af));const _0x129bfb=_0x10b903[_0x5386c1(0x1e4)](_0x535b2c,_0x1b4dba+0x1),_0x1f7362=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x5386c1(0x1da)](_0x129bfb);if(!_0x1f7362)return invalidMybatisSource(_0x5386c1(0x1ec));const _0x582113=_0x1f7362[0x1]==='/',_0x42a73b=_0x1f7362[0x2]??'',_0x24c22f=_0x42a73b[_0x5386c1(0x19f)](),_0x45f04a=_0x1f7362[0x3]??'',_0x4fde91=_0x1f7362[0x4]==='/',_0x5cc694=MYBATIS_OUTER_TAGS[_0x5386c1(0x1b5)](_0x24c22f);if(!_0x5cc694&&!MYBATIS_DYNAMIC_TAGS[_0x5386c1(0x1f3)](_0x24c22f))return invalidMybatisSource('Unsupported\x20MyBatis\x20XML\x20tag:\x20<'+_0x24c22f+'>.');if(!_0x5cc694&&_0x42a73b!==_0x24c22f)return invalidMybatisSource(_0x5386c1(0x1c9)+_0x42a73b+'>.');if(_0x582113){if(_0x45f04a[_0x5386c1(0x1ba)]()||_0x4fde91)return invalidMybatisSource(_0x5386c1(0x1d0)+_0x42a73b+'>.');const _0x28b5a2=_0x57404c['at'](-0x1);if(!_0x28b5a2||(_0x28b5a2[_0x5386c1(0x1fc)]?_0x28b5a2[_0x5386c1(0x1c6)]!==_0x24c22f:_0x28b5a2[_0x5386c1(0x1b2)]!==_0x42a73b))return invalidMybatisSource(_0x5386c1(0x1f7)+_0x42a73b+'>.');_0x57404c['pop']();if(_0x28b5a2[_0x5386c1(0x1fc)])_0x5be1da=!![];_0x557a24+=MYBATIS_BRANCH_TAGS[_0x5386c1(0x1f3)](_0x24c22f)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x45f04a))return invalidMybatisSource(_0x5386c1(0x1f5)+_0x42a73b+'>.');if(_0x24c22f===_0x5386c1(0x1a0)&&(!_0x4fde91||_0x57404c['at'](-0x1)?.[_0x5386c1(0x1c6)]!==_0x5386c1(0x1bd)))return invalidMybatisSource(_0x5386c1(0x1d3));if(_0x5cc694){if(_0x421cb4||_0x57404c['length']>0x0)return invalidMybatisSource('Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.');_0x421cb4=!![],_0x5be1da=_0x4fde91,_0xd29c0e=_0x5cc694;}else{if(!_0x421cb4||_0x5be1da)return invalidMybatisSource(_0x5386c1(0x1f1)+_0x42a73b+'>.');}_0x557a24+=_0x24c22f==='where'?'\x20WHERE\x20':_0x24c22f===_0x5386c1(0x1c5)?_0x5386c1(0x1a6):_0x24c22f===_0x5386c1(0x1bd)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0x24c22f)&&!_0x4fde91?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x4fde91&&_0x57404c[_0x5386c1(0x1c2)]({'rawName':_0x42a73b,'tagName':_0x24c22f,'outer':!!_0x5cc694});}_0x535b2c=_0x1b4dba+0x1;}if(_0x57404c['length']>0x0)return invalidMybatisSource(_0x5386c1(0x1a8)+_0x57404c['at'](-0x1)?.[_0x5386c1(0x1b2)]+'>.');if(!_0x421cb4||!_0x5be1da)return invalidMybatisSource('MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.');return{'sql':_0x557a24[_0x5386c1(0x1ba)](),'mode':_0x5386c1(0x1e6),..._0xd29c0e?{'statementType':_0xd29c0e}:{}};}function hasWellFormedXmlAttributes(_0x24fb5f){const _0x519868=a216_0x268593;let _0x2764b3=0x0;const _0x18eaf7=new Set();while(_0x2764b3<_0x24fb5f['length']){while(_0x2764b3<_0x24fb5f[_0x519868(0x1f4)]&&/\s/[_0x519868(0x1d9)](_0x24fb5f[_0x2764b3]??''))_0x2764b3+=0x1;if(_0x2764b3>=_0x24fb5f[_0x519868(0x1f4)])return!![];const _0x159fb6=/^[A-Za-z_:][\w:.-]*/[_0x519868(0x1da)](_0x24fb5f['slice'](_0x2764b3)),_0x181df8=_0x159fb6?.[0x0];if(!_0x181df8||_0x18eaf7['has'](_0x181df8))return![];_0x18eaf7[_0x519868(0x1ff)](_0x181df8),_0x2764b3+=_0x181df8[_0x519868(0x1f4)];while(_0x2764b3<_0x24fb5f[_0x519868(0x1f4)]&&/\s/[_0x519868(0x1d9)](_0x24fb5f[_0x2764b3]??''))_0x2764b3+=0x1;if(_0x24fb5f[_0x2764b3]!=='=')return![];_0x2764b3+=0x1;while(_0x2764b3<_0x24fb5f[_0x519868(0x1f4)]&&/\s/['test'](_0x24fb5f[_0x2764b3]??''))_0x2764b3+=0x1;const _0x3b71ab=_0x24fb5f[_0x2764b3];if(_0x3b71ab!=='\x22'&&_0x3b71ab!=='\x27')return![];_0x2764b3+=0x1;const _0x2e210c=_0x24fb5f[_0x519868(0x1ae)](_0x3b71ab,_0x2764b3);if(_0x2e210c<0x0)return![];if(decodeXmlEntities(_0x24fb5f['slice'](_0x2764b3,_0x2e210c))===null)return![];_0x2764b3=_0x2e210c+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x598bb8){const _0x32c6f2=a216_0x268593;let _0x731310=0x0;const _0x5e1fde=()=>{while(_0x731310<_0x598bb8['length']&&/\s/['test'](_0x598bb8[_0x731310]??''))_0x731310+=0x1;};_0x5e1fde();while(_0x731310<_0x598bb8[_0x32c6f2(0x1f4)]){if(_0x598bb8['startsWith'](_0x32c6f2(0x1bb),_0x731310)){const _0x18162e=_0x598bb8[_0x32c6f2(0x1ae)](_0x32c6f2(0x1a1),_0x731310+0x4);if(_0x18162e<0x0)return!![];_0x731310=_0x18162e+0x3,_0x5e1fde();continue;}if(_0x598bb8[_0x32c6f2(0x1a9)]('<?',_0x731310)){const _0x1e2970=_0x598bb8[_0x32c6f2(0x1ae)]('?>',_0x731310+0x2);if(_0x1e2970<0x0)return!![];_0x731310=_0x1e2970+0x2,_0x5e1fde();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x32c6f2(0x1d9)](_0x598bb8['slice'](_0x731310));}function invalidMybatisSource(_0x5a4cfc){const _0x4d8311=a216_0x268593;return{'sql':'','mode':_0x4d8311(0x1e6),'error':_0x5a4cfc};}function findXmlTagEnd(_0x6c5de0,_0x52a485){let _0xba6695;for(let _0x1ea677=_0x52a485+0x1;_0x1ea677<_0x6c5de0['length'];_0x1ea677+=0x1){const _0x1fe3e7=_0x6c5de0[_0x1ea677];if(_0xba6695){if(_0x1fe3e7===_0xba6695)_0xba6695=undefined;continue;}if(_0x1fe3e7==='\x22'||_0x1fe3e7==='\x27'){_0xba6695=_0x1fe3e7;continue;}if(_0x1fe3e7==='>')return _0x1ea677;}return-0x1;}function decodeXmlEntities(_0x496741){const _0x45337b=a216_0x268593;let _0x29b97a=![];const _0x3a60f0=_0x496741[_0x45337b(0x1f2)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x53dcd1=>{const _0x3f34c0=_0x45337b;if(_0x53dcd1===_0x3f34c0(0x1a3))return'<';if(_0x53dcd1===_0x3f34c0(0x1fd))return'>';if(_0x53dcd1===_0x3f34c0(0x1db))return'\x22';if(_0x53dcd1===_0x3f34c0(0x19e))return'\x27';if(_0x53dcd1===_0x3f34c0(0x1e3))return'&';const _0x251722=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x3f34c0(0x1da)](_0x53dcd1);if(_0x251722){const _0xe6b3ff=_0x251722[0x1],_0x83049d=_0x251722[0x2],_0x1278ce=Number['parseInt'](_0xe6b3ff??_0x83049d??'',_0xe6b3ff?0x10:0xa);if(isValidXmlCharacter(_0x1278ce))return String['fromCodePoint'](_0x1278ce);}return _0x29b97a=!![],'';});return _0x29b97a?null:_0x3a60f0;}function a216_0x2ea8(_0x4b1405,_0x1e1194){_0x4b1405=_0x4b1405-0x19e;const _0x4768d5=a216_0x4768();let _0x2ea890=_0x4768d5[_0x4b1405];return _0x2ea890;}function isValidXmlCharacter(_0x4c38a9){return _0x4c38a9===0x9||_0x4c38a9===0xa||_0x4c38a9===0xd||_0x4c38a9>=0x20&&_0x4c38a9<=0xd7ff||_0x4c38a9>=0xe000&&_0x4c38a9<=0xfffd||_0x4c38a9>=0x10000&&_0x4c38a9<=0x10ffff;}export function detectSqlType(_0x2b5a51){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x2b5a51));}function detectNormalizedSqlType(_0x3a2c4a){const _0x55bb8c=a216_0x268593;if(_0x3a2c4a['error'])return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![],'reason':_0x3a2c4a[_0x55bb8c(0x1aa)]};if(!_0x3a2c4a[_0x55bb8c(0x1e8)][_0x55bb8c(0x1ba)]())return{'type':_0x55bb8c(0x1df),'isSelectOnly':![],'isDangerous':![],'reason':_0x55bb8c(0x1fb)};const _0x34c14d=stripStaticAnalysisMarkers(_0x3a2c4a[_0x55bb8c(0x1e8)])[_0x55bb8c(0x1f2)](/#\{[^}]*\}/g,'?')[_0x55bb8c(0x1f2)](/\$\{[^}]*\}/g,'?')[_0x55bb8c(0x1f2)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x55bb8c(0x1f2)](/\/\*[\s\S]*?\*\//g,'')[_0x55bb8c(0x1ba)](),_0x5b499b=_0x34c14d['split']('\x0a');let _0x56f6d7='';for(const _0x4e11f7 of _0x5b499b){const _0x1fde62=_0x4e11f7[_0x55bb8c(0x1ba)]();if(!_0x1fde62||_0x1fde62[_0x55bb8c(0x1a9)]('--')||_0x1fde62['startsWith']('/*'))continue;_0x56f6d7=_0x1fde62;break;}const _0x321487=_0x56f6d7[_0x55bb8c(0x1e0)](),_0x415a9c=_0x3a2c4a[_0x55bb8c(0x1e7)],_0x34cc29=maskSqlTextForBlockedKeywordScan(_0x34c14d),_0x5d663b=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x55bb8c(0x1d9)](_0x34cc29);if(_0x415a9c===_0x55bb8c(0x1b7)||!_0x415a9c&&(_0x321487[_0x55bb8c(0x1a9)](_0x55bb8c(0x1b7))||_0x321487[_0x55bb8c(0x1a9)]('WITH'))){const _0x31e754=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x55bb8c(0x1d9)](_0x34c14d);return{'type':_0x55bb8c(0x1b7),'isSelectOnly':!_0x31e754,'isDangerous':_0x31e754,'reason':_0x31e754?_0x55bb8c(0x1fa):undefined};}if(_0x415a9c===_0x55bb8c(0x1cb)||!_0x415a9c&&_0x321487['startsWith'](_0x55bb8c(0x1cb)))return{'type':'INSERT','isSelectOnly':![],'isDangerous':_0x5d663b,'reason':_0x5d663b?_0x55bb8c(0x1e1):undefined};if(_0x415a9c===_0x55bb8c(0x1f6)||!_0x415a9c&&_0x321487[_0x55bb8c(0x1a9)](_0x55bb8c(0x1f6)))return{'type':_0x55bb8c(0x1f6),'isSelectOnly':![],'isDangerous':_0x5d663b,'reason':_0x5d663b?_0x55bb8c(0x1e1):undefined};if(_0x415a9c===_0x55bb8c(0x1bf)||!_0x415a9c&&_0x321487['startsWith']('DELETE'))return{'type':_0x55bb8c(0x1bf),'isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x55bb8c(0x1d9)](_0x321487))return{'type':_0x55bb8c(0x1c1),'isSelectOnly':![],'isDangerous':!![],'reason':_0x55bb8c(0x1be)};return{'type':_0x55bb8c(0x1df),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x3ee877){const _0x46913c=a216_0x268593;return _0x3ee877[_0x46913c(0x1a5)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x46913c(0x1a5)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x18ec5d){const _0x5f54c7=a216_0x268593;return _0x18ec5d['replace'](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x5f54c7(0x1f2)](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x5f54c7(0x1f2)](/--.*$/gm,'\x20')['replace'](/#.*$/gm,'\x20')['replace'](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x2afc70){const _0x2b46c8=a216_0x268593,_0x4f0339=_0x2afc70[_0x2b46c8(0x1f2)](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')[_0x2b46c8(0x1f2)](/'[^']*'/g,'\x27\x27')[_0x2b46c8(0x1f2)](/--.*$/gm,'')['replace'](/\/\*[\s\S]*?\*\//g,''),_0x383b8a=[],_0x546ace=_0x4f0339[_0x2b46c8(0x1b8)](/FROM\s+([^\s,)(]+)/i);addTable(_0x383b8a,_0x546ace?.[0x1]);for(const _0xab4af0 of _0x4f0339[_0x2b46c8(0x1cc)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x383b8a,_0xab4af0[0x1]);}const _0x2fb296=_0x4f0339[_0x2b46c8(0x1b8)](/INTO\s+([^\s(]+)/i);addTable(_0x383b8a,_0x2fb296?.[0x1]);const _0x3fd174=_0x4f0339['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x383b8a,_0x3fd174?.[0x1]),_0x383b8a;}function a216_0x4768(){const _0x40e3cf=['"','168TGvqFe','13902zTKwEt','107064tUKjqW','UNKNOWN','toUpperCase','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','Unable\x20to\x20detect\x20SQL\x20type.\x20','&','slice','2548161fsvqmI','mybatisXml','statementType','sql','reason','Unterminated\x20CDATA\x20section.','from','Invalid\x20MyBatis\x20XML\x20tag.','string','includes','join','Unterminated\x20XML\x20declaration.','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','replace','has','length','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','UPDATE','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','2VNHJma','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','SQL\x20content\x20is\x20empty','outer','>','Unterminated\x20XML\x20comment.','add','otherwise',''','toLowerCase','property','-->','foreach','<','__RABETBASE_MYBATIS_DYNAMIC_START__','replaceAll','\x20SET\x20','select','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','startsWith','error','keys','Invalid\x20XML\x20entity\x20reference.','4589UYHJLM','indexOf','Unterminated\x20MyBatis\x20XML\x20tag.','1971OMeSXm','when','rawName','isDangerous','delete','get','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','SELECT','match','type','trim','<!--','unknown\x20table(s)','include','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','DELETE','6OzSVtm','DDL','push','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__',']]>','set','tagName','bind','122294PmEJue','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','12310tNqtfA','INSERT','matchAll','17652ZSefOF','25904tUeoFl','choose','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','insert','910KaWBac','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','<![CDATA[','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','^<\x5cs*(?:','test','exec'];a216_0x4768=function(){return _0x40e3cf;};return a216_0x4768();}function addTable(_0x26b47c,_0x76530){const _0x16aaac=a216_0x268593,_0x2cfadd=_0x76530?.[_0x16aaac(0x1f2)](/[`"]/g,'');_0x2cfadd&&_0x2cfadd!==UNRESOLVED_SQL_FRAGMENT&&!_0x26b47c[_0x16aaac(0x1ee)](_0x2cfadd)&&_0x26b47c[_0x16aaac(0x1c2)](_0x2cfadd);}function extractParameters(_0x388dac){const _0x3e6ff6=a216_0x268593,_0x2f24b8=new Set();for(const _0xeb50f4 of _0x388dac['matchAll'](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0xeb50f4[0x1])_0x2f24b8[_0x3e6ff6(0x1ff)](_0xeb50f4[0x1]);}return Array[_0x3e6ff6(0x1eb)](_0x2f24b8);}export function validateSql(_0x290624){const _0x3ecfd0=a216_0x268593,_0x572c7d=normalizeSqlForStaticAnalysis(_0x290624),_0x423b20=detectNormalizedSqlType(_0x572c7d),_0x5e645f=stripStaticAnalysisMarkers(_0x572c7d[_0x3ecfd0(0x1e8)]),_0x28f959=_0x572c7d[_0x3ecfd0(0x1aa)]?[]:extractTables(_0x5e645f),_0xb330d4=_0x572c7d[_0x3ecfd0(0x1aa)]?[]:extractParameters(_0x5e645f);if(_0x423b20[_0x3ecfd0(0x1b3)])return{'valid':![],'sqlType':_0x423b20,'tables':_0x28f959,'parameters':_0xb330d4,'message':_0x423b20[_0x3ecfd0(0x1e9)]||_0x423b20['type']+_0x3ecfd0(0x1d6)};if(_0x423b20[_0x3ecfd0(0x1b9)]===_0x3ecfd0(0x1df))return{'valid':![],'sqlType':_0x423b20,'tables':_0x28f959,'parameters':_0xb330d4,'message':_0x572c7d['error']?_0x3ecfd0(0x1e2)+_0x572c7d['error']:_0x3ecfd0(0x1d7)};return{'valid':!![],'sqlType':_0x423b20,'tables':_0x28f959,'parameters':_0xb330d4,'message':_0x423b20[_0x3ecfd0(0x1b9)]+'\x20query\x20targeting\x20'+(_0x28f959[_0x3ecfd0(0x1f4)]?_0x28f959[_0x3ecfd0(0x1ef)](',\x20'):_0x3ecfd0(0x1bc))+(_0xb330d4[_0x3ecfd0(0x1f4)]?'\x20with\x20parameters:\x20'+_0xb330d4[_0x3ecfd0(0x1ef)](',\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
|
-
(function(
|
|
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);}
|