@lovrabet/rabetbase-cli 2.3.13 → 2.3.14-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 -0
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -0
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a202_0x504be5=a202_0x50f4;(function(_0x1d34bf,_0x37b6a5){const _0x119aeb=a202_0x50f4,_0x1a0474=_0x1d34bf();while(!![]){try{const _0xef8d77=parseInt(_0x119aeb(0x11f))/0x1*(-parseInt(_0x119aeb(0x12b))/0x2)+-parseInt(_0x119aeb(0x12c))/0x3+parseInt(_0x119aeb(0x142))/0x4+parseInt(_0x119aeb(0x13a))/0x5+parseInt(_0x119aeb(0x132))/0x6*(parseInt(_0x119aeb(0x12a))/0x7)+-parseInt(_0x119aeb(0x134))/0x8+-parseInt(_0x119aeb(0x12e))/0x9;if(_0xef8d77===_0x37b6a5)break;else _0x1a0474['push'](_0x1a0474['shift']());}catch(_0x3b76a0){_0x1a0474['push'](_0x1a0474['shift']());}}}(a202_0x33a1,0x87e84));import{access,mkdir,readdir,stat}from'node:fs/promises';import{constants}from'node:fs';function a202_0x50f4(_0xb87316,_0x5f5ddf){_0xb87316=_0xb87316-0x11f;const _0x33a114=a202_0x33a1();let _0x50f479=_0x33a114[_0xb87316];return _0x50f479;}import{dirname,join}from'node:path';import{findHookLocationByRemoteId,snakeToCamel}from'../../core/bff/utils.js';export const SUPPORTED_BFF_TYPES=[a202_0x504be5(0x121),a202_0x504be5(0x124),a202_0x504be5(0x131)];function a202_0x33a1(){const _0x1e3857=['after','.js','before','datasetCode','isDirectory','map','3304524wYhMbI','scriptType','name','2kbtbXC','isFile','COMMON','beforeScriptId','functionName','ENDPOINT','afterScriptId','scriptsRootDir','code','operationType','alias','212793dAfiBj','612128RNBuSb','642189aaarlT','push','3665844lfxeAS','HOOK/','all','HOOK','216XxPMoL','trim','2342792uBUFxi','functionNode','F_OK','set','split','ENOENT','812685GbZmWI','toUpperCase'];a202_0x33a1=function(){return _0x1e3857;};return a202_0x33a1();}export function normalizeBffType(_0x3ed549){const _0x2d02bc=a202_0x504be5;if(!_0x3ed549)return undefined;const _0x3ea50d=_0x3ed549[_0x2d02bc(0x133)]()[_0x2d02bc(0x13b)]();return SUPPORTED_BFF_TYPES['includes'](_0x3ea50d)?_0x3ea50d:undefined;}async function scanJsFilesRecursively(_0xce4d6f,_0xe29a43){const _0x995536=a202_0x504be5,_0x11f3be=[];try{const _0x567c29=await readdir(_0xce4d6f,{'withFileTypes':!![]});for(const _0x7db3c6 of _0x567c29){const _0x35d48a=join(_0xce4d6f,_0x7db3c6[_0x995536(0x144)]);if(_0x7db3c6[_0x995536(0x140)]())_0x11f3be[_0x995536(0x12d)](...await scanJsFilesRecursively(_0x35d48a,_0xe29a43+'/'+_0x7db3c6[_0x995536(0x144)]));else _0x7db3c6[_0x995536(0x120)]()&&_0x7db3c6['name']['endsWith'](_0x995536(0x13d))&&_0x11f3be[_0x995536(0x12d)]({'lockKey':_0xe29a43+'/'+_0x7db3c6[_0x995536(0x144)]['replace'](/\.js$/,''),'filePath':_0x35d48a});}}catch(_0x499108){if(_0x499108[_0x995536(0x127)]!==_0x995536(0x139))throw _0x499108;}return _0x11f3be;}async function scanFlatFunctions(_0x15cec1,_0x408381){const _0x551ac3=a202_0x504be5,_0x363159=join(_0x15cec1['scriptsRootDir'],_0x408381),_0x4b12b0=await scanJsFilesRecursively(_0x363159,_0x408381);return _0x4b12b0[_0x551ac3(0x141)](({lockKey:_0x217e14,filePath:_0x5262d8})=>({'type':_0x408381,'name':_0x217e14[_0x551ac3(0x138)]('/')['at'](-0x1)??'','filePath':_0x5262d8,'lockKey':_0x217e14}));}async function scanHookFunctions(_0x49f7e1){const _0x238b2f=a202_0x504be5,_0x2abedb=join(_0x49f7e1[_0x238b2f(0x126)],_0x238b2f(0x131)),_0x4ad2ca=[];try{const _0x56638b=await readdir(_0x2abedb,{'withFileTypes':!![]});for(const _0xfc4c91 of _0x56638b){if(!_0xfc4c91[_0x238b2f(0x140)]())continue;const _0x36f64c=_0xfc4c91[_0x238b2f(0x144)],_0x39e224=join(_0x2abedb,_0x36f64c),_0x4f88b9=await readdir(_0x39e224,{'withFileTypes':!![]});for(const _0x1ccabe of _0x4f88b9){if(!_0x1ccabe[_0x238b2f(0x140)]())continue;const _0x3350a6=_0x1ccabe[_0x238b2f(0x144)],_0x5e1351=join(_0x39e224,_0x3350a6),_0x2c3419=await readdir(_0x5e1351,{'withFileTypes':!![]});for(const _0x1e0b1f of _0x2c3419){if(!_0x1e0b1f[_0x238b2f(0x140)]())continue;const _0x2389cd=_0x1e0b1f[_0x238b2f(0x144)],_0x3192e8=join(_0x5e1351,_0x2389cd),_0x48ad6e=await readdir(_0x3192e8,{'withFileTypes':!![]});for(const _0x5b08cd of _0x48ad6e){if(!_0x5b08cd['isFile']()||!_0x5b08cd[_0x238b2f(0x144)]['endsWith'](_0x238b2f(0x13d)))continue;const _0x13130c=_0x5b08cd[_0x238b2f(0x144)]['replace'](/\.js$/,'');_0x4ad2ca[_0x238b2f(0x12d)]({'type':_0x238b2f(0x131),'name':_0x13130c,'filePath':join(_0x3192e8,_0x5b08cd[_0x238b2f(0x144)]),'lockKey':_0x238b2f(0x12f)+_0x36f64c+'/'+_0x3350a6+'/'+_0x2389cd+'/'+_0x13130c,'alias':_0x36f64c,'operationType':_0x3350a6,'functionNode':_0x2389cd});}}}}}catch(_0x512482){if(_0x512482[_0x238b2f(0x127)]!==_0x238b2f(0x139))throw _0x512482;}return _0x4ad2ca;}export async function scanLocalBffFunctions(_0x412030,_0xf9b64b){const _0x41670a=a202_0x504be5;if(_0xf9b64b==='COMMON'||_0xf9b64b===_0x41670a(0x124))return scanFlatFunctions(_0x412030,_0xf9b64b);if(_0xf9b64b===_0x41670a(0x131))return scanHookFunctions(_0x412030);const [_0x265061,_0x130360,_0x3a2a3d]=await Promise[_0x41670a(0x130)]([scanFlatFunctions(_0x412030,_0x41670a(0x121)),scanFlatFunctions(_0x412030,'ENDPOINT'),scanHookFunctions(_0x412030)]);return[..._0x265061,..._0x130360,..._0x3a2a3d];}export function resolveLocalFilePathFromLockKey(_0x189a87,_0x27bb33){const _0x30e286=a202_0x504be5;return join(_0x189a87[_0x30e286(0x126)],..._0x27bb33[_0x30e286(0x138)]('/'))+'.js';}export function createHookLocationMap(_0x138a2e){const _0x5a7b32=a202_0x504be5,_0x458981=new Map();for(const _0x26b804 of _0x138a2e){_0x26b804[_0x5a7b32(0x122)]&&_0x458981[_0x5a7b32(0x137)](_0x26b804['beforeScriptId'],{'datasetCode':_0x26b804[_0x5a7b32(0x13f)],'operationType':snakeToCamel(_0x26b804[_0x5a7b32(0x128)]),'functionNode':_0x5a7b32(0x13e)}),_0x26b804['afterScriptId']&&_0x458981[_0x5a7b32(0x137)](_0x26b804[_0x5a7b32(0x125)],{'datasetCode':_0x26b804[_0x5a7b32(0x13f)],'operationType':snakeToCamel(_0x26b804['operationType']),'functionNode':_0x5a7b32(0x13c)});}return _0x458981;}export function resolveRemoteScriptTarget(_0x1bd473,_0x20b4df,_0x2d4c41,_0x2b7338,_0x5d8e06){const _0x52157b=a202_0x504be5,_0x1afeb5=normalizeBffType(_0x20b4df[_0x52157b(0x143)]);if(!_0x1afeb5||!_0x20b4df[_0x52157b(0x123)])return null;if(_0x1afeb5===_0x52157b(0x131)){const _0x32d219=(_0x20b4df['id']?_0x2d4c41['get'](_0x20b4df['id']):undefined)??findHookLocationByRemoteId(_0x2b7338,_0x20b4df['id']);if(!_0x32d219)return null;const _0x4508c7=_0x32d219[_0x52157b(0x129)]||_0x5d8e06['get'](_0x32d219['datasetCode']),_0x19849c=_0x4508c7??_0x32d219['datasetCode'],_0x2cada8={..._0x32d219,'alias':_0x4508c7},_0x32311c=_0x52157b(0x12f)+_0x19849c+'/'+_0x2cada8[_0x52157b(0x128)]+'/'+_0x2cada8[_0x52157b(0x135)]+'/'+_0x20b4df['functionName'];return{'lockKey':_0x32311c,'filePath':resolveLocalFilePathFromLockKey(_0x1bd473,_0x32311c),'type':'HOOK','hookLocation':_0x2cada8};}const _0xe1221a=_0x1afeb5+'/'+_0x20b4df['functionName'];return{'lockKey':_0xe1221a,'filePath':resolveLocalFilePathFromLockKey(_0x1bd473,_0xe1221a),'type':_0x1afeb5};}export async function ensureParentDirectory(_0x1fcfa0){await mkdir(dirname(_0x1fcfa0),{'recursive':!![]});}export async function fileExists(_0x5c4f46){const _0x1ee325=a202_0x504be5;try{return await access(_0x5c4f46,constants[_0x1ee325(0x136)]),!![];}catch{return![];}}export async function directoryExists(_0x5ee650){const _0x4b18c6=a202_0x504be5;try{const _0x65404a=await stat(_0x5ee650);return _0x65404a[_0x4b18c6(0x140)]();}catch{return![];}}
|
package/lib/core/bff/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x46d7b5,_0x26160d){const _0x3beaa3=a203_0x42ad,_0x51be51=_0x46d7b5();while(!![]){try{const _0x611820=-parseInt(_0x3beaa3(0xd2))/0x1+-parseInt(_0x3beaa3(0xce))/0x2+parseInt(_0x3beaa3(0xd1))/0x3+-parseInt(_0x3beaa3(0xd5))/0x4+parseInt(_0x3beaa3(0xcf))/0x5*(-parseInt(_0x3beaa3(0xca))/0x6)+-parseInt(_0x3beaa3(0xcc))/0x7*(parseInt(_0x3beaa3(0xd4))/0x8)+parseInt(_0x3beaa3(0xd3))/0x9;if(_0x611820===_0x26160d)break;else _0x51be51['push'](_0x51be51['shift']());}catch(_0x5d8d20){_0x51be51['push'](_0x51be51['shift']());}}}(a203_0x37c8,0xa99b2));import{readFile}from'node:fs/promises';import a203_0x757b71 from'node:crypto';export function computeContentHash(_0x50c394){const _0x9a09f0=a203_0x42ad;return a203_0x757b71[_0x9a09f0(0xcd)](_0x9a09f0(0xd0))[_0x9a09f0(0xcb)](_0x50c394)[_0x9a09f0(0xd7)](_0x9a09f0(0xd6));}function a203_0x42ad(_0x502e6c,_0xe5008a){_0x502e6c=_0x502e6c-0xca;const _0x37c863=a203_0x37c8();let _0x42adfd=_0x37c863[_0x502e6c];return _0x42adfd;}function a203_0x37c8(){const _0x198e87=['1787744aixqWc','hex','digest','222dgValP','update','4151GjNUBJ','createHash','1386106XDbbZs','116680dcllrO','md5','496485jQQfpP','1166279GrjNOK','40420431sJyuWi','10688HFrxgd'];a203_0x37c8=function(){return _0x198e87;};return a203_0x37c8();}export async function computeFileHash(_0x2bf06b){const _0x61e4ad=await readFile(_0x2bf06b,'utf8');return computeContentHash(_0x61e4ad);}
|
package/lib/core/bff/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a204_0x20c0(_0x29bf0,_0x250ddb){_0x29bf0=_0x29bf0-0x98;const _0x3e2039=a204_0x3e20();let _0x20c0cb=_0x3e2039[_0x29bf0];return _0x20c0cb;}(function(_0x42a941,_0x1db578){const _0x188040=a204_0x20c0,_0x14375f=_0x42a941();while(!![]){try{const _0x4983a1=-parseInt(_0x188040(0xa2))/0x1+-parseInt(_0x188040(0x9f))/0x2*(-parseInt(_0x188040(0x98))/0x3)+parseInt(_0x188040(0xab))/0x4+-parseInt(_0x188040(0xae))/0x5+parseInt(_0x188040(0xa7))/0x6+-parseInt(_0x188040(0xa1))/0x7*(-parseInt(_0x188040(0xa6))/0x8)+-parseInt(_0x188040(0xa0))/0x9*(parseInt(_0x188040(0xa9))/0xa);if(_0x4983a1===_0x1db578)break;else _0x14375f['push'](_0x14375f['shift']());}catch(_0x43931e){_0x14375f['push'](_0x14375f['shift']());}}}(a204_0x3e20,0x795e4));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptyBffLock(){return{'apps':{}};}export function ensureLockScope(_0x117cfb,_0x121651,_0x12057c,_0x36c55b){const _0x57600b=a204_0x20c0,_0x41340d={'apps':_0x117cfb[_0x57600b(0x9b)]&&typeof _0x117cfb[_0x57600b(0x9b)]==='object'?_0x117cfb[_0x57600b(0x9b)]:{}};let _0x1dd964=_0x41340d[_0x57600b(0x9b)][_0x121651];if(!_0x1dd964)return _0x1dd964={'scriptsRoot':_0x12057c,'lastSync':'','functions':{}},_0x41340d[_0x57600b(0x9b)][_0x121651]=_0x1dd964,{'lockData':_0x41340d,'appLock':_0x1dd964};if(!_0x1dd964['scriptsRoot'])_0x1dd964[_0x57600b(0xaf)]=_0x12057c;else{if(_0x1dd964[_0x57600b(0xaf)]!==_0x12057c)throw new Error(_0x36c55b+':\x20scriptsRoot\x20mismatch\x20—\x20'+(_0x57600b(0xaa)+_0x12057c+_0x57600b(0xa8)+_0x1dd964[_0x57600b(0xaf)]+'\x22.\x20')+_0x57600b(0xa4));}return!_0x1dd964[_0x57600b(0xa5)]&&(_0x1dd964[_0x57600b(0xa5)]={}),!_0x1dd964[_0x57600b(0xa3)]&&(_0x1dd964[_0x57600b(0xa3)]=''),{'lockData':_0x41340d,'appLock':_0x1dd964};}export async function readBffLockFile(_0x5849a8){const _0x2fdd40=a204_0x20c0;try{const _0x55d4f0=await readFile(_0x5849a8,_0x2fdd40(0xac)),_0x41fa4f=JSON[_0x2fdd40(0x9d)](_0x55d4f0);return{'apps':_0x41fa4f[_0x2fdd40(0x9b)]&&typeof _0x41fa4f['apps']===_0x2fdd40(0x99)?_0x41fa4f[_0x2fdd40(0x9b)]:{}};}catch(_0x1c78c0){if(_0x1c78c0[_0x2fdd40(0x9a)]===_0x2fdd40(0x9e))return null;throw new Error(_0x2fdd40(0xad)+String(_0x1c78c0));}}function a204_0x3e20(){const _0xf1f162=['object','code','apps','stringify','parse','ENOENT','471038KRzaGM','591012QdMfau','112fPFGte','348341epKtVS','lastSync','Check\x20.rabetbase/bff.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.','functions','25952zUnBsI','1853724CKezEp','\x22\x20vs\x20lock\x20\x22','10wqXbsJ','current\x20\x22','2470720mBxVsR','utf8','Failed\x20to\x20read\x20BFF\x20lock\x20file:\x20','1514620PlhKWO','scriptsRoot','3lTRJEH'];a204_0x3e20=function(){return _0xf1f162;};return a204_0x3e20();}export async function writeBffLockFile(_0xc42378,_0x290b69){const _0x577612=a204_0x20c0;await mkdir(dirname(_0xc42378),{'recursive':!![]}),await writeFile(_0xc42378,JSON[_0x577612(0x9c)](_0x290b69,null,0x2),'utf8');}
|
package/lib/core/bff/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x603cf0,_0x49a275){const _0x8a9eb3=a206_0x450c,_0x5f2196=_0x603cf0();while(!![]){try{const _0x42f965=-parseInt(_0x8a9eb3(0xe9))/0x1*(-parseInt(_0x8a9eb3(0xe1))/0x2)+parseInt(_0x8a9eb3(0xe4))/0x3*(parseInt(_0x8a9eb3(0xec))/0x4)+parseInt(_0x8a9eb3(0xee))/0x5*(-parseInt(_0x8a9eb3(0xdb))/0x6)+parseInt(_0x8a9eb3(0xde))/0x7+-parseInt(_0x8a9eb3(0xdf))/0x8*(-parseInt(_0x8a9eb3(0xe6))/0x9)+-parseInt(_0x8a9eb3(0xef))/0xa+-parseInt(_0x8a9eb3(0xe7))/0xb*(-parseInt(_0x8a9eb3(0xe3))/0xc);if(_0x42f965===_0x49a275)break;else _0x5f2196['push'](_0x5f2196['shift']());}catch(_0xac888f){_0x5f2196['push'](_0x5f2196['shift']());}}}(a206_0x38dd,0x66693));export function snakeToCamel(_0x2a7e08){const _0x6c7c39=a206_0x450c;return _0x2a7e08[_0x6c7c39(0xeb)]()['replace'](/_([a-z])/g,(_0x20ea13,_0x2f5295)=>_0x2f5295['toUpperCase']());}export function findHookLocationByRemoteId(_0x211b35,_0x30fb36){const _0x3fe48d=a206_0x450c;if(!_0x30fb36)return undefined;for(const _0x29f635 of Object[_0x3fe48d(0xe2)](_0x211b35)){if(_0x29f635[_0x3fe48d(0xea)]===_0x30fb36&&_0x29f635[_0x3fe48d(0xe0)]&&_0x29f635[_0x3fe48d(0xe8)]&&_0x29f635[_0x3fe48d(0xdc)])return{'datasetCode':_0x29f635[_0x3fe48d(0xe0)],'operationType':_0x29f635[_0x3fe48d(0xe8)],'functionNode':_0x29f635[_0x3fe48d(0xdc)]};}return undefined;}function a206_0x450c(_0x1d8891,_0x44b1e3){_0x1d8891=_0x1d8891-0xda;const _0x38dd00=a206_0x38dd();let _0x450c78=_0x38dd00[_0x1d8891];return _0x450c78;}export function extractScriptDescription(_0x4fcaf6){const _0x4bac3f=a206_0x450c,_0x3de1e7=_0x4fcaf6[_0x4bac3f(0xe5)](/\[\s*脚本描述\s*]\s*(.+)/);return _0x3de1e7?.[0x1]?.[_0x4bac3f(0xda)]()||undefined;}export function isValidBffFunctionName(_0x4dc751){return/^[A-Za-z_$][A-Za-z0-9_$]*$/['test'](_0x4dc751);}function a206_0x38dd(){const _0x46d1de=['operationType','735781kihSHL','remoteId','toLowerCase','323692yiwcim','after','3993545AUDTKM','7486160oROGHb','trim','6VkJEuC','functionNode','before','3150203UxvYcU','211808KqQjzy','datasetCode','2fNWXKB','values','36eSoyYe','15FJkMIl','match','90jYiveT','409255zsAmaC'];a206_0x38dd=function(){return _0x46d1de;};return a206_0x38dd();}export function normalizeHookFunctionNode(_0x230218){const _0xc0948d=a206_0x450c;if(!_0x230218)return undefined;const _0x5478a7=_0x230218[_0xc0948d(0xda)]()[_0xc0948d(0xeb)]();if(_0x5478a7===_0xc0948d(0xdd)||_0x5478a7===_0xc0948d(0xed))return _0x5478a7;return undefined;}
|
package/lib/core/db-resolver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x38159a,_0x30ee12){const _0x1ec7db=a207_0x1c88,_0x2ae9a9=_0x38159a();while(!![]){try{const _0x60c6=parseInt(_0x1ec7db(0x94))/0x1*(parseInt(_0x1ec7db(0x83))/0x2)+parseInt(_0x1ec7db(0x87))/0x3*(parseInt(_0x1ec7db(0x7d))/0x4)+parseInt(_0x1ec7db(0x93))/0x5+parseInt(_0x1ec7db(0x8b))/0x6+parseInt(_0x1ec7db(0x90))/0x7+parseInt(_0x1ec7db(0x84))/0x8+-parseInt(_0x1ec7db(0x95))/0x9;if(_0x60c6===_0x30ee12)break;else _0x2ae9a9['push'](_0x2ae9a9['shift']());}catch(_0x5cd957){_0x2ae9a9['push'](_0x2ae9a9['shift']());}}}(a207_0x1842,0x2a471));import{listDatasets}from'../core/api-client.js';const cache=new Map();export async function listDatabases(_0x11d027){const _0x37fc32=a207_0x1c88;if(cache['has'](_0x11d027))return cache[_0x37fc32(0x98)](_0x11d027);const _0x2ec1ee=await listDatasets(_0x11d027),_0x5caf2b=new Map();for(const _0x2b0034 of _0x2ec1ee){const _0x371bee=_0x2b0034[_0x37fc32(0x91)];_0x371bee?.['dbId']!=null&&_0x5caf2b[_0x37fc32(0x86)](_0x371bee['dbId'],_0x371bee[_0x37fc32(0x7c)]??'db-'+_0x371bee[_0x37fc32(0x8d)]);}const _0x4dac7e=[..._0x5caf2b[_0x37fc32(0x8e)]()]['map'](([_0x4f889e,_0x165538])=>({'dbId':_0x4f889e,'dbName':_0x165538}));return cache[_0x37fc32(0x86)](_0x11d027,_0x4dac7e),_0x4dac7e;}export async function resolveDb(_0x1561f5,_0x147586){const _0x3f9c01=a207_0x1c88,_0x3983f5=await listDatabases(_0x1561f5);if(_0x3983f5[_0x3f9c01(0x81)]===0x0)return{'resolved':[],'error':_0x3f9c01(0x82)+_0x1561f5+_0x3f9c01(0x8f)};if(!_0x147586)return{'resolved':_0x3983f5};const _0x40c9dc=Number(_0x147586);if(!Number['isNaN'](_0x40c9dc)){const _0x3bb3ff=_0x3983f5[_0x3f9c01(0x89)](_0x4eae23=>_0x4eae23[_0x3f9c01(0x8d)]===_0x40c9dc);if(_0x3bb3ff)return{'resolved':[_0x3bb3ff]};}const _0x5e374c=_0x147586['toLowerCase'](),_0x5c482c=_0x3983f5[_0x3f9c01(0x7f)](_0xe833f1=>_0xe833f1[_0x3f9c01(0x7c)][_0x3f9c01(0x92)]()[_0x3f9c01(0x8a)](_0x5e374c));if(_0x5c482c[_0x3f9c01(0x81)]>0x0)return{'resolved':_0x5c482c};const _0x5b9194=_0x3983f5['map'](_0x28a03a=>_0x28a03a[_0x3f9c01(0x7c)]+'\x20('+_0x28a03a[_0x3f9c01(0x8d)]+')')[_0x3f9c01(0x96)](',\x20');return{'resolved':[],'error':_0x3f9c01(0x88)+_0x147586+_0x3f9c01(0x99)+_0x1561f5+_0x3f9c01(0x7e)+_0x5b9194+_0x3f9c01(0x85)};}export async function resolveOneDb(_0x41770d,_0x4fbec0){const _0x416887=a207_0x1c88,{resolved:_0x524e38,error:_0x406296}=await resolveDb(_0x41770d,_0x4fbec0);if(_0x406296)return{'db':null,'error':_0x406296};if(_0x524e38[_0x416887(0x81)]===0x1)return{'db':_0x524e38[0x0]};if(!_0x4fbec0){const _0x57ceb6=_0x524e38[_0x416887(0x80)](_0x464e9c=>_0x464e9c[_0x416887(0x7c)]+'\x20('+_0x464e9c[_0x416887(0x8d)]+')')[_0x416887(0x96)](',\x20');return{'db':null,'error':'Multiple\x20databases\x20found.\x20Specify\x20one\x20with\x20--db:\x20'+_0x57ceb6};}const _0x49c091=_0x524e38[_0x416887(0x80)](_0x52439c=>_0x52439c[_0x416887(0x7c)]+'\x20('+_0x52439c['dbId']+')')[_0x416887(0x96)](',\x20');return{'db':null,'error':'\x22'+_0x4fbec0+_0x416887(0x8c)+_0x49c091+_0x416887(0x97)};}function a207_0x1c88(_0x2fc5fd,_0x2bfb21){_0x2fc5fd=_0x2fc5fd-0x7c;const _0x18424d=a207_0x1842();let _0x1c8825=_0x18424d[_0x2fc5fd];return _0x1c8825;}function a207_0x1842(){const _0x3f9b55=['1441244iceZvd','dbtableConfig','toLowerCase','373000vYDTYQ','34moFwfV','10228437sBOZUp','join','.\x20Be\x20more\x20specific.','get','\x22\x20under\x20app\x20\x22','dbName','20oMuzXe','\x22.\x20Available:\x20','filter','map','length','No\x20linked\x20databases\x20found\x20under\x20app\x20\x22','19478vaKxAt','2212880PQgvBu','.\x20If\x20this\x20db\x20belongs\x20to\x20another\x20app,\x20rerun\x20with\x20--appcode\x20<appCode>.','set','162201ttYphg','No\x20database\x20matching\x20\x22','find','includes','906594WPqqSW','\x22\x20matches\x20multiple\x20databases:\x20','dbId','entries','\x22.\x20Make\x20sure\x20datasets\x20have\x20been\x20created.'];a207_0x1842=function(){return _0x3f9b55;};return a207_0x1842();}export async function getDbName(_0x1e3ab2,_0x213df5){const _0x452975=a207_0x1c88,_0xd752a0=await listDatabases(_0x1e3ab2);return _0xd752a0['find'](_0x3759ea=>_0x3759ea[_0x452975(0x8d)]===_0x213df5)?.[_0x452975(0x7c)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4763d9,_0x542e20){const _0x1cbf5e=a208_0x3f80,_0x54ebfa=_0x4763d9();while(!![]){try{const _0x47dd78=-parseInt(_0x1cbf5e(0xdb))/0x1*(parseInt(_0x1cbf5e(0xd6))/0x2)+parseInt(_0x1cbf5e(0xd5))/0x3*(-parseInt(_0x1cbf5e(0xd3))/0x4)+parseInt(_0x1cbf5e(0xce))/0x5*(parseInt(_0x1cbf5e(0xcf))/0x6)+-parseInt(_0x1cbf5e(0xd4))/0x7*(-parseInt(_0x1cbf5e(0xcd))/0x8)+parseInt(_0x1cbf5e(0xda))/0x9*(-parseInt(_0x1cbf5e(0xd9))/0xa)+-parseInt(_0x1cbf5e(0xcc))/0xb*(parseInt(_0x1cbf5e(0xd8))/0xc)+parseInt(_0x1cbf5e(0xd0))/0xd;if(_0x47dd78===_0x542e20)break;else _0x54ebfa['push'](_0x54ebfa['shift']());}catch(_0x3f707a){_0x54ebfa['push'](_0x54ebfa['shift']());}}}(a208_0x2333,0x377d4));import{constants}from'node:fs';import{access,mkdir}from'node:fs/promises';function a208_0x3f80(_0x1ea154,_0x37cf79){_0x1ea154=_0x1ea154-0xcb;const _0x2333ce=a208_0x2333();let _0x3f80ea=_0x2333ce[_0x1ea154];return _0x3f80ea;}function a208_0x2333(){const _0x48635f=['1ktKdTB','page','toUpperCase','67012sFBFML','12976yZkTSL','5HPHnjR','1040982hRncnv','10784904WzGoUy','appPagesDir','F_OK','26276jYFjfB','1267vbnvIR','90AVXqws','779674VpouNw','.rabetbase','372pZdQMl','10sCXyIT','2642796HNPqcv'];a208_0x2333=function(){return _0x48635f;};return a208_0x2333();}import{dirname,join,resolve}from'node:path';export function loadPageProjectConfig(_0x1c5d4c,_0x1e6d27=process['cwd']()){const _0x3cc778=a208_0x3f80,_0x25cccb=resolve(_0x1e6d27),_0xe3508f=join(_0x25cccb,_0x3cc778(0xd7),_0x3cc778(0xdc));return{'projectRoot':_0x25cccb,'pagesBaseDir':_0xe3508f,'appPagesDir':join(_0xe3508f,_0x1c5d4c),'lockFilePath':join(_0x25cccb,_0x3cc778(0xd7),'page.lock.json')};}export function buildPageFileName(_0x11a116,_0x2efb74){const _0x7413ec=a208_0x3f80;return _0x11a116+'-'+String(_0x2efb74)[_0x7413ec(0xcb)]()+'.json';}export function resolvePageFilePath(_0x1c55ff,_0x173126,_0x4bf1bf){const _0x1833b6=a208_0x3f80;return join(_0x1c55ff[_0x1833b6(0xd1)],buildPageFileName(_0x173126,_0x4bf1bf));}export async function ensureParentDirectory(_0xa98cc2){await mkdir(dirname(_0xa98cc2),{'recursive':!![]});}export async function fileExists(_0x56ea33){const _0x15d754=a208_0x3f80;try{return await access(_0x56ea33,constants[_0x15d754(0xd2)]),!![];}catch{return![];}}
|
package/lib/core/page/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x23b6b6,_0x2ceeaa){const _0x19cba7=a209_0x118d,_0x46d6de=_0x23b6b6();while(!![]){try{const _0x589491=parseInt(_0x19cba7(0x1d5))/0x1*(parseInt(_0x19cba7(0x1e0))/0x2)+parseInt(_0x19cba7(0x1de))/0x3*(parseInt(_0x19cba7(0x1e6))/0x4)+-parseInt(_0x19cba7(0x1e5))/0x5*(-parseInt(_0x19cba7(0x1e1))/0x6)+-parseInt(_0x19cba7(0x1da))/0x7+-parseInt(_0x19cba7(0x1db))/0x8*(parseInt(_0x19cba7(0x1e4))/0x9)+parseInt(_0x19cba7(0x1dd))/0xa*(-parseInt(_0x19cba7(0x1d9))/0xb)+parseInt(_0x19cba7(0x1d6))/0xc;if(_0x589491===_0x2ceeaa)break;else _0x46d6de['push'](_0x46d6de['shift']());}catch(_0x490f11){_0x46d6de['push'](_0x46d6de['shift']());}}}(a209_0xd776,0xc1a9c));import a209_0x519029 from'node:crypto';import{readFile}from'node:fs/promises';function a209_0x118d(_0x12661e,_0x57d4cf){_0x12661e=_0x12661e-0x1d5;const _0xd776af=a209_0xd776();let _0x118db0=_0xd776af[_0x12661e];return _0x118db0;}export function serializePageSchemaForFile(_0x389e22){const _0x36b29b=a209_0x118d;return JSON[_0x36b29b(0x1e2)](JSON[_0x36b29b(0x1dc)](_0x389e22),null,0x2)+'\x0a';}export function computePageContentHash(_0x3bce8c){const _0x294cb7=a209_0x118d;return a209_0x519029[_0x294cb7(0x1d8)](_0x294cb7(0x1e3))['update'](_0x3bce8c)[_0x294cb7(0x1d7)]('hex');}function a209_0xd776(){const _0x1e026b=['8754WAIltG','utf8','464326EtJUsr','72oBtAqJ','stringify','md5','2934zhRyFu','46055qIJXlB','848pBbGpK','2CzTimi','33413232WIjPlk','digest','createHash','10372934RYEWNC','7474222FbmEce','28808uLrruW','parse','10UPrrWa'];a209_0xd776=function(){return _0x1e026b;};return a209_0xd776();}export function computeSerializedSchemaHash(_0x29d1ef){return computePageContentHash(serializePageSchemaForFile(_0x29d1ef));}export async function computePageFileHash(_0x2ce5bf){const _0x5670fc=a209_0x118d,_0x5c4503=await readFile(_0x2ce5bf,_0x5670fc(0x1df));return computePageContentHash(_0x5c4503);}
|
package/lib/core/page/lock.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x160f5a,_0xa1235b){const _0x3f94df=a210_0x1dd5,_0xbcc158=_0x160f5a();while(!![]){try{const _0xb35f7a=-parseInt(_0x3f94df(0x8f))/0x1*(parseInt(_0x3f94df(0x8c))/0x2)+parseInt(_0x3f94df(0x88))/0x3+-parseInt(_0x3f94df(0x91))/0x4+parseInt(_0x3f94df(0x89))/0x5*(-parseInt(_0x3f94df(0x84))/0x6)+parseInt(_0x3f94df(0x83))/0x7+-parseInt(_0x3f94df(0x93))/0x8*(-parseInt(_0x3f94df(0x87))/0x9)+parseInt(_0x3f94df(0x82))/0xa;if(_0xb35f7a===_0xa1235b)break;else _0xbcc158['push'](_0xbcc158['shift']());}catch(_0x208b71){_0xbcc158['push'](_0xbcc158['shift']());}}}(a210_0x2582,0x5af3a));import{mkdir,readFile,writeFile}from'node:fs/promises';function a210_0x2582(){const _0x36504f=['9tzErYd','1040937fKzkyY','14215PvUOPq','Failed\x20to\x20read\x20page\x20lock\x20file:\x20','object','4dNEZXN','pages','lastSync','125204upHnuS','parse','2479716wAshqN','utf8','360088jdLVyN','4571140lOCtNI','3273823rejmUB','156AYMFji','ENOENT','apps'];a210_0x2582=function(){return _0x36504f;};return a210_0x2582();}import{dirname}from'node:path';function a210_0x1dd5(_0x4108d5,_0x1cbcdc){_0x4108d5=_0x4108d5-0x82;const _0x2582ed=a210_0x2582();let _0x1dd555=_0x2582ed[_0x4108d5];return _0x1dd555;}export function createEmptyPageLock(){return{'apps':{}};}export function ensurePageLockScope(_0x427c26,_0x48f11f){const _0x255ce6=a210_0x1dd5,_0x324976={'apps':_0x427c26['apps']&&typeof _0x427c26[_0x255ce6(0x86)]===_0x255ce6(0x8b)?_0x427c26[_0x255ce6(0x86)]:{}};let _0x5cffa9=_0x324976[_0x255ce6(0x86)][_0x48f11f];if(!_0x5cffa9)return _0x5cffa9={'lastSync':'','pages':{}},_0x324976[_0x255ce6(0x86)][_0x48f11f]=_0x5cffa9,{'lockData':_0x324976,'appLock':_0x5cffa9};return!_0x5cffa9[_0x255ce6(0x8e)]&&(_0x5cffa9[_0x255ce6(0x8e)]=''),(!_0x5cffa9[_0x255ce6(0x8d)]||typeof _0x5cffa9[_0x255ce6(0x8d)]!==_0x255ce6(0x8b))&&(_0x5cffa9[_0x255ce6(0x8d)]={}),{'lockData':_0x324976,'appLock':_0x5cffa9};}export async function readPageLockFile(_0x4f9f97){const _0x33826c=a210_0x1dd5;try{const _0x1302a2=await readFile(_0x4f9f97,_0x33826c(0x92)),_0x484230=JSON[_0x33826c(0x90)](_0x1302a2);return{'apps':_0x484230['apps']&&typeof _0x484230['apps']===_0x33826c(0x8b)?_0x484230['apps']:{}};}catch(_0x225cd7){if(_0x225cd7['code']===_0x33826c(0x85))return null;throw new Error(_0x33826c(0x8a)+String(_0x225cd7));}}export async function writePageLockFile(_0x1c39e4,_0x1a1fa5){const _0x2cfaec=a210_0x1dd5;await mkdir(dirname(_0x1c39e4),{'recursive':!![]}),await writeFile(_0x1c39e4,JSON['stringify'](_0x1a1fa5,null,0x2),_0x2cfaec(0x92));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3af9f8,_0x244634){const _0x422ccc=a210_0x268a,_0x371f6f=_0x3af9f8();while(!![]){try{const _0x4a1eb3=-parseInt(_0x422ccc(0x19c))/0x1*(-parseInt(_0x422ccc(0x1b8))/0x2)+-parseInt(_0x422ccc(0x190))/0x3+parseInt(_0x422ccc(0x192))/0x4*(parseInt(_0x422ccc(0x17e))/0x5)+parseInt(_0x422ccc(0x184))/0x6+-parseInt(_0x422ccc(0x1ab))/0x7*(parseInt(_0x422ccc(0x1b2))/0x8)+-parseInt(_0x422ccc(0x17f))/0x9*(parseInt(_0x422ccc(0x189))/0xa)+parseInt(_0x422ccc(0x19e))/0xb;if(_0x4a1eb3===_0x244634)break;else _0x371f6f['push'](_0x371f6f['shift']());}catch(_0x1d1023){_0x371f6f['push'](_0x371f6f['shift']());}}}(a210_0x4f97,0x19750));import{MYBATIS_DYNAMIC_END_MARKER,MYBATIS_DYNAMIC_START_MARKER,MYBATIS_INCLUDE_MARKER,normalizeSqlForStaticAnalysis}from'./sql-validator.js';export function auditSqlJoinIndexes(_0x5d1b13,_0x1d92a3){const _0x337a6e=a210_0x268a,_0x231fa1=[],_0x193673=normalizeSqlForStaticAnalysis(_0x5d1b13),_0x16f5a0=(_0x193673[_0x337a6e(0x1ba)]?[]:extractJoinFacts(_0x193673[_0x337a6e(0x1aa)]))[_0x337a6e(0x1a9)](_0x315ee2=>{const _0x307ed2=_0x337a6e;if(_0x315ee2[_0x307ed2(0x195)]||_0x315ee2[_0x307ed2(0x182)][_0x307ed2(0x1bd)]===0x0)return _0x231fa1['push']({'code':'JOIN_PREDICATE_UNSUPPORTED','table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'reason':_0x315ee2[_0x307ed2(0x1a0)]??_0x307ed2(0x1b3)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x1b5)};const _0x5d3bba=resolveTableMetadata(_0x1d92a3,_0x315ee2['table']),_0x15fa37=(_0x5d3bba?.[_0x307ed2(0x1b4)]??[])[_0x307ed2(0x1a9)](_0x39622e=>({'index':_0x39622e,'matchedPrefix':findEqualityPrefix(_0x39622e['columns'],_0x315ee2[_0x307ed2(0x182)])}))[_0x307ed2(0x1ac)](_0x4e097a=>_0x4e097a[_0x307ed2(0x19d)][_0x307ed2(0x1bd)]>0x0),_0x2f4312=_0x15fa37[_0x307ed2(0x1a4)]((_0x1879a1,_0x149c27)=>!_0x1879a1||_0x149c27[_0x307ed2(0x19d)][_0x307ed2(0x1bd)]>_0x1879a1[_0x307ed2(0x19d)]['length']?_0x149c27:_0x1879a1,_0x15fa37[0x0]);if(_0x2f4312)return{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x186),'matchedIndex':{..._0x2f4312['index'],'matchedPrefix':_0x2f4312[_0x307ed2(0x19d)]}};const _0x5c4d5d=_0x5d3bba?.[_0x307ed2(0x1b4)]['filter'](_0x492082=>_0x492082['columns']['some'](_0x4e8f18=>_0x315ee2[_0x307ed2(0x182)]['some'](_0x1dfb04=>columnNamesMatch(_0x4e8f18,_0x1dfb04))))??[];if(_0x5c4d5d[_0x307ed2(0x1bd)]>0x0)return _0x231fa1[_0x307ed2(0x178)]({'code':'JOIN_INDEX_NOT_USABLE','table':_0x315ee2['table'],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'reason':_0x307ed2(0x1a2)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x177),'candidateIndexes':_0x5c4d5d};if(_0x5d3bba&&_0x5d3bba['metadataAvailable']!==![]&&_0x5d3bba[_0x307ed2(0x1b4)][_0x307ed2(0x1bd)]>0x0&&_0x315ee2[_0x307ed2(0x182)][_0x307ed2(0x1bd)]>0x0)return _0x231fa1[_0x307ed2(0x178)]({'code':_0x307ed2(0x1b6),'table':_0x315ee2['table'],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2['columns'],'reason':_0x307ed2(0x18e)}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2[_0x307ed2(0x1bb)],'columns':_0x315ee2[_0x307ed2(0x182)],'status':'warning'};return _0x231fa1[_0x307ed2(0x178)]({'code':_0x307ed2(0x1ae),'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2['columns'],'reason':_0x5d3bba?_0x307ed2(0x188):'No\x20dataset\x20metadata\x20matched\x20the\x20JOIN\x20table.'}),{'table':_0x315ee2[_0x307ed2(0x1a8)],'alias':_0x315ee2['alias'],'columns':_0x315ee2[_0x307ed2(0x182)],'status':_0x307ed2(0x1b5)};});return{'checked':_0x16f5a0['length']>0x0,'joins':_0x16f5a0,'warnings':_0x231fa1};}function extractJoinFacts(_0x2aa6cb){const _0x2f95be=a210_0x268a,_0x44bf5e=maskNestedQueries(stripSqlNoise(_0x2aa6cb)),_0x5624d5=maskQuotedIdentifiers(_0x44bf5e),_0x452156=[],_0x4f17e1=new Set(),_0x7873e9=/\b(?:(INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?\s+ON\s+([\s\S]*?)(?=\s+(?:(?:(?:INNER|LEFT|RIGHT|FULL)(?:\s+OUTER)?\s+)?JOIN\b|(?:WHERE|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|UNION)\b)|;|$)/gi;for(const _0x323c48 of _0x44bf5e[_0x2f95be(0x1af)](_0x7873e9)){const _0x5855fc=_0x323c48[_0x2f95be(0x19a)]??0x0,_0x896968=_0x323c48[0x0]['search'](/\bJOIN\b/i),_0x396f89=_0x5855fc+Math[_0x2f95be(0x17d)](0x0,_0x896968);if(!/^JOIN\b/i[_0x2f95be(0x193)](_0x5624d5[_0x2f95be(0x196)](_0x396f89)))continue;_0x4f17e1[_0x2f95be(0x1a6)](_0x396f89);const _0x2224c7=normalizeIdentifier(_0x323c48[0x1]||'INNER'),_0x26b20d=normalizeIdentifier(_0x323c48[0x2]??''),_0x336450=normalizeIdentifier(_0x323c48[0x3]||_0x26b20d[_0x2f95be(0x197)]('.')['at'](-0x1)||_0x26b20d),_0x4aa7be=[],_0x185e20=_0x26b20d==='__sq__';let _0x20ef43=_0x2224c7==='right'||_0x2224c7===_0x2f95be(0x18d)||_0x185e20,_0x131d8e=_0x20ef43?_0x185e20?'Derived-table\x20JOIN\x20targets\x20are\x20not\x20supported.':_0x2224c7[_0x2f95be(0x198)]()+'\x20JOIN\x20direction\x20is\x20not\x20supported\x20by\x20static\x20index\x20auditing.':undefined;const _0x8cf86e=stripOuterParentheses(_0x323c48[0x4]??''),_0x3c7a33=_0x8cf86e[_0x2f95be(0x19f)](MYBATIS_DYNAMIC_START_MARKER)||_0x8cf86e[_0x2f95be(0x19f)](MYBATIS_DYNAMIC_END_MARKER),_0x368962=_0x8cf86e['includes'](MYBATIS_INCLUDE_MARKER);_0x3c7a33&&(_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x1be));_0x368962&&(_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x175));const _0x392bad=_0x8cf86e[_0x2f95be(0x194)](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x2f95be(0x194)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x2f95be(0x194)](MYBATIS_INCLUDE_MARKER,'\x20');hasTopLevelKeyword(_0x392bad,'OR')&&(_0x20ef43=!![],_0x131d8e??='OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.');for(const _0x57204b of splitTopLevelAnd(_0x392bad)){const _0x3d81a9=stripOuterParentheses(_0x57204b);if(hasTopLevelKeyword(_0x3d81a9,'OR')){_0x20ef43=!![],_0x131d8e??=_0x2f95be(0x199);continue;}const _0x41a805=splitEquality(_0x3d81a9);if(!_0x41a805){containsColumnReference(_0x57204b,_0x336450)&&(_0x20ef43=!![]);continue;}const _0xd2650d=parseDirectColumnReference(_0x41a805[0x0],_0x336450),_0x2a92da=parseDirectColumnReference(_0x41a805[0x1],_0x336450),_0x5eb686=containsColumnReference(_0x41a805[0x0],_0x336450),_0x35499e=containsColumnReference(_0x41a805[0x1],_0x336450),_0x4922a0=_0xd2650d&&!_0x35499e?_0xd2650d:_0x2a92da&&!_0x5eb686?_0x2a92da:null;if(_0x4922a0&&!_0x4aa7be[_0x2f95be(0x19f)](_0x4922a0))_0x4aa7be[_0x2f95be(0x178)](_0x4922a0);else!_0x4922a0&&containsColumnReference(_0x57204b,_0x336450)&&(_0x20ef43=!![]);}_0x452156['push']({'table':_0x26b20d,'alias':_0x336450,'columns':_0x4aa7be,'unsupportedPredicate':_0x20ef43,'unsupportedReason':_0x131d8e,'containsUnresolvedInclude':_0x368962,'position':_0x396f89});}for(const _0x35ec42 of _0x5624d5['matchAll'](/\bJOIN\b/gi)){const _0x438e56=_0x35ec42[_0x2f95be(0x19a)]??0x0;if(_0x4f17e1[_0x2f95be(0x17c)](_0x438e56))continue;const _0xcac723=/^\s+([`"\w$.]+)(?:\s+(?:AS\s+)?([`"\w$]+))?/[_0x2f95be(0x179)](_0x44bf5e[_0x2f95be(0x196)](_0x438e56+_0x35ec42[0x0]['length'])),_0xacf7f3=normalizeIdentifier(_0xcac723?.[0x1]||_0x2f95be(0x181)),_0x4a11ad=normalizeIdentifier(_0xcac723?.[0x2]||''),_0x57eb09=isSqlClauseKeyword(_0x4a11ad)?_0xacf7f3[_0x2f95be(0x197)]('.')['at'](-0x1)||_0xacf7f3:_0x4a11ad||_0xacf7f3[_0x2f95be(0x197)]('.')['at'](-0x1)||_0xacf7f3;_0x452156[_0x2f95be(0x178)]({'table':_0xacf7f3,'alias':_0x57eb09,'columns':[],'unsupportedPredicate':!![],'unsupportedReason':_0x2f95be(0x18b),'position':_0x438e56});}const _0x1c6bd7=_0x5624d5[_0x2f95be(0x18f)](MYBATIS_INCLUDE_MARKER);return _0x1c6bd7>=0x0&&!_0x452156[_0x2f95be(0x185)](_0x1c0894=>_0x1c0894[_0x2f95be(0x1b1)])&&_0x452156[_0x2f95be(0x178)]({'table':_0x2f95be(0x181),'alias':_0x2f95be(0x181),'columns':[],'unsupportedPredicate':!![],'unsupportedReason':'MyBatis\x20<include>\x20fragments\x20cannot\x20be\x20expanded\x20for\x20JOIN\x20auditing.','containsUnresolvedInclude':!![],'position':_0x1c6bd7}),_0x452156[_0x2f95be(0x174)]((_0x3a1e00,_0x26ac02)=>_0x3a1e00[_0x2f95be(0x1a3)]-_0x26ac02[_0x2f95be(0x1a3)]);}function stripSqlNoise(_0x33caca){const _0x7e0be3=a210_0x268a,_0x544296=Array[_0x7e0be3(0x1bf)](_0x33caca),_0x41fbb7=(_0x54c909,_0x25ceaf)=>{for(let _0xac261d=_0x54c909;_0xac261d<_0x25ceaf;_0xac261d+=0x1){_0x544296[_0xac261d]!=='\x0a'&&_0x544296[_0xac261d]!=='\x0d'&&(_0x544296[_0xac261d]='\x20');}};for(let _0xb0f3fa=0x0;_0xb0f3fa<_0x544296['length'];_0xb0f3fa+=0x1){const _0xa625d7=_0x544296[_0xb0f3fa],_0x104d1e=_0x544296[_0xb0f3fa+0x1];if(_0xa625d7==='\x27'||_0xa625d7==='\x22'||_0xa625d7==='`'){const _0x35cb1a=_0xa625d7,_0x2c7fcc=_0xb0f3fa;_0xb0f3fa+=0x1;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]){if(_0x544296[_0xb0f3fa]==='\x5c'&&_0xb0f3fa+0x1<_0x544296[_0x7e0be3(0x1bd)]){_0xb0f3fa+=0x2;continue;}if(_0x544296[_0xb0f3fa]!==_0x35cb1a){_0xb0f3fa+=0x1;continue;}if(_0x544296[_0xb0f3fa+0x1]===_0x35cb1a){_0xb0f3fa+=0x2;continue;}break;}if(_0x35cb1a==='\x27')_0x41fbb7(_0x2c7fcc,Math[_0x7e0be3(0x180)](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]));continue;}if(_0xa625d7==='-'&&_0x104d1e==='-'){const _0x1ca702=_0xb0f3fa;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&_0x544296[_0xb0f3fa]!=='\x0a')_0xb0f3fa+=0x1;_0x41fbb7(_0x1ca702,_0xb0f3fa);continue;}if(_0xa625d7==='/'&&_0x104d1e==='*'){const _0x489433=_0xb0f3fa;_0xb0f3fa+=0x2;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&!(_0x544296[_0xb0f3fa]==='*'&&_0x544296[_0xb0f3fa+0x1]==='/')){_0xb0f3fa+=0x1;}_0xb0f3fa=Math['min'](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]-0x1),_0x41fbb7(_0x489433,_0xb0f3fa+0x1);continue;}if(_0xa625d7==='#'&&_0x104d1e!=='{'){const _0x2e0287=_0xb0f3fa;while(_0xb0f3fa<_0x544296['length']&&_0x544296[_0xb0f3fa]!=='\x0a')_0xb0f3fa+=0x1;_0x41fbb7(_0x2e0287,_0xb0f3fa);continue;}if((_0xa625d7==='#'||_0xa625d7==='$')&&_0x104d1e==='{'){const _0x2c9cb7=_0xb0f3fa;_0xb0f3fa+=0x2;while(_0xb0f3fa<_0x544296[_0x7e0be3(0x1bd)]&&_0x544296[_0xb0f3fa]!=='}')_0xb0f3fa+=0x1;_0x41fbb7(_0x2c9cb7,Math['min'](_0xb0f3fa+0x1,_0x544296[_0x7e0be3(0x1bd)]));}}return _0x544296['join']('');}function a210_0x4f97(){const _0x18c4e0=['cross','error','alias','startsWith','length','MyBatis\x20dynamic\x20JOIN\x20predicates\x20cannot\x20be\x20audited\x20deterministically.','from','sort','MyBatis\x20<include>\x20JOIN\x20fragments\x20cannot\x20be\x20expanded\x20statically.','where','warning','push','exec','\x5c$&','tableName','has','max','5SsNSpZ','207LMsKVV','min','unknown','columns','match','487932tCDCNQ','some','covered','(?:^|[^\x5cw$])','The\x20dataset\x20returned\x20no\x20distinguishable\x20index\x20metadata.','74590pvGFYL','endsWith','Only\x20explicit\x20table\x20JOIN\x20clauses\x20with\x20an\x20ON\x20predicate\x20are\x20supported.','trim','full','No\x20reported\x20index\x20contains\x20the\x20JOIN\x20access\x20columns.','indexOf','144438eqkhnS','natural','188740uTaQcd','test','replaceAll','unsupportedPredicate','slice','split','toUpperCase','OR-connected\x20JOIN\x20predicates\x20are\x20not\x20supported.','index','replace','101kyDapM','matchedPrefix','1358544pkSdQR','includes','unsupportedReason','inner','Relevant\x20columns\x20do\x20not\x20form\x20a\x20complete\x20leftmost\x20index\x20prefix.','position','reduce','right','add','__sq__','table','map','sql','21CWsRqT','filter','using','INDEX_METADATA_UNAVAILABLE','matchAll','toLowerCase','containsUnresolvedInclude','334912yqAABs','Not\x20every\x20JOIN\x20target\x20predicate\x20could\x20be\x20audited\x20safely.','indexes','unavailable','JOIN_INDEX_MISSING','join','3912ZlPbwT'];a210_0x4f97=function(){return _0x18c4e0;};return a210_0x4f97();}function maskQuotedIdentifiers(_0x588f29){const _0x59a85d=a210_0x268a,_0x3a6c50=Array[_0x59a85d(0x1bf)](_0x588f29);for(let _0x323320=0x0;_0x323320<_0x3a6c50[_0x59a85d(0x1bd)];_0x323320+=0x1){const _0x1e2db3=_0x3a6c50[_0x323320];if(_0x1e2db3!=='\x22'&&_0x1e2db3!=='`')continue;_0x323320+=0x1;while(_0x323320<_0x3a6c50[_0x59a85d(0x1bd)]){if(_0x3a6c50[_0x323320]===_0x1e2db3){if(_0x3a6c50[_0x323320+0x1]===_0x1e2db3){_0x3a6c50[_0x323320]='\x20',_0x3a6c50[_0x323320+0x1]='\x20',_0x323320+=0x2;continue;}break;}_0x3a6c50[_0x323320]='\x20',_0x323320+=0x1;}}return _0x3a6c50[_0x59a85d(0x1b7)]('');}function maskNestedQueries(_0x2eea89){const _0x512b48=a210_0x268a,_0x1dfc1e=Array['from'](_0x2eea89);for(let _0x5f13bd=0x0;_0x5f13bd<_0x1dfc1e['length'];_0x5f13bd+=0x1){if(_0x1dfc1e[_0x5f13bd]!=='(')continue;const _0x45166b=_0x2eea89['slice'](_0x5f13bd+0x1);if(!/^\s*(?:SELECT|WITH)\b/i[_0x512b48(0x193)](_0x45166b))continue;let _0x3b8d82=0x1,_0xfc6965=_0x5f13bd+0x1;for(;_0xfc6965<_0x1dfc1e[_0x512b48(0x1bd)]&&_0x3b8d82>0x0;_0xfc6965+=0x1){if(_0x1dfc1e[_0xfc6965]==='(')_0x3b8d82+=0x1;if(_0x1dfc1e[_0xfc6965]===')')_0x3b8d82-=0x1;}if(_0x3b8d82!==0x0)continue;for(let _0x46c084=_0x5f13bd;_0x46c084<_0xfc6965;_0x46c084+=0x1){_0x1dfc1e[_0x46c084]='\x20';}const _0x27d160=_0x512b48(0x1a7);for(let _0x42e627=0x0;_0x42e627<_0x27d160[_0x512b48(0x1bd)]&&_0x5f13bd+_0x42e627<_0xfc6965;_0x42e627+=0x1){_0x1dfc1e[_0x5f13bd+_0x42e627]=_0x27d160[_0x42e627];}_0x5f13bd=_0xfc6965-0x1;}return _0x1dfc1e[_0x512b48(0x1b7)]('');}function splitTopLevelAnd(_0x1669ac){const _0x396dc3=a210_0x268a,_0x49092d=[];let _0x5017a0=0x0,_0x4eb5dc=0x0;for(let _0x47eb83=0x0;_0x47eb83<_0x1669ac[_0x396dc3(0x1bd)];_0x47eb83+=0x1){const _0x2bdafc=_0x1669ac[_0x47eb83];if(_0x2bdafc==='(')_0x5017a0+=0x1;if(_0x2bdafc===')')_0x5017a0=Math[_0x396dc3(0x17d)](0x0,_0x5017a0-0x1);_0x5017a0===0x0&&_0x1669ac[_0x396dc3(0x196)](_0x47eb83)[_0x396dc3(0x183)](/^AND\b/i)&&(_0x47eb83===0x0||/\s/[_0x396dc3(0x193)](_0x1669ac[_0x47eb83-0x1]??''))&&(_0x49092d[_0x396dc3(0x178)](_0x1669ac[_0x396dc3(0x196)](_0x4eb5dc,_0x47eb83)[_0x396dc3(0x18c)]()),_0x47eb83+=0x2,_0x4eb5dc=_0x47eb83+0x1);}const _0x4ed47a=_0x1669ac[_0x396dc3(0x196)](_0x4eb5dc)[_0x396dc3(0x18c)]();if(_0x4ed47a)_0x49092d[_0x396dc3(0x178)](_0x4ed47a);return _0x49092d;}function a210_0x268a(_0x487ce6,_0x165080){_0x487ce6=_0x487ce6-0x174;const _0x4f978e=a210_0x4f97();let _0x268a18=_0x4f978e[_0x487ce6];return _0x268a18;}function hasTopLevelKeyword(_0x43e916,_0x47bada){const _0x509ede=a210_0x268a;let _0x29a3d5=0x0;for(let _0x139a4e=0x0;_0x139a4e<_0x43e916['length'];_0x139a4e+=0x1){const _0x2a112a=_0x43e916[_0x139a4e];if(_0x2a112a==='(')_0x29a3d5+=0x1;if(_0x2a112a===')')_0x29a3d5=Math[_0x509ede(0x17d)](0x0,_0x29a3d5-0x1);if(_0x29a3d5!==0x0)continue;const _0x48634a=_0x43e916['slice'](_0x139a4e,_0x139a4e+_0x47bada[_0x509ede(0x1bd)]),_0x5dfae4=_0x43e916[_0x139a4e-0x1]??'\x20',_0x26a284=_0x43e916[_0x139a4e+_0x47bada[_0x509ede(0x1bd)]]??'\x20';if(_0x48634a[_0x509ede(0x198)]()===_0x47bada[_0x509ede(0x198)]()&&!/[\w$]/['test'](_0x5dfae4)&&!/[\w$]/[_0x509ede(0x193)](_0x26a284))return!![];}return![];}function splitEquality(_0x10d931){const _0x2399da=a210_0x268a,_0x223c2d=stripOuterParentheses(_0x10d931);let _0x31bb9f=0x0,_0x2950a2;for(let _0x1d9f68=0x0;_0x1d9f68<_0x223c2d[_0x2399da(0x1bd)];_0x1d9f68+=0x1){const _0x192a71=_0x223c2d[_0x1d9f68];if(_0x192a71==='(')_0x31bb9f+=0x1;if(_0x192a71===')')_0x31bb9f=Math[_0x2399da(0x17d)](0x0,_0x31bb9f-0x1);const _0x3ece94=_0x223c2d[_0x1d9f68-0x1]??'',_0x63e313=_0x223c2d[_0x1d9f68+0x1]??'';if(_0x192a71==='='&&_0x31bb9f===0x0&&!/[!<>=:]/[_0x2399da(0x193)](_0x3ece94)&&_0x63e313!=='='){if(_0x2950a2!==undefined)return null;_0x2950a2=_0x1d9f68;}}return _0x2950a2===undefined?null:[_0x223c2d[_0x2399da(0x196)](0x0,_0x2950a2)[_0x2399da(0x18c)](),_0x223c2d[_0x2399da(0x196)](_0x2950a2+0x1)[_0x2399da(0x18c)]()];}function parseDirectColumnReference(_0x43fade,_0xb036c0){const _0x2a59a3=/^([`"]?[\w$]+[`"]?)\s*\.\s*([`"]?[\w$]+[`"]?)$/['exec'](stripOuterParentheses(_0x43fade));if(!_0x2a59a3)return null;if(normalizeIdentifier(_0x2a59a3[0x1]??'')!==normalizeIdentifier(_0xb036c0))return null;return normalizeIdentifier(_0x2a59a3[0x2]??'');}function containsColumnReference(_0x41793e,_0x170248){const _0x463ed5=a210_0x268a,_0x247b68=_0x41793e['replace'](/[`"]/g,''),_0x1640dc=_0x170248[_0x463ed5(0x19b)](/[.*+?^${}()|[\]\\]/g,_0x463ed5(0x17a));return new RegExp(_0x463ed5(0x187)+_0x1640dc+'\x5cs*\x5c.\x5cs*[\x5cw$]+','i')[_0x463ed5(0x193)](_0x247b68);}function findEqualityPrefix(_0x37c406,_0xfc6fbb){const _0x855da4=a210_0x268a,_0xedda64=new Set(_0xfc6fbb[_0x855da4(0x1a9)](normalizeIdentifier)),_0x5db54f=[];for(const _0x5dab6d of _0x37c406){if(!_0xedda64[_0x855da4(0x17c)](normalizeIdentifier(_0x5dab6d)))break;_0x5db54f[_0x855da4(0x178)](_0x5dab6d);}return _0x5db54f;}function resolveTableMetadata(_0x34c876,_0x57db00){const _0x3d983b=a210_0x268a,_0x57a0a6=normalizeIdentifier(_0x57db00),_0x430b6e=_0x34c876[_0x3d983b(0x1ac)](_0x397b04=>normalizeIdentifier(_0x397b04['tableName'])===_0x57a0a6);if(_0x430b6e[_0x3d983b(0x1bd)]===0x1)return _0x430b6e[0x0];const _0x2765c2=_0x57a0a6[_0x3d983b(0x19f)]('.'),_0x4bb7ad=_0x57a0a6[_0x3d983b(0x197)]('.')['at'](-0x1),_0xbe7af0=_0x34c876[_0x3d983b(0x1ac)](_0x59376d=>{const _0x3f91d6=_0x3d983b,_0x5cc62c=normalizeIdentifier(_0x59376d[_0x3f91d6(0x17b)]);if(_0x2765c2&&_0x5cc62c[_0x3f91d6(0x19f)]('.'))return![];return _0x5cc62c['split']('.')['at'](-0x1)===_0x4bb7ad;});return _0xbe7af0[_0x3d983b(0x1bd)]===0x1?_0xbe7af0[0x0]:undefined;}function columnNamesMatch(_0x7cfb9d,_0x372f99){return normalizeIdentifier(_0x7cfb9d)===normalizeIdentifier(_0x372f99);}function normalizeIdentifier(_0x239541){const _0x5ce8cb=a210_0x268a;return _0x239541['replace'](/[`"]/g,'')[_0x5ce8cb(0x18c)]()[_0x5ce8cb(0x1b0)]();}function isSqlClauseKeyword(_0x19f203){const _0x1daccd=a210_0x268a;return new Set(['on',_0x1daccd(0x1ad),_0x1daccd(0x176),'join',_0x1daccd(0x1a1),'left',_0x1daccd(0x1a5),_0x1daccd(0x18d),_0x1daccd(0x1b9),_0x1daccd(0x191)])[_0x1daccd(0x17c)](_0x19f203);}function stripOuterParentheses(_0x40691f){const _0x2d4229=a210_0x268a;let _0x3a362d=_0x40691f[_0x2d4229(0x18c)]();while(_0x3a362d[_0x2d4229(0x1bc)]('(')&&_0x3a362d[_0x2d4229(0x18a)](')')){let _0x4bd20b=0x0,_0xead002=!![];for(let _0x1ef6ff=0x0;_0x1ef6ff<_0x3a362d[_0x2d4229(0x1bd)];_0x1ef6ff+=0x1){if(_0x3a362d[_0x1ef6ff]==='(')_0x4bd20b+=0x1;if(_0x3a362d[_0x1ef6ff]===')')_0x4bd20b-=0x1;if(_0x4bd20b===0x0&&_0x1ef6ff<_0x3a362d[_0x2d4229(0x1bd)]-0x1){_0xead002=![];break;}}if(!_0xead002||_0x4bd20b!==0x0)break;_0x3a362d=_0x3a362d[_0x2d4229(0x196)](0x1,-0x1)[_0x2d4229(0x18c)]();}return _0x3a362d;}
|
|
1
|
+
(function(_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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a213_0x49a2d4=a213_0x54d9;(function(_0x3c6d0b,_0xfb24a){const _0x11be1f=a213_0x54d9,_0x1f2418=_0x3c6d0b();while(!![]){try{const _0x3261e4=parseInt(_0x11be1f(0xa9))/0x1*(parseInt(_0x11be1f(0xa1))/0x2)+parseInt(_0x11be1f(0xa7))/0x3*(parseInt(_0x11be1f(0xa4))/0x4)+-parseInt(_0x11be1f(0xa8))/0x5*(-parseInt(_0x11be1f(0xa5))/0x6)+parseInt(_0x11be1f(0xa3))/0x7+parseInt(_0x11be1f(0xa0))/0x8+parseInt(_0x11be1f(0x9f))/0x9*(parseInt(_0x11be1f(0xa2))/0xa)+-parseInt(_0x11be1f(0xaa))/0xb;if(_0x3261e4===_0xfb24a)break;else _0x1f2418['push'](_0x1f2418['shift']());}catch(_0x1832ec){_0x1f2418['push'](_0x1f2418['shift']());}}}(a213_0x3fc8,0xbf8b2));import{resolve}from'node:path';function a213_0x3fc8(){const _0x13258e=['10aRAJQc','28809jcbjjS','29770411vSXTWD','1267353rUqJtl','9230008TAnYLD','34BGHqDM','50twrauY','582365HGPVuQ','36uAKQOF','177948lCqpHy','.rabetbase','333621ZhfVPo'];a213_0x3fc8=function(){return _0x13258e;};return a213_0x3fc8();}function a213_0x54d9(_0x26f536,_0x9762e4){_0x26f536=_0x26f536-0x9f;const _0x3fc8e3=a213_0x3fc8();let _0x54d9dc=_0x3fc8e3[_0x26f536];return _0x54d9dc;}import{findProjectRootDirectory}from'../../context.js';const DOT_DIR=a213_0x49a2d4(0xa6),LOCK_FILE_NAME='sql.lock.json',TRASH_DIR_NAME='sql-trash';export function loadSqlProjectConfig(_0x502eff,_0x15d00d){const _0x20853e=resolve(_0x15d00d??findProjectRootDirectory()),_0x5a418d=DOT_DIR+'/sql',_0x31a453=_0x5a418d+'/'+_0x502eff;return{'projectRoot':_0x20853e,'appCode':_0x502eff,'sqlWorkspaceRoot':_0x5a418d,'sqlRoot':_0x31a453,'sqlRootDir':resolve(_0x20853e,DOT_DIR,'sql',_0x502eff),'lockFilePath':resolve(_0x20853e,DOT_DIR,LOCK_FILE_NAME),'trashDir':resolve(_0x20853e,DOT_DIR,TRASH_DIR_NAME)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x39a941,_0x22ecca){const _0x1b9434=a214_0x25d6,_0x4157bc=_0x39a941();while(!![]){try{const _0x16ba24=-parseInt(_0x1b9434(0x1e6))/0x1+parseInt(_0x1b9434(0x1ca))/0x2*(parseInt(_0x1b9434(0x1cf))/0x3)+parseInt(_0x1b9434(0x1d8))/0x4+-parseInt(_0x1b9434(0x1c8))/0x5+-parseInt(_0x1b9434(0x1ce))/0x6*(parseInt(_0x1b9434(0x1e0))/0x7)+-parseInt(_0x1b9434(0x1d7))/0x8*(-parseInt(_0x1b9434(0x1cb))/0x9)+-parseInt(_0x1b9434(0x1e3))/0xa;if(_0x16ba24===_0x22ecca)break;else _0x4157bc['push'](_0x4157bc['shift']());}catch(_0x356acb){_0x4157bc['push'](_0x4157bc['shift']());}}}(a214_0x9799,0x911cf));import{readdir,stat}from'node:fs/promises';import{extname,join,relative}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath}from'./utils.js';function a214_0x25d6(_0x4c69c0,_0x7edad1){_0x4c69c0=_0x4c69c0-0x1c8;const _0x9799a2=a214_0x9799();let _0x25d652=_0x9799a2[_0x4c69c0];return _0x25d652;}function extensionToMode(_0x23f49f){const _0x17b89c=a214_0x25d6;if(_0x23f49f==='.sql')return _0x17b89c(0x1da);if(_0x23f49f==='.xml')return _0x17b89c(0x1cd);return undefined;}async function scanSqlFilesRecursively(_0x24dba0,_0x2aef82){const _0x177db9=a214_0x25d6,_0x4f6984=[];try{const _0x33224d=await readdir(_0x24dba0,{'withFileTypes':!![]});for(const _0x12cff9 of _0x33224d){const _0x1029d1=join(_0x24dba0,_0x12cff9[_0x177db9(0x1d9)]);if(_0x12cff9[_0x177db9(0x1dd)]()){_0x4f6984[_0x177db9(0x1d0)](...await scanSqlFilesRecursively(_0x1029d1,_0x2aef82));continue;}if(!_0x12cff9[_0x177db9(0x1de)]())continue;const _0x36018f=extname(_0x12cff9['name'])[_0x177db9(0x1c9)](),_0x41312f=extensionToMode(_0x36018f);if(!_0x41312f)continue;const _0x439891=relative(_0x2aef82,_0x1029d1)[_0x177db9(0x1d5)](/\\/g,'/'),_0x36ac6f=_0x439891[_0x177db9(0x1e4)]('/')[_0x177db9(0x1e5)](Boolean),_0xbfe906=parseSqlPath(_0x36ac6f,_0x12cff9[_0x177db9(0x1d9)],_0x36018f);if(!_0xbfe906)continue;_0x4f6984[_0x177db9(0x1d0)]({'sqlCode':_0xbfe906[_0x177db9(0x1d3)],'sqlName':_0xbfe906['sqlName'],'dbDirectory':_0x36ac6f[0x0],'filePath':_0x1029d1,'relativePath':_0x439891,'lockKey':_0xbfe906[_0x177db9(0x1d3)],'mode':_0x41312f});}}catch(_0x3722e4){if(_0x3722e4[_0x177db9(0x1d4)]!==_0x177db9(0x1df))throw _0x3722e4;}return _0x4f6984;}export async function scanLocalSqlQueries(_0x6f8efc){const _0xfc420d=a214_0x25d6;return scanSqlFilesRecursively(_0x6f8efc[_0xfc420d(0x1db)],_0x6f8efc['sqlRootDir']);}function a214_0x9799(){const _0x3ee796=['code','replace','dbId','16ASfBPU','4740168LKImEa','name','sql','sqlRootDir','path','isDirectory','isFile','ENOENT','7jJcMZm','length','mode','9561790BgJkhg','split','filter','509217BPwJge','test','47825GzKMsD','toLowerCase','814BIODEv','3017835YaQozz','slice','mybatisXml','1294278PjpHKe','3165fGvGUb','push','dbName','indexOf','sqlCode'];a214_0x9799=function(){return _0x3ee796;};return a214_0x9799();}export function resolveLocalSqlFilePath(_0x82879,_0x11b18c,_0x3eceb2){const _0x260fd2=a214_0x25d6,_0x42efc9=_0x3eceb2?.[_0x260fd2(0x1dc)]||(_0x3eceb2?.['sqlName']||_0x3eceb2?.[_0x260fd2(0x1d1)]?buildSqlRelativePath(_0x11b18c,_0x3eceb2?.['sqlName'],_0x3eceb2?.[_0x260fd2(0x1d1)],_0x3eceb2?.[_0x260fd2(0x1e2)]||_0x260fd2(0x1da),_0x3eceb2?.[_0x260fd2(0x1d6)]):buildDefaultSqlFileName(_0x11b18c,_0x3eceb2?.[_0x260fd2(0x1e2)]||'sql'));return join(_0x82879[_0x260fd2(0x1db)],_0x42efc9);}export async function directoryExists(_0x5284e8){const _0xf75224=a214_0x25d6;try{const _0x3fac4d=await stat(_0x5284e8);return _0x3fac4d[_0xf75224(0x1dd)]();}catch{return![];}}function parseSqlPath(_0x5e20fa,_0x114b07,_0x2f8b92){const _0x254494=a214_0x25d6,_0x53cfd4=_0x114b07['slice'](0x0,-_0x2f8b92['length']);if(_0x5e20fa['length']<0x2)return null;const _0x27d46d=_0x53cfd4[_0x254494(0x1d2)]('_');if(_0x27d46d<=0x0||_0x27d46d>=_0x53cfd4[_0x254494(0x1e1)]-0x1)return null;const _0x25d343=_0x53cfd4[_0x254494(0x1cc)](0x0,_0x27d46d);if(!isLikelySqlCode(_0x25d343))return null;return{'sqlCode':_0x25d343,'sqlName':_0x53cfd4['slice'](_0x27d46d+0x1)};}function isLikelySqlCode(_0x16e155){const _0x54d321=a214_0x25d6;return/^[A-Za-z0-9-]+-[A-Za-z0-9-]+$/[_0x54d321(0x1e7)](_0x16e155);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x50a367,_0x50b6b7){const _0x11887d=a215_0x2fe5,_0x58b891=_0x50a367();while(!![]){try{const _0x40de24=parseInt(_0x11887d(0xa3))/0x1*(-parseInt(_0x11887d(0x9e))/0x2)+-parseInt(_0x11887d(0xa6))/0x3*(parseInt(_0x11887d(0x9f))/0x4)+parseInt(_0x11887d(0xa0))/0x5*(parseInt(_0x11887d(0x9d))/0x6)+parseInt(_0x11887d(0x9c))/0x7+-parseInt(_0x11887d(0x9a))/0x8+-parseInt(_0x11887d(0xa7))/0x9+-parseInt(_0x11887d(0x9b))/0xa*(-parseInt(_0x11887d(0xa1))/0xb);if(_0x40de24===_0x50b6b7)break;else _0x58b891['push'](_0x58b891['shift']());}catch(_0x350cb7){_0x58b891['push'](_0x58b891['shift']());}}}(a215_0x4c12,0xd7bf4));import{readFile}from'node:fs/promises';import a215_0x204f2a from'node:crypto';export function computeSqlContentHash(_0x1d4608){const _0x1f1d1e=a215_0x2fe5;return a215_0x204f2a[_0x1f1d1e(0xa5)](_0x1f1d1e(0xa8))[_0x1f1d1e(0xa4)](_0x1d4608)['digest'](_0x1f1d1e(0xa2));}export async function computeSqlFileHash(_0x28dd31){const _0x4e6318=await readFile(_0x28dd31,'utf8');return computeSqlContentHash(_0x4e6318);}function a215_0x2fe5(_0x5bf06c,_0x50bca9){_0x5bf06c=_0x5bf06c-0x9a;const _0x4c1201=a215_0x4c12();let _0x2fe536=_0x4c1201[_0x5bf06c];return _0x2fe536;}function a215_0x4c12(){const _0x28406f=['md5','959608trESsk','13820wgdnTS','7874013xpkZbR','18PooaLS','2714308KImkTG','4GinlqA','1889820kPOOsT','23672pMSATP','hex','1dviAdC','update','createHash','3799737bUqXyv','14448879QxghAd'];a215_0x4c12=function(){return _0x28406f;};return a215_0x4c12();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5dc7db,_0x2a9313){const _0x3e9293=a216_0xac28,_0x7307a2=_0x5dc7db();while(!![]){try{const _0x552bef=-parseInt(_0x3e9293(0x77))/0x1+-parseInt(_0x3e9293(0x82))/0x2*(-parseInt(_0x3e9293(0x7b))/0x3)+parseInt(_0x3e9293(0x76))/0x4+parseInt(_0x3e9293(0x7d))/0x5+-parseInt(_0x3e9293(0x75))/0x6+parseInt(_0x3e9293(0x78))/0x7+-parseInt(_0x3e9293(0x7c))/0x8*(parseInt(_0x3e9293(0x7e))/0x9);if(_0x552bef===_0x2a9313)break;else _0x7307a2['push'](_0x7307a2['shift']());}catch(_0x10f611){_0x7307a2['push'](_0x7307a2['shift']());}}}(a216_0x4ee4,0x9a209));import{mkdir,readFile,writeFile}from'node:fs/promises';import{dirname}from'node:path';export function createEmptySqlLock(){return{'apps':{}};}export function ensureSqlLockScope(_0x19dc67,_0x5da371,_0x1de258,_0x211431){const _0x7610e8=a216_0xac28,_0x284c69=_0x19dc67??createEmptySqlLock();let _0x52c840=_0x284c69[_0x7610e8(0x74)][_0x5da371];if(!_0x52c840)return _0x52c840={'sqlRoot':_0x1de258,'lastSync':'','sqls':{}},_0x284c69[_0x7610e8(0x74)][_0x5da371]=_0x52c840,{'lockData':_0x284c69,'appLock':_0x52c840};if(!_0x52c840[_0x7610e8(0x7f)])_0x52c840['sqlRoot']=_0x1de258;else{if(_0x52c840[_0x7610e8(0x7f)]!==_0x1de258)throw new Error(_0x211431+':\x20sqlRoot\x20mismatch\x20—\x20current\x20\x22'+_0x1de258+_0x7610e8(0x72)+_0x52c840['sqlRoot']+_0x7610e8(0x80)+'Check\x20.rabetbase/sql.lock.json\x20or\x20operate\x20from\x20the\x20correct\x20project\x20directory.');}return!_0x52c840[_0x7610e8(0x79)]&&(_0x52c840['sqls']={}),!_0x52c840['lastSync']&&(_0x52c840['lastSync']=''),{'lockData':_0x284c69,'appLock':_0x52c840};}function a216_0xac28(_0x56f5a0,_0x3293fc){_0x56f5a0=_0x56f5a0-0x72;const _0x4ee40d=a216_0x4ee4();let _0xac2884=_0x4ee40d[_0x56f5a0];return _0xac2884;}export async function readSqlLockFile(_0xb2e6bc){const _0x468d05=a216_0xac28;try{const _0x46470f=await readFile(_0xb2e6bc,_0x468d05(0x7a));return JSON['parse'](_0x46470f);}catch(_0x1420d4){if(_0x1420d4['code']===_0x468d05(0x73))return null;throw new Error(_0x468d05(0x81)+String(_0x1420d4));}}function a216_0x4ee4(){const _0x24a093=['sqls','utf8','3LxRpUo','1317416rAVeXH','1617445lKlJrX','36RlzFvP','sqlRoot','\x22.\x20','Failed\x20to\x20read\x20SQL\x20lock\x20file:\x20','292666kXgFrI','\x22\x20vs\x20lock\x20\x22','ENOENT','apps','4227006URnJyo','4339324JuIiGF','152085FqYtgk','4143622uPOwxO'];a216_0x4ee4=function(){return _0x24a093;};return a216_0x4ee4();}export async function writeSqlLockFile(_0x26f36b,_0x2743f3){await mkdir(dirname(_0x26f36b),{'recursive':!![]}),await writeFile(_0x26f36b,JSON['stringify'](_0x2743f3,null,0x2),'utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x22c297,_0x1402d8){const _0x584a57=a218_0x52bf,_0x43d3f9=_0x22c297();while(!![]){try{const _0x1f0438=-parseInt(_0x584a57(0x83))/0x1*(-parseInt(_0x584a57(0x75))/0x2)+-parseInt(_0x584a57(0x73))/0x3*(-parseInt(_0x584a57(0x7d))/0x4)+-parseInt(_0x584a57(0x7f))/0x5*(-parseInt(_0x584a57(0x78))/0x6)+parseInt(_0x584a57(0x70))/0x7+-parseInt(_0x584a57(0x74))/0x8*(-parseInt(_0x584a57(0x7e))/0x9)+parseInt(_0x584a57(0x7c))/0xa+-parseInt(_0x584a57(0x82))/0xb*(parseInt(_0x584a57(0x84))/0xc);if(_0x1f0438===_0x1402d8)break;else _0x43d3f9['push'](_0x43d3f9['shift']());}catch(_0x1367af){_0x43d3f9['push'](_0x43d3f9['shift']());}}}(a218_0x185a,0x26c0c));function a218_0x52bf(_0x48f686,_0x5cf0be){_0x48f686=_0x48f686-0x70;const _0x185a1b=a218_0x185a();let _0x52bfd2=_0x185a1b[_0x48f686];return _0x52bfd2;}export function detectSqlMode(_0x5129c2){const _0x578799=a218_0x52bf,_0x1195f7=_0x5129c2['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x578799(0x76)](_0x1195f7))return _0x578799(0x7a);return _0x578799(0x81);}export function getSqlFileExtension(_0x2a3f06){const _0x16ae22=a218_0x52bf;return _0x2a3f06===_0x16ae22(0x7a)?'.xml':_0x16ae22(0x79);}export function buildDefaultSqlFileName(_0x391a46,_0x34309c){return''+_0x391a46+getSqlFileExtension(_0x34309c);}export function sanitizeSqlPathSegment(_0x24a716,_0x4fb303){const _0x184ded=a218_0x52bf,_0x2375ef=String(_0x24a716??'')[_0x184ded(0x77)](),_0x90ab73=_0x2375ef[_0x184ded(0x72)](/[<>:"/\\|?*\u0000-\u001F]/g,'-')[_0x184ded(0x72)](/\s+/g,'-')[_0x184ded(0x72)](/-+/g,'-')[_0x184ded(0x72)](/^\.+/,'')[_0x184ded(0x72)](/\.+$/,'')[_0x184ded(0x72)](/^-+/,'')[_0x184ded(0x72)](/-+$/,'');return _0x90ab73||_0x4fb303;}export function buildDbDirectoryName(_0x4f7997,_0x1a421b){const _0xc9ad54=a218_0x52bf;return sanitizeSqlPathSegment(_0x4f7997,_0x1a421b!=null?_0xc9ad54(0x7b)+_0x1a421b:_0xc9ad54(0x80));}function a218_0x185a(){const _0x221a1e=['1336atCfic','2126cLOvyU','test','trim','12OhbOWj','.sql','mybatisXml','db-','3168530oLSEXh','450464fhyjmy','16362rHZPQF','746270tDKCqy','unknown-db','sql','11933273edGnIW','8zciFqk','12kwdKzr','1424416iaCwbZ','unknown-sql','replace','3UoShAT'];a218_0x185a=function(){return _0x221a1e;};return a218_0x185a();}export function buildSqlRelativePath(_0x1f5fef,_0x5775f1,_0x1de1b6,_0x19f7c1,_0x3096ec){const _0x646a8e=a218_0x52bf,_0x25cc62=buildDbDirectoryName(_0x1de1b6,_0x3096ec),_0x171dea=sanitizeSqlPathSegment(_0x1f5fef,_0x646a8e(0x71)),_0x16b737=sanitizeSqlPathSegment(_0x5775f1,_0x171dea);return _0x25cc62+'/'+_0x171dea+'_'+_0x16b737+getSqlFileExtension(_0x19f7c1);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a217_0x2bc9b0=a217_0x19e9;(function(_0x171cf2,_0x39686a){const _0x1a4da4=a217_0x19e9,_0x44b1a2=_0x171cf2();while(!![]){try{const _0x385f44=-parseInt(_0x1a4da4(0x176))/0x1+-parseInt(_0x1a4da4(0x1b4))/0x2+parseInt(_0x1a4da4(0x1d0))/0x3*(parseInt(_0x1a4da4(0x171))/0x4)+parseInt(_0x1a4da4(0x1c7))/0x5+parseInt(_0x1a4da4(0x1ca))/0x6*(parseInt(_0x1a4da4(0x174))/0x7)+-parseInt(_0x1a4da4(0x18a))/0x8+-parseInt(_0x1a4da4(0x1ac))/0x9*(-parseInt(_0x1a4da4(0x19d))/0xa);if(_0x385f44===_0x39686a)break;else _0x44b1a2['push'](_0x44b1a2['shift']());}catch(_0x19bd5d){_0x44b1a2['push'](_0x44b1a2['shift']());}}}(a217_0x455b,0x5fa7b));const MYBATIS_OUTER_TAGS=new Map([[a217_0x2bc9b0(0x1c1),a217_0x2bc9b0(0x1d2)],[a217_0x2bc9b0(0x1ad),'INSERT'],['update','UPDATE'],[a217_0x2bc9b0(0x199),a217_0x2bc9b0(0x1a8)]]),MYBATIS_DYNAMIC_TAGS=new Set(['if',a217_0x2bc9b0(0x172),'foreach',a217_0x2bc9b0(0x1a6),a217_0x2bc9b0(0x198),a217_0x2bc9b0(0x1a9),a217_0x2bc9b0(0x181),a217_0x2bc9b0(0x1b5),a217_0x2bc9b0(0x19b),'include',a217_0x2bc9b0(0x1b6)]),MYBATIS_BRANCH_TAGS=new Set(['if',a217_0x2bc9b0(0x183),'choose','when',a217_0x2bc9b0(0x1a9)]);export const MYBATIS_DYNAMIC_START_MARKER=a217_0x2bc9b0(0x192);function a217_0x19e9(_0x474bf7,_0x4da529){_0x474bf7=_0x474bf7-0x170;const _0x455bc6=a217_0x455b();let _0x19e9c1=_0x455bc6[_0x474bf7];return _0x19e9c1;}export const MYBATIS_DYNAMIC_END_MARKER=a217_0x2bc9b0(0x180);export const MYBATIS_INCLUDE_MARKER=a217_0x2bc9b0(0x1a2);const UNRESOLVED_SQL_FRAGMENT=a217_0x2bc9b0(0x18e),MYBATIS_OUTER_TAG_PATTERN=new RegExp('^<\x5cs*(?:'+[...MYBATIS_OUTER_TAGS[a217_0x2bc9b0(0x1a4)]()][a217_0x2bc9b0(0x1b0)]('|')+')\x5cb','i');export function normalizeSqlForStaticAnalysis(_0x105aef){const _0xe125ba=a217_0x2bc9b0,_0x125378=typeof _0x105aef===_0xe125ba(0x1b7)?_0x105aef:'';if(!startsWithMybatisStatementWrapper(_0x125378))return{'sql':_0x125378,'mode':_0xe125ba(0x18c)};let _0x8df5c1=0x0,_0x48f475='',_0x2da68a,_0x2c2796=![],_0x269ac0=![];const _0x321788=[];while(_0x8df5c1<_0x125378[_0xe125ba(0x194)]){if(_0x125378['startsWith'](_0xe125ba(0x1c6),_0x8df5c1)){const _0x58eb32=_0x125378['indexOf'](_0xe125ba(0x1b9),_0x8df5c1+0x4);if(_0x58eb32<0x0)return invalidMybatisSource(_0xe125ba(0x1c5));_0x48f475+='\x20',_0x8df5c1=_0x58eb32+0x3;continue;}if(_0x125378[_0xe125ba(0x17e)](_0xe125ba(0x1be),_0x8df5c1)){if(!_0x2c2796||_0x269ac0)return invalidMybatisSource(_0xe125ba(0x175));const _0x31e2a0=_0x125378[_0xe125ba(0x17d)](']]>',_0x8df5c1+0x9);if(_0x31e2a0<0x0)return invalidMybatisSource(_0xe125ba(0x1bc));_0x48f475+=_0x125378[_0xe125ba(0x18b)](_0x8df5c1+0x9,_0x31e2a0),_0x8df5c1=_0x31e2a0+0x3;continue;}if(_0x125378[_0xe125ba(0x17e)]('<?',_0x8df5c1)){if(_0x2c2796)return invalidMybatisSource(_0xe125ba(0x182));const _0x4011ec=_0x125378['indexOf']('?>',_0x8df5c1+0x2);if(_0x4011ec<0x0)return invalidMybatisSource('Unterminated\x20XML\x20declaration.');_0x48f475+='\x20',_0x8df5c1=_0x4011ec+0x2;continue;}if(_0x125378[_0x8df5c1]!=='<'){const _0x2a0d53=_0x125378[_0xe125ba(0x17d)]('<',_0x8df5c1),_0x17daa7=_0x2a0d53<0x0?_0x125378[_0xe125ba(0x194)]:_0x2a0d53,_0x55f6e7=_0x125378[_0xe125ba(0x18b)](_0x8df5c1,_0x17daa7);if((!_0x2c2796||_0x269ac0)&&_0x55f6e7['trim']())return invalidMybatisSource(_0xe125ba(0x188));if(_0x2c2796&&!_0x269ac0){const _0x5de6a4=decodeXmlEntities(_0x55f6e7);if(_0x5de6a4===null)return invalidMybatisSource(_0xe125ba(0x186));_0x48f475+=_0x5de6a4;}else _0x48f475+='\x20';_0x8df5c1=_0x17daa7;continue;}const _0x26c1a9=findXmlTagEnd(_0x125378,_0x8df5c1);if(_0x26c1a9<0x0)return invalidMybatisSource(_0xe125ba(0x17a));const _0x5773ed=_0x125378[_0xe125ba(0x18b)](_0x8df5c1,_0x26c1a9+0x1),_0x50d7b9=/^<\s*(\/?)\s*([A-Za-z][\w:-]*)([\s\S]*?)(\/?)\s*>$/[_0xe125ba(0x1b3)](_0x5773ed);if(!_0x50d7b9)return invalidMybatisSource(_0xe125ba(0x1a0));const _0x3732db=_0x50d7b9[0x1]==='/',_0x3ccd4b=_0x50d7b9[0x2]??'',_0x100e4f=_0x3ccd4b[_0xe125ba(0x1ae)](),_0x5c145f=_0x50d7b9[0x3]??'',_0x2c424e=_0x50d7b9[0x4]==='/',_0x3ee401=MYBATIS_OUTER_TAGS[_0xe125ba(0x170)](_0x100e4f);if(!_0x3ee401&&!MYBATIS_DYNAMIC_TAGS[_0xe125ba(0x1c9)](_0x100e4f))return invalidMybatisSource(_0xe125ba(0x17f)+_0x100e4f+'>.');if(!_0x3ee401&&_0x3ccd4b!==_0x100e4f)return invalidMybatisSource(_0xe125ba(0x1ce)+_0x3ccd4b+'>.');if(_0x3732db){if(_0x5c145f[_0xe125ba(0x181)]()||_0x2c424e)return invalidMybatisSource(_0xe125ba(0x19a)+_0x3ccd4b+'>.');const _0x3623a2=_0x321788['at'](-0x1);if(!_0x3623a2||(_0x3623a2[_0xe125ba(0x18f)]?_0x3623a2[_0xe125ba(0x195)]!==_0x100e4f:_0x3623a2['rawName']!==_0x3ccd4b))return invalidMybatisSource(_0xe125ba(0x1b2)+_0x3ccd4b+'>.');_0x321788[_0xe125ba(0x191)]();if(_0x3623a2[_0xe125ba(0x18f)])_0x269ac0=!![];_0x48f475+=MYBATIS_BRANCH_TAGS['has'](_0x100e4f)?'\x20'+MYBATIS_DYNAMIC_END_MARKER+'\x20':'\x20';}else{if(!hasWellFormedXmlAttributes(_0x5c145f))return invalidMybatisSource(_0xe125ba(0x1ba)+_0x3ccd4b+'>.');if(_0x100e4f===_0xe125ba(0x1b6)&&(!_0x2c424e||_0x321788['at'](-0x1)?.[_0xe125ba(0x195)]!==_0xe125ba(0x1a3)))return invalidMybatisSource(_0xe125ba(0x1cc));if(_0x3ee401){if(_0x2c2796||_0x321788[_0xe125ba(0x194)]>0x0)return invalidMybatisSource(_0xe125ba(0x1bb));_0x2c2796=!![],_0x269ac0=_0x2c424e,_0x2da68a=_0x3ee401;}else{if(!_0x2c2796||_0x269ac0)return invalidMybatisSource(_0xe125ba(0x19f)+_0x3ccd4b+'>.');}_0x48f475+=_0x100e4f===_0xe125ba(0x172)?_0xe125ba(0x1ab):_0x100e4f===_0xe125ba(0x1b5)?_0xe125ba(0x1bf):_0x100e4f===_0xe125ba(0x1a3)?'\x20'+MYBATIS_INCLUDE_MARKER+'\x20':MYBATIS_BRANCH_TAGS[_0xe125ba(0x1c9)](_0x100e4f)&&!_0x2c424e?'\x20'+MYBATIS_DYNAMIC_START_MARKER+'\x20':'\x20',!_0x2c424e&&_0x321788[_0xe125ba(0x1b8)]({'rawName':_0x3ccd4b,'tagName':_0x100e4f,'outer':!!_0x3ee401});}_0x8df5c1=_0x26c1a9+0x1;}if(_0x321788[_0xe125ba(0x194)]>0x0)return invalidMybatisSource('Unclosed\x20MyBatis\x20XML\x20tag:\x20<'+_0x321788['at'](-0x1)?.[_0xe125ba(0x197)]+'>.');if(!_0x2c2796||!_0x269ac0)return invalidMybatisSource(_0xe125ba(0x1d1));return{'sql':_0x48f475[_0xe125ba(0x181)](),'mode':_0xe125ba(0x1a7),..._0x2da68a?{'statementType':_0x2da68a}:{}};}function hasWellFormedXmlAttributes(_0x355bf6){const _0x12dadf=a217_0x2bc9b0;let _0x38de17=0x0;const _0x3a994e=new Set();while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]){while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;if(_0x38de17>=_0x355bf6['length'])return!![];const _0x2ad1c6=/^[A-Za-z_:][\w:.-]*/[_0x12dadf(0x1b3)](_0x355bf6[_0x12dadf(0x18b)](_0x38de17)),_0x3ea5f1=_0x2ad1c6?.[0x0];if(!_0x3ea5f1||_0x3a994e[_0x12dadf(0x1c9)](_0x3ea5f1))return![];_0x3a994e['add'](_0x3ea5f1),_0x38de17+=_0x3ea5f1[_0x12dadf(0x194)];while(_0x38de17<_0x355bf6[_0x12dadf(0x194)]&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;if(_0x355bf6[_0x38de17]!=='=')return![];_0x38de17+=0x1;while(_0x38de17<_0x355bf6['length']&&/\s/[_0x12dadf(0x1cb)](_0x355bf6[_0x38de17]??''))_0x38de17+=0x1;const _0x36accc=_0x355bf6[_0x38de17];if(_0x36accc!=='\x22'&&_0x36accc!=='\x27')return![];_0x38de17+=0x1;const _0xafa9a7=_0x355bf6[_0x12dadf(0x17d)](_0x36accc,_0x38de17);if(_0xafa9a7<0x0)return![];if(decodeXmlEntities(_0x355bf6['slice'](_0x38de17,_0xafa9a7))===null)return![];_0x38de17=_0xafa9a7+0x1;}return!![];}function startsWithMybatisStatementWrapper(_0x3ff553){const _0x129f5a=a217_0x2bc9b0;let _0x5a6555=0x0;const _0x59e397=()=>{const _0x512c15=a217_0x19e9;while(_0x5a6555<_0x3ff553['length']&&/\s/[_0x512c15(0x1cb)](_0x3ff553[_0x5a6555]??''))_0x5a6555+=0x1;};_0x59e397();while(_0x5a6555<_0x3ff553[_0x129f5a(0x194)]){if(_0x3ff553[_0x129f5a(0x17e)](_0x129f5a(0x1c6),_0x5a6555)){const _0x481a3f=_0x3ff553[_0x129f5a(0x17d)](_0x129f5a(0x1b9),_0x5a6555+0x4);if(_0x481a3f<0x0)return!![];_0x5a6555=_0x481a3f+0x3,_0x59e397();continue;}if(_0x3ff553[_0x129f5a(0x17e)]('<?',_0x5a6555)){const _0x521dbf=_0x3ff553[_0x129f5a(0x17d)]('?>',_0x5a6555+0x2);if(_0x521dbf<0x0)return!![];_0x5a6555=_0x521dbf+0x2,_0x59e397();continue;}break;}return MYBATIS_OUTER_TAG_PATTERN[_0x129f5a(0x1cb)](_0x3ff553['slice'](_0x5a6555));}function invalidMybatisSource(_0x1b7e23){const _0x837a80=a217_0x2bc9b0;return{'sql':'','mode':_0x837a80(0x1a7),'error':_0x1b7e23};}function findXmlTagEnd(_0x26125a,_0x4a13c7){const _0x285642=a217_0x2bc9b0;let _0x5174ca;for(let _0x5a9c25=_0x4a13c7+0x1;_0x5a9c25<_0x26125a[_0x285642(0x194)];_0x5a9c25+=0x1){const _0x5c4909=_0x26125a[_0x5a9c25];if(_0x5174ca){if(_0x5c4909===_0x5174ca)_0x5174ca=undefined;continue;}if(_0x5c4909==='\x22'||_0x5c4909==='\x27'){_0x5174ca=_0x5c4909;continue;}if(_0x5c4909==='>')return _0x5a9c25;}return-0x1;}function decodeXmlEntities(_0x54edee){const _0x332a3d=a217_0x2bc9b0;let _0x418b60=![];const _0x3be9b8=_0x54edee[_0x332a3d(0x17b)](/&(?:#x[0-9a-f]+;|#[0-9]+;|[A-Za-z_:][\w:.-]*;)?/g,_0x3b8d72=>{const _0x1c92c9=_0x332a3d;if(_0x3b8d72==='<')return'<';if(_0x3b8d72===_0x1c92c9(0x1cd))return'>';if(_0x3b8d72===_0x1c92c9(0x187))return'\x22';if(_0x3b8d72===_0x1c92c9(0x1c8))return'\x27';if(_0x3b8d72===_0x1c92c9(0x196))return'&';const _0x25e983=/^&#(?:x([0-9a-f]+)|([0-9]+));$/[_0x1c92c9(0x1b3)](_0x3b8d72);if(_0x25e983){const _0x5a45f8=_0x25e983[0x1],_0x2e5405=_0x25e983[0x2],_0x40dded=Number['parseInt'](_0x5a45f8??_0x2e5405??'',_0x5a45f8?0x10:0xa);if(isValidXmlCharacter(_0x40dded))return String['fromCodePoint'](_0x40dded);}return _0x418b60=!![],'';});return _0x418b60?null:_0x3be9b8;}function isValidXmlCharacter(_0x122a93){return _0x122a93===0x9||_0x122a93===0xa||_0x122a93===0xd||_0x122a93>=0x20&&_0x122a93<=0xd7ff||_0x122a93>=0xe000&&_0x122a93<=0xfffd||_0x122a93>=0x10000&&_0x122a93<=0x10ffff;}export function detectSqlType(_0x1a97a7){return detectNormalizedSqlType(normalizeSqlForStaticAnalysis(_0x1a97a7));}function detectNormalizedSqlType(_0x2e3a4d){const _0x111bdd=a217_0x2bc9b0;if(_0x2e3a4d[_0x111bdd(0x1b1)])return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![],'reason':_0x2e3a4d[_0x111bdd(0x1b1)]};if(!_0x2e3a4d['sql'][_0x111bdd(0x181)]())return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![],'reason':_0x111bdd(0x1bd)};const _0x4baabd=stripStaticAnalysisMarkers(_0x2e3a4d[_0x111bdd(0x18c)])[_0x111bdd(0x17b)](/#\{[^}]*\}/g,'?')['replace'](/\$\{[^}]*\}/g,'?')[_0x111bdd(0x17b)](/@[^(\s]+(\([^)]*\))?/g,'')[_0x111bdd(0x17b)](/\/\*[\s\S]*?\*\//g,'')[_0x111bdd(0x181)](),_0x3791e3=_0x4baabd[_0x111bdd(0x177)]('\x0a');let _0x4c8d14='';for(const _0x24f572 of _0x3791e3){const _0x1a2899=_0x24f572['trim']();if(!_0x1a2899||_0x1a2899[_0x111bdd(0x17e)]('--')||_0x1a2899[_0x111bdd(0x17e)]('/*'))continue;_0x4c8d14=_0x1a2899;break;}const _0x5c588e=_0x4c8d14[_0x111bdd(0x1af)](),_0x1f69dc=_0x2e3a4d[_0x111bdd(0x178)],_0x22de64=maskSqlTextForBlockedKeywordScan(_0x4baabd),_0x3c389f=/\b(DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i[_0x111bdd(0x1cb)](_0x22de64);if(_0x1f69dc===_0x111bdd(0x1d2)||!_0x1f69dc&&(_0x5c588e[_0x111bdd(0x17e)](_0x111bdd(0x1d2))||_0x5c588e[_0x111bdd(0x17e)]('WITH'))){const _0x128bde=/\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|TRUNCATE)\b/i['test'](_0x4baabd);return{'type':'SELECT','isSelectOnly':!_0x128bde,'isDangerous':_0x128bde,'reason':_0x128bde?'SQL\x20contains\x20modification\x20statements\x20alongside\x20SELECT':undefined};}if(_0x1f69dc===_0x111bdd(0x193)||!_0x1f69dc&&_0x5c588e[_0x111bdd(0x17e)]('INSERT'))return{'type':_0x111bdd(0x193),'isSelectOnly':![],'isDangerous':_0x3c389f,'reason':_0x3c389f?_0x111bdd(0x1c4):undefined};if(_0x1f69dc===_0x111bdd(0x173)||!_0x1f69dc&&_0x5c588e[_0x111bdd(0x17e)]('UPDATE'))return{'type':'UPDATE','isSelectOnly':![],'isDangerous':_0x3c389f,'reason':_0x3c389f?_0x111bdd(0x1c4):undefined};if(_0x1f69dc===_0x111bdd(0x1a8)||!_0x1f69dc&&_0x5c588e['startsWith']('DELETE'))return{'type':_0x111bdd(0x1a8),'isSelectOnly':![],'isDangerous':!![],'reason':_0x111bdd(0x185)};if(/^(CREATE|ALTER|DROP|TRUNCATE)/i['test'](_0x5c588e))return{'type':'DDL','isSelectOnly':![],'isDangerous':!![],'reason':'DDL\x20statements\x20are\x20blocked\x20from\x20auto-save'};return{'type':_0x111bdd(0x17c),'isSelectOnly':![],'isDangerous':![]};}function stripStaticAnalysisMarkers(_0x378b8d){const _0x1313c3=a217_0x2bc9b0;return _0x378b8d['replaceAll'](MYBATIS_DYNAMIC_START_MARKER,'\x20')[_0x1313c3(0x18d)](MYBATIS_DYNAMIC_END_MARKER,'\x20')[_0x1313c3(0x18d)](MYBATIS_INCLUDE_MARKER,'\x20'+UNRESOLVED_SQL_FRAGMENT+'\x20');}function maskSqlTextForBlockedKeywordScan(_0x3e17fd){const _0x4ed058=a217_0x2bc9b0;return _0x3e17fd[_0x4ed058(0x17b)](/'(?:''|\\.|[^'])*'/g,'\x20')[_0x4ed058(0x17b)](/"(?:""|\\.|[^"])*"/g,'\x20')[_0x4ed058(0x17b)](/`(?:``|\\.|[^`])*`/g,'\x20')[_0x4ed058(0x17b)](/--.*$/gm,'\x20')['replace'](/#.*$/gm,'\x20')[_0x4ed058(0x17b)](/\/\*[\s\S]*?\*\//g,'\x20');}function extractTables(_0x461d89){const _0x12d5d8=a217_0x2bc9b0,_0x46dcb4=_0x461d89[_0x12d5d8(0x17b)](/#\{[^}]*\}/g,'?')[_0x12d5d8(0x17b)](/\$\{[^}]*\}/g,'?')['replace'](/'[^']*'/g,'\x27\x27')[_0x12d5d8(0x17b)](/--.*$/gm,'')[_0x12d5d8(0x17b)](/\/\*[\s\S]*?\*\//g,''),_0x481a6b=[],_0x58300a=_0x46dcb4[_0x12d5d8(0x1aa)](/FROM\s+([^\s,)(]+)/i);addTable(_0x481a6b,_0x58300a?.[0x1]);for(const _0x3ba89c of _0x46dcb4[_0x12d5d8(0x184)](/(?:INNER|LEFT|RIGHT|FULL|CROSS)?\s*JOIN\s+([^\s,)(]+)/gi)){addTable(_0x481a6b,_0x3ba89c[0x1]);}const _0x507b86=_0x46dcb4[_0x12d5d8(0x1aa)](/INTO\s+([^\s(]+)/i);addTable(_0x481a6b,_0x507b86?.[0x1]);const _0x24ca1a=_0x46dcb4[_0x12d5d8(0x1aa)](/UPDATE\s+([^\s,)(]+)/i);return addTable(_0x481a6b,_0x24ca1a?.[0x1]),_0x481a6b;}function a217_0x455b(){const _0x409e41=['isDangerous','SQL\x20contains\x20blocked\x20DELETE\x20or\x20DDL\x20statements','Unterminated\x20XML\x20comment.','<!--','2728050urKUdu',''','has','158694jYbFgF','test','MyBatis\x20<property>\x20must\x20be\x20a\x20self-closing\x20direct\x20child\x20of\x20<include>.','>','MyBatis\x20dynamic\x20tag\x20names\x20must\x20be\x20lowercase:\x20<','reason','39onkBuc','MyBatis\x20XML\x20must\x20contain\x20exactly\x20one\x20complete\x20statement\x20wrapper.','SELECT','get','123884xhwEMl','where','UPDATE','161sOPYdn','CDATA\x20sections\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','521901axHFfK','split','statementType','add','Unterminated\x20MyBatis\x20XML\x20tag.','replace','UNKNOWN','indexOf','startsWith','Unsupported\x20MyBatis\x20XML\x20tag:\x20<','__RABETBASE_MYBATIS_DYNAMIC_END__','trim','XML\x20declarations\x20must\x20precede\x20the\x20MyBatis\x20statement\x20wrapper.','foreach','matchAll','DELETE\x20statements\x20are\x20blocked\x20from\x20auto-save','Invalid\x20XML\x20entity\x20reference.','"','SQL\x20text\x20must\x20be\x20inside\x20the\x20MyBatis\x20statement\x20wrapper.','type','5345688VdzWTp','slice','sql','replaceAll','__RABETBASE_UNRESOLVED_SQL_FRAGMENT__','outer','\x20query\x20targeting\x20','pop','__RABETBASE_MYBATIS_DYNAMIC_START__','INSERT','length','tagName','&','rawName','when','delete','Invalid\x20MyBatis\x20XML\x20closing\x20tag:\x20</','bind','\x20with\x20parameters:\x20','520roSDwj','includes','MyBatis\x20dynamic\x20tag\x20must\x20be\x20inside\x20the\x20statement\x20wrapper:\x20<','Invalid\x20MyBatis\x20XML\x20tag.','Unable\x20to\x20detect\x20SQL\x20type.\x20','__RABETBASE_MYBATIS_INCLUDE_UNRESOLVED__','include','keys','\x20statements\x20cannot\x20be\x20auto-saved.\x20Please\x20operate\x20manually\x20on\x20the\x20platform.','choose','mybatisXml','DELETE','otherwise','match','\x20WHERE\x20','21051idFweF','insert','toLowerCase','toUpperCase','join','error','Mismatched\x20MyBatis\x20XML\x20closing\x20tag:\x20</','exec','192546uEsLuQ','set','property','string','push','-->','Invalid\x20attributes\x20on\x20MyBatis\x20XML\x20tag:\x20<','Multiple\x20MyBatis\x20statement\x20wrappers\x20are\x20not\x20supported.','Unterminated\x20CDATA\x20section.','SQL\x20content\x20is\x20empty','<![CDATA[','\x20SET\x20','from','select','unknown\x20table(s)'];a217_0x455b=function(){return _0x409e41;};return a217_0x455b();}function addTable(_0x5e4c48,_0x1a63a2){const _0xaab3e5=a217_0x2bc9b0,_0x138eaa=_0x1a63a2?.['replace'](/[`"]/g,'');_0x138eaa&&_0x138eaa!==UNRESOLVED_SQL_FRAGMENT&&!_0x5e4c48[_0xaab3e5(0x19e)](_0x138eaa)&&_0x5e4c48[_0xaab3e5(0x1b8)](_0x138eaa);}function extractParameters(_0x455944){const _0x5fe66a=a217_0x2bc9b0,_0x232d7e=new Set();for(const _0x4ba4a3 of _0x455944['matchAll'](/[#$]\{\s*([A-Za-z_][\w.]*)\s*(?=[,}])/g)){if(_0x4ba4a3[0x1])_0x232d7e[_0x5fe66a(0x179)](_0x4ba4a3[0x1]);}return Array[_0x5fe66a(0x1c0)](_0x232d7e);}export function validateSql(_0xf016eb){const _0x58739c=a217_0x2bc9b0,_0x8db0ed=normalizeSqlForStaticAnalysis(_0xf016eb),_0xa702fb=detectNormalizedSqlType(_0x8db0ed),_0x43613d=stripStaticAnalysisMarkers(_0x8db0ed[_0x58739c(0x18c)]),_0x5c6faf=_0x8db0ed[_0x58739c(0x1b1)]?[]:extractTables(_0x43613d),_0x32be0c=_0x8db0ed[_0x58739c(0x1b1)]?[]:extractParameters(_0x43613d);if(_0xa702fb[_0x58739c(0x1c3)])return{'valid':![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0xa702fb[_0x58739c(0x1cf)]||_0xa702fb[_0x58739c(0x189)]+_0x58739c(0x1a5)};if(_0xa702fb['type']==='UNKNOWN')return{'valid':![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0x8db0ed['error']?_0x58739c(0x1a1)+_0x8db0ed[_0x58739c(0x1b1)]:'Unable\x20to\x20detect\x20SQL\x20type.\x20Please\x20check\x20the\x20SQL\x20content.'};return{'valid':!![],'sqlType':_0xa702fb,'tables':_0x5c6faf,'parameters':_0x32be0c,'message':_0xa702fb[_0x58739c(0x189)]+_0x58739c(0x190)+(_0x5c6faf[_0x58739c(0x194)]?_0x5c6faf[_0x58739c(0x1b0)](',\x20'):_0x58739c(0x1c2))+(_0x32be0c[_0x58739c(0x194)]?_0x58739c(0x19c)+_0x32be0c[_0x58739c(0x1b0)](',\x20'):'')};}
|
|
1
|
+
const a219_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'):'')};}
|
package/lib/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a220_0x1479(_0x4fb3e3,_0x49a6ac){_0x4fb3e3=_0x4fb3e3-0x18b;const _0x77d80c=a220_0x77d8();let _0x147912=_0x77d80c[_0x4fb3e3];return _0x147912;}function a220_0x77d8(){const _0x4b78ce=['\x20init\x20--appcode\x20<code>`\x20or\x20pass\x20--appcode.','1307964RmaaGA','475756myPxXG','join','Tip:\x20`','2718930bvEqJZ','Run\x20`','10DFrPiv','1849380RCZbvU','76952BxcBLP','Run\x20this\x20command\x20inside\x20a\x20project\x20with\x20.rabetbase.json\x20file.','\x20init\x20--appcode\x20<code>\x20--global`\x20registers\x20globally\x20so\x20you\x20can\x20use\x20it\x20from\x20anywhere.','\x20auth`\x20to\x20login\x20first.','9NoFsTK','141960QRMrnt','124790RbLxtK','918kRYyyO','35ztlcrG','\x0a\x20\x20\x20\x20\x20\x20\x20','1969szOcGA','Set\x20appcode\x20via\x20`'];a220_0x77d8=function(){return _0x4b78ce;};return a220_0x77d8();}const a220_0x1a4caa=a220_0x1479;(function(_0xfa89e3,_0x2cec7d){const _0x499839=a220_0x1479,_0x296701=_0xfa89e3();while(!![]){try{const _0x507f62=-parseInt(_0x499839(0x191))/0x1+-parseInt(_0x499839(0x198))/0x2+parseInt(_0x499839(0x19d))/0x3*(parseInt(_0x499839(0x192))/0x4)+parseInt(_0x499839(0x197))/0x5*(-parseInt(_0x499839(0x195))/0x6)+-parseInt(_0x499839(0x18c))/0x7*(-parseInt(_0x499839(0x199))/0x8)+parseInt(_0x499839(0x18b))/0x9*(parseInt(_0x499839(0x19f))/0xa)+parseInt(_0x499839(0x18e))/0xb*(parseInt(_0x499839(0x19e))/0xc);if(_0x507f62===_0x2cec7d)break;else _0x296701['push'](_0x296701['shift']());}catch(_0x159415){_0x296701['push'](_0x296701['shift']());}}}(a220_0x77d8,0xa03f8));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':a220_0x1a4caa(0x196)+CLI_BIN_NAME+a220_0x1a4caa(0x19c),'configMissingHint':[a220_0x1a4caa(0x18f)+CLI_BIN_NAME+a220_0x1a4caa(0x190),a220_0x1a4caa(0x194)+CLI_BIN_NAME+a220_0x1a4caa(0x19b)][a220_0x1a4caa(0x193)](a220_0x1a4caa(0x18d)),'notInProjectHint':a220_0x1a4caa(0x19a)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1cd58e,_0x30b929){const _0xe7abeb=a221_0xf62a,_0x4406db=_0x1cd58e();while(!![]){try{const _0x48e614=parseInt(_0xe7abeb(0x115))/0x1*(parseInt(_0xe7abeb(0x109))/0x2)+-parseInt(_0xe7abeb(0x111))/0x3+parseInt(_0xe7abeb(0x110))/0x4*(parseInt(_0xe7abeb(0x112))/0x5)+parseInt(_0xe7abeb(0x10b))/0x6*(parseInt(_0xe7abeb(0x10c))/0x7)+-parseInt(_0xe7abeb(0x10d))/0x8*(parseInt(_0xe7abeb(0x10f))/0x9)+-parseInt(_0xe7abeb(0x10a))/0xa+-parseInt(_0xe7abeb(0x113))/0xb;if(_0x48e614===_0x30b929)break;else _0x4406db['push'](_0x4406db['shift']());}catch(_0xee3b93){_0x4406db['push'](_0x4406db['shift']());}}}(a221_0xa421,0x5d41c));import{DEFAULT_COMMAND_OUTPUT_FORMAT}from'../constant/defaults.js';function a221_0xf62a(_0x411d52,_0x1abf38){_0x411d52=_0x411d52-0x109;const _0xa42140=a221_0xa421();let _0xf62af7=_0xa42140[_0x411d52];return _0xf62af7;}import{buildAllFlags as a221_0x714ee2}from'@lovrabet/cli-framework';function a221_0xa421(){const _0x62370c=['map','653wDYVGP','2062tZvOVN','5558940mxgclf','48lrtGyi','562681FkyZoK','159664SItktI','yes','36SCYenU','12trtsaq','8991GEVoXa','1186385mmDcpp','11081785RKFQrB'];a221_0xa421=function(){return _0x62370c;};return a221_0xa421();}import{EXPLICIT_YES_FLAG_DESCRIPTION,requiresExplicitYes}from'../framework/explicit-yes.js';export function buildAllFlags(_0x2b67d7){const _0x1dbf50=a221_0xf62a,_0x14f048=a221_0x714ee2(_0x2b67d7,{'defaultOutputFormat':DEFAULT_COMMAND_OUTPUT_FORMAT});if(!requiresExplicitYes(_0x2b67d7))return _0x14f048;return _0x14f048[_0x1dbf50(0x114)](_0x3c19fb=>_0x3c19fb['name']===_0x1dbf50(0x10e)?{..._0x3c19fb,'description':EXPLICIT_YES_FLAG_DESCRIPTION}:_0x3c19fb);}
|