@lovrabet/rabetbase-cli 2.3.13 → 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 -0
- 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 -0
- 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
|
-
|
|
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
|
-
(function(
|
|
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
|
-
|
|
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(_0x3af9f8,_0x244634){const _0x422ccc=a210_0x268a,_0x371f6f=_0x3af9f8();while(!![]){try{const _0x4a1eb3=-parseInt(_0x422ccc(0x19c))/0x1*(-parseInt(_0x422ccc(0x1b8))/0x2)+-parseInt(_0x422ccc(0x190))/0x3+parseInt(_0x422ccc(0x192))/0x4*(parseInt(_0x422ccc(0x17e))/0x5)+parseInt(_0x422ccc(0x184))/0x6+-parseInt(_0x422ccc(0x1ab))/0x7*(parseInt(_0x422ccc(0x1b2))/0x8)+-parseInt(_0x422ccc(0x17f))/0x9*(parseInt(_0x422ccc(0x189))/0xa)+parseInt(_0x422ccc(0x19e))/0xb;if(_0x4a1eb3===_0x244634)break;else _0x371f6f['push'](_0x371f6f['shift']());}catch(_0x1d1023){_0x371f6f['push'](_0x371f6f['shift']());}}}(a210_0x4f97,0x19750));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x5d1b13,_0x1d92a3){const _0x337a6e=a210_0x268a,_0x231fa1=[],_0x193673=normalizeSqlForStaticAnalysis(_0x5d1b13),_0x16f5a0=(_0x193673[_0x337a6e(0x1ba)]?[]:extractJoinFacts(_0x193673[_0x337a6e(0x1aa)]))[_0x337a6e(0x1a9)](_0x315ee2=>{const _0x307ed2=_0x337a6e;if(_0x315ee2[_0x307ed2(0x195)]||_0x315ee2[_0x307ed2(0x182)][_0x307ed2(0x1bd)]===0x0)return _0x231fa1['push']({'code':'JOIN_PREDICATE_UNSUPPORTED','table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'reason':_0x315ee2[_0x307ed2(0x1a0)]??_0x307ed2(0x1b3)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x1b5)};const _0x5d3bba=resolveTableMetadata(_0x1d92a3,_0x315ee2['table']),_0x15fa37=(_0x5d3bba?.[_0x307ed2(0x1b4)]??[])[_0x307ed2(0x1a9)](_0x39622e=>({'index':_0x39622e,'matchedPrefix':findEqualityPrefix(_0x39622e['columns'],_0x315ee2[_0x307ed2(0x182)])}))[_0x307ed2(0x1ac)](_0x4e097a=>_0x4e097a[_0x307ed2(0x19d)][_0x307ed2(0x1bd)]>0x0),_0x2f4312=_0x15fa37[_0x307ed2(0x1a4)]((_0x1879a1,_0x149c27)=>!_0x1879a1||_0x149c27[_0x307ed2(0x19d)][_0x307ed2(0x1bd)]>_0x1879a1[_0x307ed2(0x19d)]['length']?_0x149c27:_0x1879a1,_0x15fa37[0x0]);if(_0x2f4312)return{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x186),'matchedIndex':{..._0x2f4312['index'],'matchedPrefix':_0x2f4312[_0x307ed2(0x19d)]}};const _0x5c4d5d=_0x5d3bba?.[_0x307ed2(0x1b4)]['filter'](_0x492082=>_0x492082['columns']['some'](_0x4e8f18=>_0x315ee2[_0x307ed2(0x182)]['some'](_0x1dfb04=>columnNamesMatch(_0x4e8f18,_0x1dfb04))))??[];if(_0x5c4d5d[_0x307ed2(0x1bd)]>0x0)return _0x231fa1[_0x307ed2(0x178)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x315ee2['table'],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'reason':_0x307ed2(0x1a2)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x177),'candidateIndexes':_0x5c4d5d};if(_0x5d3bba&&_0x5d3bba['metadataAvailable']!==![]&&_0x5d3bba[_0x307ed2(0x1b4)][_0x307ed2(0x1bd)]>0x0&&_0x315ee2[_0x307ed2(0x182)][_0x307ed2(0x1bd)]>0x0)return _0x231fa1[_0x307ed2(0x178)]({'code':_0x307ed2(0x1b6),'table':_0x315ee2['table'],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2['columns'],'reason':_0x307ed2(0x18e)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':'warning'};return _0x231fa1[_0x307ed2(0x178)]({'code':_0x307ed2(0x1ae),'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2['columns'],'reason':_0x5d3bba?_0x307ed2(0x188):'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x1b5)};});return{'checked':_0x16f5a0['length']>0x0,'joins':_0x16f5a0,'warnings':_0x231fa1};}function extractJoinFacts(_0x2aa6cb){const _0x2f95be=a210_0x268a,_0x44bf5e=maskNestedQueries(stripSqlNoise(_0x2aa6cb)),_0x5624d5=maskQuotedIdentifiers(_0x44bf5e),_0x452156=[],_0x4f17e1=new Set(),_0x7873e9=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x323c48 of _0x44bf5e[_0x2f95be(0x1af)](_0x7873e9)){const _0x5855fc=_0x323c48[_0x2f95be(0x19a)]??0x0,_0x896968=_0x323c48[0x0]['search'](/\bJOIN\b/i),_0x396f89=_0x5855fc+Math[_0x2f95be(0x17d)](0x0,_0x896968);if(!/^JOIN\b/i[_0x2f95be(0x193)](_0x5624d5[_0x2f95be(0x196)](_0x396f89)))continue;_0x4f17e1[_0x2f95be(0x1a6)](_0x396f89);const _0x2224c7=normalizeIdentifier(_0x323c48[0x1]||'INNER'),_0x26b20d=normalizeIdentifier(_0x323c48[0x2]??''),_0x336450=normalizeIdentifier(_0x323c48[0x3]||_0x26b20d[_0x2f95be(0x197)]('.')['at'](-0x1)||_0x26b20d),_0x4aa7be=[],_0x185e20=_0x26b20d==='__sq__';let _0x20ef43=_0x2224c7==='right'||_0x2224c7===_0x2f95be(0x18d)||_0x185e20,_0x131d8e=_0x20ef43?_0x185e20?'Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.':_0x2224c7[_0x2f95be(0x198)]()+'\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.':undefined;const _0x8cf86e=stripOuterParentheses(_0x323c48[0x4]??''),_0x3c7a33=_0x8cf86e[_0x2f95be(0x19f)](MYBATIS_DYNAMIC_START_MARKER)||_0x8cf86e[_0x2f95be(0x19f)](MYBATIS_DYNAMIC_END_MARKER),_0x368962=_0x8cf86e['includes'](MYBATIS_INCLUDE_MARKER);_0x3c7a33&&(_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x1be));_0x368962&&(_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x175));const _0x392bad=_0x8cf86e[_0x2f95be(0x194)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x2f95be(0x194)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x2f95be(0x194)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x392bad,'OR')&&(_0x20ef43=!![],_0x131d8e??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.');for(const _0x57204b of splitTopLevelAnd(_0x392bad)){const _0x3d81a9=stripOuterParentheses(_0x57204b);if(hasTopLevelKeyword(_0x3d81a9,'OR')){_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x199);continue;}const _0x41a805=splitEquality(_0x3d81a9);if(!_0x41a805){containsColumnReference(_0x57204b,_0x336450)&&(_0x20ef43=!![]);continue;}const _0xd2650d=parseDirectColumnReference(_0x41a805[0x0],_0x336450),_0x2a92da=parseDirectColumnReference(_0x41a805[0x1],_0x336450),_0x5eb686=containsColumnReference(_0x41a805[0x0],_0x336450),_0x35499e=containsColumnReference(_0x41a805[0x1],_0x336450),_0x4922a0=_0xd2650d&&!_0x35499e?_0xd2650d:_0x2a92da&&!_0x5eb686?_0x2a92da:null;if(_0x4922a0&&!_0x4aa7be[_0x2f95be(0x19f)](_0x4922a0))_0x4aa7be[_0x2f95be(0x178)](_0x4922a0);else!_0x4922a0&&containsColumnReference(_0x57204b,_0x336450)&&(_0x20ef43=!![]);}_0x452156['push']({'table':_0x26b20d,'alias':_0x336450,'columns':_0x4aa7be,'unsupportedPredicate':_0x20ef43,'unsupportedReason':_0x131d8e,'containsUnresolvedInclude':_0x368962,'position':_0x396f89});}for(const _0x35ec42 of _0x5624d5['matchAll'](/\bJOIN\b/gi)){const _0x438e56=_0x35ec42[_0x2f95be(0x19a)]??0x0;if(_0x4f17e1[_0x2f95be(0x17c)](_0x438e56))continue;const _0xcac723=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x2f95be(0x179)](_0x44bf5e[_0x2f95be(0x196)](_0x438e56+_0x35ec42[0x0]['length'])),_0xacf7f3=normalizeIdentifier(_0xcac723?.[0x1]||_0x2f95be(0x181)),_0x4a11ad=normalizeIdentifier(_0xcac723?.[0x2]||''),_0x57eb09=isSqlClauseKeyword(_0x4a11ad)?_0xacf7f3[_0x2f95be(0x197)]('.')['at'](-0x1)||_0xacf7f3:_0x4a11ad||_0xacf7f3[_0x2f95be(0x197)]('.')['at'](-0x1)||_0xacf7f3;_0x452156[_0x2f95be(0x178)]({'table':_0xacf7f3,'alias':_0x57eb09,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x2f95be(0x18b),'position':_0x438e56});}const _0x1c6bd7=_0x5624d5[_0x2f95be(0x18f)](MYBATIS_INCLUDE_MARKER);return _0x1c6bd7>=0x0&&!_0x452156[_0x2f95be(0x185)](_0x1c0894=>_0x1c0894[_0x2f95be(0x1b1)])&&_0x452156[_0x2f95be(0x178)]({'table':_0x2f95be(0x181),'alias':_0x2f95be(0x181),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','containsUnresolvedInclude':!![],'position':_0x1c6bd7}),_0x452156[_0x2f95be(0x174)]((_0x3a1e00,_0x26ac02)=>_0x3a1e00[_0x2f95be(0x1a3)]-_0x26ac02[_0x2f95be(0x1a3)]);}function stripSqlNoise(_0x33caca){const _0x7e0be3=a210_0x268a,_0x544296=Array[_0x7e0be3(0x1bf)](_0x33caca),_0x41fbb7=(_0x54c909,_0x25ceaf)=>{for(let _0xac261d=_0x54c909;_0xac261d<_0x25ceaf;_0xac261d+=0x1){_0x544296[_0xac261d]!=='\x0a'&&_0x544296[_0xac261d]!=='\x0d'&&(_0x544296[_0xac261d]='\x20');}};for(let _0xb0f3fa=0x0;_0xb0f3fa<_0x544296['length'];_0xb0f3fa+=0x1){const _0xa625d7=_0x544296[_0xb0f3fa],_0x104d1e=_0x544296[_0xb0f3fa+0x1];if(_0xa625d7==='\x27'||_0xa625d7==='\x22'||_0xa625d7==='`'){const _0x35cb1a=_0xa625d7,_0x2c7fcc=_0xb0f3fa;_0xb0f3fa+=0x1;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]){if(_0x544296[_0xb0f3fa]==='\x5c'&&_0xb0f3fa+0x1<_0x544296[_0x7e0be3(0x1bd)]){_0xb0f3fa+=0x2;continue;}if(_0x544296[_0xb0f3fa]!==_0x35cb1a){_0xb0f3fa+=0x1;continue;}if(_0x544296[_0xb0f3fa+0x1]===_0x35cb1a){_0xb0f3fa+=0x2;continue;}break;}if(_0x35cb1a==='\x27')_0x41fbb7(_0x2c7fcc,Math[_0x7e0be3(0x180)](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]));continue;}if(_0xa625d7==='-'&&_0x104d1e==='-'){const _0x1ca702=_0xb0f3fa;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&_0x544296[_0xb0f3fa]!=='\x0a')_0xb0f3fa+=0x1;_0x41fbb7(_0x1ca702,_0xb0f3fa);continue;}if(_0xa625d7==='/'&&_0x104d1e==='*'){const _0x489433=_0xb0f3fa;_0xb0f3fa+=0x2;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&!(_0x544296[_0xb0f3fa]==='*'&&_0x544296[_0xb0f3fa+0x1]==='/')){_0xb0f3fa+=0x1;}_0xb0f3fa=Math['min'](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]-0x1),_0x41fbb7(_0x489433,_0xb0f3fa+0x1);continue;}if(_0xa625d7==='#'&&_0x104d1e!=='{'){const _0x2e0287=_0xb0f3fa;while(_0xb0f3fa<_0x544296['length']&&_0x544296[_0xb0f3fa]!=='\x0a')_0xb0f3fa+=0x1;_0x41fbb7(_0x2e0287,_0xb0f3fa);continue;}if((_0xa625d7==='#'||_0xa625d7==='$')&&_0x104d1e==='{'){const _0x2c9cb7=_0xb0f3fa;_0xb0f3fa+=0x2;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&_0x544296[_0xb0f3fa]!=='}')_0xb0f3fa+=0x1;_0x41fbb7(_0x2c9cb7,Math['min'](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]));}}return _0x544296['join']('');}function a210_0x4f97(){const _0x18c4e0=['cross','error','alias','startsWith','length','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','from','sort','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','where','warning','push','exec','\x5c$&','tableName','has','max','5SsNSpZ','207LMsKVV','min','unknown','columns','match','487932tCDCNQ','some','covered','(?:^|[^\x5cw$])','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','74590pvGFYL','endsWith','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','trim','full','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','indexOf','144438eqkhnS','natural','188740uTaQcd','test','replaceAll','unsupportedPredicate','slice','split','toUpperCase','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','index','replace','101kyDapM','matchedPrefix','1358544pkSdQR','includes','unsupportedReason','inner','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','position','reduce','right','add','__sq__','table','map','sql','21CWsRqT','filter','using','INDEX_METADATA_UNAVAILABLE','matchAll','toLowerCase','containsUnresolvedInclude','334912yqAABs','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','indexes','unavailable','JOIN_INDEX_MISSING','join','3912ZlPbwT'];a210_0x4f97=function(){return _0x18c4e0;};return a210_0x4f97();}function maskQuotedIdentifiers(_0x588f29){const _0x59a85d=a210_0x268a,_0x3a6c50=Array[_0x59a85d(0x1bf)](_0x588f29);for(let _0x323320=0x0;_0x323320<_0x3a6c50[_0x59a85d(0x1bd)];_0x323320+=0x1){const _0x1e2db3=_0x3a6c50[_0x323320];if(_0x1e2db3!=='\x22'&&_0x1e2db3!=='`')continue;_0x323320+=0x1;while(_0x323320<_0x3a6c50[_0x59a85d(0x1bd)]){if(_0x3a6c50[_0x323320]===_0x1e2db3){if(_0x3a6c50[_0x323320+0x1]===_0x1e2db3){_0x3a6c50[_0x323320]='\x20',_0x3a6c50[_0x323320+0x1]='\x20',_0x323320+=0x2;continue;}break;}_0x3a6c50[_0x323320]='\x20',_0x323320+=0x1;}}return _0x3a6c50[_0x59a85d(0x1b7)]('');}function maskNestedQueries(_0x2eea89){const _0x512b48=a210_0x268a,_0x1dfc1e=Array['from'](_0x2eea89);for(let _0x5f13bd=0x0;_0x5f13bd<_0x1dfc1e['length'];_0x5f13bd+=0x1){if(_0x1dfc1e[_0x5f13bd]!=='(')continue;const _0x45166b=_0x2eea89['slice'](_0x5f13bd+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x512b48(0x193)](_0x45166b))continue;let _0x3b8d82=0x1,_0xfc6965=_0x5f13bd+0x1;for(;_0xfc6965<_0x1dfc1e[_0x512b48(0x1bd)]&&_0x3b8d82>0x0;_0xfc6965+=0x1){if(_0x1dfc1e[_0xfc6965]==='(')_0x3b8d82+=0x1;if(_0x1dfc1e[_0xfc6965]===')')_0x3b8d82-=0x1;}if(_0x3b8d82!==0x0)continue;for(let _0x46c084=_0x5f13bd;_0x46c084<_0xfc6965;_0x46c084+=0x1){_0x1dfc1e[_0x46c084]='\x20';}const _0x27d160=_0x512b48(0x1a7);for(let _0x42e627=0x0;_0x42e627<_0x27d160[_0x512b48(0x1bd)]&&_0x5f13bd+_0x42e627<_0xfc6965;_0x42e627+=0x1){_0x1dfc1e[_0x5f13bd+_0x42e627]=_0x27d160[_0x42e627];}_0x5f13bd=_0xfc6965-0x1;}return _0x1dfc1e[_0x512b48(0x1b7)]('');}function splitTopLevelAnd(_0x1669ac){const _0x396dc3=a210_0x268a,_0x49092d=[];let _0x5017a0=0x0,_0x4eb5dc=0x0;for(let _0x47eb83=0x0;_0x47eb83<_0x1669ac[_0x396dc3(0x1bd)];_0x47eb83+=0x1){const _0x2bdafc=_0x1669ac[_0x47eb83];if(_0x2bdafc==='(')_0x5017a0+=0x1;if(_0x2bdafc===')')_0x5017a0=Math[_0x396dc3(0x17d)](0x0,_0x5017a0-0x1);_0x5017a0===0x0&&_0x1669ac[_0x396dc3(0x196)](_0x47eb83)[_0x396dc3(0x183)](/^AND\b/i)&&(_0x47eb83===0x0||/\s/[_0x396dc3(0x193)](_0x1669ac[_0x47eb83-0x1]??''))&&(_0x49092d[_0x396dc3(0x178)](_0x1669ac[_0x396dc3(0x196)](_0x4eb5dc,_0x47eb83)[_0x396dc3(0x18c)]()),_0x47eb83+=0x2,_0x4eb5dc=_0x47eb83+0x1);}const _0x4ed47a=_0x1669ac[_0x396dc3(0x196)](_0x4eb5dc)[_0x396dc3(0x18c)]();if(_0x4ed47a)_0x49092d[_0x396dc3(0x178)](_0x4ed47a);return _0x49092d;}function a210_0x268a(_0x487ce6,_0x165080){_0x487ce6=_0x487ce6-0x174;const _0x4f978e=a210_0x4f97();let _0x268a18=_0x4f978e[_0x487ce6];return _0x268a18;}function hasTopLevelKeyword(_0x43e916,_0x47bada){const _0x509ede=a210_0x268a;let _0x29a3d5=0x0;for(let _0x139a4e=0x0;_0x139a4e<_0x43e916['length'];_0x139a4e+=0x1){const _0x2a112a=_0x43e916[_0x139a4e];if(_0x2a112a==='(')_0x29a3d5+=0x1;if(_0x2a112a===')')_0x29a3d5=Math[_0x509ede(0x17d)](0x0,_0x29a3d5-0x1);if(_0x29a3d5!==0x0)continue;const _0x48634a=_0x43e916['slice'](_0x139a4e,_0x139a4e+_0x47bada[_0x509ede(0x1bd)]),_0x5dfae4=_0x43e916[_0x139a4e-0x1]??'\x20',_0x26a284=_0x43e916[_0x139a4e+_0x47bada[_0x509ede(0x1bd)]]??'\x20';if(_0x48634a[_0x509ede(0x198)]()===_0x47bada[_0x509ede(0x198)]()&&!/[\w$]/['test'](_0x5dfae4)&&!/[\w$]/[_0x509ede(0x193)](_0x26a284))return!![];}return![];}function splitEquality(_0x10d931){const _0x2399da=a210_0x268a,_0x223c2d=stripOuterParentheses(_0x10d931);let _0x31bb9f=0x0,_0x2950a2;for(let _0x1d9f68=0x0;_0x1d9f68<_0x223c2d[_0x2399da(0x1bd)];_0x1d9f68+=0x1){const _0x192a71=_0x223c2d[_0x1d9f68];if(_0x192a71==='(')_0x31bb9f+=0x1;if(_0x192a71===')')_0x31bb9f=Math[_0x2399da(0x17d)](0x0,_0x31bb9f-0x1);const _0x3ece94=_0x223c2d[_0x1d9f68-0x1]??'',_0x63e313=_0x223c2d[_0x1d9f68+0x1]??'';if(_0x192a71==='='&&_0x31bb9f===0x0&&!/[!<>=:]/[_0x2399da(0x193)](_0x3ece94)&&_0x63e313!=='='){if(_0x2950a2!==undefined)return null;_0x2950a2=_0x1d9f68;}}return _0x2950a2===undefined?null:[_0x223c2d[_0x2399da(0x196)](0x0,_0x2950a2)[_0x2399da(0x18c)](),_0x223c2d[_0x2399da(0x196)](_0x2950a2+0x1)[_0x2399da(0x18c)]()];}function parseDirectColumnReference(_0x43fade,_0xb036c0){const _0x2a59a3=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/['exec'](stripOuterParentheses(_0x43fade));if(!_0x2a59a3)return null;if(normalizeIdentifier(_0x2a59a3[0x1]??'')!==normalizeIdentifier(_0xb036c0))return null;return normalizeIdentifier(_0x2a59a3[0x2]??'');}function containsColumnReference(_0x41793e,_0x170248){const _0x463ed5=a210_0x268a,_0x247b68=_0x41793e['replace'](/[`"]/g,''),_0x1640dc=_0x170248[_0x463ed5(0x19b)](/[.*+?^${}()|[\]\\]/g,_0x463ed5(0x17a));return new RegExp(_0x463ed5(0x187)+_0x1640dc+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')[_0x463ed5(0x193)](_0x247b68);}function findEqualityPrefix(_0x37c406,_0xfc6fbb){const _0x855da4=a210_0x268a,_0xedda64=new Set(_0xfc6fbb[_0x855da4(0x1a9)](normalizeIdentifier)),_0x5db54f=[];for(const _0x5dab6d of _0x37c406){if(!_0xedda64[_0x855da4(0x17c)](normalizeIdentifier(_0x5dab6d)))break;_0x5db54f[_0x855da4(0x178)](_0x5dab6d);}return _0x5db54f;}function resolveTableMetadata(_0x34c876,_0x57db00){const _0x3d983b=a210_0x268a,_0x57a0a6=normalizeIdentifier(_0x57db00),_0x430b6e=_0x34c876[_0x3d983b(0x1ac)](_0x397b04=>normalizeIdentifier(_0x397b04['tableName'])===_0x57a0a6);if(_0x430b6e[_0x3d983b(0x1bd)]===0x1)return _0x430b6e[0x0];const _0x2765c2=_0x57a0a6[_0x3d983b(0x19f)]('.'),_0x4bb7ad=_0x57a0a6[_0x3d983b(0x197)]('.')['at'](-0x1),_0xbe7af0=_0x34c876[_0x3d983b(0x1ac)](_0x59376d=>{const _0x3f91d6=_0x3d983b,_0x5cc62c=normalizeIdentifier(_0x59376d[_0x3f91d6(0x17b)]);if(_0x2765c2&&_0x5cc62c[_0x3f91d6(0x19f)]('.'))return![];return _0x5cc62c['split']('.')['at'](-0x1)===_0x4bb7ad;});return _0xbe7af0[_0x3d983b(0x1bd)]===0x1?_0xbe7af0[0x0]:undefined;}function columnNamesMatch(_0x7cfb9d,_0x372f99){return normalizeIdentifier(_0x7cfb9d)===normalizeIdentifier(_0x372f99);}function normalizeIdentifier(_0x239541){const _0x5ce8cb=a210_0x268a;return _0x239541['replace'](/[`"]/g,'')[_0x5ce8cb(0x18c)]()[_0x5ce8cb(0x1b0)]();}function isSqlClauseKeyword(_0x19f203){const _0x1daccd=a210_0x268a;return new Set(['on',_0x1daccd(0x1ad),_0x1daccd(0x176),'join',_0x1daccd(0x1a1),'left',_0x1daccd(0x1a5),_0x1daccd(0x18d),_0x1daccd(0x1b9),_0x1daccd(0x191)])[_0x1daccd(0x17c)](_0x19f203);}function stripOuterParentheses(_0x40691f){const _0x2d4229=a210_0x268a;let _0x3a362d=_0x40691f[_0x2d4229(0x18c)]();while(_0x3a362d[_0x2d4229(0x1bc)]('(')&&_0x3a362d[_0x2d4229(0x18a)](')')){let _0x4bd20b=0x0,_0xead002=!![];for(let _0x1ef6ff=0x0;_0x1ef6ff<_0x3a362d[_0x2d4229(0x1bd)];_0x1ef6ff+=0x1){if(_0x3a362d[_0x1ef6ff]==='(')_0x4bd20b+=0x1;if(_0x3a362d[_0x1ef6ff]===')')_0x4bd20b-=0x1;if(_0x4bd20b===0x0&&_0x1ef6ff<_0x3a362d[_0x2d4229(0x1bd)]-0x1){_0xead002=![];break;}}if(!_0xead002||_0x4bd20b!==0x0)break;_0x3a362d=_0x3a362d[_0x2d4229(0x196)](0x1,-0x1)[_0x2d4229(0x18c)]();}return _0x3a362d;}
|
|
1
|
+
(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 a217_0x2bc9b0=a217_0x19e9;(function(_0x171cf2,_0x39686a){const _0x1a4da4=a217_0x19e9,_0x44b1a2=_0x171cf2();while(!![]){try{const _0x385f44=-parseInt(_0x1a4da4(0x176))/0x1+-parseInt(_0x1a4da4(0x1b4))/0x2+parseInt(_0x1a4da4(0x1d0))/0x3*(parseInt(_0x1a4da4(0x171))/0x4)+parseInt(_0x1a4da4(0x1c7))/0x5+parseInt(_0x1a4da4(0x1ca))/0x6*(parseInt(_0x1a4da4(0x174))/0x7)+-parseInt(_0x1a4da4(0x18a))/0x8+-parseInt(_0x1a4da4(0x1ac))/0x9*(-parseInt(_0x1a4da4(0x19d))/0xa);if(_0x385f44===_0x39686a)break;else _0x44b1a2['push'](_0x44b1a2['shift']());}catch(_0x19bd5d){_0x44b1a2['push'](_0x44b1a2['shift']());}}}(a217_0x455b,0x5fa7b));const MYBATIS_OUTER_TAGS=new Map([[a217_0x2bc9b0(0x1c1),a217_0x2bc9b0(0x1d2)],[a217_0x2bc9b0(0x1ad),'INSERT'],['update','UPDATE'],[a217_0x2bc9b0(0x199),a217_0x2bc9b0(0x1a8)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a217_0x2bc9b0(0x172),'foreach',a217_0x2bc9b0(0x1a6),a217_0x2bc9b0(0x198),a217_0x2bc9b0(0x1a9),a217_0x2bc9b0(0x181),a217_0x2bc9b0(0x1b5),a217_0x2bc9b0(0x19b),'include',a217_0x2bc9b0(0x1b6)]),MYBATIS_BRANCH_TAGS=new Set(['if',a217_0x2bc9b0(0x183),'choose','when',a217_0x2bc9b0(0x1a9)]);export const MYBATIS_DYNAMIC_START_MARKER=a217_0x2bc9b0(0x192);function a217_0x19e9(_0x474bf7,_0x4da529){_0x474bf7=_0x474bf7-0x170;const _0x455bc6=a217_0x455b();let _0x19e9c1=_0x455bc6[_0x474bf7];return _0x19e9c1;}export const MYBATIS_DYNAMIC_END_MARKER=a217_0x2bc9b0(0x180);export const MYBATIS_INCLUDE_MARKER=a217_0x2bc9b0(0x1a2);const UNRESOLVED_SQL_FRAGMENT=a217_0x2bc9b0(0x18e),MYBATIS_OUTER_TAG_PATTERN=new RegExp('^<\x5cs*(?:'+[...MYBATIS_OUTER_TAGS[a217_0x2bc9b0(0x1a4)]()][a217_0x2bc9b0(0x1b0)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x105aef){const _0xe125ba=a217_0x2bc9b0,_0x125378=typeof _0x105aef===_0xe125ba(0x1b7)?_0x105aef:'';if(!startsWithMybatisStatementWrapper(_0x125378))return{'sql':_0x125378,'mode':_0xe125ba(0x18c)};let _0x8df5c1=0x0,_0x48f475='',_0x2da68a,_0x2c2796=![],_0x269ac0=![];const _0x321788=[];while(_0x8df5c1<_0x125378[_0xe125ba(0x194)]){if(_0x125378['startsWith'](_0xe125ba(0x1c6),_0x8df5c1)){const _0x58eb32=_0x125378['indexOf'](_0xe125ba(0x1b9),_0x8df5c1+0x4);if(_0x58eb32<0x0)return invalidMybatisSource(_0xe125ba(0x1c5));_0x48f475+='\x20',_0x8df5c1=_0x58eb32+0x3;continue;}if(_0x125378[_0xe125ba(0x17e)](_0xe125ba(0x1be),_0x8df5c1)){if(!_0x2c2796||_0x269ac0)return invalidMybatisSource(_0xe125ba(0x175));const _0x31e2a0=_0x125378[_0xe125ba(0x17d)](']]>',_0x8df5c1+0x9);if(_0x31e2a0<0x0)return invalidMybatisSource(_0xe125ba(0x1bc));_0x48f475+=_0x125378[_0xe125ba(0x18b)](_0x8df5c1+0x9,_0x31e2a0),_0x8df5c1=_0x31e2a0+0x3;continue;}if(_0x125378[_0xe125ba(0x17e)]('<?',_0x8df5c1)){if(_0x2c2796)return invalidMybatisSource(_0xe125ba(0x182));const _0x4011ec=_0x125378['indexOf']('?>',_0x8df5c1+0x2);if(_0x4011ec<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x48f475+='\x20',_0x8df5c1=_0x4011ec+0x2;continue;}if(_0x125378[_0x8df5c1]!=='<'){const _0x2a0d53=_0x125378[_0xe125ba(0x17d)]('<',_0x8df5c1),_0x17daa7=_0x2a0d53<0x0?_0x125378[_0xe125ba(0x194)]:_0x2a0d53,_0x55f6e7=_0x125378[_0xe125ba(0x18b)](_0x8df5c1,_0x17daa7);if((!_0x2c2796||_0x269ac0)&&_0x55f6e7['trim']())return invalidMybatisSource(_0xe125ba(0x188));if(_0x2c2796&&!_0x269ac0){const _0x5de6a4=decodeXmlEntities(_0x55f6e7);if(_0x5de6a4===null)return invalidMybatisSource(_0xe125ba(0x186));_0x48f475+=_0x5de6a4;}else _0x48f475+='\x20';_0x8df5c1=_0x17daa7;continue;}const _0x26c1a9=findXmlTagEnd(_0x125378,_0x8df5c1);if(_0x26c1a9<0x0)return invalidMybatisSource(_0xe125ba(0x17a));const _0x5773ed=_0x125378[_0xe125ba(0x18b)](_0x8df5c1,_0x26c1a9+0x1),_0x50d7b9=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0xe125ba(0x1b3)](_0x5773ed);if(!_0x50d7b9)return invalidMybatisSource(_0xe125ba(0x1a0));const _0x3732db=_0x50d7b9[0x1]==='/',_0x3ccd4b=_0x50d7b9[0x2]??'',_0x100e4f=_0x3ccd4b[_0xe125ba(0x1ae)](),_0x5c145f=_0x50d7b9[0x3]??'',_0x2c424e=_0x50d7b9[0x4]==='/',_0x3ee401=MYBATIS_OUTER_TAGS[_0xe125ba(0x170)](_0x100e4f);if(!_0x3ee401&&!MYBATIS_DYNAMIC_TAGS[_0xe125ba(0x1c9)](_0x100e4f))return invalidMybatisSource(_0xe125ba(0x17f)+_0x100e4f+'>.');if(!_0x3ee401&&_0x3ccd4b!==_0x100e4f)return invalidMybatisSource(_0xe125ba(0x1ce)+_0x3ccd4b+'>.');if(_0x3732db){if(_0x5c145f[_0xe125ba(0x181)]()||_0x2c424e)return invalidMybatisSource(_0xe125ba(0x19a)+_0x3ccd4b+'>.');const _0x3623a2=_0x321788['at'](-0x1);if(!_0x3623a2||(_0x3623a2[_0xe125ba(0x18f)]?_0x3623a2[_0xe125ba(0x195)]!==_0x100e4f:_0x3623a2['rawName']!==_0x3ccd4b))return invalidMybatisSource(_0xe125ba(0x1b2)+_0x3ccd4b+'>.');_0x321788[_0xe125ba(0x191)]();if(_0x3623a2[_0xe125ba(0x18f)])_0x269ac0=!![];_0x48f475+=MYBATIS_BRANCH_TAGS['has'](_0x100e4f)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x5c145f))return invalidMybatisSource(_0xe125ba(0x1ba)+_0x3ccd4b+'>.');if(_0x100e4f===_0xe125ba(0x1b6)&&(!_0x2c424e||_0x321788['at'](-0x1)?.[_0xe125ba(0x195)]!==_0xe125ba(0x1a3)))return invalidMybatisSource(_0xe125ba(0x1cc));if(_0x3ee401){if(_0x2c2796||_0x321788[_0xe125ba(0x194)]>0x0)return invalidMybatisSource(_0xe125ba(0x1bb));_0x2c2796=!![],_0x269ac0=_0x2c424e,_0x2da68a=_0x3ee401;}else{if(!_0x2c2796||_0x269ac0)return invalidMybatisSource(_0xe125ba(0x19f)+_0x3ccd4b+'>.');}_0x48f475+=_0x100e4f===_0xe125ba(0x172)?_0xe125ba(0x1ab):_0x100e4f===_0xe125ba(0x1b5)?_0xe125ba(0x1bf):_0x100e4f===_0xe125ba(0x1a3)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0xe125ba(0x1c9)](_0x100e4f)&&!_0x2c424e?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x2c424e&&_0x321788[_0xe125ba(0x1b8)]({'rawName':_0x3ccd4b,'tagName':_0x100e4f,'outer':!!_0x3ee401});}_0x8df5c1=_0x26c1a9+0x1;}if(_0x321788[_0xe125ba(0x194)]>0x0)return invalidMybatisSource('Unclosed\x20MyBatis\x20XML\x20tag:\x20<'+_0x321788['at'](-0x1)?.[_0xe125ba(0x197)]+'>.');if(!_0x2c2796||!_0x269ac0)return invalidMybatisSource(_0xe125ba(0x1d1));return{'sql':_0x48f475[_0xe125ba(0x181)](),'mode':_0xe125ba(0x1a7),..._0x2da68a?{'statementType':_0x2da68a}:{}};}function hasWellFormedXmlAttributes(_0x355bf6){const _0x12dadf=a217_0x2bc9b0;let _0x38de17=0x0;const _0x3a994e=new Set();while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]){while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;if(_0x38de17>=_0x355bf6['length'])return!![];const _0x2ad1c6=/^[A-Za-z_:][\w:.-]*/[_0x12dadf(0x1b3)](_0x355bf6[_0x12dadf(0x18b)](_0x38de17)),_0x3ea5f1=_0x2ad1c6?.[0x0];if(!_0x3ea5f1||_0x3a994e[_0x12dadf(0x1c9)](_0x3ea5f1))return![];_0x3a994e['add'](_0x3ea5f1),_0x38de17+=_0x3ea5f1[_0x12dadf(0x194)];while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;if(_0x355bf6[_0x38de17]!=='=')return![];_0x38de17+=0x1;while(_0x38de17<_0x355bf6['length']&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;const _0x36accc=_0x355bf6[_0x38de17];if(_0x36accc!=='\x22'&&_0x36accc!=='\x27')return![];_0x38de17+=0x1;const _0xafa9a7=_0x355bf6[_0x12dadf(0x17d)](_0x36accc,_0x38de17);if(_0xafa9a7<0x0)return![];if(decodeXmlEntities(_0x355bf6['slice'](_0x38de17,_0xafa9a7))===null)return![];_0x38de17=_0xafa9a7+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x3ff553){const _0x129f5a=a217_0x2bc9b0;let _0x5a6555=0x0;const _0x59e397=()=>{const _0x512c15=a217_0x19e9;while(_0x5a6555<_0x3ff553['length']&&/\s/[_0x512c15(0x1cb)](_0x3ff553[_0x5a6555]??''))_0x5a6555+=0x1;};_0x59e397();while(_0x5a6555<_0x3ff553[_0x129f5a(0x194)]){if(_0x3ff553[_0x129f5a(0x17e)](_0x129f5a(0x1c6),_0x5a6555)){const _0x481a3f=_0x3ff553[_0x129f5a(0x17d)](_0x129f5a(0x1b9),_0x5a6555+0x4);if(_0x481a3f<0x0)return!![];_0x5a6555=_0x481a3f+0x3,_0x59e397();continue;}if(_0x3ff553[_0x129f5a(0x17e)]('<?',_0x5a6555)){const _0x521dbf=_0x3ff553[_0x129f5a(0x17d)]('?>',_0x5a6555+0x2);if(_0x521dbf<0x0)return!![];_0x5a6555=_0x521dbf+0x2,_0x59e397();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x129f5a(0x1cb)](_0x3ff553['slice'](_0x5a6555));}function invalidMybatisSource(_0x1b7e23){const _0x837a80=a217_0x2bc9b0;return{'sql':'','mode':_0x837a80(0x1a7),'error':_0x1b7e23};}function findXmlTagEnd(_0x26125a,_0x4a13c7){const _0x285642=a217_0x2bc9b0;let _0x5174ca;for(let _0x5a9c25=_0x4a13c7+0x1;_0x5a9c25<_0x26125a[_0x285642(0x194)];_0x5a9c25+=0x1){const _0x5c4909=_0x26125a[_0x5a9c25];if(_0x5174ca){if(_0x5c4909===_0x5174ca)_0x5174ca=undefined;continue;}if(_0x5c4909==='\x22'||_0x5c4909==='\x27'){_0x5174ca=_0x5c4909;continue;}if(_0x5c4909==='>')return _0x5a9c25;}return-0x1;}function decodeXmlEntities(_0x54edee){const _0x332a3d=a217_0x2bc9b0;let _0x418b60=![];const _0x3be9b8=_0x54edee[_0x332a3d(0x17b)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x3b8d72=>{const _0x1c92c9=_0x332a3d;if(_0x3b8d72==='<')return'<';if(_0x3b8d72===_0x1c92c9(0x1cd))return'>';if(_0x3b8d72===_0x1c92c9(0x187))return'\x22';if(_0x3b8d72===_0x1c92c9(0x1c8))return'\x27';if(_0x3b8d72===_0x1c92c9(0x196))return'&';const _0x25e983=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x1c92c9(0x1b3)](_0x3b8d72);if(_0x25e983){const _0x5a45f8=_0x25e983[0x1],_0x2e5405=_0x25e983[0x2],_0x40dded=Number['parseInt'](_0x5a45f8??_0x2e5405??'',_0x5a45f8?0x10:0xa);if(isValidXmlCharacter(_0x40dded))return String['fromCodePoint'](_0x40dded);}return _0x418b60=!![],'';});return _0x418b60?null:_0x3be9b8;}function isValidXmlCharacter(_0x122a93){return _0x122a93===0x9||_0x122a93===0xa||_0x122a93===0xd||_0x122a93>=0x20&&_0x122a93<=0xd7ff||_0x122a93>=0xe000&&_0x122a93<=0xfffd||_0x122a93>=0x10000&&_0x122a93<=0x10ffff;}export function detectSqlType(_0x1a97a7){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x1a97a7));}function detectNormalizedSqlType(_0x2e3a4d){const _0x111bdd=a217_0x2bc9b0;if(_0x2e3a4d[_0x111bdd(0x1b1)])return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![],'reason':_0x2e3a4d[_0x111bdd(0x1b1)]};if(!_0x2e3a4d['sql'][_0x111bdd(0x181)]())return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![],'reason':_0x111bdd(0x1bd)};const _0x4baabd=stripStaticAnalysisMarkers(_0x2e3a4d[_0x111bdd(0x18c)])[_0x111bdd(0x17b)](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')[_0x111bdd(0x17b)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x111bdd(0x17b)](/\/\*[\s\S]*?\*\//g,'')[_0x111bdd(0x181)](),_0x3791e3=_0x4baabd[_0x111bdd(0x177)]('\x0a');let _0x4c8d14='';for(const _0x24f572 of _0x3791e3){const _0x1a2899=_0x24f572['trim']();if(!_0x1a2899||_0x1a2899[_0x111bdd(0x17e)]('--')||_0x1a2899[_0x111bdd(0x17e)]('/*'))continue;_0x4c8d14=_0x1a2899;break;}const _0x5c588e=_0x4c8d14[_0x111bdd(0x1af)](),_0x1f69dc=_0x2e3a4d[_0x111bdd(0x178)],_0x22de64=maskSqlTextForBlockedKeywordScan(_0x4baabd),_0x3c389f=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x111bdd(0x1cb)](_0x22de64);if(_0x1f69dc===_0x111bdd(0x1d2)||!_0x1f69dc&&(_0x5c588e[_0x111bdd(0x17e)](_0x111bdd(0x1d2))||_0x5c588e[_0x111bdd(0x17e)]('WITH'))){const _0x128bde=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i['test'](_0x4baabd);return{'type':'SELECT','isSelectOnly':!_0x128bde,'isDangerous':_0x128bde,'reason':_0x128bde?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0x1f69dc===_0x111bdd(0x193)||!_0x1f69dc&&_0x5c588e[_0x111bdd(0x17e)]('INSERT'))return{'type':_0x111bdd(0x193),'isSelectOnly':![],'isDangerous':_0x3c389f,'reason':_0x3c389f?_0x111bdd(0x1c4):undefined};if(_0x1f69dc===_0x111bdd(0x173)||!_0x1f69dc&&_0x5c588e[_0x111bdd(0x17e)]('UPDATE'))return{'type':'UPDATE','isSelectOnly':![],'isDangerous':_0x3c389f,'reason':_0x3c389f?_0x111bdd(0x1c4):undefined};if(_0x1f69dc===_0x111bdd(0x1a8)||!_0x1f69dc&&_0x5c588e['startsWith']('DELETE'))return{'type':_0x111bdd(0x1a8),'isSelectOnly':![],'isDangerous':!![],'reason':_0x111bdd(0x185)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i['test'](_0x5c588e))return{'type':'DDL','isSelectOnly':![],'isDangerous':!![],'reason':'DDL\x20statements\x20are\x20blocked\x20from\x20auto-save'};return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x378b8d){const _0x1313c3=a217_0x2bc9b0;return _0x378b8d['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x1313c3(0x18d)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x1313c3(0x18d)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x3e17fd){const _0x4ed058=a217_0x2bc9b0;return _0x3e17fd[_0x4ed058(0x17b)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x4ed058(0x17b)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0x4ed058(0x17b)](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x4ed058(0x17b)](/--.*$/gm,'\x20')['replace'](/#.*$/gm,'\x20')[_0x4ed058(0x17b)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x461d89){const _0x12d5d8=a217_0x2bc9b0,_0x46dcb4=_0x461d89[_0x12d5d8(0x17b)](/#\{[^}]*\}/g,'?')[_0x12d5d8(0x17b)](/\$\{[^}]*\}/g,'?')['replace'](/'[^']*'/g,'\x27\x27')[_0x12d5d8(0x17b)](/--.*$/gm,'')[_0x12d5d8(0x17b)](/\/\*[\s\S]*?\*\//g,''),_0x481a6b=[],_0x58300a=_0x46dcb4[_0x12d5d8(0x1aa)](/FROM\s+([^\s,)(]+)/i);addTable(_0x481a6b,_0x58300a?.[0x1]);for(const _0x3ba89c of _0x46dcb4[_0x12d5d8(0x184)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x481a6b,_0x3ba89c[0x1]);}const _0x507b86=_0x46dcb4[_0x12d5d8(0x1aa)](/INTO\s+([^\s(]+)/i);addTable(_0x481a6b,_0x507b86?.[0x1]);const _0x24ca1a=_0x46dcb4[_0x12d5d8(0x1aa)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x481a6b,_0x24ca1a?.[0x1]),_0x481a6b;}function a217_0x455b(){const _0x409e41=['isDangerous','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','Unterminated\x20XML\x20comment.','<!--','2728050urKUdu',''','has','158694jYbFgF','test','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','>','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','reason','39onkBuc','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','SELECT','get','123884xhwEMl','where','UPDATE','161sOPYdn','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','521901axHFfK','split','statementType','add','Unterminated\x20MyBatis\x20XML\x20tag.','replace','UNKNOWN','indexOf','startsWith','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','__RABETBASE_MYBATIS_DYNAMIC_END__','trim','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','foreach','matchAll','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','Invalid\x20XML\x20entity\x20reference.','"','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','type','5345688VdzWTp','slice','sql','replaceAll','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','outer','\x20query\x20targeting\x20','pop','__RABETBASE_MYBATIS_DYNAMIC_START__','INSERT','length','tagName','&','rawName','when','delete','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','bind','\x20with\x20parameters:\x20','520roSDwj','includes','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','Invalid\x20MyBatis\x20XML\x20tag.','Unable\x20to\x20detect\x20SQL\x20type.\x20','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','include','keys','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','choose','mybatisXml','DELETE','otherwise','match','\x20WHERE\x20','21051idFweF','insert','toLowerCase','toUpperCase','join','error','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','exec','192546uEsLuQ','set','property','string','push','-->','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','Unterminated\x20CDATA\x20section.','SQL\x20content\x20is\x20empty','<![CDATA[','\x20SET\x20','from','select','unknown\x20table(s)'];a217_0x455b=function(){return _0x409e41;};return a217_0x455b();}function addTable(_0x5e4c48,_0x1a63a2){const _0xaab3e5=a217_0x2bc9b0,_0x138eaa=_0x1a63a2?.['replace'](/[`"]/g,'');_0x138eaa&&_0x138eaa!==UNRESOLVED_SQL_FRAGMENT&&!_0x5e4c48[_0xaab3e5(0x19e)](_0x138eaa)&&_0x5e4c48[_0xaab3e5(0x1b8)](_0x138eaa);}function extractParameters(_0x455944){const _0x5fe66a=a217_0x2bc9b0,_0x232d7e=new Set();for(const _0x4ba4a3 of _0x455944['matchAll'](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x4ba4a3[0x1])_0x232d7e[_0x5fe66a(0x179)](_0x4ba4a3[0x1]);}return Array[_0x5fe66a(0x1c0)](_0x232d7e);}export function validateSql(_0xf016eb){const _0x58739c=a217_0x2bc9b0,_0x8db0ed=normalizeSqlForStaticAnalysis(_0xf016eb),_0xa702fb=detectNormalizedSqlType(_0x8db0ed),_0x43613d=stripStaticAnalysisMarkers(_0x8db0ed[_0x58739c(0x18c)]),_0x5c6faf=_0x8db0ed[_0x58739c(0x1b1)]?[]:extractTables(_0x43613d),_0x32be0c=_0x8db0ed[_0x58739c(0x1b1)]?[]:extractParameters(_0x43613d);if(_0xa702fb[_0x58739c(0x1c3)])return{'valid':![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0xa702fb[_0x58739c(0x1cf)]||_0xa702fb[_0x58739c(0x189)]+_0x58739c(0x1a5)};if(_0xa702fb['type']==='UNKNOWN')return{'valid':![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0x8db0ed['error']?_0x58739c(0x1a1)+_0x8db0ed[_0x58739c(0x1b1)]:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0xa702fb[_0x58739c(0x189)]+_0x58739c(0x190)+(_0x5c6faf[_0x58739c(0x194)]?_0x5c6faf[_0x58739c(0x1b0)](',\x20'):_0x58739c(0x1c2))+(_0x32be0c[_0x58739c(0x194)]?_0x58739c(0x19c)+_0x32be0c[_0x58739c(0x1b0)](',\x20'):'')};}
|
|
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
|
-
const
|
|
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();}
|