@lovrabet/rabetbase-cli 2.3.14-beta.1 → 2.3.15-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a202_0x38b2fa=a202_0x4a27;(function(_0xc9428a,_0x2b7a6f){const _0x6cceda=a202_0x4a27,_0x28f394=_0xc9428a();while(!![]){try{const _0x2c44df=parseInt(_0x6cceda(0x1a0))/0x1*(-parseInt(_0x6cceda(0x194))/0x2)+parseInt(_0x6cceda(0x191))/0x3+-parseInt(_0x6cceda(0x192))/0x4+parseInt(_0x6cceda(0x1a6))/0x5*(-parseInt(_0x6cceda(0x1a2))/0x6)+-parseInt(_0x6cceda(0x196))/0x7+-parseInt(_0x6cceda(0x18f))/0x8+parseInt(_0x6cceda(0x1a9))/0x9*(parseInt(_0x6cceda(0x19a))/0xa);if(_0x2c44df===_0x2b7a6f)break;else _0x28f394['push'](_0x28f394['shift']());}catch(_0x338cbb){_0x28f394['push'](_0x28f394['shift']());}}}(a202_0x50d7,0x35c95));function a202_0x50d7(){const _0xf3b1c1=['260322REsAsH','push','COMMON','trim','25IwcUEP','toUpperCase','split','108URdugF','get','afterScriptId','isFile','.js','HOOK/','functionName','scriptType','HOOK','datasetCode','isDirectory','ENOENT','202824FhwIvC','operationType','72204sFBNRi','75736QQRxAQ','name','8niVQRB','replace','863443xmDvRz','before','set','scriptsRootDir','713560UirdjQ','ENDPOINT','functionNode','all','endsWith','beforeScriptId','68865azbuvC','code'];a202_0x50d7=function(){return _0xf3b1c1;};return a202_0x50d7();}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_0x38b2fa(0x1a4),a202_0x38b2fa(0x19b),'HOOK'];export function normalizeBffType(_0x31e923){const _0xdba48d=a202_0x38b2fa;if(!_0x31e923)return undefined;const _0x49bf73=_0x31e923[_0xdba48d(0x1a5)]()[_0xdba48d(0x1a7)]();return SUPPORTED_BFF_TYPES['includes'](_0x49bf73)?_0x49bf73:undefined;}async function scanJsFilesRecursively(_0x4c9925,_0x4036f6){const _0x5a158d=a202_0x38b2fa,_0x1174b3=[];try{const _0x30523d=await readdir(_0x4c9925,{'withFileTypes':!![]});for(const _0x657fc8 of _0x30523d){const _0x3a41b3=join(_0x4c9925,_0x657fc8[_0x5a158d(0x193)]);if(_0x657fc8[_0x5a158d(0x1b3)]())_0x1174b3[_0x5a158d(0x1a3)](...await scanJsFilesRecursively(_0x3a41b3,_0x4036f6+'/'+_0x657fc8[_0x5a158d(0x193)]));else _0x657fc8[_0x5a158d(0x1ac)]()&&_0x657fc8[_0x5a158d(0x193)][_0x5a158d(0x19e)](_0x5a158d(0x1ad))&&_0x1174b3[_0x5a158d(0x1a3)]({'lockKey':_0x4036f6+'/'+_0x657fc8['name'][_0x5a158d(0x195)](/\.js$/,''),'filePath':_0x3a41b3});}}catch(_0x30d3f5){if(_0x30d3f5[_0x5a158d(0x1a1)]!==_0x5a158d(0x1b4))throw _0x30d3f5;}return _0x1174b3;}async function scanFlatFunctions(_0x58016b,_0x1a199b){const _0xcb7fa0=a202_0x38b2fa,_0x206416=join(_0x58016b[_0xcb7fa0(0x199)],_0x1a199b),_0x12cc16=await scanJsFilesRecursively(_0x206416,_0x1a199b);return _0x12cc16['map'](({lockKey:_0x3bbfc5,filePath:_0x5630f8})=>({'type':_0x1a199b,'name':_0x3bbfc5['split']('/')['at'](-0x1)??'','filePath':_0x5630f8,'lockKey':_0x3bbfc5}));}async function scanHookFunctions(_0x50e46c){const _0x3d3046=a202_0x38b2fa,_0x2bf167=join(_0x50e46c[_0x3d3046(0x199)],_0x3d3046(0x1b1)),_0x3808d9=[];try{const _0x177e19=await readdir(_0x2bf167,{'withFileTypes':!![]});for(const _0x422f3f of _0x177e19){if(!_0x422f3f[_0x3d3046(0x1b3)]())continue;const _0x11519d=_0x422f3f[_0x3d3046(0x193)],_0xed00d6=join(_0x2bf167,_0x11519d),_0x13126d=await readdir(_0xed00d6,{'withFileTypes':!![]});for(const _0x3ff6dd of _0x13126d){if(!_0x3ff6dd[_0x3d3046(0x1b3)]())continue;const _0x1daa92=_0x3ff6dd['name'],_0x4a5e69=join(_0xed00d6,_0x1daa92),_0x11885d=await readdir(_0x4a5e69,{'withFileTypes':!![]});for(const _0x310b3a of _0x11885d){if(!_0x310b3a[_0x3d3046(0x1b3)]())continue;const _0x4789a7=_0x310b3a[_0x3d3046(0x193)],_0x45a3ab=join(_0x4a5e69,_0x4789a7),_0x4376de=await readdir(_0x45a3ab,{'withFileTypes':!![]});for(const _0x2424cb of _0x4376de){if(!_0x2424cb['isFile']()||!_0x2424cb['name'][_0x3d3046(0x19e)](_0x3d3046(0x1ad)))continue;const _0x2c86d6=_0x2424cb[_0x3d3046(0x193)]['replace'](/\.js$/,'');_0x3808d9[_0x3d3046(0x1a3)]({'type':_0x3d3046(0x1b1),'name':_0x2c86d6,'filePath':join(_0x45a3ab,_0x2424cb[_0x3d3046(0x193)]),'lockKey':_0x3d3046(0x1ae)+_0x11519d+'/'+_0x1daa92+'/'+_0x4789a7+'/'+_0x2c86d6,'alias':_0x11519d,'operationType':_0x1daa92,'functionNode':_0x4789a7});}}}}}catch(_0x4bb1cb){if(_0x4bb1cb[_0x3d3046(0x1a1)]!=='ENOENT')throw _0x4bb1cb;}return _0x3808d9;}export async function scanLocalBffFunctions(_0x2c7b98,_0x5c6a35){const _0x131cb8=a202_0x38b2fa;if(_0x5c6a35===_0x131cb8(0x1a4)||_0x5c6a35===_0x131cb8(0x19b))return scanFlatFunctions(_0x2c7b98,_0x5c6a35);if(_0x5c6a35===_0x131cb8(0x1b1))return scanHookFunctions(_0x2c7b98);const [_0xe238ff,_0x31e4ff,_0x91bc6]=await Promise[_0x131cb8(0x19d)]([scanFlatFunctions(_0x2c7b98,_0x131cb8(0x1a4)),scanFlatFunctions(_0x2c7b98,_0x131cb8(0x19b)),scanHookFunctions(_0x2c7b98)]);return[..._0xe238ff,..._0x31e4ff,..._0x91bc6];}export function resolveLocalFilePathFromLockKey(_0x113a5f,_0x2bade4){const _0x1681f9=a202_0x38b2fa;return join(_0x113a5f[_0x1681f9(0x199)],..._0x2bade4[_0x1681f9(0x1a8)]('/'))+_0x1681f9(0x1ad);}export function createHookLocationMap(_0x16613f){const _0x30e298=a202_0x38b2fa,_0x210f49=new Map();for(const _0x1677f5 of _0x16613f){_0x1677f5['beforeScriptId']&&_0x210f49[_0x30e298(0x198)](_0x1677f5[_0x30e298(0x19f)],{'datasetCode':_0x1677f5[_0x30e298(0x1b2)],'operationType':snakeToCamel(_0x1677f5['operationType']),'functionNode':_0x30e298(0x197)}),_0x1677f5[_0x30e298(0x1ab)]&&_0x210f49[_0x30e298(0x198)](_0x1677f5['afterScriptId'],{'datasetCode':_0x1677f5[_0x30e298(0x1b2)],'operationType':snakeToCamel(_0x1677f5[_0x30e298(0x190)]),'functionNode':'after'});}return _0x210f49;}export function resolveRemoteScriptTarget(_0x452e5f,_0x4da4e6,_0x5a31e6,_0x469529,_0x36329d){const _0x12af33=a202_0x38b2fa,_0x3d2712=normalizeBffType(_0x4da4e6[_0x12af33(0x1b0)]);if(!_0x3d2712||!_0x4da4e6['functionName'])return null;if(_0x3d2712===_0x12af33(0x1b1)){const _0x2b9ca7=(_0x4da4e6['id']?_0x5a31e6[_0x12af33(0x1aa)](_0x4da4e6['id']):undefined)??findHookLocationByRemoteId(_0x469529,_0x4da4e6['id']);if(!_0x2b9ca7)return null;const _0x1e307b=_0x2b9ca7['alias']||_0x36329d[_0x12af33(0x1aa)](_0x2b9ca7['datasetCode']),_0x583137=_0x1e307b??_0x2b9ca7['datasetCode'],_0xea9ec={..._0x2b9ca7,'alias':_0x1e307b},_0x457838='HOOK/'+_0x583137+'/'+_0xea9ec['operationType']+'/'+_0xea9ec[_0x12af33(0x19c)]+'/'+_0x4da4e6[_0x12af33(0x1af)];return{'lockKey':_0x457838,'filePath':resolveLocalFilePathFromLockKey(_0x452e5f,_0x457838),'type':_0x12af33(0x1b1),'hookLocation':_0xea9ec};}const _0x8de2f5=_0x3d2712+'/'+_0x4da4e6['functionName'];return{'lockKey':_0x8de2f5,'filePath':resolveLocalFilePathFromLockKey(_0x452e5f,_0x8de2f5),'type':_0x3d2712};}export async function ensureParentDirectory(_0x2aff49){await mkdir(dirname(_0x2aff49),{'recursive':!![]});}function a202_0x4a27(_0x2799ee,_0x4735be){_0x2799ee=_0x2799ee-0x18f;const _0x50d7d4=a202_0x50d7();let _0x4a2716=_0x50d7d4[_0x2799ee];return _0x4a2716;}export async function fileExists(_0x55bae4){try{return await access(_0x55bae4,constants['F_OK']),!![];}catch{return![];}}export async function directoryExists(_0x203beb){const _0x2a95c1=a202_0x38b2fa;try{const _0x45846d=await stat(_0x203beb);return _0x45846d[_0x2a95c1(0x1b3)]();}catch{return![];}}
|
package/lib/core/bff/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x314fc3,_0x5ba9a2){const _0x35fa61=a203_0x348e,_0x15834e=_0x314fc3();while(!![]){try{const _0x6794f6=-parseInt(_0x35fa61(0x1ab))/0x1*(parseInt(_0x35fa61(0x1b1))/0x2)+-parseInt(_0x35fa61(0x1b7))/0x3*(parseInt(_0x35fa61(0x1af))/0x4)+-parseInt(_0x35fa61(0x1b0))/0x5+parseInt(_0x35fa61(0x1b3))/0x6+parseInt(_0x35fa61(0x1b5))/0x7+-parseInt(_0x35fa61(0x1b6))/0x8+parseInt(_0x35fa61(0x1ae))/0x9;if(_0x6794f6===_0x5ba9a2)break;else _0x15834e['push'](_0x15834e['shift']());}catch(_0x399e51){_0x15834e['push'](_0x15834e['shift']());}}}(a203_0x800f,0xdecf8));function a203_0x800f(){const _0x1fc6bb=['utf8','digest','29366802VOVOpz','56GijTfZ','6653615YxhlDQ','3074cQXfEI','update','7935906fNRtSq','hex','6549606VVuXdK','4951280hYCkNO','379422MzfRTp','578zQhdNW'];a203_0x800f=function(){return _0x1fc6bb;};return a203_0x800f();}import{readFile}from'node:fs/promises';import a203_0x1c8c2c from'node:crypto';export function computeContentHash(_0x1c0659){const _0x3a760d=a203_0x348e;return a203_0x1c8c2c['createHash']('md5')[_0x3a760d(0x1b2)](_0x1c0659)[_0x3a760d(0x1ad)](_0x3a760d(0x1b4));}function a203_0x348e(_0x40839b,_0x1a5084){_0x40839b=_0x40839b-0x1ab;const _0x800f15=a203_0x800f();let _0x348ef5=_0x800f15[_0x40839b];return _0x348ef5;}export async function computeFileHash(_0x207040){const _0x24f441=a203_0x348e,_0x370055=await readFile(_0x207040,_0x24f441(0x1ac));return computeContentHash(_0x370055);}
|
package/lib/core/bff/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3a3d4a,_0xcb7287){const _0x4e7adf=a204_0x527c,_0x50ccb9=_0x3a3d4a();while(!![]){try{const _0x1920a9=-parseInt(_0x4e7adf(0x6e))/0x1*(-parseInt(_0x4e7adf(0x6c))/0x2)+parseInt(_0x4e7adf(0x73))/0x3+parseInt(_0x4e7adf(0x66))/0x4+-parseInt(_0x4e7adf(0x6f))/0x5*(parseInt(_0x4e7adf(0x70))/0x6)+-parseInt(_0x4e7adf(0x72))/0x7+-parseInt(_0x4e7adf(0x75))/0x8+parseInt(_0x4e7adf(0x74))/0x9;if(_0x1920a9===_0xcb7287)break;else _0x50ccb9['push'](_0x50ccb9['shift']());}catch(_0x440f02){_0x50ccb9['push'](_0x50ccb9['shift']());}}}(a204_0x40b3,0x29251));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';function a204_0x40b3(){const _0x3bb811=['Check\x20.rabetbase/bff.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','functions','16pdAjPL',':\x20scriptsRoot\x20mismatch\x20—\x20','2728dzfhuF','300eZIsHG','1758kzznnO','parse','1592171zwvcFQ','804921jKQqFk','3246579PZLYFT','2268416xYFPLP','Failed\x20to\x20read\x20BFF\x20lock\x20file:\x20','\x22.\x20','code','scriptsRoot','apps','object','185008oAesfA','utf8','lastSync','stringify'];a204_0x40b3=function(){return _0x3bb811;};return a204_0x40b3();}export function createEmptyBffLock(){return{'apps':{}};}export function ensureLockScope(_0x179a71,_0xe7d4a4,_0x2ba706,_0xea472e){const _0x3c09ad=a204_0x527c,_0x5bd76a={'apps':_0x179a71[_0x3c09ad(0x7a)]&&typeof _0x179a71[_0x3c09ad(0x7a)]===_0x3c09ad(0x7b)?_0x179a71[_0x3c09ad(0x7a)]:{}};let _0x34a918=_0x5bd76a[_0x3c09ad(0x7a)][_0xe7d4a4];if(!_0x34a918)return _0x34a918={'scriptsRoot':_0x2ba706,'lastSync':'','functions':{}},_0x5bd76a[_0x3c09ad(0x7a)][_0xe7d4a4]=_0x34a918,{'lockData':_0x5bd76a,'appLock':_0x34a918};if(!_0x34a918[_0x3c09ad(0x79)])_0x34a918[_0x3c09ad(0x79)]=_0x2ba706;else{if(_0x34a918[_0x3c09ad(0x79)]!==_0x2ba706)throw new Error(_0xea472e+_0x3c09ad(0x6d)+('current\x20\x22'+_0x2ba706+'\x22\x20vs\x20lock\x20\x22'+_0x34a918['scriptsRoot']+_0x3c09ad(0x77))+_0x3c09ad(0x6a));}return!_0x34a918[_0x3c09ad(0x6b)]&&(_0x34a918[_0x3c09ad(0x6b)]={}),!_0x34a918['lastSync']&&(_0x34a918[_0x3c09ad(0x68)]=''),{'lockData':_0x5bd76a,'appLock':_0x34a918};}export async function readBffLockFile(_0x3ed3d0){const _0xe51f64=a204_0x527c;try{const _0x55e290=await readFile(_0x3ed3d0,'utf8'),_0x506701=JSON[_0xe51f64(0x71)](_0x55e290);return{'apps':_0x506701['apps']&&typeof _0x506701[_0xe51f64(0x7a)]===_0xe51f64(0x7b)?_0x506701[_0xe51f64(0x7a)]:{}};}catch(_0x3c25c6){if(_0x3c25c6[_0xe51f64(0x78)]==='ENOENT')return null;throw new Error(_0xe51f64(0x76)+String(_0x3c25c6));}}function a204_0x527c(_0x5d2fb5,_0x5ad8d8){_0x5d2fb5=_0x5d2fb5-0x66;const _0x40b30a=a204_0x40b3();let _0x527c80=_0x40b30a[_0x5d2fb5];return _0x527c80;}export async function writeBffLockFile(_0x4c5424,_0x194714){const _0xce74b7=a204_0x527c;await mkdir(dirname(_0x4c5424),{'recursive':!![]}),await writeFile(_0x4c5424,JSON[_0xce74b7(0x69)](_0x194714,null,0x2),_0xce74b7(0x67));}
|
package/lib/core/bff/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a206_0x5c3a(_0x419706,_0x37d009){_0x419706=_0x419706-0x193;const _0x3fca17=a206_0x3fca();let _0x5c3ac6=_0x3fca17[_0x419706];return _0x5c3ac6;}function a206_0x3fca(){const _0x35f638=['3VtCRpr','12522560WMEkvI','3262694OjyezX','18nHyaYr','replace','16121870zxPWEl','values','1493354HwEuFy','datasetCode','5SIPmrG','9661482odSdGI','match','4243169DDAIVv','remoteId','trim','toLowerCase','4980884LWHdsN','functionNode','toUpperCase','operationType','before'];a206_0x3fca=function(){return _0x35f638;};return a206_0x3fca();}(function(_0x5f1827,_0x560b69){const _0xe40efb=a206_0x5c3a,_0x1a387b=_0x5f1827();while(!![]){try{const _0xe5e7b0=-parseInt(_0xe40efb(0x19d))/0x1+parseInt(_0xe40efb(0x198))/0x2+parseInt(_0xe40efb(0x196))/0x3*(parseInt(_0xe40efb(0x1a6))/0x4)+parseInt(_0xe40efb(0x19f))/0x5*(-parseInt(_0xe40efb(0x1a0))/0x6)+-parseInt(_0xe40efb(0x1a2))/0x7+-parseInt(_0xe40efb(0x197))/0x8+-parseInt(_0xe40efb(0x199))/0x9*(-parseInt(_0xe40efb(0x19b))/0xa);if(_0xe5e7b0===_0x560b69)break;else _0x1a387b['push'](_0x1a387b['shift']());}catch(_0x4146de){_0x1a387b['push'](_0x1a387b['shift']());}}}(a206_0x3fca,0xc99fe));export function snakeToCamel(_0x18d85d){const _0x4bac14=a206_0x5c3a;return _0x18d85d[_0x4bac14(0x1a5)]()[_0x4bac14(0x19a)](/_([a-z])/g,(_0x372fe1,_0x524acf)=>_0x524acf[_0x4bac14(0x193)]());}export function findHookLocationByRemoteId(_0x16fee7,_0x5f07aa){const _0x330f5b=a206_0x5c3a;if(!_0x5f07aa)return undefined;for(const _0x5c0e56 of Object[_0x330f5b(0x19c)](_0x16fee7)){if(_0x5c0e56[_0x330f5b(0x1a3)]===_0x5f07aa&&_0x5c0e56['datasetCode']&&_0x5c0e56[_0x330f5b(0x194)]&&_0x5c0e56['functionNode'])return{'datasetCode':_0x5c0e56[_0x330f5b(0x19e)],'operationType':_0x5c0e56[_0x330f5b(0x194)],'functionNode':_0x5c0e56[_0x330f5b(0x1a7)]};}return undefined;}export function extractScriptDescription(_0x37e5c6){const _0x3ac5d2=a206_0x5c3a,_0x4af56e=_0x37e5c6[_0x3ac5d2(0x1a1)](/\[\s*脚本描述\s*]\s*(.+)/);return _0x4af56e?.[0x1]?.[_0x3ac5d2(0x1a4)]()||undefined;}export function isValidBffFunctionName(_0x4b16fe){return/^[A-Za-z_$][A-Za-z0-9_$]*$/['test'](_0x4b16fe);}export function normalizeHookFunctionNode(_0x7643ed){const _0x5908fc=a206_0x5c3a;if(!_0x7643ed)return undefined;const _0x4adb9e=_0x7643ed[_0x5908fc(0x1a4)]()[_0x5908fc(0x1a5)]();if(_0x4adb9e===_0x5908fc(0x195)||_0x4adb9e==='after')return _0x4adb9e;return undefined;}
|
package/lib/core/db-resolver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x123a16,_0x1e40c1){const _0x143017=a207_0x3b06,_0x419010=_0x123a16();while(!![]){try{const _0x2e9c20=parseInt(_0x143017(0x155))/0x1+parseInt(_0x143017(0x13c))/0x2+-parseInt(_0x143017(0x13e))/0x3*(-parseInt(_0x143017(0x13b))/0x4)+parseInt(_0x143017(0x151))/0x5+parseInt(_0x143017(0x153))/0x6+parseInt(_0x143017(0x14d))/0x7+-parseInt(_0x143017(0x150))/0x8*(parseInt(_0x143017(0x148))/0x9);if(_0x2e9c20===_0x1e40c1)break;else _0x419010['push'](_0x419010['shift']());}catch(_0x238696){_0x419010['push'](_0x419010['shift']());}}}(a207_0x4365,0x84742));import{listDatasets}from'../core/api-client.js';const cache=new Map();export async function listDatabases(_0xa187a1){const _0x36e434=a207_0x3b06;if(cache[_0x36e434(0x13a)](_0xa187a1))return cache[_0x36e434(0x149)](_0xa187a1);const _0x55b5d4=await listDatasets(_0xa187a1),_0x26979d=new Map();for(const _0x2947ee of _0x55b5d4){const _0x22c936=_0x2947ee[_0x36e434(0x142)];_0x22c936?.['dbId']!=null&&_0x26979d[_0x36e434(0x13f)](_0x22c936[_0x36e434(0x14b)],_0x22c936['dbName']??_0x36e434(0x146)+_0x22c936['dbId']);}const _0x168cf8=[..._0x26979d[_0x36e434(0x139)]()][_0x36e434(0x140)](([_0x1d69d9,_0x47fe56])=>({'dbId':_0x1d69d9,'dbName':_0x47fe56}));return cache[_0x36e434(0x13f)](_0xa187a1,_0x168cf8),_0x168cf8;}export async function resolveDb(_0xfd8933,_0x4c6d3b){const _0x18a4ea=a207_0x3b06,_0x236332=await listDatabases(_0xfd8933);if(_0x236332[_0x18a4ea(0x13d)]===0x0)return{'resolved':[],'error':'No\x20linked\x20databases\x20found\x20under\x20app\x20\x22'+_0xfd8933+_0x18a4ea(0x14e)};if(!_0x4c6d3b)return{'resolved':_0x236332};const _0x265cf2=Number(_0x4c6d3b);if(!Number[_0x18a4ea(0x152)](_0x265cf2)){const _0x2b6f63=_0x236332['find'](_0x5411e7=>_0x5411e7[_0x18a4ea(0x14b)]===_0x265cf2);if(_0x2b6f63)return{'resolved':[_0x2b6f63]};}const _0x1b75fe=_0x4c6d3b[_0x18a4ea(0x14c)](),_0x4b9978=_0x236332[_0x18a4ea(0x154)](_0x7ee802=>_0x7ee802[_0x18a4ea(0x147)]['toLowerCase']()[_0x18a4ea(0x14f)](_0x1b75fe));if(_0x4b9978[_0x18a4ea(0x13d)]>0x0)return{'resolved':_0x4b9978};const _0x753c29=_0x236332[_0x18a4ea(0x140)](_0xacbc21=>_0xacbc21[_0x18a4ea(0x147)]+'\x20('+_0xacbc21['dbId']+')')[_0x18a4ea(0x143)](',\x20');return{'resolved':[],'error':_0x18a4ea(0x144)+_0x4c6d3b+_0x18a4ea(0x14a)+_0xfd8933+_0x18a4ea(0x138)+_0x753c29+_0x18a4ea(0x145)};}export async function resolveOneDb(_0x4761d1,_0x437421){const _0x2fba75=a207_0x3b06,{resolved:_0x4f26fb,error:_0xd3d4a}=await resolveDb(_0x4761d1,_0x437421);if(_0xd3d4a)return{'db':null,'error':_0xd3d4a};if(_0x4f26fb[_0x2fba75(0x13d)]===0x1)return{'db':_0x4f26fb[0x0]};if(!_0x437421){const _0x318b6a=_0x4f26fb['map'](_0x448c69=>_0x448c69['dbName']+'\x20('+_0x448c69[_0x2fba75(0x14b)]+')')[_0x2fba75(0x143)](',\x20');return{'db':null,'error':'Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20'+_0x318b6a};}const _0x5187ca=_0x4f26fb[_0x2fba75(0x140)](_0x3fb7cd=>_0x3fb7cd['dbName']+'\x20('+_0x3fb7cd['dbId']+')')[_0x2fba75(0x143)](',\x20');return{'db':null,'error':'\x22'+_0x437421+_0x2fba75(0x141)+_0x5187ca+'.\x20Be\x20more\x20specific.'};}function a207_0x3b06(_0x36dd52,_0x17a1e5){_0x36dd52=_0x36dd52-0x137;const _0x436577=a207_0x4365();let _0x3b06e4=_0x436577[_0x36dd52];return _0x3b06e4;}function a207_0x4365(){const _0x3f555d=['\x22\x20matches\x20multiple\x20databases:\x20','dbtableConfig','join','No\x20database\x20matching\x20\x22','.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.','db-','dbName','1268451mSzSaq','get','\x22\x20under\x20app\x20\x22','dbId','toLowerCase','6723234TbSZUI','\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.','includes','104oHkxkd','1789380sjrSCj','isNaN','410760MWoWiS','filter','283815EQngTM','find','\x22.\x20Available:\x20','entries','has','7836ynBoEV','1071300SSKrSe','length','258zxhVug','set','map'];a207_0x4365=function(){return _0x3f555d;};return a207_0x4365();}export async function getDbName(_0x4a857a,_0x28ffa2){const _0x114d49=a207_0x3b06,_0x4fede6=await listDatabases(_0x4a857a);return _0x4fede6[_0x114d49(0x137)](_0x8f552a=>_0x8f552a[_0x114d49(0x14b)]===_0x28ffa2)?.[_0x114d49(0x147)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a208_0x275a(_0x5a2178,_0x3c6363){_0x5a2178=_0x5a2178-0x8a;const _0x4373d0=a208_0x4373();let _0x275ab2=_0x4373d0[_0x5a2178];return _0x275ab2;}(function(_0x214f50,_0x438cfc){const _0x3cc209=a208_0x275a,_0x40e6f3=_0x214f50();while(!![]){try{const _0x5ec716=parseInt(_0x3cc209(0x91))/0x1+-parseInt(_0x3cc209(0x97))/0x2+-parseInt(_0x3cc209(0x94))/0x3*(-parseInt(_0x3cc209(0x90))/0x4)+-parseInt(_0x3cc209(0x8c))/0x5*(-parseInt(_0x3cc209(0x8e))/0x6)+parseInt(_0x3cc209(0x95))/0x7*(parseInt(_0x3cc209(0x92))/0x8)+parseInt(_0x3cc209(0x8b))/0x9*(-parseInt(_0x3cc209(0x99))/0xa)+-parseInt(_0x3cc209(0x96))/0xb;if(_0x5ec716===_0x438cfc)break;else _0x40e6f3['push'](_0x40e6f3['shift']());}catch(_0x3c80cd){_0x40e6f3['push'](_0x40e6f3['shift']());}}}(a208_0x4373,0xc842d));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';import{dirname,join,resolve}from'node:path';export function loadPageProjectConfig(_0x11a7ac,_0x12bba1=process['cwd']()){const _0x2ec1c3=a208_0x275a,_0x596ae6=resolve(_0x12bba1),_0x47c34f=join(_0x596ae6,_0x2ec1c3(0x98),'page');return{'projectRoot':_0x596ae6,'pagesBaseDir':_0x47c34f,'appPagesDir':join(_0x47c34f,_0x11a7ac),'lockFilePath':join(_0x596ae6,_0x2ec1c3(0x98),_0x2ec1c3(0x8a))};}export function buildPageFileName(_0x5c83dc,_0x4b2987){const _0x274d0a=a208_0x275a;return _0x5c83dc+'-'+String(_0x4b2987)[_0x274d0a(0x8d)]()+_0x274d0a(0x93);}export function resolvePageFilePath(_0x80de2,_0x1db648,_0x4612bd){return join(_0x80de2['appPagesDir'],buildPageFileName(_0x1db648,_0x4612bd));}export async function ensureParentDirectory(_0x461921){await mkdir(dirname(_0x461921),{'recursive':!![]});}function a208_0x4373(){const _0x3927f4=['F_OK','32yTvseb','291732FvRmyN','90616NTxKpp','.json','490821JqxOae','385PSsWLP','1358918RgNOia','2836688pCwqWJ','.rabetbase','10630elkdAf','page.lock.json','6966whwXGL','3550IVOpLm','toUpperCase','8124MeGwGZ'];a208_0x4373=function(){return _0x3927f4;};return a208_0x4373();}export async function fileExists(_0x4efd6b){const _0x3b38aa=a208_0x275a;try{return await access(_0x4efd6b,constants[_0x3b38aa(0x8f)]),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xa3dd34,_0x1cab74){const _0x1b8519=a209_0x1bef,_0x5e9d5e=_0xa3dd34();while(!![]){try{const _0x8e3f5f=parseInt(_0x1b8519(0x12f))/0x1+-parseInt(_0x1b8519(0x136))/0x2*(-parseInt(_0x1b8519(0x131))/0x3)+parseInt(_0x1b8519(0x13a))/0x4*(parseInt(_0x1b8519(0x13c))/0x5)+parseInt(_0x1b8519(0x132))/0x6+parseInt(_0x1b8519(0x137))/0x7+-parseInt(_0x1b8519(0x13b))/0x8+-parseInt(_0x1b8519(0x13d))/0x9*(parseInt(_0x1b8519(0x12e))/0xa);if(_0x8e3f5f===_0x1cab74)break;else _0x5e9d5e['push'](_0x5e9d5e['shift']());}catch(_0x64bb64){_0x5e9d5e['push'](_0x5e9d5e['shift']());}}}(a209_0x2c24,0xe98f3));import a209_0x1df2ad from'node:crypto';import{readFile}from'node:fs/promises';export function serializePageSchemaForFile(_0x3ca230){return JSON['stringify'](JSON['parse'](_0x3ca230),null,0x2)+'\x0a';}export function computePageContentHash(_0x57b47f){const _0x145ff1=a209_0x1bef;return a209_0x1df2ad[_0x145ff1(0x133)](_0x145ff1(0x138))[_0x145ff1(0x130)](_0x57b47f)[_0x145ff1(0x139)](_0x145ff1(0x135));}export function computeSerializedSchemaHash(_0x308aa4){return computePageContentHash(serializePageSchemaForFile(_0x308aa4));}export async function computePageFileHash(_0x110c71){const _0x3e43a5=a209_0x1bef,_0x5d3921=await readFile(_0x110c71,_0x3e43a5(0x134));return computePageContentHash(_0x5d3921);}function a209_0x1bef(_0x424bcc,_0x26e31c){_0x424bcc=_0x424bcc-0x12e;const _0x2c24d1=a209_0x2c24();let _0x1bef5e=_0x2c24d1[_0x424bcc];return _0x1bef5e;}function a209_0x2c24(){const _0x14367b=['createHash','utf8','hex','4AOKUMC','9559284aJOhRJ','md5','digest','653404OagGxH','6842560FjdjEW','5mmxbqt','28813023WZxJdy','10rUXQWp','411815UyqacU','update','2842305UFxRAa','7066668EWYFkA'];a209_0x2c24=function(){return _0x14367b;};return a209_0x2c24();}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xa0c36b,_0x48e3e5){const _0x82c5c6=a210_0x1636,_0x1185b7=_0xa0c36b();while(!![]){try{const _0x346b40=-parseInt(_0x82c5c6(0xd4))/0x1*(parseInt(_0x82c5c6(0xd5))/0x2)+-parseInt(_0x82c5c6(0xd3))/0x3*(-parseInt(_0x82c5c6(0xcc))/0x4)+parseInt(_0x82c5c6(0xd7))/0x5+-parseInt(_0x82c5c6(0xcd))/0x6+parseInt(_0x82c5c6(0xce))/0x7+-parseInt(_0x82c5c6(0xd6))/0x8+-parseInt(_0x82c5c6(0xd0))/0x9*(-parseInt(_0x82c5c6(0xd1))/0xa);if(_0x346b40===_0x48e3e5)break;else _0x1185b7['push'](_0x1185b7['shift']());}catch(_0x17b77d){_0x1185b7['push'](_0x1185b7['shift']());}}}(a210_0x273a,0xd2333));import{mkdir,readFile,writeFile}from'node:fs/promises';function a210_0x1636(_0x4a819c,_0x48ca02){_0x4a819c=_0x4a819c-0xcc;const _0x273aa9=a210_0x273a();let _0x1636d8=_0x273aa9[_0x4a819c];return _0x1636d8;}import{dirname}from'node:path';export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x47038a,_0x3477ef){const _0x4961b4=a210_0x1636,_0x3575a9={'apps':_0x47038a[_0x4961b4(0xd2)]&&typeof _0x47038a[_0x4961b4(0xd2)]===_0x4961b4(0xd9)?_0x47038a[_0x4961b4(0xd2)]:{}};let _0x168174=_0x3575a9['apps'][_0x3477ef];if(!_0x168174)return _0x168174={'lastSync':'','pages':{}},_0x3575a9['apps'][_0x3477ef]=_0x168174,{'lockData':_0x3575a9,'appLock':_0x168174};return!_0x168174['lastSync']&&(_0x168174['lastSync']=''),(!_0x168174[_0x4961b4(0xcf)]||typeof _0x168174['pages']!=='object')&&(_0x168174[_0x4961b4(0xcf)]={}),{'lockData':_0x3575a9,'appLock':_0x168174};}function a210_0x273a(){const _0xdc46f9=['4silozk','628698nlWzmE','4286499Cdgfoa','pages','1458819AlTDFu','10VyyYFA','apps','4983705WJnueF','1604419MQyGYT','2oNysKN','4333840RJyFxH','3381140NtMNdK','utf8','object'];a210_0x273a=function(){return _0xdc46f9;};return a210_0x273a();}export async function readPageLockFile(_0x1eaa13){const _0x5acee4=a210_0x1636;try{const _0xaef8af=await readFile(_0x1eaa13,'utf8'),_0x35d60c=JSON['parse'](_0xaef8af);return{'apps':_0x35d60c[_0x5acee4(0xd2)]&&typeof _0x35d60c['apps']==='object'?_0x35d60c[_0x5acee4(0xd2)]:{}};}catch(_0x3e6954){if(_0x3e6954['code']==='ENOENT')return null;throw new Error('Failed\x20to\x20read\x20page\x20lock\x20file:\x20'+String(_0x3e6954));}}export async function writePageLockFile(_0x33ba4c,_0x5f15a1){const _0x1ca88f=a210_0x1636;await mkdir(dirname(_0x33ba4c),{'recursive':!![]}),await writeFile(_0x33ba4c,JSON['stringify'](_0x5f15a1,null,0x2),_0x1ca88f(0xd8));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x455f3a,_0x3f2eed){const _0x4f0123=a212_0x2e05,_0x1ff2d1=_0x455f3a();while(!![]){try{const _0x3c949e=-parseInt(_0x4f0123(0xa3))/0x1+-parseInt(_0x4f0123(0xb6))/0x2+-parseInt(_0x4f0123(0xa4))/0x3*(parseInt(_0x4f0123(0xa9))/0x4)+parseInt(_0x4f0123(0xbf))/0x5+-parseInt(_0x4f0123(0xdc))/0x6+-parseInt(_0x4f0123(0xad))/0x7+parseInt(_0x4f0123(0xab))/0x8;if(_0x3c949e===_0x3f2eed)break;else _0x1ff2d1['push'](_0x1ff2d1['shift']());}catch(_0x164e07){_0x1ff2d1['push'](_0x1ff2d1['shift']());}}}(a212_0x22eb,0x33221));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';function a212_0x22eb(){const _0x21feba=['natural','__sq__','right','columns','unsupportedPredicate','sort','JOIN_PREDICATE_UNSUPPORTED','error','(?:^|[^\x5cw$])','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','has','tableName','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','2237280ndNtAP','index','length','indexes','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','unsupportedReason','MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','match','unknown','matchAll','matchedPrefix','\x5cs*\x5c.\x5cs*[\x5cw$]+','split','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','some','indexOf','236967CgakEz','9vLveSW','INNER','test','unavailable','from','258492CvYIhI','\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.','11138640rfEWUm','filter','2075101conhxj','exec','trim','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','using','endsWith','slice','\x5c$&','toUpperCase','195578YQuidS','cross','push','replaceAll','includes','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','metadataAvailable','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','max','75295vEyFHU','replace','join','min','inner','JOIN_INDEX_MISSING','full','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','alias','map','containsUnresolvedInclude','reduce','search','table','left'];a212_0x22eb=function(){return _0x21feba;};return a212_0x22eb();}export function auditSqlJoinIndexes(_0x533685,_0x1fbfeb){const _0x17a38c=a212_0x2e05,_0x27594b=[],_0x164e81=normalizeSqlForStaticAnalysis(_0x533685),_0x245b05=(_0x164e81[_0x17a38c(0xd5)]?[]:extractJoinFacts(_0x164e81['sql']))[_0x17a38c(0xc8)](_0x2a59b9=>{const _0x3125e3=_0x17a38c;if(_0x2a59b9[_0x3125e3(0xd2)]||_0x2a59b9['columns'][_0x3125e3(0xde)]===0x0)return _0x27594b[_0x3125e3(0xb8)]({'code':_0x3125e3(0xd4),'table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'reason':_0x2a59b9[_0x3125e3(0xe1)]??_0x3125e3(0xa0)}),{'table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'status':'unavailable'};const _0x38a827=resolveTableMetadata(_0x1fbfeb,_0x2a59b9[_0x3125e3(0xcc)]),_0x566a49=(_0x38a827?.[_0x3125e3(0xdf)]??[])[_0x3125e3(0xc8)](_0x364548=>({'index':_0x364548,'matchedPrefix':findEqualityPrefix(_0x364548[_0x3125e3(0xd1)],_0x2a59b9[_0x3125e3(0xd1)])}))['filter'](_0x5c6ad7=>_0x5c6ad7['matchedPrefix'][_0x3125e3(0xde)]>0x0),_0x222b0e=_0x566a49[_0x3125e3(0xca)]((_0xafdce8,_0x365b28)=>!_0xafdce8||_0x365b28[_0x3125e3(0xe6)]['length']>_0xafdce8[_0x3125e3(0xe6)][_0x3125e3(0xde)]?_0x365b28:_0xafdce8,_0x566a49[0x0]);if(_0x222b0e)return{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9['columns'],'status':'covered','matchedIndex':{..._0x222b0e['index'],'matchedPrefix':_0x222b0e['matchedPrefix']}};const _0x4e1b24=_0x38a827?.[_0x3125e3(0xdf)][_0x3125e3(0xac)](_0x482250=>_0x482250[_0x3125e3(0xd1)][_0x3125e3(0xa1)](_0x13b215=>_0x2a59b9[_0x3125e3(0xd1)][_0x3125e3(0xa1)](_0xf59ac8=>columnNamesMatch(_0x13b215,_0xf59ac8))))??[];if(_0x4e1b24[_0x3125e3(0xde)]>0x0)return _0x27594b[_0x3125e3(0xb8)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'reason':_0x3125e3(0xe0)}),{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'status':'warning','candidateIndexes':_0x4e1b24};if(_0x38a827&&_0x38a827[_0x3125e3(0xbc)]!==![]&&_0x38a827[_0x3125e3(0xdf)][_0x3125e3(0xde)]>0x0&&_0x2a59b9[_0x3125e3(0xd1)]['length']>0x0)return _0x27594b[_0x3125e3(0xb8)]({'code':_0x3125e3(0xc4),'table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9['columns'],'reason':_0x3125e3(0xd8)}),{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9['alias'],'columns':_0x2a59b9['columns'],'status':'warning'};return _0x27594b[_0x3125e3(0xb8)]({'code':'INDEX_METADATA_UNAVAILABLE','table':_0x2a59b9['table'],'alias':_0x2a59b9[_0x3125e3(0xc7)],'columns':_0x2a59b9[_0x3125e3(0xd1)],'reason':_0x38a827?'The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.':_0x3125e3(0xd7)}),{'table':_0x2a59b9[_0x3125e3(0xcc)],'alias':_0x2a59b9['alias'],'columns':_0x2a59b9[_0x3125e3(0xd1)],'status':_0x3125e3(0xa7)};});return{'checked':_0x245b05['length']>0x0,'joins':_0x245b05,'warnings':_0x27594b};}function extractJoinFacts(_0x1552a7){const _0x18a590=a212_0x2e05,_0x9d0a91=maskNestedQueries(stripSqlNoise(_0x1552a7)),_0x39ed03=maskQuotedIdentifiers(_0x9d0a91),_0x35c3f3=[],_0x5264e6=new Set(),_0x5a7ef5=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x16ff85 of _0x9d0a91[_0x18a590(0xe5)](_0x5a7ef5)){const _0x805b1a=_0x16ff85[_0x18a590(0xdd)]??0x0,_0x36fbae=_0x16ff85[0x0][_0x18a590(0xcb)](/\bJOIN\b/i),_0x211e28=_0x805b1a+Math[_0x18a590(0xbe)](0x0,_0x36fbae);if(!/^JOIN\b/i[_0x18a590(0xa6)](_0x39ed03['slice'](_0x211e28)))continue;_0x5264e6['add'](_0x211e28);const _0x369963=normalizeIdentifier(_0x16ff85[0x1]||_0x18a590(0xa5)),_0x10ad25=normalizeIdentifier(_0x16ff85[0x2]??''),_0x2aff87=normalizeIdentifier(_0x16ff85[0x3]||_0x10ad25[_0x18a590(0x9f)]('.')['at'](-0x1)||_0x10ad25),_0x2af8d1=[],_0x153e6a=_0x10ad25===_0x18a590(0xcf);let _0x5d1bf5=_0x369963===_0x18a590(0xd0)||_0x369963===_0x18a590(0xc5)||_0x153e6a,_0x2d7089=_0x5d1bf5?_0x153e6a?_0x18a590(0xbb):_0x369963['toUpperCase']()+_0x18a590(0xaa):undefined;const _0x4ee6e7=stripOuterParentheses(_0x16ff85[0x4]??''),_0x343043=_0x4ee6e7[_0x18a590(0xba)](MYBATIS_DYNAMIC_START_MARKER)||_0x4ee6e7[_0x18a590(0xba)](MYBATIS_DYNAMIC_END_MARKER),_0x11b3f2=_0x4ee6e7[_0x18a590(0xba)](MYBATIS_INCLUDE_MARKER);_0x343043&&(_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xbd));_0x11b3f2&&(_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xc6));const _0x1ad728=_0x4ee6e7[_0x18a590(0xb9)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x18a590(0xb9)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x18a590(0xb9)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x1ad728,'OR')&&(_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xb0));for(const _0x318a60 of splitTopLevelAnd(_0x1ad728)){const _0x120edf=stripOuterParentheses(_0x318a60);if(hasTopLevelKeyword(_0x120edf,'OR')){_0x5d1bf5=!![],_0x2d7089??=_0x18a590(0xb0);continue;}const _0x581df0=splitEquality(_0x120edf);if(!_0x581df0){containsColumnReference(_0x318a60,_0x2aff87)&&(_0x5d1bf5=!![]);continue;}const _0x3f2721=parseDirectColumnReference(_0x581df0[0x0],_0x2aff87),_0x2d0a21=parseDirectColumnReference(_0x581df0[0x1],_0x2aff87),_0x418c81=containsColumnReference(_0x581df0[0x0],_0x2aff87),_0x18b94d=containsColumnReference(_0x581df0[0x1],_0x2aff87),_0x255118=_0x3f2721&&!_0x18b94d?_0x3f2721:_0x2d0a21&&!_0x418c81?_0x2d0a21:null;if(_0x255118&&!_0x2af8d1[_0x18a590(0xba)](_0x255118))_0x2af8d1['push'](_0x255118);else!_0x255118&&containsColumnReference(_0x318a60,_0x2aff87)&&(_0x5d1bf5=!![]);}_0x35c3f3[_0x18a590(0xb8)]({'table':_0x10ad25,'alias':_0x2aff87,'columns':_0x2af8d1,'unsupportedPredicate':_0x5d1bf5,'unsupportedReason':_0x2d7089,'containsUnresolvedInclude':_0x11b3f2,'position':_0x211e28});}for(const _0x2c4b60 of _0x39ed03[_0x18a590(0xe5)](/\bJOIN\b/gi)){const _0x58aec6=_0x2c4b60['index']??0x0;if(_0x5264e6[_0x18a590(0xd9)](_0x58aec6))continue;const _0x300e5c=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/['exec'](_0x9d0a91[_0x18a590(0xb3)](_0x58aec6+_0x2c4b60[0x0][_0x18a590(0xde)])),_0x55829b=normalizeIdentifier(_0x300e5c?.[0x1]||_0x18a590(0xe4)),_0x25eb50=normalizeIdentifier(_0x300e5c?.[0x2]||''),_0x44aa97=isSqlClauseKeyword(_0x25eb50)?_0x55829b[_0x18a590(0x9f)]('.')['at'](-0x1)||_0x55829b:_0x25eb50||_0x55829b[_0x18a590(0x9f)]('.')['at'](-0x1)||_0x55829b;_0x35c3f3[_0x18a590(0xb8)]({'table':_0x55829b,'alias':_0x44aa97,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x18a590(0xdb),'position':_0x58aec6});}const _0x5f159f=_0x39ed03[_0x18a590(0xa2)](MYBATIS_INCLUDE_MARKER);return _0x5f159f>=0x0&&!_0x35c3f3[_0x18a590(0xa1)](_0xe8dfbf=>_0xe8dfbf[_0x18a590(0xc9)])&&_0x35c3f3[_0x18a590(0xb8)]({'table':_0x18a590(0xe4),'alias':'unknown','columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x18a590(0xe2),'containsUnresolvedInclude':!![],'position':_0x5f159f}),_0x35c3f3[_0x18a590(0xd3)]((_0x5a6f0e,_0xeb36d6)=>_0x5a6f0e['position']-_0xeb36d6['position']);}function stripSqlNoise(_0x2c7226){const _0x23322d=a212_0x2e05,_0x29d7bb=Array['from'](_0x2c7226),_0x500c9a=(_0x461710,_0x58ce8f)=>{for(let _0x7222ce=_0x461710;_0x7222ce<_0x58ce8f;_0x7222ce+=0x1){_0x29d7bb[_0x7222ce]!=='\x0a'&&_0x29d7bb[_0x7222ce]!=='\x0d'&&(_0x29d7bb[_0x7222ce]='\x20');}};for(let _0x96b18f=0x0;_0x96b18f<_0x29d7bb['length'];_0x96b18f+=0x1){const _0xe46fa7=_0x29d7bb[_0x96b18f],_0x4623a5=_0x29d7bb[_0x96b18f+0x1];if(_0xe46fa7==='\x27'||_0xe46fa7==='\x22'||_0xe46fa7==='`'){const _0x4eb04a=_0xe46fa7,_0x5090fe=_0x96b18f;_0x96b18f+=0x1;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]){if(_0x29d7bb[_0x96b18f]==='\x5c'&&_0x96b18f+0x1<_0x29d7bb[_0x23322d(0xde)]){_0x96b18f+=0x2;continue;}if(_0x29d7bb[_0x96b18f]!==_0x4eb04a){_0x96b18f+=0x1;continue;}if(_0x29d7bb[_0x96b18f+0x1]===_0x4eb04a){_0x96b18f+=0x2;continue;}break;}if(_0x4eb04a==='\x27')_0x500c9a(_0x5090fe,Math['min'](_0x96b18f+0x1,_0x29d7bb[_0x23322d(0xde)]));continue;}if(_0xe46fa7==='-'&&_0x4623a5==='-'){const _0x5b17d4=_0x96b18f;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]&&_0x29d7bb[_0x96b18f]!=='\x0a')_0x96b18f+=0x1;_0x500c9a(_0x5b17d4,_0x96b18f);continue;}if(_0xe46fa7==='/'&&_0x4623a5==='*'){const _0x520cb0=_0x96b18f;_0x96b18f+=0x2;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]&&!(_0x29d7bb[_0x96b18f]==='*'&&_0x29d7bb[_0x96b18f+0x1]==='/')){_0x96b18f+=0x1;}_0x96b18f=Math['min'](_0x96b18f+0x1,_0x29d7bb['length']-0x1),_0x500c9a(_0x520cb0,_0x96b18f+0x1);continue;}if(_0xe46fa7==='#'&&_0x4623a5!=='{'){const _0xd1975d=_0x96b18f;while(_0x96b18f<_0x29d7bb[_0x23322d(0xde)]&&_0x29d7bb[_0x96b18f]!=='\x0a')_0x96b18f+=0x1;_0x500c9a(_0xd1975d,_0x96b18f);continue;}if((_0xe46fa7==='#'||_0xe46fa7==='$')&&_0x4623a5==='{'){const _0x3a7c8b=_0x96b18f;_0x96b18f+=0x2;while(_0x96b18f<_0x29d7bb['length']&&_0x29d7bb[_0x96b18f]!=='}')_0x96b18f+=0x1;_0x500c9a(_0x3a7c8b,Math[_0x23322d(0xc2)](_0x96b18f+0x1,_0x29d7bb['length']));}}return _0x29d7bb[_0x23322d(0xc1)]('');}function maskQuotedIdentifiers(_0x3b1dfc){const _0x19d267=a212_0x2e05,_0x31934a=Array[_0x19d267(0xa8)](_0x3b1dfc);for(let _0x1124e7=0x0;_0x1124e7<_0x31934a[_0x19d267(0xde)];_0x1124e7+=0x1){const _0xa12c15=_0x31934a[_0x1124e7];if(_0xa12c15!=='\x22'&&_0xa12c15!=='`')continue;_0x1124e7+=0x1;while(_0x1124e7<_0x31934a[_0x19d267(0xde)]){if(_0x31934a[_0x1124e7]===_0xa12c15){if(_0x31934a[_0x1124e7+0x1]===_0xa12c15){_0x31934a[_0x1124e7]='\x20',_0x31934a[_0x1124e7+0x1]='\x20',_0x1124e7+=0x2;continue;}break;}_0x31934a[_0x1124e7]='\x20',_0x1124e7+=0x1;}}return _0x31934a[_0x19d267(0xc1)]('');}function maskNestedQueries(_0x38e866){const _0x51b852=a212_0x2e05,_0xb424b1=Array[_0x51b852(0xa8)](_0x38e866);for(let _0x323d6b=0x0;_0x323d6b<_0xb424b1[_0x51b852(0xde)];_0x323d6b+=0x1){if(_0xb424b1[_0x323d6b]!=='(')continue;const _0x244644=_0x38e866[_0x51b852(0xb3)](_0x323d6b+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x51b852(0xa6)](_0x244644))continue;let _0x130ff1=0x1,_0x1ff93b=_0x323d6b+0x1;for(;_0x1ff93b<_0xb424b1[_0x51b852(0xde)]&&_0x130ff1>0x0;_0x1ff93b+=0x1){if(_0xb424b1[_0x1ff93b]==='(')_0x130ff1+=0x1;if(_0xb424b1[_0x1ff93b]===')')_0x130ff1-=0x1;}if(_0x130ff1!==0x0)continue;for(let _0x3652c6=_0x323d6b;_0x3652c6<_0x1ff93b;_0x3652c6+=0x1){_0xb424b1[_0x3652c6]='\x20';}const _0x311673=_0x51b852(0xcf);for(let _0x4dfe9e=0x0;_0x4dfe9e<_0x311673['length']&&_0x323d6b+_0x4dfe9e<_0x1ff93b;_0x4dfe9e+=0x1){_0xb424b1[_0x323d6b+_0x4dfe9e]=_0x311673[_0x4dfe9e];}_0x323d6b=_0x1ff93b-0x1;}return _0xb424b1[_0x51b852(0xc1)]('');}function splitTopLevelAnd(_0x4ab032){const _0xa047da=a212_0x2e05,_0x26ca48=[];let _0x23bb2e=0x0,_0x1aa82b=0x0;for(let _0x1e3255=0x0;_0x1e3255<_0x4ab032['length'];_0x1e3255+=0x1){const _0x2bec56=_0x4ab032[_0x1e3255];if(_0x2bec56==='(')_0x23bb2e+=0x1;if(_0x2bec56===')')_0x23bb2e=Math['max'](0x0,_0x23bb2e-0x1);_0x23bb2e===0x0&&_0x4ab032[_0xa047da(0xb3)](_0x1e3255)[_0xa047da(0xe3)](/^AND\b/i)&&(_0x1e3255===0x0||/\s/[_0xa047da(0xa6)](_0x4ab032[_0x1e3255-0x1]??''))&&(_0x26ca48['push'](_0x4ab032[_0xa047da(0xb3)](_0x1aa82b,_0x1e3255)[_0xa047da(0xaf)]()),_0x1e3255+=0x2,_0x1aa82b=_0x1e3255+0x1);}const _0x26e03b=_0x4ab032['slice'](_0x1aa82b)['trim']();if(_0x26e03b)_0x26ca48[_0xa047da(0xb8)](_0x26e03b);return _0x26ca48;}function hasTopLevelKeyword(_0x2cadae,_0x581365){const _0xd4ef8b=a212_0x2e05;let _0x5ece25=0x0;for(let _0x5b393e=0x0;_0x5b393e<_0x2cadae['length'];_0x5b393e+=0x1){const _0x5b39fd=_0x2cadae[_0x5b393e];if(_0x5b39fd==='(')_0x5ece25+=0x1;if(_0x5b39fd===')')_0x5ece25=Math[_0xd4ef8b(0xbe)](0x0,_0x5ece25-0x1);if(_0x5ece25!==0x0)continue;const _0x1b9b89=_0x2cadae[_0xd4ef8b(0xb3)](_0x5b393e,_0x5b393e+_0x581365['length']),_0x534fa9=_0x2cadae[_0x5b393e-0x1]??'\x20',_0x292934=_0x2cadae[_0x5b393e+_0x581365['length']]??'\x20';if(_0x1b9b89[_0xd4ef8b(0xb5)]()===_0x581365[_0xd4ef8b(0xb5)]()&&!/[\w$]/[_0xd4ef8b(0xa6)](_0x534fa9)&&!/[\w$]/['test'](_0x292934))return!![];}return![];}function splitEquality(_0x45afd7){const _0x3c3b11=a212_0x2e05,_0x58b2e0=stripOuterParentheses(_0x45afd7);let _0x2097e9=0x0,_0x6d7b5c;for(let _0x521afc=0x0;_0x521afc<_0x58b2e0[_0x3c3b11(0xde)];_0x521afc+=0x1){const _0x1bdd93=_0x58b2e0[_0x521afc];if(_0x1bdd93==='(')_0x2097e9+=0x1;if(_0x1bdd93===')')_0x2097e9=Math[_0x3c3b11(0xbe)](0x0,_0x2097e9-0x1);const _0x1cf70b=_0x58b2e0[_0x521afc-0x1]??'',_0x2eae5c=_0x58b2e0[_0x521afc+0x1]??'';if(_0x1bdd93==='='&&_0x2097e9===0x0&&!/[!<>=:]/[_0x3c3b11(0xa6)](_0x1cf70b)&&_0x2eae5c!=='='){if(_0x6d7b5c!==undefined)return null;_0x6d7b5c=_0x521afc;}}return _0x6d7b5c===undefined?null:[_0x58b2e0[_0x3c3b11(0xb3)](0x0,_0x6d7b5c)[_0x3c3b11(0xaf)](),_0x58b2e0[_0x3c3b11(0xb3)](_0x6d7b5c+0x1)[_0x3c3b11(0xaf)]()];}function parseDirectColumnReference(_0x2643f4,_0x497390){const _0x3d8c63=a212_0x2e05,_0x3109fc=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x3d8c63(0xae)](stripOuterParentheses(_0x2643f4));if(!_0x3109fc)return null;if(normalizeIdentifier(_0x3109fc[0x1]??'')!==normalizeIdentifier(_0x497390))return null;return normalizeIdentifier(_0x3109fc[0x2]??'');}function containsColumnReference(_0x3475a8,_0x2e2dc6){const _0x25a9d8=a212_0x2e05,_0xfe8faf=_0x3475a8['replace'](/[`"]/g,''),_0x345dfc=_0x2e2dc6[_0x25a9d8(0xc0)](/[.*+?^${}()|[\]\\]/g,_0x25a9d8(0xb4));return new RegExp(_0x25a9d8(0xd6)+_0x345dfc+_0x25a9d8(0x9e),'i')[_0x25a9d8(0xa6)](_0xfe8faf);}function findEqualityPrefix(_0x3ccda2,_0x466cb3){const _0x1d5f9c=a212_0x2e05,_0x6af3de=new Set(_0x466cb3[_0x1d5f9c(0xc8)](normalizeIdentifier)),_0x29aecb=[];for(const _0x2ec42e of _0x3ccda2){if(!_0x6af3de[_0x1d5f9c(0xd9)](normalizeIdentifier(_0x2ec42e)))break;_0x29aecb[_0x1d5f9c(0xb8)](_0x2ec42e);}return _0x29aecb;}function resolveTableMetadata(_0x32d5b3,_0x3c3e27){const _0x190a6c=a212_0x2e05,_0x1d2c1f=normalizeIdentifier(_0x3c3e27),_0x238c66=_0x32d5b3[_0x190a6c(0xac)](_0xc1b05c=>normalizeIdentifier(_0xc1b05c[_0x190a6c(0xda)])===_0x1d2c1f);if(_0x238c66['length']===0x1)return _0x238c66[0x0];const _0x4fe44c=_0x1d2c1f[_0x190a6c(0xba)]('.'),_0x490804=_0x1d2c1f[_0x190a6c(0x9f)]('.')['at'](-0x1),_0x24d79a=_0x32d5b3['filter'](_0x1acd6e=>{const _0x8ff2e4=_0x190a6c,_0x112d5=normalizeIdentifier(_0x1acd6e[_0x8ff2e4(0xda)]);if(_0x4fe44c&&_0x112d5[_0x8ff2e4(0xba)]('.'))return![];return _0x112d5['split']('.')['at'](-0x1)===_0x490804;});return _0x24d79a['length']===0x1?_0x24d79a[0x0]:undefined;}function columnNamesMatch(_0x25e2f0,_0x34308d){return normalizeIdentifier(_0x25e2f0)===normalizeIdentifier(_0x34308d);}function a212_0x2e05(_0x2b57cc,_0x50d270){_0x2b57cc=_0x2b57cc-0x9e;const _0x22eb9a=a212_0x22eb();let _0x2e0515=_0x22eb9a[_0x2b57cc];return _0x2e0515;}function normalizeIdentifier(_0x155254){const _0x596619=a212_0x2e05;return _0x155254[_0x596619(0xc0)](/[`"]/g,'')[_0x596619(0xaf)]()['toLowerCase']();}function isSqlClauseKeyword(_0x16da86){const _0x432cd9=a212_0x2e05;return new Set(['on',_0x432cd9(0xb1),'where',_0x432cd9(0xc1),_0x432cd9(0xc3),_0x432cd9(0xcd),'right',_0x432cd9(0xc5),_0x432cd9(0xb7),_0x432cd9(0xce)])['has'](_0x16da86);}function stripOuterParentheses(_0x3a0687){const _0x171138=a212_0x2e05;let _0x2ea37e=_0x3a0687[_0x171138(0xaf)]();while(_0x2ea37e['startsWith']('(')&&_0x2ea37e[_0x171138(0xb2)](')')){let _0x5dc514=0x0,_0x6aa703=!![];for(let _0x419571=0x0;_0x419571<_0x2ea37e['length'];_0x419571+=0x1){if(_0x2ea37e[_0x419571]==='(')_0x5dc514+=0x1;if(_0x2ea37e[_0x419571]===')')_0x5dc514-=0x1;if(_0x5dc514===0x0&&_0x419571<_0x2ea37e['length']-0x1){_0x6aa703=![];break;}}if(!_0x6aa703||_0x5dc514!==0x0)break;_0x2ea37e=_0x2ea37e[_0x171138(0xb3)](0x1,-0x1)[_0x171138(0xaf)]();}return _0x2ea37e;}
|
|
1
|
+
(function(_0x33d84a,_0x130e7f){const _0x982f92=a212_0x5a84,_0x402841=_0x33d84a();while(!![]){try{const _0x55ddfa=parseInt(_0x982f92(0xfd))/0x1+-parseInt(_0x982f92(0xf0))/0x2*(parseInt(_0x982f92(0xd3))/0x3)+-parseInt(_0x982f92(0xde))/0x4*(parseInt(_0x982f92(0xc8))/0x5)+-parseInt(_0x982f92(0xd5))/0x6*(parseInt(_0x982f92(0xc1))/0x7)+-parseInt(_0x982f92(0xda))/0x8+-parseInt(_0x982f92(0xcd))/0x9+parseInt(_0x982f92(0xf2))/0xa;if(_0x55ddfa===_0x130e7f)break;else _0x402841['push'](_0x402841['shift']());}catch(_0x148958){_0x402841['push'](_0x402841['shift']());}}}(a212_0x534c,0x818eb));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';function a212_0x534c(){const _0x38cbdf=['where','containsUnresolvedInclude','unknown','join','warning','\x5cs*\x5c.\x5cs*[\x5cw$]+','matchAll','327426pWkRKj','INDEX_METADATA_UNAVAILABLE','some','search','JOIN_PREDICATE_UNSUPPORTED','\x5c$&','alias','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','length','test','includes','has','Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.','JOIN_INDEX_NOT_USABLE','6433DGxsKz','toUpperCase','toLowerCase','columns','replace','max','full','382165BcEiwP','metadataAvailable','min','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','INNER','5458734owofTm','index','right','JOIN_INDEX_MISSING','tableName','trim','476001OSlDHN','sql','1278ZvCNMr','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','add','from','unavailable','4877648HRmvcQ','table','__sq__','indexOf','4ySgLFM','replaceAll','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','push','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.','left','matchedPrefix','startsWith','filter','map','using','slice','position','endsWith','error','split','4dGGnYX','indexes','20089870auILuE','(?:^|[^\x5cw$])','inner','exec'];a212_0x534c=function(){return _0x38cbdf;};return a212_0x534c();}export function auditSqlJoinIndexes(_0x74516c,_0x584d0d){const _0x2f2693=a212_0x5a84,_0x3e6cd1=[],_0x39b40d=normalizeSqlForStaticAnalysis(_0x74516c),_0x550015=(_0x39b40d[_0x2f2693(0xee)]?[]:extractJoinFacts(_0x39b40d[_0x2f2693(0xd4)]))['map'](_0x447596=>{const _0x56c9dc=_0x2f2693;if(_0x447596['unsupportedPredicate']||_0x447596[_0x56c9dc(0xc4)]['length']===0x0)return _0x3e6cd1['push']({'code':_0x56c9dc(0xb7),'table':_0x447596['table'],'alias':_0x447596[_0x56c9dc(0xb9)],'columns':_0x447596['columns'],'reason':_0x447596['unsupportedReason']??_0x56c9dc(0xe0)}),{'table':_0x447596['table'],'alias':_0x447596[_0x56c9dc(0xb9)],'columns':_0x447596[_0x56c9dc(0xc4)],'status':'unavailable'};const _0x46cbaf=resolveTableMetadata(_0x584d0d,_0x447596['table']),_0x501764=(_0x46cbaf?.[_0x56c9dc(0xf1)]??[])[_0x56c9dc(0xe9)](_0x38a0f7=>({'index':_0x38a0f7,'matchedPrefix':findEqualityPrefix(_0x38a0f7['columns'],_0x447596[_0x56c9dc(0xc4)])}))['filter'](_0x376240=>_0x376240['matchedPrefix'][_0x56c9dc(0xbb)]>0x0),_0x516826=_0x501764['reduce']((_0x51cf79,_0x253f2f)=>!_0x51cf79||_0x253f2f[_0x56c9dc(0xe6)]['length']>_0x51cf79[_0x56c9dc(0xe6)]['length']?_0x253f2f:_0x51cf79,_0x501764[0x0]);if(_0x516826)return{'table':_0x447596[_0x56c9dc(0xdb)],'alias':_0x447596[_0x56c9dc(0xb9)],'columns':_0x447596[_0x56c9dc(0xc4)],'status':'covered','matchedIndex':{..._0x516826[_0x56c9dc(0xce)],'matchedPrefix':_0x516826[_0x56c9dc(0xe6)]}};const _0x1d7146=_0x46cbaf?.[_0x56c9dc(0xf1)][_0x56c9dc(0xe8)](_0x4d9378=>_0x4d9378[_0x56c9dc(0xc4)][_0x56c9dc(0xff)](_0x409682=>_0x447596[_0x56c9dc(0xc4)]['some'](_0x32dfc4=>columnNamesMatch(_0x409682,_0x32dfc4))))??[];if(_0x1d7146['length']>0x0)return _0x3e6cd1['push']({'code':_0x56c9dc(0xc0),'table':_0x447596[_0x56c9dc(0xdb)],'alias':_0x447596[_0x56c9dc(0xb9)],'columns':_0x447596['columns'],'reason':_0x56c9dc(0xd6)}),{'table':_0x447596[_0x56c9dc(0xdb)],'alias':_0x447596[_0x56c9dc(0xb9)],'columns':_0x447596[_0x56c9dc(0xc4)],'status':_0x56c9dc(0xfa),'candidateIndexes':_0x1d7146};if(_0x46cbaf&&_0x46cbaf[_0x56c9dc(0xc9)]!==![]&&_0x46cbaf['indexes'][_0x56c9dc(0xbb)]>0x0&&_0x447596[_0x56c9dc(0xc4)][_0x56c9dc(0xbb)]>0x0)return _0x3e6cd1[_0x56c9dc(0xe1)]({'code':_0x56c9dc(0xd0),'table':_0x447596[_0x56c9dc(0xdb)],'alias':_0x447596[_0x56c9dc(0xb9)],'columns':_0x447596[_0x56c9dc(0xc4)],'reason':'No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.'}),{'table':_0x447596[_0x56c9dc(0xdb)],'alias':_0x447596['alias'],'columns':_0x447596[_0x56c9dc(0xc4)],'status':_0x56c9dc(0xfa)};return _0x3e6cd1[_0x56c9dc(0xe1)]({'code':_0x56c9dc(0xfe),'table':_0x447596[_0x56c9dc(0xdb)],'alias':_0x447596[_0x56c9dc(0xb9)],'columns':_0x447596[_0x56c9dc(0xc4)],'reason':_0x46cbaf?_0x56c9dc(0xe2):_0x56c9dc(0xe4)}),{'table':_0x447596['table'],'alias':_0x447596['alias'],'columns':_0x447596[_0x56c9dc(0xc4)],'status':_0x56c9dc(0xd9)};});return{'checked':_0x550015['length']>0x0,'joins':_0x550015,'warnings':_0x3e6cd1};}function extractJoinFacts(_0x3a1fe0){const _0x15e740=a212_0x5a84,_0x3f2790=maskNestedQueries(stripSqlNoise(_0x3a1fe0)),_0x3873b8=maskQuotedIdentifiers(_0x3f2790),_0x3f84c7=[],_0x4747c3=new Set(),_0x593992=/\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 _0x579cd9 of _0x3f2790['matchAll'](_0x593992)){const _0x5cb7bb=_0x579cd9[_0x15e740(0xce)]??0x0,_0x453f5e=_0x579cd9[0x0][_0x15e740(0x100)](/\bJOIN\b/i),_0x523bcd=_0x5cb7bb+Math[_0x15e740(0xc6)](0x0,_0x453f5e);if(!/^JOIN\b/i[_0x15e740(0xbc)](_0x3873b8[_0x15e740(0xeb)](_0x523bcd)))continue;_0x4747c3[_0x15e740(0xd7)](_0x523bcd);const _0xe06927=normalizeIdentifier(_0x579cd9[0x1]||_0x15e740(0xcc)),_0x19bcf6=normalizeIdentifier(_0x579cd9[0x2]??''),_0x230f84=normalizeIdentifier(_0x579cd9[0x3]||_0x19bcf6['split']('.')['at'](-0x1)||_0x19bcf6),_0x57e6f4=[],_0x2807c8=_0x19bcf6===_0x15e740(0xdc);let _0x486588=_0xe06927===_0x15e740(0xcf)||_0xe06927===_0x15e740(0xc7)||_0x2807c8,_0x2de099=_0x486588?_0x2807c8?_0x15e740(0xbf):_0xe06927['toUpperCase']()+'\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.':undefined;const _0x4193d3=stripOuterParentheses(_0x579cd9[0x4]??''),_0x1281d7=_0x4193d3[_0x15e740(0xbd)](MYBATIS_DYNAMIC_START_MARKER)||_0x4193d3[_0x15e740(0xbd)](MYBATIS_DYNAMIC_END_MARKER),_0x2db9c0=_0x4193d3[_0x15e740(0xbd)](MYBATIS_INCLUDE_MARKER);_0x1281d7&&(_0x486588=!![],_0x2de099??=_0x15e740(0xe3));_0x2db9c0&&(_0x486588=!![],_0x2de099??=_0x15e740(0xba));const _0x221582=_0x4193d3[_0x15e740(0xdf)](MYBATIS_DYNAMIC_START_MARKER,'\x20')['replaceAll'](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x15e740(0xdf)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x221582,'OR')&&(_0x486588=!![],_0x2de099??=_0x15e740(0xcb));for(const _0xfe6f0e of splitTopLevelAnd(_0x221582)){const _0x5f58f4=stripOuterParentheses(_0xfe6f0e);if(hasTopLevelKeyword(_0x5f58f4,'OR')){_0x486588=!![],_0x2de099??=_0x15e740(0xcb);continue;}const _0x50a4e7=splitEquality(_0x5f58f4);if(!_0x50a4e7){containsColumnReference(_0xfe6f0e,_0x230f84)&&(_0x486588=!![]);continue;}const _0x4dba71=parseDirectColumnReference(_0x50a4e7[0x0],_0x230f84),_0x4c0abf=parseDirectColumnReference(_0x50a4e7[0x1],_0x230f84),_0x3e261e=containsColumnReference(_0x50a4e7[0x0],_0x230f84),_0x1e3c78=containsColumnReference(_0x50a4e7[0x1],_0x230f84),_0xda9fc9=_0x4dba71&&!_0x1e3c78?_0x4dba71:_0x4c0abf&&!_0x3e261e?_0x4c0abf:null;if(_0xda9fc9&&!_0x57e6f4['includes'](_0xda9fc9))_0x57e6f4[_0x15e740(0xe1)](_0xda9fc9);else!_0xda9fc9&&containsColumnReference(_0xfe6f0e,_0x230f84)&&(_0x486588=!![]);}_0x3f84c7['push']({'table':_0x19bcf6,'alias':_0x230f84,'columns':_0x57e6f4,'unsupportedPredicate':_0x486588,'unsupportedReason':_0x2de099,'containsUnresolvedInclude':_0x2db9c0,'position':_0x523bcd});}for(const _0x463d75 of _0x3873b8[_0x15e740(0xfc)](/\bJOIN\b/gi)){const _0x3fb092=_0x463d75[_0x15e740(0xce)]??0x0;if(_0x4747c3[_0x15e740(0xbe)](_0x3fb092))continue;const _0x369ef9=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x15e740(0xf5)](_0x3f2790[_0x15e740(0xeb)](_0x3fb092+_0x463d75[0x0][_0x15e740(0xbb)])),_0x42ac59=normalizeIdentifier(_0x369ef9?.[0x1]||_0x15e740(0xf8)),_0x5e799f=normalizeIdentifier(_0x369ef9?.[0x2]||''),_0x4ba2ac=isSqlClauseKeyword(_0x5e799f)?_0x42ac59[_0x15e740(0xef)]('.')['at'](-0x1)||_0x42ac59:_0x5e799f||_0x42ac59['split']('.')['at'](-0x1)||_0x42ac59;_0x3f84c7['push']({'table':_0x42ac59,'alias':_0x4ba2ac,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','position':_0x3fb092});}const _0x47fd98=_0x3873b8[_0x15e740(0xdd)](MYBATIS_INCLUDE_MARKER);return _0x47fd98>=0x0&&!_0x3f84c7[_0x15e740(0xff)](_0x1db715=>_0x1db715[_0x15e740(0xf7)])&&_0x3f84c7[_0x15e740(0xe1)]({'table':'unknown','alias':_0x15e740(0xf8),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','containsUnresolvedInclude':!![],'position':_0x47fd98}),_0x3f84c7['sort']((_0x18d5c9,_0xd2290d)=>_0x18d5c9[_0x15e740(0xec)]-_0xd2290d[_0x15e740(0xec)]);}function stripSqlNoise(_0x4defb4){const _0x4b11ba=a212_0x5a84,_0x8c8914=Array[_0x4b11ba(0xd8)](_0x4defb4),_0x3bd45d=(_0x247848,_0x44e6b1)=>{for(let _0x41f070=_0x247848;_0x41f070<_0x44e6b1;_0x41f070+=0x1){_0x8c8914[_0x41f070]!=='\x0a'&&_0x8c8914[_0x41f070]!=='\x0d'&&(_0x8c8914[_0x41f070]='\x20');}};for(let _0x5371f3=0x0;_0x5371f3<_0x8c8914[_0x4b11ba(0xbb)];_0x5371f3+=0x1){const _0x2ebc32=_0x8c8914[_0x5371f3],_0x1c9acf=_0x8c8914[_0x5371f3+0x1];if(_0x2ebc32==='\x27'||_0x2ebc32==='\x22'||_0x2ebc32==='`'){const _0x21dd3c=_0x2ebc32,_0x317e73=_0x5371f3;_0x5371f3+=0x1;while(_0x5371f3<_0x8c8914[_0x4b11ba(0xbb)]){if(_0x8c8914[_0x5371f3]==='\x5c'&&_0x5371f3+0x1<_0x8c8914['length']){_0x5371f3+=0x2;continue;}if(_0x8c8914[_0x5371f3]!==_0x21dd3c){_0x5371f3+=0x1;continue;}if(_0x8c8914[_0x5371f3+0x1]===_0x21dd3c){_0x5371f3+=0x2;continue;}break;}if(_0x21dd3c==='\x27')_0x3bd45d(_0x317e73,Math['min'](_0x5371f3+0x1,_0x8c8914[_0x4b11ba(0xbb)]));continue;}if(_0x2ebc32==='-'&&_0x1c9acf==='-'){const _0x1332ee=_0x5371f3;while(_0x5371f3<_0x8c8914[_0x4b11ba(0xbb)]&&_0x8c8914[_0x5371f3]!=='\x0a')_0x5371f3+=0x1;_0x3bd45d(_0x1332ee,_0x5371f3);continue;}if(_0x2ebc32==='/'&&_0x1c9acf==='*'){const _0x365f83=_0x5371f3;_0x5371f3+=0x2;while(_0x5371f3<_0x8c8914['length']&&!(_0x8c8914[_0x5371f3]==='*'&&_0x8c8914[_0x5371f3+0x1]==='/')){_0x5371f3+=0x1;}_0x5371f3=Math['min'](_0x5371f3+0x1,_0x8c8914[_0x4b11ba(0xbb)]-0x1),_0x3bd45d(_0x365f83,_0x5371f3+0x1);continue;}if(_0x2ebc32==='#'&&_0x1c9acf!=='{'){const _0x2c271c=_0x5371f3;while(_0x5371f3<_0x8c8914[_0x4b11ba(0xbb)]&&_0x8c8914[_0x5371f3]!=='\x0a')_0x5371f3+=0x1;_0x3bd45d(_0x2c271c,_0x5371f3);continue;}if((_0x2ebc32==='#'||_0x2ebc32==='$')&&_0x1c9acf==='{'){const _0x25361a=_0x5371f3;_0x5371f3+=0x2;while(_0x5371f3<_0x8c8914[_0x4b11ba(0xbb)]&&_0x8c8914[_0x5371f3]!=='}')_0x5371f3+=0x1;_0x3bd45d(_0x25361a,Math[_0x4b11ba(0xca)](_0x5371f3+0x1,_0x8c8914[_0x4b11ba(0xbb)]));}}return _0x8c8914[_0x4b11ba(0xf9)]('');}function maskQuotedIdentifiers(_0x2a8457){const _0x5ab771=a212_0x5a84,_0x4cf538=Array['from'](_0x2a8457);for(let _0x1da362=0x0;_0x1da362<_0x4cf538['length'];_0x1da362+=0x1){const _0x1e8c58=_0x4cf538[_0x1da362];if(_0x1e8c58!=='\x22'&&_0x1e8c58!=='`')continue;_0x1da362+=0x1;while(_0x1da362<_0x4cf538[_0x5ab771(0xbb)]){if(_0x4cf538[_0x1da362]===_0x1e8c58){if(_0x4cf538[_0x1da362+0x1]===_0x1e8c58){_0x4cf538[_0x1da362]='\x20',_0x4cf538[_0x1da362+0x1]='\x20',_0x1da362+=0x2;continue;}break;}_0x4cf538[_0x1da362]='\x20',_0x1da362+=0x1;}}return _0x4cf538['join']('');}function maskNestedQueries(_0x263565){const _0x950a76=a212_0x5a84,_0x32522a=Array[_0x950a76(0xd8)](_0x263565);for(let _0x2c1400=0x0;_0x2c1400<_0x32522a[_0x950a76(0xbb)];_0x2c1400+=0x1){if(_0x32522a[_0x2c1400]!=='(')continue;const _0x1d5e99=_0x263565[_0x950a76(0xeb)](_0x2c1400+0x1);if(!/^\s*(?:SELECT|WITH)\b/i['test'](_0x1d5e99))continue;let _0x3b8e78=0x1,_0x2a1040=_0x2c1400+0x1;for(;_0x2a1040<_0x32522a[_0x950a76(0xbb)]&&_0x3b8e78>0x0;_0x2a1040+=0x1){if(_0x32522a[_0x2a1040]==='(')_0x3b8e78+=0x1;if(_0x32522a[_0x2a1040]===')')_0x3b8e78-=0x1;}if(_0x3b8e78!==0x0)continue;for(let _0x3d3ef1=_0x2c1400;_0x3d3ef1<_0x2a1040;_0x3d3ef1+=0x1){_0x32522a[_0x3d3ef1]='\x20';}const _0x44d7b8='__sq__';for(let _0x116c81=0x0;_0x116c81<_0x44d7b8[_0x950a76(0xbb)]&&_0x2c1400+_0x116c81<_0x2a1040;_0x116c81+=0x1){_0x32522a[_0x2c1400+_0x116c81]=_0x44d7b8[_0x116c81];}_0x2c1400=_0x2a1040-0x1;}return _0x32522a['join']('');}function splitTopLevelAnd(_0x1b3317){const _0xd8d9ac=a212_0x5a84,_0x557728=[];let _0x75bd4f=0x0,_0x22d6a5=0x0;for(let _0x4ccf2c=0x0;_0x4ccf2c<_0x1b3317[_0xd8d9ac(0xbb)];_0x4ccf2c+=0x1){const _0x48451a=_0x1b3317[_0x4ccf2c];if(_0x48451a==='(')_0x75bd4f+=0x1;if(_0x48451a===')')_0x75bd4f=Math[_0xd8d9ac(0xc6)](0x0,_0x75bd4f-0x1);_0x75bd4f===0x0&&_0x1b3317[_0xd8d9ac(0xeb)](_0x4ccf2c)['match'](/^AND\b/i)&&(_0x4ccf2c===0x0||/\s/['test'](_0x1b3317[_0x4ccf2c-0x1]??''))&&(_0x557728[_0xd8d9ac(0xe1)](_0x1b3317['slice'](_0x22d6a5,_0x4ccf2c)[_0xd8d9ac(0xd2)]()),_0x4ccf2c+=0x2,_0x22d6a5=_0x4ccf2c+0x1);}const _0x3a482e=_0x1b3317[_0xd8d9ac(0xeb)](_0x22d6a5)[_0xd8d9ac(0xd2)]();if(_0x3a482e)_0x557728[_0xd8d9ac(0xe1)](_0x3a482e);return _0x557728;}function hasTopLevelKeyword(_0x1f2fef,_0x5638de){const _0x40082e=a212_0x5a84;let _0x4a0cfd=0x0;for(let _0xcdf210=0x0;_0xcdf210<_0x1f2fef[_0x40082e(0xbb)];_0xcdf210+=0x1){const _0x46a69f=_0x1f2fef[_0xcdf210];if(_0x46a69f==='(')_0x4a0cfd+=0x1;if(_0x46a69f===')')_0x4a0cfd=Math['max'](0x0,_0x4a0cfd-0x1);if(_0x4a0cfd!==0x0)continue;const _0x3a8064=_0x1f2fef[_0x40082e(0xeb)](_0xcdf210,_0xcdf210+_0x5638de['length']),_0x191455=_0x1f2fef[_0xcdf210-0x1]??'\x20',_0x499449=_0x1f2fef[_0xcdf210+_0x5638de[_0x40082e(0xbb)]]??'\x20';if(_0x3a8064[_0x40082e(0xc2)]()===_0x5638de[_0x40082e(0xc2)]()&&!/[\w$]/['test'](_0x191455)&&!/[\w$]/[_0x40082e(0xbc)](_0x499449))return!![];}return![];}function a212_0x5a84(_0x567d15,_0x582340){_0x567d15=_0x567d15-0xb7;const _0x534cbf=a212_0x534c();let _0x5a8419=_0x534cbf[_0x567d15];return _0x5a8419;}function splitEquality(_0x42f684){const _0x1e0239=a212_0x5a84,_0x5c446d=stripOuterParentheses(_0x42f684);let _0x3ad657=0x0,_0x387b19;for(let _0x508ef4=0x0;_0x508ef4<_0x5c446d['length'];_0x508ef4+=0x1){const _0x36f9db=_0x5c446d[_0x508ef4];if(_0x36f9db==='(')_0x3ad657+=0x1;if(_0x36f9db===')')_0x3ad657=Math[_0x1e0239(0xc6)](0x0,_0x3ad657-0x1);const _0x5b615b=_0x5c446d[_0x508ef4-0x1]??'',_0x3e1aad=_0x5c446d[_0x508ef4+0x1]??'';if(_0x36f9db==='='&&_0x3ad657===0x0&&!/[!<>=:]/['test'](_0x5b615b)&&_0x3e1aad!=='='){if(_0x387b19!==undefined)return null;_0x387b19=_0x508ef4;}}return _0x387b19===undefined?null:[_0x5c446d[_0x1e0239(0xeb)](0x0,_0x387b19)['trim'](),_0x5c446d[_0x1e0239(0xeb)](_0x387b19+0x1)[_0x1e0239(0xd2)]()];}function parseDirectColumnReference(_0x783e25,_0x155edf){const _0x3cb44e=a212_0x5a84,_0x16290d=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/[_0x3cb44e(0xf5)](stripOuterParentheses(_0x783e25));if(!_0x16290d)return null;if(normalizeIdentifier(_0x16290d[0x1]??'')!==normalizeIdentifier(_0x155edf))return null;return normalizeIdentifier(_0x16290d[0x2]??'');}function containsColumnReference(_0x316c95,_0xcef8af){const _0x5c04db=a212_0x5a84,_0x11647e=_0x316c95[_0x5c04db(0xc5)](/[`"]/g,''),_0x1ac561=_0xcef8af[_0x5c04db(0xc5)](/[.*+?^${}()|[\]\\]/g,_0x5c04db(0xb8));return new RegExp(_0x5c04db(0xf3)+_0x1ac561+_0x5c04db(0xfb),'i')[_0x5c04db(0xbc)](_0x11647e);}function findEqualityPrefix(_0x2e54e4,_0x397f10){const _0x4cf3c1=a212_0x5a84,_0xd923b9=new Set(_0x397f10[_0x4cf3c1(0xe9)](normalizeIdentifier)),_0x1a0199=[];for(const _0x18154a of _0x2e54e4){if(!_0xd923b9[_0x4cf3c1(0xbe)](normalizeIdentifier(_0x18154a)))break;_0x1a0199[_0x4cf3c1(0xe1)](_0x18154a);}return _0x1a0199;}function resolveTableMetadata(_0x3378dc,_0x361512){const _0x296be5=a212_0x5a84,_0xabee7f=normalizeIdentifier(_0x361512),_0x395c56=_0x3378dc['filter'](_0x3ba301=>normalizeIdentifier(_0x3ba301[_0x296be5(0xd1)])===_0xabee7f);if(_0x395c56[_0x296be5(0xbb)]===0x1)return _0x395c56[0x0];const _0x4db7ae=_0xabee7f[_0x296be5(0xbd)]('.'),_0x35afa3=_0xabee7f[_0x296be5(0xef)]('.')['at'](-0x1),_0x196156=_0x3378dc['filter'](_0x54680f=>{const _0x557938=_0x296be5,_0x4aee57=normalizeIdentifier(_0x54680f[_0x557938(0xd1)]);if(_0x4db7ae&&_0x4aee57[_0x557938(0xbd)]('.'))return![];return _0x4aee57[_0x557938(0xef)]('.')['at'](-0x1)===_0x35afa3;});return _0x196156[_0x296be5(0xbb)]===0x1?_0x196156[0x0]:undefined;}function columnNamesMatch(_0x803e9d,_0xcada0e){return normalizeIdentifier(_0x803e9d)===normalizeIdentifier(_0xcada0e);}function normalizeIdentifier(_0x1e8f4a){const _0x304a1c=a212_0x5a84;return _0x1e8f4a[_0x304a1c(0xc5)](/[`"]/g,'')[_0x304a1c(0xd2)]()[_0x304a1c(0xc3)]();}function isSqlClauseKeyword(_0x19a57b){const _0x20fe93=a212_0x5a84;return new Set(['on',_0x20fe93(0xea),_0x20fe93(0xf6),_0x20fe93(0xf9),_0x20fe93(0xf4),_0x20fe93(0xe5),_0x20fe93(0xcf),'full','cross','natural'])[_0x20fe93(0xbe)](_0x19a57b);}function stripOuterParentheses(_0xffc6e8){const _0x5c1d18=a212_0x5a84;let _0x25b27b=_0xffc6e8[_0x5c1d18(0xd2)]();while(_0x25b27b[_0x5c1d18(0xe7)]('(')&&_0x25b27b[_0x5c1d18(0xed)](')')){let _0x4d387e=0x0,_0x2b6bd1=!![];for(let _0x58c188=0x0;_0x58c188<_0x25b27b[_0x5c1d18(0xbb)];_0x58c188+=0x1){if(_0x25b27b[_0x58c188]==='(')_0x4d387e+=0x1;if(_0x25b27b[_0x58c188]===')')_0x4d387e-=0x1;if(_0x4d387e===0x0&&_0x58c188<_0x25b27b['length']-0x1){_0x2b6bd1=![];break;}}if(!_0x2b6bd1||_0x4d387e!==0x0)break;_0x25b27b=_0x25b27b[_0x5c1d18(0xeb)](0x1,-0x1)['trim']();}return _0x25b27b;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a213_0x4a491a=a213_0x4848;(function(_0x3757d5,_0x555958){const _0x8762c1=a213_0x4848,_0x2dd580=_0x3757d5();while(!![]){try{const _0x1d8740=-parseInt(_0x8762c1(0x10c))/0x1+parseInt(_0x8762c1(0x113))/0x2+parseInt(_0x8762c1(0x115))/0x3*(-parseInt(_0x8762c1(0x111))/0x4)+-parseInt(_0x8762c1(0x10f))/0x5+parseInt(_0x8762c1(0x10d))/0x6*(parseInt(_0x8762c1(0x116))/0x7)+-parseInt(_0x8762c1(0x117))/0x8+parseInt(_0x8762c1(0x114))/0x9;if(_0x1d8740===_0x555958)break;else _0x2dd580['push'](_0x2dd580['shift']());}catch(_0x705f7){_0x2dd580['push'](_0x2dd580['shift']());}}}(a213_0x3651,0xc9a72));function a213_0x4848(_0x5edaee,_0x5b074e){_0x5edaee=_0x5edaee-0x10c;const _0x36518a=a213_0x3651();let _0x484877=_0x36518a[_0x5edaee];return _0x484877;}import{resolve}from'node:path';function a213_0x3651(){const _0x400d80=['28aPgaMG','sql-trash','223840taAagg','37181286PpuxsM','549255FfHSdQ','217ijrwyp','6989944irarzC','sql.lock.json','1193447BvROXc','28470rWHeRy','.rabetbase','1077570OtYbUa','/sql'];a213_0x3651=function(){return _0x400d80;};return a213_0x3651();}import{findProjectRootDirectory}from'../../context.js';const DOT_DIR=a213_0x4a491a(0x10e),LOCK_FILE_NAME=a213_0x4a491a(0x118),TRASH_DIR_NAME=a213_0x4a491a(0x112);export function loadSqlProjectConfig(_0x5aa5a6,_0x50e107){const _0x3d4d1c=a213_0x4a491a,_0x57ac06=resolve(_0x50e107??findProjectRootDirectory()),_0x12b880=DOT_DIR+_0x3d4d1c(0x110),_0xfe56df=_0x12b880+'/'+_0x5aa5a6;return{'projectRoot':_0x57ac06,'appCode':_0x5aa5a6,'sqlWorkspaceRoot':_0x12b880,'sqlRoot':_0xfe56df,'sqlRootDir':resolve(_0x57ac06,DOT_DIR,'sql',_0x5aa5a6),'lockFilePath':resolve(_0x57ac06,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x57ac06,DOT_DIR,TRASH_DIR_NAME)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a214_0x58b4(_0x137bba,_0x4e9e1a){_0x137bba=_0x137bba-0xed;const _0x9a070c=a214_0x9a07();let _0x58b465=_0x9a070c[_0x137bba];return _0x58b465;}(function(_0x4e5a09,_0x15d618){const _0x1dc46c=a214_0x58b4,_0x24ee66=_0x4e5a09();while(!![]){try{const _0x3e0ca2=parseInt(_0x1dc46c(0x102))/0x1*(-parseInt(_0x1dc46c(0xfd))/0x2)+parseInt(_0x1dc46c(0x109))/0x3+-parseInt(_0x1dc46c(0xf3))/0x4*(-parseInt(_0x1dc46c(0x106))/0x5)+-parseInt(_0x1dc46c(0xfb))/0x6*(-parseInt(_0x1dc46c(0xef))/0x7)+-parseInt(_0x1dc46c(0xf9))/0x8+parseInt(_0x1dc46c(0xf4))/0x9*(-parseInt(_0x1dc46c(0x105))/0xa)+-parseInt(_0x1dc46c(0x101))/0xb*(-parseInt(_0x1dc46c(0x107))/0xc);if(_0x3e0ca2===_0x15d618)break;else _0x24ee66['push'](_0x24ee66['shift']());}catch(_0x26d91a){_0x24ee66['push'](_0x24ee66['shift']());}}}(a214_0x9a07,0xf3299));import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function extensionToMode(_0x13631c){const _0x3acbf4=a214_0x58b4;if(_0x13631c==='.sql')return'sql';if(_0x13631c===_0x3acbf4(0xf1))return'mybatisXml';return undefined;}async function scanSqlFilesRecursively(_0x214150,_0x222b1c){const _0xab5315=a214_0x58b4,_0x3c89e1=[];try{const _0x20bf71=await readdir(_0x214150,{'withFileTypes':!![]});for(const _0x459358 of _0x20bf71){const _0x4fe501=join(_0x214150,_0x459358[_0xab5315(0xf2)]);if(_0x459358['isDirectory']()){_0x3c89e1[_0xab5315(0xed)](...await scanSqlFilesRecursively(_0x4fe501,_0x222b1c));continue;}if(!_0x459358['isFile']())continue;const _0x2de40b=extname(_0x459358[_0xab5315(0xf2)])[_0xab5315(0x108)](),_0x481bf8=extensionToMode(_0x2de40b);if(!_0x481bf8)continue;const _0x458e30=relative(_0x222b1c,_0x4fe501)[_0xab5315(0x10e)](/\\/g,'/'),_0x149ab3=_0x458e30[_0xab5315(0x10d)]('/')[_0xab5315(0x10c)](Boolean),_0x5711d0=parseSqlPath(_0x149ab3,_0x459358[_0xab5315(0xf2)],_0x2de40b);if(!_0x5711d0)continue;_0x3c89e1[_0xab5315(0xed)]({'sqlCode':_0x5711d0[_0xab5315(0x10b)],'sqlName':_0x5711d0[_0xab5315(0xf0)],'dbDirectory':_0x149ab3[0x0],'filePath':_0x4fe501,'relativePath':_0x458e30,'lockKey':_0x5711d0['sqlCode'],'mode':_0x481bf8});}}catch(_0x28139f){if(_0x28139f[_0xab5315(0xfe)]!==_0xab5315(0xf6))throw _0x28139f;}return _0x3c89e1;}export async function scanLocalSqlQueries(_0x5d60c8){const _0x40c443=a214_0x58b4;return scanSqlFilesRecursively(_0x5d60c8['sqlRootDir'],_0x5d60c8[_0x40c443(0x104)]);}export function resolveLocalSqlFilePath(_0x410868,_0x272c49,_0xf6701a){const _0x231129=a214_0x58b4,_0x5a7b36=_0xf6701a?.[_0x231129(0xfa)]||(_0xf6701a?.[_0x231129(0xf0)]||_0xf6701a?.[_0x231129(0xff)]?buildSqlRelativePath(_0x272c49,_0xf6701a?.[_0x231129(0xf0)],_0xf6701a?.[_0x231129(0xff)],_0xf6701a?.['mode']||_0x231129(0xf7),_0xf6701a?.[_0x231129(0xf5)]):buildDefaultSqlFileName(_0x272c49,_0xf6701a?.[_0x231129(0xfc)]||_0x231129(0xf7)));return join(_0x410868['sqlRootDir'],_0x5a7b36);}export async function directoryExists(_0x561771){const _0x8a5037=a214_0x58b4;try{const _0x579e6c=await stat(_0x561771);return _0x579e6c[_0x8a5037(0x103)]();}catch{return![];}}function parseSqlPath(_0x4fb1a5,_0x19d661,_0x48fa94){const _0x2f9ee9=a214_0x58b4,_0x38932c=_0x19d661[_0x2f9ee9(0xf8)](0x0,-_0x48fa94['length']);if(_0x4fb1a5['length']<0x2)return null;const _0x24ab92=_0x38932c[_0x2f9ee9(0xee)]('_');if(_0x24ab92<=0x0||_0x24ab92>=_0x38932c[_0x2f9ee9(0x10a)]-0x1)return null;const _0x32a4e7=_0x38932c['slice'](0x0,_0x24ab92);if(!isLikelySqlCode(_0x32a4e7))return null;return{'sqlCode':_0x32a4e7,'sqlName':_0x38932c[_0x2f9ee9(0xf8)](_0x24ab92+0x1)};}function a214_0x9a07(){const _0x58a02c=['sql','slice','10525680tMIrGb','path','9326736yRPGMv','mode','14gjeHOm','code','dbName','test','3254075NXvKko','241931KTGlFb','isDirectory','sqlRootDir','7656710lKSQIB','5CuRwCk','72mMVCbs','toLowerCase','4714092AxkOse','length','sqlCode','filter','split','replace','push','indexOf','7tlQkkY','sqlName','.xml','name','2543168LFKOoE','18mZQHgE','dbId','ENOENT'];a214_0x9a07=function(){return _0x58a02c;};return a214_0x9a07();}function isLikelySqlCode(_0x4bf955){const _0x1aff5a=a214_0x58b4;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x1aff5a(0x100)](_0x4bf955);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5bb7f3,_0x16f683){const _0xbfb8ff=a215_0x58c4,_0xc47ae5=_0x5bb7f3();while(!![]){try{const _0x2d6072=parseInt(_0xbfb8ff(0x1a5))/0x1+parseInt(_0xbfb8ff(0x1aa))/0x2+-parseInt(_0xbfb8ff(0x1ad))/0x3*(-parseInt(_0xbfb8ff(0x1a6))/0x4)+-parseInt(_0xbfb8ff(0x1a1))/0x5+parseInt(_0xbfb8ff(0x1a0))/0x6*(-parseInt(_0xbfb8ff(0x1ab))/0x7)+-parseInt(_0xbfb8ff(0x1a4))/0x8+parseInt(_0xbfb8ff(0x1a7))/0x9;if(_0x2d6072===_0x16f683)break;else _0xc47ae5['push'](_0xc47ae5['shift']());}catch(_0x4e2fba){_0xc47ae5['push'](_0xc47ae5['shift']());}}}(a215_0xdad2,0xa66c9));function a215_0xdad2(){const _0x3b5c3d=['81bLIrOA','5496rvuQTM','5801645HOMUVx','update','hex','2400664tUGrKT','1288481EmcSFy','160764bmdXwg','2353491UQTbEE','utf8','md5','1186648vPeLYw','8302tXbYuP','createHash'];a215_0xdad2=function(){return _0x3b5c3d;};return a215_0xdad2();}function a215_0x58c4(_0x2fe7fd,_0x3df4ac){_0x2fe7fd=_0x2fe7fd-0x1a0;const _0xdad2f5=a215_0xdad2();let _0x58c4cd=_0xdad2f5[_0x2fe7fd];return _0x58c4cd;}import{readFile}from'node:fs/promises';import a215_0x29776f from'node:crypto';export function computeSqlContentHash(_0x27298e){const _0x40e176=a215_0x58c4;return a215_0x29776f[_0x40e176(0x1ac)](_0x40e176(0x1a9))[_0x40e176(0x1a2)](_0x27298e)['digest'](_0x40e176(0x1a3));}export async function computeSqlFileHash(_0x9ab4d6){const _0x3e93b5=a215_0x58c4,_0x551ecc=await readFile(_0x9ab4d6,_0x3e93b5(0x1a8));return computeSqlContentHash(_0x551ecc);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1ce298,_0x511cc5){const _0x5330b5=a216_0x5668,_0x1f13a1=_0x1ce298();while(!![]){try{const _0x4abeb4=parseInt(_0x5330b5(0x132))/0x1+-parseInt(_0x5330b5(0x138))/0x2+-parseInt(_0x5330b5(0x134))/0x3*(parseInt(_0x5330b5(0x140))/0x4)+parseInt(_0x5330b5(0x136))/0x5*(parseInt(_0x5330b5(0x139))/0x6)+parseInt(_0x5330b5(0x13b))/0x7*(-parseInt(_0x5330b5(0x146))/0x8)+parseInt(_0x5330b5(0x145))/0x9*(-parseInt(_0x5330b5(0x137))/0xa)+parseInt(_0x5330b5(0x147))/0xb;if(_0x4abeb4===_0x511cc5)break;else _0x1f13a1['push'](_0x1f13a1['shift']());}catch(_0x250328){_0x1f13a1['push'](_0x1f13a1['shift']());}}}(a216_0x4969,0x6ddaf));function a216_0x5668(_0x3098ea,_0x477b8d){_0x3098ea=_0x3098ea-0x132;const _0x4969b4=a216_0x4969();let _0x566812=_0x4969b4[_0x3098ea];return _0x566812;}import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';function a216_0x4969(){const _0x5af64d=['1615400BDYaiR','1169240WEYFll','4800IioPaV','parse','8995VHrjZG','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20','ENOENT','sqls','lastSync','116392irTuqU','\x22.\x20','sqlRoot','Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','utf8','45lyTodj','688NOtYbr','19429344XgSxMR','106791cleWPY',':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22','3mJvpPp','apps','680IncRTZ'];a216_0x4969=function(){return _0x5af64d;};return a216_0x4969();}export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x207bf3,_0xd95c12,_0x1d2798,_0x1158cf){const _0x577662=a216_0x5668,_0x2b18f3=_0x207bf3??createEmptySqlLock();let _0x4ed0e4=_0x2b18f3[_0x577662(0x135)][_0xd95c12];if(!_0x4ed0e4)return _0x4ed0e4={'sqlRoot':_0x1d2798,'lastSync':'','sqls':{}},_0x2b18f3[_0x577662(0x135)][_0xd95c12]=_0x4ed0e4,{'lockData':_0x2b18f3,'appLock':_0x4ed0e4};if(!_0x4ed0e4[_0x577662(0x142)])_0x4ed0e4[_0x577662(0x142)]=_0x1d2798;else{if(_0x4ed0e4[_0x577662(0x142)]!==_0x1d2798)throw new Error(_0x1158cf+_0x577662(0x133)+_0x1d2798+'\x22\x20vs\x20lock\x20\x22'+_0x4ed0e4[_0x577662(0x142)]+_0x577662(0x141)+_0x577662(0x143));}return!_0x4ed0e4[_0x577662(0x13e)]&&(_0x4ed0e4['sqls']={}),!_0x4ed0e4[_0x577662(0x13f)]&&(_0x4ed0e4['lastSync']=''),{'lockData':_0x2b18f3,'appLock':_0x4ed0e4};}export async function readSqlLockFile(_0xe74f71){const _0x47e62d=a216_0x5668;try{const _0x150d9f=await readFile(_0xe74f71,'utf8');return JSON[_0x47e62d(0x13a)](_0x150d9f);}catch(_0x5cd76b){if(_0x5cd76b['code']===_0x47e62d(0x13d))return null;throw new Error(_0x47e62d(0x13c)+String(_0x5cd76b));}}export async function writeSqlLockFile(_0x4d2b30,_0x43e6f0){const _0x11a977=a216_0x5668;await mkdir(dirname(_0x4d2b30),{'recursive':!![]}),await writeFile(_0x4d2b30,JSON['stringify'](_0x43e6f0,null,0x2),_0x11a977(0x144));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x51eef9,_0x2d05ea){const _0x5c8ee3=a218_0x3c08,_0x53c82d=_0x51eef9();while(!![]){try{const _0x17d47e=parseInt(_0x5c8ee3(0x9d))/0x1*(parseInt(_0x5c8ee3(0xa1))/0x2)+parseInt(_0x5c8ee3(0x9f))/0x3+-parseInt(_0x5c8ee3(0xaa))/0x4+-parseInt(_0x5c8ee3(0xab))/0x5*(-parseInt(_0x5c8ee3(0xad))/0x6)+parseInt(_0x5c8ee3(0xa0))/0x7*(parseInt(_0x5c8ee3(0xa4))/0x8)+-parseInt(_0x5c8ee3(0xa6))/0x9+-parseInt(_0x5c8ee3(0x9c))/0xa*(parseInt(_0x5c8ee3(0x9b))/0xb);if(_0x17d47e===_0x2d05ea)break;else _0x53c82d['push'](_0x53c82d['shift']());}catch(_0x549f16){_0x53c82d['push'](_0x53c82d['shift']());}}}(a218_0x7f8d,0xb689c));function a218_0x3c08(_0x5c9932,_0x5010ae){_0x5c9932=_0x5c9932-0x9b;const _0x7f8d07=a218_0x7f8d();let _0x3c08d6=_0x7f8d07[_0x5c9932];return _0x3c08d6;}export function detectSqlMode(_0x5bd99){const _0x3a4c56=a218_0x3c08,_0x3e724f=_0x5bd99[_0x3a4c56(0xa7)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x3e724f))return _0x3a4c56(0xa3);return _0x3a4c56(0xa5);}export function getSqlFileExtension(_0x34ea95){const _0x1ccee2=a218_0x3c08;return _0x34ea95===_0x1ccee2(0xa3)?_0x1ccee2(0xa2):_0x1ccee2(0xac);}export function buildDefaultSqlFileName(_0x44eecf,_0x199623){return''+_0x44eecf+getSqlFileExtension(_0x199623);}export function sanitizeSqlPathSegment(_0x43c96d,_0x5c3a3a){const _0x4511d2=a218_0x3c08,_0x2d4671=String(_0x43c96d??'')[_0x4511d2(0xa9)](),_0x3dd74c=_0x2d4671[_0x4511d2(0xa8)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x4511d2(0xa8)](/\s+/g,'-')['replace'](/-+/g,'-')[_0x4511d2(0xa8)](/^\.+/,'')['replace'](/\.+$/,'')[_0x4511d2(0xa8)](/^-+/,'')[_0x4511d2(0xa8)](/-+$/,'');return _0x3dd74c||_0x5c3a3a;}function a218_0x7f8d(){const _0x3c8333=['.xml','mybatisXml','136JoVqRg','sql','11458602lDyTOH','trimStart','replace','trim','2231764EEiYDf','573845yTuoAJ','.sql','24SNHFwY','db-','unknown-sql','55sKpfIY','569650LPihwb','6911mzpbBf','unknown-db','2973609blHDrK','78274UAgupJ','354AfshnL'];a218_0x7f8d=function(){return _0x3c8333;};return a218_0x7f8d();}export function buildDbDirectoryName(_0x4b5499,_0x301ad6){const _0x6eb82=a218_0x3c08;return sanitizeSqlPathSegment(_0x4b5499,_0x301ad6!=null?_0x6eb82(0xae)+_0x301ad6:_0x6eb82(0x9e));}export function buildSqlRelativePath(_0xbf76d3,_0x181099,_0x47f4ca,_0x580594,_0x3fc13f){const _0x3df454=a218_0x3c08,_0x331e39=buildDbDirectoryName(_0x47f4ca,_0x3fc13f),_0x20d47d=sanitizeSqlPathSegment(_0xbf76d3,_0x3df454(0xaf)),_0x53fa4b=sanitizeSqlPathSegment(_0x181099,_0x20d47d);return _0x331e39+'/'+_0x20d47d+'_'+_0x53fa4b+getSqlFileExtension(_0x580594);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a219_0x30c5d1=a219_0x4e71;(function(_0x217c99,_0x2bb7c5){const _0x838fb3=a219_0x4e71,_0x2a7bb6=_0x217c99();while(!![]){try{const _0x184a1a=-parseInt(_0x838fb3(0x19f))/0x1*(parseInt(_0x838fb3(0x18d))/0x2)+parseInt(_0x838fb3(0x177))/0x3+-parseInt(_0x838fb3(0x19e))/0x4*(-parseInt(_0x838fb3(0x1a6))/0x5)+-parseInt(_0x838fb3(0x17d))/0x6*(-parseInt(_0x838fb3(0x1b3))/0x7)+-parseInt(_0x838fb3(0x180))/0x8+parseInt(_0x838fb3(0x1ae))/0x9*(parseInt(_0x838fb3(0x1cc))/0xa)+parseInt(_0x838fb3(0x17f))/0xb*(-parseInt(_0x838fb3(0x181))/0xc);if(_0x184a1a===_0x2bb7c5)break;else _0x2a7bb6['push'](_0x2a7bb6['shift']());}catch(_0x4a9e2f){_0x2a7bb6['push'](_0x2a7bb6['shift']());}}}(a219_0x31ae,0x44266));const MYBATIS_OUTER_TAGS=new Map([['select',a219_0x30c5d1(0x188)],[a219_0x30c5d1(0x17e),a219_0x30c5d1(0x1a9)],['update','UPDATE'],['delete','DELETE']]),MYBATIS_DYNAMIC_TAGS=new Set(['if','where',a219_0x30c5d1(0x19b),a219_0x30c5d1(0x17a),'when',a219_0x30c5d1(0x191),a219_0x30c5d1(0x1b9),'set',a219_0x30c5d1(0x1b8),a219_0x30c5d1(0x18a),a219_0x30c5d1(0x1c3)]),MYBATIS_BRANCH_TAGS=new Set(['if','foreach',a219_0x30c5d1(0x17a),a219_0x30c5d1(0x178),a219_0x30c5d1(0x191)]);export const MYBATIS_DYNAMIC_START_MARKER=a219_0x30c5d1(0x1c2);function a219_0x31ae(){const _0x1f9d25=['split','choose','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','\x20SET\x20','401514DaTprE','insert','495lSzygP','2259424NRKeXz','27372UNalcW','parseInt','slice','Unterminated\x20XML\x20comment.','^<\x5cs*(?:','DDL','DELETE','SELECT','indexOf','include','where','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','2uwRIkD','length','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','__RABETBASE_MYBATIS_DYNAMIC_END__','otherwise','pop','SQL\x20content\x20is\x20empty','sql','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','tagName','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','startsWith','SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT','foreach','Unterminated\x20CDATA\x20section.','rawName','1330588PLggBF','278687SqYEmb','mybatisXml','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','replace','<','reason','add','5YhRbYL','fromCodePoint',']]>','INSERT','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','Unable\x20to\x20detect\x20SQL\x20type.\x20','DDL\x20statements\x20are\x20blocked\x20from\x20auto-save','has','2277ZedYRq','UNKNOWN','toUpperCase','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','7oyYYJa','matchAll','UPDATE','outer','Unterminated\x20MyBatis\x20XML\x20tag.','bind','trim','type','<!--','toLowerCase','match','error','Invalid\x20MyBatis\x20XML\x20tag.','join','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','__RABETBASE_MYBATIS_DYNAMIC_START__','property',''','from','replaceAll','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','-->',')\x5cb','test','\x20WHERE\x20','18310VOscCb','string','push','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','Invalid\x20XML\x20entity\x20reference.','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','exec','240279aQqKob','when'];a219_0x31ae=function(){return _0x1f9d25;};return a219_0x31ae();}function a219_0x4e71(_0x167406,_0x5d1b94){_0x167406=_0x167406-0x171;const _0x31ae20=a219_0x31ae();let _0x4e7168=_0x31ae20[_0x167406];return _0x4e7168;}export const MYBATIS_DYNAMIC_END_MARKER=a219_0x30c5d1(0x190);export const MYBATIS_INCLUDE_MARKER=a219_0x30c5d1(0x172);const UNRESOLVED_SQL_FRAGMENT=a219_0x30c5d1(0x1b1),MYBATIS_OUTER_TAG_PATTERN=new RegExp(a219_0x30c5d1(0x185)+[...MYBATIS_OUTER_TAGS['keys']()][a219_0x30c5d1(0x1c0)]('|')+a219_0x30c5d1(0x1c9),'i');export function normalizeSqlForStaticAnalysis(_0x24f991){const _0x2a29e6=a219_0x30c5d1,_0x1e6f11=typeof _0x24f991===_0x2a29e6(0x1cd)?_0x24f991:'';if(!startsWithMybatisStatementWrapper(_0x1e6f11))return{'sql':_0x1e6f11,'mode':_0x2a29e6(0x194)};let _0x55e092=0x0,_0x2e61e4='',_0x3a8965,_0x4a72b7=![],_0x50bc0c=![];const _0x462f11=[];while(_0x55e092<_0x1e6f11[_0x2a29e6(0x18e)]){if(_0x1e6f11[_0x2a29e6(0x199)](_0x2a29e6(0x1bb),_0x55e092)){const _0x3d2a63=_0x1e6f11['indexOf'](_0x2a29e6(0x1c8),_0x55e092+0x4);if(_0x3d2a63<0x0)return invalidMybatisSource(_0x2a29e6(0x184));_0x2e61e4+='\x20',_0x55e092=_0x3d2a63+0x3;continue;}if(_0x1e6f11[_0x2a29e6(0x199)]('<,_0x55e092+0x9);if(_0x5930b0<0x0)return invalidMybatisSource(_0x2a29e6(0x19c));_0x2e61e4+=_0x1e6f11[_0x2a29e6(0x183)](_0x55e092+0x9,_0x5930b0),_0x55e092=_0x5930b0+0x3;continue;}if(_0x1e6f11['startsWith']('<?',_0x55e092)){if(_0x4a72b7)return invalidMybatisSource('XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.');const _0x282df0=_0x1e6f11[_0x2a29e6(0x189)]('?>',_0x55e092+0x2);if(_0x282df0<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x2e61e4+='\x20',_0x55e092=_0x282df0+0x2;continue;}if(_0x1e6f11[_0x55e092]!=='<'){const _0x3f41ae=_0x1e6f11[_0x2a29e6(0x189)]('<',_0x55e092),_0x2715f7=_0x3f41ae<0x0?_0x1e6f11[_0x2a29e6(0x18e)]:_0x3f41ae,_0x3747a9=_0x1e6f11[_0x2a29e6(0x183)](_0x55e092,_0x2715f7);if((!_0x4a72b7||_0x50bc0c)&&_0x3747a9['trim']())return invalidMybatisSource(_0x2a29e6(0x1aa));if(_0x4a72b7&&!_0x50bc0c){const _0x16baa7=decodeXmlEntities(_0x3747a9);if(_0x16baa7===null)return invalidMybatisSource(_0x2a29e6(0x174));_0x2e61e4+=_0x16baa7;}else _0x2e61e4+='\x20';_0x55e092=_0x2715f7;continue;}const _0x4baceb=findXmlTagEnd(_0x1e6f11,_0x55e092);if(_0x4baceb<0x0)return invalidMybatisSource(_0x2a29e6(0x1b7));const _0xfd1b38=_0x1e6f11['slice'](_0x55e092,_0x4baceb+0x1),_0x1f9f81=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0x2a29e6(0x176)](_0xfd1b38);if(!_0x1f9f81)return invalidMybatisSource(_0x2a29e6(0x1bf));const _0x40faed=_0x1f9f81[0x1]==='/',_0xbc990e=_0x1f9f81[0x2]??'',_0x3e814d=_0xbc990e[_0x2a29e6(0x1bc)](),_0x13cfd8=_0x1f9f81[0x3]??'',_0x380679=_0x1f9f81[0x4]==='/',_0x1c2553=MYBATIS_OUTER_TAGS['get'](_0x3e814d);if(!_0x1c2553&&!MYBATIS_DYNAMIC_TAGS['has'](_0x3e814d))return invalidMybatisSource(_0x2a29e6(0x198)+_0x3e814d+'>.');if(!_0x1c2553&&_0xbc990e!==_0x3e814d)return invalidMybatisSource(_0x2a29e6(0x1c1)+_0xbc990e+'>.');if(_0x40faed){if(_0x13cfd8[_0x2a29e6(0x1b9)]()||_0x380679)return invalidMybatisSource(_0x2a29e6(0x1a1)+_0xbc990e+'>.');const _0xa6247=_0x462f11['at'](-0x1);if(!_0xa6247||(_0xa6247[_0x2a29e6(0x1b6)]?_0xa6247['tagName']!==_0x3e814d:_0xa6247[_0x2a29e6(0x19d)]!==_0xbc990e))return invalidMybatisSource(_0x2a29e6(0x195)+_0xbc990e+'>.');_0x462f11[_0x2a29e6(0x192)]();if(_0xa6247['outer'])_0x50bc0c=!![];_0x2e61e4+=MYBATIS_BRANCH_TAGS[_0x2a29e6(0x1ad)](_0x3e814d)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x13cfd8))return invalidMybatisSource(_0x2a29e6(0x175)+_0xbc990e+'>.');if(_0x3e814d===_0x2a29e6(0x1c3)&&(!_0x380679||_0x462f11['at'](-0x1)?.[_0x2a29e6(0x196)]!=='include'))return invalidMybatisSource(_0x2a29e6(0x1c7));if(_0x1c2553){if(_0x4a72b7||_0x462f11[_0x2a29e6(0x18e)]>0x0)return invalidMybatisSource('Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.');_0x4a72b7=!![],_0x50bc0c=_0x380679,_0x3a8965=_0x1c2553;}else{if(!_0x4a72b7||_0x50bc0c)return invalidMybatisSource(_0x2a29e6(0x1b2)+_0xbc990e+'>.');}_0x2e61e4+=_0x3e814d===_0x2a29e6(0x18b)?_0x2a29e6(0x1cb):_0x3e814d==='set'?_0x2a29e6(0x17c):_0x3e814d===_0x2a29e6(0x18a)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0x2a29e6(0x1ad)](_0x3e814d)&&!_0x380679?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x380679&&_0x462f11[_0x2a29e6(0x171)]({'rawName':_0xbc990e,'tagName':_0x3e814d,'outer':!!_0x1c2553});}_0x55e092=_0x4baceb+0x1;}if(_0x462f11['length']>0x0)return invalidMybatisSource(_0x2a29e6(0x18c)+_0x462f11['at'](-0x1)?.['rawName']+'>.');if(!_0x4a72b7||!_0x50bc0c)return invalidMybatisSource(_0x2a29e6(0x197));return{'sql':_0x2e61e4[_0x2a29e6(0x1b9)](),'mode':_0x2a29e6(0x1a0),..._0x3a8965?{'statementType':_0x3a8965}:{}};}function hasWellFormedXmlAttributes(_0x5c2388){const _0x203489=a219_0x30c5d1;let _0x557117=0x0;const _0x5d1e4c=new Set();while(_0x557117<_0x5c2388[_0x203489(0x18e)]){while(_0x557117<_0x5c2388['length']&&/\s/[_0x203489(0x1ca)](_0x5c2388[_0x557117]??''))_0x557117+=0x1;if(_0x557117>=_0x5c2388['length'])return!![];const _0x5090ab=/^[A-Za-z_:][\w:.-]*/['exec'](_0x5c2388[_0x203489(0x183)](_0x557117)),_0x44392b=_0x5090ab?.[0x0];if(!_0x44392b||_0x5d1e4c[_0x203489(0x1ad)](_0x44392b))return![];_0x5d1e4c[_0x203489(0x1a5)](_0x44392b),_0x557117+=_0x44392b[_0x203489(0x18e)];while(_0x557117<_0x5c2388[_0x203489(0x18e)]&&/\s/[_0x203489(0x1ca)](_0x5c2388[_0x557117]??''))_0x557117+=0x1;if(_0x5c2388[_0x557117]!=='=')return![];_0x557117+=0x1;while(_0x557117<_0x5c2388[_0x203489(0x18e)]&&/\s/[_0x203489(0x1ca)](_0x5c2388[_0x557117]??''))_0x557117+=0x1;const _0x199533=_0x5c2388[_0x557117];if(_0x199533!=='\x22'&&_0x199533!=='\x27')return![];_0x557117+=0x1;const _0x5c0233=_0x5c2388[_0x203489(0x189)](_0x199533,_0x557117);if(_0x5c0233<0x0)return![];if(decodeXmlEntities(_0x5c2388['slice'](_0x557117,_0x5c0233))===null)return![];_0x557117=_0x5c0233+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x5a0c21){const _0x3f58b9=a219_0x30c5d1;let _0x151c41=0x0;const _0x255eec=()=>{const _0x21085b=a219_0x4e71;while(_0x151c41<_0x5a0c21['length']&&/\s/[_0x21085b(0x1ca)](_0x5a0c21[_0x151c41]??''))_0x151c41+=0x1;};_0x255eec();while(_0x151c41<_0x5a0c21[_0x3f58b9(0x18e)]){if(_0x5a0c21[_0x3f58b9(0x199)](_0x3f58b9(0x1bb),_0x151c41)){const _0x5bdf16=_0x5a0c21[_0x3f58b9(0x189)]('-->',_0x151c41+0x4);if(_0x5bdf16<0x0)return!![];_0x151c41=_0x5bdf16+0x3,_0x255eec();continue;}if(_0x5a0c21['startsWith']('<?',_0x151c41)){const _0x2112de=_0x5a0c21[_0x3f58b9(0x189)]('?>',_0x151c41+0x2);if(_0x2112de<0x0)return!![];_0x151c41=_0x2112de+0x2,_0x255eec();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x3f58b9(0x1ca)](_0x5a0c21[_0x3f58b9(0x183)](_0x151c41));}function invalidMybatisSource(_0x5711d4){return{'sql':'','mode':'mybatisXml','error':_0x5711d4};}function findXmlTagEnd(_0x1718ae,_0x2aa403){const _0x30ba9c=a219_0x30c5d1;let _0xf583ff;for(let _0x39d132=_0x2aa403+0x1;_0x39d132<_0x1718ae[_0x30ba9c(0x18e)];_0x39d132+=0x1){const _0x4d9fd6=_0x1718ae[_0x39d132];if(_0xf583ff){if(_0x4d9fd6===_0xf583ff)_0xf583ff=undefined;continue;}if(_0x4d9fd6==='\x22'||_0x4d9fd6==='\x27'){_0xf583ff=_0x4d9fd6;continue;}if(_0x4d9fd6==='>')return _0x39d132;}return-0x1;}function decodeXmlEntities(_0x3f9ec8){const _0x1697b9=a219_0x30c5d1;let _0x37da01=![];const _0x5aab14=_0x3f9ec8[_0x1697b9(0x1a2)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x4c15e2=>{const _0x4b26b2=_0x1697b9;if(_0x4c15e2===_0x4b26b2(0x1a3))return'<';if(_0x4c15e2==='>')return'>';if(_0x4c15e2==='"')return'\x22';if(_0x4c15e2===_0x4b26b2(0x1c4))return'\x27';if(_0x4c15e2==='&')return'&';const _0x3a03bc=/^&#(?:x([0-9a-f]+)|([0-9]+));$/['exec'](_0x4c15e2);if(_0x3a03bc){const _0x4ce6cd=_0x3a03bc[0x1],_0x589082=_0x3a03bc[0x2],_0x1148b9=Number[_0x4b26b2(0x182)](_0x4ce6cd??_0x589082??'',_0x4ce6cd?0x10:0xa);if(isValidXmlCharacter(_0x1148b9))return String[_0x4b26b2(0x1a7)](_0x1148b9);}return _0x37da01=!![],'';});return _0x37da01?null:_0x5aab14;}function isValidXmlCharacter(_0x13d043){return _0x13d043===0x9||_0x13d043===0xa||_0x13d043===0xd||_0x13d043>=0x20&&_0x13d043<=0xd7ff||_0x13d043>=0xe000&&_0x13d043<=0xfffd||_0x13d043>=0x10000&&_0x13d043<=0x10ffff;}export function detectSqlType(_0x3c6e1d){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x3c6e1d));}function detectNormalizedSqlType(_0x14905a){const _0x47b4c8=a219_0x30c5d1;if(_0x14905a[_0x47b4c8(0x1be)])return{'type':_0x47b4c8(0x1af),'isSelectOnly':![],'isDangerous':![],'reason':_0x14905a[_0x47b4c8(0x1be)]};if(!_0x14905a[_0x47b4c8(0x194)][_0x47b4c8(0x1b9)]())return{'type':_0x47b4c8(0x1af),'isSelectOnly':![],'isDangerous':![],'reason':_0x47b4c8(0x193)};const _0x44ab85=stripStaticAnalysisMarkers(_0x14905a[_0x47b4c8(0x194)])[_0x47b4c8(0x1a2)](/#\{[^}]*\}/g,'?')[_0x47b4c8(0x1a2)](/\$\{[^}]*\}/g,'?')['replace'](/@[^(\s]+(\([^)]*\))?/g,'')[_0x47b4c8(0x1a2)](/\/\*[\s\S]*?\*\//g,'')[_0x47b4c8(0x1b9)](),_0x92f920=_0x44ab85[_0x47b4c8(0x179)]('\x0a');let _0x1cd491='';for(const _0x3a80f9 of _0x92f920){const _0x162223=_0x3a80f9[_0x47b4c8(0x1b9)]();if(!_0x162223||_0x162223[_0x47b4c8(0x199)]('--')||_0x162223[_0x47b4c8(0x199)]('/*'))continue;_0x1cd491=_0x162223;break;}const _0x164fb6=_0x1cd491[_0x47b4c8(0x1b0)](),_0xfcd01b=_0x14905a['statementType'],_0x1e7949=maskSqlTextForBlockedKeywordScan(_0x44ab85),_0x3a2ca0=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x47b4c8(0x1ca)](_0x1e7949);if(_0xfcd01b==='SELECT'||!_0xfcd01b&&(_0x164fb6['startsWith'](_0x47b4c8(0x188))||_0x164fb6['startsWith']('WITH'))){const _0x15888c=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x47b4c8(0x1ca)](_0x44ab85);return{'type':'SELECT','isSelectOnly':!_0x15888c,'isDangerous':_0x15888c,'reason':_0x15888c?_0x47b4c8(0x19a):undefined};}if(_0xfcd01b===_0x47b4c8(0x1a9)||!_0xfcd01b&&_0x164fb6[_0x47b4c8(0x199)](_0x47b4c8(0x1a9)))return{'type':_0x47b4c8(0x1a9),'isSelectOnly':![],'isDangerous':_0x3a2ca0,'reason':_0x3a2ca0?_0x47b4c8(0x173):undefined};if(_0xfcd01b==='UPDATE'||!_0xfcd01b&&_0x164fb6['startsWith']('UPDATE'))return{'type':_0x47b4c8(0x1b5),'isSelectOnly':![],'isDangerous':_0x3a2ca0,'reason':_0x3a2ca0?_0x47b4c8(0x173):undefined};if(_0xfcd01b===_0x47b4c8(0x187)||!_0xfcd01b&&_0x164fb6[_0x47b4c8(0x199)](_0x47b4c8(0x187)))return{'type':'DELETE','isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x47b4c8(0x1ca)](_0x164fb6))return{'type':_0x47b4c8(0x186),'isSelectOnly':![],'isDangerous':!![],'reason':_0x47b4c8(0x1ac)};return{'type':'UNKNOWN','isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x59cb9a){const _0x5a017b=a219_0x30c5d1;return _0x59cb9a[_0x5a017b(0x1c6)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x5a017b(0x1c6)](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x3d4e96){const _0x17523d=a219_0x30c5d1;return _0x3d4e96[_0x17523d(0x1a2)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x17523d(0x1a2)](/"(?:""|\\.|[^"])*"/g,'\x20')['replace'](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x17523d(0x1a2)](/--.*$/gm,'\x20')[_0x17523d(0x1a2)](/#.*$/gm,'\x20')['replace'](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x37cb46){const _0x54a157=a219_0x30c5d1,_0x4b1034=_0x37cb46['replace'](/#\{[^}]*\}/g,'?')[_0x54a157(0x1a2)](/\$\{[^}]*\}/g,'?')[_0x54a157(0x1a2)](/'[^']*'/g,'\x27\x27')[_0x54a157(0x1a2)](/--.*$/gm,'')[_0x54a157(0x1a2)](/\/\*[\s\S]*?\*\//g,''),_0xfafddf=[],_0x175c1b=_0x4b1034['match'](/FROM\s+([^\s,)(]+)/i);addTable(_0xfafddf,_0x175c1b?.[0x1]);for(const _0x57ce86 of _0x4b1034[_0x54a157(0x1b4)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0xfafddf,_0x57ce86[0x1]);}const _0x2c0bb1=_0x4b1034[_0x54a157(0x1bd)](/INTO\s+([^\s(]+)/i);addTable(_0xfafddf,_0x2c0bb1?.[0x1]);const _0x2446a1=_0x4b1034['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0xfafddf,_0x2446a1?.[0x1]),_0xfafddf;}function addTable(_0x1a1273,_0x4a43ff){const _0x3de6b8=a219_0x30c5d1,_0x4148dd=_0x4a43ff?.[_0x3de6b8(0x1a2)](/[`"]/g,'');_0x4148dd&&_0x4148dd!==UNRESOLVED_SQL_FRAGMENT&&!_0x1a1273['includes'](_0x4148dd)&&_0x1a1273['push'](_0x4148dd);}function extractParameters(_0x5cff28){const _0x3a1748=a219_0x30c5d1,_0x577a6c=new Set();for(const _0x5ced03 of _0x5cff28[_0x3a1748(0x1b4)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x5ced03[0x1])_0x577a6c[_0x3a1748(0x1a5)](_0x5ced03[0x1]);}return Array[_0x3a1748(0x1c5)](_0x577a6c);}export function validateSql(_0x4b6d81){const _0x23122f=a219_0x30c5d1,_0x3f7b48=normalizeSqlForStaticAnalysis(_0x4b6d81),_0x548771=detectNormalizedSqlType(_0x3f7b48),_0x3b79b5=stripStaticAnalysisMarkers(_0x3f7b48[_0x23122f(0x194)]),_0x1f37be=_0x3f7b48[_0x23122f(0x1be)]?[]:extractTables(_0x3b79b5),_0x66b551=_0x3f7b48[_0x23122f(0x1be)]?[]:extractParameters(_0x3b79b5);if(_0x548771['isDangerous'])return{'valid':![],'sqlType':_0x548771,'tables':_0x1f37be,'parameters':_0x66b551,'message':_0x548771[_0x23122f(0x1a4)]||_0x548771[_0x23122f(0x1ba)]+_0x23122f(0x17b)};if(_0x548771[_0x23122f(0x1ba)]===_0x23122f(0x1af))return{'valid':![],'sqlType':_0x548771,'tables':_0x1f37be,'parameters':_0x66b551,'message':_0x3f7b48[_0x23122f(0x1be)]?_0x23122f(0x1ab)+_0x3f7b48['error']:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0x548771,'tables':_0x1f37be,'parameters':_0x66b551,'message':_0x548771[_0x23122f(0x1ba)]+'\x20query\x20targeting\x20'+(_0x1f37be[_0x23122f(0x18e)]?_0x1f37be[_0x23122f(0x1c0)](',\x20'):'unknown\x20table(s)')+(_0x66b551[_0x23122f(0x18e)]?'\x20with\x20parameters:\x20'+_0x66b551[_0x23122f(0x1c0)](',\x20'):'')};}
|
|
1
|
+
const a219_0x135778=a219_0x2b02;(function(_0xba8341,_0x275d9a){const _0x3675c2=a219_0x2b02,_0x51bac9=_0xba8341();while(!![]){try{const _0x4557fd=parseInt(_0x3675c2(0xe6))/0x1+-parseInt(_0x3675c2(0xe4))/0x2*(-parseInt(_0x3675c2(0xeb))/0x3)+parseInt(_0x3675c2(0xd1))/0x4*(parseInt(_0x3675c2(0xa4))/0x5)+parseInt(_0x3675c2(0xdb))/0x6*(parseInt(_0x3675c2(0xd5))/0x7)+parseInt(_0x3675c2(0xee))/0x8*(-parseInt(_0x3675c2(0xe2))/0x9)+parseInt(_0x3675c2(0xbe))/0xa+-parseInt(_0x3675c2(0xe7))/0xb;if(_0x4557fd===_0x275d9a)break;else _0x51bac9['push'](_0x51bac9['shift']());}catch(_0x4851c1){_0x51bac9['push'](_0x51bac9['shift']());}}}(a219_0x5dad,0xd73da));const MYBATIS_OUTER_TAGS=new Map([[a219_0x135778(0xc5),a219_0x135778(0xaf)],[a219_0x135778(0xcc),a219_0x135778(0xbc)],['update',a219_0x135778(0xe9)],[a219_0x135778(0xb2),'DELETE']]),MYBATIS_DYNAMIC_TAGS=new Set(['if','where',a219_0x135778(0xa0),a219_0x135778(0xb3),a219_0x135778(0xdf),a219_0x135778(0xdd),a219_0x135778(0xed),a219_0x135778(0xb0),a219_0x135778(0xb1),'include','property']),MYBATIS_BRANCH_TAGS=new Set(['if',a219_0x135778(0xa0),a219_0x135778(0xb3),a219_0x135778(0xdf),'otherwise']);export const MYBATIS_DYNAMIC_START_MARKER='__RABETBASE_MYBATIS_DYNAMIC_START__';export const MYBATIS_DYNAMIC_END_MARKER=a219_0x135778(0xaa);export const MYBATIS_INCLUDE_MARKER=a219_0x135778(0xa7);const UNRESOLVED_SQL_FRAGMENT=a219_0x135778(0xec),MYBATIS_OUTER_TAG_PATTERN=new RegExp('^<\x5cs*(?:'+[...MYBATIS_OUTER_TAGS[a219_0x135778(0xa2)]()][a219_0x135778(0xa5)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x4d38e5){const _0x5809f3=a219_0x135778,_0x5cf739=typeof _0x4d38e5===_0x5809f3(0x96)?_0x4d38e5:'';if(!startsWithMybatisStatementWrapper(_0x5cf739))return{'sql':_0x5cf739,'mode':'sql'};let _0x16de29=0x0,_0x2085d5='',_0x4ea9ee,_0x408044=![],_0x50b236=![];const _0x1f10af=[];while(_0x16de29<_0x5cf739[_0x5809f3(0x9e)]){if(_0x5cf739[_0x5809f3(0xc4)]('<!--',_0x16de29)){const _0x3423cb=_0x5cf739[_0x5809f3(0x9d)]('-->',_0x16de29+0x4);if(_0x3423cb<0x0)return invalidMybatisSource('Unterminated\x20XML\x20comment.');_0x2085d5+='\x20',_0x16de29=_0x3423cb+0x3;continue;}if(_0x5cf739[_0x5809f3(0xc4)](_0x5809f3(0xd6),_0x16de29)){if(!_0x408044||_0x50b236)return invalidMybatisSource(_0x5809f3(0xe1));const _0xf780a6=_0x5cf739[_0x5809f3(0x9d)](']]>',_0x16de29+0x9);if(_0xf780a6<0x0)return invalidMybatisSource(_0x5809f3(0x9b));_0x2085d5+=_0x5cf739[_0x5809f3(0xd7)](_0x16de29+0x9,_0xf780a6),_0x16de29=_0xf780a6+0x3;continue;}if(_0x5cf739[_0x5809f3(0xc4)]('<?',_0x16de29)){if(_0x408044)return invalidMybatisSource(_0x5809f3(0xab));const _0xe5cf34=_0x5cf739[_0x5809f3(0x9d)]('?>',_0x16de29+0x2);if(_0xe5cf34<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x2085d5+='\x20',_0x16de29=_0xe5cf34+0x2;continue;}if(_0x5cf739[_0x16de29]!=='<'){const _0x26a99f=_0x5cf739['indexOf']('<',_0x16de29),_0x1128cb=_0x26a99f<0x0?_0x5cf739[_0x5809f3(0x9e)]:_0x26a99f,_0x262f20=_0x5cf739[_0x5809f3(0xd7)](_0x16de29,_0x1128cb);if((!_0x408044||_0x50b236)&&_0x262f20['trim']())return invalidMybatisSource('SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.');if(_0x408044&&!_0x50b236){const _0x400ba5=decodeXmlEntities(_0x262f20);if(_0x400ba5===null)return invalidMybatisSource('Invalid\x20XML\x20entity\x20reference.');_0x2085d5+=_0x400ba5;}else _0x2085d5+='\x20';_0x16de29=_0x1128cb;continue;}const _0x2f8e15=findXmlTagEnd(_0x5cf739,_0x16de29);if(_0x2f8e15<0x0)return invalidMybatisSource(_0x5809f3(0xd8));const _0x2f3e16=_0x5cf739[_0x5809f3(0xd7)](_0x16de29,_0x2f8e15+0x1),_0x18c938=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/['exec'](_0x2f3e16);if(!_0x18c938)return invalidMybatisSource(_0x5809f3(0xcd));const _0x41ab71=_0x18c938[0x1]==='/',_0x336599=_0x18c938[0x2]??'',_0x3a3ee4=_0x336599[_0x5809f3(0xb5)](),_0x1847b3=_0x18c938[0x3]??'',_0x98769c=_0x18c938[0x4]==='/',_0x464056=MYBATIS_OUTER_TAGS[_0x5809f3(0xd4)](_0x3a3ee4);if(!_0x464056&&!MYBATIS_DYNAMIC_TAGS[_0x5809f3(0xe3)](_0x3a3ee4))return invalidMybatisSource(_0x5809f3(0xe5)+_0x3a3ee4+'>.');if(!_0x464056&&_0x336599!==_0x3a3ee4)return invalidMybatisSource('MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<'+_0x336599+'>.');if(_0x41ab71){if(_0x1847b3[_0x5809f3(0xed)]()||_0x98769c)return invalidMybatisSource('Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</'+_0x336599+'>.');const _0x468dae=_0x1f10af['at'](-0x1);if(!_0x468dae||(_0x468dae['outer']?_0x468dae['tagName']!==_0x3a3ee4:_0x468dae[_0x5809f3(0xca)]!==_0x336599))return invalidMybatisSource(_0x5809f3(0xef)+_0x336599+'>.');_0x1f10af[_0x5809f3(0xb8)]();if(_0x468dae[_0x5809f3(0xea)])_0x50b236=!![];_0x2085d5+=MYBATIS_BRANCH_TAGS[_0x5809f3(0xe3)](_0x3a3ee4)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x1847b3))return invalidMybatisSource(_0x5809f3(0x95)+_0x336599+'>.');if(_0x3a3ee4===_0x5809f3(0xc2)&&(!_0x98769c||_0x1f10af['at'](-0x1)?.[_0x5809f3(0xda)]!==_0x5809f3(0xdc)))return invalidMybatisSource(_0x5809f3(0xc8));if(_0x464056){if(_0x408044||_0x1f10af[_0x5809f3(0x9e)]>0x0)return invalidMybatisSource('Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.');_0x408044=!![],_0x50b236=_0x98769c,_0x4ea9ee=_0x464056;}else{if(!_0x408044||_0x50b236)return invalidMybatisSource(_0x5809f3(0xe8)+_0x336599+'>.');}_0x2085d5+=_0x3a3ee4===_0x5809f3(0xd3)?_0x5809f3(0xcf):_0x3a3ee4===_0x5809f3(0xb0)?'\x20SET\x20':_0x3a3ee4===_0x5809f3(0xdc)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0x5809f3(0xe3)](_0x3a3ee4)&&!_0x98769c?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x98769c&&_0x1f10af[_0x5809f3(0xc6)]({'rawName':_0x336599,'tagName':_0x3a3ee4,'outer':!!_0x464056});}_0x16de29=_0x2f8e15+0x1;}if(_0x1f10af['length']>0x0)return invalidMybatisSource(_0x5809f3(0xbb)+_0x1f10af['at'](-0x1)?.[_0x5809f3(0xca)]+'>.');if(!_0x408044||!_0x50b236)return invalidMybatisSource(_0x5809f3(0xc1));return{'sql':_0x2085d5[_0x5809f3(0xed)](),'mode':_0x5809f3(0x9c),..._0x4ea9ee?{'statementType':_0x4ea9ee}:{}};}function hasWellFormedXmlAttributes(_0x53d565){const _0x33d083=a219_0x135778;let _0x5c60e9=0x0;const _0x4c8ffe=new Set();while(_0x5c60e9<_0x53d565[_0x33d083(0x9e)]){while(_0x5c60e9<_0x53d565[_0x33d083(0x9e)]&&/\s/[_0x33d083(0x98)](_0x53d565[_0x5c60e9]??''))_0x5c60e9+=0x1;if(_0x5c60e9>=_0x53d565[_0x33d083(0x9e)])return!![];const _0x2c4324=/^[A-Za-z_:][\w:.-]*/[_0x33d083(0x9f)](_0x53d565['slice'](_0x5c60e9)),_0x334756=_0x2c4324?.[0x0];if(!_0x334756||_0x4c8ffe[_0x33d083(0xe3)](_0x334756))return![];_0x4c8ffe[_0x33d083(0xf0)](_0x334756),_0x5c60e9+=_0x334756[_0x33d083(0x9e)];while(_0x5c60e9<_0x53d565['length']&&/\s/[_0x33d083(0x98)](_0x53d565[_0x5c60e9]??''))_0x5c60e9+=0x1;if(_0x53d565[_0x5c60e9]!=='=')return![];_0x5c60e9+=0x1;while(_0x5c60e9<_0x53d565['length']&&/\s/['test'](_0x53d565[_0x5c60e9]??''))_0x5c60e9+=0x1;const _0x22a64e=_0x53d565[_0x5c60e9];if(_0x22a64e!=='\x22'&&_0x22a64e!=='\x27')return![];_0x5c60e9+=0x1;const _0x16367c=_0x53d565[_0x33d083(0x9d)](_0x22a64e,_0x5c60e9);if(_0x16367c<0x0)return![];if(decodeXmlEntities(_0x53d565[_0x33d083(0xd7)](_0x5c60e9,_0x16367c))===null)return![];_0x5c60e9=_0x16367c+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x4d0a50){const _0x3066b5=a219_0x135778;let _0x1b21db=0x0;const _0x10bc6b=()=>{const _0x5bcec7=a219_0x2b02;while(_0x1b21db<_0x4d0a50[_0x5bcec7(0x9e)]&&/\s/[_0x5bcec7(0x98)](_0x4d0a50[_0x1b21db]??''))_0x1b21db+=0x1;};_0x10bc6b();while(_0x1b21db<_0x4d0a50[_0x3066b5(0x9e)]){if(_0x4d0a50[_0x3066b5(0xc4)](_0x3066b5(0x99),_0x1b21db)){const _0x56b6c9=_0x4d0a50[_0x3066b5(0x9d)](_0x3066b5(0xc7),_0x1b21db+0x4);if(_0x56b6c9<0x0)return!![];_0x1b21db=_0x56b6c9+0x3,_0x10bc6b();continue;}if(_0x4d0a50[_0x3066b5(0xc4)]('<?',_0x1b21db)){const _0x12574b=_0x4d0a50[_0x3066b5(0x9d)]('?>',_0x1b21db+0x2);if(_0x12574b<0x0)return!![];_0x1b21db=_0x12574b+0x2,_0x10bc6b();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x3066b5(0x98)](_0x4d0a50[_0x3066b5(0xd7)](_0x1b21db));}function invalidMybatisSource(_0x50b3c2){const _0x32ac9f=a219_0x135778;return{'sql':'','mode':_0x32ac9f(0x9c),'error':_0x50b3c2};}function findXmlTagEnd(_0x24b3a2,_0x43d3ba){const _0x5e2b88=a219_0x135778;let _0x5e15a7;for(let _0x3e5e0a=_0x43d3ba+0x1;_0x3e5e0a<_0x24b3a2[_0x5e2b88(0x9e)];_0x3e5e0a+=0x1){const _0x5e4246=_0x24b3a2[_0x3e5e0a];if(_0x5e15a7){if(_0x5e4246===_0x5e15a7)_0x5e15a7=undefined;continue;}if(_0x5e4246==='\x22'||_0x5e4246==='\x27'){_0x5e15a7=_0x5e4246;continue;}if(_0x5e4246==='>')return _0x3e5e0a;}return-0x1;}function decodeXmlEntities(_0x1e10af){const _0x1e0645=a219_0x135778;let _0x1b1f49=![];const _0x1dc828=_0x1e10af[_0x1e0645(0xc9)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x53c1b7=>{const _0x5eba26=_0x1e0645;if(_0x53c1b7===_0x5eba26(0xbf))return'<';if(_0x53c1b7===_0x5eba26(0xcb))return'>';if(_0x53c1b7===_0x5eba26(0xce))return'\x22';if(_0x53c1b7===_0x5eba26(0xa9))return'\x27';if(_0x53c1b7===_0x5eba26(0xba))return'&';const _0x59d27c=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x5eba26(0x9f)](_0x53c1b7);if(_0x59d27c){const _0x1b9ccb=_0x59d27c[0x1],_0x2fdd34=_0x59d27c[0x2],_0x40b07d=Number[_0x5eba26(0xb4)](_0x1b9ccb??_0x2fdd34??'',_0x1b9ccb?0x10:0xa);if(isValidXmlCharacter(_0x40b07d))return String['fromCodePoint'](_0x40b07d);}return _0x1b1f49=!![],'';});return _0x1b1f49?null:_0x1dc828;}function isValidXmlCharacter(_0x3ccc06){return _0x3ccc06===0x9||_0x3ccc06===0xa||_0x3ccc06===0xd||_0x3ccc06>=0x20&&_0x3ccc06<=0xd7ff||_0x3ccc06>=0xe000&&_0x3ccc06<=0xfffd||_0x3ccc06>=0x10000&&_0x3ccc06<=0x10ffff;}export function detectSqlType(_0x35d973){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x35d973));}function detectNormalizedSqlType(_0x56c0ed){const _0x3eaa6f=a219_0x135778;if(_0x56c0ed[_0x3eaa6f(0xc0)])return{'type':_0x3eaa6f(0xbd),'isSelectOnly':![],'isDangerous':![],'reason':_0x56c0ed[_0x3eaa6f(0xc0)]};if(!_0x56c0ed[_0x3eaa6f(0xb7)][_0x3eaa6f(0xed)]())return{'type':_0x3eaa6f(0xbd),'isSelectOnly':![],'isDangerous':![],'reason':_0x3eaa6f(0x9a)};const _0x148948=stripStaticAnalysisMarkers(_0x56c0ed[_0x3eaa6f(0xb7)])[_0x3eaa6f(0xc9)](/#\{[^}]*\}/g,'?')[_0x3eaa6f(0xc9)](/\$\{[^}]*\}/g,'?')[_0x3eaa6f(0xc9)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x3eaa6f(0xc9)](/\/\*[\s\S]*?\*\//g,'')[_0x3eaa6f(0xed)](),_0x4b6e78=_0x148948[_0x3eaa6f(0xe0)]('\x0a');let _0xf0b1e0='';for(const _0x18cc3c of _0x4b6e78){const _0x47936a=_0x18cc3c['trim']();if(!_0x47936a||_0x47936a['startsWith']('--')||_0x47936a[_0x3eaa6f(0xc4)]('/*'))continue;_0xf0b1e0=_0x47936a;break;}const _0x50928a=_0xf0b1e0[_0x3eaa6f(0xa8)](),_0x5cef96=_0x56c0ed[_0x3eaa6f(0xd2)],_0x3a2393=maskSqlTextForBlockedKeywordScan(_0x148948),_0x3ff125=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x3eaa6f(0x98)](_0x3a2393);if(_0x5cef96==='SELECT'||!_0x5cef96&&(_0x50928a[_0x3eaa6f(0xc4)](_0x3eaa6f(0xaf))||_0x50928a[_0x3eaa6f(0xc4)](_0x3eaa6f(0xde)))){const _0x257b00=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x3eaa6f(0x98)](_0x148948);return{'type':'SELECT','isSelectOnly':!_0x257b00,'isDangerous':_0x257b00,'reason':_0x257b00?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0x5cef96==='INSERT'||!_0x5cef96&&_0x50928a['startsWith'](_0x3eaa6f(0xbc)))return{'type':'INSERT','isSelectOnly':![],'isDangerous':_0x3ff125,'reason':_0x3ff125?_0x3eaa6f(0xb6):undefined};if(_0x5cef96==='UPDATE'||!_0x5cef96&&_0x50928a[_0x3eaa6f(0xc4)](_0x3eaa6f(0xe9)))return{'type':'UPDATE','isSelectOnly':![],'isDangerous':_0x3ff125,'reason':_0x3ff125?_0x3eaa6f(0xb6):undefined};if(_0x5cef96===_0x3eaa6f(0xc3)||!_0x5cef96&&_0x50928a[_0x3eaa6f(0xc4)](_0x3eaa6f(0xc3)))return{'type':_0x3eaa6f(0xc3),'isSelectOnly':![],'isDangerous':!![],'reason':'DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save'};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i[_0x3eaa6f(0x98)](_0x50928a))return{'type':'DDL','isSelectOnly':![],'isDangerous':!![],'reason':'DDL\x20statements\x20are\x20blocked\x20from\x20auto-save'};return{'type':_0x3eaa6f(0xbd),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x77b614){const _0x8c6942=a219_0x135778;return _0x77b614[_0x8c6942(0xad)](MYBATIS_DYNAMIC_START_MARKER,'\x20')['replaceAll'](MYBATIS_DYNAMIC_END_MARKER,'\x20')['replaceAll'](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function a219_0x2b02(_0x4ae99d,_0x5888d6){_0x4ae99d=_0x4ae99d-0x94;const _0x5dadbb=a219_0x5dad();let _0x2b0275=_0x5dadbb[_0x4ae99d];return _0x2b0275;}function maskSqlTextForBlockedKeywordScan(_0x58381d){const _0xa7bfc9=a219_0x135778;return _0x58381d[_0xa7bfc9(0xc9)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0xa7bfc9(0xc9)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0xa7bfc9(0xc9)](/`(?:``|\\.|[^`])*`/g,'\x20')['replace'](/--.*$/gm,'\x20')[_0xa7bfc9(0xc9)](/#.*$/gm,'\x20')[_0xa7bfc9(0xc9)](/\/\*[\s\S]*?\*\//g,'\x20');}function a219_0x5dad(){const _0x59a415=['split','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','9HHaEvE','has','6jaanuY','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','535636yhCEMq','22639144VcrdMk','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','UPDATE','outer','343650ESsRrD','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','trim','1791248SbhSFx','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','add','isDangerous','Unable\x20to\x20detect\x20SQL\x20type.\x20','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','string','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','test','<!--','SQL\x20content\x20is\x20empty','Unterminated\x20CDATA\x20section.','mybatisXml','indexOf','length','exec','foreach','includes','keys','reason','3455405edHIYj','join','from','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','toUpperCase',''','__RABETBASE_MYBATIS_DYNAMIC_END__','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','unknown\x20table(s)','replaceAll','match','SELECT','set','bind','delete','choose','parseInt','toLowerCase','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','sql','pop','\x20query\x20targeting\x20','&','Unclosed\x20MyBatis\x20XML\x20tag:\x20<','INSERT','UNKNOWN','4221520rZwLbf','<','error','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','property','DELETE','startsWith','select','push','-->','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','replace','rawName','>','insert','Invalid\x20MyBatis\x20XML\x20tag.','"','\x20WHERE\x20','matchAll','8nCsySf','statementType','where','get','1680126swhiEz','<![CDATA[','slice','Unterminated\x20MyBatis\x20XML\x20tag.','Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.','tagName','12rfEqKx','include','otherwise','WITH','when'];a219_0x5dad=function(){return _0x59a415;};return a219_0x5dad();}function extractTables(_0x5182e8){const _0x5beab7=a219_0x135778,_0x1e1f45=_0x5182e8[_0x5beab7(0xc9)](/#\{[^}]*\}/g,'?')[_0x5beab7(0xc9)](/\$\{[^}]*\}/g,'?')[_0x5beab7(0xc9)](/'[^']*'/g,'\x27\x27')['replace'](/--.*$/gm,'')['replace'](/\/\*[\s\S]*?\*\//g,''),_0x42093d=[],_0x20c7a2=_0x1e1f45[_0x5beab7(0xae)](/FROM\s+([^\s,)(]+)/i);addTable(_0x42093d,_0x20c7a2?.[0x1]);for(const _0xb62b01 of _0x1e1f45['matchAll'](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x42093d,_0xb62b01[0x1]);}const _0x4d5685=_0x1e1f45['match'](/INTO\s+([^\s(]+)/i);addTable(_0x42093d,_0x4d5685?.[0x1]);const _0x1f8a7d=_0x1e1f45['match'](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x42093d,_0x1f8a7d?.[0x1]),_0x42093d;}function addTable(_0x27894b,_0x4de887){const _0x209aba=a219_0x135778,_0xa9a0b2=_0x4de887?.[_0x209aba(0xc9)](/[`"]/g,'');_0xa9a0b2&&_0xa9a0b2!==UNRESOLVED_SQL_FRAGMENT&&!_0x27894b[_0x209aba(0xa1)](_0xa9a0b2)&&_0x27894b[_0x209aba(0xc6)](_0xa9a0b2);}function extractParameters(_0x3e16d3){const _0x517604=a219_0x135778,_0x3e47dc=new Set();for(const _0xf094ce of _0x3e16d3[_0x517604(0xd0)](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0xf094ce[0x1])_0x3e47dc[_0x517604(0xf0)](_0xf094ce[0x1]);}return Array[_0x517604(0xa6)](_0x3e47dc);}export function validateSql(_0x399544){const _0x46a4fa=a219_0x135778,_0x2704f9=normalizeSqlForStaticAnalysis(_0x399544),_0x53f7ba=detectNormalizedSqlType(_0x2704f9),_0x2fa547=stripStaticAnalysisMarkers(_0x2704f9[_0x46a4fa(0xb7)]),_0x2954de=_0x2704f9[_0x46a4fa(0xc0)]?[]:extractTables(_0x2fa547),_0x554900=_0x2704f9[_0x46a4fa(0xc0)]?[]:extractParameters(_0x2fa547);if(_0x53f7ba[_0x46a4fa(0xf1)])return{'valid':![],'sqlType':_0x53f7ba,'tables':_0x2954de,'parameters':_0x554900,'message':_0x53f7ba[_0x46a4fa(0xa3)]||_0x53f7ba['type']+_0x46a4fa(0x97)};if(_0x53f7ba['type']==='UNKNOWN')return{'valid':![],'sqlType':_0x53f7ba,'tables':_0x2954de,'parameters':_0x554900,'message':_0x2704f9[_0x46a4fa(0xc0)]?_0x46a4fa(0x94)+_0x2704f9[_0x46a4fa(0xc0)]:_0x46a4fa(0xd9)};return{'valid':!![],'sqlType':_0x53f7ba,'tables':_0x2954de,'parameters':_0x554900,'message':_0x53f7ba['type']+_0x46a4fa(0xb9)+(_0x2954de[_0x46a4fa(0x9e)]?_0x2954de[_0x46a4fa(0xa5)](',\x20'):_0x46a4fa(0xac))+(_0x554900[_0x46a4fa(0x9e)]?'\x20with\x20parameters:\x20'+_0x554900[_0x46a4fa(0xa5)](',\x20'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a220_0x1872(_0xc25b32,_0x51f4ef){_0xc25b32=_0xc25b32-0x1c5;const _0x1fa721=a220_0x1fa7();let _0x1872f3=_0x1fa721[_0xc25b32];return _0x1872f3;}const a220_0x41bf46=a220_0x1872;(function(_0x3a7cb4,_0x3d6b12){const _0x141c7a=a220_0x1872,_0x219b16=_0x3a7cb4();while(!![]){try{const _0x5d243c=-parseInt(_0x141c7a(0x1c7))/0x1+-parseInt(_0x141c7a(0x1cf))/0x2*(parseInt(_0x141c7a(0x1c9))/0x3)+parseInt(_0x141c7a(0x1ce))/0x4+-parseInt(_0x141c7a(0x1ca))/0x5*(parseInt(_0x141c7a(0x1cd))/0x6)+parseInt(_0x141c7a(0x1d2))/0x7+parseInt(_0x141c7a(0x1cc))/0x8*(parseInt(_0x141c7a(0x1c5))/0x9)+-parseInt(_0x141c7a(0x1d3))/0xa;if(_0x5d243c===_0x3d6b12)break;else _0x219b16['push'](_0x219b16['shift']());}catch(_0x35983e){_0x219b16['push'](_0x219b16['shift']());}}}(a220_0x1fa7,0x6b467));function a220_0x1fa7(){const _0x27a140=['Set\x20appcode\x20via\x20`','1719RPcnMs','\x20init\x20--appcode\x20<code>\x20--global`\x20registers\x20globally\x20so\x20you\x20can\x20use\x20it\x20from\x20anywhere.','385126cARVSn','\x0a\x20\x20\x20\x20\x20\x20\x20','81861cfwEIu','180jxXcxz','\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.','31952PeZJrG','23844KlRzqy','3317892vyqSrr','14IIMKEK','join','Tip:\x20`','2561482TODRWK','7996550mBdbgb'];a220_0x1fa7=function(){return _0x27a140;};return a220_0x1fa7();}import{CliError,createCliErrors}from'@lovrabet/cli-framework';import{CLI_BIN_NAME}from'./constant/cli.js';export{CliError};export const CliErrors=createCliErrors({'cliBinName':CLI_BIN_NAME,'authRequiredHint':'Run\x20`'+CLI_BIN_NAME+'\x20auth`\x20to\x20login\x20first.','configMissingHint':[a220_0x41bf46(0x1d4)+CLI_BIN_NAME+a220_0x41bf46(0x1cb),a220_0x41bf46(0x1d1)+CLI_BIN_NAME+a220_0x41bf46(0x1c6)][a220_0x41bf46(0x1d0)](a220_0x41bf46(0x1c8)),'notInProjectHint':'Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.'});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2dfbe5,_0x31b96e){const _0x5517ce=a221_0x5c01,_0x1b653f=_0x2dfbe5();while(!![]){try{const _0x42e292=parseInt(_0x5517ce(0x72))/0x1*(-parseInt(_0x5517ce(0x6a))/0x2)+parseInt(_0x5517ce(0x6c))/0x3*(-parseInt(_0x5517ce(0x71))/0x4)+-parseInt(_0x5517ce(0x6b))/0x5*(-parseInt(_0x5517ce(0x76))/0x6)+parseInt(_0x5517ce(0x67))/0x7*(parseInt(_0x5517ce(0x70))/0x8)+-parseInt(_0x5517ce(0x68))/0x9*(parseInt(_0x5517ce(0x73))/0xa)+-parseInt(_0x5517ce(0x6d))/0xb*(parseInt(_0x5517ce(0x75))/0xc)+parseInt(_0x5517ce(0x69))/0xd;if(_0x42e292===_0x31b96e)break;else _0x1b653f['push'](_0x1b653f['shift']());}catch(_0x24be92){_0x1b653f['push'](_0x1b653f['shift']());}}}(a221_0x4cd6,0xa7ebf));import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';import{buildAllFlags as a221_0x28092d}from'@lovrabet/cli-framework';function a221_0x4cd6(){const _0x492dc3=['8724MrqeXS','155947Sbxoxl','name','yes','2886424ZuENiE','292gAzNOs','15671rQSxmD','10OejyTW','map','948sgdhCm','42WirOba','14KGbNjC','8702973szrtpH','24170107HOUmXu','86DAtDsb','771485dtCCzc'];a221_0x4cd6=function(){return _0x492dc3;};return a221_0x4cd6();}import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';function a221_0x5c01(_0x482cfd,_0x33e086){_0x482cfd=_0x482cfd-0x67;const _0x4cd673=a221_0x4cd6();let _0x5c01fd=_0x4cd673[_0x482cfd];return _0x5c01fd;}export function buildAllFlags(_0x48ba21){const _0x239b3b=a221_0x5c01,_0x1fdb7d=a221_0x28092d(_0x48ba21,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x48ba21))return _0x1fdb7d;return _0x1fdb7d[_0x239b3b(0x74)](_0x23dec2=>_0x23dec2[_0x239b3b(0x6e)]===_0x239b3b(0x6f)?{..._0x23dec2,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x23dec2);}
|