@lovrabet/rabetbase-cli 2.1.12-beta.2 → 2.1.12-beta.4
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/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app/use.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-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-selector.js +1 -1
- package/lib/commands/common/flags.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/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/link-create.js +1 -1
- package/lib/commands/dataset/link-delete.js +1 -1
- package/lib/commands/dataset/link-shared.js +1 -1
- package/lib/commands/dataset/link-update.js +1 -1
- package/lib/commands/dataset/links.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.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/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/index.js +1 -1
- package/lib/commands/menu/shared/compare-table.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/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/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/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/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/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/skill/index.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/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.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-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/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/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 a119_0x18fec9=a119_0x2a5c;(function(_0x22df2f,_0x3a05a8){const _0x2187bd=a119_0x2a5c,_0x3a5637=_0x22df2f();while(!![]){try{const _0x83ac4c=-parseInt(_0x2187bd(0x1df))/0x1*(-parseInt(_0x2187bd(0x1fd))/0x2)+-parseInt(_0x2187bd(0x1dc))/0x3*(parseInt(_0x2187bd(0x1e6))/0x4)+parseInt(_0x2187bd(0x1e8))/0x5*(parseInt(_0x2187bd(0x1ec))/0x6)+parseInt(_0x2187bd(0x1e9))/0x7*(parseInt(_0x2187bd(0x1fb))/0x8)+parseInt(_0x2187bd(0x1eb))/0x9*(-parseInt(_0x2187bd(0x1ed))/0xa)+parseInt(_0x2187bd(0x1fa))/0xb*(parseInt(_0x2187bd(0x1ea))/0xc)+parseInt(_0x2187bd(0x1e7))/0xd*(parseInt(_0x2187bd(0x1de))/0xe);if(_0x83ac4c===_0x3a05a8)break;else _0x3a5637['push'](_0x3a5637['shift']());}catch(_0x1b14ee){_0x3a5637['push'](_0x3a5637['shift']());}}}(a119_0x5aa7,0xc5f39));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';function a119_0x2a5c(_0x348cd5,_0x5205b5){_0x348cd5=_0x348cd5-0x1d5;const _0x5aa7df=a119_0x5aa7();let _0x2a5cea=_0x5aa7df[_0x348cd5];return _0x2a5cea;}function a119_0x5aa7(){const _0x3b7b12=['No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','32HWxibI','POST','SQL\x20lock\x20file\x20not\x20found.','\x20(local\x20file\x20moved\x20to\x20trash)','trashDir','Would\x20delete\x20SQL\x20','delete','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','length','lastSync','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','21jddodl','replace','2521526VjIZRe','47123ugvBRN','sqlRoot','appCode','str','sqlcode','filter','trashedTo','717164kduqhW','13lichlf','3480765qwwzbg','595vmvMxt','12xpvlGV','18NijISw','6bcbKjD','5191280uDLXwT','sqlRootDir','high-risk-write','/smartapi/custom/deleteUserCustomSql','lockFilePath','sqls','entries','remoteId','toISOString','Deleted\x20','validation','projectRoot','sql','8112687SPDWhS','69304PXgfMf'];a119_0x5aa7=function(){return _0x3b7b12;};return a119_0x5aa7();}import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a119_0x18fec9(0x1f9),'command':a119_0x18fec9(0x1d7),'description':a119_0x18fec9(0x1d8),'risk':a119_0x18fec9(0x1ef),'flags':[SQLCODE_FLAG],async 'validate'(_0x1830e8){const _0x2d1283=a119_0x18fec9,_0x1483dc=loadSqlProjectConfig(_0x1830e8['appCode']),_0x360bba=await readSqlLockFile(_0x1483dc['lockFilePath']);if(!_0x360bba)throw CliErrors[_0x2d1283(0x1f7)](_0x2d1283(0x1db));},async 'dryRun'(_0x3f93dd){const _0x4f39d6=a119_0x18fec9,_0x4436e3=loadSqlProjectConfig(_0x3f93dd['appCode']),_0x43d22b=await readSqlLockFile(_0x4436e3[_0x4f39d6(0x1f1)]);if(!_0x43d22b)throw CliErrors[_0x4f39d6(0x1f7)](_0x4f39d6(0x1db));const {appLock:_0x42ee08}=ensureSqlLockScope(_0x43d22b,_0x3f93dd[_0x4f39d6(0x1e1)],_0x4436e3[_0x4f39d6(0x1e0)],_0x4f39d6(0x1d7)),_0x12ccc7=_0x3f93dd[_0x4f39d6(0x1e2)](_0x4f39d6(0x1e3)),_0x4c5a4f=_0x42ee08[_0x4f39d6(0x1f2)][_0x12ccc7];if(!_0x4c5a4f)throw CliErrors[_0x4f39d6(0x1f7)](_0x4f39d6(0x1fc)+_0x12ccc7+'\x22.');return{'method':_0x4f39d6(0x1fe),'url':_0x4f39d6(0x1f0),'body':{'sqlCode':_0x12ccc7,'id':_0x4c5a4f['remoteId'],'localPath':resolveLocalSqlFilePath(_0x4436e3,_0x12ccc7,_0x4c5a4f)},'description':_0x4f39d6(0x1d6)+_0x12ccc7+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x4436e3[_0x4f39d6(0x1d5)]};},async 'execute'(_0x9074e5){const _0xb56e25=a119_0x18fec9,_0x258cac=loadSqlProjectConfig(_0x9074e5[_0xb56e25(0x1e1)]),_0x12fcef=await readSqlLockFile(_0x258cac[_0xb56e25(0x1f1)]);if(!_0x12fcef)throw CliErrors[_0xb56e25(0x1f7)](_0xb56e25(0x1ff));const {lockData:_0x4aa29c,appLock:_0x18d15f}=ensureSqlLockScope(_0x12fcef,_0x9074e5[_0xb56e25(0x1e1)],_0x258cac['sqlRoot'],_0xb56e25(0x1d7)),_0x5be864=_0x9074e5['str'](_0xb56e25(0x1e3)),_0x4065bc=_0x18d15f[_0xb56e25(0x1f2)][_0x5be864];if(!_0x4065bc)throw CliErrors[_0xb56e25(0x1f7)](_0xb56e25(0x1fc)+_0x5be864+'\x22.');await deleteSqlQuery({'id':_0x4065bc[_0xb56e25(0x1f4)],'sqlCode':_0x5be864}),_0x18d15f['sqls']=Object['fromEntries'](Object[_0xb56e25(0x1f3)](_0x18d15f[_0xb56e25(0x1f2)])[_0xb56e25(0x1e4)](([_0xd078cd])=>_0xd078cd!==_0x5be864)),_0x18d15f[_0xb56e25(0x1da)]=new Date()[_0xb56e25(0x1f5)](),await writeSqlLockFile(_0x258cac['lockFilePath'],_0x4aa29c);const _0x243f25=resolveLocalSqlFilePath(_0x258cac,_0x5be864,_0x4065bc);let _0x348dff;await fileExists(_0x243f25)&&(_0x348dff=await moveToTrash(_0x258cac[_0xb56e25(0x1f8)],_0x258cac[_0xb56e25(0x1d5)],_0x243f25),await cleanupEmptyDirectories(dirname(_0x243f25),_0x258cac[_0xb56e25(0x1ee)]));const _0x62811a={'deleted':_0x5be864,'remoteId':_0x4065bc[_0xb56e25(0x1f4)]};if(_0x348dff)_0x62811a[_0xb56e25(0x1e5)]=_0x348dff;return{'ok':!![],'data':_0x62811a,'message':_0xb56e25(0x1f6)+_0x5be864+(_0x348dff?_0xb56e25(0x200):'')};}};async function moveToTrash(_0x2d2279,_0x56eeba,_0x100119){const _0x1357c1=a119_0x18fec9,_0x251074=new Date()[_0x1357c1(0x1f5)]()[_0x1357c1(0x1dd)](/[:.]/g,'-'),_0x1e2a50=relative(_0x2d2279,_0x100119),_0x452d68=join(_0x56eeba,_0x251074,_0x1e2a50);return await mkdir(dirname(_0x452d68),{'recursive':!![]}),await rename(_0x100119,_0x452d68),_0x452d68;}async function cleanupEmptyDirectories(_0x1037d3,_0x343e5b){const _0x540553=a119_0x18fec9;let _0x37d704=resolve(_0x1037d3);const _0x40873d=resolve(_0x343e5b);while(_0x37d704['startsWith'](''+_0x40873d+sep)||_0x37d704===_0x40873d){if(_0x37d704===_0x40873d)return;try{const _0x1e700e=await readdir(_0x37d704);if(_0x1e700e[_0x540553(0x1d9)]>0x0)return;await rmdir(_0x37d704);}catch{return;}_0x37d704=dirname(_0x37d704);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a120_0x282548=a120_0x348d;(function(_0x14b2e0,_0x5f5585){const _0x1d6d5d=a120_0x348d,_0x2da9e1=_0x14b2e0();while(!![]){try{const _0xd90f2c=parseInt(_0x1d6d5d(0x89))/0x1*(parseInt(_0x1d6d5d(0x7b))/0x2)+-parseInt(_0x1d6d5d(0x78))/0x3+-parseInt(_0x1d6d5d(0x81))/0x4*(parseInt(_0x1d6d5d(0x84))/0x5)+parseInt(_0x1d6d5d(0x80))/0x6+parseInt(_0x1d6d5d(0x82))/0x7+parseInt(_0x1d6d5d(0x87))/0x8*(parseInt(_0x1d6d5d(0x7c))/0x9)+-parseInt(_0x1d6d5d(0x7a))/0xa;if(_0xd90f2c===_0x5f5585)break;else _0x2da9e1['push'](_0x2da9e1['shift']());}catch(_0x1c2fe6){_0x2da9e1['push'](_0x2da9e1['shift']());}}}(a120_0x25cd,0x60216));function a120_0x25cd(){const _0x4cc02b=['15540axcykF','4774357OMyqEO','str','950oUafJz','dbId','verbose','562696IGVVVZ','read','592238nbkRQn','description','bool','1589022XoupFr','sqlName','813800jAtOyL','2WTPgGi','27hXRUpH','appCode','sql','boolean','1545924KAcFRK'];a120_0x25cd=function(){return _0x4cc02b;};return a120_0x25cd();}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a120_0x348d(_0x2f233a,_0x5cf131){_0x2f233a=_0x2f233a-0x78;const _0x25cd01=a120_0x25cd();let _0x348de1=_0x25cd01[_0x2f233a];return _0x348de1;}export const sqlDetail={'service':a120_0x282548(0x7e),'command':'detail','description':'Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','risk':a120_0x282548(0x88),'flags':[SQLCODE_FLAG,{'name':a120_0x282548(0x86),'type':a120_0x282548(0x7f),'description':'Return\x20full\x20raw\x20SQL\x20query\x20object'}],async 'execute'(_0x2511aa){const _0x4dd0ae=a120_0x282548,_0x3f5d13=await getSqlQueryInfo(_0x2511aa[_0x4dd0ae(0x7d)],_0x2511aa[_0x4dd0ae(0x83)]('sqlcode')),_0x3b92c4=_0x2511aa[_0x4dd0ae(0x8b)](_0x4dd0ae(0x86));if(_0x3b92c4)return{'ok':!![],'data':_0x3f5d13};const _0x5bf3e8=_0x3f5d13[_0x4dd0ae(0x85)]?await getDbName(_0x2511aa['appCode'],_0x3f5d13[_0x4dd0ae(0x85)]):undefined;return{'ok':!![],'data':{'sqlCode':_0x3f5d13['sqlCode'],'sqlName':_0x3f5d13[_0x4dd0ae(0x79)],'db':_0x5bf3e8?_0x5bf3e8+'\x20('+_0x3f5d13[_0x4dd0ae(0x85)]+')':_0x3f5d13[_0x4dd0ae(0x85)]??'','description':_0x3f5d13[_0x4dd0ae(0x8a)]??'','sqlContent':_0x3f5d13['sqlContent']??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a121_0x5c8ed9=a121_0x2f75;(function(_0x5342ec,_0x3d57f5){const _0x85e8a4=a121_0x2f75,_0x38a260=_0x5342ec();while(!![]){try{const _0x17f36f=-parseInt(_0x85e8a4(0xdb))/0x1+parseInt(_0x85e8a4(0xd6))/0x2*(-parseInt(_0x85e8a4(0xdc))/0x3)+parseInt(_0x85e8a4(0xee))/0x4*(-parseInt(_0x85e8a4(0xea))/0x5)+parseInt(_0x85e8a4(0xeb))/0x6*(-parseInt(_0x85e8a4(0xe7))/0x7)+-parseInt(_0x85e8a4(0xe5))/0x8*(-parseInt(_0x85e8a4(0xd5))/0x9)+-parseInt(_0x85e8a4(0xed))/0xa*(parseInt(_0x85e8a4(0xe1))/0xb)+parseInt(_0x85e8a4(0xe9))/0xc;if(_0x17f36f===_0x3d57f5)break;else _0x38a260['push'](_0x38a260['shift']());}catch(_0x3a0823){_0x38a260['push'](_0x38a260['shift']());}}}(a121_0x22ec,0x2b3f7));import{executeSql}from'../../core/api-client.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';function a121_0x2f75(_0x99c212,_0x23ebf1){_0x99c212=_0x99c212-0xd3;const _0x22ecbb=a121_0x22ec();let _0x2f75c0=_0x22ecbb[_0x99c212];return _0x2f75c0;}import{parseJsonParams}from'../../utils/params.js';function a121_0x22ec(){const _0x19e621=['1306SmBFCq','params','appCode','execSuccess','sqlcode','184845UPpydR','1212oZnnXH','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','now','\x20row(s)\x20in\x20','sql','44cMHzzd','length','execError','isArray','56hXZGNN','exec','7iOhptD','str','15114276CDgHCG','230730MYdgDI','2030676aZfmii','read','683260VnEXyO','28dDUmAc','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','execResult','387063rGbCla'];a121_0x22ec=function(){return _0x19e621;};return a121_0x22ec();}export const sqlExec={'service':a121_0x5c8ed9(0xe0),'command':a121_0x5c8ed9(0xe6),'description':a121_0x5c8ed9(0xd3),'risk':a121_0x5c8ed9(0xec),'flags':[SQLCODE_FLAG,{'name':'params','type':'string','description':a121_0x5c8ed9(0xdd)}],async 'execute'(_0x12c0a1){const _0x19278a=a121_0x5c8ed9,_0x519867=parseJsonParams(_0x12c0a1[_0x19278a(0xe8)](_0x19278a(0xd7))),_0x379991=Date[_0x19278a(0xde)](),_0x4c6d1f=await executeSql(_0x12c0a1[_0x19278a(0xd8)],_0x12c0a1[_0x19278a(0xe8)](_0x19278a(0xda)),_0x519867),_0x903de7=Date[_0x19278a(0xde)]()-_0x379991,_0x30d05e=_0x4c6d1f?.[_0x19278a(0xd4)]??_0x4c6d1f,_0x42ce38=_0x4c6d1f?.[_0x19278a(0xd9)]??!![];if(!_0x42ce38)return{'ok':![],'data':{'error':_0x4c6d1f?.[_0x19278a(0xe3)]||'SQL\x20execution\x20failed','elapsed':_0x903de7},'message':'SQL\x20execution\x20failed'};const _0x444278=Array[_0x19278a(0xe4)](_0x30d05e)?_0x30d05e:[];return{'ok':!![],'data':{'rows':_0x444278,'rowCount':_0x444278['length'],'elapsed':_0x903de7},'message':'Returned\x20'+_0x444278[_0x19278a(0xe2)]+_0x19278a(0xdf)+_0x903de7+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1fe96e,_0x3f226e){const _0x4d5793=a122_0x4943,_0x4e5f9f=_0x1fe96e();while(!![]){try{const _0x12c3b1=-parseInt(_0x4d5793(0xa4))/0x1*(parseInt(_0x4d5793(0xab))/0x2)+parseInt(_0x4d5793(0xa8))/0x3*(-parseInt(_0x4d5793(0xa7))/0x4)+parseInt(_0x4d5793(0xad))/0x5+parseInt(_0x4d5793(0xac))/0x6+-parseInt(_0x4d5793(0xa3))/0x7+parseInt(_0x4d5793(0xa5))/0x8*(parseInt(_0x4d5793(0xa6))/0x9)+parseInt(_0x4d5793(0xa9))/0xa*(parseInt(_0x4d5793(0xaa))/0xb);if(_0x12c3b1===_0x3f226e)break;else _0x4e5f9f['push'](_0x4e5f9f['shift']());}catch(_0x24aeeb){_0x4e5f9f['push'](_0x4e5f9f['shift']());}}}(a122_0x6541,0xd1369));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';function a122_0x4943(_0x2632b0,_0x19ae94){_0x2632b0=_0x2632b0-0xa3;const _0x6541b1=a122_0x6541();let _0x4943a1=_0x6541b1[_0x2632b0];return _0x4943a1;}import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';function a122_0x6541(){const _0x4141f7=['94kiMWpl','8157282FMHxOF','5842310XPuCHi','1074458Sfwyiu','27298upUKUa','1267448wgtnyr','9TSDGfs','980IrwKLL','20127oMgpDm','12507020rfVIKp','11KQWoCx'];a122_0x6541=function(){return _0x4141f7;};return a122_0x6541();}import{sqlStatus}from'../../commands/sql/status.js';import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a123_0x12ef94=a123_0x531c;(function(_0x53a71c,_0x370899){const _0x3a375b=a123_0x531c,_0x3d0171=_0x53a71c();while(!![]){try{const _0x5a9e4a=-parseInt(_0x3a375b(0xac))/0x1+parseInt(_0x3a375b(0xb2))/0x2*(parseInt(_0x3a375b(0xb8))/0x3)+parseInt(_0x3a375b(0x9c))/0x4*(-parseInt(_0x3a375b(0xab))/0x5)+parseInt(_0x3a375b(0xa8))/0x6+-parseInt(_0x3a375b(0xbb))/0x7+parseInt(_0x3a375b(0xb9))/0x8*(parseInt(_0x3a375b(0xb5))/0x9)+-parseInt(_0x3a375b(0x9e))/0xa;if(_0x5a9e4a===_0x370899)break;else _0x3d0171['push'](_0x3d0171['shift']());}catch(_0x235212){_0x3d0171['push'](_0x3d0171['shift']());}}}(a123_0x2e8c,0x8532f));function a123_0x531c(_0x3a8dee,_0x2f7c11){_0x3a8dee=_0x3a8dee-0x9b;const _0x2e8c58=a123_0x2e8c();let _0x531c84=_0x2e8c58[_0x3a8dee];return _0x531c84;}import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a123_0x2e8c(){const _0x4eee7a=['all','totalCount','2844DWoqas','verbose','Filter\x20by\x20SQL\x20name','177DlinAA','7664RhbfyK','\x20SQL\x20queries\x20(total:\x20','604205KFKqIA','read','name','sqlcode','page','581752Iecbyc','num','11715930LAYOUO','Page\x20size','bool','List\x20custom\x20SQL\x20queries','appCode','dbId','description','string','number','pagesize','6166314LhwUEj','boolean','map','5ZoaCBL','231472lCHeOo','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','str','sql','sqlName','length','28812XvpvGl'];a123_0x2e8c=function(){return _0x4eee7a;};return a123_0x2e8c();}export const sqlList={'service':a123_0x12ef94(0xaf),'command':'list','description':a123_0x12ef94(0xa1),'risk':a123_0x12ef94(0xbc),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a123_0x12ef94(0xbd),'type':a123_0x12ef94(0xa5),'description':a123_0x12ef94(0xb7)},{'name':a123_0x12ef94(0x9b),'type':a123_0x12ef94(0xa6),'description':'Page\x20number','default':0x1},{'name':a123_0x12ef94(0xa7),'type':'number','description':a123_0x12ef94(0x9f)},{'name':a123_0x12ef94(0xb6),'type':a123_0x12ef94(0xa9),'description':a123_0x12ef94(0xad)}],async 'execute'(_0x30bbc4){const _0x153a30=a123_0x12ef94,_0x1367bf=await listSqlQueries(_0x30bbc4['appCode'],{'sqlCode':_0x30bbc4[_0x153a30(0xae)](_0x153a30(0xbe))||undefined,'sqlName':_0x30bbc4[_0x153a30(0xae)]('name')||undefined,'currentPage':_0x30bbc4[_0x153a30(0x9d)](_0x153a30(0x9b)),'pageSize':_0x30bbc4[_0x153a30(0x9d)]('pagesize',0x32)}),_0x5e6099=_0x30bbc4[_0x153a30(0xa0)]('verbose'),_0xef8002=_0x1367bf['tableData']??[],_0x3a8c42=_0x1367bf['paging']?.[_0x153a30(0xb4)]??_0xef8002[_0x153a30(0xb1)];let _0x1a7098;return _0x5e6099?_0x1a7098=_0xef8002:_0x1a7098=await Promise[_0x153a30(0xb3)](_0xef8002[_0x153a30(0xaa)](async _0x5536c0=>{const _0x27e8c6=_0x153a30;let _0x1ba59e;try{_0x1ba59e=_0x5536c0[_0x27e8c6(0xa3)]?await getDbName(_0x30bbc4[_0x27e8c6(0xa2)],_0x5536c0[_0x27e8c6(0xa3)]):undefined;}catch{}return{'sqlCode':_0x5536c0['sqlCode'],'sqlName':_0x5536c0[_0x27e8c6(0xb0)],'description':_0x5536c0[_0x27e8c6(0xa4)]??'','db':_0x1ba59e?_0x1ba59e+'\x20('+_0x5536c0[_0x27e8c6(0xa3)]+')':_0x5536c0[_0x27e8c6(0xa3)]??''};})),{'ok':!![],'data':_0x1a7098,'message':_0xef8002[_0x153a30(0xb1)]===0x0?'No\x20custom\x20SQL\x20queries\x20found.':'Found\x20'+_0xef8002[_0x153a30(0xb1)]+_0x153a30(0xba)+_0x3a8c42+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a124_0x1be652=a124_0x528c;(function(_0x516347,_0x2124e8){const _0x30cfc3=a124_0x528c,_0x46056d=_0x516347();while(!![]){try{const _0x14fc51=parseInt(_0x30cfc3(0xc3))/0x1+parseInt(_0x30cfc3(0x96))/0x2*(parseInt(_0x30cfc3(0xbb))/0x3)+parseInt(_0x30cfc3(0xa7))/0x4+parseInt(_0x30cfc3(0xc4))/0x5+parseInt(_0x30cfc3(0xcd))/0x6*(parseInt(_0x30cfc3(0xbc))/0x7)+-parseInt(_0x30cfc3(0xa4))/0x8*(-parseInt(_0x30cfc3(0xb1))/0x9)+-parseInt(_0x30cfc3(0xad))/0xa;if(_0x14fc51===_0x2124e8)break;else _0x46056d['push'](_0x46056d['shift']());}catch(_0x279aff){_0x46056d['push'](_0x46056d['shift']());}}}(a124_0x486a,0xba683));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';function a124_0x528c(_0x3f6cb8,_0x580e59){_0x3f6cb8=_0x3f6cb8-0x8f;const _0x486a1a=a124_0x486a();let _0x528ca4=_0x486a1a[_0x3f6cb8];return _0x528ca4;}import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';function a124_0x486a(){const _0x16a9fa=['sqlRoot','split','would_pull','381QvjiNZ','2360687xMwMil','lockFilePath','force','appCode','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','totalCount','Would\x20pull\x20','98097ZZXqeE','4455205DgjnNy','apps','join','No\x20remote\x20SQL\x20queries\x20matched.','dbId','sqlcode','replace','\x20failed','sql','24evJTCu','Pull\x20complete:\x20','Filter\x20by\x20SQL\x20display\x20name','tableData','catch','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','description','\x20SQL\x20file(s)\x20into\x20','sqlContent','path','cancelled','skipped','11202IIILks','sqlCode','toISOString','Force\x20pull\x20cancelled.','utf8','trimStart','test','local\x20differs\x20from\x20remote','\x20skipped,\x20','string','bool','sqlRootDir','\x20written,\x20','message','9259144nCImLI','sqlName','str','1829896GoyXuv','length','conflict','sqls','boolean','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','39007730ZQzZFV','nonInteractive','push','name','9vOdvjk','write','pull','mybatisXml','unchanged','paging','lastSync'];a124_0x486a=function(){return _0x16a9fa;};return a124_0x486a();}import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x59264b,_0x595a96){const _0x7736f3=a124_0x528c,_0x695b6=[];let _0xeb07d6=0x1;while(!![]){const _0x15245e=await listSqlQueries(_0x59264b,{'currentPage':_0xeb07d6,'pageSize':PAGE_SIZE,'sqlCode':_0x595a96['sqlCode'],'sqlName':_0x595a96[_0x7736f3(0xa5)]}),_0x2dcbb0=_0x15245e[_0x7736f3(0xd0)]??[];_0x695b6['push'](..._0x2dcbb0);if(_0x2dcbb0[_0x7736f3(0xa8)]===0x0)break;const _0x52deae=_0x15245e[_0x7736f3(0xb6)]?.[_0x7736f3(0xc1)];if(_0x52deae!=null?_0x695b6[_0x7736f3(0xa8)]>=_0x52deae:_0x2dcbb0[_0x7736f3(0xa8)]<PAGE_SIZE)break;_0xeb07d6++;}return _0x695b6;}async function ensureSqlContent(_0x594563){const _0x328095=a124_0x528c;if(_0x594563[_0x328095(0x92)]!=null&&String(_0x594563[_0x328095(0x92)])[_0x328095(0xa8)]>0x0)return _0x594563;return getSqlQueryDetail(_0x594563['sqlCode']);}export const sqlPull={'service':a124_0x1be652(0xcc),'command':a124_0x1be652(0xb3),'description':a124_0x1be652(0xac),'risk':a124_0x1be652(0xb2),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a124_0x1be652(0xb0),'type':a124_0x1be652(0x9f),'description':a124_0x1be652(0xcf)},{'name':'force','type':a124_0x1be652(0xab),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x792d74){const _0x334afb=a124_0x1be652,_0x4d2b0c=loadSqlProjectConfig(_0x792d74[_0x334afb(0xbf)]),_0x59c013=await readSqlLockFile(_0x4d2b0c[_0x334afb(0xbd)]),{appLock:_0x35ad7b}=ensureSqlLockScope(_0x59c013??createEmptySqlLock(),_0x4d2b0c[_0x334afb(0xbf)],_0x4d2b0c['sqlRoot'],_0x334afb(0xb3)),_0x688c4b=await fetchAllSqlQueries(_0x792d74['appCode'],{'sqlCode':_0x792d74['str'](_0x334afb(0xc9))||undefined,'sqlName':_0x792d74['str'](_0x334afb(0xb0))||undefined}),_0x21ae8c=[];for(const _0x903819 of _0x688c4b){const _0x4a9e9e=await ensureSqlContent(_0x903819),_0x1a1c88=ensureRemoteSqlContent(_0x4a9e9e),_0x293016=detectModeFromSql(_0x4a9e9e),_0x5f34a4=_0x4a9e9e[_0x334afb(0xc8)]?await getDbName(_0x792d74['appCode'],Number(_0x4a9e9e[_0x334afb(0xc8)]))[_0x334afb(0xd1)](()=>undefined):undefined,_0x1bb9b4=buildLocalSqlFileContent({'sqlCode':_0x4a9e9e[_0x334afb(0x97)],'sqlName':_0x4a9e9e[_0x334afb(0xa5)],'dbId':_0x4a9e9e[_0x334afb(0xc8)]},_0x1a1c88,{'dbName':_0x5f34a4,'mode':_0x293016,'syncedAt':new Date()[_0x334afb(0x98)](),'description':_0x4a9e9e[_0x334afb(0x90)]}),_0x266cc6=buildSqlLockEntry(_0x4a9e9e,_0x1a1c88,'',{'dbName':_0x5f34a4}),_0x37eaa5=resolveLocalSqlFilePath(_0x4d2b0c,_0x4a9e9e[_0x334afb(0x97)],_0x266cc6);let _0x8d3f0b=_0x334afb(0xba),_0x2d8c3e;if(await fileExists(_0x37eaa5)){const _0x12327f=await readFile(_0x37eaa5,_0x334afb(0x9a));isEquivalentPulledSqlFile(_0x12327f,_0x1bb9b4,_0x293016)?(_0x8d3f0b=_0x334afb(0x95),_0x2d8c3e=_0x334afb(0xb5)):(_0x8d3f0b=_0x334afb(0xa9),_0x2d8c3e=_0x334afb(0xc0));}_0x21ae8c['push']({'sqlCode':_0x4a9e9e[_0x334afb(0x97)],'sqlName':_0x4a9e9e['sqlName'],'filePath':_0x37eaa5,'status':_0x8d3f0b,'reason':_0x2d8c3e});}return{'method':'POST','url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x792d74[_0x334afb(0xbf)],'sqlCode':_0x792d74[_0x334afb(0xa6)](_0x334afb(0xc9))||null,'sqlName':_0x792d74[_0x334afb(0xa6)](_0x334afb(0xb0))||null,'files':_0x21ae8c},'description':_0x334afb(0xc2)+_0x21ae8c[_0x334afb(0xa8)]+_0x334afb(0x91)+_0x4d2b0c[_0x334afb(0xa1)]};},async 'execute'(_0x1c99c3){const _0xfe43ae=a124_0x1be652,_0x55a285=loadSqlProjectConfig(_0x1c99c3[_0xfe43ae(0xbf)]),_0x35bdd8=await readSqlLockFile(_0x55a285[_0xfe43ae(0xbd)]),{lockData:_0x20c5ef,appLock:_0x595e62}=ensureSqlLockScope(_0x35bdd8??createEmptySqlLock(),_0x55a285[_0xfe43ae(0xbf)],_0x55a285[_0xfe43ae(0xb8)],_0xfe43ae(0xb3)),_0x358ba1=_0x1c99c3[_0xfe43ae(0xa0)](_0xfe43ae(0xbe)),_0x14b3b6=await fetchAllSqlQueries(_0x1c99c3[_0xfe43ae(0xbf)],{'sqlCode':_0x1c99c3[_0xfe43ae(0xa6)](_0xfe43ae(0xc9))||undefined,'sqlName':_0x1c99c3['str'](_0xfe43ae(0xb0))||undefined});if(_0x14b3b6[_0xfe43ae(0xa8)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0xfe43ae(0xc7)};const _0x2478dc=[],_0x52c691=[];for(const _0x4dbe06 of _0x14b3b6){try{_0x2478dc[_0xfe43ae(0xaf)](await ensureSqlContent(_0x4dbe06));}catch(_0x3ccea3){_0x52c691[_0xfe43ae(0xaf)]({'sqlCode':_0x4dbe06[_0xfe43ae(0x97)],'error':_0x3ccea3 instanceof Error?_0x3ccea3['message']:String(_0x3ccea3)});}}if(_0x358ba1&&!_0x1c99c3[_0xfe43ae(0xae)]){let _0x3eac74=![];for(const _0x26f2f1 of _0x2478dc){const _0x18b7c6=detectModeFromSql(_0x26f2f1),_0x2830e9=_0x26f2f1[_0xfe43ae(0xc8)]?await getDbName(_0x1c99c3[_0xfe43ae(0xbf)],Number(_0x26f2f1[_0xfe43ae(0xc8)]))['catch'](()=>undefined):undefined,_0x136faa=buildLocalSqlFileContent({'sqlCode':_0x26f2f1[_0xfe43ae(0x97)],'sqlName':_0x26f2f1[_0xfe43ae(0xa5)],'dbId':_0x26f2f1[_0xfe43ae(0xc8)]},ensureRemoteSqlContent(_0x26f2f1),{'dbName':_0x2830e9,'mode':_0x18b7c6,'syncedAt':new Date()['toISOString'](),'description':_0x26f2f1['description']}),_0x36e327=resolveLocalSqlFilePath(_0x55a285,_0x26f2f1['sqlCode'],buildSqlLockEntry(_0x26f2f1,ensureRemoteSqlContent(_0x26f2f1),'',{'dbName':_0x2830e9}));if(await fileExists(_0x36e327)){const _0x400e6b=await readFile(_0x36e327,_0xfe43ae(0x9a));if(!isEquivalentPulledSqlFile(_0x400e6b,_0x136faa,_0x18b7c6)){_0x3eac74=!![];break;}}}if(_0x3eac74){const _0x22e9d=await confirmForceOverwrite(_0xfe43ae(0x8f));if(!_0x22e9d)throw CliErrors[_0xfe43ae(0x94)](_0xfe43ae(0x99));}}const _0x14b2e4=cloneSqlLockData(_0x20c5ef),_0x2536bf=_0x14b2e4[_0xfe43ae(0xc5)][_0x55a285['appCode']],_0x1cf63d=[],_0x2d4484=[];for(const _0x589090 of _0x2478dc){const _0x1e9549=_0x2536bf[_0xfe43ae(0xaa)][_0x589090[_0xfe43ae(0x97)]],_0x51448e=ensureRemoteSqlContent(_0x589090),_0x3aa174=detectModeFromSql(_0x589090),_0x3af6da=_0x589090[_0xfe43ae(0xc8)]?await getDbName(_0x1c99c3[_0xfe43ae(0xbf)],Number(_0x589090[_0xfe43ae(0xc8)]))[_0xfe43ae(0xd1)](()=>undefined):undefined,_0x10c753=buildLocalSqlFileContent({'sqlCode':_0x589090[_0xfe43ae(0x97)],'sqlName':_0x589090[_0xfe43ae(0xa5)],'dbId':_0x589090[_0xfe43ae(0xc8)]},_0x51448e,{'dbName':_0x3af6da,'mode':_0x3aa174,'syncedAt':new Date()[_0xfe43ae(0x98)](),'description':_0x589090[_0xfe43ae(0x90)]}),_0x431efa=buildSqlLockEntry(_0x589090,_0x51448e,computeSqlContentHash(_0x10c753),{'dbName':_0x3af6da}),_0x3eff78=_0x431efa[_0xfe43ae(0x93)],_0x4904ef=join(_0x55a285[_0xfe43ae(0xa1)],_0x3eff78);try{if(await fileExists(_0x4904ef)){const _0x5a1823=await readFile(_0x4904ef,'utf8');if(isEquivalentPulledSqlFile(_0x5a1823,_0x10c753,_0x3aa174)){_0x2d4484['push']({'sqlCode':_0x589090['sqlCode'],'reason':_0xfe43ae(0xb5)}),_0x2536bf[_0xfe43ae(0xaa)][_0x589090[_0xfe43ae(0x97)]]={..._0x431efa,'hash':computeSqlContentHash(_0x5a1823),'path':_0x3eff78};continue;}if(!_0x358ba1){_0x2d4484[_0xfe43ae(0xaf)]({'sqlCode':_0x589090['sqlCode'],'reason':_0xfe43ae(0x9d)});continue;}}const _0x10e359=_0x1e9549?.['path']?join(_0x55a285['sqlRootDir'],_0x1e9549[_0xfe43ae(0x93)]):undefined;_0x10e359&&_0x10e359!==_0x4904ef&&await fileExists(_0x10e359)&&await rm(_0x10e359,{'force':!![]}),await ensureParentDirectory(_0x4904ef),await writeFile(_0x4904ef,_0x10c753,_0xfe43ae(0x9a)),_0x2536bf[_0xfe43ae(0xaa)][_0x589090[_0xfe43ae(0x97)]]={..._0x431efa,'path':_0x3eff78},_0x1cf63d[_0xfe43ae(0xaf)]({'sqlCode':_0x589090[_0xfe43ae(0x97)],'filePath':_0x4904ef});}catch(_0xfaa775){_0x52c691[_0xfe43ae(0xaf)]({'sqlCode':_0x589090[_0xfe43ae(0x97)],'error':_0xfaa775 instanceof Error?_0xfaa775[_0xfe43ae(0xa3)]:String(_0xfaa775)});}}return _0x2536bf[_0xfe43ae(0xb7)]=new Date()[_0xfe43ae(0x98)](),await writeSqlLockFile(_0x55a285[_0xfe43ae(0xbd)],_0x14b2e4),{'ok':_0x52c691[_0xfe43ae(0xa8)]===0x0,'data':{'pulled':_0x1cf63d,'skipped':_0x2d4484,'failed':_0x52c691},'message':_0xfe43ae(0xce)+_0x1cf63d['length']+_0xfe43ae(0xa2)+_0x2d4484[_0xfe43ae(0xa8)]+_0xfe43ae(0x9e)+_0x52c691[_0xfe43ae(0xa8)]+_0xfe43ae(0xcb)};}};function detectModeFromSql(_0x5b0664){const _0x1f4dce=a124_0x1be652,_0x250d32=ensureRemoteSqlContent(_0x5b0664),_0x2c5e5b=stripLocalSqlMetadata(_0x250d32,_0x1f4dce(0xb4))[_0x1f4dce(0x9b)]();if(/^<(select|insert|update|delete)\b/i[_0x1f4dce(0x9c)](_0x2c5e5b))return _0x1f4dce(0xb4);return'sql';}function isEquivalentPulledSqlFile(_0x4aefad,_0x2f6d99,_0x7e8de3){return normalizePullComparableContent(_0x4aefad,_0x7e8de3)===normalizePullComparableContent(_0x2f6d99,_0x7e8de3);}function normalizePullComparableContent(_0x5d097f,_0x56d442){const _0x5409a5=a124_0x1be652,_0x5d0e00=_0x5d097f[_0x5409a5(0xca)](/\r\n/g,'\x0a')[_0x5409a5(0xb9)]('\x0a'),_0x3482c2=_0x5d0e00['filter'](_0x1980c2=>!isSyncedAtMetadataLine(_0x1980c2,_0x56d442));return _0x3482c2[_0x5409a5(0xc6)]('\x0a');}function isSyncedAtMetadataLine(_0x407bbf,_0x14636c){const _0x581056=a124_0x1be652;if(_0x14636c===_0x581056(0xb4))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x581056(0x9c)](_0x407bbf);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x581056(0x9c)](_0x407bbf);}
|
|
1
|
+
const a124_0x2824c5=a124_0x19ea;(function(_0x425a2a,_0xf33626){const _0x48c08e=a124_0x19ea,_0x162a9a=_0x425a2a();while(!![]){try{const _0x7a62f=parseInt(_0x48c08e(0x201))/0x1+parseInt(_0x48c08e(0x204))/0x2*(-parseInt(_0x48c08e(0x1f0))/0x3)+parseInt(_0x48c08e(0x1cb))/0x4*(-parseInt(_0x48c08e(0x1d4))/0x5)+-parseInt(_0x48c08e(0x1c6))/0x6*(parseInt(_0x48c08e(0x203))/0x7)+parseInt(_0x48c08e(0x1c5))/0x8+-parseInt(_0x48c08e(0x1de))/0x9+parseInt(_0x48c08e(0x1d6))/0xa*(parseInt(_0x48c08e(0x1d8))/0xb);if(_0x7a62f===_0xf33626)break;else _0x162a9a['push'](_0x162a9a['shift']());}catch(_0x12753e){_0x162a9a['push'](_0x162a9a['shift']());}}}(a124_0x412f,0x8ea15));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;function a124_0x412f(){const _0x56fb2c=['\x20failed','sqlCode','sql','mybatisXml','force','totalCount','sqlcode','3DfDjyq','tableData','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','sqlRootDir','\x20skipped,\x20','boolean','cancelled','toISOString','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','nonInteractive','local\x20differs\x20from\x20remote','str','appCode','sqlName','Force\x20overwrite\x20local\x20unsynced\x20changes','Pull\x20complete:\x20','string','870500rGLtfe','catch','525861gKWIGg','115474HspWOe','pull','2501456lbjHzi','18QiedFG','conflict','trimStart','test','Would\x20pull\x20','4lcfnGR','sqls','apps','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','sqlContent','split','sqlRoot','unchanged','1981865AJOnVv','lastSync','1010zvRjrI','message','39061dSEUaO','utf8','\x20SQL\x20file(s)\x20into\x20','name','lockFilePath','would_pull','2503269sXrgiN','replace','paging','push','length','path','No\x20remote\x20SQL\x20queries\x20matched.','join','dbId','skipped','POST'];a124_0x412f=function(){return _0x56fb2c;};return a124_0x412f();}async function fetchAllSqlQueries(_0x443eb8,_0x32e89a){const _0x883361=a124_0x19ea,_0x3cc61c=[];let _0x230caa=0x1;while(!![]){const _0x1f21c3=await listSqlQueries(_0x443eb8,{'currentPage':_0x230caa,'pageSize':PAGE_SIZE,'sqlCode':_0x32e89a[_0x883361(0x1ea)],'sqlName':_0x32e89a['sqlName']}),_0x4e394c=_0x1f21c3[_0x883361(0x1f1)]??[];_0x3cc61c[_0x883361(0x1e1)](..._0x4e394c);if(_0x4e394c[_0x883361(0x1e2)]===0x0)break;const _0x326046=_0x1f21c3[_0x883361(0x1e0)]?.[_0x883361(0x1ee)];if(_0x326046!=null?_0x3cc61c['length']>=_0x326046:_0x4e394c[_0x883361(0x1e2)]<PAGE_SIZE)break;_0x230caa++;}return _0x3cc61c;}async function ensureSqlContent(_0x177c85){const _0x3b58b8=a124_0x19ea;if(_0x177c85['sqlContent']!=null&&String(_0x177c85[_0x3b58b8(0x1d0)])[_0x3b58b8(0x1e2)]>0x0)return _0x177c85;return getSqlQueryDetail(_0x177c85[_0x3b58b8(0x1ea)]);}export const sqlPull={'service':a124_0x2824c5(0x1eb),'command':a124_0x2824c5(0x205),'description':a124_0x2824c5(0x1f2),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a124_0x2824c5(0x200),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a124_0x2824c5(0x1ed),'type':a124_0x2824c5(0x1f5),'description':a124_0x2824c5(0x1fe)}],async 'dryRun'(_0x88be1e){const _0xb6acf3=a124_0x2824c5,_0x4d1ef1=loadSqlProjectConfig(_0x88be1e['appCode']),_0x2d3d98=await readSqlLockFile(_0x4d1ef1['lockFilePath']),{appLock:_0x3ae771}=ensureSqlLockScope(_0x2d3d98??createEmptySqlLock(),_0x4d1ef1[_0xb6acf3(0x1fc)],_0x4d1ef1[_0xb6acf3(0x1d2)],_0xb6acf3(0x205)),_0xc2dfc4=await fetchAllSqlQueries(_0x88be1e['appCode'],{'sqlCode':_0x88be1e[_0xb6acf3(0x1fb)](_0xb6acf3(0x1ef))||undefined,'sqlName':_0x88be1e[_0xb6acf3(0x1fb)](_0xb6acf3(0x1db))||undefined}),_0x121ca1=[];for(const _0x220160 of _0xc2dfc4){const _0x1bd0b9=await ensureSqlContent(_0x220160),_0x54e7c5=ensureRemoteSqlContent(_0x1bd0b9),_0x4f4759=detectModeFromSql(_0x1bd0b9),_0xdb02b5=_0x1bd0b9['dbId']?await getDbName(_0x88be1e['appCode'],Number(_0x1bd0b9['dbId']))[_0xb6acf3(0x202)](()=>undefined):undefined,_0x4d74fc=buildLocalSqlFileContent({'sqlCode':_0x1bd0b9['sqlCode'],'sqlName':_0x1bd0b9[_0xb6acf3(0x1fd)],'dbId':_0x1bd0b9[_0xb6acf3(0x1e6)]},_0x54e7c5,{'dbName':_0xdb02b5,'mode':_0x4f4759,'syncedAt':new Date()[_0xb6acf3(0x1f7)](),'description':_0x1bd0b9['description']}),_0x2933f2=buildSqlLockEntry(_0x1bd0b9,_0x54e7c5,'',{'dbName':_0xdb02b5}),_0x5926b3=resolveLocalSqlFilePath(_0x4d1ef1,_0x1bd0b9[_0xb6acf3(0x1ea)],_0x2933f2);let _0x19b86d=_0xb6acf3(0x1dd),_0x4f56b3;if(await fileExists(_0x5926b3)){const _0x2b8da2=await readFile(_0x5926b3,_0xb6acf3(0x1d9));isEquivalentPulledSqlFile(_0x2b8da2,_0x4d74fc,_0x4f4759)?(_0x19b86d=_0xb6acf3(0x1e7),_0x4f56b3=_0xb6acf3(0x1d3)):(_0x19b86d=_0xb6acf3(0x1c7),_0x4f56b3=_0xb6acf3(0x1f8));}_0x121ca1[_0xb6acf3(0x1e1)]({'sqlCode':_0x1bd0b9[_0xb6acf3(0x1ea)],'sqlName':_0x1bd0b9[_0xb6acf3(0x1fd)],'filePath':_0x5926b3,'status':_0x19b86d,'reason':_0x4f56b3});}return{'method':_0xb6acf3(0x1e8),'url':_0xb6acf3(0x1cf),'body':{'appCode':_0x88be1e[_0xb6acf3(0x1fc)],'sqlCode':_0x88be1e['str'](_0xb6acf3(0x1ef))||null,'sqlName':_0x88be1e[_0xb6acf3(0x1fb)](_0xb6acf3(0x1db))||null,'files':_0x121ca1},'description':_0xb6acf3(0x1ca)+_0x121ca1['length']+_0xb6acf3(0x1da)+_0x4d1ef1[_0xb6acf3(0x1f3)]};},async 'execute'(_0x17cdf7){const _0x37f06c=a124_0x2824c5,_0x2cff16=loadSqlProjectConfig(_0x17cdf7[_0x37f06c(0x1fc)]),_0x1f951f=await readSqlLockFile(_0x2cff16['lockFilePath']),{lockData:_0x5ab684,appLock:_0x1de4c2}=ensureSqlLockScope(_0x1f951f??createEmptySqlLock(),_0x2cff16[_0x37f06c(0x1fc)],_0x2cff16['sqlRoot'],'pull'),_0x4e8917=_0x17cdf7['bool'](_0x37f06c(0x1ed)),_0xc1222=await fetchAllSqlQueries(_0x17cdf7['appCode'],{'sqlCode':_0x17cdf7[_0x37f06c(0x1fb)](_0x37f06c(0x1ef))||undefined,'sqlName':_0x17cdf7[_0x37f06c(0x1fb)](_0x37f06c(0x1db))||undefined});if(_0xc1222[_0x37f06c(0x1e2)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x37f06c(0x1e4)};const _0x4444d6=[],_0x466644=[];for(const _0x325645 of _0xc1222){try{_0x4444d6[_0x37f06c(0x1e1)](await ensureSqlContent(_0x325645));}catch(_0x1d7d73){_0x466644['push']({'sqlCode':_0x325645[_0x37f06c(0x1ea)],'error':_0x1d7d73 instanceof Error?_0x1d7d73[_0x37f06c(0x1d7)]:String(_0x1d7d73)});}}if(_0x4e8917&&!_0x17cdf7[_0x37f06c(0x1f9)]){let _0x5eb28c=![];for(const _0x261f61 of _0x4444d6){const _0x9978e4=detectModeFromSql(_0x261f61),_0x271de7=_0x261f61[_0x37f06c(0x1e6)]?await getDbName(_0x17cdf7[_0x37f06c(0x1fc)],Number(_0x261f61[_0x37f06c(0x1e6)]))[_0x37f06c(0x202)](()=>undefined):undefined,_0xd404da=buildLocalSqlFileContent({'sqlCode':_0x261f61['sqlCode'],'sqlName':_0x261f61[_0x37f06c(0x1fd)],'dbId':_0x261f61['dbId']},ensureRemoteSqlContent(_0x261f61),{'dbName':_0x271de7,'mode':_0x9978e4,'syncedAt':new Date()[_0x37f06c(0x1f7)](),'description':_0x261f61['description']}),_0x13f102=resolveLocalSqlFilePath(_0x2cff16,_0x261f61[_0x37f06c(0x1ea)],buildSqlLockEntry(_0x261f61,ensureRemoteSqlContent(_0x261f61),'',{'dbName':_0x271de7}));if(await fileExists(_0x13f102)){const _0xebb32f=await readFile(_0x13f102,_0x37f06c(0x1d9));if(!isEquivalentPulledSqlFile(_0xebb32f,_0xd404da,_0x9978e4)){_0x5eb28c=!![];break;}}}if(_0x5eb28c){const _0x41a331=await confirmForceOverwrite(_0x37f06c(0x1ce));if(!_0x41a331)throw CliErrors[_0x37f06c(0x1f6)]('Force\x20pull\x20cancelled.');}}const _0xcbc94b=cloneSqlLockData(_0x5ab684),_0x512f51=_0xcbc94b[_0x37f06c(0x1cd)][_0x2cff16['appCode']],_0x3bdca4=[],_0x319d9e=[];for(const _0x37db27 of _0x4444d6){const _0x5eaf91=_0x512f51[_0x37f06c(0x1cc)][_0x37db27[_0x37f06c(0x1ea)]],_0x293b81=ensureRemoteSqlContent(_0x37db27),_0x15e8d5=detectModeFromSql(_0x37db27),_0x34e5bb=_0x37db27[_0x37f06c(0x1e6)]?await getDbName(_0x17cdf7[_0x37f06c(0x1fc)],Number(_0x37db27[_0x37f06c(0x1e6)]))['catch'](()=>undefined):undefined,_0x10bc8b=buildLocalSqlFileContent({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'sqlName':_0x37db27['sqlName'],'dbId':_0x37db27['dbId']},_0x293b81,{'dbName':_0x34e5bb,'mode':_0x15e8d5,'syncedAt':new Date()['toISOString'](),'description':_0x37db27['description']}),_0x4d7038=buildSqlLockEntry(_0x37db27,_0x293b81,computeSqlContentHash(_0x10bc8b),{'dbName':_0x34e5bb}),_0x591653=_0x4d7038['path'],_0x136d9c=join(_0x2cff16[_0x37f06c(0x1f3)],_0x591653);try{if(await fileExists(_0x136d9c)){const _0x69651a=await readFile(_0x136d9c,_0x37f06c(0x1d9));if(isEquivalentPulledSqlFile(_0x69651a,_0x10bc8b,_0x15e8d5)){_0x319d9e[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'reason':_0x37f06c(0x1d3)}),_0x512f51[_0x37f06c(0x1cc)][_0x37db27['sqlCode']]={..._0x4d7038,'hash':computeSqlContentHash(_0x69651a),'path':_0x591653};continue;}if(!_0x4e8917){_0x319d9e[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'reason':_0x37f06c(0x1fa)});continue;}}const _0x49df2d=_0x5eaf91?.[_0x37f06c(0x1e3)]?join(_0x2cff16[_0x37f06c(0x1f3)],_0x5eaf91['path']):undefined;_0x49df2d&&_0x49df2d!==_0x136d9c&&await fileExists(_0x49df2d)&&await rm(_0x49df2d,{'force':!![]}),await ensureParentDirectory(_0x136d9c),await writeFile(_0x136d9c,_0x10bc8b,_0x37f06c(0x1d9)),_0x512f51[_0x37f06c(0x1cc)][_0x37db27[_0x37f06c(0x1ea)]]={..._0x4d7038,'path':_0x591653},_0x3bdca4[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27['sqlCode'],'filePath':_0x136d9c});}catch(_0x360ff3){_0x466644[_0x37f06c(0x1e1)]({'sqlCode':_0x37db27[_0x37f06c(0x1ea)],'error':_0x360ff3 instanceof Error?_0x360ff3['message']:String(_0x360ff3)});}}return _0x512f51[_0x37f06c(0x1d5)]=new Date()[_0x37f06c(0x1f7)](),await writeSqlLockFile(_0x2cff16[_0x37f06c(0x1dc)],_0xcbc94b),{'ok':_0x466644['length']===0x0,'data':{'pulled':_0x3bdca4,'skipped':_0x319d9e,'failed':_0x466644},'message':_0x37f06c(0x1ff)+_0x3bdca4[_0x37f06c(0x1e2)]+'\x20written,\x20'+_0x319d9e[_0x37f06c(0x1e2)]+_0x37f06c(0x1f4)+_0x466644[_0x37f06c(0x1e2)]+_0x37f06c(0x1e9)};}};function detectModeFromSql(_0x34d2bd){const _0x4cda80=a124_0x2824c5,_0x209d82=ensureRemoteSqlContent(_0x34d2bd),_0x64a7bb=stripLocalSqlMetadata(_0x209d82,_0x4cda80(0x1ec))[_0x4cda80(0x1c8)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x64a7bb))return _0x4cda80(0x1ec);return _0x4cda80(0x1eb);}function a124_0x19ea(_0x22b135,_0x52e2b4){_0x22b135=_0x22b135-0x1c5;const _0x412fb8=a124_0x412f();let _0x19eade=_0x412fb8[_0x22b135];return _0x19eade;}function isEquivalentPulledSqlFile(_0x496c69,_0x1ffd50,_0x308d5e){return normalizePullComparableContent(_0x496c69,_0x308d5e)===normalizePullComparableContent(_0x1ffd50,_0x308d5e);}function normalizePullComparableContent(_0x283f0e,_0x3f4bad){const _0x2de556=a124_0x2824c5,_0x50024f=_0x283f0e[_0x2de556(0x1df)](/\r\n/g,'\x0a')[_0x2de556(0x1d1)]('\x0a'),_0x439da1=_0x50024f['filter'](_0x2c8e1d=>!isSyncedAtMetadataLine(_0x2c8e1d,_0x3f4bad));return _0x439da1[_0x2de556(0x1e5)]('\x0a');}function isSyncedAtMetadataLine(_0x449f82,_0x29c874){const _0x429cc0=a124_0x2824c5;if(_0x29c874==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x429cc0(0x1c9)](_0x449f82);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x429cc0(0x1c9)](_0x449f82);}
|
package/lib/commands/sql/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a125_0x17e9a1=a125_0x4067;(function(_0x2290cb,_0x209073){const _0x29d38c=a125_0x4067,_0x15e290=_0x2290cb();while(!![]){try{const _0x20eb8e=parseInt(_0x29d38c(0xa4))/0x1+parseInt(_0x29d38c(0x93))/0x2*(-parseInt(_0x29d38c(0x76))/0x3)+parseInt(_0x29d38c(0x94))/0x4*(-parseInt(_0x29d38c(0x6f))/0x5)+parseInt(_0x29d38c(0x7f))/0x6+parseInt(_0x29d38c(0x9e))/0x7+-parseInt(_0x29d38c(0x96))/0x8*(-parseInt(_0x29d38c(0x86))/0x9)+-parseInt(_0x29d38c(0xa8))/0xa;if(_0x20eb8e===_0x209073)break;else _0x15e290['push'](_0x15e290['shift']());}catch(_0x592e79){_0x15e290['push'](_0x15e290['shift']());}}}(a125_0x1482,0xaa1e2));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';function a125_0x1482(){const _0x4f2ebf=['1821615KdKRwD','set','validation','length','sqls','catch','get','3IwipOh','utf8','entries','hash','Local\x20directory\x20\x22','version','dbName','replace','/smartapi/custom/updateUserCustomSql','202608oONkiX','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','No\x20database\x20matches\x20local\x20directory\x20\x22','sqlName','\x20failed','sqlConfig','dbId','18RVsbSA','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','filePath','join','high-risk-write','force','trashDir','map','sqlcode','POST','str','bool','mode','35914kYpQHH','12sQaVRT','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','4456232QvWedL','Would\x20push\x20','sqlRootDir','has','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','push','sql','path','2893163kxokii','lockFilePath','exec','toISOString','Local\x20SQL\x20not\x20found:\x20','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','1183543ZJzItA','appCode','\x20SQL\x20file(s)','\x20skipped,\x20','9369500TEygkq','relativePath','sqlCode','remoteId','message','Push\x20complete:\x20','boolean','\x22\x20for\x20sqlCode\x20','\x20pushed,\x20','lastSync','isFinite','filter'];a125_0x1482=function(){return _0x4f2ebf;};return a125_0x1482();}import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';function a125_0x4067(_0x1ca41b,_0x3c86c7){_0x1ca41b=_0x1ca41b-0x69;const _0x1482c8=a125_0x1482();let _0x406754=_0x1482c8[_0x1ca41b];return _0x406754;}import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x38f0d6,_0x4651f4,_0x45b261){const _0x464d0f=a125_0x4067,_0x28329a=await scanLocalSqlQueries(_0x38f0d6),_0x1df78d=new Map();for(const _0x4a4a90 of _0x28329a){if(_0x45b261&&_0x4a4a90[_0x464d0f(0xaa)]!==_0x45b261)continue;const _0x3432fc=_0x1df78d[_0x464d0f(0x75)](_0x4a4a90['sqlCode'])??[];_0x3432fc[_0x464d0f(0x9b)](_0x4a4a90),_0x1df78d[_0x464d0f(0x70)](_0x4a4a90[_0x464d0f(0xaa)],_0x3432fc);}if(_0x45b261&&!_0x1df78d[_0x464d0f(0x99)](_0x45b261))throw CliErrors[_0x464d0f(0x71)](_0x464d0f(0xa2)+_0x45b261);const _0x133b4e=[];for(const [_0x3c41ca,_0x1c2435]of _0x1df78d[_0x464d0f(0x78)]()){if(_0x1c2435['length']===0x1){_0x133b4e[_0x464d0f(0x9b)](_0x1c2435[0x0]);continue;}const _0xf14e34=_0x4651f4[_0x464d0f(0x73)][_0x3c41ca],_0xac3aa8=_0xf14e34?.[_0x464d0f(0x9d)],_0x4a9485=_0xac3aa8?_0x1c2435[_0x464d0f(0x6e)](_0x8d63cc=>_0x8d63cc[_0x464d0f(0xa9)]!==_0xac3aa8):_0x1c2435;if(_0xf14e34&&_0x4a9485['length']===0x1){_0x133b4e[_0x464d0f(0x9b)](_0x4a9485[0x0]);continue;}throw CliErrors[_0x464d0f(0x71)](_0x464d0f(0xa3)+_0x3c41ca+_0x464d0f(0x9a));}return _0x133b4e;}export const sqlPush={'service':a125_0x17e9a1(0x9c),'command':a125_0x17e9a1(0x9b),'description':'Push\x20local\x20SQL\x20files\x20to\x20remote','risk':a125_0x17e9a1(0x8a),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a125_0x17e9a1(0x8b),'type':a125_0x17e9a1(0x69),'description':a125_0x17e9a1(0x95)}],async 'dryRun'(_0x3f4066){const _0x496667=a125_0x17e9a1,_0x5b8d08=loadSqlProjectConfig(_0x3f4066['appCode']),_0x457628=await readSqlLockFile(_0x5b8d08[_0x496667(0x9f)]),{appLock:_0x2f5507}=ensureSqlLockScope(_0x457628??createEmptySqlLock(),_0x3f4066[_0x496667(0xa5)],_0x5b8d08['sqlRoot'],_0x496667(0x9b)),_0x2942a1=await getTargetSqlQueries(_0x5b8d08,_0x2f5507,_0x3f4066['str'](_0x496667(0x8e))||undefined),_0x59d66a=[];for(const _0x4f8168 of _0x2942a1){const _0x1296ec=await computeSqlFileHash(_0x4f8168['filePath']),_0x62c958=_0x2f5507[_0x496667(0x73)][_0x4f8168[_0x496667(0xaa)]],_0x4c4756=!!_0x62c958&&(_0x62c958[_0x496667(0x9d)]!==_0x4f8168[_0x496667(0xa9)]||!!_0x4f8168[_0x496667(0x82)]&&_0x62c958[_0x496667(0x82)]!==_0x4f8168[_0x496667(0x82)]);if(!_0x3f4066['bool'](_0x496667(0x8b))&&_0x62c958&&_0x62c958['hash']===_0x1296ec&&!_0x4c4756)continue;_0x59d66a[_0x496667(0x9b)](_0x4f8168[_0x496667(0xaa)]);}return{'method':_0x496667(0x8f),'url':_0x496667(0x7e),'body':{'sqlCodes':_0x59d66a,'appCode':_0x3f4066[_0x496667(0xa5)]},'description':_0x496667(0x97)+_0x59d66a['length']+_0x496667(0xa6)};},async 'execute'(_0x1a4b55){const _0xb07b6c=a125_0x17e9a1,_0xa7bfa6=loadSqlProjectConfig(_0x1a4b55['appCode']),_0x4e3dc4=await readSqlLockFile(_0xa7bfa6[_0xb07b6c(0x9f)]),{lockData:_0xefd176,appLock:_0x38f5ae}=ensureSqlLockScope(_0x4e3dc4??createEmptySqlLock(),_0x1a4b55[_0xb07b6c(0xa5)],_0xa7bfa6['sqlRoot'],_0xb07b6c(0x9b)),_0x4655a9=await getTargetSqlQueries(_0xa7bfa6,_0x38f5ae,_0x1a4b55[_0xb07b6c(0x90)](_0xb07b6c(0x8e))||undefined);if(_0x4655a9[_0xb07b6c(0x72)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x47c7f1=[],_0x1d6436=[],_0x5448af=[];for(const _0x4985e5 of _0x4655a9){const _0x538478=_0x38f5ae[_0xb07b6c(0x73)][_0x4985e5[_0xb07b6c(0xaa)]];if(!_0x538478){_0x5448af['push']({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x533bc7=await computeSqlFileHash(_0x4985e5[_0xb07b6c(0x88)]),_0x350235=_0x538478[_0xb07b6c(0x9d)]!==_0x4985e5[_0xb07b6c(0xa9)]||!!_0x4985e5[_0xb07b6c(0x82)]&&_0x538478[_0xb07b6c(0x82)]!==_0x4985e5[_0xb07b6c(0x82)];if(!_0x1a4b55[_0xb07b6c(0x91)](_0xb07b6c(0x8b))&&_0x538478[_0xb07b6c(0x79)]===_0x533bc7&&!_0x350235){_0x1d6436[_0xb07b6c(0x9b)]({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'reason':'unchanged'});continue;}if(_0x538478['version']==null){_0x5448af['push']({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'error':_0xb07b6c(0x87)});continue;}const _0x6aeef3=await readFile(_0x4985e5['filePath'],_0xb07b6c(0x77)),_0x1daaea=stripLocalSqlMetadata(_0x6aeef3,_0x4985e5[_0xb07b6c(0x92)]),_0xb2fda=_0x4985e5['sqlName']||_0x538478[_0xb07b6c(0x82)],_0x81ff8c=await resolveTargetDbBinding(_0x1a4b55['appCode'],_0x4985e5,_0x538478),_0x3a4567=await updateSqlQuery({'id':_0x538478['remoteId'],'appCode':_0x1a4b55[_0xb07b6c(0xa5)],'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'sqlName':_0xb2fda,'dbId':_0x81ff8c['dbId'],'version':_0x538478[_0xb07b6c(0x7b)],'sqlContent':_0x1daaea,'sqlConfig':_0x538478[_0xb07b6c(0x84)]??undefined}),_0x44fdb7=_0x3a4567['dbId']?await getDbName(_0x1a4b55[_0xb07b6c(0xa5)],Number(_0x3a4567[_0xb07b6c(0x85)]))[_0xb07b6c(0x74)](()=>_0x81ff8c[_0xb07b6c(0x7c)]):_0x81ff8c['dbName'];_0x38f5ae[_0xb07b6c(0x73)][_0x4985e5[_0xb07b6c(0xaa)]]={...buildSqlLockEntry(_0x3a4567,_0x1daaea,_0x533bc7,{'dbName':_0x44fdb7}),'path':_0x4985e5[_0xb07b6c(0xa9)],'mode':_0x538478['mode']},await archivePreviousSqlFileIfNeeded(_0xa7bfa6,_0x538478[_0xb07b6c(0x9d)],_0x4985e5[_0xb07b6c(0xa9)]),_0x47c7f1[_0xb07b6c(0x9b)]({'sqlCode':_0x4985e5[_0xb07b6c(0xaa)],'remoteId':_0x538478[_0xb07b6c(0xab)]});}catch(_0x3912b6){_0x5448af['push']({'sqlCode':_0x4985e5['sqlCode'],'error':_0x3912b6 instanceof Error?_0x3912b6[_0xb07b6c(0xac)]:String(_0x3912b6)});}}return _0x38f5ae[_0xb07b6c(0x6c)]=new Date()[_0xb07b6c(0xa1)](),await writeSqlLockFile(_0xa7bfa6[_0xb07b6c(0x9f)],_0xefd176),{'ok':_0x5448af['length']===0x0,'data':{'pushed':_0x47c7f1,'skipped':_0x1d6436,'failed':_0x5448af},'message':_0xb07b6c(0xad)+_0x47c7f1[_0xb07b6c(0x72)]+_0xb07b6c(0x6b)+_0x1d6436['length']+_0xb07b6c(0xa7)+_0x5448af[_0xb07b6c(0x72)]+_0xb07b6c(0x83)};}};async function archivePreviousSqlFileIfNeeded(_0x1c1d77,_0x3d68bb,_0x26258f){const _0x1e590a=a125_0x17e9a1;if(!_0x3d68bb||_0x3d68bb===_0x26258f)return;const _0x58c77c=join(_0x1c1d77[_0x1e590a(0x98)],_0x3d68bb);if(!await fileExists(_0x58c77c))return;const _0x42222f=await moveToTrash(_0x1c1d77['projectRoot'],_0x1c1d77[_0x1e590a(0x8c)],_0x58c77c);await cleanupEmptyDirectories(dirname(_0x58c77c),_0x1c1d77[_0x1e590a(0x98)]),void _0x42222f;}async function moveToTrash(_0x397ef2,_0x18706d,_0x3f70b5){const _0x4bd6f2=a125_0x17e9a1,_0x5cc347=new Date()[_0x4bd6f2(0xa1)]()[_0x4bd6f2(0x7d)](/[:.]/g,'-'),_0x47b174=relative(_0x397ef2,_0x3f70b5),_0xb4033=join(_0x18706d,_0x5cc347,_0x47b174);return await mkdir(dirname(_0xb4033),{'recursive':!![]}),await rename(_0x3f70b5,_0xb4033),_0xb4033;}async function cleanupEmptyDirectories(_0x3049f9,_0x55c756){const _0x2d4ac9=a125_0x17e9a1;let _0x2d2edd=resolve(_0x3049f9);const _0x5d4f7a=resolve(_0x55c756);while(_0x2d2edd['startsWith'](''+_0x5d4f7a+sep)||_0x2d2edd===_0x5d4f7a){if(_0x2d2edd===_0x5d4f7a)return;try{const _0x4b2011=await readdir(_0x2d2edd);if(_0x4b2011[_0x2d4ac9(0x72)]>0x0)return;await rmdir(_0x2d2edd);}catch{return;}_0x2d2edd=dirname(_0x2d2edd);}}async function resolveTargetDbBinding(_0x4266f8,_0xb44a98,_0x175086){const _0x4e33c2=a125_0x17e9a1,_0x5646e3=_0xb44a98['dbDirectory'];if(!_0x5646e3)return{'dbId':_0x175086[_0x4e33c2(0x85)],'dbName':_0x175086[_0x4e33c2(0x7c)]};const _0x2b03b8=buildDbDirectoryName(_0x175086['dbName'],_0x175086[_0x4e33c2(0x85)]);if(_0x5646e3===_0x2b03b8)return{'dbId':_0x175086['dbId'],'dbName':_0x175086['dbName']};const _0x5b8874=parseExplicitDbDirectory(_0x5646e3);if(_0x5b8874!=null)return{'dbId':_0x5b8874,'dbName':await getDbName(_0x4266f8,_0x5b8874)['catch'](()=>undefined)};const _0x2bad91=await listDatabases(_0x4266f8),_0x430966=_0x2bad91['filter'](_0x2e7cb6=>buildDbDirectoryName(_0x2e7cb6[_0x4e33c2(0x7c)],_0x2e7cb6['dbId'])===_0x5646e3);if(_0x430966[_0x4e33c2(0x72)]===0x1)return{'dbId':_0x430966[0x0][_0x4e33c2(0x85)],'dbName':_0x430966[0x0][_0x4e33c2(0x7c)]};if(_0x430966[_0x4e33c2(0x72)]===0x0)throw CliErrors[_0x4e33c2(0x71)](_0x4e33c2(0x81)+_0x5646e3+_0x4e33c2(0x6a)+_0xb44a98[_0x4e33c2(0xaa)]+'.');const _0x5c77d3=_0x430966[_0x4e33c2(0x8d)](_0x3b7018=>_0x3b7018['dbName']+'\x20('+_0x3b7018[_0x4e33c2(0x85)]+')')[_0x4e33c2(0x89)](',\x20');throw CliErrors[_0x4e33c2(0x71)](_0x4e33c2(0x7a)+_0x5646e3+_0x4e33c2(0x80)+_0xb44a98[_0x4e33c2(0xaa)]+':\x20'+_0x5c77d3);}function parseExplicitDbDirectory(_0x189eb3){const _0x50ec41=a125_0x17e9a1,_0x1c5125=/^db-(\d+)$/[_0x50ec41(0xa0)](_0x189eb3);if(!_0x1c5125)return null;const _0x4925eb=Number(_0x1c5125[0x1]);return Number[_0x50ec41(0x6d)](_0x4925eb)&&_0x4925eb>0x0?_0x4925eb:null;}
|
|
1
|
+
function a125_0x5277(){const _0x52bfb7=['boolean','No\x20database\x20matches\x20local\x20directory\x20\x22','sqlcode','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','256919ogRHMv','1gMeVqa','filter','isFinite','catch','mode','\x22\x20for\x20sqlCode\x20','lockFilePath','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','2539086SQRuwe','high-risk-write','version','sqlName','sqlCode','10325ZRXTEk','exec','Local\x20SQL\x20not\x20found:\x20','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','appCode','1066476NrgOCm','Push\x20local\x20SQL\x20files\x20to\x20remote','str','\x20pushed,\x20','Local\x20directory\x20\x22','sqlRootDir','get','entries','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','926046YloLda','sql','4ilUgUx','Would\x20push\x20','9CwIuQQ','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','push','set','force','path','Push\x20complete:\x20','remoteId','\x20skipped,\x20','startsWith','1784rZDnNA','message','filePath','join','has','hash','dbName','1857754mXponp','relativePath','unchanged','sqlRoot','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','POST','12ejuJEu','sqls','\x20failed','length','5UJWuaA','validation','dbDirectory','dbId','toISOString','No\x20local\x20SQL\x20files\x20found.','728ulQVDX','1750390IuIxZu'];a125_0x5277=function(){return _0x52bfb7;};return a125_0x5277();}const a125_0x19ea71=a125_0x575e;(function(_0x5de061,_0x407f5e){const _0x32b005=a125_0x575e,_0x38129c=_0x5de061();while(!![]){try{const _0x4e0dda=parseInt(_0x32b005(0x211))/0x1*(-parseInt(_0x32b005(0x1fa))/0x2)+-parseInt(_0x32b005(0x1dc))/0x3*(-parseInt(_0x32b005(0x1e7))/0x4)+-parseInt(_0x32b005(0x204))/0x5*(-parseInt(_0x32b005(0x1e5))/0x6)+parseInt(_0x32b005(0x1d7))/0x7*(-parseInt(_0x32b005(0x1f3))/0x8)+-parseInt(_0x32b005(0x1e9))/0x9*(-parseInt(_0x32b005(0x20b))/0xa)+-parseInt(_0x32b005(0x1d2))/0xb*(-parseInt(_0x32b005(0x200))/0xc)+parseInt(_0x32b005(0x210))/0xd*(parseInt(_0x32b005(0x20a))/0xe);if(_0x4e0dda===_0x407f5e)break;else _0x38129c['push'](_0x38129c['shift']());}catch(_0x19ce1f){_0x38129c['push'](_0x38129c['shift']());}}}(a125_0x5277,0xa7604));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x26df79,_0x3bcbc2,_0x42e81c){const _0x1515b6=a125_0x575e,_0x42a2be=await scanLocalSqlQueries(_0x26df79),_0x21bb29=new Map();for(const _0x103fd9 of _0x42a2be){if(_0x42e81c&&_0x103fd9[_0x1515b6(0x1d6)]!==_0x42e81c)continue;const _0x4a94c6=_0x21bb29[_0x1515b6(0x1e2)](_0x103fd9[_0x1515b6(0x1d6)])??[];_0x4a94c6[_0x1515b6(0x1eb)](_0x103fd9),_0x21bb29[_0x1515b6(0x1ec)](_0x103fd9[_0x1515b6(0x1d6)],_0x4a94c6);}if(_0x42e81c&&!_0x21bb29[_0x1515b6(0x1f7)](_0x42e81c))throw CliErrors[_0x1515b6(0x205)](_0x1515b6(0x1d9)+_0x42e81c);const _0x19bd49=[];for(const [_0xebb2d3,_0x3a463d]of _0x21bb29[_0x1515b6(0x1e3)]()){if(_0x3a463d[_0x1515b6(0x203)]===0x1){_0x19bd49[_0x1515b6(0x1eb)](_0x3a463d[0x0]);continue;}const _0x468cc8=_0x3bcbc2[_0x1515b6(0x201)][_0xebb2d3],_0x1ef6f8=_0x468cc8?.[_0x1515b6(0x1ee)],_0x291752=_0x1ef6f8?_0x3a463d[_0x1515b6(0x212)](_0x39b284=>_0x39b284[_0x1515b6(0x1fb)]!==_0x1ef6f8):_0x3a463d;if(_0x468cc8&&_0x291752[_0x1515b6(0x203)]===0x1){_0x19bd49[_0x1515b6(0x1eb)](_0x291752[0x0]);continue;}throw CliErrors[_0x1515b6(0x205)](_0x1515b6(0x1d1)+_0xebb2d3+_0x1515b6(0x1e4));}return _0x19bd49;}export const sqlPush={'service':a125_0x19ea71(0x1e6),'command':a125_0x19ea71(0x1eb),'description':a125_0x19ea71(0x1dd),'risk':a125_0x19ea71(0x1d3),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a125_0x19ea71(0x1ed),'type':a125_0x19ea71(0x20c),'description':a125_0x19ea71(0x1fe)}],async 'dryRun'(_0x4bf4e0){const _0x3e6107=a125_0x19ea71,_0x382635=loadSqlProjectConfig(_0x4bf4e0['appCode']),_0x50cfe9=await readSqlLockFile(_0x382635[_0x3e6107(0x1d0)]),{appLock:_0x1cdf91}=ensureSqlLockScope(_0x50cfe9??createEmptySqlLock(),_0x4bf4e0[_0x3e6107(0x1db)],_0x382635[_0x3e6107(0x1fd)],_0x3e6107(0x1eb)),_0x4dfb64=await getTargetSqlQueries(_0x382635,_0x1cdf91,_0x4bf4e0[_0x3e6107(0x1de)](_0x3e6107(0x20e))||undefined),_0x5c795e=[];for(const _0x39bf7f of _0x4dfb64){const _0xa169e8=await computeSqlFileHash(_0x39bf7f['filePath']),_0x34d9ae=_0x1cdf91[_0x3e6107(0x201)][_0x39bf7f[_0x3e6107(0x1d6)]],_0x2ccb60=!!_0x34d9ae&&(_0x34d9ae[_0x3e6107(0x1ee)]!==_0x39bf7f['relativePath']||!!_0x39bf7f[_0x3e6107(0x1d5)]&&_0x34d9ae[_0x3e6107(0x1d5)]!==_0x39bf7f[_0x3e6107(0x1d5)]);if(!_0x4bf4e0['bool']('force')&&_0x34d9ae&&_0x34d9ae['hash']===_0xa169e8&&!_0x2ccb60)continue;_0x5c795e[_0x3e6107(0x1eb)](_0x39bf7f['sqlCode']);}return{'method':_0x3e6107(0x1ff),'url':'/smartapi/custom/updateUserCustomSql','body':{'sqlCodes':_0x5c795e,'appCode':_0x4bf4e0[_0x3e6107(0x1db)]},'description':_0x3e6107(0x1e8)+_0x5c795e[_0x3e6107(0x203)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x473c16){const _0x3e5e0e=a125_0x19ea71,_0x41a7b4=loadSqlProjectConfig(_0x473c16[_0x3e5e0e(0x1db)]),_0x32ef36=await readSqlLockFile(_0x41a7b4[_0x3e5e0e(0x1d0)]),{lockData:_0x37c7f1,appLock:_0x5309f1}=ensureSqlLockScope(_0x32ef36??createEmptySqlLock(),_0x473c16[_0x3e5e0e(0x1db)],_0x41a7b4[_0x3e5e0e(0x1fd)],'push'),_0x255069=await getTargetSqlQueries(_0x41a7b4,_0x5309f1,_0x473c16[_0x3e5e0e(0x1de)]('sqlcode')||undefined);if(_0x255069[_0x3e5e0e(0x203)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x3e5e0e(0x209)};const _0x575ecd=[],_0x557e5e=[],_0x232e9d=[];for(const _0x26716f of _0x255069){const _0x12bdb0=_0x5309f1[_0x3e5e0e(0x201)][_0x26716f['sqlCode']];if(!_0x12bdb0){_0x232e9d['push']({'sqlCode':_0x26716f['sqlCode'],'error':_0x3e5e0e(0x20f)});continue;}try{const _0xd23728=await computeSqlFileHash(_0x26716f[_0x3e5e0e(0x1f5)]),_0x5ebde4=_0x12bdb0['path']!==_0x26716f[_0x3e5e0e(0x1fb)]||!!_0x26716f[_0x3e5e0e(0x1d5)]&&_0x12bdb0[_0x3e5e0e(0x1d5)]!==_0x26716f[_0x3e5e0e(0x1d5)];if(!_0x473c16['bool'](_0x3e5e0e(0x1ed))&&_0x12bdb0[_0x3e5e0e(0x1f8)]===_0xd23728&&!_0x5ebde4){_0x557e5e[_0x3e5e0e(0x1eb)]({'sqlCode':_0x26716f[_0x3e5e0e(0x1d6)],'reason':_0x3e5e0e(0x1fc)});continue;}if(_0x12bdb0['version']==null){_0x232e9d['push']({'sqlCode':_0x26716f['sqlCode'],'error':_0x3e5e0e(0x1da)});continue;}const _0x567c3f=await readFile(_0x26716f['filePath'],'utf8'),_0x5c1339=stripLocalSqlMetadata(_0x567c3f,_0x26716f[_0x3e5e0e(0x215)]),_0x4117b3=_0x26716f[_0x3e5e0e(0x1d5)]||_0x12bdb0[_0x3e5e0e(0x1d5)],_0x333be2=await resolveTargetDbBinding(_0x473c16[_0x3e5e0e(0x1db)],_0x26716f,_0x12bdb0),_0x1552b7=await updateSqlQuery({'id':_0x12bdb0[_0x3e5e0e(0x1f0)],'appCode':_0x473c16[_0x3e5e0e(0x1db)],'sqlCode':_0x26716f['sqlCode'],'sqlName':_0x4117b3,'dbId':_0x333be2[_0x3e5e0e(0x207)],'version':_0x12bdb0[_0x3e5e0e(0x1d4)],'sqlContent':_0x5c1339,'sqlConfig':_0x12bdb0['sqlConfig']??undefined}),_0x2cf242=_0x1552b7[_0x3e5e0e(0x207)]?await getDbName(_0x473c16[_0x3e5e0e(0x1db)],Number(_0x1552b7['dbId']))[_0x3e5e0e(0x214)](()=>_0x333be2[_0x3e5e0e(0x1f9)]):_0x333be2[_0x3e5e0e(0x1f9)];_0x5309f1[_0x3e5e0e(0x201)][_0x26716f[_0x3e5e0e(0x1d6)]]={...buildSqlLockEntry(_0x1552b7,_0x5c1339,_0xd23728,{'dbName':_0x2cf242}),'path':_0x26716f['relativePath'],'mode':_0x12bdb0[_0x3e5e0e(0x215)]},await archivePreviousSqlFileIfNeeded(_0x41a7b4,_0x12bdb0[_0x3e5e0e(0x1ee)],_0x26716f[_0x3e5e0e(0x1fb)]),_0x575ecd[_0x3e5e0e(0x1eb)]({'sqlCode':_0x26716f['sqlCode'],'remoteId':_0x12bdb0[_0x3e5e0e(0x1f0)]});}catch(_0x44e1f0){_0x232e9d[_0x3e5e0e(0x1eb)]({'sqlCode':_0x26716f['sqlCode'],'error':_0x44e1f0 instanceof Error?_0x44e1f0[_0x3e5e0e(0x1f4)]:String(_0x44e1f0)});}}return _0x5309f1['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x41a7b4[_0x3e5e0e(0x1d0)],_0x37c7f1),{'ok':_0x232e9d['length']===0x0,'data':{'pushed':_0x575ecd,'skipped':_0x557e5e,'failed':_0x232e9d},'message':_0x3e5e0e(0x1ef)+_0x575ecd['length']+_0x3e5e0e(0x1df)+_0x557e5e['length']+_0x3e5e0e(0x1f1)+_0x232e9d[_0x3e5e0e(0x203)]+_0x3e5e0e(0x202)};}};async function archivePreviousSqlFileIfNeeded(_0x2279ab,_0x40b44b,_0x47b633){const _0x137697=a125_0x19ea71;if(!_0x40b44b||_0x40b44b===_0x47b633)return;const _0x4481f1=join(_0x2279ab['sqlRootDir'],_0x40b44b);if(!await fileExists(_0x4481f1))return;const _0x587563=await moveToTrash(_0x2279ab['projectRoot'],_0x2279ab['trashDir'],_0x4481f1);await cleanupEmptyDirectories(dirname(_0x4481f1),_0x2279ab[_0x137697(0x1e1)]),void _0x587563;}async function moveToTrash(_0x216e83,_0x45a9c3,_0x33badb){const _0x37db92=a125_0x19ea71,_0x30d8a8=new Date()[_0x37db92(0x208)]()['replace'](/[:.]/g,'-'),_0x2d028e=relative(_0x216e83,_0x33badb),_0xfa93f4=join(_0x45a9c3,_0x30d8a8,_0x2d028e);return await mkdir(dirname(_0xfa93f4),{'recursive':!![]}),await rename(_0x33badb,_0xfa93f4),_0xfa93f4;}function a125_0x575e(_0x8303d2,_0x4e8c1e){_0x8303d2=_0x8303d2-0x1cf;const _0x52771c=a125_0x5277();let _0x575e90=_0x52771c[_0x8303d2];return _0x575e90;}async function cleanupEmptyDirectories(_0x1f2246,_0x165735){const _0x1b27ec=a125_0x19ea71;let _0x48997a=resolve(_0x1f2246);const _0x53c371=resolve(_0x165735);while(_0x48997a[_0x1b27ec(0x1f2)](''+_0x53c371+sep)||_0x48997a===_0x53c371){if(_0x48997a===_0x53c371)return;try{const _0x356ccb=await readdir(_0x48997a);if(_0x356ccb[_0x1b27ec(0x203)]>0x0)return;await rmdir(_0x48997a);}catch{return;}_0x48997a=dirname(_0x48997a);}}async function resolveTargetDbBinding(_0x13f373,_0x14e69d,_0x17abbc){const _0x226e24=a125_0x19ea71,_0x434027=_0x14e69d[_0x226e24(0x206)];if(!_0x434027)return{'dbId':_0x17abbc[_0x226e24(0x207)],'dbName':_0x17abbc[_0x226e24(0x1f9)]};const _0x8541c0=buildDbDirectoryName(_0x17abbc['dbName'],_0x17abbc[_0x226e24(0x207)]);if(_0x434027===_0x8541c0)return{'dbId':_0x17abbc[_0x226e24(0x207)],'dbName':_0x17abbc[_0x226e24(0x1f9)]};const _0x186f76=parseExplicitDbDirectory(_0x434027);if(_0x186f76!=null)return{'dbId':_0x186f76,'dbName':await getDbName(_0x13f373,_0x186f76)[_0x226e24(0x214)](()=>undefined)};const _0x385456=await listDatabases(_0x13f373),_0x5c708f=_0x385456[_0x226e24(0x212)](_0xcec7b3=>buildDbDirectoryName(_0xcec7b3[_0x226e24(0x1f9)],_0xcec7b3[_0x226e24(0x207)])===_0x434027);if(_0x5c708f['length']===0x1)return{'dbId':_0x5c708f[0x0][_0x226e24(0x207)],'dbName':_0x5c708f[0x0][_0x226e24(0x1f9)]};if(_0x5c708f['length']===0x0)throw CliErrors[_0x226e24(0x205)](_0x226e24(0x20d)+_0x434027+_0x226e24(0x1cf)+_0x14e69d[_0x226e24(0x1d6)]+'.');const _0x4f2278=_0x5c708f['map'](_0x29d4b5=>_0x29d4b5[_0x226e24(0x1f9)]+'\x20('+_0x29d4b5['dbId']+')')[_0x226e24(0x1f6)](',\x20');throw CliErrors[_0x226e24(0x205)](_0x226e24(0x1e0)+_0x434027+_0x226e24(0x1ea)+_0x14e69d[_0x226e24(0x1d6)]+':\x20'+_0x4f2278);}function parseExplicitDbDirectory(_0x354944){const _0x5d4916=a125_0x19ea71,_0x9cf74d=/^db-(\d+)$/[_0x5d4916(0x1d8)](_0x354944);if(!_0x9cf74d)return null;const _0x599f37=Number(_0x9cf74d[0x1]);return Number[_0x5d4916(0x213)](_0x599f37)&&_0x599f37>0x0?_0x599f37:null;}
|
package/lib/commands/sql/save.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a126_0x1b0077=a126_0x6fca;(function(_0x495836,_0x20d202){const _0x2945a5=a126_0x6fca,_0x3c166a=_0x495836();while(!![]){try{const _0x1b2d73=parseInt(_0x2945a5(0xc0))/0x1*(-parseInt(_0x2945a5(0xc8))/0x2)+-parseInt(_0x2945a5(0xbe))/0x3*(-parseInt(_0x2945a5(0xcc))/0x4)+parseInt(_0x2945a5(0xbc))/0x5*(-parseInt(_0x2945a5(0xb5))/0x6)+parseInt(_0x2945a5(0xba))/0x7+-parseInt(_0x2945a5(0xb6))/0x8*(-parseInt(_0x2945a5(0xb8))/0x9)+-parseInt(_0x2945a5(0xcd))/0xa+-parseInt(_0x2945a5(0xca))/0xb*(-parseInt(_0x2945a5(0xc2))/0xc);if(_0x1b2d73===_0x20d202)break;else _0x3c166a['push'](_0x3c166a['shift']());}catch(_0x4a5862){_0x3c166a['push'](_0x3c166a['shift']());}}}(a126_0x4999,0x5129b));function a126_0x4999(){const _0x23dd7e=['Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)','198596RsqsKb','join','22qWhdae','string','5932OqNRJr','5733770zHQzxK','15798hGIFKN','272264mdkTec','sql','36CxfjuK','file','2773323oXmvnl','write','275HerMWV','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','618yNKpeS','validation','2DsvOqN','SQL\x20query\x20display\x20name','2468472wlAJgM','Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','description','save'];a126_0x4999=function(){return _0x23dd7e;};return a126_0x4999();}function a126_0x6fca(_0x72ab98,_0x109b75){_0x72ab98=_0x72ab98-0xb5;const _0x4999c7=a126_0x4999();let _0x6fcacb=_0x4999c7[_0x72ab98];return _0x6fcacb;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a126_0x1b0077(0xc4),a126_0x1b0077(0xbd),'Update\x20existing\x20SQL\x20by\x20editing\x20the\x20synced\x20file\x20under\x20`.rabetbase/sql/<appCode>/<dbName|db-<id>>/`\x20and\x20then\x20running\x20`rabetbase\x20sql\x20push\x20--sqlcode\x20<code>\x20--yes`.'][a126_0x1b0077(0xc9)]('\x0a');export const sqlSave={'service':a126_0x1b0077(0xb7),'command':a126_0x1b0077(0xc6),'description':a126_0x1b0077(0xc3),'risk':a126_0x1b0077(0xbb),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a126_0x1b0077(0xb9),'type':a126_0x1b0077(0xcb),'required':!![],'description':'Path\x20to\x20the\x20SQL\x20file'},SQLCODE_FLAG_OPTIONAL,{'name':'sqlname','type':a126_0x1b0077(0xcb),'description':a126_0x1b0077(0xc1)},{'name':'db','type':a126_0x1b0077(0xcb),'description':a126_0x1b0077(0xc7)},{'name':a126_0x1b0077(0xc5),'type':a126_0x1b0077(0xcb),'description':'Query\x20description'}],async 'validate'(){const _0x275773=a126_0x1b0077;throw CliErrors[_0x275773(0xbf)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x7f543e=a126_0x1b0077;throw CliErrors[_0x7f543e(0xbf)](SQL_SAVE_DEPRECATED_HINT);}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a127_0x5df7d4=a127_0x576c;function a127_0x576c(_0x37cd68,_0x76db3c){_0x37cd68=_0x37cd68-0x120;const _0x3ada14=a127_0x3ada();let _0x576c18=_0x3ada14[_0x37cd68];return _0x576c18;}(function(_0x31e341,_0x558e84){const _0x7f9db1=a127_0x576c,_0x2c28d7=_0x31e341();while(!![]){try{const _0x5aaa79=-parseInt(_0x7f9db1(0x148))/0x1+-parseInt(_0x7f9db1(0x12d))/0x2*(parseInt(_0x7f9db1(0x145))/0x3)+-parseInt(_0x7f9db1(0x132))/0x4+-parseInt(_0x7f9db1(0x124))/0x5*(-parseInt(_0x7f9db1(0x12c))/0x6)+parseInt(_0x7f9db1(0x14b))/0x7*(parseInt(_0x7f9db1(0x13a))/0x8)+-parseInt(_0x7f9db1(0x131))/0x9+parseInt(_0x7f9db1(0x137))/0xa;if(_0x5aaa79===_0x558e84)break;else _0x2c28d7['push'](_0x2c28d7['shift']());}catch(_0x867df8){_0x2c28d7['push'](_0x2c28d7['shift']());}}}(a127_0x3ada,0xbe739));import{createInterface}from'node:readline';import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a127_0x5df7d4(0x133);export function buildSqlLockEntry(_0x48a3ec,_0x36876b,_0x55a457,_0x5c2074){const _0x4dcde5=a127_0x5df7d4,_0x346c33=detectSqlMode(_0x36876b);return{'path':buildSqlRelativePath(_0x48a3ec[_0x4dcde5(0x120)],_0x48a3ec[_0x4dcde5(0x146)],_0x5c2074?.[_0x4dcde5(0x13c)],_0x346c33,_0x48a3ec[_0x4dcde5(0x129)]),'hash':_0x55a457,'remoteId':_0x48a3ec['id'],'version':_0x48a3ec[_0x4dcde5(0x142)],'dbId':Number(_0x48a3ec[_0x4dcde5(0x129)]),'dbName':_0x5c2074?.['dbName'],'sqlName':_0x48a3ec[_0x4dcde5(0x146)],'sqlConfig':_0x48a3ec[_0x4dcde5(0x134)]??undefined,'mode':_0x346c33};}export function cloneSqlLockData(_0x39b51b){const _0x25c0fb=a127_0x5df7d4;return{'apps':Object[_0x25c0fb(0x141)](Object[_0x25c0fb(0x14d)](_0x39b51b[_0x25c0fb(0x127)])[_0x25c0fb(0x12b)](([_0x33acf1,_0x52ccbe])=>[_0x33acf1,{'sqlRoot':_0x52ccbe[_0x25c0fb(0x13f)],'lastSync':_0x52ccbe[_0x25c0fb(0x138)],'sqls':{..._0x52ccbe[_0x25c0fb(0x121)]}}]))};}export function ensureRemoteSqlContent(_0x5af037){const _0x291f71=a127_0x5df7d4;return _0x5af037[_0x291f71(0x14c)]??'';}export function buildLocalSqlFileContent(_0x2fecb7,_0x3c95a4,_0x49fdb2){const _0x255b4b=a127_0x5df7d4,_0x5bf1f9=_0x49fdb2?.[_0x255b4b(0x13d)]??detectSqlMode(_0x3c95a4),_0x295132=stripLocalSqlMetadata(_0x3c95a4,_0x5bf1f9)[_0x255b4b(0x135)](),_0x364a49=[...buildMetadataHeaderLines({'sqlCode':_0x2fecb7[_0x255b4b(0x120)],'sqlName':_0x2fecb7[_0x255b4b(0x146)],'dbId':_0x2fecb7['dbId'],'dbName':_0x49fdb2?.[_0x255b4b(0x13c)],'mode':_0x5bf1f9,'syncedAt':_0x49fdb2?.[_0x255b4b(0x12a)],'description':_0x49fdb2?.['description']},_0x5bf1f9),'',_0x295132],_0x343364=_0x364a49[_0x255b4b(0x12e)]('\x0a');return _0x343364['endsWith']('\x0a')?_0x343364:_0x343364+'\x0a';}function a127_0x3ada(){const _0x394c8d=['\x20-->','filter','1955169AseQUG','1643800kBnxSP','.rabetbase/sql','sqlConfig','trim','--\x20@lovrabet.','24688580VjtXbm','lastSync','stderr','5968bYtPxX','path','dbName','mode','split','sqlRoot','\x20[y/N]\x20','fromEntries','version','yes','mybatisXml','3BibsER','sqlName','<!--\x20@lovrabet.','1539587zzMxzd','length','push','1743IUgRtp','sqlContent','entries','sqlCode','sqls','question','replace','5752275aMRtvt','test','description','apps','stdin','dbId','syncedAt','map','6HYHVZf','1714400DlObmU','join'];a127_0x3ada=function(){return _0x394c8d;};return a127_0x3ada();}export function stripLocalSqlMetadata(_0x2b8b10,_0x490281){const _0x369038=a127_0x5df7d4,_0x1bbd2f=_0x2b8b10[_0x369038(0x123)](/\r\n/g,'\x0a')[_0x369038(0x13e)]('\x0a'),_0x2d1bc8=[];let _0x4a9f52=0x0;if(_0x490281===_0x369038(0x144))while(_0x4a9f52<_0x1bbd2f['length']){const _0x66cd03=_0x1bbd2f[_0x4a9f52]??'';if(/^\s*<!--\s*@lovrabet\./[_0x369038(0x125)](_0x66cd03)){_0x4a9f52++;continue;}if(_0x66cd03[_0x369038(0x135)]()===''&&_0x4a9f52>0x0){_0x4a9f52++;continue;}break;}else while(_0x4a9f52<_0x1bbd2f[_0x369038(0x149)]){const _0xc13c3f=_0x1bbd2f[_0x4a9f52]??'';if(/^\s*--\s*@lovrabet\./[_0x369038(0x125)](_0xc13c3f)){_0x4a9f52++;continue;}if(_0xc13c3f[_0x369038(0x135)]()===''&&_0x4a9f52>0x0){_0x4a9f52++;continue;}break;}for(;_0x4a9f52<_0x1bbd2f['length'];_0x4a9f52++){_0x2d1bc8[_0x369038(0x14a)](_0x1bbd2f[_0x4a9f52]);}return _0x2d1bc8[_0x369038(0x12e)]('\x0a')['trimStart']();}export function resolveSqlMode(_0x4b3a44,_0x33e893){const _0xe5f700=a127_0x5df7d4;if(_0x33e893?.[_0xe5f700(0x13d)])return _0x33e893[_0xe5f700(0x13d)];return detectSqlMode(_0x4b3a44);}export function resolveSqlFileName(_0x5dbe8c,_0x45e66f,_0x305e1c){const _0x123082=a127_0x5df7d4;if(_0x305e1c?.[_0x123082(0x13b)])return _0x305e1c[_0x123082(0x13b)];if(_0x305e1c?.['sqlName']||_0x305e1c?.[_0x123082(0x13c)])return buildSqlRelativePath(_0x5dbe8c,_0x305e1c?.['sqlName'],_0x305e1c?.[_0x123082(0x13c)],resolveSqlMode(_0x45e66f,_0x305e1c),_0x305e1c?.[_0x123082(0x129)]);return buildDefaultSqlFileName(_0x5dbe8c,resolveSqlMode(_0x45e66f,_0x305e1c));}export function resolveSqlLocalDir(_0x4a1818,_0x5375e8){return join(_0x4a1818,SQL_LOCAL_REL_DIR,_0x5375e8);}export async function confirmForceOverwrite(_0x379b10){const _0x26e307=a127_0x5df7d4,_0x3b11db=createInterface({'input':process[_0x26e307(0x128)],'output':process[_0x26e307(0x139)]}),_0x35b12b=await new Promise(_0x559ac5=>{const _0xb7b9b6=_0x26e307;_0x3b11db[_0xb7b9b6(0x122)](_0x379b10+_0xb7b9b6(0x140),_0x559ac5);});return _0x3b11db['close'](),['y',_0x26e307(0x143)]['includes'](_0x35b12b[_0x26e307(0x135)]()['toLowerCase']());}export function findSqlLockScope(_0x528c52,_0x1f4cce){return _0x528c52['apps'][_0x1f4cce];}function buildMetadataHeaderLines(_0x561a6f,_0x22b33e){const _0xcbae7a=a127_0x5df7d4,_0x4a5ce1=[[_0xcbae7a(0x120),_0x561a6f[_0xcbae7a(0x120)]],['sqlName',_0x561a6f[_0xcbae7a(0x146)]],[_0xcbae7a(0x129),_0x561a6f[_0xcbae7a(0x129)]],['dbName',_0x561a6f['dbName']],[_0xcbae7a(0x13d),_0x561a6f['mode']],[_0xcbae7a(0x12a),_0x561a6f['syncedAt']],[_0xcbae7a(0x126),_0x561a6f[_0xcbae7a(0x126)]]];if(_0x22b33e===_0xcbae7a(0x144))return _0x4a5ce1['filter'](([,_0x293ba3])=>_0x293ba3!==undefined&&_0x293ba3!==null&&String(_0x293ba3)[_0xcbae7a(0x135)]()!=='')['map'](([_0x2fdd5,_0x1e42e7])=>_0xcbae7a(0x147)+_0x2fdd5+':\x20'+String(_0x1e42e7)+_0xcbae7a(0x12f));return _0x4a5ce1[_0xcbae7a(0x130)](([,_0x4a41f7])=>_0x4a41f7!==undefined&&_0x4a41f7!==null&&String(_0x4a41f7)[_0xcbae7a(0x135)]()!=='')[_0xcbae7a(0x12b)](([_0x19c1cd,_0x33fe4b])=>_0xcbae7a(0x136)+_0x19c1cd+':\x20'+String(_0x33fe4b));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a128_0x43b1(_0x50e180,_0x500904){_0x50e180=_0x50e180-0x192;const _0x9a4f5d=a128_0x9a4f();let _0x43b1b6=_0x9a4f5d[_0x50e180];return _0x43b1b6;}const a128_0x3920a2=a128_0x43b1;(function(_0x16cf12,_0x4fc6d5){const _0x4081ca=a128_0x43b1,_0x2f886a=_0x16cf12();while(!![]){try{const _0x279bc8=-parseInt(_0x4081ca(0x1ad))/0x1*(-parseInt(_0x4081ca(0x1a3))/0x2)+-parseInt(_0x4081ca(0x1a5))/0x3+parseInt(_0x4081ca(0x194))/0x4*(parseInt(_0x4081ca(0x1a7))/0x5)+-parseInt(_0x4081ca(0x1af))/0x6+parseInt(_0x4081ca(0x195))/0x7*(parseInt(_0x4081ca(0x1b2))/0x8)+parseInt(_0x4081ca(0x1b8))/0x9+-parseInt(_0x4081ca(0x197))/0xa;if(_0x279bc8===_0x4fc6d5)break;else _0x2f886a['push'](_0x2f886a['shift']());}catch(_0x3ed3ca){_0x2f886a['push'](_0x2f886a['shift']());}}}(a128_0x9a4f,0x88a0c));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x3b451e){const _0x7734c9=a128_0x43b1,_0xc2e10c=[];let _0x23823f=0x1;while(!![]){const _0x53ded8=await listSqlQueries(_0x3b451e,{'currentPage':_0x23823f,'pageSize':PAGE_SIZE}),_0xc4909d=_0x53ded8[_0x7734c9(0x1ab)]??[];_0xc2e10c[_0x7734c9(0x1a9)](..._0xc4909d[_0x7734c9(0x1a6)](_0x5de38a=>_0x5de38a[_0x7734c9(0x1b7)]));if(_0xc4909d[_0x7734c9(0x1a8)]===0x0)break;const _0x596f31=_0x53ded8[_0x7734c9(0x19e)]?.[_0x7734c9(0x1b5)];if(_0x596f31!=null?_0xc2e10c[_0x7734c9(0x1a8)]>=_0x596f31:_0xc4909d[_0x7734c9(0x1a8)]<PAGE_SIZE)break;_0x23823f++;}return _0xc2e10c;}export const sqlStatus={'service':a128_0x3920a2(0x192),'command':a128_0x3920a2(0x1a2),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':'read','flags':[{'name':'remote','type':a128_0x3920a2(0x1b6),'description':'Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally'}],async 'execute'(_0x4553bb){const _0x58e10e=a128_0x3920a2,_0x28ee9d=loadSqlProjectConfig(_0x4553bb[_0x58e10e(0x19d)]),_0x1c7a01=await readSqlLockFile(_0x28ee9d['lockFilePath']),{appLock:_0x30c1a6}=ensureSqlLockScope(_0x1c7a01??createEmptySqlLock(),_0x28ee9d['appCode'],_0x28ee9d[_0x58e10e(0x199)],_0x58e10e(0x1a2)),_0x583ccd=await scanLocalSqlQueries(_0x28ee9d),_0xf590e7=[],_0x3c03d7=[],_0x15ce1a=[],_0x206f86=[],_0x5ee543=new Set(_0x583ccd[_0x58e10e(0x1a6)](_0x31c8dd=>_0x31c8dd[_0x58e10e(0x19f)]));for(const _0x5cf9ba of _0x583ccd){const _0x4b3c99=await computeSqlFileHash(_0x5cf9ba[_0x58e10e(0x1a4)]),_0x422e56=_0x30c1a6['sqls'][_0x5cf9ba[_0x58e10e(0x19f)]],_0x467b4e=!!_0x422e56&&_0x422e56[_0x58e10e(0x1a0)]!==_0x5cf9ba[_0x58e10e(0x196)],_0x4c2ea9=!!_0x422e56&&!!_0x5cf9ba[_0x58e10e(0x19b)]&&_0x422e56[_0x58e10e(0x19b)]!==_0x5cf9ba['sqlName'];if(!_0x422e56)_0xf590e7['push'](_0x5cf9ba[_0x58e10e(0x19f)]);else _0x422e56[_0x58e10e(0x1aa)]!==_0x4b3c99||_0x467b4e||_0x4c2ea9?_0x3c03d7[_0x58e10e(0x1a9)](_0x5cf9ba[_0x58e10e(0x19f)]):_0x15ce1a[_0x58e10e(0x1a9)](_0x5cf9ba[_0x58e10e(0x19f)]);}for(const _0x3902b0 of Object[_0x58e10e(0x1b3)](_0x30c1a6['sqls'])){!_0x5ee543['has'](_0x3902b0)&&_0x206f86[_0x58e10e(0x1a9)](_0x3902b0);}const _0x442f4b=[];if(_0x4553bb[_0x58e10e(0x198)](_0x58e10e(0x193))){const _0x465460=await fetchAllSqlCodes(_0x4553bb[_0x58e10e(0x19d)]);for(const _0x57d6e9 of _0x465460){!_0x5ee543[_0x58e10e(0x19c)](_0x57d6e9)&&!_0x30c1a6[_0x58e10e(0x1b1)][_0x57d6e9]&&_0x442f4b['push'](_0x57d6e9);}}const _0x29b823=_0xf590e7['length']===0x0&&_0x3c03d7['length']===0x0&&_0x206f86['length']===0x0&&_0x442f4b[_0x58e10e(0x1a8)]===0x0;return{'ok':!![],'data':{'added':_0xf590e7,'modified':_0x3c03d7,'missing':_0x206f86,'unchanged':_0x15ce1a,'remoteOnly':_0x442f4b},'message':_0x29b823?_0x58e10e(0x1b0):_0xf590e7['length']+_0x58e10e(0x1b4)+_0x3c03d7[_0x58e10e(0x1a8)]+_0x58e10e(0x19a)+_0x206f86[_0x58e10e(0x1a8)]+_0x58e10e(0x1a1)+_0x15ce1a[_0x58e10e(0x1a8)]+_0x58e10e(0x1ac)+(_0x442f4b[_0x58e10e(0x1a8)]>0x0?',\x20'+_0x442f4b[_0x58e10e(0x1a8)]+_0x58e10e(0x1ae):'')};}};function a128_0x9a4f(){const _0x4cc708=['395162LshpAw','filePath','2546679Xsnonn','map','15IsavMM','length','push','hash','tableData','\x20unchanged','1XMPuuL','\x20remote-only','438252efaFFm','All\x20SQL\x20queries\x20are\x20in\x20sync.','sqls','320UaxvcD','keys','\x20added,\x20','totalCount','boolean','sqlCode','9741852YphShs','sql','remote','1112308EXFift','170023kWEFPn','relativePath','16042370XaMItj','bool','sqlRoot','\x20modified,\x20','sqlName','has','appCode','paging','lockKey','path','\x20missing,\x20','status'];a128_0x9a4f=function(){return _0x4cc708;};return a128_0x9a4f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a129_0x21a1aa=a129_0x1486;(function(_0xfcc4dd,_0xcbb6d2){const _0x269d73=a129_0x1486,_0x184ab2=_0xfcc4dd();while(!![]){try{const _0x3b924e=-parseInt(_0x269d73(0xdb))/0x1+parseInt(_0x269d73(0xf4))/0x2*(parseInt(_0x269d73(0xd9))/0x3)+-parseInt(_0x269d73(0xe4))/0x4*(parseInt(_0x269d73(0xc7))/0x5)+-parseInt(_0x269d73(0xcb))/0x6+-parseInt(_0x269d73(0xe1))/0x7+-parseInt(_0x269d73(0xd8))/0x8+parseInt(_0x269d73(0xef))/0x9*(parseInt(_0x269d73(0xde))/0xa);if(_0x3b924e===_0xcbb6d2)break;else _0x184ab2['push'](_0x184ab2['shift']());}catch(_0x1a74d2){_0x184ab2['push'](_0x184ab2['shift']());}}}(a129_0x3e21,0x6a3d8));import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';function a129_0x1486(_0xf750b3,_0x31a582){_0xf750b3=_0xf750b3-0xc5;const _0x3e214c=a129_0x3e21();let _0x1486a5=_0x3e214c[_0xf750b3];return _0x1486a5;}import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertDatasetSupportsLocalDevelopment,filterDbBackedDatasets}from'../../commands/dataset/capability.js';export const sqlValidate={'service':'sql','command':a129_0x21a1aa(0xe6),'description':a129_0x21a1aa(0xe7),'risk':a129_0x21a1aa(0xeb),'flags':[{'name':a129_0x21a1aa(0xce),'type':a129_0x21a1aa(0xee),'description':a129_0x21a1aa(0xc8)},{'name':'sql','type':a129_0x21a1aa(0xee),'description':a129_0x21a1aa(0xf2)},{'name':a129_0x21a1aa(0xc6),'type':'string','description':a129_0x21a1aa(0xe9)}],async 'execute'(_0x5862be){const _0x38b2b4=a129_0x21a1aa,_0x1f43c6=_0x5862be['str'](_0x38b2b4(0xce)),_0x1ef9fd=_0x5862be['str']('sql');if(!_0x1f43c6&&!_0x1ef9fd)throw CliErrors[_0x38b2b4(0xe0)](_0x38b2b4(0xce),_0x38b2b4(0xd6));let _0x1aae21;if(_0x1f43c6){const _0x2a2c39=resolve(process[_0x38b2b4(0xf0)](),_0x1f43c6);if(!existsSync(_0x2a2c39))throw CliErrors['validation']('File\x20not\x20found:\x20'+_0x2a2c39);_0x1aae21=readFileSync(_0x2a2c39,_0x38b2b4(0xe8));}else _0x1aae21=_0x1ef9fd;const _0x251c81=validateSql(_0x1aae21),_0x4f79bc={'valid':_0x251c81['valid'],'sqlType':_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xd7)],'isSelectOnly':_0x251c81[_0x38b2b4(0xec)]['isSelectOnly'],'isDangerous':_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xdd)],'tables':_0x251c81[_0x38b2b4(0xca)],'parameters':_0x251c81[_0x38b2b4(0xe2)],'message':_0x251c81['message']};_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xd0)]&&(_0x4f79bc[_0x38b2b4(0xd0)]=_0x251c81[_0x38b2b4(0xec)][_0x38b2b4(0xd0)]);const _0x52fb75=_0x5862be['str']('schemas');if(_0x52fb75&&_0x251c81[_0x38b2b4(0xed)]){const _0x1a7933=_0x52fb75[_0x38b2b4(0xcf)](',')[_0x38b2b4(0xe3)](_0xbbaac2=>_0xbbaac2['trim']())[_0x38b2b4(0xf3)](Boolean),_0x745693=[],_0x62817f=filterDbBackedDatasets(await listDatasets(_0x5862be['appCode'])),_0x305dbd=new Map(_0x62817f['map'](_0x5d6270=>[_0x5d6270['dbtableConfig']?.[_0x38b2b4(0xd1)]?.[_0x38b2b4(0xdc)](),_0x5d6270]));for(const _0x3310cc of _0x251c81[_0x38b2b4(0xca)]){const _0x16237e=_0x305dbd['get'](_0x3310cc[_0x38b2b4(0xdc)]());!_0x16237e&&_0x745693[_0x38b2b4(0xe5)](_0x38b2b4(0xd4)+_0x3310cc+_0x38b2b4(0xc5));}for(const _0x310395 of _0x1a7933){let _0x102e10;try{_0x102e10=await getDatasetDetail(_0x310395);}catch{_0x745693[_0x38b2b4(0xe5)](_0x38b2b4(0xc9)+_0x310395+'\x22\x20not\x20found\x20or\x20not\x20accessible');continue;}assertDatasetSupportsLocalDevelopment(_0x102e10,_0x38b2b4(0xd5));const _0x23e4c7=Array[_0x38b2b4(0xcd)](_0x102e10[_0x38b2b4(0xdf)])?_0x102e10[_0x38b2b4(0xdf)]:[],_0x3bf152=new Set(_0x23e4c7['map'](_0x5c8ac7=>_0x5c8ac7[_0x38b2b4(0xd2)]?.['toLowerCase']())),_0x58673f=_0x102e10[_0x38b2b4(0xd3)]?.['tableName']||_0x102e10[_0x38b2b4(0xd1)]||_0x310395;_0x4f79bc['schema:'+_0x58673f]={'code':_0x310395,'tableName':_0x58673f,'fieldCount':_0x3bf152[_0x38b2b4(0xf1)],'fields':Array[_0x38b2b4(0xda)](_0x3bf152)};}_0x745693[_0x38b2b4(0xcc)]>0x0&&(_0x4f79bc[_0x38b2b4(0xea)]=_0x745693);}return{'ok':_0x251c81['valid'],'data':_0x4f79bc,'message':_0x251c81['message']};}};function a129_0x3e21(){const _0x459d41=['Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','utf-8','Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against','schemaWarnings','read','sqlType','valid','string','488925FrOtbi','cwd','size','Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)','filter','106522vOwoSK','\x22\x20not\x20found\x20in\x20any\x20dataset','schemas','5gfQnak','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','Dataset\x20\x22','tables','3586812OAZWeM','length','isArray','file','split','reason','tableName','name','dbtableConfig','Table\x20\x22','SQL\x20schema\x20validation','Provide\x20--file\x20or\x20--sql','type','3354248eoQwWe','39tzdkSY','from','560975vIEAQv','toLowerCase','isDangerous','400jfQIYL','fields','flagMissing','3831191awvKGn','parameters','map','1219448ySbHgT','push','validate'];a129_0x3e21=function(){return _0x459d41;};return a129_0x3e21();}
|
package/lib/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a130_0x56c957=a130_0x5386;(function(_0x681203,_0x369563){const _0x567b97=a130_0x5386,_0x571766=_0x681203();while(!![]){try{const _0x12e27d=parseInt(_0x567b97(0xfb))/0x1+parseInt(_0x567b97(0xda))/0x2*(-parseInt(_0x567b97(0xed))/0x3)+parseInt(_0x567b97(0xef))/0x4+parseInt(_0x567b97(0xe0))/0x5+-parseInt(_0x567b97(0xe9))/0x6*(parseInt(_0x567b97(0xd3))/0x7)+parseInt(_0x567b97(0xe1))/0x8+-parseInt(_0x567b97(0xfc))/0x9;if(_0x12e27d===_0x369563)break;else _0x571766['push'](_0x571766['shift']());}catch(_0x2a0e5a){_0x571766['push'](_0x571766['shift']());}}}(a130_0x5b53,0xda41c));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RABETBASE_ENV_VALUES}from'../constant/env.js';function a130_0x5b53(){const _0x1eecd4=['14KELeNN','inherit','pageSize','Auth\x20cookie','Target\x20environment','en-US','number','48ffBZJb','apps','trim','entries','string','Default\x20output\x20format\x20for\x20this\x20app\x20(profile)','713705xPNyQg','3560408GoMkBY','Config\x20key\x20(','length','cookie','defaultApp','map','riskLevel','Locale','2000382xUFaIK','app','appcode','filter','180723LTMVBo','Risk\x20level','6332080RIjtVz','defaultFormat','has','API\x20directory\x20path','env','keys','format','accessKey','toLowerCase','apiDir','locale','join','1197241ULLJYs','3253455dSnByf','zh-CN'];a130_0x5b53=function(){return _0x1eecd4;};return a130_0x5b53();}import{RABETBASE_OUTPUT_FORMAT_VALUES}from'../constant/output.js';function a130_0x5386(_0x871e1a,_0x526c5d){_0x871e1a=_0x871e1a-0xd2;const _0x5b5339=a130_0x5b53();let _0x5386bd=_0x5b5339[_0x871e1a];return _0x5386bd;}import{RISK_LEVEL_VALUES}from'../constant/risk.js';export{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';export const PROJECT_CREATE_INHERITABLE_KEYS=[a130_0x56c957(0xe4),a130_0x56c957(0xf6),a130_0x56c957(0xf9),a130_0x56c957(0xf5),a130_0x56c957(0xe7)];export const TOP_LEVEL_CONFIG_KEYS=new Set([a130_0x56c957(0xeb),a130_0x56c957(0xf3),a130_0x56c957(0xf9),a130_0x56c957(0xf5),a130_0x56c957(0xe4),a130_0x56c957(0xf6),a130_0x56c957(0xf8)]);export const CONFIG_ENUM_VALUES={'env':[...RABETBASE_ENV_VALUES],'format':[...RABETBASE_OUTPUT_FORMAT_VALUES]};export function formatConfigKeyList(_0x4051f2){const _0x30966f=a130_0x56c957;return[..._0x4051f2][_0x30966f(0xfa)](',\x20');}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function isTopLevelConfigKey(_0x10ec06){const _0x5756c1=a130_0x56c957;return TOP_LEVEL_CONFIG_KEYS[_0x5756c1(0xf1)](_0x10ec06);}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){const _0x234d20=a130_0x56c957;return _0x234d20(0xe2)+getTopLevelConfigKeySummary()+')';}export const APP_PROFILE_FLAG_KEY_MAP={'env':a130_0x56c957(0xf3),'apiDir':a130_0x56c957(0xf8),'cookie':a130_0x56c957(0xe4),'accessKey':a130_0x56c957(0xf6),'defaultFormat':a130_0x56c957(0xf5),'pageSize':'pageSize','riskLevel':a130_0x56c957(0xe7),'locale':a130_0x56c957(0xf9)};export function getAppProfileFlagDefs(){const _0x5b63a6=a130_0x56c957;return[{'name':_0x5b63a6(0xf3),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xd7),'enum':[...RABETBASE_ENV_VALUES]},{'name':_0x5b63a6(0xf8),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xf2)},{'name':_0x5b63a6(0xe4),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xd6),'hidden':!![]},{'name':_0x5b63a6(0xf6),'type':'string','description':'Access\x20key','hidden':!![]},{'name':_0x5b63a6(0xf0),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xdf),'enum':[...RABETBASE_OUTPUT_FORMAT_VALUES]},{'name':_0x5b63a6(0xd5),'type':_0x5b63a6(0xd9),'description':'Default\x20page\x20size'},{'name':_0x5b63a6(0xe7),'type':_0x5b63a6(0xde),'description':_0x5b63a6(0xee),'enum':[...RISK_LEVEL_VALUES]},{'name':'locale','type':_0x5b63a6(0xde),'description':_0x5b63a6(0xe8)}];}export function collectAppProfileOverrides(_0x2e0d83){const _0x57bb39=a130_0x56c957,_0xafd862={};for(const [_0x259eb0,_0x24f7b5]of Object[_0x57bb39(0xdd)](APP_PROFILE_FLAG_KEY_MAP)){const _0x66d914=_0x2e0d83(_0x259eb0);if(!_0x66d914)continue;_0xafd862[_0x24f7b5]=_0x24f7b5===_0x57bb39(0xd5)?Number(_0x66d914):_0x66d914;}return _0xafd862;}export function buildAppProfileListFields(_0x472d41){const _0x3b8ac7=a130_0x56c957;return{'env':_0x472d41[_0x3b8ac7(0xf3)]??null,'apiDir':_0x472d41['apiDir']??null,'hasCookie':!!_0x472d41[_0x3b8ac7(0xe4)],'hasAccessKey':!!_0x472d41[_0x3b8ac7(0xf6)],'format':_0x472d41[_0x3b8ac7(0xf5)]??null,'pageSize':_0x472d41['pageSize']??null,'riskLevel':_0x472d41[_0x3b8ac7(0xe7)]??null,'locale':_0x472d41[_0x3b8ac7(0xf9)]??null};}export function buildAppDoctorFields(_0x34914b,_0x267524){const _0x57646f=a130_0x56c957;return{'env':{'value':_0x34914b[_0x57646f(0xf3)]||_0x267524[_0x57646f(0xf3)],'source':_0x34914b[_0x57646f(0xf3)]?_0x57646f(0xea):_0x57646f(0xd4)},'apiDir':{'value':_0x34914b[_0x57646f(0xf8)]||_0x267524['apiDir'],'source':_0x34914b[_0x57646f(0xf8)]?'app':_0x57646f(0xd4)},'cookie':{'value':_0x34914b[_0x57646f(0xe4)]||_0x267524[_0x57646f(0xe4)],'source':_0x34914b[_0x57646f(0xe4)]?_0x57646f(0xea):_0x57646f(0xd4)},'accessKey':{'value':_0x34914b[_0x57646f(0xf6)]||_0x267524[_0x57646f(0xf6)],'source':_0x34914b['accessKey']?_0x57646f(0xea):_0x57646f(0xd4)}};}export function buildCanonicalAppConfig(_0x512686,_0x29eea5){const _0x50d1d9=a130_0x56c957,_0x332469=_0x512686[_0x50d1d9(0xe6)](_0x23ceee=>String(_0x23ceee||'')[_0x50d1d9(0xdc)]())[_0x50d1d9(0xec)](Boolean);if(_0x332469['length']===0x0)return{};const _0xb1075a={};for(const _0x3fd99 of _0x332469){_0xb1075a[_0x3fd99]=_0x29eea5?{'appcode':_0x3fd99,'env':_0x29eea5}:{'appcode':_0x3fd99};}return{'apps':_0xb1075a,'defaultApp':_0x332469[0x0]};}export function buildCanonicalProjectConfig(_0x39e0b4,_0x37a847){const _0x21ca6f=a130_0x56c957,{appCodes:appCodes=[],env:_0xc9fc85,metadata:_0x313012}=_0x37a847,_0xa7b510={..._0x39e0b4,..._0x313012||{}};delete _0xa7b510['appcode'],delete _0xa7b510[_0x21ca6f(0xea)];if(_0xc9fc85)_0xa7b510[_0x21ca6f(0xf3)]=_0xc9fc85;else!_0xa7b510['env']&&(_0xa7b510[_0x21ca6f(0xf3)]=DEFAULT_CONFIG_VALUES[_0x21ca6f(0xf3)]);const _0xd863eb=buildCanonicalAppConfig(appCodes,_0xa7b510[_0x21ca6f(0xf3)]);return Object[_0x21ca6f(0xf4)](_0xd863eb)[_0x21ca6f(0xe3)]>0x0&&(_0xa7b510[_0x21ca6f(0xdb)]=_0xd863eb['apps'],_0xa7b510[_0x21ca6f(0xe5)]=_0xd863eb[_0x21ca6f(0xe5)]),_0xa7b510;}const LOCALE_MAP={'zh':'zh-CN','zh-cn':a130_0x56c957(0xd2),'zh_cn':a130_0x56c957(0xd2),'en':a130_0x56c957(0xd8),'en-us':'en-US','en_us':a130_0x56c957(0xd8)};export function normalizeLocale(_0x249a05){const _0x484e13=a130_0x56c957;if(!_0x249a05)return null;return LOCALE_MAP[_0x249a05[_0x484e13(0xf7)]()]??null;}
|
package/lib/constant/cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a131_0x36a194=a131_0x2bb4;function a131_0x2bb4(_0x4bd1fd,_0x24da79){_0x4bd1fd=_0x4bd1fd-0x152;const _0x2b1af8=a131_0x2b1a();let _0x2bb4d5=_0x2b1af8[_0x4bd1fd];return _0x2bb4d5;}(function(_0x557ad6,_0x558797){const _0x3a795b=a131_0x2bb4,_0x991c9a=_0x557ad6();while(!![]){try{const _0x1fc449=parseInt(_0x3a795b(0x15b))/0x1+-parseInt(_0x3a795b(0x158))/0x2+-parseInt(_0x3a795b(0x159))/0x3*(parseInt(_0x3a795b(0x155))/0x4)+parseInt(_0x3a795b(0x153))/0x5*(-parseInt(_0x3a795b(0x15a))/0x6)+-parseInt(_0x3a795b(0x152))/0x7*(parseInt(_0x3a795b(0x154))/0x8)+parseInt(_0x3a795b(0x156))/0x9+parseInt(_0x3a795b(0x157))/0xa;if(_0x1fc449===_0x558797)break;else _0x991c9a['push'](_0x991c9a['shift']());}catch(_0x3d9d4c){_0x991c9a['push'](_0x991c9a['shift']());}}}(a131_0x2b1a,0x9a1c9));function a131_0x2b1a(){const _0x3e0ec3=['6039090aifyQR','19613520LUfoix','1784402lTALdp','40935CVfmAA','288cURLEr','535957czXbbj','https://g.lovrabet.com/dist/rabetbase-cli/config/index.json','36162HUPEBm','76485UerjfW','248xxrpsR','220pzAzWL'];a131_0x2b1a=function(){return _0x3e0ec3;};return a131_0x2b1a();}export const CLI_VERSION_POLICY_URL=a131_0x36a194(0x15c);
|