@lovrabet/rabetbase-cli 2.3.14-beta.1 → 2.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/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 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/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/ocr/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/restore.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
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a202_0x2951c3=a202_0x170c;(function(_0x1a2e33,_0x46e2cf){const _0x3ce0bd=a202_0x170c,_0x21b850=_0x1a2e33();while(!![]){try{const _0x4a2c8b=-parseInt(_0x3ce0bd(0x90))/0x1+-parseInt(_0x3ce0bd(0x8d))/0x2+-parseInt(_0x3ce0bd(0x8f))/0x3*(-parseInt(_0x3ce0bd(0x8e))/0x4)+parseInt(_0x3ce0bd(0x8c))/0x5+parseInt(_0x3ce0bd(0x9b))/0x6*(parseInt(_0x3ce0bd(0xa0))/0x7)+parseInt(_0x3ce0bd(0x87))/0x8*(parseInt(_0x3ce0bd(0x81))/0x9)+-parseInt(_0x3ce0bd(0x8a))/0xa;if(_0x4a2c8b===_0x46e2cf)break;else _0x21b850['push'](_0x21b850['shift']());}catch(_0x165f49){_0x21b850['push'](_0x21b850['shift']());}}}(a202_0x2278,0xf08d9));import{access,mkdir,readdir,stat}from'node:fs/promises';import{constants}from'node:fs';import{dirname,join}from'node:path';import{findHookLocationByRemoteId,snakeToCamel}from'../../core/bff/utils.js';export const SUPPORTED_BFF_TYPES=[a202_0x2951c3(0x9a),a202_0x2951c3(0x89),'HOOK'];export function normalizeBffType(_0x4e8e1c){const _0x1910cc=a202_0x2951c3;if(!_0x4e8e1c)return undefined;const _0x48d45e=_0x4e8e1c[_0x1910cc(0x98)]()['toUpperCase']();return SUPPORTED_BFF_TYPES['includes'](_0x48d45e)?_0x48d45e:undefined;}async function scanJsFilesRecursively(_0xfe6137,_0x457f0e){const _0x47c428=a202_0x2951c3,_0x2ff8dd=[];try{const _0x555db1=await readdir(_0xfe6137,{'withFileTypes':!![]});for(const _0x3e8d41 of _0x555db1){const _0x45c843=join(_0xfe6137,_0x3e8d41[_0x47c428(0x85)]);if(_0x3e8d41[_0x47c428(0x8b)]())_0x2ff8dd[_0x47c428(0x95)](...await scanJsFilesRecursively(_0x45c843,_0x457f0e+'/'+_0x3e8d41[_0x47c428(0x85)]));else _0x3e8d41[_0x47c428(0x94)]()&&_0x3e8d41['name']['endsWith'](_0x47c428(0x88))&&_0x2ff8dd[_0x47c428(0x95)]({'lockKey':_0x457f0e+'/'+_0x3e8d41[_0x47c428(0x85)][_0x47c428(0x9e)](/\.js$/,''),'filePath':_0x45c843});}}catch(_0x2c89f4){if(_0x2c89f4[_0x47c428(0xa5)]!==_0x47c428(0x91))throw _0x2c89f4;}return _0x2ff8dd;}async function scanFlatFunctions(_0x10849e,_0xfb7dec){const _0x2e5d9d=a202_0x2951c3,_0x436fe3=join(_0x10849e[_0x2e5d9d(0xa2)],_0xfb7dec),_0x5e9dc9=await scanJsFilesRecursively(_0x436fe3,_0xfb7dec);return _0x5e9dc9[_0x2e5d9d(0x9c)](({lockKey:_0x39f2ee,filePath:_0x2f2d2c})=>({'type':_0xfb7dec,'name':_0x39f2ee[_0x2e5d9d(0x9f)]('/')['at'](-0x1)??'','filePath':_0x2f2d2c,'lockKey':_0x39f2ee}));}async function scanHookFunctions(_0x323cc6){const _0x318660=a202_0x2951c3,_0x998e27=join(_0x323cc6[_0x318660(0xa2)],'HOOK'),_0x14b25b=[];try{const _0x45a6ec=await readdir(_0x998e27,{'withFileTypes':!![]});for(const _0x239ea6 of _0x45a6ec){if(!_0x239ea6[_0x318660(0x8b)]())continue;const _0x2254a0=_0x239ea6[_0x318660(0x85)],_0x2b336a=join(_0x998e27,_0x2254a0),_0xbe8abd=await readdir(_0x2b336a,{'withFileTypes':!![]});for(const _0x11c551 of _0xbe8abd){if(!_0x11c551[_0x318660(0x8b)]())continue;const _0x1f7eae=_0x11c551[_0x318660(0x85)],_0x12d2ba=join(_0x2b336a,_0x1f7eae),_0x86c198=await readdir(_0x12d2ba,{'withFileTypes':!![]});for(const _0xe81ffa of _0x86c198){if(!_0xe81ffa[_0x318660(0x8b)]())continue;const _0x3816d6=_0xe81ffa[_0x318660(0x85)],_0x49f5d3=join(_0x12d2ba,_0x3816d6),_0x27f61e=await readdir(_0x49f5d3,{'withFileTypes':!![]});for(const _0x40d187 of _0x27f61e){if(!_0x40d187[_0x318660(0x94)]()||!_0x40d187[_0x318660(0x85)]['endsWith'](_0x318660(0x88)))continue;const _0x3b3757=_0x40d187[_0x318660(0x85)]['replace'](/\.js$/,'');_0x14b25b[_0x318660(0x95)]({'type':_0x318660(0x92),'name':_0x3b3757,'filePath':join(_0x49f5d3,_0x40d187[_0x318660(0x85)]),'lockKey':_0x318660(0xa3)+_0x2254a0+'/'+_0x1f7eae+'/'+_0x3816d6+'/'+_0x3b3757,'alias':_0x2254a0,'operationType':_0x1f7eae,'functionNode':_0x3816d6});}}}}}catch(_0x335280){if(_0x335280[_0x318660(0xa5)]!==_0x318660(0x91))throw _0x335280;}return _0x14b25b;}export async function scanLocalBffFunctions(_0xd9e67b,_0x102615){const _0x162780=a202_0x2951c3;if(_0x102615===_0x162780(0x9a)||_0x102615===_0x162780(0x89))return scanFlatFunctions(_0xd9e67b,_0x102615);if(_0x102615===_0x162780(0x92))return scanHookFunctions(_0xd9e67b);const [_0xe8cdce,_0xf9ac3,_0x1f32a5]=await Promise[_0x162780(0x80)]([scanFlatFunctions(_0xd9e67b,_0x162780(0x9a)),scanFlatFunctions(_0xd9e67b,_0x162780(0x89)),scanHookFunctions(_0xd9e67b)]);return[..._0xe8cdce,..._0xf9ac3,..._0x1f32a5];}export function resolveLocalFilePathFromLockKey(_0x29cecd,_0x32bb1d){const _0x4022eb=a202_0x2951c3;return join(_0x29cecd[_0x4022eb(0xa2)],..._0x32bb1d[_0x4022eb(0x9f)]('/'))+'.js';}export function createHookLocationMap(_0x1c3d9e){const _0x3d98c3=a202_0x2951c3,_0x172775=new Map();for(const _0x1ca229 of _0x1c3d9e){_0x1ca229[_0x3d98c3(0x97)]&&_0x172775['set'](_0x1ca229[_0x3d98c3(0x97)],{'datasetCode':_0x1ca229[_0x3d98c3(0x82)],'operationType':snakeToCamel(_0x1ca229['operationType']),'functionNode':_0x3d98c3(0x83)}),_0x1ca229['afterScriptId']&&_0x172775['set'](_0x1ca229['afterScriptId'],{'datasetCode':_0x1ca229['datasetCode'],'operationType':snakeToCamel(_0x1ca229[_0x3d98c3(0x93)]),'functionNode':_0x3d98c3(0x86)});}return _0x172775;}function a202_0x2278(){const _0x158f03=['after','8ljknGO','.js','ENDPOINT','7180140MnDkEc','isDirectory','2604725xHmGEK','524910qaqyPB','275020FDBxTz','21rqeLoK','846342eyPIdo','ENOENT','HOOK','operationType','isFile','push','F_OK','beforeScriptId','trim','alias','COMMON','21738bSxEKs','map','get','replace','split','217xZEZab','functionName','scriptsRootDir','HOOK/','scriptType','code','all','15278157iBlisN','datasetCode','before','functionNode','name'];a202_0x2278=function(){return _0x158f03;};return a202_0x2278();}function a202_0x170c(_0x174b00,_0x2070f5){_0x174b00=_0x174b00-0x80;const _0x227835=a202_0x2278();let _0x170c93=_0x227835[_0x174b00];return _0x170c93;}export function resolveRemoteScriptTarget(_0x340d58,_0x1d1ee4,_0x533086,_0x4cdf33,_0x34ad4b){const _0x12c625=a202_0x2951c3,_0x103a4a=normalizeBffType(_0x1d1ee4[_0x12c625(0xa4)]);if(!_0x103a4a||!_0x1d1ee4[_0x12c625(0xa1)])return null;if(_0x103a4a===_0x12c625(0x92)){const _0x1efe59=(_0x1d1ee4['id']?_0x533086[_0x12c625(0x9d)](_0x1d1ee4['id']):undefined)??findHookLocationByRemoteId(_0x4cdf33,_0x1d1ee4['id']);if(!_0x1efe59)return null;const _0x1bf9ad=_0x1efe59[_0x12c625(0x99)]||_0x34ad4b[_0x12c625(0x9d)](_0x1efe59['datasetCode']),_0x489ea5=_0x1bf9ad??_0x1efe59[_0x12c625(0x82)],_0x3109cd={..._0x1efe59,'alias':_0x1bf9ad},_0x5554c9='HOOK/'+_0x489ea5+'/'+_0x3109cd[_0x12c625(0x93)]+'/'+_0x3109cd[_0x12c625(0x84)]+'/'+_0x1d1ee4[_0x12c625(0xa1)];return{'lockKey':_0x5554c9,'filePath':resolveLocalFilePathFromLockKey(_0x340d58,_0x5554c9),'type':'HOOK','hookLocation':_0x3109cd};}const _0x477b73=_0x103a4a+'/'+_0x1d1ee4[_0x12c625(0xa1)];return{'lockKey':_0x477b73,'filePath':resolveLocalFilePathFromLockKey(_0x340d58,_0x477b73),'type':_0x103a4a};}export async function ensureParentDirectory(_0x20d283){await mkdir(dirname(_0x20d283),{'recursive':!![]});}export async function fileExists(_0xddb2c6){const _0x201220=a202_0x2951c3;try{return await access(_0xddb2c6,constants[_0x201220(0x96)]),!![];}catch{return![];}}export async function directoryExists(_0x2a51fd){const _0x3660bc=a202_0x2951c3;try{const _0x47ceb3=await stat(_0x2a51fd);return _0x47ceb3[_0x3660bc(0x8b)]();}catch{return![];}}
|
package/lib/core/bff/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x441bef,_0x4063ce){const _0x10731a=a203_0x4fe6,_0x8949fe=_0x441bef();while(!![]){try{const _0x328804=-parseInt(_0x10731a(0x18b))/0x1*(parseInt(_0x10731a(0x185))/0x2)+parseInt(_0x10731a(0x188))/0x3+parseInt(_0x10731a(0x186))/0x4*(parseInt(_0x10731a(0x18f))/0x5)+-parseInt(_0x10731a(0x18e))/0x6*(-parseInt(_0x10731a(0x191))/0x7)+parseInt(_0x10731a(0x189))/0x8+-parseInt(_0x10731a(0x190))/0x9*(parseInt(_0x10731a(0x182))/0xa)+-parseInt(_0x10731a(0x184))/0xb;if(_0x328804===_0x4063ce)break;else _0x8949fe['push'](_0x8949fe['shift']());}catch(_0x2de03c){_0x8949fe['push'](_0x8949fe['shift']());}}}(a203_0x4e69,0xc92cd));import{readFile}from'node:fs/promises';import a203_0x655d36 from'node:crypto';export function computeContentHash(_0x30106d){const _0x216101=a203_0x4fe6;return a203_0x655d36[_0x216101(0x183)](_0x216101(0x18a))[_0x216101(0x18d)](_0x30106d)[_0x216101(0x187)](_0x216101(0x18c));}export async function computeFileHash(_0x1a1b65){const _0x7e3d61=await readFile(_0x1a1b65,'utf8');return computeContentHash(_0x7e3d61);}function a203_0x4fe6(_0x4e35ee,_0x26ab6d){_0x4e35ee=_0x4e35ee-0x182;const _0x4e69c4=a203_0x4e69();let _0x4fe63d=_0x4e69c4[_0x4e35ee];return _0x4fe63d;}function a203_0x4e69(){const _0x4660c1=['9028248zOmKot','md5','427gapznV','hex','update','3377244Hmsdrv','55GcdZHk','396DGASNL','7ASuFIT','367440VxilKT','createHash','536723UWvuDK','5296YIPxsk','563692nkYDSX','digest','1136040Lcwxal'];a203_0x4e69=function(){return _0x4660c1;};return a203_0x4e69();}
|
package/lib/core/bff/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3fbc6d,_0x2f53f3){const _0x4d1e59=a204_0xe9c0,_0x515b86=_0x3fbc6d();while(!![]){try{const _0xe93e6d=parseInt(_0x4d1e59(0x15e))/0x1*(parseInt(_0x4d1e59(0x157))/0x2)+-parseInt(_0x4d1e59(0x16c))/0x3+parseInt(_0x4d1e59(0x15a))/0x4+-parseInt(_0x4d1e59(0x158))/0x5*(-parseInt(_0x4d1e59(0x162))/0x6)+parseInt(_0x4d1e59(0x16b))/0x7+-parseInt(_0x4d1e59(0x167))/0x8+parseInt(_0x4d1e59(0x15c))/0x9;if(_0xe93e6d===_0x2f53f3)break;else _0x515b86['push'](_0x515b86['shift']());}catch(_0x583a42){_0x515b86['push'](_0x515b86['shift']());}}}(a204_0x3942,0xb2472));import{mkdir,readFile,writeFile}from'node:fs/promises';function a204_0x3942(){const _0x4a3a77=['1409972BEsWWI','scriptsRoot','6254694TMHFnM','ENOENT','8901CQRMBB','Failed\x20to\x20read\x20BFF\x20lock\x20file:\x20','apps','lastSync','12NtmSzi','Check\x20.rabetbase/bff.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','\x22\x20vs\x20lock\x20\x22','object',':\x20scriptsRoot\x20mismatch\x20—\x20','11647152XUuJNl','\x22.\x20','parse','stringify','3302446jxFXLe','2965440FDQVkN','current\x20\x22','utf8','functions','118aOmXTp','2825510Caccnp','code'];a204_0x3942=function(){return _0x4a3a77;};return a204_0x3942();}import{dirname}from'node:path';export function createEmptyBffLock(){return{'apps':{}};}export function ensureLockScope(_0x5c591b,_0x22a863,_0x328577,_0x1144b1){const _0x13bce8=a204_0xe9c0,_0x4a9dcb={'apps':_0x5c591b['apps']&&typeof _0x5c591b[_0x13bce8(0x160)]===_0x13bce8(0x165)?_0x5c591b[_0x13bce8(0x160)]:{}};let _0x1524cc=_0x4a9dcb[_0x13bce8(0x160)][_0x22a863];if(!_0x1524cc)return _0x1524cc={'scriptsRoot':_0x328577,'lastSync':'','functions':{}},_0x4a9dcb[_0x13bce8(0x160)][_0x22a863]=_0x1524cc,{'lockData':_0x4a9dcb,'appLock':_0x1524cc};if(!_0x1524cc[_0x13bce8(0x15b)])_0x1524cc[_0x13bce8(0x15b)]=_0x328577;else{if(_0x1524cc[_0x13bce8(0x15b)]!==_0x328577)throw new Error(_0x1144b1+_0x13bce8(0x166)+(_0x13bce8(0x16d)+_0x328577+_0x13bce8(0x164)+_0x1524cc[_0x13bce8(0x15b)]+_0x13bce8(0x168))+_0x13bce8(0x163));}return!_0x1524cc[_0x13bce8(0x16f)]&&(_0x1524cc[_0x13bce8(0x16f)]={}),!_0x1524cc[_0x13bce8(0x161)]&&(_0x1524cc['lastSync']=''),{'lockData':_0x4a9dcb,'appLock':_0x1524cc};}export async function readBffLockFile(_0x5e113b){const _0x26ddd8=a204_0xe9c0;try{const _0x3ca356=await readFile(_0x5e113b,_0x26ddd8(0x16e)),_0x200ff1=JSON[_0x26ddd8(0x169)](_0x3ca356);return{'apps':_0x200ff1[_0x26ddd8(0x160)]&&typeof _0x200ff1[_0x26ddd8(0x160)]===_0x26ddd8(0x165)?_0x200ff1['apps']:{}};}catch(_0x15417a){if(_0x15417a[_0x26ddd8(0x159)]===_0x26ddd8(0x15d))return null;throw new Error(_0x26ddd8(0x15f)+String(_0x15417a));}}function a204_0xe9c0(_0x19fa16,_0x407bb9){_0x19fa16=_0x19fa16-0x157;const _0x39420e=a204_0x3942();let _0xe9c042=_0x39420e[_0x19fa16];return _0xe9c042;}export async function writeBffLockFile(_0x536d4c,_0x1e0e8c){const _0x5a6995=a204_0xe9c0;await mkdir(dirname(_0x536d4c),{'recursive':!![]}),await writeFile(_0x536d4c,JSON[_0x5a6995(0x16a)](_0x1e0e8c,null,0x2),_0x5a6995(0x16e));}
|
package/lib/core/bff/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x9b4f32,_0x37a705){const _0x5bb77b=a206_0x4739,_0xef0d0d=_0x9b4f32();while(!![]){try{const _0x4b861b=parseInt(_0x5bb77b(0xff))/0x1*(-parseInt(_0x5bb77b(0x103))/0x2)+parseInt(_0x5bb77b(0xfd))/0x3+parseInt(_0x5bb77b(0x10a))/0x4*(-parseInt(_0x5bb77b(0x113))/0x5)+-parseInt(_0x5bb77b(0x10b))/0x6*(parseInt(_0x5bb77b(0x102))/0x7)+parseInt(_0x5bb77b(0xfe))/0x8*(-parseInt(_0x5bb77b(0x108))/0x9)+-parseInt(_0x5bb77b(0x112))/0xa+-parseInt(_0x5bb77b(0x104))/0xb*(-parseInt(_0x5bb77b(0x10e))/0xc);if(_0x4b861b===_0x37a705)break;else _0xef0d0d['push'](_0xef0d0d['shift']());}catch(_0x45a830){_0xef0d0d['push'](_0xef0d0d['shift']());}}}(a206_0x3326,0x62e2a));function a206_0x3326(){const _0x23c1a5=['1107279LukHXQ','test','4QKOTEf','50856zkgsgF','toUpperCase','match','12cTcmDq','before','trim','operationType','18390rxtIjO','2070895FGKOjd','after','267675GPhPyG','16TsnpWN','6PgfclI','values','remoteId','602WsgzYz','198126cfgOIH','25313233KGveqn','replace','functionNode','datasetCode'];a206_0x3326=function(){return _0x23c1a5;};return a206_0x3326();}export function snakeToCamel(_0x55264a){const _0x25c91f=a206_0x4739;return _0x55264a['toLowerCase']()[_0x25c91f(0x105)](/_([a-z])/g,(_0x2f51b0,_0x5f492f)=>_0x5f492f[_0x25c91f(0x10c)]());}export function findHookLocationByRemoteId(_0x33c44f,_0xd1db58){const _0x28df02=a206_0x4739;if(!_0xd1db58)return undefined;for(const _0x3ded70 of Object[_0x28df02(0x100)](_0x33c44f)){if(_0x3ded70[_0x28df02(0x101)]===_0xd1db58&&_0x3ded70[_0x28df02(0x107)]&&_0x3ded70[_0x28df02(0x111)]&&_0x3ded70[_0x28df02(0x106)])return{'datasetCode':_0x3ded70[_0x28df02(0x107)],'operationType':_0x3ded70[_0x28df02(0x111)],'functionNode':_0x3ded70[_0x28df02(0x106)]};}return undefined;}export function extractScriptDescription(_0x32269d){const _0x5003c3=a206_0x4739,_0x259c54=_0x32269d[_0x5003c3(0x10d)](/\[\s*脚本描述\s*]\s*(.+)/);return _0x259c54?.[0x1]?.[_0x5003c3(0x110)]()||undefined;}export function isValidBffFunctionName(_0x28fc67){const _0x284490=a206_0x4739;return/^[A-Za-z_$][A-Za-z0-9_$]*$/[_0x284490(0x109)](_0x28fc67);}function a206_0x4739(_0x498f68,_0x288d25){_0x498f68=_0x498f68-0xfd;const _0x3326de=a206_0x3326();let _0x47399b=_0x3326de[_0x498f68];return _0x47399b;}export function normalizeHookFunctionNode(_0x20b384){const _0xa56744=a206_0x4739;if(!_0x20b384)return undefined;const _0x23220e=_0x20b384[_0xa56744(0x110)]()['toLowerCase']();if(_0x23220e===_0xa56744(0x10f)||_0x23220e===_0xa56744(0x114))return _0x23220e;return undefined;}
|
package/lib/core/db-resolver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a207_0x273e(){const _0x2f60f7=['set','includes','931558zubghR','148864BOVekJ','2618526zJZvAx','.\x20Be\x20more\x20specific.','toLowerCase','dbtableConfig','get','\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.','No\x20linked\x20databases\x20found\x20under\x20app\x20\x22','has','\x22.\x20Available:\x20','join','333ZCYGNk','95052QTDaLu','db-','find','1354737UZmyqe','No\x20database\x20matching\x20\x22','39350iyxzwm','length','Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20','96935mDCGQN','isNaN','dbName','\x22\x20matches\x20multiple\x20databases:\x20','112YeBBhg','40yHpGkH','dbId','map'];a207_0x273e=function(){return _0x2f60f7;};return a207_0x273e();}(function(_0x2712a6,_0x5abae3){const _0x2f8e5b=a207_0x413c,_0x3c60fa=_0x2712a6();while(!![]){try{const _0x2c4060=-parseInt(_0x2f8e5b(0x18e))/0x1+-parseInt(_0x2f8e5b(0x181))/0x2+parseInt(_0x2f8e5b(0x191))/0x3+parseInt(_0x2f8e5b(0x17c))/0x4*(-parseInt(_0x2f8e5b(0x177))/0x5)+parseInt(_0x2f8e5b(0x183))/0x6+-parseInt(_0x2f8e5b(0x17b))/0x7*(-parseInt(_0x2f8e5b(0x182))/0x8)+-parseInt(_0x2f8e5b(0x18d))/0x9*(parseInt(_0x2f8e5b(0x193))/0xa);if(_0x2c4060===_0x5abae3)break;else _0x3c60fa['push'](_0x3c60fa['shift']());}catch(_0x3b7119){_0x3c60fa['push'](_0x3c60fa['shift']());}}}(a207_0x273e,0x45af8));import{listDatasets}from'../core/api-client.js';const cache=new Map();export async function listDatabases(_0x5bfb8){const _0x227bc0=a207_0x413c;if(cache[_0x227bc0(0x18a)](_0x5bfb8))return cache[_0x227bc0(0x187)](_0x5bfb8);const _0x483126=await listDatasets(_0x5bfb8),_0x31c655=new Map();for(const _0x32e405 of _0x483126){const _0x1dc64d=_0x32e405[_0x227bc0(0x186)];_0x1dc64d?.[_0x227bc0(0x17d)]!=null&&_0x31c655[_0x227bc0(0x17f)](_0x1dc64d[_0x227bc0(0x17d)],_0x1dc64d[_0x227bc0(0x179)]??_0x227bc0(0x18f)+_0x1dc64d[_0x227bc0(0x17d)]);}const _0x3961a9=[..._0x31c655['entries']()]['map'](([_0x29b912,_0x159c71])=>({'dbId':_0x29b912,'dbName':_0x159c71}));return cache[_0x227bc0(0x17f)](_0x5bfb8,_0x3961a9),_0x3961a9;}export async function resolveDb(_0x1a3177,_0x3dee40){const _0x3ec3ac=a207_0x413c,_0x563f8a=await listDatabases(_0x1a3177);if(_0x563f8a['length']===0x0)return{'resolved':[],'error':_0x3ec3ac(0x189)+_0x1a3177+_0x3ec3ac(0x188)};if(!_0x3dee40)return{'resolved':_0x563f8a};const _0x18d8f0=Number(_0x3dee40);if(!Number[_0x3ec3ac(0x178)](_0x18d8f0)){const _0x563b32=_0x563f8a[_0x3ec3ac(0x190)](_0x16585b=>_0x16585b['dbId']===_0x18d8f0);if(_0x563b32)return{'resolved':[_0x563b32]};}const _0x18849d=_0x3dee40[_0x3ec3ac(0x185)](),_0x5cfb67=_0x563f8a['filter'](_0x120ef0=>_0x120ef0[_0x3ec3ac(0x179)][_0x3ec3ac(0x185)]()[_0x3ec3ac(0x180)](_0x18849d));if(_0x5cfb67[_0x3ec3ac(0x194)]>0x0)return{'resolved':_0x5cfb67};const _0x2af7bc=_0x563f8a['map'](_0x45daa5=>_0x45daa5[_0x3ec3ac(0x179)]+'\x20('+_0x45daa5[_0x3ec3ac(0x17d)]+')')[_0x3ec3ac(0x18c)](',\x20');return{'resolved':[],'error':_0x3ec3ac(0x192)+_0x3dee40+'\x22\x20under\x20app\x20\x22'+_0x1a3177+_0x3ec3ac(0x18b)+_0x2af7bc+'.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.'};}function a207_0x413c(_0x58792f,_0x21b688){_0x58792f=_0x58792f-0x176;const _0x273ea4=a207_0x273e();let _0x413c34=_0x273ea4[_0x58792f];return _0x413c34;}export async function resolveOneDb(_0x4d3962,_0xc4d948){const _0x13dd5d=a207_0x413c,{resolved:_0x10c27c,error:_0x583892}=await resolveDb(_0x4d3962,_0xc4d948);if(_0x583892)return{'db':null,'error':_0x583892};if(_0x10c27c[_0x13dd5d(0x194)]===0x1)return{'db':_0x10c27c[0x0]};if(!_0xc4d948){const _0x5e7185=_0x10c27c[_0x13dd5d(0x17e)](_0x3b5b2d=>_0x3b5b2d[_0x13dd5d(0x179)]+'\x20('+_0x3b5b2d[_0x13dd5d(0x17d)]+')')[_0x13dd5d(0x18c)](',\x20');return{'db':null,'error':_0x13dd5d(0x176)+_0x5e7185};}const _0xecad96=_0x10c27c[_0x13dd5d(0x17e)](_0x3aa1ab=>_0x3aa1ab[_0x13dd5d(0x179)]+'\x20('+_0x3aa1ab['dbId']+')')['join'](',\x20');return{'db':null,'error':'\x22'+_0xc4d948+_0x13dd5d(0x17a)+_0xecad96+_0x13dd5d(0x184)};}export async function getDbName(_0x3404ac,_0x2d84fa){const _0x2ef711=a207_0x413c,_0x42e2d2=await listDatabases(_0x3404ac);return _0x42e2d2[_0x2ef711(0x190)](_0x34991c=>_0x34991c[_0x2ef711(0x17d)]===_0x2d84fa)?.['dbName'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a208_0x191517=a208_0x8ba6;(function(_0x664224,_0x3f4633){const _0x402e16=a208_0x8ba6,_0x472689=_0x664224();while(!![]){try{const _0x5af5ac=parseInt(_0x402e16(0x198))/0x1*(-parseInt(_0x402e16(0x196))/0x2)+-parseInt(_0x402e16(0x19a))/0x3*(-parseInt(_0x402e16(0x18b))/0x4)+-parseInt(_0x402e16(0x18c))/0x5*(-parseInt(_0x402e16(0x190))/0x6)+-parseInt(_0x402e16(0x199))/0x7*(-parseInt(_0x402e16(0x193))/0x8)+parseInt(_0x402e16(0x18f))/0x9*(-parseInt(_0x402e16(0x18d))/0xa)+parseInt(_0x402e16(0x18e))/0xb*(parseInt(_0x402e16(0x195))/0xc)+-parseInt(_0x402e16(0x18a))/0xd;if(_0x5af5ac===_0x3f4633)break;else _0x472689['push'](_0x472689['shift']());}catch(_0x22ee4d){_0x472689['push'](_0x472689['shift']());}}}(a208_0x4545,0x73288));import{constants}from'node:fs';function a208_0x8ba6(_0x3583cd,_0x7e2e32){_0x3583cd=_0x3583cd-0x189;const _0x454512=a208_0x4545();let _0x8ba690=_0x454512[_0x3583cd];return _0x8ba690;}function a208_0x4545(){const _0x27c0e1=['22329Ghdxlg','468eArUYK','.rabetbase','page.lock.json','16TufWvc','page','36LpKBzq','1142QtWGJM','.json','83TPtFxK','812707fpEpqm','528852JqgIrh','cwd','10883470pMYjjw','8jAeXfn','46885uyyhRO','280fmhZxp','401731roLCXV'];a208_0x4545=function(){return _0x27c0e1;};return a208_0x4545();}import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';export function loadPageProjectConfig(_0x12ce15,_0x3d9403=process[a208_0x191517(0x189)]()){const _0x1dfdcd=a208_0x191517,_0x580047=resolve(_0x3d9403),_0x375af9=join(_0x580047,_0x1dfdcd(0x191),_0x1dfdcd(0x194));return{'projectRoot':_0x580047,'pagesBaseDir':_0x375af9,'appPagesDir':join(_0x375af9,_0x12ce15),'lockFilePath':join(_0x580047,'.rabetbase',_0x1dfdcd(0x192))};}export function buildPageFileName(_0x17f0dc,_0x35343a){const _0x2fd014=a208_0x191517;return _0x17f0dc+'-'+String(_0x35343a)['toUpperCase']()+_0x2fd014(0x197);}export function resolvePageFilePath(_0x1c19b5,_0x52643f,_0x3e13d7){return join(_0x1c19b5['appPagesDir'],buildPageFileName(_0x52643f,_0x3e13d7));}export async function ensureParentDirectory(_0x4c98a3){await mkdir(dirname(_0x4c98a3),{'recursive':!![]});}export async function fileExists(_0x19e866){try{return await access(_0x19e866,constants['F_OK']),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a209_0x103d(){const _0x350996=['1002LwZLGa','3154350QpWapJ','2617047bZuCyT','5KutcfV','digest','32AaEdKg','3967368KJkrnk','hex','utf8','2115qWAqkp','update','stringify','6521154VlTlDR','createHash','3388720SAVuGY','md5','parse','44IDhHFr','1660442SzzcwO'];a209_0x103d=function(){return _0x350996;};return a209_0x103d();}(function(_0x24450d,_0x5d2669){const _0x277b28=a209_0x4612,_0x421302=_0x24450d();while(!![]){try{const _0x52dbbc=-parseInt(_0x277b28(0x14c))/0x1*(parseInt(_0x277b28(0x156))/0x2)+-parseInt(_0x277b28(0x157))/0x3+-parseInt(_0x277b28(0x15c))/0x4+-parseInt(_0x277b28(0x159))/0x5*(-parseInt(_0x277b28(0x14f))/0x6)+-parseInt(_0x277b28(0x155))/0x7*(-parseInt(_0x277b28(0x15b))/0x8)+parseInt(_0x277b28(0x158))/0x9+-parseInt(_0x277b28(0x151))/0xa*(-parseInt(_0x277b28(0x154))/0xb);if(_0x52dbbc===_0x5d2669)break;else _0x421302['push'](_0x421302['shift']());}catch(_0x6bf172){_0x421302['push'](_0x421302['shift']());}}}(a209_0x103d,0x8d5e7));import a209_0x32ddbe from'node:crypto';import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0x18afcc){const _0xf852d4=a209_0x4612;return JSON[_0xf852d4(0x14e)](JSON[_0xf852d4(0x153)](_0x18afcc),null,0x2)+'\x0a';}export function computePageContentHash(_0x55c7fd){const _0x53275b=a209_0x4612;return a209_0x32ddbe[_0x53275b(0x150)](_0x53275b(0x152))[_0x53275b(0x14d)](_0x55c7fd)[_0x53275b(0x15a)](_0x53275b(0x15d));}function a209_0x4612(_0x175e59,_0x4ea3d9){_0x175e59=_0x175e59-0x14c;const _0x103d2f=a209_0x103d();let _0x461223=_0x103d2f[_0x175e59];return _0x461223;}export function computeSerializedSchemaHash(_0x191005){return computePageContentHash(serializePageSchemaForFile(_0x191005));}export async function computePageFileHash(_0x50a9fe){const _0x4c77f7=a209_0x4612,_0xca81ef=await readFile(_0x50a9fe,_0x4c77f7(0x15e));return computePageContentHash(_0xca81ef);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x44ce12,_0x1e38ab){const _0x53e142=a210_0x7a53,_0x184a58=_0x44ce12();while(!![]){try{const _0x149e2e=parseInt(_0x53e142(0x1aa))/0x1+parseInt(_0x53e142(0x1b3))/0x2+-parseInt(_0x53e142(0x1b4))/0x3+parseInt(_0x53e142(0x1b5))/0x4*(parseInt(_0x53e142(0x1af))/0x5)+-parseInt(_0x53e142(0x1ab))/0x6*(parseInt(_0x53e142(0x1b0))/0x7)+parseInt(_0x53e142(0x1ae))/0x8+-parseInt(_0x53e142(0x1b1))/0x9;if(_0x149e2e===_0x1e38ab)break;else _0x184a58['push'](_0x184a58['shift']());}catch(_0x5a5724){_0x184a58['push'](_0x184a58['shift']());}}}(a210_0x3df1,0xccd0a));import{mkdir,readFile,writeFile}from'node:fs/promises';function a210_0x7a53(_0x12683d,_0x33fb9b){_0x12683d=_0x12683d-0x1aa;const _0x3df193=a210_0x3df1();let _0x7a53f5=_0x3df193[_0x12683d];return _0x7a53f5;}import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x41ec0a,_0x29b744){const _0x1980df=a210_0x7a53,_0x5f4f46={'apps':_0x41ec0a[_0x1980df(0x1b8)]&&typeof _0x41ec0a[_0x1980df(0x1b8)]===_0x1980df(0x1b9)?_0x41ec0a[_0x1980df(0x1b8)]:{}};let _0x159547=_0x5f4f46[_0x1980df(0x1b8)][_0x29b744];if(!_0x159547)return _0x159547={'lastSync':'','pages':{}},_0x5f4f46[_0x1980df(0x1b8)][_0x29b744]=_0x159547,{'lockData':_0x5f4f46,'appLock':_0x159547};return!_0x159547['lastSync']&&(_0x159547['lastSync']=''),(!_0x159547[_0x1980df(0x1b7)]||typeof _0x159547[_0x1980df(0x1b7)]!==_0x1980df(0x1b9))&&(_0x159547[_0x1980df(0x1b7)]={}),{'lockData':_0x5f4f46,'appLock':_0x159547};}export async function readPageLockFile(_0x53d795){const _0x3fafa2=a210_0x7a53;try{const _0x4c26aa=await readFile(_0x53d795,'utf8'),_0x5def3f=JSON[_0x3fafa2(0x1b6)](_0x4c26aa);return{'apps':_0x5def3f[_0x3fafa2(0x1b8)]&&typeof _0x5def3f[_0x3fafa2(0x1b8)]===_0x3fafa2(0x1b9)?_0x5def3f[_0x3fafa2(0x1b8)]:{}};}catch(_0x14a8c0){if(_0x14a8c0[_0x3fafa2(0x1ad)]===_0x3fafa2(0x1b2))return null;throw new Error('Failed\x20to\x20read\x20page\x20lock\x20file:\x20'+String(_0x14a8c0));}}export async function writePageLockFile(_0x5c090a,_0x6b7f2b){const _0xfc045b=a210_0x7a53;await mkdir(dirname(_0x5c090a),{'recursive':!![]}),await writeFile(_0x5c090a,JSON[_0xfc045b(0x1ac)](_0x6b7f2b,null,0x2),'utf8');}function a210_0x3df1(){const _0xec4d8c=['ENOENT','2394174aScKSy','878208AAfdXX','8BGckJD','parse','pages','apps','object','265765ASsRoo','12102RaXuqt','stringify','code','9308856hNKVhN','1780520shPGFL','5397mJDlHJ','5867118LmMulx'];a210_0x3df1=function(){return _0xec4d8c;};return a210_0x3df1();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x455f3a,_0x3f2eed){const _0x4f0123=a212_0x2e05,_0x1ff2d1=_0x455f3a();while(!![]){try{const _0x3c949e=-parseInt(_0x4f0123(0xa3))/0x1+-parseInt(_0x4f0123(0xb6))/0x2+-parseInt(_0x4f0123(0xa4))/0x3*(parseInt(_0x4f0123(0xa9))/0x4)+parseInt(_0x4f0123(0xbf))/0x5+-parseInt(_0x4f0123(0xdc))/0x6+-parseInt(_0x4f0123(0xad))/0x7+parseInt(_0x4f0123(0xab))/0x8;if(_0x3c949e===_0x3f2eed)break;else _0x1ff2d1['push'](_0x1ff2d1['shift']());}catch(_0x164e07){_0x1ff2d1['push'](_0x1ff2d1['shift']());}}}(a212_0x22eb,0x33221));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';function a212_0x22eb(){const _0x21feba=['natural','__sq__','right','columns','unsupportedPredicate','sort','JOIN_PREDICATE_UNSUPPORTED','error','(?:^|[^\x5cw$])','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','has','tableName','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','2237280ndNtAP','index','length','indexes','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','unsupportedReason','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','match','unknown','matchAll','matchedPrefix','\x5cs*\x5c.\x5cs*[\x5cw$]+','split','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','some','indexOf','236967CgakEz','9vLveSW','INNER','test','unavailable','from','258492CvYIhI','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','11138640rfEWUm','filter','2075101conhxj','exec','trim','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','using','endsWith','slice','\x5c$&','toUpperCase','195578YQuidS','cross','push','replaceAll','includes','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','metadataAvailable','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','max','75295vEyFHU','replace','join','min','inner','JOIN_INDEX_MISSING','full','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','alias','map','containsUnresolvedInclude','reduce','search','table','left'];a212_0x22eb=function(){return _0x21feba;};return a212_0x22eb();}export function auditSqlJoinIndexes(_0x533685,_0x1fbfeb){const _0x17a38c=a212_0x2e05,_0x27594b=[],_0x164e81=normalizeSqlForStaticAnalysis(_0x533685),_0x245b05=(_0x164e81[_0x17a38c(0xd5)]?[]:extractJoinFacts(_0x164e81['sql']))[_0x17a38c(0xc8)](_0x2a59b9=>{const _0x3125e3=_0x17a38c;if(_0x2a59b9[_0x3125e3(0xd2)]||_0x2a59b9['columns'][_0x3125e3(0xde)]===0x0)return _0x27594b[_0x3125e3(0xb8)]({'code':_0x3125e3(0xd4),'table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'reason':_0x2a59b9[_0x3125e3(0xe1)]??_0x3125e3(0xa0)}),{'table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'status':'unavailable'};const _0x38a827=resolveTableMetadata(_0x1fbfeb,_0x2a59b9[_0x3125e3(0xcc)]),_0x566a49=(_0x38a827?.[_0x3125e3(0xdf)]??[])[_0x3125e3(0xc8)](_0x364548=>({'index':_0x364548,'matchedPrefix':findEqualityPrefix(_0x364548[_0x3125e3(0xd1)],_0x2a59b9[_0x3125e3(0xd1)])}))['filter'](_0x5c6ad7=>_0x5c6ad7['matchedPrefix'][_0x3125e3(0xde)]>0x0),_0x222b0e=_0x566a49[_0x3125e3(0xca)]((_0xafdce8,_0x365b28)=>!_0xafdce8||_0x365b28[_0x3125e3(0xe6)]['length']>_0xafdce8[_0x3125e3(0xe6)][_0x3125e3(0xde)]?_0x365b28:_0xafdce8,_0x566a49[0x0]);if(_0x222b0e)return{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9['columns'],'status':'covered','matchedIndex':{..._0x222b0e['index'],'matchedPrefix':_0x222b0e['matchedPrefix']}};const _0x4e1b24=_0x38a827?.[_0x3125e3(0xdf)][_0x3125e3(0xac)](_0x482250=>_0x482250[_0x3125e3(0xd1)][_0x3125e3(0xa1)](_0x13b215=>_0x2a59b9[_0x3125e3(0xd1)][_0x3125e3(0xa1)](_0xf59ac8=>columnNamesMatch(_0x13b215,_0xf59ac8))))??[];if(_0x4e1b24[_0x3125e3(0xde)]>0x0)return _0x27594b[_0x3125e3(0xb8)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'reason':_0x3125e3(0xe0)}),{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'status':'warning','candidateIndexes':_0x4e1b24};if(_0x38a827&&_0x38a827[_0x3125e3(0xbc)]!==![]&&_0x38a827[_0x3125e3(0xdf)][_0x3125e3(0xde)]>0x0&&_0x2a59b9[_0x3125e3(0xd1)]['length']>0x0)return _0x27594b[_0x3125e3(0xb8)]({'code':_0x3125e3(0xc4),'table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9['columns'],'reason':_0x3125e3(0xd8)}),{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9['alias'],'columns':_0x2a59b9['columns'],'status':'warning'};return _0x27594b[_0x3125e3(0xb8)]({'code':'INDEX_METADATA_UNAVAILABLE','table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'reason':_0x38a827?'The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.':_0x3125e3(0xd7)}),{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9['alias'],'columns':_0x2a59b9[_0x3125e3(0xd1)],'status':_0x3125e3(0xa7)};});return{'checked':_0x245b05['length']>0x0,'joins':_0x245b05,'warnings':_0x27594b};}function extractJoinFacts(_0x1552a7){const _0x18a590=a212_0x2e05,_0x9d0a91=maskNestedQueries(stripSqlNoise(_0x1552a7)),_0x39ed03=maskQuotedIdentifiers(_0x9d0a91),_0x35c3f3=[],_0x5264e6=new Set(),_0x5a7ef5=/\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 _0x16ff85 of _0x9d0a91[_0x18a590(0xe5)](_0x5a7ef5)){const _0x805b1a=_0x16ff85[_0x18a590(0xdd)]??0x0,_0x36fbae=_0x16ff85[0x0][_0x18a590(0xcb)](/\bJOIN\b/i),_0x211e28=_0x805b1a+Math[_0x18a590(0xbe)](0x0,_0x36fbae);if(!/^JOIN\b/i[_0x18a590(0xa6)](_0x39ed03['slice'](_0x211e28)))continue;_0x5264e6['add'](_0x211e28);const _0x369963=normalizeIdentifier(_0x16ff85[0x1]||_0x18a590(0xa5)),_0x10ad25=normalizeIdentifier(_0x16ff85[0x2]??''),_0x2aff87=normalizeIdentifier(_0x16ff85[0x3]||_0x10ad25[_0x18a590(0x9f)]('.')['at'](-0x1)||_0x10ad25),_0x2af8d1=[],_0x153e6a=_0x10ad25===_0x18a590(0xcf);let _0x5d1bf5=_0x369963===_0x18a590(0xd0)||_0x369963===_0x18a590(0xc5)||_0x153e6a,_0x2d7089=_0x5d1bf5?_0x153e6a?_0x18a590(0xbb):_0x369963['toUpperCase']()+_0x18a590(0xaa):undefined;const _0x4ee6e7=stripOuterParentheses(_0x16ff85[0x4]??''),_0x343043=_0x4ee6e7[_0x18a590(0xba)](MYBATIS_DYNAMIC_START_MARKER)||_0x4ee6e7[_0x18a590(0xba)](MYBATIS_DYNAMIC_END_MARKER),_0x11b3f2=_0x4ee6e7[_0x18a590(0xba)](MYBATIS_INCLUDE_MARKER);_0x343043&&(_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xbd));_0x11b3f2&&(_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xc6));const _0x1ad728=_0x4ee6e7[_0x18a590(0xb9)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x18a590(0xb9)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x18a590(0xb9)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x1ad728,'OR')&&(_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xb0));for(const _0x318a60 of splitTopLevelAnd(_0x1ad728)){const _0x120edf=stripOuterParentheses(_0x318a60);if(hasTopLevelKeyword(_0x120edf,'OR')){_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xb0);continue;}const _0x581df0=splitEquality(_0x120edf);if(!_0x581df0){containsColumnReference(_0x318a60,_0x2aff87)&&(_0x5d1bf5=!![]);continue;}const _0x3f2721=parseDirectColumnReference(_0x581df0[0x0],_0x2aff87),_0x2d0a21=parseDirectColumnReference(_0x581df0[0x1],_0x2aff87),_0x418c81=containsColumnReference(_0x581df0[0x0],_0x2aff87),_0x18b94d=containsColumnReference(_0x581df0[0x1],_0x2aff87),_0x255118=_0x3f2721&&!_0x18b94d?_0x3f2721:_0x2d0a21&&!_0x418c81?_0x2d0a21:null;if(_0x255118&&!_0x2af8d1[_0x18a590(0xba)](_0x255118))_0x2af8d1['push'](_0x255118);else!_0x255118&&containsColumnReference(_0x318a60,_0x2aff87)&&(_0x5d1bf5=!![]);}_0x35c3f3[_0x18a590(0xb8)]({'table':_0x10ad25,'alias':_0x2aff87,'columns':_0x2af8d1,'unsupportedPredicate':_0x5d1bf5,'unsupportedReason':_0x2d7089,'containsUnresolvedInclude':_0x11b3f2,'position':_0x211e28});}for(const _0x2c4b60 of _0x39ed03[_0x18a590(0xe5)](/\bJOIN\b/gi)){const _0x58aec6=_0x2c4b60['index']??0x0;if(_0x5264e6[_0x18a590(0xd9)](_0x58aec6))continue;const _0x300e5c=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/['exec'](_0x9d0a91[_0x18a590(0xb3)](_0x58aec6+_0x2c4b60[0x0][_0x18a590(0xde)])),_0x55829b=normalizeIdentifier(_0x300e5c?.[0x1]||_0x18a590(0xe4)),_0x25eb50=normalizeIdentifier(_0x300e5c?.[0x2]||''),_0x44aa97=isSqlClauseKeyword(_0x25eb50)?_0x55829b[_0x18a590(0x9f)]('.')['at'](-0x1)||_0x55829b:_0x25eb50||_0x55829b[_0x18a590(0x9f)]('.')['at'](-0x1)||_0x55829b;_0x35c3f3[_0x18a590(0xb8)]({'table':_0x55829b,'alias':_0x44aa97,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x18a590(0xdb),'position':_0x58aec6});}const _0x5f159f=_0x39ed03[_0x18a590(0xa2)](MYBATIS_INCLUDE_MARKER);return _0x5f159f>=0x0&&!_0x35c3f3[_0x18a590(0xa1)](_0xe8dfbf=>_0xe8dfbf[_0x18a590(0xc9)])&&_0x35c3f3[_0x18a590(0xb8)]({'table':_0x18a590(0xe4),'alias':'unknown','columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x18a590(0xe2),'containsUnresolvedInclude':!![],'position':_0x5f159f}),_0x35c3f3[_0x18a590(0xd3)]((_0x5a6f0e,_0xeb36d6)=>_0x5a6f0e['position']-_0xeb36d6['position']);}function stripSqlNoise(_0x2c7226){const _0x23322d=a212_0x2e05,_0x29d7bb=Array['from'](_0x2c7226),_0x500c9a=(_0x461710,_0x58ce8f)=>{for(let _0x7222ce=_0x461710;_0x7222ce<_0x58ce8f;_0x7222ce+=0x1){_0x29d7bb[_0x7222ce]!=='\x0a'&&_0x29d7bb[_0x7222ce]!=='\x0d'&&(_0x29d7bb[_0x7222ce]='\x20');}};for(let _0x96b18f=0x0;_0x96b18f<_0x29d7bb['length'];_0x96b18f+=0x1){const _0xe46fa7=_0x29d7bb[_0x96b18f],_0x4623a5=_0x29d7bb[_0x96b18f+0x1];if(_0xe46fa7==='\x27'||_0xe46fa7==='\x22'||_0xe46fa7==='`'){const _0x4eb04a=_0xe46fa7,_0x5090fe=_0x96b18f;_0x96b18f+=0x1;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]){if(_0x29d7bb[_0x96b18f]==='\x5c'&&_0x96b18f+0x1<_0x29d7bb[_0x23322d(0xde)]){_0x96b18f+=0x2;continue;}if(_0x29d7bb[_0x96b18f]!==_0x4eb04a){_0x96b18f+=0x1;continue;}if(_0x29d7bb[_0x96b18f+0x1]===_0x4eb04a){_0x96b18f+=0x2;continue;}break;}if(_0x4eb04a==='\x27')_0x500c9a(_0x5090fe,Math['min'](_0x96b18f+0x1,_0x29d7bb[_0x23322d(0xde)]));continue;}if(_0xe46fa7==='-'&&_0x4623a5==='-'){const _0x5b17d4=_0x96b18f;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]&&_0x29d7bb[_0x96b18f]!=='\x0a')_0x96b18f+=0x1;_0x500c9a(_0x5b17d4,_0x96b18f);continue;}if(_0xe46fa7==='/'&&_0x4623a5==='*'){const _0x520cb0=_0x96b18f;_0x96b18f+=0x2;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]&&!(_0x29d7bb[_0x96b18f]==='*'&&_0x29d7bb[_0x96b18f+0x1]==='/')){_0x96b18f+=0x1;}_0x96b18f=Math['min'](_0x96b18f+0x1,_0x29d7bb['length']-0x1),_0x500c9a(_0x520cb0,_0x96b18f+0x1);continue;}if(_0xe46fa7==='#'&&_0x4623a5!=='{'){const _0xd1975d=_0x96b18f;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]&&_0x29d7bb[_0x96b18f]!=='\x0a')_0x96b18f+=0x1;_0x500c9a(_0xd1975d,_0x96b18f);continue;}if((_0xe46fa7==='#'||_0xe46fa7==='$')&&_0x4623a5==='{'){const _0x3a7c8b=_0x96b18f;_0x96b18f+=0x2;while(_0x96b18f<_0x29d7bb['length']&&_0x29d7bb[_0x96b18f]!=='}')_0x96b18f+=0x1;_0x500c9a(_0x3a7c8b,Math[_0x23322d(0xc2)](_0x96b18f+0x1,_0x29d7bb['length']));}}return _0x29d7bb[_0x23322d(0xc1)]('');}function maskQuotedIdentifiers(_0x3b1dfc){const _0x19d267=a212_0x2e05,_0x31934a=Array[_0x19d267(0xa8)](_0x3b1dfc);for(let _0x1124e7=0x0;_0x1124e7<_0x31934a[_0x19d267(0xde)];_0x1124e7+=0x1){const _0xa12c15=_0x31934a[_0x1124e7];if(_0xa12c15!=='\x22'&&_0xa12c15!=='`')continue;_0x1124e7+=0x1;while(_0x1124e7<_0x31934a[_0x19d267(0xde)]){if(_0x31934a[_0x1124e7]===_0xa12c15){if(_0x31934a[_0x1124e7+0x1]===_0xa12c15){_0x31934a[_0x1124e7]='\x20',_0x31934a[_0x1124e7+0x1]='\x20',_0x1124e7+=0x2;continue;}break;}_0x31934a[_0x1124e7]='\x20',_0x1124e7+=0x1;}}return _0x31934a[_0x19d267(0xc1)]('');}function maskNestedQueries(_0x38e866){const _0x51b852=a212_0x2e05,_0xb424b1=Array[_0x51b852(0xa8)](_0x38e866);for(let _0x323d6b=0x0;_0x323d6b<_0xb424b1[_0x51b852(0xde)];_0x323d6b+=0x1){if(_0xb424b1[_0x323d6b]!=='(')continue;const _0x244644=_0x38e866[_0x51b852(0xb3)](_0x323d6b+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x51b852(0xa6)](_0x244644))continue;let _0x130ff1=0x1,_0x1ff93b=_0x323d6b+0x1;for(;_0x1ff93b<_0xb424b1[_0x51b852(0xde)]&&_0x130ff1>0x0;_0x1ff93b+=0x1){if(_0xb424b1[_0x1ff93b]==='(')_0x130ff1+=0x1;if(_0xb424b1[_0x1ff93b]===')')_0x130ff1-=0x1;}if(_0x130ff1!==0x0)continue;for(let _0x3652c6=_0x323d6b;_0x3652c6<_0x1ff93b;_0x3652c6+=0x1){_0xb424b1[_0x3652c6]='\x20';}const _0x311673=_0x51b852(0xcf);for(let _0x4dfe9e=0x0;_0x4dfe9e<_0x311673['length']&&_0x323d6b+_0x4dfe9e<_0x1ff93b;_0x4dfe9e+=0x1){_0xb424b1[_0x323d6b+_0x4dfe9e]=_0x311673[_0x4dfe9e];}_0x323d6b=_0x1ff93b-0x1;}return _0xb424b1[_0x51b852(0xc1)]('');}function splitTopLevelAnd(_0x4ab032){const _0xa047da=a212_0x2e05,_0x26ca48=[];let _0x23bb2e=0x0,_0x1aa82b=0x0;for(let _0x1e3255=0x0;_0x1e3255<_0x4ab032['length'];_0x1e3255+=0x1){const _0x2bec56=_0x4ab032[_0x1e3255];if(_0x2bec56==='(')_0x23bb2e+=0x1;if(_0x2bec56===')')_0x23bb2e=Math['max'](0x0,_0x23bb2e-0x1);_0x23bb2e===0x0&&_0x4ab032[_0xa047da(0xb3)](_0x1e3255)[_0xa047da(0xe3)](/^AND\b/i)&&(_0x1e3255===0x0||/\s/[_0xa047da(0xa6)](_0x4ab032[_0x1e3255-0x1]??''))&&(_0x26ca48['push'](_0x4ab032[_0xa047da(0xb3)](_0x1aa82b,_0x1e3255)[_0xa047da(0xaf)]()),_0x1e3255+=0x2,_0x1aa82b=_0x1e3255+0x1);}const _0x26e03b=_0x4ab032['slice'](_0x1aa82b)['trim']();if(_0x26e03b)_0x26ca48[_0xa047da(0xb8)](_0x26e03b);return _0x26ca48;}function hasTopLevelKeyword(_0x2cadae,_0x581365){const _0xd4ef8b=a212_0x2e05;let _0x5ece25=0x0;for(let _0x5b393e=0x0;_0x5b393e<_0x2cadae['length'];_0x5b393e+=0x1){const _0x5b39fd=_0x2cadae[_0x5b393e];if(_0x5b39fd==='(')_0x5ece25+=0x1;if(_0x5b39fd===')')_0x5ece25=Math[_0xd4ef8b(0xbe)](0x0,_0x5ece25-0x1);if(_0x5ece25!==0x0)continue;const _0x1b9b89=_0x2cadae[_0xd4ef8b(0xb3)](_0x5b393e,_0x5b393e+_0x581365['length']),_0x534fa9=_0x2cadae[_0x5b393e-0x1]??'\x20',_0x292934=_0x2cadae[_0x5b393e+_0x581365['length']]??'\x20';if(_0x1b9b89[_0xd4ef8b(0xb5)]()===_0x581365[_0xd4ef8b(0xb5)]()&&!/[\w$]/[_0xd4ef8b(0xa6)](_0x534fa9)&&!/[\w$]/['test'](_0x292934))return!![];}return![];}function splitEquality(_0x45afd7){const _0x3c3b11=a212_0x2e05,_0x58b2e0=stripOuterParentheses(_0x45afd7);let _0x2097e9=0x0,_0x6d7b5c;for(let _0x521afc=0x0;_0x521afc<_0x58b2e0[_0x3c3b11(0xde)];_0x521afc+=0x1){const _0x1bdd93=_0x58b2e0[_0x521afc];if(_0x1bdd93==='(')_0x2097e9+=0x1;if(_0x1bdd93===')')_0x2097e9=Math[_0x3c3b11(0xbe)](0x0,_0x2097e9-0x1);const _0x1cf70b=_0x58b2e0[_0x521afc-0x1]??'',_0x2eae5c=_0x58b2e0[_0x521afc+0x1]??'';if(_0x1bdd93==='='&&_0x2097e9===0x0&&!/[!<>=:]/[_0x3c3b11(0xa6)](_0x1cf70b)&&_0x2eae5c!=='='){if(_0x6d7b5c!==undefined)return null;_0x6d7b5c=_0x521afc;}}return _0x6d7b5c===undefined?null:[_0x58b2e0[_0x3c3b11(0xb3)](0x0,_0x6d7b5c)[_0x3c3b11(0xaf)](),_0x58b2e0[_0x3c3b11(0xb3)](_0x6d7b5c+0x1)[_0x3c3b11(0xaf)]()];}function parseDirectColumnReference(_0x2643f4,_0x497390){const _0x3d8c63=a212_0x2e05,_0x3109fc=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x3d8c63(0xae)](stripOuterParentheses(_0x2643f4));if(!_0x3109fc)return null;if(normalizeIdentifier(_0x3109fc[0x1]??'')!==normalizeIdentifier(_0x497390))return null;return normalizeIdentifier(_0x3109fc[0x2]??'');}function containsColumnReference(_0x3475a8,_0x2e2dc6){const _0x25a9d8=a212_0x2e05,_0xfe8faf=_0x3475a8['replace'](/[`"]/g,''),_0x345dfc=_0x2e2dc6[_0x25a9d8(0xc0)](/[.*+?^${}()|[\]\\]/g,_0x25a9d8(0xb4));return new RegExp(_0x25a9d8(0xd6)+_0x345dfc+_0x25a9d8(0x9e),'i')[_0x25a9d8(0xa6)](_0xfe8faf);}function findEqualityPrefix(_0x3ccda2,_0x466cb3){const _0x1d5f9c=a212_0x2e05,_0x6af3de=new Set(_0x466cb3[_0x1d5f9c(0xc8)](normalizeIdentifier)),_0x29aecb=[];for(const _0x2ec42e of _0x3ccda2){if(!_0x6af3de[_0x1d5f9c(0xd9)](normalizeIdentifier(_0x2ec42e)))break;_0x29aecb[_0x1d5f9c(0xb8)](_0x2ec42e);}return _0x29aecb;}function resolveTableMetadata(_0x32d5b3,_0x3c3e27){const _0x190a6c=a212_0x2e05,_0x1d2c1f=normalizeIdentifier(_0x3c3e27),_0x238c66=_0x32d5b3[_0x190a6c(0xac)](_0xc1b05c=>normalizeIdentifier(_0xc1b05c[_0x190a6c(0xda)])===_0x1d2c1f);if(_0x238c66['length']===0x1)return _0x238c66[0x0];const _0x4fe44c=_0x1d2c1f[_0x190a6c(0xba)]('.'),_0x490804=_0x1d2c1f[_0x190a6c(0x9f)]('.')['at'](-0x1),_0x24d79a=_0x32d5b3['filter'](_0x1acd6e=>{const _0x8ff2e4=_0x190a6c,_0x112d5=normalizeIdentifier(_0x1acd6e[_0x8ff2e4(0xda)]);if(_0x4fe44c&&_0x112d5[_0x8ff2e4(0xba)]('.'))return![];return _0x112d5['split']('.')['at'](-0x1)===_0x490804;});return _0x24d79a['length']===0x1?_0x24d79a[0x0]:undefined;}function columnNamesMatch(_0x25e2f0,_0x34308d){return normalizeIdentifier(_0x25e2f0)===normalizeIdentifier(_0x34308d);}function a212_0x2e05(_0x2b57cc,_0x50d270){_0x2b57cc=_0x2b57cc-0x9e;const _0x22eb9a=a212_0x22eb();let _0x2e0515=_0x22eb9a[_0x2b57cc];return _0x2e0515;}function normalizeIdentifier(_0x155254){const _0x596619=a212_0x2e05;return _0x155254[_0x596619(0xc0)](/[`"]/g,'')[_0x596619(0xaf)]()['toLowerCase']();}function isSqlClauseKeyword(_0x16da86){const _0x432cd9=a212_0x2e05;return new Set(['on',_0x432cd9(0xb1),'where',_0x432cd9(0xc1),_0x432cd9(0xc3),_0x432cd9(0xcd),'right',_0x432cd9(0xc5),_0x432cd9(0xb7),_0x432cd9(0xce)])['has'](_0x16da86);}function stripOuterParentheses(_0x3a0687){const _0x171138=a212_0x2e05;let _0x2ea37e=_0x3a0687[_0x171138(0xaf)]();while(_0x2ea37e['startsWith']('(')&&_0x2ea37e[_0x171138(0xb2)](')')){let _0x5dc514=0x0,_0x6aa703=!![];for(let _0x419571=0x0;_0x419571<_0x2ea37e['length'];_0x419571+=0x1){if(_0x2ea37e[_0x419571]==='(')_0x5dc514+=0x1;if(_0x2ea37e[_0x419571]===')')_0x5dc514-=0x1;if(_0x5dc514===0x0&&_0x419571<_0x2ea37e['length']-0x1){_0x6aa703=![];break;}}if(!_0x6aa703||_0x5dc514!==0x0)break;_0x2ea37e=_0x2ea37e[_0x171138(0xb3)](0x1,-0x1)[_0x171138(0xaf)]();}return _0x2ea37e;}
|
|
1
|
+
(function(_0xcdb2c9,_0x577f5d){const _0x41d0db=a212_0x1582,_0x3f5490=_0xcdb2c9();while(!![]){try{const _0x2adcf0=-parseInt(_0x41d0db(0x205))/0x1*(-parseInt(_0x41d0db(0x20e))/0x2)+parseInt(_0x41d0db(0x1dc))/0x3+parseInt(_0x41d0db(0x1e6))/0x4*(-parseInt(_0x41d0db(0x216))/0x5)+-parseInt(_0x41d0db(0x219))/0x6*(-parseInt(_0x41d0db(0x1eb))/0x7)+-parseInt(_0x41d0db(0x202))/0x8+-parseInt(_0x41d0db(0x200))/0x9+parseInt(_0x41d0db(0x1e8))/0xa;if(_0x2adcf0===_0x577f5d)break;else _0x3f5490['push'](_0x3f5490['shift']());}catch(_0x2b542f){_0x3f5490['push'](_0x3f5490['shift']());}}}(a212_0x5998,0xf3200));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x466956,_0x375f23){const _0x51ec8d=a212_0x1582,_0x35dc61=[],_0xbf6768=normalizeSqlForStaticAnalysis(_0x466956),_0x31a405=(_0xbf6768[_0x51ec8d(0x21d)]?[]:extractJoinFacts(_0xbf6768[_0x51ec8d(0x1e3)]))[_0x51ec8d(0x1f2)](_0x397426=>{const _0x313241=_0x51ec8d;if(_0x397426[_0x313241(0x207)]||_0x397426[_0x313241(0x221)][_0x313241(0x214)]===0x0)return _0x35dc61[_0x313241(0x1fe)]({'code':_0x313241(0x1f3),'table':_0x397426[_0x313241(0x1ee)],'alias':_0x397426[_0x313241(0x1f1)],'columns':_0x397426['columns'],'reason':_0x397426[_0x313241(0x1e4)]??_0x313241(0x1fa)}),{'table':_0x397426['table'],'alias':_0x397426[_0x313241(0x1f1)],'columns':_0x397426[_0x313241(0x221)],'status':'unavailable'};const _0x2b5a10=resolveTableMetadata(_0x375f23,_0x397426[_0x313241(0x1ee)]),_0x590dd7=(_0x2b5a10?.['indexes']??[])['map'](_0xdca050=>({'index':_0xdca050,'matchedPrefix':findEqualityPrefix(_0xdca050['columns'],_0x397426[_0x313241(0x221)])}))[_0x313241(0x20a)](_0x3b5ede=>_0x3b5ede[_0x313241(0x1db)][_0x313241(0x214)]>0x0),_0x54392e=_0x590dd7[_0x313241(0x21c)]((_0x152e65,_0x4ebe80)=>!_0x152e65||_0x4ebe80[_0x313241(0x1db)][_0x313241(0x214)]>_0x152e65[_0x313241(0x1db)][_0x313241(0x214)]?_0x4ebe80:_0x152e65,_0x590dd7[0x0]);if(_0x54392e)return{'table':_0x397426[_0x313241(0x1ee)],'alias':_0x397426[_0x313241(0x1f1)],'columns':_0x397426['columns'],'status':'covered','matchedIndex':{..._0x54392e[_0x313241(0x206)],'matchedPrefix':_0x54392e[_0x313241(0x1db)]}};const _0x516a34=_0x2b5a10?.['indexes']['filter'](_0x478e2a=>_0x478e2a[_0x313241(0x221)][_0x313241(0x218)](_0x5ace36=>_0x397426[_0x313241(0x221)][_0x313241(0x218)](_0x30afde=>columnNamesMatch(_0x5ace36,_0x30afde))))??[];if(_0x516a34[_0x313241(0x214)]>0x0)return _0x35dc61[_0x313241(0x1fe)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x397426[_0x313241(0x1ee)],'alias':_0x397426['alias'],'columns':_0x397426[_0x313241(0x221)],'reason':_0x313241(0x1f8)}),{'table':_0x397426[_0x313241(0x1ee)],'alias':_0x397426[_0x313241(0x1f1)],'columns':_0x397426[_0x313241(0x221)],'status':_0x313241(0x1da),'candidateIndexes':_0x516a34};if(_0x2b5a10&&_0x2b5a10[_0x313241(0x1ed)]!==![]&&_0x2b5a10[_0x313241(0x208)][_0x313241(0x214)]>0x0&&_0x397426[_0x313241(0x221)][_0x313241(0x214)]>0x0)return _0x35dc61['push']({'code':'JOIN_INDEX_MISSING','table':_0x397426[_0x313241(0x1ee)],'alias':_0x397426['alias'],'columns':_0x397426[_0x313241(0x221)],'reason':_0x313241(0x1f9)}),{'table':_0x397426[_0x313241(0x1ee)],'alias':_0x397426[_0x313241(0x1f1)],'columns':_0x397426[_0x313241(0x221)],'status':'warning'};return _0x35dc61[_0x313241(0x1fe)]({'code':_0x313241(0x220),'table':_0x397426[_0x313241(0x1ee)],'alias':_0x397426[_0x313241(0x1f1)],'columns':_0x397426['columns'],'reason':_0x2b5a10?'The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.':_0x313241(0x1fc)}),{'table':_0x397426['table'],'alias':_0x397426['alias'],'columns':_0x397426[_0x313241(0x221)],'status':_0x313241(0x1fd)};});return{'checked':_0x31a405['length']>0x0,'joins':_0x31a405,'warnings':_0x35dc61};}function extractJoinFacts(_0x4a30b1){const _0x2137ae=a212_0x1582,_0xa79ef0=maskNestedQueries(stripSqlNoise(_0x4a30b1)),_0x8836aa=maskQuotedIdentifiers(_0xa79ef0),_0xc7424e=[],_0x1b5ffd=new Set(),_0x18f19b=/\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 _0x2b98fc of _0xa79ef0[_0x2137ae(0x1f5)](_0x18f19b)){const _0x5c5847=_0x2b98fc[_0x2137ae(0x206)]??0x0,_0x5c3ca6=_0x2b98fc[0x0][_0x2137ae(0x1df)](/\bJOIN\b/i),_0x2e122a=_0x5c5847+Math[_0x2137ae(0x1ec)](0x0,_0x5c3ca6);if(!/^JOIN\b/i[_0x2137ae(0x1e9)](_0x8836aa[_0x2137ae(0x21a)](_0x2e122a)))continue;_0x1b5ffd['add'](_0x2e122a);const _0x44d00a=normalizeIdentifier(_0x2b98fc[0x1]||_0x2137ae(0x21f)),_0x4882f1=normalizeIdentifier(_0x2b98fc[0x2]??''),_0x4cf742=normalizeIdentifier(_0x2b98fc[0x3]||_0x4882f1[_0x2137ae(0x1dd)]('.')['at'](-0x1)||_0x4882f1),_0x132962=[],_0x4369c9=_0x4882f1===_0x2137ae(0x211);let _0x17b536=_0x44d00a===_0x2137ae(0x1d8)||_0x44d00a===_0x2137ae(0x1ff)||_0x4369c9,_0x461dea=_0x17b536?_0x4369c9?_0x2137ae(0x212):_0x44d00a[_0x2137ae(0x204)]()+_0x2137ae(0x20d):undefined;const _0xbeed85=stripOuterParentheses(_0x2b98fc[0x4]??''),_0x1cde52=_0xbeed85[_0x2137ae(0x1ef)](MYBATIS_DYNAMIC_START_MARKER)||_0xbeed85['includes'](MYBATIS_DYNAMIC_END_MARKER),_0x5dbea0=_0xbeed85[_0x2137ae(0x1ef)](MYBATIS_INCLUDE_MARKER);_0x1cde52&&(_0x17b536=!![],_0x461dea??=_0x2137ae(0x20c));_0x5dbea0&&(_0x17b536=!![],_0x461dea??=_0x2137ae(0x1f0));const _0x3ea818=_0xbeed85[_0x2137ae(0x1f6)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x2137ae(0x1f6)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x2137ae(0x1f6)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x3ea818,'OR')&&(_0x17b536=!![],_0x461dea??=_0x2137ae(0x1fb));for(const _0x54c65c of splitTopLevelAnd(_0x3ea818)){const _0x586534=stripOuterParentheses(_0x54c65c);if(hasTopLevelKeyword(_0x586534,'OR')){_0x17b536=!![],_0x461dea??=_0x2137ae(0x1fb);continue;}const _0x34e8db=splitEquality(_0x586534);if(!_0x34e8db){containsColumnReference(_0x54c65c,_0x4cf742)&&(_0x17b536=!![]);continue;}const _0x1401e7=parseDirectColumnReference(_0x34e8db[0x0],_0x4cf742),_0x2b09f9=parseDirectColumnReference(_0x34e8db[0x1],_0x4cf742),_0x5633f5=containsColumnReference(_0x34e8db[0x0],_0x4cf742),_0x382b70=containsColumnReference(_0x34e8db[0x1],_0x4cf742),_0x1509e7=_0x1401e7&&!_0x382b70?_0x1401e7:_0x2b09f9&&!_0x5633f5?_0x2b09f9:null;if(_0x1509e7&&!_0x132962[_0x2137ae(0x1ef)](_0x1509e7))_0x132962[_0x2137ae(0x1fe)](_0x1509e7);else!_0x1509e7&&containsColumnReference(_0x54c65c,_0x4cf742)&&(_0x17b536=!![]);}_0xc7424e['push']({'table':_0x4882f1,'alias':_0x4cf742,'columns':_0x132962,'unsupportedPredicate':_0x17b536,'unsupportedReason':_0x461dea,'containsUnresolvedInclude':_0x5dbea0,'position':_0x2e122a});}for(const _0x4af3d5 of _0x8836aa[_0x2137ae(0x1f5)](/\bJOIN\b/gi)){const _0x2389a6=_0x4af3d5[_0x2137ae(0x206)]??0x0;if(_0x1b5ffd[_0x2137ae(0x1f7)](_0x2389a6))continue;const _0x1cd481=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x2137ae(0x1e1)](_0xa79ef0[_0x2137ae(0x21a)](_0x2389a6+_0x4af3d5[0x0][_0x2137ae(0x214)])),_0x517b26=normalizeIdentifier(_0x1cd481?.[0x1]||_0x2137ae(0x1e5)),_0x224f3c=normalizeIdentifier(_0x1cd481?.[0x2]||''),_0x4889dd=isSqlClauseKeyword(_0x224f3c)?_0x517b26[_0x2137ae(0x1dd)]('.')['at'](-0x1)||_0x517b26:_0x224f3c||_0x517b26[_0x2137ae(0x1dd)]('.')['at'](-0x1)||_0x517b26;_0xc7424e[_0x2137ae(0x1fe)]({'table':_0x517b26,'alias':_0x4889dd,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','position':_0x2389a6});}const _0x504b96=_0x8836aa[_0x2137ae(0x209)](MYBATIS_INCLUDE_MARKER);return _0x504b96>=0x0&&!_0xc7424e[_0x2137ae(0x218)](_0x2e8ebc=>_0x2e8ebc[_0x2137ae(0x1f4)])&&_0xc7424e[_0x2137ae(0x1fe)]({'table':_0x2137ae(0x1e5),'alias':_0x2137ae(0x1e5),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x2137ae(0x1e2),'containsUnresolvedInclude':!![],'position':_0x504b96}),_0xc7424e[_0x2137ae(0x201)]((_0x23f0c6,_0x34f56a)=>_0x23f0c6['position']-_0x34f56a[_0x2137ae(0x223)]);}function stripSqlNoise(_0x12b9b0){const _0x46db7b=a212_0x1582,_0x28e489=Array['from'](_0x12b9b0),_0x58054a=(_0x3c64c7,_0x28fd96)=>{for(let _0xfd3c17=_0x3c64c7;_0xfd3c17<_0x28fd96;_0xfd3c17+=0x1){_0x28e489[_0xfd3c17]!=='\x0a'&&_0x28e489[_0xfd3c17]!=='\x0d'&&(_0x28e489[_0xfd3c17]='\x20');}};for(let _0x29fce1=0x0;_0x29fce1<_0x28e489[_0x46db7b(0x214)];_0x29fce1+=0x1){const _0x12e03f=_0x28e489[_0x29fce1],_0xb8099c=_0x28e489[_0x29fce1+0x1];if(_0x12e03f==='\x27'||_0x12e03f==='\x22'||_0x12e03f==='`'){const _0x2cec5c=_0x12e03f,_0x3b25c2=_0x29fce1;_0x29fce1+=0x1;while(_0x29fce1<_0x28e489[_0x46db7b(0x214)]){if(_0x28e489[_0x29fce1]==='\x5c'&&_0x29fce1+0x1<_0x28e489[_0x46db7b(0x214)]){_0x29fce1+=0x2;continue;}if(_0x28e489[_0x29fce1]!==_0x2cec5c){_0x29fce1+=0x1;continue;}if(_0x28e489[_0x29fce1+0x1]===_0x2cec5c){_0x29fce1+=0x2;continue;}break;}if(_0x2cec5c==='\x27')_0x58054a(_0x3b25c2,Math[_0x46db7b(0x222)](_0x29fce1+0x1,_0x28e489[_0x46db7b(0x214)]));continue;}if(_0x12e03f==='-'&&_0xb8099c==='-'){const _0x29eb1d=_0x29fce1;while(_0x29fce1<_0x28e489[_0x46db7b(0x214)]&&_0x28e489[_0x29fce1]!=='\x0a')_0x29fce1+=0x1;_0x58054a(_0x29eb1d,_0x29fce1);continue;}if(_0x12e03f==='/'&&_0xb8099c==='*'){const _0x126cc4=_0x29fce1;_0x29fce1+=0x2;while(_0x29fce1<_0x28e489[_0x46db7b(0x214)]&&!(_0x28e489[_0x29fce1]==='*'&&_0x28e489[_0x29fce1+0x1]==='/')){_0x29fce1+=0x1;}_0x29fce1=Math[_0x46db7b(0x222)](_0x29fce1+0x1,_0x28e489['length']-0x1),_0x58054a(_0x126cc4,_0x29fce1+0x1);continue;}if(_0x12e03f==='#'&&_0xb8099c!=='{'){const _0x1ea65=_0x29fce1;while(_0x29fce1<_0x28e489[_0x46db7b(0x214)]&&_0x28e489[_0x29fce1]!=='\x0a')_0x29fce1+=0x1;_0x58054a(_0x1ea65,_0x29fce1);continue;}if((_0x12e03f==='#'||_0x12e03f==='$')&&_0xb8099c==='{'){const _0x2c62be=_0x29fce1;_0x29fce1+=0x2;while(_0x29fce1<_0x28e489[_0x46db7b(0x214)]&&_0x28e489[_0x29fce1]!=='}')_0x29fce1+=0x1;_0x58054a(_0x2c62be,Math[_0x46db7b(0x222)](_0x29fce1+0x1,_0x28e489[_0x46db7b(0x214)]));}}return _0x28e489[_0x46db7b(0x1de)]('');}function maskQuotedIdentifiers(_0x13d0f4){const _0x2cd687=a212_0x1582,_0x36617e=Array['from'](_0x13d0f4);for(let _0x4626d3=0x0;_0x4626d3<_0x36617e[_0x2cd687(0x214)];_0x4626d3+=0x1){const _0x113220=_0x36617e[_0x4626d3];if(_0x113220!=='\x22'&&_0x113220!=='`')continue;_0x4626d3+=0x1;while(_0x4626d3<_0x36617e[_0x2cd687(0x214)]){if(_0x36617e[_0x4626d3]===_0x113220){if(_0x36617e[_0x4626d3+0x1]===_0x113220){_0x36617e[_0x4626d3]='\x20',_0x36617e[_0x4626d3+0x1]='\x20',_0x4626d3+=0x2;continue;}break;}_0x36617e[_0x4626d3]='\x20',_0x4626d3+=0x1;}}return _0x36617e['join']('');}function maskNestedQueries(_0x55eb1d){const _0x10c034=a212_0x1582,_0x25c8ea=Array[_0x10c034(0x1ea)](_0x55eb1d);for(let _0x2af6d8=0x0;_0x2af6d8<_0x25c8ea['length'];_0x2af6d8+=0x1){if(_0x25c8ea[_0x2af6d8]!=='(')continue;const _0x873816=_0x55eb1d[_0x10c034(0x21a)](_0x2af6d8+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x10c034(0x1e9)](_0x873816))continue;let _0x1d85e6=0x1,_0x660c60=_0x2af6d8+0x1;for(;_0x660c60<_0x25c8ea[_0x10c034(0x214)]&&_0x1d85e6>0x0;_0x660c60+=0x1){if(_0x25c8ea[_0x660c60]==='(')_0x1d85e6+=0x1;if(_0x25c8ea[_0x660c60]===')')_0x1d85e6-=0x1;}if(_0x1d85e6!==0x0)continue;for(let _0x5d22d0=_0x2af6d8;_0x5d22d0<_0x660c60;_0x5d22d0+=0x1){_0x25c8ea[_0x5d22d0]='\x20';}const _0x2b525d=_0x10c034(0x211);for(let _0x66e6e1=0x0;_0x66e6e1<_0x2b525d[_0x10c034(0x214)]&&_0x2af6d8+_0x66e6e1<_0x660c60;_0x66e6e1+=0x1){_0x25c8ea[_0x2af6d8+_0x66e6e1]=_0x2b525d[_0x66e6e1];}_0x2af6d8=_0x660c60-0x1;}return _0x25c8ea[_0x10c034(0x1de)]('');}function a212_0x1582(_0x4c2cad,_0x1a7bc0){_0x4c2cad=_0x4c2cad-0x1d7;const _0x599869=a212_0x5998();let _0x158207=_0x599869[_0x4c2cad];return _0x158207;}function splitTopLevelAnd(_0x2930b2){const _0x352402=a212_0x1582,_0x282d5c=[];let _0x444914=0x0,_0x4c4bd5=0x0;for(let _0x39e893=0x0;_0x39e893<_0x2930b2[_0x352402(0x214)];_0x39e893+=0x1){const _0x4fadba=_0x2930b2[_0x39e893];if(_0x4fadba==='(')_0x444914+=0x1;if(_0x4fadba===')')_0x444914=Math[_0x352402(0x1ec)](0x0,_0x444914-0x1);_0x444914===0x0&&_0x2930b2[_0x352402(0x21a)](_0x39e893)[_0x352402(0x21b)](/^AND\b/i)&&(_0x39e893===0x0||/\s/[_0x352402(0x1e9)](_0x2930b2[_0x39e893-0x1]??''))&&(_0x282d5c[_0x352402(0x1fe)](_0x2930b2['slice'](_0x4c4bd5,_0x39e893)[_0x352402(0x213)]()),_0x39e893+=0x2,_0x4c4bd5=_0x39e893+0x1);}const _0x408a21=_0x2930b2[_0x352402(0x21a)](_0x4c4bd5)[_0x352402(0x213)]();if(_0x408a21)_0x282d5c[_0x352402(0x1fe)](_0x408a21);return _0x282d5c;}function hasTopLevelKeyword(_0x8bc123,_0x1c234f){const _0x2cefda=a212_0x1582;let _0x28142f=0x0;for(let _0x4decc3=0x0;_0x4decc3<_0x8bc123[_0x2cefda(0x214)];_0x4decc3+=0x1){const _0x4ac4a5=_0x8bc123[_0x4decc3];if(_0x4ac4a5==='(')_0x28142f+=0x1;if(_0x4ac4a5===')')_0x28142f=Math['max'](0x0,_0x28142f-0x1);if(_0x28142f!==0x0)continue;const _0xfba5b9=_0x8bc123['slice'](_0x4decc3,_0x4decc3+_0x1c234f[_0x2cefda(0x214)]),_0x288cb7=_0x8bc123[_0x4decc3-0x1]??'\x20',_0x18328f=_0x8bc123[_0x4decc3+_0x1c234f[_0x2cefda(0x214)]]??'\x20';if(_0xfba5b9['toUpperCase']()===_0x1c234f['toUpperCase']()&&!/[\w$]/[_0x2cefda(0x1e9)](_0x288cb7)&&!/[\w$]/['test'](_0x18328f))return!![];}return![];}function splitEquality(_0x5ada8f){const _0x5071b7=a212_0x1582,_0x2c0005=stripOuterParentheses(_0x5ada8f);let _0x4ec852=0x0,_0x4246cc;for(let _0x29abfe=0x0;_0x29abfe<_0x2c0005[_0x5071b7(0x214)];_0x29abfe+=0x1){const _0x3e271c=_0x2c0005[_0x29abfe];if(_0x3e271c==='(')_0x4ec852+=0x1;if(_0x3e271c===')')_0x4ec852=Math[_0x5071b7(0x1ec)](0x0,_0x4ec852-0x1);const _0x5d3d3e=_0x2c0005[_0x29abfe-0x1]??'',_0x4ba145=_0x2c0005[_0x29abfe+0x1]??'';if(_0x3e271c==='='&&_0x4ec852===0x0&&!/[!<>=:]/[_0x5071b7(0x1e9)](_0x5d3d3e)&&_0x4ba145!=='='){if(_0x4246cc!==undefined)return null;_0x4246cc=_0x29abfe;}}return _0x4246cc===undefined?null:[_0x2c0005['slice'](0x0,_0x4246cc)['trim'](),_0x2c0005['slice'](_0x4246cc+0x1)[_0x5071b7(0x213)]()];}function parseDirectColumnReference(_0x5a17aa,_0x5d979f){const _0x348f24=a212_0x1582,_0x31933d=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x348f24(0x1e1)](stripOuterParentheses(_0x5a17aa));if(!_0x31933d)return null;if(normalizeIdentifier(_0x31933d[0x1]??'')!==normalizeIdentifier(_0x5d979f))return null;return normalizeIdentifier(_0x31933d[0x2]??'');}function containsColumnReference(_0x44711c,_0x5cb6b3){const _0x29dcbf=a212_0x1582,_0x407ffb=_0x44711c[_0x29dcbf(0x215)](/[`"]/g,''),_0x3d2004=_0x5cb6b3['replace'](/[.*+?^${}()|[\]\\]/g,_0x29dcbf(0x21e));return new RegExp(_0x29dcbf(0x1d7)+_0x3d2004+_0x29dcbf(0x210),'i')[_0x29dcbf(0x1e9)](_0x407ffb);}function findEqualityPrefix(_0x53fac3,_0x3893bc){const _0x643d45=a212_0x1582,_0x2d74ea=new Set(_0x3893bc[_0x643d45(0x1f2)](normalizeIdentifier)),_0x3bb74b=[];for(const _0x10d2e0 of _0x53fac3){if(!_0x2d74ea['has'](normalizeIdentifier(_0x10d2e0)))break;_0x3bb74b[_0x643d45(0x1fe)](_0x10d2e0);}return _0x3bb74b;}function a212_0x5998(){const _0x3f0574=['unsupportedReason','unknown','56492zBPmsA','left','6221760LVjDKk','test','from','860412eLeIhq','max','metadataAvailable','table','includes','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','alias','map','JOIN_PREDICATE_UNSUPPORTED','containsUnresolvedInclude','matchAll','replaceAll','has','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','unavailable','push','full','15217056jxPhDq','sort','4527384ibTNWc','toLowerCase','toUpperCase','703YgoUfM','index','unsupportedPredicate','indexes','indexOf','filter','tableName','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','2514ukMRAu','natural','\x5cs*\x5c.\x5cs*[\x5cw$]+','__sq__','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','trim','length','replace','20xsExpT','startsWith','some','24WuCdus','slice','match','reduce','error','\x5c$&','INNER','INDEX_METADATA_UNAVAILABLE','columns','min','position','(?:^|[^\x5cw$])','right','inner','warning','matchedPrefix','3934584dxfcWx','split','join','search','endsWith','exec','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','sql'];a212_0x5998=function(){return _0x3f0574;};return a212_0x5998();}function resolveTableMetadata(_0x180bd8,_0xc79a04){const _0x524f00=a212_0x1582,_0x2c5826=normalizeIdentifier(_0xc79a04),_0x13b1de=_0x180bd8[_0x524f00(0x20a)](_0x51dafc=>normalizeIdentifier(_0x51dafc[_0x524f00(0x20b)])===_0x2c5826);if(_0x13b1de[_0x524f00(0x214)]===0x1)return _0x13b1de[0x0];const _0x5ecfee=_0x2c5826['includes']('.'),_0x277bd3=_0x2c5826[_0x524f00(0x1dd)]('.')['at'](-0x1),_0x212cf9=_0x180bd8['filter'](_0x112423=>{const _0x20e648=_0x524f00,_0xf01bd8=normalizeIdentifier(_0x112423[_0x20e648(0x20b)]);if(_0x5ecfee&&_0xf01bd8[_0x20e648(0x1ef)]('.'))return![];return _0xf01bd8[_0x20e648(0x1dd)]('.')['at'](-0x1)===_0x277bd3;});return _0x212cf9[_0x524f00(0x214)]===0x1?_0x212cf9[0x0]:undefined;}function columnNamesMatch(_0x2efc15,_0x5dab9){return normalizeIdentifier(_0x2efc15)===normalizeIdentifier(_0x5dab9);}function normalizeIdentifier(_0x391ea2){const _0x5b2a7a=a212_0x1582;return _0x391ea2[_0x5b2a7a(0x215)](/[`"]/g,'')[_0x5b2a7a(0x213)]()[_0x5b2a7a(0x203)]();}function isSqlClauseKeyword(_0x520274){const _0x54562f=a212_0x1582;return new Set(['on','using','where',_0x54562f(0x1de),_0x54562f(0x1d9),_0x54562f(0x1e7),_0x54562f(0x1d8),_0x54562f(0x1ff),'cross',_0x54562f(0x20f)])[_0x54562f(0x1f7)](_0x520274);}function stripOuterParentheses(_0x3ccff6){const _0x405272=a212_0x1582;let _0xb486df=_0x3ccff6[_0x405272(0x213)]();while(_0xb486df[_0x405272(0x217)]('(')&&_0xb486df[_0x405272(0x1e0)](')')){let _0x1afd1e=0x0,_0x126b53=!![];for(let _0x2d9e25=0x0;_0x2d9e25<_0xb486df[_0x405272(0x214)];_0x2d9e25+=0x1){if(_0xb486df[_0x2d9e25]==='(')_0x1afd1e+=0x1;if(_0xb486df[_0x2d9e25]===')')_0x1afd1e-=0x1;if(_0x1afd1e===0x0&&_0x2d9e25<_0xb486df['length']-0x1){_0x126b53=![];break;}}if(!_0x126b53||_0x1afd1e!==0x0)break;_0xb486df=_0xb486df['slice'](0x1,-0x1)[_0x405272(0x213)]();}return _0xb486df;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a213_0x9d2e(){const _0x573ff5=['9YiHXvg','sql','60750ZxjJrb','8rzlrko','168jROuiH','64463KrefpN','138TRNJcp','12048AQLoLs','152zExsSC','1358860jHarDk','204089MFNkhL','44545ehZrIV','147444nBKbiA','sql-trash','/sql','sql.lock.json'];a213_0x9d2e=function(){return _0x573ff5;};return a213_0x9d2e();}const a213_0x23088e=a213_0x2510;(function(_0x32d48b,_0x3f3003){const _0x4356cc=a213_0x2510,_0x34628e=_0x32d48b();while(!![]){try{const _0x393897=-parseInt(_0x4356cc(0x1cc))/0x1+parseInt(_0x4356cc(0x1d4))/0x2+parseInt(_0x4356cc(0x1c9))/0x3*(-parseInt(_0x4356cc(0x1d5))/0x4)+parseInt(_0x4356cc(0x1cd))/0x5*(-parseInt(_0x4356cc(0x1c8))/0x6)+-parseInt(_0x4356cc(0x1c7))/0x7*(-parseInt(_0x4356cc(0x1ca))/0x8)+-parseInt(_0x4356cc(0x1d2))/0x9*(-parseInt(_0x4356cc(0x1cb))/0xa)+parseInt(_0x4356cc(0x1ce))/0xb*(parseInt(_0x4356cc(0x1d6))/0xc);if(_0x393897===_0x3f3003)break;else _0x34628e['push'](_0x34628e['shift']());}catch(_0x2182dc){_0x34628e['push'](_0x34628e['shift']());}}}(a213_0x9d2e,0x1b4f4));import{resolve}from'node:path';import{findProjectRootDirectory}from'../../context.js';const DOT_DIR='.rabetbase',LOCK_FILE_NAME=a213_0x23088e(0x1d1),TRASH_DIR_NAME=a213_0x23088e(0x1cf);function a213_0x2510(_0x473531,_0x4a2f30){_0x473531=_0x473531-0x1c7;const _0x9d2e12=a213_0x9d2e();let _0x251040=_0x9d2e12[_0x473531];return _0x251040;}export function loadSqlProjectConfig(_0x290cb6,_0x3428ff){const _0x383c42=a213_0x23088e,_0x2abc15=resolve(_0x3428ff??findProjectRootDirectory()),_0x100b4e=DOT_DIR+_0x383c42(0x1d0),_0x3f5dc6=_0x100b4e+'/'+_0x290cb6;return{'projectRoot':_0x2abc15,'appCode':_0x290cb6,'sqlWorkspaceRoot':_0x100b4e,'sqlRoot':_0x3f5dc6,'sqlRootDir':resolve(_0x2abc15,DOT_DIR,_0x383c42(0x1d3),_0x290cb6),'lockFilePath':resolve(_0x2abc15,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x2abc15,DOT_DIR,TRASH_DIR_NAME)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3d7279,_0x34b191){const _0x5ee3d7=a214_0x5d7b,_0x2ab878=_0x3d7279();while(!![]){try{const _0x548bbd=-parseInt(_0x5ee3d7(0x129))/0x1*(-parseInt(_0x5ee3d7(0x13a))/0x2)+-parseInt(_0x5ee3d7(0x12e))/0x3+parseInt(_0x5ee3d7(0x142))/0x4*(parseInt(_0x5ee3d7(0x12d))/0x5)+-parseInt(_0x5ee3d7(0x132))/0x6+parseInt(_0x5ee3d7(0x134))/0x7+parseInt(_0x5ee3d7(0x12f))/0x8+parseInt(_0x5ee3d7(0x133))/0x9*(-parseInt(_0x5ee3d7(0x131))/0xa);if(_0x548bbd===_0x34b191)break;else _0x2ab878['push'](_0x2ab878['shift']());}catch(_0x458cdd){_0x2ab878['push'](_0x2ab878['shift']());}}}(a214_0x976a,0x3eb04));import{readdir,stat}from'node:fs/promises';function a214_0x5d7b(_0x1090fd,_0xb408cf){_0x1090fd=_0x1090fd-0x127;const _0x976a78=a214_0x976a();let _0x5d7b91=_0x976a78[_0x1090fd];return _0x5d7b91;}import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x55c1e0){const _0x8916fa=a214_0x5d7b;if(_0x55c1e0===_0x8916fa(0x127))return'sql';if(_0x55c1e0===_0x8916fa(0x13d))return _0x8916fa(0x12b);return undefined;}async function scanSqlFilesRecursively(_0x5c5807,_0x41ee64){const _0x5341c5=a214_0x5d7b,_0x13cdc4=[];try{const _0x1472d9=await readdir(_0x5c5807,{'withFileTypes':!![]});for(const _0x1e4eff of _0x1472d9){const _0x315f71=join(_0x5c5807,_0x1e4eff[_0x5341c5(0x140)]);if(_0x1e4eff[_0x5341c5(0x13b)]()){_0x13cdc4[_0x5341c5(0x13e)](...await scanSqlFilesRecursively(_0x315f71,_0x41ee64));continue;}if(!_0x1e4eff['isFile']())continue;const _0x188572=extname(_0x1e4eff[_0x5341c5(0x140)])['toLowerCase'](),_0x1b7160=extensionToMode(_0x188572);if(!_0x1b7160)continue;const _0x3076d3=relative(_0x41ee64,_0x315f71)[_0x5341c5(0x137)](/\\/g,'/'),_0x369eff=_0x3076d3['split']('/')[_0x5341c5(0x128)](Boolean),_0x2675b7=parseSqlPath(_0x369eff,_0x1e4eff['name'],_0x188572);if(!_0x2675b7)continue;_0x13cdc4[_0x5341c5(0x13e)]({'sqlCode':_0x2675b7['sqlCode'],'sqlName':_0x2675b7['sqlName'],'dbDirectory':_0x369eff[0x0],'filePath':_0x315f71,'relativePath':_0x3076d3,'lockKey':_0x2675b7[_0x5341c5(0x135)],'mode':_0x1b7160});}}catch(_0x2eb499){if(_0x2eb499[_0x5341c5(0x139)]!=='ENOENT')throw _0x2eb499;}return _0x13cdc4;}function a214_0x976a(){const _0x80c51b=['.xml','push','slice','name','sqlRootDir','1988372oaAjqT','test','length','.sql','filter','1aRupxd','path','mybatisXml','sql','5mPcMJF','1143285HQFpxK','2118192VJMNKi','indexOf','173170DETIuP','1461498kYFiUf','9uXgLwW','555212NWaJFc','sqlCode','dbName','replace','mode','code','115168XzqVTR','isDirectory','dbId'];a214_0x976a=function(){return _0x80c51b;};return a214_0x976a();}export async function scanLocalSqlQueries(_0x3c67fd){const _0x1ba12f=a214_0x5d7b;return scanSqlFilesRecursively(_0x3c67fd[_0x1ba12f(0x141)],_0x3c67fd[_0x1ba12f(0x141)]);}export function resolveLocalSqlFilePath(_0x2b4089,_0x2b8546,_0x541a77){const _0x49c05a=a214_0x5d7b,_0x3bfea6=_0x541a77?.[_0x49c05a(0x12a)]||(_0x541a77?.['sqlName']||_0x541a77?.['dbName']?buildSqlRelativePath(_0x2b8546,_0x541a77?.['sqlName'],_0x541a77?.[_0x49c05a(0x136)],_0x541a77?.[_0x49c05a(0x138)]||_0x49c05a(0x12c),_0x541a77?.[_0x49c05a(0x13c)]):buildDefaultSqlFileName(_0x2b8546,_0x541a77?.[_0x49c05a(0x138)]||_0x49c05a(0x12c)));return join(_0x2b4089[_0x49c05a(0x141)],_0x3bfea6);}export async function directoryExists(_0x287313){const _0x496815=a214_0x5d7b;try{const _0xe67528=await stat(_0x287313);return _0xe67528[_0x496815(0x13b)]();}catch{return![];}}function parseSqlPath(_0x5e6d75,_0x25d810,_0x1a519f){const _0x469af5=a214_0x5d7b,_0x40c2be=_0x25d810[_0x469af5(0x13f)](0x0,-_0x1a519f[_0x469af5(0x144)]);if(_0x5e6d75[_0x469af5(0x144)]<0x2)return null;const _0x559089=_0x40c2be[_0x469af5(0x130)]('_');if(_0x559089<=0x0||_0x559089>=_0x40c2be['length']-0x1)return null;const _0x5de323=_0x40c2be[_0x469af5(0x13f)](0x0,_0x559089);if(!isLikelySqlCode(_0x5de323))return null;return{'sqlCode':_0x5de323,'sqlName':_0x40c2be[_0x469af5(0x13f)](_0x559089+0x1)};}function isLikelySqlCode(_0x747162){const _0x28ad3e=a214_0x5d7b;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x28ad3e(0x143)](_0x747162);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a215_0x13e1(_0x108746,_0x35763e){_0x108746=_0x108746-0x14b;const _0x1ddca9=a215_0x1ddc();let _0x13e12f=_0x1ddca9[_0x108746];return _0x13e12f;}(function(_0x6b4b12,_0x1730dc){const _0xef4286=a215_0x13e1,_0x213771=_0x6b4b12();while(!![]){try{const _0x1523bd=-parseInt(_0xef4286(0x14f))/0x1*(parseInt(_0xef4286(0x156))/0x2)+parseInt(_0xef4286(0x157))/0x3+-parseInt(_0xef4286(0x14d))/0x4+parseInt(_0xef4286(0x154))/0x5*(parseInt(_0xef4286(0x14e))/0x6)+-parseInt(_0xef4286(0x150))/0x7*(parseInt(_0xef4286(0x152))/0x8)+parseInt(_0xef4286(0x158))/0x9*(-parseInt(_0xef4286(0x155))/0xa)+parseInt(_0xef4286(0x153))/0xb;if(_0x1523bd===_0x1730dc)break;else _0x213771['push'](_0x213771['shift']());}catch(_0x41a412){_0x213771['push'](_0x213771['shift']());}}}(a215_0x1ddc,0x2ef05));import{readFile}from'node:fs/promises';import a215_0x15ad75 from'node:crypto';export function computeSqlContentHash(_0x35be4f){const _0x2eaf45=a215_0x13e1;return a215_0x15ad75[_0x2eaf45(0x151)]('md5')['update'](_0x35be4f)[_0x2eaf45(0x14b)](_0x2eaf45(0x14c));}export async function computeSqlFileHash(_0x2910e4){const _0xbc1029=await readFile(_0x2910e4,'utf8');return computeSqlContentHash(_0xbc1029);}function a215_0x1ddc(){const _0x301eaf=['6fwMkrh','7BkMrRB','1022GhbXJr','createHash','11416YWitur','12696321KVXtrW','841835QRAbne','794450SBXsYN','107246hEorWk','334647Rzdvmz','36JmJNLZ','digest','hex','1361532JGzkAo'];a215_0x1ddc=function(){return _0x301eaf;};return a215_0x1ddc();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a216_0x2695(){const _0x1c4044=['189915JqMDye','3313120GiwhRz','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','7556850mNebPS','175XJPkUU','utf8','\x22.\x20','12724821xmqYFJ','904188EcGZVu','111616EhpgUS','sqlRoot','parse','sqls',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','lastSync','2cHLZgO','code','628307CDXBgm','apps','stringify'];a216_0x2695=function(){return _0x1c4044;};return a216_0x2695();}(function(_0x1cff01,_0x59f18e){const _0x2fcd7a=a216_0x22cb,_0x565a7f=_0x1cff01();while(!![]){try{const _0x5c1128=parseInt(_0x2fcd7a(0x172))/0x1*(parseInt(_0x2fcd7a(0x170))/0x2)+parseInt(_0x2fcd7a(0x169))/0x3+-parseInt(_0x2fcd7a(0x176))/0x4+parseInt(_0x2fcd7a(0x175))/0x5+-parseInt(_0x2fcd7a(0x164))/0x6+-parseInt(_0x2fcd7a(0x165))/0x7*(-parseInt(_0x2fcd7a(0x16a))/0x8)+parseInt(_0x2fcd7a(0x168))/0x9;if(_0x5c1128===_0x59f18e)break;else _0x565a7f['push'](_0x565a7f['shift']());}catch(_0x7eb3e8){_0x565a7f['push'](_0x565a7f['shift']());}}}(a216_0x2695,0x9ce28));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x308a71,_0x4b229b,_0x238b3d,_0xe1d5e){const _0x18af22=a216_0x22cb,_0x1189df=_0x308a71??createEmptySqlLock();let _0x53f2c1=_0x1189df[_0x18af22(0x173)][_0x4b229b];if(!_0x53f2c1)return _0x53f2c1={'sqlRoot':_0x238b3d,'lastSync':'','sqls':{}},_0x1189df['apps'][_0x4b229b]=_0x53f2c1,{'lockData':_0x1189df,'appLock':_0x53f2c1};if(!_0x53f2c1[_0x18af22(0x16b)])_0x53f2c1[_0x18af22(0x16b)]=_0x238b3d;else{if(_0x53f2c1[_0x18af22(0x16b)]!==_0x238b3d)throw new Error(_0xe1d5e+_0x18af22(0x16e)+_0x238b3d+'\x22\x20vs\x20lock\x20\x22'+_0x53f2c1[_0x18af22(0x16b)]+_0x18af22(0x167)+_0x18af22(0x163));}return!_0x53f2c1[_0x18af22(0x16d)]&&(_0x53f2c1[_0x18af22(0x16d)]={}),!_0x53f2c1[_0x18af22(0x16f)]&&(_0x53f2c1['lastSync']=''),{'lockData':_0x1189df,'appLock':_0x53f2c1};}function a216_0x22cb(_0x5d3bb0,_0x547af6){_0x5d3bb0=_0x5d3bb0-0x163;const _0x2695ed=a216_0x2695();let _0x22cb0d=_0x2695ed[_0x5d3bb0];return _0x22cb0d;}export async function readSqlLockFile(_0x193eaf){const _0x5a96bd=a216_0x22cb;try{const _0x51fed6=await readFile(_0x193eaf,_0x5a96bd(0x166));return JSON[_0x5a96bd(0x16c)](_0x51fed6);}catch(_0x3a25cb){if(_0x3a25cb[_0x5a96bd(0x171)]==='ENOENT')return null;throw new Error(_0x5a96bd(0x177)+String(_0x3a25cb));}}export async function writeSqlLockFile(_0x4abada,_0x178b0e){const _0x41f418=a216_0x22cb;await mkdir(dirname(_0x4abada),{'recursive':!![]}),await writeFile(_0x4abada,JSON[_0x41f418(0x174)](_0x178b0e,null,0x2),'utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3500bf,_0x132fc){const _0x1304aa=a218_0x1f57,_0x257b35=_0x3500bf();while(!![]){try{const _0x173fe7=-parseInt(_0x1304aa(0x175))/0x1*(-parseInt(_0x1304aa(0x179))/0x2)+parseInt(_0x1304aa(0x16a))/0x3*(parseInt(_0x1304aa(0x169))/0x4)+-parseInt(_0x1304aa(0x16c))/0x5+-parseInt(_0x1304aa(0x17a))/0x6*(-parseInt(_0x1304aa(0x173))/0x7)+parseInt(_0x1304aa(0x168))/0x8*(parseInt(_0x1304aa(0x16d))/0x9)+parseInt(_0x1304aa(0x16b))/0xa+-parseInt(_0x1304aa(0x166))/0xb*(parseInt(_0x1304aa(0x170))/0xc);if(_0x173fe7===_0x132fc)break;else _0x257b35['push'](_0x257b35['shift']());}catch(_0x2c8a9a){_0x257b35['push'](_0x257b35['shift']());}}}(a218_0x1e92,0xdc347));export function detectSqlMode(_0x4ba910){const _0x1dbb87=a218_0x1f57,_0x56c184=_0x4ba910[_0x1dbb87(0x167)]();if(/^<(select|insert|update|delete)\b/i[_0x1dbb87(0x165)](_0x56c184))return _0x1dbb87(0x16f);return _0x1dbb87(0x172);}export function getSqlFileExtension(_0x3d6071){const _0xc6678f=a218_0x1f57;return _0x3d6071===_0xc6678f(0x16f)?'.xml':_0xc6678f(0x178);}export function buildDefaultSqlFileName(_0x2f107f,_0x1f6ecf){return''+_0x2f107f+getSqlFileExtension(_0x1f6ecf);}export function sanitizeSqlPathSegment(_0x50418b,_0x13a48c){const _0x1b8810=a218_0x1f57,_0x40dd37=String(_0x50418b??'')[_0x1b8810(0x176)](),_0xefcea6=_0x40dd37[_0x1b8810(0x177)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x1b8810(0x177)](/\s+/g,'-')[_0x1b8810(0x177)](/-+/g,'-')[_0x1b8810(0x177)](/^\.+/,'')['replace'](/\.+$/,'')[_0x1b8810(0x177)](/^-+/,'')[_0x1b8810(0x177)](/-+$/,'');return _0xefcea6||_0x13a48c;}export function buildDbDirectoryName(_0x16f021,_0x27216c){const _0x4be8ad=a218_0x1f57;return sanitizeSqlPathSegment(_0x16f021,_0x27216c!=null?_0x4be8ad(0x171)+_0x27216c:_0x4be8ad(0x16e));}function a218_0x1e92(){const _0x418511=['3lmKecQ','trim','replace','.sql','469334LDUxHg','3798JFteKb','test','22623689ezQjDo','trimStart','9533752nQGpnp','2012WGzdFu','51ORJScb','9208650jhMtBN','7700650lUgUSC','9HrsKTm','unknown-db','mybatisXml','12utklOM','db-','sql','18508tgurVC','unknown-sql'];a218_0x1e92=function(){return _0x418511;};return a218_0x1e92();}function a218_0x1f57(_0x251e91,_0x2d1903){_0x251e91=_0x251e91-0x165;const _0x1e9236=a218_0x1e92();let _0x1f576f=_0x1e9236[_0x251e91];return _0x1f576f;}export function buildSqlRelativePath(_0x4dc281,_0x3b89e0,_0x1bf427,_0x1fad5c,_0x5c1900){const _0x2b9c66=a218_0x1f57,_0x2c84d3=buildDbDirectoryName(_0x1bf427,_0x5c1900),_0x547698=sanitizeSqlPathSegment(_0x4dc281,_0x2b9c66(0x174)),_0xf5de15=sanitizeSqlPathSegment(_0x3b89e0,_0x547698);return _0x2c84d3+'/'+_0x547698+'_'+_0xf5de15+getSqlFileExtension(_0x1fad5c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a219_0x30c5d1=a219_0x4e71;(function(_0x217c99,_0x2bb7c5){const _0x838fb3=a219_0x4e71,_0x2a7bb6=_0x217c99();while(!![]){try{const _0x184a1a=-parseInt(_0x838fb3(0x19f))/0x1*(parseInt(_0x838fb3(0x18d))/0x2)+parseInt(_0x838fb3(0x177))/0x3+-parseInt(_0x838fb3(0x19e))/0x4*(-parseInt(_0x838fb3(0x1a6))/0x5)+-parseInt(_0x838fb3(0x17d))/0x6*(-parseInt(_0x838fb3(0x1b3))/0x7)+-parseInt(_0x838fb3(0x180))/0x8+parseInt(_0x838fb3(0x1ae))/0x9*(parseInt(_0x838fb3(0x1cc))/0xa)+parseInt(_0x838fb3(0x17f))/0xb*(-parseInt(_0x838fb3(0x181))/0xc);if(_0x184a1a===_0x2bb7c5)break;else _0x2a7bb6['push'](_0x2a7bb6['shift']());}catch(_0x4a9e2f){_0x2a7bb6['push'](_0x2a7bb6['shift']());}}}(a219_0x31ae,0x44266));const MYBATIS_OUTER_TAGS=new Map([['select',a219_0x30c5d1(0x188)],[a219_0x30c5d1(0x17e),a219_0x30c5d1(0x1a9)],['update','UPDATE'],['delete','DELETE']]),MYBATIS_DYNAMIC_TAGS=new Set(['if','where',a219_0x30c5d1(0x19b),a219_0x30c5d1(0x17a),'when',a219_0x30c5d1(0x191),a219_0x30c5d1(0x1b9),'set',a219_0x30c5d1(0x1b8),a219_0x30c5d1(0x18a),a219_0x30c5d1(0x1c3)]),MYBATIS_BRANCH_TAGS=new Set(['if','foreach',a219_0x30c5d1(0x17a),a219_0x30c5d1(0x178),a219_0x30c5d1(0x191)]);export const MYBATIS_DYNAMIC_START_MARKER=a219_0x30c5d1(0x1c2);function a219_0x31ae(){const _0x1f9d25=['split','choose','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','\x20SET\x20','401514DaTprE','insert','495lSzygP','2259424NRKeXz','27372UNalcW','parseInt','slice','Unterminated\x20XML\x20comment.','^<\x5cs*(?:','DDL','DELETE','SELECT','indexOf','include','where','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','2uwRIkD','length','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','__RABETBASE_MYBATIS_DYNAMIC_END__','otherwise','pop','SQL\x20content\x20is\x20empty','sql','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','tagName','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','startsWith','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','foreach','Unterminated\x20CDATA\x20section.','rawName','1330588PLggBF','278687SqYEmb','mybatisXml','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','replace','<','reason','add','5YhRbYL','fromCodePoint',']]>','INSERT','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','Unable\x20to\x20detect\x20SQL\x20type.\x20','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','has','2277ZedYRq','UNKNOWN','toUpperCase','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','7oyYYJa','matchAll','UPDATE','outer','Unterminated\x20MyBatis\x20XML\x20tag.','bind','trim','type','<!--','toLowerCase','match','error','Invalid\x20MyBatis\x20XML\x20tag.','join','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','__RABETBASE_MYBATIS_DYNAMIC_START__','property',''','from','replaceAll','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','-->',')\x5cb','test','\x20WHERE\x20','18310VOscCb','string','push','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','Invalid\x20XML\x20entity\x20reference.','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','exec','240279aQqKob','when'];a219_0x31ae=function(){return _0x1f9d25;};return a219_0x31ae();}function a219_0x4e71(_0x167406,_0x5d1b94){_0x167406=_0x167406-0x171;const _0x31ae20=a219_0x31ae();let _0x4e7168=_0x31ae20[_0x167406];return _0x4e7168;}export const MYBATIS_DYNAMIC_END_MARKER=a219_0x30c5d1(0x190);export const MYBATIS_INCLUDE_MARKER=a219_0x30c5d1(0x172);const UNRESOLVED_SQL_FRAGMENT=a219_0x30c5d1(0x1b1),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a219_0x30c5d1(0x185)+[...MYBATIS_OUTER_TAGS['keys']()][a219_0x30c5d1(0x1c0)]('|')+a219_0x30c5d1(0x1c9),'i');export function normalizeSqlForStaticAnalysis(_0x24f991){const _0x2a29e6=a219_0x30c5d1,_0x1e6f11=typeof _0x24f991===_0x2a29e6(0x1cd)?_0x24f991:'';if(!startsWithMybatisStatementWrapper(_0x1e6f11))return{'sql':_0x1e6f11,'mode':_0x2a29e6(0x194)};let _0x55e092=0x0,_0x2e61e4='',_0x3a8965,_0x4a72b7=![],_0x50bc0c=![];const _0x462f11=[];while(_0x55e092<_0x1e6f11[_0x2a29e6(0x18e)]){if(_0x1e6f11[_0x2a29e6(0x199)](_0x2a29e6(0x1bb),_0x55e092)){const _0x3d2a63=_0x1e6f11['indexOf'](_0x2a29e6(0x1c8),_0x55e092+0x4);if(_0x3d2a63<0x0)return invalidMybatisSource(_0x2a29e6(0x184));_0x2e61e4+='\x20',_0x55e092=_0x3d2a63+0x3;continue;}if(_0x1e6f11[_0x2a29e6(0x199)]('<,_0x55e092+0x9);if(_0x5930b0<0x0)return invalidMybatisSource(_0x2a29e6(0x19c));_0x2e61e4+=_0x1e6f11[_0x2a29e6(0x183)](_0x55e092+0x9,_0x5930b0),_0x55e092=_0x5930b0+0x3;continue;}if(_0x1e6f11['startsWith']('<?',_0x55e092)){if(_0x4a72b7)return invalidMybatisSource('XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x282df0=_0x1e6f11[_0x2a29e6(0x189)]('?>',_0x55e092+0x2);if(_0x282df0<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x2e61e4+='\x20',_0x55e092=_0x282df0+0x2;continue;}if(_0x1e6f11[_0x55e092]!=='<'){const _0x3f41ae=_0x1e6f11[_0x2a29e6(0x189)]('<',_0x55e092),_0x2715f7=_0x3f41ae<0x0?_0x1e6f11[_0x2a29e6(0x18e)]:_0x3f41ae,_0x3747a9=_0x1e6f11[_0x2a29e6(0x183)](_0x55e092,_0x2715f7);if((!_0x4a72b7||_0x50bc0c)&&_0x3747a9['trim']())return invalidMybatisSource(_0x2a29e6(0x1aa));if(_0x4a72b7&&!_0x50bc0c){const _0x16baa7=decodeXmlEntities(_0x3747a9);if(_0x16baa7===null)return invalidMybatisSource(_0x2a29e6(0x174));_0x2e61e4+=_0x16baa7;}else _0x2e61e4+='\x20';_0x55e092=_0x2715f7;continue;}const _0x4baceb=findXmlTagEnd(_0x1e6f11,_0x55e092);if(_0x4baceb<0x0)return invalidMybatisSource(_0x2a29e6(0x1b7));const _0xfd1b38=_0x1e6f11['slice'](_0x55e092,_0x4baceb+0x1),_0x1f9f81=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x2a29e6(0x176)](_0xfd1b38);if(!_0x1f9f81)return invalidMybatisSource(_0x2a29e6(0x1bf));const _0x40faed=_0x1f9f81[0x1]==='/',_0xbc990e=_0x1f9f81[0x2]??'',_0x3e814d=_0xbc990e[_0x2a29e6(0x1bc)](),_0x13cfd8=_0x1f9f81[0x3]??'',_0x380679=_0x1f9f81[0x4]==='/',_0x1c2553=MYBATIS_OUTER_TAGS['get'](_0x3e814d);if(!_0x1c2553&&!MYBATIS_DYNAMIC_TAGS['has'](_0x3e814d))return invalidMybatisSource(_0x2a29e6(0x198)+_0x3e814d+'>.');if(!_0x1c2553&&_0xbc990e!==_0x3e814d)return invalidMybatisSource(_0x2a29e6(0x1c1)+_0xbc990e+'>.');if(_0x40faed){if(_0x13cfd8[_0x2a29e6(0x1b9)]()||_0x380679)return invalidMybatisSource(_0x2a29e6(0x1a1)+_0xbc990e+'>.');const _0xa6247=_0x462f11['at'](-0x1);if(!_0xa6247||(_0xa6247[_0x2a29e6(0x1b6)]?_0xa6247['tagName']!==_0x3e814d:_0xa6247[_0x2a29e6(0x19d)]!==_0xbc990e))return invalidMybatisSource(_0x2a29e6(0x195)+_0xbc990e+'>.');_0x462f11[_0x2a29e6(0x192)]();if(_0xa6247['outer'])_0x50bc0c=!![];_0x2e61e4+=MYBATIS_BRANCH_TAGS[_0x2a29e6(0x1ad)](_0x3e814d)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x13cfd8))return invalidMybatisSource(_0x2a29e6(0x175)+_0xbc990e+'>.');if(_0x3e814d===_0x2a29e6(0x1c3)&&(!_0x380679||_0x462f11['at'](-0x1)?.[_0x2a29e6(0x196)]!=='include'))return invalidMybatisSource(_0x2a29e6(0x1c7));if(_0x1c2553){if(_0x4a72b7||_0x462f11[_0x2a29e6(0x18e)]>0x0)return invalidMybatisSource('Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.');_0x4a72b7=!![],_0x50bc0c=_0x380679,_0x3a8965=_0x1c2553;}else{if(!_0x4a72b7||_0x50bc0c)return invalidMybatisSource(_0x2a29e6(0x1b2)+_0xbc990e+'>.');}_0x2e61e4+=_0x3e814d===_0x2a29e6(0x18b)?_0x2a29e6(0x1cb):_0x3e814d==='set'?_0x2a29e6(0x17c):_0x3e814d===_0x2a29e6(0x18a)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0x2a29e6(0x1ad)](_0x3e814d)&&!_0x380679?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x380679&&_0x462f11[_0x2a29e6(0x171)]({'rawName':_0xbc990e,'tagName':_0x3e814d,'outer':!!_0x1c2553});}_0x55e092=_0x4baceb+0x1;}if(_0x462f11['length']>0x0)return invalidMybatisSource(_0x2a29e6(0x18c)+_0x462f11['at'](-0x1)?.['rawName']+'>.');if(!_0x4a72b7||!_0x50bc0c)return invalidMybatisSource(_0x2a29e6(0x197));return{'sql':_0x2e61e4[_0x2a29e6(0x1b9)](),'mode':_0x2a29e6(0x1a0),..._0x3a8965?{'statementType':_0x3a8965}:{}};}function hasWellFormedXmlAttributes(_0x5c2388){const _0x203489=a219_0x30c5d1;let _0x557117=0x0;const _0x5d1e4c=new Set();while(_0x557117<_0x5c2388[_0x203489(0x18e)]){while(_0x557117<_0x5c2388['length']&&/\s/[_0x203489(0x1ca)](_0x5c2388[_0x557117]??''))_0x557117+=0x1;if(_0x557117>=_0x5c2388['length'])return!![];const _0x5090ab=/^[A-Za-z_:][\w:.-]*/['exec'](_0x5c2388[_0x203489(0x183)](_0x557117)),_0x44392b=_0x5090ab?.[0x0];if(!_0x44392b||_0x5d1e4c[_0x203489(0x1ad)](_0x44392b))return![];_0x5d1e4c[_0x203489(0x1a5)](_0x44392b),_0x557117+=_0x44392b[_0x203489(0x18e)];while(_0x557117<_0x5c2388[_0x203489(0x18e)]&&/\s/[_0x203489(0x1ca)](_0x5c2388[_0x557117]??''))_0x557117+=0x1;if(_0x5c2388[_0x557117]!=='=')return![];_0x557117+=0x1;while(_0x557117<_0x5c2388[_0x203489(0x18e)]&&/\s/[_0x203489(0x1ca)](_0x5c2388[_0x557117]??''))_0x557117+=0x1;const _0x199533=_0x5c2388[_0x557117];if(_0x199533!=='\x22'&&_0x199533!=='\x27')return![];_0x557117+=0x1;const _0x5c0233=_0x5c2388[_0x203489(0x189)](_0x199533,_0x557117);if(_0x5c0233<0x0)return![];if(decodeXmlEntities(_0x5c2388['slice'](_0x557117,_0x5c0233))===null)return![];_0x557117=_0x5c0233+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x5a0c21){const _0x3f58b9=a219_0x30c5d1;let _0x151c41=0x0;const _0x255eec=()=>{const _0x21085b=a219_0x4e71;while(_0x151c41<_0x5a0c21['length']&&/\s/[_0x21085b(0x1ca)](_0x5a0c21[_0x151c41]??''))_0x151c41+=0x1;};_0x255eec();while(_0x151c41<_0x5a0c21[_0x3f58b9(0x18e)]){if(_0x5a0c21[_0x3f58b9(0x199)](_0x3f58b9(0x1bb),_0x151c41)){const _0x5bdf16=_0x5a0c21[_0x3f58b9(0x189)]('-->',_0x151c41+0x4);if(_0x5bdf16<0x0)return!![];_0x151c41=_0x5bdf16+0x3,_0x255eec();continue;}if(_0x5a0c21['startsWith']('<?',_0x151c41)){const _0x2112de=_0x5a0c21[_0x3f58b9(0x189)]('?>',_0x151c41+0x2);if(_0x2112de<0x0)return!![];_0x151c41=_0x2112de+0x2,_0x255eec();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x3f58b9(0x1ca)](_0x5a0c21[_0x3f58b9(0x183)](_0x151c41));}function invalidMybatisSource(_0x5711d4){return{'sql':'','mode':'mybatisXml','error':_0x5711d4};}function findXmlTagEnd(_0x1718ae,_0x2aa403){const _0x30ba9c=a219_0x30c5d1;let _0xf583ff;for(let _0x39d132=_0x2aa403+0x1;_0x39d132<_0x1718ae[_0x30ba9c(0x18e)];_0x39d132+=0x1){const _0x4d9fd6=_0x1718ae[_0x39d132];if(_0xf583ff){if(_0x4d9fd6===_0xf583ff)_0xf583ff=undefined;continue;}if(_0x4d9fd6==='\x22'||_0x4d9fd6==='\x27'){_0xf583ff=_0x4d9fd6;continue;}if(_0x4d9fd6==='>')return _0x39d132;}return-0x1;}function decodeXmlEntities(_0x3f9ec8){const _0x1697b9=a219_0x30c5d1;let _0x37da01=![];const _0x5aab14=_0x3f9ec8[_0x1697b9(0x1a2)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x4c15e2=>{const _0x4b26b2=_0x1697b9;if(_0x4c15e2===_0x4b26b2(0x1a3))return'<';if(_0x4c15e2==='>')return'>';if(_0x4c15e2==='"')return'\x22';if(_0x4c15e2===_0x4b26b2(0x1c4))return'\x27';if(_0x4c15e2==='&')return'&';const _0x3a03bc=/^&#(?:x([0-9a-f]+)|([0-9]+));$/['exec'](_0x4c15e2);if(_0x3a03bc){const _0x4ce6cd=_0x3a03bc[0x1],_0x589082=_0x3a03bc[0x2],_0x1148b9=Number[_0x4b26b2(0x182)](_0x4ce6cd??_0x589082??'',_0x4ce6cd?0x10:0xa);if(isValidXmlCharacter(_0x1148b9))return String[_0x4b26b2(0x1a7)](_0x1148b9);}return _0x37da01=!![],'';});return _0x37da01?null:_0x5aab14;}function isValidXmlCharacter(_0x13d043){return _0x13d043===0x9||_0x13d043===0xa||_0x13d043===0xd||_0x13d043>=0x20&&_0x13d043<=0xd7ff||_0x13d043>=0xe000&&_0x13d043<=0xfffd||_0x13d043>=0x10000&&_0x13d043<=0x10ffff;}export function detectSqlType(_0x3c6e1d){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x3c6e1d));}function detectNormalizedSqlType(_0x14905a){const _0x47b4c8=a219_0x30c5d1;if(_0x14905a[_0x47b4c8(0x1be)])return{'type':_0x47b4c8(0x1af),'isSelectOnly':![],'isDangerous':![],'reason':_0x14905a[_0x47b4c8(0x1be)]};if(!_0x14905a[_0x47b4c8(0x194)][_0x47b4c8(0x1b9)]())return{'type':_0x47b4c8(0x1af),'isSelectOnly':![],'isDangerous':![],'reason':_0x47b4c8(0x193)};const _0x44ab85=stripStaticAnalysisMarkers(_0x14905a[_0x47b4c8(0x194)])[_0x47b4c8(0x1a2)](/#\{[^}]*\}/g,'?')[_0x47b4c8(0x1a2)](/\$\{[^}]*\}/g,'?')['replace'](/@[^(\s]+(\([^)]*\))?/g,'')[_0x47b4c8(0x1a2)](/\/\*[\s\S]*?\*\//g,'')[_0x47b4c8(0x1b9)](),_0x92f920=_0x44ab85[_0x47b4c8(0x179)]('\x0a');let _0x1cd491='';for(const _0x3a80f9 of _0x92f920){const _0x162223=_0x3a80f9[_0x47b4c8(0x1b9)]();if(!_0x162223||_0x162223[_0x47b4c8(0x199)]('--')||_0x162223[_0x47b4c8(0x199)]('/*'))continue;_0x1cd491=_0x162223;break;}const _0x164fb6=_0x1cd491[_0x47b4c8(0x1b0)](),_0xfcd01b=_0x14905a['statementType'],_0x1e7949=maskSqlTextForBlockedKeywordScan(_0x44ab85),_0x3a2ca0=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x47b4c8(0x1ca)](_0x1e7949);if(_0xfcd01b==='SELECT'||!_0xfcd01b&&(_0x164fb6['startsWith'](_0x47b4c8(0x188))||_0x164fb6['startsWith']('WITH'))){const _0x15888c=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x47b4c8(0x1ca)](_0x44ab85);return{'type':'SELECT','isSelectOnly':!_0x15888c,'isDangerous':_0x15888c,'reason':_0x15888c?_0x47b4c8(0x19a):undefined};}if(_0xfcd01b===_0x47b4c8(0x1a9)||!_0xfcd01b&&_0x164fb6[_0x47b4c8(0x199)](_0x47b4c8(0x1a9)))return{'type':_0x47b4c8(0x1a9),'isSelectOnly':![],'isDangerous':_0x3a2ca0,'reason':_0x3a2ca0?_0x47b4c8(0x173):undefined};if(_0xfcd01b==='UPDATE'||!_0xfcd01b&&_0x164fb6['startsWith']('UPDATE'))return{'type':_0x47b4c8(0x1b5),'isSelectOnly':![],'isDangerous':_0x3a2ca0,'reason':_0x3a2ca0?_0x47b4c8(0x173):undefined};if(_0xfcd01b===_0x47b4c8(0x187)||!_0xfcd01b&&_0x164fb6[_0x47b4c8(0x199)](_0x47b4c8(0x187)))return{'type':'DELETE','isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x47b4c8(0x1ca)](_0x164fb6))return{'type':_0x47b4c8(0x186),'isSelectOnly':![],'isDangerous':!![],'reason':_0x47b4c8(0x1ac)};return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x59cb9a){const _0x5a017b=a219_0x30c5d1;return _0x59cb9a[_0x5a017b(0x1c6)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x5a017b(0x1c6)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x3d4e96){const _0x17523d=a219_0x30c5d1;return _0x3d4e96[_0x17523d(0x1a2)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x17523d(0x1a2)](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x17523d(0x1a2)](/--.*$/gm,'\x20')[_0x17523d(0x1a2)](/#.*$/gm,'\x20')['replace'](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x37cb46){const _0x54a157=a219_0x30c5d1,_0x4b1034=_0x37cb46['replace'](/#\{[^}]*\}/g,'?')[_0x54a157(0x1a2)](/\$\{[^}]*\}/g,'?')[_0x54a157(0x1a2)](/'[^']*'/g,'\x27\x27')[_0x54a157(0x1a2)](/--.*$/gm,'')[_0x54a157(0x1a2)](/\/\*[\s\S]*?\*\//g,''),_0xfafddf=[],_0x175c1b=_0x4b1034['match'](/FROM\s+([^\s,)(]+)/i);addTable(_0xfafddf,_0x175c1b?.[0x1]);for(const _0x57ce86 of _0x4b1034[_0x54a157(0x1b4)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0xfafddf,_0x57ce86[0x1]);}const _0x2c0bb1=_0x4b1034[_0x54a157(0x1bd)](/INTO\s+([^\s(]+)/i);addTable(_0xfafddf,_0x2c0bb1?.[0x1]);const _0x2446a1=_0x4b1034['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0xfafddf,_0x2446a1?.[0x1]),_0xfafddf;}function addTable(_0x1a1273,_0x4a43ff){const _0x3de6b8=a219_0x30c5d1,_0x4148dd=_0x4a43ff?.[_0x3de6b8(0x1a2)](/[`"]/g,'');_0x4148dd&&_0x4148dd!==UNRESOLVED_SQL_FRAGMENT&&!_0x1a1273['includes'](_0x4148dd)&&_0x1a1273['push'](_0x4148dd);}function extractParameters(_0x5cff28){const _0x3a1748=a219_0x30c5d1,_0x577a6c=new Set();for(const _0x5ced03 of _0x5cff28[_0x3a1748(0x1b4)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x5ced03[0x1])_0x577a6c[_0x3a1748(0x1a5)](_0x5ced03[0x1]);}return Array[_0x3a1748(0x1c5)](_0x577a6c);}export function validateSql(_0x4b6d81){const _0x23122f=a219_0x30c5d1,_0x3f7b48=normalizeSqlForStaticAnalysis(_0x4b6d81),_0x548771=detectNormalizedSqlType(_0x3f7b48),_0x3b79b5=stripStaticAnalysisMarkers(_0x3f7b48[_0x23122f(0x194)]),_0x1f37be=_0x3f7b48[_0x23122f(0x1be)]?[]:extractTables(_0x3b79b5),_0x66b551=_0x3f7b48[_0x23122f(0x1be)]?[]:extractParameters(_0x3b79b5);if(_0x548771['isDangerous'])return{'valid':![],'sqlType':_0x548771,'tables':_0x1f37be,'parameters':_0x66b551,'message':_0x548771[_0x23122f(0x1a4)]||_0x548771[_0x23122f(0x1ba)]+_0x23122f(0x17b)};if(_0x548771[_0x23122f(0x1ba)]===_0x23122f(0x1af))return{'valid':![],'sqlType':_0x548771,'tables':_0x1f37be,'parameters':_0x66b551,'message':_0x3f7b48[_0x23122f(0x1be)]?_0x23122f(0x1ab)+_0x3f7b48['error']:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0x548771,'tables':_0x1f37be,'parameters':_0x66b551,'message':_0x548771[_0x23122f(0x1ba)]+'\x20query\x20targeting\x20'+(_0x1f37be[_0x23122f(0x18e)]?_0x1f37be[_0x23122f(0x1c0)](',\x20'):'unknown\x20table(s)')+(_0x66b551[_0x23122f(0x18e)]?'\x20with\x20parameters:\x20'+_0x66b551[_0x23122f(0x1c0)](',\x20'):'')};}
|
|
1
|
+
const a219_0x54bf2e=a219_0xc30d;(function(_0x48ccb5,_0x1fec71){const _0x138c9e=a219_0xc30d,_0x22e0be=_0x48ccb5();while(!![]){try{const _0x20349f=-parseInt(_0x138c9e(0x1e1))/0x1*(parseInt(_0x138c9e(0x1fd))/0x2)+-parseInt(_0x138c9e(0x1f1))/0x3+parseInt(_0x138c9e(0x1df))/0x4+parseInt(_0x138c9e(0x21f))/0x5*(parseInt(_0x138c9e(0x21c))/0x6)+-parseInt(_0x138c9e(0x207))/0x7*(parseInt(_0x138c9e(0x1dc))/0x8)+-parseInt(_0x138c9e(0x1f9))/0x9*(-parseInt(_0x138c9e(0x216))/0xa)+parseInt(_0x138c9e(0x1fb))/0xb*(parseInt(_0x138c9e(0x1e2))/0xc);if(_0x20349f===_0x1fec71)break;else _0x22e0be['push'](_0x22e0be['shift']());}catch(_0x4c392b){_0x22e0be['push'](_0x22e0be['shift']());}}}(a219_0x25a9,0x90665));function a219_0xc30d(_0x160e28,_0x272372){_0x160e28=_0x160e28-0x1d9;const _0x25a941=a219_0x25a9();let _0xc30d87=_0x25a941[_0x160e28];return _0xc30d87;}const MYBATIS_OUTER_TAGS=new Map([['select',a219_0x54bf2e(0x23c)],['insert','INSERT'],[a219_0x54bf2e(0x23a),a219_0x54bf2e(0x20a)],[a219_0x54bf2e(0x1ed),a219_0x54bf2e(0x1e0)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a219_0x54bf2e(0x218),a219_0x54bf2e(0x231),a219_0x54bf2e(0x212),a219_0x54bf2e(0x1f0),a219_0x54bf2e(0x1e3),a219_0x54bf2e(0x210),a219_0x54bf2e(0x234),a219_0x54bf2e(0x22b),a219_0x54bf2e(0x21a),a219_0x54bf2e(0x203)]),MYBATIS_BRANCH_TAGS=new Set(['if',a219_0x54bf2e(0x231),a219_0x54bf2e(0x212),a219_0x54bf2e(0x1f0),a219_0x54bf2e(0x1e3)]);export const MYBATIS_DYNAMIC_START_MARKER=a219_0x54bf2e(0x1f5);export const MYBATIS_DYNAMIC_END_MARKER=a219_0x54bf2e(0x20d);export const MYBATIS_INCLUDE_MARKER=a219_0x54bf2e(0x230);const UNRESOLVED_SQL_FRAGMENT='__RABETBASE_UNRESOLVED_SQL_FRAGMENT__',MYBATIS_OUTER_TAG_PATTERN=new RegExp(a219_0x54bf2e(0x22f)+[...MYBATIS_OUTER_TAGS['keys']()][a219_0x54bf2e(0x233)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x4b8fa3){const _0x14d66e=a219_0x54bf2e,_0x5c0a0c=typeof _0x4b8fa3==='string'?_0x4b8fa3:'';if(!startsWithMybatisStatementWrapper(_0x5c0a0c))return{'sql':_0x5c0a0c,'mode':_0x14d66e(0x202)};let _0x131b33=0x0,_0x362bec='',_0x19646f,_0x1a0c8f=![],_0x1613e4=![];const _0x56d79b=[];while(_0x131b33<_0x5c0a0c[_0x14d66e(0x224)]){if(_0x5c0a0c['startsWith'](_0x14d66e(0x1da),_0x131b33)){const _0x582aea=_0x5c0a0c[_0x14d66e(0x209)]('-->',_0x131b33+0x4);if(_0x582aea<0x0)return invalidMybatisSource(_0x14d66e(0x20f));_0x362bec+='\x20',_0x131b33=_0x582aea+0x3;continue;}if(_0x5c0a0c[_0x14d66e(0x1e7)](_0x14d66e(0x1ff),_0x131b33)){if(!_0x1a0c8f||_0x1613e4)return invalidMybatisSource(_0x14d66e(0x221));const _0x4a8304=_0x5c0a0c['indexOf'](_0x14d66e(0x1fa),_0x131b33+0x9);if(_0x4a8304<0x0)return invalidMybatisSource(_0x14d66e(0x1d9));_0x362bec+=_0x5c0a0c[_0x14d66e(0x21d)](_0x131b33+0x9,_0x4a8304),_0x131b33=_0x4a8304+0x3;continue;}if(_0x5c0a0c[_0x14d66e(0x1e7)]('<?',_0x131b33)){if(_0x1a0c8f)return invalidMybatisSource(_0x14d66e(0x227));const _0x424d5d=_0x5c0a0c['indexOf']('?>',_0x131b33+0x2);if(_0x424d5d<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x362bec+='\x20',_0x131b33=_0x424d5d+0x2;continue;}if(_0x5c0a0c[_0x131b33]!=='<'){const _0x1d183b=_0x5c0a0c[_0x14d66e(0x209)]('<',_0x131b33),_0x65f47f=_0x1d183b<0x0?_0x5c0a0c['length']:_0x1d183b,_0x524884=_0x5c0a0c[_0x14d66e(0x21d)](_0x131b33,_0x65f47f);if((!_0x1a0c8f||_0x1613e4)&&_0x524884[_0x14d66e(0x210)]())return invalidMybatisSource(_0x14d66e(0x22c));if(_0x1a0c8f&&!_0x1613e4){const _0x247c52=decodeXmlEntities(_0x524884);if(_0x247c52===null)return invalidMybatisSource(_0x14d66e(0x21e));_0x362bec+=_0x247c52;}else _0x362bec+='\x20';_0x131b33=_0x65f47f;continue;}const _0x54c933=findXmlTagEnd(_0x5c0a0c,_0x131b33);if(_0x54c933<0x0)return invalidMybatisSource(_0x14d66e(0x1eb));const _0x3ad9a4=_0x5c0a0c['slice'](_0x131b33,_0x54c933+0x1),_0x32e7d6=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x14d66e(0x20e)](_0x3ad9a4);if(!_0x32e7d6)return invalidMybatisSource(_0x14d66e(0x1f6));const _0x5f0235=_0x32e7d6[0x1]==='/',_0x48a4d3=_0x32e7d6[0x2]??'',_0xe1fb97=_0x48a4d3[_0x14d66e(0x1f2)](),_0x346987=_0x32e7d6[0x3]??'',_0x559062=_0x32e7d6[0x4]==='/',_0x2dcd89=MYBATIS_OUTER_TAGS[_0x14d66e(0x22e)](_0xe1fb97);if(!_0x2dcd89&&!MYBATIS_DYNAMIC_TAGS[_0x14d66e(0x1e5)](_0xe1fb97))return invalidMybatisSource(_0x14d66e(0x206)+_0xe1fb97+'>.');if(!_0x2dcd89&&_0x48a4d3!==_0xe1fb97)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<'+_0x48a4d3+'>.');if(_0x5f0235){if(_0x346987[_0x14d66e(0x210)]()||_0x559062)return invalidMybatisSource('Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</'+_0x48a4d3+'>.');const _0x4457c0=_0x56d79b['at'](-0x1);if(!_0x4457c0||(_0x4457c0[_0x14d66e(0x1ef)]?_0x4457c0['tagName']!==_0xe1fb97:_0x4457c0['rawName']!==_0x48a4d3))return invalidMybatisSource(_0x14d66e(0x237)+_0x48a4d3+'>.');_0x56d79b[_0x14d66e(0x1db)]();if(_0x4457c0[_0x14d66e(0x1ef)])_0x1613e4=!![];_0x362bec+=MYBATIS_BRANCH_TAGS[_0x14d66e(0x1e5)](_0xe1fb97)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x346987))return invalidMybatisSource(_0x14d66e(0x20b)+_0x48a4d3+'>.');if(_0xe1fb97===_0x14d66e(0x203)&&(!_0x559062||_0x56d79b['at'](-0x1)?.[_0x14d66e(0x1ee)]!==_0x14d66e(0x21a)))return invalidMybatisSource(_0x14d66e(0x200));if(_0x2dcd89){if(_0x1a0c8f||_0x56d79b[_0x14d66e(0x224)]>0x0)return invalidMybatisSource('Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.');_0x1a0c8f=!![],_0x1613e4=_0x559062,_0x19646f=_0x2dcd89;}else{if(!_0x1a0c8f||_0x1613e4)return invalidMybatisSource(_0x14d66e(0x22d)+_0x48a4d3+'>.');}_0x362bec+=_0xe1fb97==='where'?'\x20WHERE\x20':_0xe1fb97===_0x14d66e(0x234)?_0x14d66e(0x22a):_0xe1fb97===_0x14d66e(0x21a)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS['has'](_0xe1fb97)&&!_0x559062?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x559062&&_0x56d79b[_0x14d66e(0x239)]({'rawName':_0x48a4d3,'tagName':_0xe1fb97,'outer':!!_0x2dcd89});}_0x131b33=_0x54c933+0x1;}if(_0x56d79b[_0x14d66e(0x224)]>0x0)return invalidMybatisSource(_0x14d66e(0x21b)+_0x56d79b['at'](-0x1)?.[_0x14d66e(0x223)]+'>.');if(!_0x1a0c8f||!_0x1613e4)return invalidMybatisSource(_0x14d66e(0x213));return{'sql':_0x362bec[_0x14d66e(0x210)](),'mode':'mybatisXml',..._0x19646f?{'statementType':_0x19646f}:{}};}function hasWellFormedXmlAttributes(_0x519b26){const _0x242ac0=a219_0x54bf2e;let _0x59e570=0x0;const _0x458921=new Set();while(_0x59e570<_0x519b26[_0x242ac0(0x224)]){while(_0x59e570<_0x519b26[_0x242ac0(0x224)]&&/\s/[_0x242ac0(0x1f3)](_0x519b26[_0x59e570]??''))_0x59e570+=0x1;if(_0x59e570>=_0x519b26['length'])return!![];const _0x4a49a4=/^[A-Za-z_:][\w:.-]*/[_0x242ac0(0x20e)](_0x519b26['slice'](_0x59e570)),_0x3cf8f0=_0x4a49a4?.[0x0];if(!_0x3cf8f0||_0x458921[_0x242ac0(0x1e5)](_0x3cf8f0))return![];_0x458921[_0x242ac0(0x220)](_0x3cf8f0),_0x59e570+=_0x3cf8f0[_0x242ac0(0x224)];while(_0x59e570<_0x519b26['length']&&/\s/[_0x242ac0(0x1f3)](_0x519b26[_0x59e570]??''))_0x59e570+=0x1;if(_0x519b26[_0x59e570]!=='=')return![];_0x59e570+=0x1;while(_0x59e570<_0x519b26[_0x242ac0(0x224)]&&/\s/[_0x242ac0(0x1f3)](_0x519b26[_0x59e570]??''))_0x59e570+=0x1;const _0x44b74f=_0x519b26[_0x59e570];if(_0x44b74f!=='\x22'&&_0x44b74f!=='\x27')return![];_0x59e570+=0x1;const _0x522fcb=_0x519b26[_0x242ac0(0x209)](_0x44b74f,_0x59e570);if(_0x522fcb<0x0)return![];if(decodeXmlEntities(_0x519b26[_0x242ac0(0x21d)](_0x59e570,_0x522fcb))===null)return![];_0x59e570=_0x522fcb+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x3becb6){const _0x3b5403=a219_0x54bf2e;let _0x15ae40=0x0;const _0x265bf0=()=>{const _0x31969d=a219_0xc30d;while(_0x15ae40<_0x3becb6[_0x31969d(0x224)]&&/\s/[_0x31969d(0x1f3)](_0x3becb6[_0x15ae40]??''))_0x15ae40+=0x1;};_0x265bf0();while(_0x15ae40<_0x3becb6[_0x3b5403(0x224)]){if(_0x3becb6['startsWith'](_0x3b5403(0x1da),_0x15ae40)){const _0x95efd=_0x3becb6[_0x3b5403(0x209)](_0x3b5403(0x1f7),_0x15ae40+0x4);if(_0x95efd<0x0)return!![];_0x15ae40=_0x95efd+0x3,_0x265bf0();continue;}if(_0x3becb6[_0x3b5403(0x1e7)]('<?',_0x15ae40)){const _0x574fec=_0x3becb6[_0x3b5403(0x209)]('?>',_0x15ae40+0x2);if(_0x574fec<0x0)return!![];_0x15ae40=_0x574fec+0x2,_0x265bf0();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x3b5403(0x1f3)](_0x3becb6['slice'](_0x15ae40));}function invalidMybatisSource(_0x4c217d){const _0xc7626f=a219_0x54bf2e;return{'sql':'','mode':_0xc7626f(0x1fe),'error':_0x4c217d};}function a219_0x25a9(){const _0xe808ec=['include','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','12qOncNH','slice','Invalid\x20XML\x20entity\x20reference.','47335eMipaG','add','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','rawName','length','includes','DDL','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','SQL\x20content\x20is\x20empty','Unable\x20to\x20detect\x20SQL\x20type.\x20','\x20SET\x20','bind','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','get','^<\x5cs*(?:','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','foreach','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','join','set',''','INSERT','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','unknown\x20table(s)','push','update','\x20query\x20targeting\x20','SELECT','error','Unterminated\x20CDATA\x20section.','<!--','pop','8FmyHzV','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','UNKNOWN','956532noKvHf','DELETE','5XFVDNQ','260724TediCL','otherwise','reason','has','replace','startsWith','parseInt','\x20with\x20parameters:\x20','replaceAll','Unterminated\x20MyBatis\x20XML\x20tag.','<','delete','tagName','outer','when','1214184WKyBwJ','toLowerCase','test','type','__RABETBASE_MYBATIS_DYNAMIC_START__','Invalid\x20MyBatis\x20XML\x20tag.','-->','toUpperCase','3835827fGfaUF',']]>','770bTfWoA','fromCodePoint','258526dUTXvR','mybatisXml','<![CDATA[','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','sql','property','match','matchAll','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','6922013WoRtkK','"','indexOf','UPDATE','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','__RABETBASE_MYBATIS_DYNAMIC_END__','exec','Unterminated\x20XML\x20comment.','trim','&','choose','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','WITH','from','20YEKOLE','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','where','split'];a219_0x25a9=function(){return _0xe808ec;};return a219_0x25a9();}function findXmlTagEnd(_0x40b35c,_0x1dce00){const _0xc17ee0=a219_0x54bf2e;let _0x152991;for(let _0x857cd7=_0x1dce00+0x1;_0x857cd7<_0x40b35c[_0xc17ee0(0x224)];_0x857cd7+=0x1){const _0x5f48d6=_0x40b35c[_0x857cd7];if(_0x152991){if(_0x5f48d6===_0x152991)_0x152991=undefined;continue;}if(_0x5f48d6==='\x22'||_0x5f48d6==='\x27'){_0x152991=_0x5f48d6;continue;}if(_0x5f48d6==='>')return _0x857cd7;}return-0x1;}function decodeXmlEntities(_0xb33ebb){const _0x20bd78=a219_0x54bf2e;let _0x14d81e=![];const _0x4cccc1=_0xb33ebb[_0x20bd78(0x1e6)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x2f560b=>{const _0x15d189=_0x20bd78;if(_0x2f560b===_0x15d189(0x1ec))return'<';if(_0x2f560b==='>')return'>';if(_0x2f560b===_0x15d189(0x208))return'\x22';if(_0x2f560b===_0x15d189(0x235))return'\x27';if(_0x2f560b===_0x15d189(0x211))return'&';const _0x189bf1=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x15d189(0x20e)](_0x2f560b);if(_0x189bf1){const _0xf26453=_0x189bf1[0x1],_0x109457=_0x189bf1[0x2],_0x2d092a=Number[_0x15d189(0x1e8)](_0xf26453??_0x109457??'',_0xf26453?0x10:0xa);if(isValidXmlCharacter(_0x2d092a))return String[_0x15d189(0x1fc)](_0x2d092a);}return _0x14d81e=!![],'';});return _0x14d81e?null:_0x4cccc1;}function isValidXmlCharacter(_0x53aa4d){return _0x53aa4d===0x9||_0x53aa4d===0xa||_0x53aa4d===0xd||_0x53aa4d>=0x20&&_0x53aa4d<=0xd7ff||_0x53aa4d>=0xe000&&_0x53aa4d<=0xfffd||_0x53aa4d>=0x10000&&_0x53aa4d<=0x10ffff;}export function detectSqlType(_0x5f4cc2){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x5f4cc2));}function detectNormalizedSqlType(_0x2473e7){const _0x3decc0=a219_0x54bf2e;if(_0x2473e7['error'])return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![],'reason':_0x2473e7[_0x3decc0(0x23d)]};if(!_0x2473e7[_0x3decc0(0x202)][_0x3decc0(0x210)]())return{'type':_0x3decc0(0x1de),'isSelectOnly':![],'isDangerous':![],'reason':_0x3decc0(0x228)};const _0x5a52b2=stripStaticAnalysisMarkers(_0x2473e7[_0x3decc0(0x202)])[_0x3decc0(0x1e6)](/#\{[^}]*\}/g,'?')[_0x3decc0(0x1e6)](/\$\{[^}]*\}/g,'?')[_0x3decc0(0x1e6)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x3decc0(0x1e6)](/\/\*[\s\S]*?\*\//g,'')[_0x3decc0(0x210)](),_0x522bcb=_0x5a52b2[_0x3decc0(0x219)]('\x0a');let _0x6ad931='';for(const _0x5ac850 of _0x522bcb){const _0x8cf7c4=_0x5ac850[_0x3decc0(0x210)]();if(!_0x8cf7c4||_0x8cf7c4[_0x3decc0(0x1e7)]('--')||_0x8cf7c4[_0x3decc0(0x1e7)]('/*'))continue;_0x6ad931=_0x8cf7c4;break;}const _0xaecd7e=_0x6ad931[_0x3decc0(0x1f8)](),_0x3a4b3c=_0x2473e7['statementType'],_0x5d7579=maskSqlTextForBlockedKeywordScan(_0x5a52b2),_0x5d4734=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i['test'](_0x5d7579);if(_0x3a4b3c===_0x3decc0(0x23c)||!_0x3a4b3c&&(_0xaecd7e[_0x3decc0(0x1e7)](_0x3decc0(0x23c))||_0xaecd7e[_0x3decc0(0x1e7)](_0x3decc0(0x214)))){const _0x833be8=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x3decc0(0x1f3)](_0x5a52b2);return{'type':_0x3decc0(0x23c),'isSelectOnly':!_0x833be8,'isDangerous':_0x833be8,'reason':_0x833be8?_0x3decc0(0x222):undefined};}if(_0x3a4b3c===_0x3decc0(0x236)||!_0x3a4b3c&&_0xaecd7e[_0x3decc0(0x1e7)](_0x3decc0(0x236)))return{'type':_0x3decc0(0x236),'isSelectOnly':![],'isDangerous':_0x5d4734,'reason':_0x5d4734?_0x3decc0(0x1dd):undefined};if(_0x3a4b3c===_0x3decc0(0x20a)||!_0x3a4b3c&&_0xaecd7e[_0x3decc0(0x1e7)](_0x3decc0(0x20a)))return{'type':_0x3decc0(0x20a),'isSelectOnly':![],'isDangerous':_0x5d4734,'reason':_0x5d4734?_0x3decc0(0x1dd):undefined};if(_0x3a4b3c===_0x3decc0(0x1e0)||!_0x3a4b3c&&_0xaecd7e[_0x3decc0(0x1e7)](_0x3decc0(0x1e0)))return{'type':_0x3decc0(0x1e0),'isSelectOnly':![],'isDangerous':!![],'reason':_0x3decc0(0x232)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i['test'](_0xaecd7e))return{'type':_0x3decc0(0x226),'isSelectOnly':![],'isDangerous':!![],'reason':_0x3decc0(0x201)};return{'type':_0x3decc0(0x1de),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x32ae93){const _0x36a3e0=a219_0x54bf2e;return _0x32ae93['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x36a3e0(0x1ea)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x36a3e0(0x1ea)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x339ffd){const _0x1b8143=a219_0x54bf2e;return _0x339ffd[_0x1b8143(0x1e6)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x1b8143(0x1e6)](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x1b8143(0x1e6)](/--.*$/gm,'\x20')[_0x1b8143(0x1e6)](/#.*$/gm,'\x20')[_0x1b8143(0x1e6)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x179660){const _0x5d4402=a219_0x54bf2e,_0x46f7d6=_0x179660[_0x5d4402(0x1e6)](/#\{[^}]*\}/g,'?')[_0x5d4402(0x1e6)](/\$\{[^}]*\}/g,'?')['replace'](/'[^']*'/g,'\x27\x27')[_0x5d4402(0x1e6)](/--.*$/gm,'')[_0x5d4402(0x1e6)](/\/\*[\s\S]*?\*\//g,''),_0x5914b1=[],_0x2a6b5a=_0x46f7d6[_0x5d4402(0x204)](/FROM\s+([^\s,)(]+)/i);addTable(_0x5914b1,_0x2a6b5a?.[0x1]);for(const _0x30087c of _0x46f7d6[_0x5d4402(0x205)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x5914b1,_0x30087c[0x1]);}const _0x2ede03=_0x46f7d6[_0x5d4402(0x204)](/INTO\s+([^\s(]+)/i);addTable(_0x5914b1,_0x2ede03?.[0x1]);const _0x486928=_0x46f7d6[_0x5d4402(0x204)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x5914b1,_0x486928?.[0x1]),_0x5914b1;}function addTable(_0x3e30a0,_0x9421b8){const _0x2aab44=a219_0x54bf2e,_0x49baa4=_0x9421b8?.[_0x2aab44(0x1e6)](/[`"]/g,'');_0x49baa4&&_0x49baa4!==UNRESOLVED_SQL_FRAGMENT&&!_0x3e30a0[_0x2aab44(0x225)](_0x49baa4)&&_0x3e30a0[_0x2aab44(0x239)](_0x49baa4);}function extractParameters(_0x1916bc){const _0x154634=a219_0x54bf2e,_0x213de6=new Set();for(const _0x1d7dbb of _0x1916bc[_0x154634(0x205)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x1d7dbb[0x1])_0x213de6[_0x154634(0x220)](_0x1d7dbb[0x1]);}return Array[_0x154634(0x215)](_0x213de6);}export function validateSql(_0x4bac8c){const _0x362f7f=a219_0x54bf2e,_0xeec472=normalizeSqlForStaticAnalysis(_0x4bac8c),_0x2c9fc4=detectNormalizedSqlType(_0xeec472),_0x12b785=stripStaticAnalysisMarkers(_0xeec472['sql']),_0x55ebea=_0xeec472[_0x362f7f(0x23d)]?[]:extractTables(_0x12b785),_0x425269=_0xeec472[_0x362f7f(0x23d)]?[]:extractParameters(_0x12b785);if(_0x2c9fc4['isDangerous'])return{'valid':![],'sqlType':_0x2c9fc4,'tables':_0x55ebea,'parameters':_0x425269,'message':_0x2c9fc4[_0x362f7f(0x1e4)]||_0x2c9fc4[_0x362f7f(0x1f4)]+_0x362f7f(0x217)};if(_0x2c9fc4[_0x362f7f(0x1f4)]==='UNKNOWN')return{'valid':![],'sqlType':_0x2c9fc4,'tables':_0x55ebea,'parameters':_0x425269,'message':_0xeec472[_0x362f7f(0x23d)]?_0x362f7f(0x229)+_0xeec472[_0x362f7f(0x23d)]:_0x362f7f(0x20c)};return{'valid':!![],'sqlType':_0x2c9fc4,'tables':_0x55ebea,'parameters':_0x425269,'message':_0x2c9fc4['type']+_0x362f7f(0x23b)+(_0x55ebea[_0x362f7f(0x224)]?_0x55ebea['join'](',\x20'):_0x362f7f(0x238))+(_0x425269[_0x362f7f(0x224)]?_0x362f7f(0x1e9)+_0x425269[_0x362f7f(0x233)](',\x20'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a220_0xc86f59=a220_0x586e;(function(_0x1b2561,_0x1d4fb3){const _0x1b98bd=a220_0x586e,_0x4edec0=_0x1b2561();while(!![]){try{const _0x3b4dc6=parseInt(_0x1b98bd(0x1d9))/0x1+-parseInt(_0x1b98bd(0x1d2))/0x2+parseInt(_0x1b98bd(0x1d4))/0x3*(-parseInt(_0x1b98bd(0x1cd))/0x4)+-parseInt(_0x1b98bd(0x1da))/0x5*(parseInt(_0x1b98bd(0x1d3))/0x6)+-parseInt(_0x1b98bd(0x1d1))/0x7*(-parseInt(_0x1b98bd(0x1d7))/0x8)+-parseInt(_0x1b98bd(0x1cc))/0x9*(-parseInt(_0x1b98bd(0x1d8))/0xa)+parseInt(_0x1b98bd(0x1ce))/0xb;if(_0x3b4dc6===_0x1d4fb3)break;else _0x4edec0['push'](_0x4edec0['shift']());}catch(_0x559612){_0x4edec0['push'](_0x4edec0['shift']());}}}(a220_0x38c7,0x96418));import{CliError,createCliErrors}from'@lovrabet/cli-framework';function a220_0x38c7(){const _0x43e949=['\x0a\x20\x20\x20\x20\x20\x20\x20','1177112fATeIZ','8458790pkloal','258645zvLPMC','5367265DmclLE','\x20init\x20--appcode\x20<code>\x20--global`\x20registers\x20globally\x20so\x20you\x20can\x20use\x20it\x20from\x20anywhere.','Run\x20`','Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.','9TBbgtM','298036LPWdkz','12286131lmBckX','\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.','\x20auth`\x20to\x20login\x20first.','28RKTJMj','155948zIehoZ','6EXtfHI','42mOtoan','Set\x20appcode\x20via\x20`'];a220_0x38c7=function(){return _0x43e949;};return a220_0x38c7();}import{CLI_BIN_NAME}from'./constant/cli.js';export{CliError};function a220_0x586e(_0x55178b,_0x38ddb9){_0x55178b=_0x55178b-0x1cc;const _0x38c786=a220_0x38c7();let _0x586ea1=_0x38c786[_0x55178b];return _0x586ea1;}export const CliErrors=createCliErrors({'cliBinName':CLI_BIN_NAME,'authRequiredHint':a220_0xc86f59(0x1dc)+CLI_BIN_NAME+a220_0xc86f59(0x1d0),'configMissingHint':[a220_0xc86f59(0x1d5)+CLI_BIN_NAME+a220_0xc86f59(0x1cf),'Tip:\x20`'+CLI_BIN_NAME+a220_0xc86f59(0x1db)]['join'](a220_0xc86f59(0x1d6)),'notInProjectHint':a220_0xc86f59(0x1dd)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xb49065,_0x31f3a8){const _0xa3adf3=a221_0x107d,_0x2e7cfe=_0xb49065();while(!![]){try{const _0x28e9ef=-parseInt(_0xa3adf3(0x1da))/0x1*(-parseInt(_0xa3adf3(0x1d8))/0x2)+parseInt(_0xa3adf3(0x1d6))/0x3*(parseInt(_0xa3adf3(0x1d3))/0x4)+-parseInt(_0xa3adf3(0x1dc))/0x5+parseInt(_0xa3adf3(0x1dd))/0x6+-parseInt(_0xa3adf3(0x1d4))/0x7+-parseInt(_0xa3adf3(0x1d7))/0x8+parseInt(_0xa3adf3(0x1db))/0x9;if(_0x28e9ef===_0x31f3a8)break;else _0x2e7cfe['push'](_0x2e7cfe['shift']());}catch(_0x1cc768){_0x2e7cfe['push'](_0x2e7cfe['shift']());}}}(a221_0x32b4,0xbcaf1));import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';import{buildAllFlags as a221_0x101cc6}from'@lovrabet/cli-framework';import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';export function buildAllFlags(_0x36eb21){const _0x394fc0=a221_0x107d,_0x54b546=a221_0x101cc6(_0x36eb21,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x36eb21))return _0x54b546;return _0x54b546[_0x394fc0(0x1d5)](_0x5d42a0=>_0x5d42a0[_0x394fc0(0x1de)]===_0x394fc0(0x1d9)?{..._0x5d42a0,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x5d42a0);}function a221_0x107d(_0x1a83f9,_0x3e742d){_0x1a83f9=_0x1a83f9-0x1d3;const _0x32b463=a221_0x32b4();let _0x107dbd=_0x32b463[_0x1a83f9];return _0x107dbd;}function a221_0x32b4(){const _0x3c323d=['map','3DvbLOw','9066344HPDIxj','543098pMuIUu','yes','3qDfaBf','15208092TFLLrQ','7127150vhNQhB','1109172abxVCy','name','3271132FeKLtj','1228556dULXWN'];a221_0x32b4=function(){return _0x3c323d;};return a221_0x32b4();}
|