@lovrabet/rabetbase-cli 2.3.3-beta.4 → 2.3.3
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/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-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/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/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/list.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/relation-audit.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/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-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/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a137_0x423827=a137_0x3493;function a137_0x3493(_0x1d595a,_0x5b32b9){_0x1d595a=_0x1d595a-0x1a2;const _0xab0206=a137_0xab02();let _0x34938d=_0xab0206[_0x1d595a];return _0x34938d;}(function(_0x12a076,_0x535743){const _0x28db5e=a137_0x3493,_0x2ca10c=_0x12a076();while(!![]){try{const _0x2162ac=-parseInt(_0x28db5e(0x1c1))/0x1+-parseInt(_0x28db5e(0x1a7))/0x2*(-parseInt(_0x28db5e(0x1bf))/0x3)+-parseInt(_0x28db5e(0x1b0))/0x4+parseInt(_0x28db5e(0x1b3))/0x5*(-parseInt(_0x28db5e(0x1a2))/0x6)+parseInt(_0x28db5e(0x1bd))/0x7*(-parseInt(_0x28db5e(0x1be))/0x8)+-parseInt(_0x28db5e(0x1a5))/0x9+parseInt(_0x28db5e(0x1c3))/0xa;if(_0x2162ac===_0x535743)break;else _0x2ca10c['push'](_0x2ca10c['shift']());}catch(_0x3a7f3b){_0x2ca10c['push'](_0x2ca10c['shift']());}}}(a137_0xab02,0x1a479));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a137_0xab02(){const _0x10c2c2=['totalCount','name','all','21861mBijFP','344nDlGDp','321612gINuFg','length','80603PorUze','appCode','2589860LOZkOY','sqlCode','22434qqNxMQ','paging','read','780993rNkLVM','number','4eWdeBw','Page\x20number','pagesize','List\x20custom\x20SQL\x20queries','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','num','description','Page\x20size','Found\x20','61908DgQQyI','boolean','No\x20custom\x20SQL\x20queries\x20found.','65fjvlhB','dbId','verbose','str','bool','page','sqlName'];a137_0xab02=function(){return _0x10c2c2;};return a137_0xab02();}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';export const sqlList={'service':'sql','command':'list','description':a137_0x423827(0x1aa),'risk':a137_0x423827(0x1a4),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':'Filter\x20by\x20SQL\x20name'},{'name':a137_0x423827(0x1b8),'type':a137_0x423827(0x1a6),'description':a137_0x423827(0x1a8),'default':0x1},{'name':a137_0x423827(0x1a9),'type':'number','description':a137_0x423827(0x1ae)},{'name':a137_0x423827(0x1b5),'type':a137_0x423827(0x1b1),'description':a137_0x423827(0x1ab)}],async 'execute'(_0x160351){const _0x5ccc2a=a137_0x423827,_0x3b3aaf=await listSqlQueries(_0x160351[_0x5ccc2a(0x1c2)],{'sqlCode':_0x160351[_0x5ccc2a(0x1b6)]('sqlcode')||undefined,'sqlName':_0x160351[_0x5ccc2a(0x1b6)](_0x5ccc2a(0x1bb))||undefined,'currentPage':_0x160351[_0x5ccc2a(0x1ac)](_0x5ccc2a(0x1b8)),'pageSize':_0x160351[_0x5ccc2a(0x1ac)]('pagesize',0x32)}),_0x48d712=_0x160351[_0x5ccc2a(0x1b7)](_0x5ccc2a(0x1b5)),_0x13db44=_0x3b3aaf['tableData']??[],_0x21b415=_0x3b3aaf[_0x5ccc2a(0x1a3)]?.[_0x5ccc2a(0x1ba)]??_0x13db44['length'];let _0x2a1798;return _0x48d712?_0x2a1798=_0x13db44:_0x2a1798=await Promise[_0x5ccc2a(0x1bc)](_0x13db44['map'](async _0x4aec7b=>{const _0x4a5d7e=_0x5ccc2a;let _0xeedbe0;try{_0xeedbe0=_0x4aec7b[_0x4a5d7e(0x1b4)]?await getDbName(_0x160351['appCode'],_0x4aec7b['dbId']):undefined;}catch{}return{'sqlCode':_0x4aec7b[_0x4a5d7e(0x1c4)],'sqlName':_0x4aec7b[_0x4a5d7e(0x1b9)],'description':_0x4aec7b[_0x4a5d7e(0x1ad)]??'','db':_0xeedbe0?_0xeedbe0+'\x20('+_0x4aec7b[_0x4a5d7e(0x1b4)]+')':_0x4aec7b[_0x4a5d7e(0x1b4)]??''};})),{'ok':!![],'data':_0x2a1798,'message':_0x13db44[_0x5ccc2a(0x1c0)]===0x0?_0x5ccc2a(0x1b2):_0x5ccc2a(0x1af)+_0x13db44[_0x5ccc2a(0x1c0)]+'\x20SQL\x20queries\x20(total:\x20'+_0x21b415+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a138_0x4a8c15=a138_0x3793;(function(_0x5cbd61,_0x1bc466){const _0x1954f5=a138_0x3793,_0x562336=_0x5cbd61();while(!![]){try{const _0x2d5794=parseInt(_0x1954f5(0x115))/0x1*(parseInt(_0x1954f5(0x11f))/0x2)+-parseInt(_0x1954f5(0x139))/0x3+parseInt(_0x1954f5(0x11c))/0x4+-parseInt(_0x1954f5(0x143))/0x5+-parseInt(_0x1954f5(0x142))/0x6*(parseInt(_0x1954f5(0x12c))/0x7)+-parseInt(_0x1954f5(0x141))/0x8+parseInt(_0x1954f5(0x110))/0x9*(parseInt(_0x1954f5(0x137))/0xa);if(_0x2d5794===_0x1bc466)break;else _0x562336['push'](_0x562336['shift']());}catch(_0x530eb8){_0x562336['push'](_0x562336['shift']());}}}(a138_0x5029,0x79a76));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;async function fetchAllSqlQueries(_0x5ed2d6,_0x3b32d6){const _0x33aeb1=a138_0x3793,_0x4fb686=[];let _0x229fa6=0x1;while(!![]){const _0x5b3232=await listSqlQueries(_0x5ed2d6,{'currentPage':_0x229fa6,'pageSize':PAGE_SIZE,'sqlCode':_0x3b32d6['sqlCode'],'sqlName':_0x3b32d6[_0x33aeb1(0x10d)]}),_0x5403af=_0x5b3232[_0x33aeb1(0x111)]??[];_0x4fb686[_0x33aeb1(0x12a)](..._0x5403af);if(_0x5403af['length']===0x0)break;const _0x4a15a2=_0x5b3232[_0x33aeb1(0x144)]?.['totalCount'];if(_0x4a15a2!=null?_0x4fb686[_0x33aeb1(0x14a)]>=_0x4a15a2:_0x5403af[_0x33aeb1(0x14a)]<PAGE_SIZE)break;_0x229fa6++;}return _0x4fb686;}function a138_0x3793(_0x501061,_0x1ce419){_0x501061=_0x501061-0x10a;const _0x50299c=a138_0x5029();let _0x37934f=_0x50299c[_0x501061];return _0x37934f;}async function ensureSqlContent(_0x50df30){const _0x482351=a138_0x3793;if(_0x50df30[_0x482351(0x120)]!=null&&String(_0x50df30['sqlContent'])[_0x482351(0x14a)]>0x0)return _0x50df30;return getSqlQueryDetail(_0x50df30[_0x482351(0x138)]);}export const sqlPull={'service':a138_0x4a8c15(0x113),'command':'pull','description':a138_0x4a8c15(0x114),'risk':a138_0x4a8c15(0x127),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a138_0x4a8c15(0x13b),'type':a138_0x4a8c15(0x112),'description':a138_0x4a8c15(0x149)},{'name':a138_0x4a8c15(0x12d),'type':a138_0x4a8c15(0x122),'description':a138_0x4a8c15(0x12e)}],async 'dryRun'(_0x2e602d){const _0x25b690=a138_0x4a8c15,_0x4beec0=loadSqlProjectConfig(_0x2e602d[_0x25b690(0x10b)]),_0x2f12b9=await readSqlLockFile(_0x4beec0[_0x25b690(0x10f)]),{appLock:_0x32596c}=ensureSqlLockScope(_0x2f12b9??createEmptySqlLock(),_0x4beec0['appCode'],_0x4beec0['sqlRoot'],_0x25b690(0x135)),_0x21b1bb=await fetchAllSqlQueries(_0x2e602d[_0x25b690(0x10b)],{'sqlCode':_0x2e602d[_0x25b690(0x130)](_0x25b690(0x119))||undefined,'sqlName':_0x2e602d[_0x25b690(0x130)]('name')||undefined}),_0x4c0630=[];for(const _0x42a42a of _0x21b1bb){const _0x333a5e=await ensureSqlContent(_0x42a42a),_0x5d7d1d=ensureRemoteSqlContent(_0x333a5e),_0x3be26a=detectModeFromSql(_0x333a5e),_0x48cf41=_0x333a5e[_0x25b690(0x147)]?await getDbName(_0x2e602d[_0x25b690(0x10b)],Number(_0x333a5e[_0x25b690(0x147)]))['catch'](()=>undefined):undefined,_0x43c188=buildLocalSqlFileContent({'sqlCode':_0x333a5e[_0x25b690(0x138)],'sqlName':_0x333a5e[_0x25b690(0x10d)],'dbId':_0x333a5e['dbId']},_0x5d7d1d,{'dbName':_0x48cf41,'mode':_0x3be26a,'syncedAt':new Date()['toISOString'](),'description':_0x333a5e[_0x25b690(0x123)]}),_0x12cc87=buildSqlLockEntry(_0x333a5e,_0x5d7d1d,'',{'dbName':_0x48cf41}),_0x4de717=resolveLocalSqlFilePath(_0x4beec0,_0x333a5e[_0x25b690(0x138)],_0x12cc87);let _0x30c20b=_0x25b690(0x13c),_0x3cd8bb;if(await fileExists(_0x4de717)){const _0x1d0c84=await readFile(_0x4de717,_0x25b690(0x11d));isEquivalentPulledSqlFile(_0x1d0c84,_0x43c188,_0x3be26a)?(_0x30c20b=_0x25b690(0x121),_0x3cd8bb=_0x25b690(0x10c)):(_0x30c20b=_0x25b690(0x125),_0x3cd8bb=_0x25b690(0x10e));}_0x4c0630[_0x25b690(0x12a)]({'sqlCode':_0x333a5e['sqlCode'],'sqlName':_0x333a5e['sqlName'],'filePath':_0x4de717,'status':_0x30c20b,'reason':_0x3cd8bb});}return{'method':_0x25b690(0x131),'url':_0x25b690(0x11e),'body':{'appCode':_0x2e602d['appCode'],'sqlCode':_0x2e602d[_0x25b690(0x130)](_0x25b690(0x119))||null,'sqlName':_0x2e602d[_0x25b690(0x130)](_0x25b690(0x13b))||null,'files':_0x4c0630},'description':'Would\x20pull\x20'+_0x4c0630[_0x25b690(0x14a)]+_0x25b690(0x11b)+_0x4beec0[_0x25b690(0x145)]};},async 'execute'(_0x2746ae){const _0x2dfcab=a138_0x4a8c15,_0x509d57=loadSqlProjectConfig(_0x2746ae['appCode']),_0x113891=await readSqlLockFile(_0x509d57['lockFilePath']),{lockData:_0x13c20b,appLock:_0x3ad80a}=ensureSqlLockScope(_0x113891??createEmptySqlLock(),_0x509d57[_0x2dfcab(0x10b)],_0x509d57[_0x2dfcab(0x132)],_0x2dfcab(0x135)),_0x4a3746=_0x2746ae[_0x2dfcab(0x133)]('force'),_0x265477=await fetchAllSqlQueries(_0x2746ae['appCode'],{'sqlCode':_0x2746ae[_0x2dfcab(0x130)]('sqlcode')||undefined,'sqlName':_0x2746ae[_0x2dfcab(0x130)](_0x2dfcab(0x13b))||undefined});if(_0x265477[_0x2dfcab(0x14a)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x2dfcab(0x13f)};const _0x1adcca=[],_0x425ff6=[];for(const _0x1e1a9e of _0x265477){try{_0x1adcca['push'](await ensureSqlContent(_0x1e1a9e));}catch(_0x37aa0a){_0x425ff6[_0x2dfcab(0x12a)]({'sqlCode':_0x1e1a9e['sqlCode'],'error':_0x37aa0a instanceof Error?_0x37aa0a['message']:String(_0x37aa0a)});}}if(_0x4a3746&&!_0x2746ae[_0x2dfcab(0x126)]){let _0x1e1e45=![];for(const _0xdfab24 of _0x1adcca){const _0x586ea9=detectModeFromSql(_0xdfab24),_0x5e465e=_0xdfab24[_0x2dfcab(0x147)]?await getDbName(_0x2746ae[_0x2dfcab(0x10b)],Number(_0xdfab24[_0x2dfcab(0x147)]))[_0x2dfcab(0x11a)](()=>undefined):undefined,_0x35c7cd=buildLocalSqlFileContent({'sqlCode':_0xdfab24[_0x2dfcab(0x138)],'sqlName':_0xdfab24['sqlName'],'dbId':_0xdfab24[_0x2dfcab(0x147)]},ensureRemoteSqlContent(_0xdfab24),{'dbName':_0x5e465e,'mode':_0x586ea9,'syncedAt':new Date()['toISOString'](),'description':_0xdfab24[_0x2dfcab(0x123)]}),_0x5bb7bc=resolveLocalSqlFilePath(_0x509d57,_0xdfab24[_0x2dfcab(0x138)],buildSqlLockEntry(_0xdfab24,ensureRemoteSqlContent(_0xdfab24),'',{'dbName':_0x5e465e}));if(await fileExists(_0x5bb7bc)){const _0x328e34=await readFile(_0x5bb7bc,'utf8');if(!isEquivalentPulledSqlFile(_0x328e34,_0x35c7cd,_0x586ea9)){_0x1e1e45=!![];break;}}}if(_0x1e1e45){const _0x19d0ae=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x19d0ae)throw CliErrors[_0x2dfcab(0x12b)](_0x2dfcab(0x13e));}}const _0x326160=cloneSqlLockData(_0x13c20b),_0x2c31f8=_0x326160[_0x2dfcab(0x136)][_0x509d57[_0x2dfcab(0x10b)]],_0x2d41d4=[],_0x239502=[];for(const _0x4a612f of _0x1adcca){const _0x1725d9=_0x2c31f8[_0x2dfcab(0x12f)][_0x4a612f[_0x2dfcab(0x138)]],_0x4ce31f=ensureRemoteSqlContent(_0x4a612f),_0x445820=detectModeFromSql(_0x4a612f),_0x4255cc=_0x4a612f['dbId']?await getDbName(_0x2746ae['appCode'],Number(_0x4a612f[_0x2dfcab(0x147)]))['catch'](()=>undefined):undefined,_0x4364c3=buildLocalSqlFileContent({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'sqlName':_0x4a612f[_0x2dfcab(0x10d)],'dbId':_0x4a612f[_0x2dfcab(0x147)]},_0x4ce31f,{'dbName':_0x4255cc,'mode':_0x445820,'syncedAt':new Date()[_0x2dfcab(0x116)](),'description':_0x4a612f['description']}),_0x5af268=buildSqlLockEntry(_0x4a612f,_0x4ce31f,computeSqlContentHash(_0x4364c3),{'dbName':_0x4255cc}),_0x35b307=_0x5af268['path'],_0x4a494d=join(_0x509d57[_0x2dfcab(0x145)],_0x35b307);try{if(await fileExists(_0x4a494d)){const _0xaf34dd=await readFile(_0x4a494d,'utf8');if(isEquivalentPulledSqlFile(_0xaf34dd,_0x4364c3,_0x445820)){_0x239502['push']({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'reason':_0x2dfcab(0x10c)}),_0x2c31f8[_0x2dfcab(0x12f)][_0x4a612f[_0x2dfcab(0x138)]]={..._0x5af268,'hash':computeSqlContentHash(_0xaf34dd),'path':_0x35b307};continue;}if(!_0x4a3746){_0x239502[_0x2dfcab(0x12a)]({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'reason':'local\x20differs\x20from\x20remote'});continue;}}const _0x12c0ca=_0x1725d9?.[_0x2dfcab(0x148)]?join(_0x509d57[_0x2dfcab(0x145)],_0x1725d9['path']):undefined;_0x12c0ca&&_0x12c0ca!==_0x4a494d&&await fileExists(_0x12c0ca)&&await rm(_0x12c0ca,{'force':!![]}),await ensureParentDirectory(_0x4a494d),await writeFile(_0x4a494d,_0x4364c3,_0x2dfcab(0x11d)),_0x2c31f8['sqls'][_0x4a612f[_0x2dfcab(0x138)]]={..._0x5af268,'path':_0x35b307},_0x2d41d4[_0x2dfcab(0x12a)]({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'filePath':_0x4a494d});}catch(_0x1eec84){_0x425ff6[_0x2dfcab(0x12a)]({'sqlCode':_0x4a612f[_0x2dfcab(0x138)],'error':_0x1eec84 instanceof Error?_0x1eec84[_0x2dfcab(0x10a)]:String(_0x1eec84)});}}return _0x2c31f8[_0x2dfcab(0x13a)]=new Date()['toISOString'](),await writeSqlLockFile(_0x509d57[_0x2dfcab(0x10f)],_0x326160),{'ok':_0x425ff6[_0x2dfcab(0x14a)]===0x0,'data':{'pulled':_0x2d41d4,'skipped':_0x239502,'failed':_0x425ff6},'message':'Pull\x20complete:\x20'+_0x2d41d4[_0x2dfcab(0x14a)]+_0x2dfcab(0x13d)+_0x239502[_0x2dfcab(0x14a)]+_0x2dfcab(0x118)+_0x425ff6[_0x2dfcab(0x14a)]+_0x2dfcab(0x128)};}};function detectModeFromSql(_0x1d7664){const _0xa9ad18=a138_0x4a8c15,_0x20bd87=ensureRemoteSqlContent(_0x1d7664),_0x5a8914=stripLocalSqlMetadata(_0x20bd87,'mybatisXml')[_0xa9ad18(0x146)]();if(/^<(select|insert|update|delete)\b/i[_0xa9ad18(0x117)](_0x5a8914))return'mybatisXml';return'sql';}function a138_0x5029(){const _0x21b1e2=['utf8','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','263132IEQRQP','sqlContent','skipped','boolean','description','replace','conflict','nonInteractive','write','\x20failed','join','push','cancelled','280IJWCDg','force','Force\x20overwrite\x20local\x20unsynced\x20changes','sqls','str','POST','sqlRoot','bool','split','pull','apps','650oeAnZi','sqlCode','2047593BHbVSq','lastSync','name','would_pull','\x20written,\x20','Force\x20pull\x20cancelled.','No\x20remote\x20SQL\x20queries\x20matched.','mybatisXml','6668520TzyhPt','85602TctFEZ','417945qwWHdP','paging','sqlRootDir','trimStart','dbId','path','Filter\x20by\x20SQL\x20display\x20name','length','message','appCode','unchanged','sqlName','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','lockFilePath','171765YUBvFn','tableData','string','sql','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','6HinYES','toISOString','test','\x20skipped,\x20','sqlcode','catch','\x20SQL\x20file(s)\x20into\x20','2554952zjqPNI'];a138_0x5029=function(){return _0x21b1e2;};return a138_0x5029();}function isEquivalentPulledSqlFile(_0x454d73,_0x1c1dff,_0xa7ba5e){return normalizePullComparableContent(_0x454d73,_0xa7ba5e)===normalizePullComparableContent(_0x1c1dff,_0xa7ba5e);}function normalizePullComparableContent(_0x2f7b02,_0x330336){const _0x53013b=a138_0x4a8c15,_0x2b068b=_0x2f7b02[_0x53013b(0x124)](/\r\n/g,'\x0a')[_0x53013b(0x134)]('\x0a'),_0x327dfc=_0x2b068b['filter'](_0x341516=>!isSyncedAtMetadataLine(_0x341516,_0x330336));return _0x327dfc[_0x53013b(0x129)]('\x0a');}function isSyncedAtMetadataLine(_0x316da8,_0x4dc0a9){const _0x22b247=a138_0x4a8c15;if(_0x4dc0a9===_0x22b247(0x140))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x22b247(0x117)](_0x316da8);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x22b247(0x117)](_0x316da8);}
|
|
1
|
+
const a138_0x1f1a2b=a138_0x1990;(function(_0x16bc18,_0x576945){const _0x1a2bfb=a138_0x1990,_0x22586f=_0x16bc18();while(!![]){try{const _0x4ac773=parseInt(_0x1a2bfb(0x104))/0x1*(-parseInt(_0x1a2bfb(0x107))/0x2)+-parseInt(_0x1a2bfb(0x130))/0x3*(-parseInt(_0x1a2bfb(0x132))/0x4)+parseInt(_0x1a2bfb(0x12d))/0x5*(-parseInt(_0x1a2bfb(0x126))/0x6)+-parseInt(_0x1a2bfb(0x129))/0x7*(parseInt(_0x1a2bfb(0x118))/0x8)+-parseInt(_0x1a2bfb(0x119))/0x9+-parseInt(_0x1a2bfb(0x123))/0xa*(-parseInt(_0x1a2bfb(0x12f))/0xb)+parseInt(_0x1a2bfb(0x10c))/0xc;if(_0x4ac773===_0x576945)break;else _0x22586f['push'](_0x22586f['shift']());}catch(_0x31b30f){_0x22586f['push'](_0x22586f['shift']());}}}(a138_0x241f,0xc33ba));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;async function fetchAllSqlQueries(_0x22f0ad,_0x388ad2){const _0x530dbf=a138_0x1990,_0x3efe1b=[];let _0x2752bb=0x1;while(!![]){const _0x533a30=await listSqlQueries(_0x22f0ad,{'currentPage':_0x2752bb,'pageSize':PAGE_SIZE,'sqlCode':_0x388ad2[_0x530dbf(0x102)],'sqlName':_0x388ad2[_0x530dbf(0xfb)]}),_0x439253=_0x533a30[_0x530dbf(0x112)]??[];_0x3efe1b[_0x530dbf(0x127)](..._0x439253);if(_0x439253[_0x530dbf(0x134)]===0x0)break;const _0x10e63b=_0x533a30['paging']?.[_0x530dbf(0x135)];if(_0x10e63b!=null?_0x3efe1b[_0x530dbf(0x134)]>=_0x10e63b:_0x439253[_0x530dbf(0x134)]<PAGE_SIZE)break;_0x2752bb++;}return _0x3efe1b;}async function ensureSqlContent(_0x47ffba){const _0x4408f3=a138_0x1990;if(_0x47ffba[_0x4408f3(0x137)]!=null&&String(_0x47ffba[_0x4408f3(0x137)])[_0x4408f3(0x134)]>0x0)return _0x47ffba;return getSqlQueryDetail(_0x47ffba[_0x4408f3(0x102)]);}export const sqlPull={'service':a138_0x1f1a2b(0x139),'command':a138_0x1f1a2b(0x120),'description':a138_0x1f1a2b(0x117),'risk':a138_0x1f1a2b(0x103),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a138_0x1f1a2b(0x11d),'type':a138_0x1f1a2b(0x100),'description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':'force','type':a138_0x1f1a2b(0x13c),'description':a138_0x1f1a2b(0x12c)}],async 'dryRun'(_0x54be42){const _0xbe7031=a138_0x1f1a2b,_0xc446d9=loadSqlProjectConfig(_0x54be42[_0xbe7031(0xfc)]),_0x2b6acf=await readSqlLockFile(_0xc446d9[_0xbe7031(0x128)]),{appLock:_0x3bd9cb}=ensureSqlLockScope(_0x2b6acf??createEmptySqlLock(),_0xc446d9[_0xbe7031(0xfc)],_0xc446d9['sqlRoot'],'pull'),_0x5e77dc=await fetchAllSqlQueries(_0x54be42[_0xbe7031(0xfc)],{'sqlCode':_0x54be42[_0xbe7031(0x125)](_0xbe7031(0x106))||undefined,'sqlName':_0x54be42[_0xbe7031(0x125)](_0xbe7031(0x11d))||undefined}),_0x2834aa=[];for(const _0x443b31 of _0x5e77dc){const _0x294018=await ensureSqlContent(_0x443b31),_0xf32844=ensureRemoteSqlContent(_0x294018),_0x37e507=detectModeFromSql(_0x294018),_0x4f77f2=_0x294018[_0xbe7031(0x105)]?await getDbName(_0x54be42[_0xbe7031(0xfc)],Number(_0x294018[_0xbe7031(0x105)]))[_0xbe7031(0x121)](()=>undefined):undefined,_0x8d633c=buildLocalSqlFileContent({'sqlCode':_0x294018[_0xbe7031(0x102)],'sqlName':_0x294018[_0xbe7031(0xfb)],'dbId':_0x294018[_0xbe7031(0x105)]},_0xf32844,{'dbName':_0x4f77f2,'mode':_0x37e507,'syncedAt':new Date()['toISOString'](),'description':_0x294018[_0xbe7031(0x11f)]}),_0x263fa6=buildSqlLockEntry(_0x294018,_0xf32844,'',{'dbName':_0x4f77f2}),_0x5cfaa5=resolveLocalSqlFilePath(_0xc446d9,_0x294018[_0xbe7031(0x102)],_0x263fa6);let _0x5f496c=_0xbe7031(0x10a),_0x4d67df;if(await fileExists(_0x5cfaa5)){const _0x19b82d=await readFile(_0x5cfaa5,'utf8');isEquivalentPulledSqlFile(_0x19b82d,_0x8d633c,_0x37e507)?(_0x5f496c=_0xbe7031(0xfd),_0x4d67df='unchanged'):(_0x5f496c=_0xbe7031(0x138),_0x4d67df=_0xbe7031(0x10f));}_0x2834aa[_0xbe7031(0x127)]({'sqlCode':_0x294018[_0xbe7031(0x102)],'sqlName':_0x294018[_0xbe7031(0xfb)],'filePath':_0x5cfaa5,'status':_0x5f496c,'reason':_0x4d67df});}return{'method':_0xbe7031(0x136),'url':_0xbe7031(0x115),'body':{'appCode':_0x54be42[_0xbe7031(0xfc)],'sqlCode':_0x54be42['str']('sqlcode')||null,'sqlName':_0x54be42[_0xbe7031(0x125)](_0xbe7031(0x11d))||null,'files':_0x2834aa},'description':_0xbe7031(0x124)+_0x2834aa[_0xbe7031(0x134)]+_0xbe7031(0x110)+_0xc446d9['sqlRootDir']};},async 'execute'(_0xdfebc5){const _0xf9301c=a138_0x1f1a2b,_0x4241ec=loadSqlProjectConfig(_0xdfebc5['appCode']),_0x16dbc7=await readSqlLockFile(_0x4241ec['lockFilePath']),{lockData:_0x49d76a,appLock:_0x30c90b}=ensureSqlLockScope(_0x16dbc7??createEmptySqlLock(),_0x4241ec['appCode'],_0x4241ec[_0xf9301c(0x11e)],'pull'),_0x4506c8=_0xdfebc5[_0xf9301c(0x12a)](_0xf9301c(0x11c)),_0x4a485e=await fetchAllSqlQueries(_0xdfebc5['appCode'],{'sqlCode':_0xdfebc5[_0xf9301c(0x125)]('sqlcode')||undefined,'sqlName':_0xdfebc5[_0xf9301c(0x125)](_0xf9301c(0x11d))||undefined});if(_0x4a485e[_0xf9301c(0x134)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0xf9301c(0x111)};const _0x276510=[],_0x4e0439=[];for(const _0xc2ccf4 of _0x4a485e){try{_0x276510[_0xf9301c(0x127)](await ensureSqlContent(_0xc2ccf4));}catch(_0x18c3a2){_0x4e0439[_0xf9301c(0x127)]({'sqlCode':_0xc2ccf4['sqlCode'],'error':_0x18c3a2 instanceof Error?_0x18c3a2[_0xf9301c(0x12e)]:String(_0x18c3a2)});}}if(_0x4506c8&&!_0xdfebc5[_0xf9301c(0x122)]){let _0x3fb09f=![];for(const _0x29a200 of _0x276510){const _0x5f511d=detectModeFromSql(_0x29a200),_0x4ef6c7=_0x29a200[_0xf9301c(0x105)]?await getDbName(_0xdfebc5['appCode'],Number(_0x29a200[_0xf9301c(0x105)]))[_0xf9301c(0x121)](()=>undefined):undefined,_0x50a2c9=buildLocalSqlFileContent({'sqlCode':_0x29a200[_0xf9301c(0x102)],'sqlName':_0x29a200[_0xf9301c(0xfb)],'dbId':_0x29a200[_0xf9301c(0x105)]},ensureRemoteSqlContent(_0x29a200),{'dbName':_0x4ef6c7,'mode':_0x5f511d,'syncedAt':new Date()[_0xf9301c(0x113)](),'description':_0x29a200['description']}),_0x2194cd=resolveLocalSqlFilePath(_0x4241ec,_0x29a200[_0xf9301c(0x102)],buildSqlLockEntry(_0x29a200,ensureRemoteSqlContent(_0x29a200),'',{'dbName':_0x4ef6c7}));if(await fileExists(_0x2194cd)){const _0x596bf1=await readFile(_0x2194cd,_0xf9301c(0x12b));if(!isEquivalentPulledSqlFile(_0x596bf1,_0x50a2c9,_0x5f511d)){_0x3fb09f=!![];break;}}}if(_0x3fb09f){const _0x1407ba=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x1407ba)throw CliErrors['cancelled'](_0xf9301c(0x114));}}const _0x86f617=cloneSqlLockData(_0x49d76a),_0x321f88=_0x86f617['apps'][_0x4241ec[_0xf9301c(0xfc)]],_0x38d7d8=[],_0x3e505a=[];for(const _0x1031fa of _0x276510){const _0x2ab657=_0x321f88[_0xf9301c(0x11a)][_0x1031fa[_0xf9301c(0x102)]],_0x107351=ensureRemoteSqlContent(_0x1031fa),_0x32da39=detectModeFromSql(_0x1031fa),_0x3a739d=_0x1031fa[_0xf9301c(0x105)]?await getDbName(_0xdfebc5['appCode'],Number(_0x1031fa[_0xf9301c(0x105)]))[_0xf9301c(0x121)](()=>undefined):undefined,_0x2ee37f=buildLocalSqlFileContent({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'sqlName':_0x1031fa['sqlName'],'dbId':_0x1031fa[_0xf9301c(0x105)]},_0x107351,{'dbName':_0x3a739d,'mode':_0x32da39,'syncedAt':new Date()[_0xf9301c(0x113)](),'description':_0x1031fa[_0xf9301c(0x11f)]}),_0x188767=buildSqlLockEntry(_0x1031fa,_0x107351,computeSqlContentHash(_0x2ee37f),{'dbName':_0x3a739d}),_0x5a5530=_0x188767[_0xf9301c(0x116)],_0x4fc952=join(_0x4241ec[_0xf9301c(0x10d)],_0x5a5530);try{if(await fileExists(_0x4fc952)){const _0x45919e=await readFile(_0x4fc952,_0xf9301c(0x12b));if(isEquivalentPulledSqlFile(_0x45919e,_0x2ee37f,_0x32da39)){_0x3e505a[_0xf9301c(0x127)]({'sqlCode':_0x1031fa['sqlCode'],'reason':_0xf9301c(0x101)}),_0x321f88['sqls'][_0x1031fa[_0xf9301c(0x102)]]={..._0x188767,'hash':computeSqlContentHash(_0x45919e),'path':_0x5a5530};continue;}if(!_0x4506c8){_0x3e505a[_0xf9301c(0x127)]({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'reason':_0xf9301c(0x109)});continue;}}const _0x1969f9=_0x2ab657?.['path']?join(_0x4241ec[_0xf9301c(0x10d)],_0x2ab657[_0xf9301c(0x116)]):undefined;_0x1969f9&&_0x1969f9!==_0x4fc952&&await fileExists(_0x1969f9)&&await rm(_0x1969f9,{'force':!![]}),await ensureParentDirectory(_0x4fc952),await writeFile(_0x4fc952,_0x2ee37f,'utf8'),_0x321f88['sqls'][_0x1031fa['sqlCode']]={..._0x188767,'path':_0x5a5530},_0x38d7d8['push']({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'filePath':_0x4fc952});}catch(_0x172ef0){_0x4e0439[_0xf9301c(0x127)]({'sqlCode':_0x1031fa[_0xf9301c(0x102)],'error':_0x172ef0 instanceof Error?_0x172ef0[_0xf9301c(0x12e)]:String(_0x172ef0)});}}return _0x321f88[_0xf9301c(0xff)]=new Date()[_0xf9301c(0x113)](),await writeSqlLockFile(_0x4241ec[_0xf9301c(0x128)],_0x86f617),{'ok':_0x4e0439['length']===0x0,'data':{'pulled':_0x38d7d8,'skipped':_0x3e505a,'failed':_0x4e0439},'message':_0xf9301c(0x13a)+_0x38d7d8['length']+_0xf9301c(0x10b)+_0x3e505a[_0xf9301c(0x134)]+'\x20skipped,\x20'+_0x4e0439[_0xf9301c(0x134)]+_0xf9301c(0xfe)};}};function detectModeFromSql(_0x5667cd){const _0x27ad67=a138_0x1f1a2b,_0x351238=ensureRemoteSqlContent(_0x5667cd),_0x57da7f=stripLocalSqlMetadata(_0x351238,_0x27ad67(0x131))[_0x27ad67(0x133)]();if(/^<(select|insert|update|delete)\b/i[_0x27ad67(0x13b)](_0x57da7f))return _0x27ad67(0x131);return _0x27ad67(0x139);}function a138_0x1990(_0x12c4b3,_0xb2cdc1){_0x12c4b3=_0x12c4b3-0xfb;const _0x241ffb=a138_0x241f();let _0x1990b9=_0x241ffb[_0x12c4b3];return _0x1990b9;}function a138_0x241f(){const _0x13c878=['pull','catch','nonInteractive','2410tvmawo','Would\x20pull\x20','str','4637562YroofL','push','lockFilePath','11683wIZJTX','bool','utf8','Force\x20overwrite\x20local\x20unsynced\x20changes','10eoinOU','message','28523YiQDhJ','29373oLyjCk','mybatisXml','428QNpiTl','trimStart','length','totalCount','POST','sqlContent','conflict','sql','Pull\x20complete:\x20','test','boolean','sqlName','appCode','skipped','\x20failed','lastSync','string','unchanged','sqlCode','write','97smcMvU','dbId','sqlcode','11326oofxhK','filter','local\x20differs\x20from\x20remote','would_pull','\x20written,\x20','29487456XBpKCv','sqlRootDir','replace','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','\x20SQL\x20file(s)\x20into\x20','No\x20remote\x20SQL\x20queries\x20matched.','tableData','toISOString','Force\x20pull\x20cancelled.','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','path','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','1432tVAibp','8426232YUQHJX','sqls','join','force','name','sqlRoot','description'];a138_0x241f=function(){return _0x13c878;};return a138_0x241f();}function isEquivalentPulledSqlFile(_0x19b17c,_0x44d98a,_0x1c031d){return normalizePullComparableContent(_0x19b17c,_0x1c031d)===normalizePullComparableContent(_0x44d98a,_0x1c031d);}function normalizePullComparableContent(_0xd302eb,_0x47a9a9){const _0x52302f=a138_0x1f1a2b,_0x58a8fd=_0xd302eb[_0x52302f(0x10e)](/\r\n/g,'\x0a')['split']('\x0a'),_0x339dbd=_0x58a8fd[_0x52302f(0x108)](_0x5e5b84=>!isSyncedAtMetadataLine(_0x5e5b84,_0x47a9a9));return _0x339dbd[_0x52302f(0x11b)]('\x0a');}function isSyncedAtMetadataLine(_0xe8118c,_0x23ff65){const _0x3ad89a=a138_0x1f1a2b;if(_0x23ff65===_0x3ad89a(0x131))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x3ad89a(0x13b)](_0xe8118c);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x3ad89a(0x13b)](_0xe8118c);}
|
package/lib/commands/sql/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a139_0x3b8f95=a139_0x21b2;(function(_0x57f002,_0x5955f3){const _0x1dd1cf=a139_0x21b2,_0x464652=_0x57f002();while(!![]){try{const _0x1e0b05=parseInt(_0x1dd1cf(0x19a))/0x1+parseInt(_0x1dd1cf(0x19b))/0x2*(-parseInt(_0x1dd1cf(0x1c7))/0x3)+-parseInt(_0x1dd1cf(0x1a0))/0x4+parseInt(_0x1dd1cf(0x1c0))/0x5+-parseInt(_0x1dd1cf(0x1be))/0x6+-parseInt(_0x1dd1cf(0x1c8))/0x7*(parseInt(_0x1dd1cf(0x1ab))/0x8)+parseInt(_0x1dd1cf(0x1a7))/0x9;if(_0x1e0b05===_0x5955f3)break;else _0x464652['push'](_0x464652['shift']());}catch(_0x408656){_0x464652['push'](_0x464652['shift']());}}}(a139_0x3c25,0xec4a2));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';function a139_0x3c25(){const _0x47772e=['filePath','sql','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','sqlConfig','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','Would\x20push\x20','map','validation','path','/smartapi/custom/updateUserCustomSql','version','catch','sqlName','message','\x20skipped,\x20','projectRoot','6445602nJcMkH','dbName','8259750mwoqqW','lockFilePath','No\x20database\x20matches\x20local\x20directory\x20\x22','get','dbId','Local\x20directory\x20\x22','\x20failed','39qqmdkR','12124595hHigGW','Push\x20complete:\x20','remoteId','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','sqlRoot','exec','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','mode','join','Push\x20local\x20SQL\x20files\x20to\x20remote','sqls','startsWith','hash','sqlCode','filter','appCode','Local\x20SQL\x20not\x20found:\x20','sqlRootDir','1629761apJgRa','288776svNuln','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','utf8','dbDirectory','\x22\x20for\x20sqlCode\x20','3422744OArcTx','push','toISOString','replace','sqlcode','str','\x20SQL\x20file(s)','29026917fDOOVN','isFinite','relativePath','length','8pUuwfa','force','boolean'];a139_0x3c25=function(){return _0x47772e;};return a139_0x3c25();}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(_0x452f3b,_0x49c649,_0x6fc9d6){const _0x32bbe7=a139_0x21b2,_0x39fdc4=await scanLocalSqlQueries(_0x452f3b),_0x37ce92=new Map();for(const _0x31f434 of _0x39fdc4){if(_0x6fc9d6&&_0x31f434[_0x32bbe7(0x195)]!==_0x6fc9d6)continue;const _0x2ebd15=_0x37ce92[_0x32bbe7(0x1c3)](_0x31f434[_0x32bbe7(0x195)])??[];_0x2ebd15['push'](_0x31f434),_0x37ce92['set'](_0x31f434[_0x32bbe7(0x195)],_0x2ebd15);}if(_0x6fc9d6&&!_0x37ce92['has'](_0x6fc9d6))throw CliErrors['validation'](_0x32bbe7(0x198)+_0x6fc9d6);const _0x2eb8d3=[];for(const [_0x30cdd7,_0x4f50f7]of _0x37ce92['entries']()){if(_0x4f50f7[_0x32bbe7(0x1aa)]===0x1){_0x2eb8d3[_0x32bbe7(0x1a1)](_0x4f50f7[0x0]);continue;}const _0x17346b=_0x49c649[_0x32bbe7(0x192)][_0x30cdd7],_0x4e1bef=_0x17346b?.['path'],_0x259a84=_0x4e1bef?_0x4f50f7['filter'](_0x2ec9b1=>_0x2ec9b1[_0x32bbe7(0x1a9)]!==_0x4e1bef):_0x4f50f7;if(_0x17346b&&_0x259a84[_0x32bbe7(0x1aa)]===0x1){_0x2eb8d3['push'](_0x259a84[0x0]);continue;}throw CliErrors[_0x32bbe7(0x1b5)](_0x32bbe7(0x1b2)+_0x30cdd7+_0x32bbe7(0x1cb));}return _0x2eb8d3;}function a139_0x21b2(_0x3738bb,_0x7cf320){_0x3738bb=_0x3738bb-0x18e;const _0x3c2598=a139_0x3c25();let _0x21b262=_0x3c2598[_0x3738bb];return _0x21b262;}export const sqlPush={'service':a139_0x3b8f95(0x1af),'command':a139_0x3b8f95(0x1a1),'description':a139_0x3b8f95(0x191),'risk':'high-risk-write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':a139_0x3b8f95(0x1ad),'description':'Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'}],async 'dryRun'(_0x247d70){const _0x38b8ab=a139_0x3b8f95,_0x1ccb92=loadSqlProjectConfig(_0x247d70[_0x38b8ab(0x197)]),_0x4e1a7b=await readSqlLockFile(_0x1ccb92[_0x38b8ab(0x1c1)]),{appLock:_0x443418}=ensureSqlLockScope(_0x4e1a7b??createEmptySqlLock(),_0x247d70[_0x38b8ab(0x197)],_0x1ccb92[_0x38b8ab(0x1cc)],'push'),_0x498da0=await getTargetSqlQueries(_0x1ccb92,_0x443418,_0x247d70['str']('sqlcode')||undefined),_0x239fea=[];for(const _0x365f31 of _0x498da0){const _0x4427b6=await computeSqlFileHash(_0x365f31[_0x38b8ab(0x1ae)]),_0x2bd368=_0x443418[_0x38b8ab(0x192)][_0x365f31[_0x38b8ab(0x195)]],_0x3ae459=!!_0x2bd368&&(_0x2bd368[_0x38b8ab(0x1b6)]!==_0x365f31[_0x38b8ab(0x1a9)]||!!_0x365f31[_0x38b8ab(0x1ba)]&&_0x2bd368['sqlName']!==_0x365f31[_0x38b8ab(0x1ba)]);if(!_0x247d70['bool'](_0x38b8ab(0x1ac))&&_0x2bd368&&_0x2bd368[_0x38b8ab(0x194)]===_0x4427b6&&!_0x3ae459)continue;_0x239fea['push'](_0x365f31['sqlCode']);}return{'method':'POST','url':_0x38b8ab(0x1b7),'body':{'sqlCodes':_0x239fea,'appCode':_0x247d70[_0x38b8ab(0x197)]},'description':_0x38b8ab(0x1b3)+_0x239fea[_0x38b8ab(0x1aa)]+_0x38b8ab(0x1a6)};},async 'execute'(_0x1bd078){const _0x3eab2c=a139_0x3b8f95,_0x1a4412=loadSqlProjectConfig(_0x1bd078[_0x3eab2c(0x197)]),_0x4fc66b=await readSqlLockFile(_0x1a4412[_0x3eab2c(0x1c1)]),{lockData:_0x4889d6,appLock:_0x2a109a}=ensureSqlLockScope(_0x4fc66b??createEmptySqlLock(),_0x1bd078['appCode'],_0x1a4412[_0x3eab2c(0x1cc)],'push'),_0x1b4dd4=await getTargetSqlQueries(_0x1a4412,_0x2a109a,_0x1bd078[_0x3eab2c(0x1a5)](_0x3eab2c(0x1a4))||undefined);if(_0x1b4dd4[_0x3eab2c(0x1aa)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x18b76a=[],_0x47f8f4=[],_0x1f66f1=[];for(const _0x391f25 of _0x1b4dd4){const _0x17df90=_0x2a109a[_0x3eab2c(0x192)][_0x391f25['sqlCode']];if(!_0x17df90){_0x1f66f1[_0x3eab2c(0x1a1)]({'sqlCode':_0x391f25[_0x3eab2c(0x195)],'error':_0x3eab2c(0x19c)});continue;}try{const _0x29400d=await computeSqlFileHash(_0x391f25[_0x3eab2c(0x1ae)]),_0x1a11ac=_0x17df90[_0x3eab2c(0x1b6)]!==_0x391f25[_0x3eab2c(0x1a9)]||!!_0x391f25[_0x3eab2c(0x1ba)]&&_0x17df90['sqlName']!==_0x391f25[_0x3eab2c(0x1ba)];if(!_0x1bd078['bool'](_0x3eab2c(0x1ac))&&_0x17df90[_0x3eab2c(0x194)]===_0x29400d&&!_0x1a11ac){_0x47f8f4[_0x3eab2c(0x1a1)]({'sqlCode':_0x391f25['sqlCode'],'reason':'unchanged'});continue;}if(_0x17df90[_0x3eab2c(0x1b8)]==null){_0x1f66f1[_0x3eab2c(0x1a1)]({'sqlCode':_0x391f25[_0x3eab2c(0x195)],'error':_0x3eab2c(0x18e)});continue;}const _0xc6b7de=await readFile(_0x391f25[_0x3eab2c(0x1ae)],_0x3eab2c(0x19d)),_0x34fc61=stripLocalSqlMetadata(_0xc6b7de,_0x391f25[_0x3eab2c(0x18f)]),_0x35abf3=_0x391f25['sqlName']||_0x17df90['sqlName'],_0x4becbc=await resolveTargetDbBinding(_0x1bd078[_0x3eab2c(0x197)],_0x391f25,_0x17df90),_0x3a3d87=await updateSqlQuery({'id':_0x17df90[_0x3eab2c(0x1ca)],'appCode':_0x1bd078[_0x3eab2c(0x197)],'sqlCode':_0x391f25[_0x3eab2c(0x195)],'sqlName':_0x35abf3,'dbId':_0x4becbc[_0x3eab2c(0x1c4)],'version':_0x17df90['version'],'sqlContent':_0x34fc61,'sqlConfig':_0x17df90[_0x3eab2c(0x1b1)]??undefined}),_0x46f338=_0x3a3d87['dbId']?await getDbName(_0x1bd078[_0x3eab2c(0x197)],Number(_0x3a3d87[_0x3eab2c(0x1c4)]))[_0x3eab2c(0x1b9)](()=>_0x4becbc['dbName']):_0x4becbc[_0x3eab2c(0x1bf)];_0x2a109a[_0x3eab2c(0x192)][_0x391f25[_0x3eab2c(0x195)]]={...buildSqlLockEntry(_0x3a3d87,_0x34fc61,_0x29400d,{'dbName':_0x46f338}),'path':_0x391f25[_0x3eab2c(0x1a9)],'mode':_0x17df90[_0x3eab2c(0x18f)]},await archivePreviousSqlFileIfNeeded(_0x1a4412,_0x17df90[_0x3eab2c(0x1b6)],_0x391f25[_0x3eab2c(0x1a9)]),_0x18b76a[_0x3eab2c(0x1a1)]({'sqlCode':_0x391f25[_0x3eab2c(0x195)],'remoteId':_0x17df90['remoteId']});}catch(_0x58cb29){_0x1f66f1[_0x3eab2c(0x1a1)]({'sqlCode':_0x391f25[_0x3eab2c(0x195)],'error':_0x58cb29 instanceof Error?_0x58cb29[_0x3eab2c(0x1bb)]:String(_0x58cb29)});}}return _0x2a109a['lastSync']=new Date()[_0x3eab2c(0x1a2)](),await writeSqlLockFile(_0x1a4412[_0x3eab2c(0x1c1)],_0x4889d6),{'ok':_0x1f66f1[_0x3eab2c(0x1aa)]===0x0,'data':{'pushed':_0x18b76a,'skipped':_0x47f8f4,'failed':_0x1f66f1},'message':_0x3eab2c(0x1c9)+_0x18b76a[_0x3eab2c(0x1aa)]+'\x20pushed,\x20'+_0x47f8f4['length']+_0x3eab2c(0x1bc)+_0x1f66f1[_0x3eab2c(0x1aa)]+_0x3eab2c(0x1c6)};}};async function archivePreviousSqlFileIfNeeded(_0x323d9f,_0x5894c6,_0x3d63de){const _0x26074c=a139_0x3b8f95;if(!_0x5894c6||_0x5894c6===_0x3d63de)return;const _0x4063c2=join(_0x323d9f[_0x26074c(0x199)],_0x5894c6);if(!await fileExists(_0x4063c2))return;const _0x53f423=await moveToTrash(_0x323d9f[_0x26074c(0x1bd)],_0x323d9f['trashDir'],_0x4063c2);await cleanupEmptyDirectories(dirname(_0x4063c2),_0x323d9f[_0x26074c(0x199)]),void _0x53f423;}async function moveToTrash(_0x252e3b,_0x394802,_0x5734c2){const _0x1aeb21=a139_0x3b8f95,_0x396683=new Date()[_0x1aeb21(0x1a2)]()[_0x1aeb21(0x1a3)](/[:.]/g,'-'),_0x160faa=relative(_0x252e3b,_0x5734c2),_0x5a974b=join(_0x394802,_0x396683,_0x160faa);return await mkdir(dirname(_0x5a974b),{'recursive':!![]}),await rename(_0x5734c2,_0x5a974b),_0x5a974b;}async function cleanupEmptyDirectories(_0x5a7cbb,_0x3a7fcf){const _0x5c77fc=a139_0x3b8f95;let _0x34f461=resolve(_0x5a7cbb);const _0x332299=resolve(_0x3a7fcf);while(_0x34f461[_0x5c77fc(0x193)](''+_0x332299+sep)||_0x34f461===_0x332299){if(_0x34f461===_0x332299)return;try{const _0x45d66a=await readdir(_0x34f461);if(_0x45d66a[_0x5c77fc(0x1aa)]>0x0)return;await rmdir(_0x34f461);}catch{return;}_0x34f461=dirname(_0x34f461);}}async function resolveTargetDbBinding(_0x267ff8,_0x10353b,_0x5b2ff6){const _0x467d1a=a139_0x3b8f95,_0x305706=_0x10353b[_0x467d1a(0x19e)];if(!_0x305706)return{'dbId':_0x5b2ff6[_0x467d1a(0x1c4)],'dbName':_0x5b2ff6['dbName']};const _0x1ca43f=buildDbDirectoryName(_0x5b2ff6[_0x467d1a(0x1bf)],_0x5b2ff6[_0x467d1a(0x1c4)]);if(_0x305706===_0x1ca43f)return{'dbId':_0x5b2ff6['dbId'],'dbName':_0x5b2ff6[_0x467d1a(0x1bf)]};const _0x4a7dac=parseExplicitDbDirectory(_0x305706);if(_0x4a7dac!=null)return{'dbId':_0x4a7dac,'dbName':await getDbName(_0x267ff8,_0x4a7dac)[_0x467d1a(0x1b9)](()=>undefined)};const _0x1bd814=await listDatabases(_0x267ff8),_0x3b7f51=_0x1bd814[_0x467d1a(0x196)](_0x2d54ae=>buildDbDirectoryName(_0x2d54ae[_0x467d1a(0x1bf)],_0x2d54ae[_0x467d1a(0x1c4)])===_0x305706);if(_0x3b7f51[_0x467d1a(0x1aa)]===0x1)return{'dbId':_0x3b7f51[0x0][_0x467d1a(0x1c4)],'dbName':_0x3b7f51[0x0][_0x467d1a(0x1bf)]};if(_0x3b7f51[_0x467d1a(0x1aa)]===0x0)throw CliErrors[_0x467d1a(0x1b5)](_0x467d1a(0x1c2)+_0x305706+_0x467d1a(0x19f)+_0x10353b[_0x467d1a(0x195)]+'.');const _0x1d5e1f=_0x3b7f51[_0x467d1a(0x1b4)](_0x4a67af=>_0x4a67af['dbName']+'\x20('+_0x4a67af[_0x467d1a(0x1c4)]+')')[_0x467d1a(0x190)](',\x20');throw CliErrors[_0x467d1a(0x1b5)](_0x467d1a(0x1c5)+_0x305706+_0x467d1a(0x1b0)+_0x10353b[_0x467d1a(0x195)]+':\x20'+_0x1d5e1f);}function parseExplicitDbDirectory(_0x1ad8b2){const _0x507fc7=a139_0x3b8f95,_0x1c6be0=/^db-(\d+)$/[_0x507fc7(0x1cd)](_0x1ad8b2);if(!_0x1c6be0)return null;const _0x94069=Number(_0x1c6be0[0x1]);return Number[_0x507fc7(0x1a8)](_0x94069)&&_0x94069>0x0?_0x94069:null;}
|
|
1
|
+
const a139_0xd8b238=a139_0x37f3;(function(_0x709eb5,_0x88f821){const _0x2955b2=a139_0x37f3,_0x6f28e8=_0x709eb5();while(!![]){try{const _0x565134=parseInt(_0x2955b2(0x141))/0x1+parseInt(_0x2955b2(0x110))/0x2*(-parseInt(_0x2955b2(0x100))/0x3)+parseInt(_0x2955b2(0x13b))/0x4*(-parseInt(_0x2955b2(0x142))/0x5)+parseInt(_0x2955b2(0x134))/0x6*(parseInt(_0x2955b2(0x126))/0x7)+-parseInt(_0x2955b2(0x13a))/0x8*(parseInt(_0x2955b2(0x116))/0x9)+parseInt(_0x2955b2(0x119))/0xa+parseInt(_0x2955b2(0x10e))/0xb;if(_0x565134===_0x88f821)break;else _0x6f28e8['push'](_0x6f28e8['shift']());}catch(_0x1b59a8){_0x6f28e8['push'](_0x6f28e8['shift']());}}}(a139_0x5df0,0x96696));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';function a139_0x5df0(){const _0x45877a=['path','replace','Push\x20local\x20SQL\x20files\x20to\x20remote','unchanged','map','1330ihAmFD','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','entries','toISOString','validation','message','dbId','sqlCode','length','/smartapi/custom/updateUserCustomSql','trashDir','mode','\x20pushed,\x20','sqlRootDir','8310BJgcpy','force','remoteId','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','startsWith','Local\x20directory\x20\x22','373640PYFdkk','4660804jhMUkl','appCode','filter','join','hash','str','493416hwOoen','5JePJuu','No\x20local\x20SQL\x20files\x20found.','\x22\x20for\x20sqlCode\x20','No\x20database\x20matches\x20local\x20directory\x20\x22','153kYGdJK','bool','POST','projectRoot','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','\x20failed','exec','sqls','sqlRoot','isFinite','sqlcode','sql','sqlName','dbDirectory','10684267xKDunF','\x20SQL\x20file(s)','9316HiKwuA','version','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','push','sqlConfig','set','9Igqgkl','lastSync','catch','3376870DaBkjU','relativePath','lockFilePath','get','Push\x20complete:\x20','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','dbName','utf8'];a139_0x5df0=function(){return _0x45877a;};return a139_0x5df0();}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(_0x14031e,_0xb4e7a,_0x42b383){const _0x46ab44=a139_0x37f3,_0x4d641e=await scanLocalSqlQueries(_0x14031e),_0x1e0999=new Map();for(const _0x358fd3 of _0x4d641e){if(_0x42b383&&_0x358fd3[_0x46ab44(0x12d)]!==_0x42b383)continue;const _0x2641f7=_0x1e0999[_0x46ab44(0x11c)](_0x358fd3[_0x46ab44(0x12d)])??[];_0x2641f7[_0x46ab44(0x113)](_0x358fd3),_0x1e0999[_0x46ab44(0x115)](_0x358fd3[_0x46ab44(0x12d)],_0x2641f7);}if(_0x42b383&&!_0x1e0999['has'](_0x42b383))throw CliErrors['validation']('Local\x20SQL\x20not\x20found:\x20'+_0x42b383);const _0x4990e9=[];for(const [_0x50cf34,_0x277574]of _0x1e0999[_0x46ab44(0x128)]()){if(_0x277574[_0x46ab44(0x12e)]===0x1){_0x4990e9[_0x46ab44(0x113)](_0x277574[0x0]);continue;}const _0x10532a=_0xb4e7a['sqls'][_0x50cf34],_0x2b3342=_0x10532a?.[_0x46ab44(0x121)],_0x1fb7cf=_0x2b3342?_0x277574['filter'](_0x235d52=>_0x235d52[_0x46ab44(0x11a)]!==_0x2b3342):_0x277574;if(_0x10532a&&_0x1fb7cf[_0x46ab44(0x12e)]===0x1){_0x4990e9['push'](_0x1fb7cf[0x0]);continue;}throw CliErrors[_0x46ab44(0x12a)](_0x46ab44(0x104)+_0x50cf34+_0x46ab44(0x11e));}return _0x4990e9;}export const sqlPush={'service':a139_0xd8b238(0x10b),'command':a139_0xd8b238(0x113),'description':a139_0xd8b238(0x123),'risk':'high-risk-write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'force','type':'boolean','description':a139_0xd8b238(0x137)}],async 'dryRun'(_0x20c2a3){const _0xc9c6a7=a139_0xd8b238,_0x35e344=loadSqlProjectConfig(_0x20c2a3[_0xc9c6a7(0x13c)]),_0x1b7e95=await readSqlLockFile(_0x35e344[_0xc9c6a7(0x11b)]),{appLock:_0x28dcdf}=ensureSqlLockScope(_0x1b7e95??createEmptySqlLock(),_0x20c2a3[_0xc9c6a7(0x13c)],_0x35e344[_0xc9c6a7(0x108)],_0xc9c6a7(0x113)),_0x2a909e=await getTargetSqlQueries(_0x35e344,_0x28dcdf,_0x20c2a3[_0xc9c6a7(0x140)](_0xc9c6a7(0x10a))||undefined),_0x138370=[];for(const _0x26ffd6 of _0x2a909e){const _0x375662=await computeSqlFileHash(_0x26ffd6['filePath']),_0x1456dd=_0x28dcdf['sqls'][_0x26ffd6['sqlCode']],_0x22e58d=!!_0x1456dd&&(_0x1456dd['path']!==_0x26ffd6['relativePath']||!!_0x26ffd6['sqlName']&&_0x1456dd['sqlName']!==_0x26ffd6[_0xc9c6a7(0x10c)]);if(!_0x20c2a3[_0xc9c6a7(0x101)](_0xc9c6a7(0x135))&&_0x1456dd&&_0x1456dd[_0xc9c6a7(0x13f)]===_0x375662&&!_0x22e58d)continue;_0x138370[_0xc9c6a7(0x113)](_0x26ffd6['sqlCode']);}return{'method':_0xc9c6a7(0x102),'url':_0xc9c6a7(0x12f),'body':{'sqlCodes':_0x138370,'appCode':_0x20c2a3[_0xc9c6a7(0x13c)]},'description':'Would\x20push\x20'+_0x138370['length']+_0xc9c6a7(0x10f)};},async 'execute'(_0x10a2d4){const _0x386a26=a139_0xd8b238,_0x3aecef=loadSqlProjectConfig(_0x10a2d4[_0x386a26(0x13c)]),_0x56d9f7=await readSqlLockFile(_0x3aecef[_0x386a26(0x11b)]),{lockData:_0x1759fe,appLock:_0x1d28d3}=ensureSqlLockScope(_0x56d9f7??createEmptySqlLock(),_0x10a2d4[_0x386a26(0x13c)],_0x3aecef['sqlRoot'],_0x386a26(0x113)),_0x53ae8a=await getTargetSqlQueries(_0x3aecef,_0x1d28d3,_0x10a2d4[_0x386a26(0x140)](_0x386a26(0x10a))||undefined);if(_0x53ae8a['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x386a26(0x143)};const _0x119789=[],_0x1b830a=[],_0x4448a1=[];for(const _0x4464a3 of _0x53ae8a){const _0x5809fd=_0x1d28d3['sqls'][_0x4464a3[_0x386a26(0x12d)]];if(!_0x5809fd){_0x4448a1['push']({'sqlCode':_0x4464a3[_0x386a26(0x12d)],'error':_0x386a26(0x112)});continue;}try{const _0x17c527=await computeSqlFileHash(_0x4464a3['filePath']),_0x2f87dc=_0x5809fd[_0x386a26(0x121)]!==_0x4464a3[_0x386a26(0x11a)]||!!_0x4464a3['sqlName']&&_0x5809fd[_0x386a26(0x10c)]!==_0x4464a3[_0x386a26(0x10c)];if(!_0x10a2d4[_0x386a26(0x101)](_0x386a26(0x135))&&_0x5809fd['hash']===_0x17c527&&!_0x2f87dc){_0x1b830a[_0x386a26(0x113)]({'sqlCode':_0x4464a3[_0x386a26(0x12d)],'reason':_0x386a26(0x124)});continue;}if(_0x5809fd[_0x386a26(0x111)]==null){_0x4448a1['push']({'sqlCode':_0x4464a3[_0x386a26(0x12d)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x5ee1d7=await readFile(_0x4464a3['filePath'],_0x386a26(0x120)),_0x19cd52=stripLocalSqlMetadata(_0x5ee1d7,_0x4464a3[_0x386a26(0x131)]),_0xa2ba8d=_0x4464a3[_0x386a26(0x10c)]||_0x5809fd[_0x386a26(0x10c)],_0x2759b8=await resolveTargetDbBinding(_0x10a2d4['appCode'],_0x4464a3,_0x5809fd),_0xe4be56=await updateSqlQuery({'id':_0x5809fd[_0x386a26(0x136)],'appCode':_0x10a2d4[_0x386a26(0x13c)],'sqlCode':_0x4464a3[_0x386a26(0x12d)],'sqlName':_0xa2ba8d,'dbId':_0x2759b8[_0x386a26(0x12c)],'version':_0x5809fd['version'],'sqlContent':_0x19cd52,'sqlConfig':_0x5809fd[_0x386a26(0x114)]??undefined}),_0x54d8a8=_0xe4be56['dbId']?await getDbName(_0x10a2d4[_0x386a26(0x13c)],Number(_0xe4be56['dbId']))[_0x386a26(0x118)](()=>_0x2759b8[_0x386a26(0x11f)]):_0x2759b8['dbName'];_0x1d28d3[_0x386a26(0x107)][_0x4464a3[_0x386a26(0x12d)]]={...buildSqlLockEntry(_0xe4be56,_0x19cd52,_0x17c527,{'dbName':_0x54d8a8}),'path':_0x4464a3['relativePath'],'mode':_0x5809fd[_0x386a26(0x131)]},await archivePreviousSqlFileIfNeeded(_0x3aecef,_0x5809fd['path'],_0x4464a3[_0x386a26(0x11a)]),_0x119789[_0x386a26(0x113)]({'sqlCode':_0x4464a3[_0x386a26(0x12d)],'remoteId':_0x5809fd['remoteId']});}catch(_0x363476){_0x4448a1[_0x386a26(0x113)]({'sqlCode':_0x4464a3[_0x386a26(0x12d)],'error':_0x363476 instanceof Error?_0x363476[_0x386a26(0x12b)]:String(_0x363476)});}}return _0x1d28d3[_0x386a26(0x117)]=new Date()[_0x386a26(0x129)](),await writeSqlLockFile(_0x3aecef[_0x386a26(0x11b)],_0x1759fe),{'ok':_0x4448a1[_0x386a26(0x12e)]===0x0,'data':{'pushed':_0x119789,'skipped':_0x1b830a,'failed':_0x4448a1},'message':_0x386a26(0x11d)+_0x119789['length']+_0x386a26(0x132)+_0x1b830a[_0x386a26(0x12e)]+'\x20skipped,\x20'+_0x4448a1['length']+_0x386a26(0x105)};}};function a139_0x37f3(_0x46c74c,_0x22e501){_0x46c74c=_0x46c74c-0x100;const _0x5df063=a139_0x5df0();let _0x37f364=_0x5df063[_0x46c74c];return _0x37f364;}async function archivePreviousSqlFileIfNeeded(_0x3fa40a,_0x14c095,_0x345411){const _0x58dfe1=a139_0xd8b238;if(!_0x14c095||_0x14c095===_0x345411)return;const _0x37c94c=join(_0x3fa40a[_0x58dfe1(0x133)],_0x14c095);if(!await fileExists(_0x37c94c))return;const _0x208e6b=await moveToTrash(_0x3fa40a[_0x58dfe1(0x103)],_0x3fa40a[_0x58dfe1(0x130)],_0x37c94c);await cleanupEmptyDirectories(dirname(_0x37c94c),_0x3fa40a[_0x58dfe1(0x133)]),void _0x208e6b;}async function moveToTrash(_0x4b80a4,_0x40ee4c,_0x41d31e){const _0x4d995c=a139_0xd8b238,_0x32ce13=new Date()[_0x4d995c(0x129)]()[_0x4d995c(0x122)](/[:.]/g,'-'),_0x487378=relative(_0x4b80a4,_0x41d31e),_0xe7e9e7=join(_0x40ee4c,_0x32ce13,_0x487378);return await mkdir(dirname(_0xe7e9e7),{'recursive':!![]}),await rename(_0x41d31e,_0xe7e9e7),_0xe7e9e7;}async function cleanupEmptyDirectories(_0x22e859,_0x18c90c){const _0x2d01a3=a139_0xd8b238;let _0x388333=resolve(_0x22e859);const _0x341bf3=resolve(_0x18c90c);while(_0x388333[_0x2d01a3(0x138)](''+_0x341bf3+sep)||_0x388333===_0x341bf3){if(_0x388333===_0x341bf3)return;try{const _0x537bd1=await readdir(_0x388333);if(_0x537bd1[_0x2d01a3(0x12e)]>0x0)return;await rmdir(_0x388333);}catch{return;}_0x388333=dirname(_0x388333);}}async function resolveTargetDbBinding(_0x39473b,_0x1878fe,_0x260e7e){const _0x1eefe0=a139_0xd8b238,_0x1103b9=_0x1878fe[_0x1eefe0(0x10d)];if(!_0x1103b9)return{'dbId':_0x260e7e[_0x1eefe0(0x12c)],'dbName':_0x260e7e[_0x1eefe0(0x11f)]};const _0x1b76b7=buildDbDirectoryName(_0x260e7e[_0x1eefe0(0x11f)],_0x260e7e[_0x1eefe0(0x12c)]);if(_0x1103b9===_0x1b76b7)return{'dbId':_0x260e7e[_0x1eefe0(0x12c)],'dbName':_0x260e7e[_0x1eefe0(0x11f)]};const _0x6df82c=parseExplicitDbDirectory(_0x1103b9);if(_0x6df82c!=null)return{'dbId':_0x6df82c,'dbName':await getDbName(_0x39473b,_0x6df82c)[_0x1eefe0(0x118)](()=>undefined)};const _0x2a2b4c=await listDatabases(_0x39473b),_0x46ad2c=_0x2a2b4c[_0x1eefe0(0x13d)](_0x1034e2=>buildDbDirectoryName(_0x1034e2['dbName'],_0x1034e2['dbId'])===_0x1103b9);if(_0x46ad2c[_0x1eefe0(0x12e)]===0x1)return{'dbId':_0x46ad2c[0x0]['dbId'],'dbName':_0x46ad2c[0x0][_0x1eefe0(0x11f)]};if(_0x46ad2c['length']===0x0)throw CliErrors[_0x1eefe0(0x12a)](_0x1eefe0(0x145)+_0x1103b9+_0x1eefe0(0x144)+_0x1878fe[_0x1eefe0(0x12d)]+'.');const _0x106dab=_0x46ad2c[_0x1eefe0(0x125)](_0x35be2d=>_0x35be2d[_0x1eefe0(0x11f)]+'\x20('+_0x35be2d[_0x1eefe0(0x12c)]+')')[_0x1eefe0(0x13e)](',\x20');throw CliErrors[_0x1eefe0(0x12a)](_0x1eefe0(0x139)+_0x1103b9+_0x1eefe0(0x127)+_0x1878fe[_0x1eefe0(0x12d)]+':\x20'+_0x106dab);}function parseExplicitDbDirectory(_0x11872d){const _0xe01889=a139_0xd8b238,_0x7147f1=/^db-(\d+)$/[_0xe01889(0x106)](_0x11872d);if(!_0x7147f1)return null;const _0x323320=Number(_0x7147f1[0x1]);return Number[_0xe01889(0x109)](_0x323320)&&_0x323320>0x0?_0x323320:null;}
|
package/lib/commands/sql/save.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a140_0xb38a7c=a140_0x3da1;(function(_0x4a5741,_0x3b811a){const _0x1699f7=a140_0x3da1,_0x30290f=_0x4a5741();while(!![]){try{const _0x55d6b2=parseInt(_0x1699f7(0xe4))/0x1+parseInt(_0x1699f7(0xe0))/0x2+parseInt(_0x1699f7(0xf0))/0x3*(parseInt(_0x1699f7(0xef))/0x4)+-parseInt(_0x1699f7(0xf4))/0x5+parseInt(_0x1699f7(0xec))/0x6*(parseInt(_0x1699f7(0xe7))/0x7)+-parseInt(_0x1699f7(0xe1))/0x8*(parseInt(_0x1699f7(0xe9))/0x9)+-parseInt(_0x1699f7(0xdf))/0xa;if(_0x55d6b2===_0x3b811a)break;else _0x30290f['push'](_0x30290f['shift']());}catch(_0x29d01f){_0x30290f['push'](_0x30290f['shift']());}}}(a140_0x5d07,0x2d551));function a140_0x5d07(){const _0x4a123a=['87xgHLgM','`rabetbase\x20sql\x20save`\x20has\x20been\x20deprecated.','Create\x20new\x20SQL\x20with\x20`rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml`.','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`.','1357270Brakph','1563750nmigEa','490856srrPnQ','303776yJZETj','file','sqlname','223984eOBdFs','validation','Path\x20to\x20the\x20SQL\x20file','10493bAhXOo','description','63bQIsUE','string','Query\x20description','1014uwjkYL','SQL\x20query\x20display\x20name','Deprecated:\x20use\x20sql\x20create\x20to\x20create\x20and\x20sql\x20push\x20to\x20update','21596rekPBo'];a140_0x5d07=function(){return _0x4a123a;};return a140_0x5d07();}import{CliErrors}from'../../errors.js';function a140_0x3da1(_0x36f1bf,_0x1a16e8){_0x36f1bf=_0x36f1bf-0xdf;const _0x5d0710=a140_0x5d07();let _0x3da1ca=_0x5d0710[_0x36f1bf];return _0x3da1ca;}import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';const SQL_SAVE_DEPRECATED_HINT=[a140_0xb38a7c(0xf1),a140_0xb38a7c(0xf2),a140_0xb38a7c(0xf3)]['join']('\x0a');export const sqlSave={'service':'sql','command':'save','description':a140_0xb38a7c(0xee),'risk':'write','requiresAuth':![],'requiresAppCode':![],'flags':[{'name':a140_0xb38a7c(0xe2),'type':a140_0xb38a7c(0xea),'required':!![],'description':a140_0xb38a7c(0xe6)},SQLCODE_FLAG_OPTIONAL,{'name':a140_0xb38a7c(0xe3),'type':a140_0xb38a7c(0xea),'description':a140_0xb38a7c(0xed)},{'name':'db','type':a140_0xb38a7c(0xea),'description':'Target\x20database\x20—\x20accepts\x20a\x20numeric\x20ID\x20or\x20database\x20name\x20(e.g.\x20ecommerce_db)'},{'name':a140_0xb38a7c(0xe8),'type':a140_0xb38a7c(0xea),'description':a140_0xb38a7c(0xeb)}],async 'validate'(){const _0x419f69=a140_0xb38a7c;throw CliErrors[_0x419f69(0xe5)](SQL_SAVE_DEPRECATED_HINT);},async 'execute'(){const _0x598365=a140_0xb38a7c;throw CliErrors[_0x598365(0xe5)](SQL_SAVE_DEPRECATED_HINT);}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a141_0x369f6a=a141_0x4faf;(function(_0x11672f,_0x328a49){const _0x25ccbe=a141_0x4faf,_0x30dd96=_0x11672f();while(!![]){try{const _0xe8bc0c=parseInt(_0x25ccbe(0x163))/0x1+-parseInt(_0x25ccbe(0x142))/0x2+parseInt(_0x25ccbe(0x169))/0x3*(parseInt(_0x25ccbe(0x14b))/0x4)+parseInt(_0x25ccbe(0x14a))/0x5+-parseInt(_0x25ccbe(0x166))/0x6+-parseInt(_0x25ccbe(0x161))/0x7*(-parseInt(_0x25ccbe(0x13e))/0x8)+parseInt(_0x25ccbe(0x150))/0x9;if(_0xe8bc0c===_0x328a49)break;else _0x30dd96['push'](_0x30dd96['shift']());}catch(_0x29253f){_0x30dd96['push'](_0x30dd96['shift']());}}}(a141_0x5c2e,0xcc292));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=a141_0x369f6a(0x146);function a141_0x4faf(_0x559b34,_0x3d4cca){_0x559b34=_0x559b34-0x13d;const _0x5c2eb7=a141_0x5c2e();let _0x4faf4a=_0x5c2eb7[_0x559b34];return _0x4faf4a;}export function buildSqlLockEntry(_0x5537d5,_0x297e5d,_0x5732cd,_0x20f7b6){const _0x5346bb=a141_0x369f6a,_0x2cc664=detectSqlMode(_0x297e5d);return{'path':buildSqlRelativePath(_0x5537d5[_0x5346bb(0x160)],_0x5537d5[_0x5346bb(0x159)],_0x20f7b6?.['dbName'],_0x2cc664,_0x5537d5[_0x5346bb(0x149)]),'hash':_0x5732cd,'remoteId':_0x5537d5['id'],'version':_0x5537d5[_0x5346bb(0x152)],'dbId':Number(_0x5537d5[_0x5346bb(0x149)]),'dbName':_0x20f7b6?.[_0x5346bb(0x162)],'sqlName':_0x5537d5[_0x5346bb(0x159)],'sqlConfig':_0x5537d5[_0x5346bb(0x155)]??undefined,'mode':_0x2cc664};}export function cloneSqlLockData(_0x95016e){const _0xb1aa68=a141_0x369f6a;return{'apps':Object[_0xb1aa68(0x158)](Object[_0xb1aa68(0x14e)](_0x95016e[_0xb1aa68(0x15e)])[_0xb1aa68(0x154)](([_0x2be884,_0x3c012c])=>[_0x2be884,{'sqlRoot':_0x3c012c[_0xb1aa68(0x148)],'lastSync':_0x3c012c[_0xb1aa68(0x15f)],'sqls':{..._0x3c012c[_0xb1aa68(0x15c)]}}]))};}export function ensureRemoteSqlContent(_0x5ada81){const _0x4a39e3=a141_0x369f6a;return _0x5ada81[_0x4a39e3(0x165)]??'';}export function buildLocalSqlFileContent(_0x8b90b,_0x831eea,_0x267e0f){const _0xf24982=a141_0x369f6a,_0x3500b8=_0x267e0f?.[_0xf24982(0x14d)]??detectSqlMode(_0x831eea),_0x5ba5f0=stripLocalSqlMetadata(_0x831eea,_0x3500b8)['trim'](),_0x51b000=[...buildMetadataHeaderLines({'sqlCode':_0x8b90b[_0xf24982(0x160)],'sqlName':_0x8b90b['sqlName'],'dbId':_0x8b90b[_0xf24982(0x149)],'dbName':_0x267e0f?.[_0xf24982(0x162)],'mode':_0x3500b8,'syncedAt':_0x267e0f?.[_0xf24982(0x167)],'description':_0x267e0f?.[_0xf24982(0x13d)]},_0x3500b8),'',_0x5ba5f0],_0x4bed7a=_0x51b000[_0xf24982(0x157)]('\x0a');return _0x4bed7a[_0xf24982(0x16a)]('\x0a')?_0x4bed7a:_0x4bed7a+'\x0a';}export function stripLocalSqlMetadata(_0x39efbf,_0x13cd19){const _0x1dc8ec=a141_0x369f6a,_0x100a95=_0x39efbf[_0x1dc8ec(0x145)](/\r\n/g,'\x0a')[_0x1dc8ec(0x144)]('\x0a'),_0x3378b9=[];let _0x314170=0x0;if(_0x13cd19===_0x1dc8ec(0x15b))while(_0x314170<_0x100a95['length']){const _0xbbeafa=_0x100a95[_0x314170]??'';if(/^\s*<!--\s*@lovrabet\./[_0x1dc8ec(0x15a)](_0xbbeafa)){_0x314170++;continue;}if(_0xbbeafa[_0x1dc8ec(0x14c)]()===''&&_0x314170>0x0){_0x314170++;continue;}break;}else while(_0x314170<_0x100a95['length']){const _0x5bee35=_0x100a95[_0x314170]??'';if(/^\s*--\s*@lovrabet\./['test'](_0x5bee35)){_0x314170++;continue;}if(_0x5bee35[_0x1dc8ec(0x14c)]()===''&&_0x314170>0x0){_0x314170++;continue;}break;}for(;_0x314170<_0x100a95[_0x1dc8ec(0x140)];_0x314170++){_0x3378b9[_0x1dc8ec(0x151)](_0x100a95[_0x314170]);}return _0x3378b9['join']('\x0a')[_0x1dc8ec(0x143)]();}export function resolveSqlMode(_0xa6fb8b,_0x13915f){const _0x1040c7=a141_0x369f6a;if(_0x13915f?.[_0x1040c7(0x14d)])return _0x13915f[_0x1040c7(0x14d)];return detectSqlMode(_0xa6fb8b);}export function resolveSqlFileName(_0x32bfc9,_0x3c0a98,_0xa1b2c){const _0x48817d=a141_0x369f6a;if(_0xa1b2c?.[_0x48817d(0x164)])return _0xa1b2c[_0x48817d(0x164)];if(_0xa1b2c?.[_0x48817d(0x159)]||_0xa1b2c?.[_0x48817d(0x162)])return buildSqlRelativePath(_0x32bfc9,_0xa1b2c?.[_0x48817d(0x159)],_0xa1b2c?.['dbName'],resolveSqlMode(_0x3c0a98,_0xa1b2c),_0xa1b2c?.['dbId']);return buildDefaultSqlFileName(_0x32bfc9,resolveSqlMode(_0x3c0a98,_0xa1b2c));}export function resolveSqlLocalDir(_0x1f4687,_0x520c90){return join(_0x1f4687,SQL_LOCAL_REL_DIR,_0x520c90);}export async function confirmForceOverwrite(_0x1bbd00){const _0x3dd46d=a141_0x369f6a,_0x5464f4=createInterface({'input':process[_0x3dd46d(0x141)],'output':process[_0x3dd46d(0x153)]}),_0x394457=await new Promise(_0x399e11=>{_0x5464f4['question'](_0x1bbd00+'\x20[y/N]\x20',_0x399e11);});return _0x5464f4[_0x3dd46d(0x168)](),['y','yes'][_0x3dd46d(0x147)](_0x394457[_0x3dd46d(0x14c)]()[_0x3dd46d(0x14f)]());}export function findSqlLockScope(_0x41a88a,_0x20809e){return _0x41a88a['apps'][_0x20809e];}function buildMetadataHeaderLines(_0x28294d,_0x2acc11){const _0x5b45bc=a141_0x369f6a,_0x24e493=[[_0x5b45bc(0x160),_0x28294d[_0x5b45bc(0x160)]],['sqlName',_0x28294d[_0x5b45bc(0x159)]],['dbId',_0x28294d[_0x5b45bc(0x149)]],['dbName',_0x28294d[_0x5b45bc(0x162)]],[_0x5b45bc(0x14d),_0x28294d[_0x5b45bc(0x14d)]],[_0x5b45bc(0x167),_0x28294d[_0x5b45bc(0x167)]],['description',_0x28294d[_0x5b45bc(0x13d)]]];if(_0x2acc11===_0x5b45bc(0x15b))return _0x24e493[_0x5b45bc(0x15d)](([,_0x58406a])=>_0x58406a!==undefined&&_0x58406a!==null&&String(_0x58406a)[_0x5b45bc(0x14c)]()!=='')[_0x5b45bc(0x154)](([_0x26abe3,_0x4d2dd5])=>'<!--\x20@lovrabet.'+_0x26abe3+':\x20'+String(_0x4d2dd5)+_0x5b45bc(0x156));return _0x24e493[_0x5b45bc(0x15d)](([,_0x53fe42])=>_0x53fe42!==undefined&&_0x53fe42!==null&&String(_0x53fe42)[_0x5b45bc(0x14c)]()!=='')[_0x5b45bc(0x154)](([_0x594425,_0x1fa7cf])=>_0x5b45bc(0x13f)+_0x594425+':\x20'+String(_0x1fa7cf));}function a141_0x5c2e(){const _0x54d9c3=['trim','mode','entries','toLowerCase','14274765zeroQR','push','version','stderr','map','sqlConfig','\x20-->','join','fromEntries','sqlName','test','mybatisXml','sqls','filter','apps','lastSync','sqlCode','131579hucekY','dbName','159358kAVoww','path','sqlContent','6890832FDKoVG','syncedAt','close','84393iaeJAK','endsWith','description','216HnqKJd','--\x20@lovrabet.','length','stdin','3145064WbfULi','trimStart','split','replace','.rabetbase/sql','includes','sqlRoot','dbId','2442425LIyDfy','116GkBMFh'];a141_0x5c2e=function(){return _0x54d9c3;};return a141_0x5c2e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a142_0x2a0ffd=a142_0x499e;(function(_0x5c3164,_0x13b960){const _0x38a3ca=a142_0x499e,_0x1642b1=_0x5c3164();while(!![]){try{const _0x2e198a=-parseInt(_0x38a3ca(0x19a))/0x1*(-parseInt(_0x38a3ca(0x18a))/0x2)+parseInt(_0x38a3ca(0x19e))/0x3+-parseInt(_0x38a3ca(0x1a5))/0x4*(-parseInt(_0x38a3ca(0x1a4))/0x5)+-parseInt(_0x38a3ca(0x1a6))/0x6+parseInt(_0x38a3ca(0x193))/0x7+parseInt(_0x38a3ca(0x199))/0x8+-parseInt(_0x38a3ca(0x1a8))/0x9;if(_0x2e198a===_0x13b960)break;else _0x1642b1['push'](_0x1642b1['shift']());}catch(_0xadab6f){_0x1642b1['push'](_0x1642b1['shift']());}}}(a142_0x12bb,0x52bc0));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';function a142_0x499e(_0x115e71,_0x1f3556){_0x115e71=_0x115e71-0x186;const _0x12bb1b=a142_0x12bb();let _0x499e19=_0x12bb1b[_0x115e71];return _0x499e19;}import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;function a142_0x12bb(){const _0x2f0843=['59124WCrszO','1822698nMGSso','push','6805539UDKERB','sqls','All\x20SQL\x20queries\x20are\x20in\x20sync.','paging','hash','bool','filePath','path','164602aIiGxS','sqlName','appCode','lockKey','length','remote','map','tableData','has','1870204IbOOIg','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','relativePath','\x20unchanged','\x20modified,\x20','\x20added,\x20','1871416BPNWDM','1wprJpL','read','sqlRoot','totalCount','583896wJgSoR','boolean','sql','status','sqlCode','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','210ZTHBrg'];a142_0x12bb=function(){return _0x2f0843;};return a142_0x12bb();}async function fetchAllSqlCodes(_0x35f4cc){const _0x5dbeeb=a142_0x499e,_0x426b0d=[];let _0x5cf930=0x1;while(!![]){const _0x436f8a=await listSqlQueries(_0x35f4cc,{'currentPage':_0x5cf930,'pageSize':PAGE_SIZE}),_0x40031d=_0x436f8a[_0x5dbeeb(0x191)]??[];_0x426b0d[_0x5dbeeb(0x1a7)](..._0x40031d[_0x5dbeeb(0x190)](_0x4401f5=>_0x4401f5[_0x5dbeeb(0x1a2)]));if(_0x40031d[_0x5dbeeb(0x18e)]===0x0)break;const _0x1dc1f7=_0x436f8a[_0x5dbeeb(0x1ab)]?.[_0x5dbeeb(0x19d)];if(_0x1dc1f7!=null?_0x426b0d['length']>=_0x1dc1f7:_0x40031d[_0x5dbeeb(0x18e)]<PAGE_SIZE)break;_0x5cf930++;}return _0x426b0d;}export const sqlStatus={'service':a142_0x2a0ffd(0x1a0),'command':a142_0x2a0ffd(0x1a1),'description':a142_0x2a0ffd(0x194),'risk':a142_0x2a0ffd(0x19b),'flags':[{'name':a142_0x2a0ffd(0x18f),'type':a142_0x2a0ffd(0x19f),'description':a142_0x2a0ffd(0x1a3)}],async 'execute'(_0x47830b){const _0x3255ab=a142_0x2a0ffd,_0x8215ea=loadSqlProjectConfig(_0x47830b[_0x3255ab(0x18c)]),_0x589cf3=await readSqlLockFile(_0x8215ea['lockFilePath']),{appLock:_0x1619a5}=ensureSqlLockScope(_0x589cf3??createEmptySqlLock(),_0x8215ea['appCode'],_0x8215ea[_0x3255ab(0x19c)],'status'),_0x3be661=await scanLocalSqlQueries(_0x8215ea),_0x8d752f=[],_0x5c0477=[],_0x996316=[],_0x57540d=[],_0xaa374=new Set(_0x3be661[_0x3255ab(0x190)](_0xa6c713=>_0xa6c713['lockKey']));for(const _0x42ef2a of _0x3be661){const _0x30d6d8=await computeSqlFileHash(_0x42ef2a[_0x3255ab(0x188)]),_0x2d8f05=_0x1619a5[_0x3255ab(0x1a9)][_0x42ef2a[_0x3255ab(0x18d)]],_0x4f2dfa=!!_0x2d8f05&&_0x2d8f05[_0x3255ab(0x189)]!==_0x42ef2a[_0x3255ab(0x195)],_0x5046c8=!!_0x2d8f05&&!!_0x42ef2a[_0x3255ab(0x18b)]&&_0x2d8f05[_0x3255ab(0x18b)]!==_0x42ef2a['sqlName'];if(!_0x2d8f05)_0x8d752f[_0x3255ab(0x1a7)](_0x42ef2a[_0x3255ab(0x18d)]);else _0x2d8f05[_0x3255ab(0x186)]!==_0x30d6d8||_0x4f2dfa||_0x5046c8?_0x5c0477[_0x3255ab(0x1a7)](_0x42ef2a[_0x3255ab(0x18d)]):_0x996316[_0x3255ab(0x1a7)](_0x42ef2a[_0x3255ab(0x18d)]);}for(const _0x2db688 of Object['keys'](_0x1619a5[_0x3255ab(0x1a9)])){!_0xaa374[_0x3255ab(0x192)](_0x2db688)&&_0x57540d[_0x3255ab(0x1a7)](_0x2db688);}const _0x2b2b8d=[];if(_0x47830b[_0x3255ab(0x187)]('remote')){const _0x48ac8e=await fetchAllSqlCodes(_0x47830b[_0x3255ab(0x18c)]);for(const _0x54ba63 of _0x48ac8e){!_0xaa374[_0x3255ab(0x192)](_0x54ba63)&&!_0x1619a5['sqls'][_0x54ba63]&&_0x2b2b8d[_0x3255ab(0x1a7)](_0x54ba63);}}const _0x3ef2bd=_0x8d752f[_0x3255ab(0x18e)]===0x0&&_0x5c0477[_0x3255ab(0x18e)]===0x0&&_0x57540d[_0x3255ab(0x18e)]===0x0&&_0x2b2b8d[_0x3255ab(0x18e)]===0x0;return{'ok':!![],'data':{'added':_0x8d752f,'modified':_0x5c0477,'missing':_0x57540d,'unchanged':_0x996316,'remoteOnly':_0x2b2b8d},'message':_0x3ef2bd?_0x3255ab(0x1aa):_0x8d752f[_0x3255ab(0x18e)]+_0x3255ab(0x198)+_0x5c0477['length']+_0x3255ab(0x197)+_0x57540d[_0x3255ab(0x18e)]+'\x20missing,\x20'+_0x996316[_0x3255ab(0x18e)]+_0x3255ab(0x196)+(_0x2b2b8d[_0x3255ab(0x18e)]>0x0?',\x20'+_0x2b2b8d[_0x3255ab(0x18e)]+'\x20remote-only':'')};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a143_0xacb4ea=a143_0x1ab8;(function(_0x436106,_0x42c568){const _0x1b425b=a143_0x1ab8,_0x468968=_0x436106();while(!![]){try{const _0x553ebc=-parseInt(_0x1b425b(0x119))/0x1+-parseInt(_0x1b425b(0x12d))/0x2+parseInt(_0x1b425b(0x12f))/0x3*(parseInt(_0x1b425b(0x129))/0x4)+parseInt(_0x1b425b(0x128))/0x5*(-parseInt(_0x1b425b(0x133))/0x6)+-parseInt(_0x1b425b(0x10f))/0x7+parseInt(_0x1b425b(0x122))/0x8*(parseInt(_0x1b425b(0x106))/0x9)+parseInt(_0x1b425b(0x134))/0xa;if(_0x553ebc===_0x42c568)break;else _0x468968['push'](_0x468968['shift']());}catch(_0x1b62b2){_0x468968['push'](_0x468968['shift']());}}}(a143_0x4b58,0xbade0));function a143_0x1ab8(_0x54553f,_0x3a02e7){_0x54553f=_0x54553f-0x103;const _0x4b58bd=a143_0x4b58();let _0x1ab8eb=_0x4b58bd[_0x54553f];return _0x1ab8eb;}import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertDatasetIsDbTableBacked,filterDbTableBackedDatasets}from'../../commands/dataset/capability.js';function a143_0x4b58(){const _0x296be7=['split','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','Dataset\x20\x22','tableName','2445848zBeSCh','File\x20not\x20found:\x20','schema:','validate','trim','isSelectOnly','10rtMWZx','1449724Ofadfg','schemaWarnings','dbtableConfig','toLowerCase','1993036USDdJp','parameters','6ZDXbrD','schemas','from','\x22\x20not\x20found\x20or\x20not\x20accessible','309696MlfcGu','10461820FyZBjk','isArray','isDangerous','tables','36vzzJDr','push','Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)','string','Table\x20\x22','Provide\x20--file\x20or\x20--sql','fields','valid','reason','5065711YRdugc','sql','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','message','name','appCode','filter','str','utf-8','\x22\x20not\x20found\x20in\x20any\x20dataset','405137XYdnOQ','sqlType','Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against','map','flagMissing'];a143_0x4b58=function(){return _0x296be7;};return a143_0x4b58();}export const sqlValidate={'service':a143_0xacb4ea(0x110),'command':a143_0xacb4ea(0x125),'description':a143_0xacb4ea(0x111),'risk':'read','flags':[{'name':'file','type':a143_0xacb4ea(0x109),'description':a143_0xacb4ea(0x11f)},{'name':a143_0xacb4ea(0x110),'type':a143_0xacb4ea(0x109),'description':a143_0xacb4ea(0x108)},{'name':a143_0xacb4ea(0x130),'type':a143_0xacb4ea(0x109),'description':a143_0xacb4ea(0x11b)}],async 'execute'(_0xa7916){const _0x31ffda=a143_0xacb4ea,_0x1ee4d3=_0xa7916['str']('file'),_0x52ecce=_0xa7916['str'](_0x31ffda(0x110));if(!_0x1ee4d3&&!_0x52ecce)throw CliErrors[_0x31ffda(0x11d)]('file',_0x31ffda(0x10b));let _0xfda90b;if(_0x1ee4d3){const _0x2c797a=resolve(process['cwd'](),_0x1ee4d3);if(!existsSync(_0x2c797a))throw CliErrors['validation'](_0x31ffda(0x123)+_0x2c797a);_0xfda90b=readFileSync(_0x2c797a,_0x31ffda(0x117));}else _0xfda90b=_0x52ecce;const _0x1a2644=validateSql(_0xfda90b),_0x297249={'valid':_0x1a2644[_0x31ffda(0x10d)],'sqlType':_0x1a2644[_0x31ffda(0x11a)]['type'],'isSelectOnly':_0x1a2644[_0x31ffda(0x11a)][_0x31ffda(0x127)],'isDangerous':_0x1a2644[_0x31ffda(0x11a)][_0x31ffda(0x104)],'tables':_0x1a2644[_0x31ffda(0x105)],'parameters':_0x1a2644[_0x31ffda(0x12e)],'message':_0x1a2644['message']};_0x1a2644[_0x31ffda(0x11a)]['reason']&&(_0x297249[_0x31ffda(0x10e)]=_0x1a2644[_0x31ffda(0x11a)]['reason']);const _0x4e1c2d=_0xa7916[_0x31ffda(0x116)](_0x31ffda(0x130));if(_0x4e1c2d&&_0x1a2644[_0x31ffda(0x10d)]){const _0x5d0793=_0x4e1c2d[_0x31ffda(0x11e)](',')[_0x31ffda(0x11c)](_0x58229c=>_0x58229c[_0x31ffda(0x126)]())[_0x31ffda(0x115)](Boolean),_0xfc7012=[],_0x578553=filterDbTableBackedDatasets(await listDatasets(_0xa7916[_0x31ffda(0x114)])),_0x2e4831=new Map(_0x578553['map'](_0x5489ac=>[_0x5489ac['dbtableConfig']?.[_0x31ffda(0x121)]?.[_0x31ffda(0x12c)](),_0x5489ac]));for(const _0x3e53c3 of _0x1a2644[_0x31ffda(0x105)]){const _0x3ecf7c=_0x2e4831['get'](_0x3e53c3[_0x31ffda(0x12c)]());!_0x3ecf7c&&_0xfc7012[_0x31ffda(0x107)](_0x31ffda(0x10a)+_0x3e53c3+_0x31ffda(0x118));}for(const _0x37c9c6 of _0x5d0793){let _0x32c37a;try{_0x32c37a=await getDatasetDetail(_0x37c9c6);}catch{_0xfc7012[_0x31ffda(0x107)](_0x31ffda(0x120)+_0x37c9c6+_0x31ffda(0x132));continue;}assertDatasetIsDbTableBacked(_0x32c37a,'SQL\x20schema\x20validation');const _0x1f90c3=Array[_0x31ffda(0x103)](_0x32c37a[_0x31ffda(0x10c)])?_0x32c37a[_0x31ffda(0x10c)]:[],_0x3403a5=new Set(_0x1f90c3[_0x31ffda(0x11c)](_0x11fdb3=>_0x11fdb3[_0x31ffda(0x113)]?.[_0x31ffda(0x12c)]())),_0x570cfd=_0x32c37a[_0x31ffda(0x12b)]?.[_0x31ffda(0x121)]||_0x32c37a[_0x31ffda(0x121)]||_0x37c9c6;_0x297249[_0x31ffda(0x124)+_0x570cfd]={'code':_0x37c9c6,'tableName':_0x570cfd,'fieldCount':_0x3403a5['size'],'fields':Array[_0x31ffda(0x131)](_0x3403a5)};}_0xfc7012['length']>0x0&&(_0x297249[_0x31ffda(0x12a)]=_0xfc7012);}return{'ok':_0x1a2644[_0x31ffda(0x10d)],'data':_0x297249,'message':_0x1a2644[_0x31ffda(0x112)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a144_0x4ea71c=a144_0x3fa6;(function(_0x4ba654,_0xfcc294){const _0x235597=a144_0x3fa6,_0x538cf1=_0x4ba654();while(!![]){try{const _0x164578=-parseInt(_0x235597(0xdc))/0x1*(-parseInt(_0x235597(0xc7))/0x2)+-parseInt(_0x235597(0xd9))/0x3+-parseInt(_0x235597(0xd7))/0x4+-parseInt(_0x235597(0xe0))/0x5*(-parseInt(_0x235597(0xe6))/0x6)+-parseInt(_0x235597(0xe7))/0x7*(parseInt(_0x235597(0xe2))/0x8)+parseInt(_0x235597(0xf0))/0x9*(parseInt(_0x235597(0xbe))/0xa)+-parseInt(_0x235597(0xd2))/0xb*(-parseInt(_0x235597(0xeb))/0xc);if(_0x164578===_0xfcc294)break;else _0x538cf1['push'](_0x538cf1['shift']());}catch(_0x21863a){_0x538cf1['push'](_0x538cf1['shift']());}}}(a144_0xdb08,0x48786));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{RABETBASE_ENV_VALUES}from'../../constant/env.js';import{RABETBASE_OUTPUT_FORMAT_VALUES}from'../../constant/output.js';import{RISK_LEVEL_VALUES}from'../../constant/risk.js';import{validateAppcode}from'../../commands/common/validate.js';function a144_0xdb08(){const _0x52c02d=['riskLevel','Locale\x20for\x20this\x20workspace\x20app\x20profile','5795ksoRjy','keys','3525128rMfouj','use','apiDir','Initialize\x20the\x20current\x20workspace\x20app\x20binding','2922LKunHU','7RJgDzj','Switch\x20the\x20current\x20workspace\x20app\x20binding','\x20--appcode\x20<code>`.','str','5819460rsfjCT','validation',').\x20Config:\x20','.\x20Credentials:\x20not\x20written.','Target\x20environment','9IpTqFs','\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20`','object','\x20workspace\x20use\x20--app\x20<name>`.','write','3900440UxLwxF','Missing\x20workspace\x20app\x20selector.','Pass\x20--appcode\x20<code>,\x20or\x20choose\x20one\x20of:\x20','flag','length','defaultFormat','init','app','Default\x20output\x20format\x20for\x20this\x20workspace\x20app\x20profile','3466HaDPoV','apps','locale','initialized','\x20--app\x20','workspace','App\x20profile\x20name\x20to\x20use\x20in\x20this\x20workspace','\x20workspace\x20<init|use>\x20--app\x20<name>\x20[--appcode\x20<code>]','Workspace\x20','trim','isArray','11iQKhDS','appcode','Use\x20`','string','defaultApp','1253456WPVugm','env','1503702aPtdRs','pageSize','format','65LoqrdX','Invalid\x20appcode:\x20'];a144_0xdb08=function(){return _0x52c02d;};return a144_0xdb08();}import{readConfigFile,readRawConfigWithLayers,resolveWriteConfigPath,writeConfigFile}from'../../context.js';const WORKSPACE_USAGE=CLI_BIN_NAME+a144_0x4ea71c(0xce),SAFE_PROFILE_KEYS=[a144_0x4ea71c(0xd3),a144_0x4ea71c(0xd8),a144_0x4ea71c(0xe4),'format',a144_0x4ea71c(0xda),a144_0x4ea71c(0xde),'locale'],workspaceFlags=[{'name':a144_0x4ea71c(0xc5),'type':'string','description':a144_0x4ea71c(0xcd)},{'name':'appcode','type':a144_0x4ea71c(0xd5),'description':'App\x20code\x20to\x20bind\x20to\x20this\x20workspace'},{'name':a144_0x4ea71c(0xd8),'type':a144_0x4ea71c(0xd5),'description':a144_0x4ea71c(0xef),'enum':[...RABETBASE_ENV_VALUES]},{'name':'apiDir','type':a144_0x4ea71c(0xd5),'description':'API\x20directory\x20path\x20for\x20this\x20workspace\x20app\x20profile'},{'name':'defaultFormat','type':a144_0x4ea71c(0xd5),'description':a144_0x4ea71c(0xc6),'enum':[...RABETBASE_OUTPUT_FORMAT_VALUES]},{'name':'pageSize','type':'number','description':'Default\x20page\x20size\x20for\x20this\x20workspace\x20app\x20profile'},{'name':a144_0x4ea71c(0xde),'type':'string','description':'Risk\x20level\x20for\x20this\x20workspace\x20app\x20profile','enum':[...RISK_LEVEL_VALUES]},{'name':a144_0x4ea71c(0xc9),'type':a144_0x4ea71c(0xd5),'description':a144_0x4ea71c(0xdf)}];function isRecord(_0x97017a){const _0x549f64=a144_0x4ea71c;return!!_0x97017a&&typeof _0x97017a===_0x549f64(0xbb)&&!Array[_0x549f64(0xd1)](_0x97017a);}function assertValidAppcode(_0x34f105){const _0x57f6cb=a144_0x4ea71c,{valid:_0x173e79,message:_0x20b618}=validateAppcode(_0x34f105);if(!_0x173e79)throw CliErrors[_0x57f6cb(0xec)](_0x57f6cb(0xdd)+_0x34f105,_0x20b618);}function sanitizeProfile(_0x4d26a4){if(!isRecord(_0x4d26a4))return{};const _0x277a83={};for(const _0x3bd495 of SAFE_PROFILE_KEYS){if(_0x4d26a4[_0x3bd495]!==undefined)_0x277a83[_0x3bd495]=_0x4d26a4[_0x3bd495];}return _0x277a83;}function a144_0x3fa6(_0x474f90,_0x4210a9){_0x474f90=_0x474f90-0xbb;const _0xdb085d=a144_0xdb08();let _0x3fa6f1=_0xdb085d[_0x474f90];return _0x3fa6f1;}function cloneProfile(_0x4e3eb3){return isRecord(_0x4e3eb3)?{..._0x4e3eb3}:{};}function collectWorkspaceProfileOverrides(_0x34c007){const _0x45c4fa=a144_0x4ea71c,_0x11bcf6={},_0x20b474=_0x34c007[_0x45c4fa(0xea)](_0x45c4fa(0xd8)),_0x4da921=_0x34c007[_0x45c4fa(0xea)]('apiDir'),_0x71daf6=_0x34c007['str'](_0x45c4fa(0xc3)),_0x3d37ca=_0x34c007[_0x45c4fa(0xc1)](_0x45c4fa(0xda)),_0x4bfd3d=_0x34c007[_0x45c4fa(0xea)](_0x45c4fa(0xde)),_0x600635=_0x34c007[_0x45c4fa(0xea)](_0x45c4fa(0xc9));if(_0x20b474)_0x11bcf6[_0x45c4fa(0xd8)]=_0x20b474;if(_0x4da921)_0x11bcf6[_0x45c4fa(0xe4)]=_0x4da921;if(_0x71daf6)_0x11bcf6[_0x45c4fa(0xdb)]=_0x71daf6;if(_0x3d37ca!==undefined&&_0x3d37ca!=='')_0x11bcf6[_0x45c4fa(0xda)]=Number(_0x3d37ca);if(_0x4bfd3d)_0x11bcf6[_0x45c4fa(0xde)]=_0x4bfd3d;if(_0x600635)_0x11bcf6[_0x45c4fa(0xc9)]=_0x600635;return _0x11bcf6;}async function validateWorkspaceArgs(_0x6028bd){const _0x15cfe3=a144_0x4ea71c,_0x475deb=_0x6028bd[_0x15cfe3(0xea)](_0x15cfe3(0xc5))[_0x15cfe3(0xd0)](),_0x264e9e=_0x6028bd['str'](_0x15cfe3(0xd3))[_0x15cfe3(0xd0)]();if(!_0x475deb&&!_0x264e9e)throw CliErrors['validation'](_0x15cfe3(0xbf),'Use\x20`'+CLI_BIN_NAME+_0x15cfe3(0xf1)+CLI_BIN_NAME+_0x15cfe3(0xbc));if(_0x264e9e)assertValidAppcode(_0x264e9e);}function resolveKnownApps(){const _0x59f184=a144_0x4ea71c,{config:_0x12d2b1,layers:_0x35f552}=readRawConfigWithLayers(),_0x4ab25a=isRecord(_0x12d2b1[_0x59f184(0xc8)])?_0x12d2b1[_0x59f184(0xc8)]:{},_0xa7a136=isRecord(_0x35f552['globalConfig'][_0x59f184(0xc8)])?_0x35f552['globalConfig']['apps']:{};return{..._0xa7a136,..._0x4ab25a};}async function configureWorkspace(_0x367acf,_0x5469b8){const _0x2332ee=a144_0x4ea71c,_0x4a64c0=_0x367acf[_0x2332ee(0xea)]('app')['trim'](),_0x13aed2=_0x367acf['str'](_0x2332ee(0xd3))[_0x2332ee(0xd0)](),_0x8d235d=_0x4a64c0||_0x13aed2;if(!_0x8d235d)throw CliErrors[_0x2332ee(0xec)](_0x2332ee(0xbf),'Use\x20`'+CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20`'+CLI_BIN_NAME+_0x2332ee(0xbc));if(_0x13aed2)assertValidAppcode(_0x13aed2);const _0x164e44=resolveWriteConfigPath('project'),_0x3d1256=readConfigFile(_0x164e44),_0x3a7c87=resolveKnownApps(),_0x2d794b=isRecord(_0x3d1256[_0x2332ee(0xc8)])?{..._0x3d1256['apps']}:{},_0x5b2657=cloneProfile(_0x2d794b[_0x8d235d]),_0x397b49=sanitizeProfile(_0x3a7c87[_0x8d235d]),_0x31bb9d=_0x13aed2?{}:_0x397b49,_0x25b64a=_0x13aed2||_0x31bb9d[_0x2332ee(0xd3)];if(!_0x25b64a){const _0xf4d921=Object[_0x2332ee(0xe1)](_0x3a7c87),_0x61f126=_0xf4d921[_0x2332ee(0xc2)]===0x0?_0x2332ee(0xd4)+CLI_BIN_NAME+'\x20workspace\x20'+_0x5469b8+_0x2332ee(0xcb)+_0x8d235d+_0x2332ee(0xe9):_0x2332ee(0xc0)+_0xf4d921['join'](',\x20');throw CliErrors['validation']('App\x20\x22'+_0x8d235d+'\x22\x20not\x20found.',_0x61f126);}assertValidAppcode(String(_0x25b64a));const _0x382492={..._0x31bb9d,..._0x5b2657,'appcode':String(_0x25b64a),...collectWorkspaceProfileOverrides(_0x367acf)};return _0x2d794b[_0x8d235d]=_0x382492,_0x3d1256[_0x2332ee(0xc8)]=_0x2d794b,_0x3d1256[_0x2332ee(0xd6)]=_0x8d235d,delete _0x3d1256[_0x2332ee(0xd3)],delete _0x3d1256[_0x2332ee(0xc5)],_0x382492[_0x2332ee(0xd8)]&&(_0x3d1256['env']=_0x382492['env']),writeConfigFile(_0x164e44,_0x3d1256),{'ok':!![],'message':_0x2332ee(0xcf)+(_0x5469b8===_0x2332ee(0xc4)?_0x2332ee(0xca):'updated')+':\x20'+_0x8d235d+'\x20(appcode:\x20'+_0x382492[_0x2332ee(0xd3)]+_0x2332ee(0xed)+_0x164e44+_0x2332ee(0xee),'data':{'operation':'workspace.'+_0x5469b8,'configPath':_0x164e44,'app':_0x8d235d,'appcode':_0x382492['appcode'],'env':_0x382492[_0x2332ee(0xd8)]??null,'credentialsWritten':![]}};}const workspaceInitDefinition={'service':'workspace','command':a144_0x4ea71c(0xc4),'description':a144_0x4ea71c(0xe5),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[],'flags':workspaceFlags,'validate':validateWorkspaceArgs,'execute':_0x234d9d=>configureWorkspace(_0x234d9d,a144_0x4ea71c(0xc4))},workspaceUseDefinition={'service':a144_0x4ea71c(0xcc),'command':a144_0x4ea71c(0xe3),'description':a144_0x4ea71c(0xe8),'risk':a144_0x4ea71c(0xbd),'requiresAuth':![],'requiresAppCode':![],'args':[],'flags':workspaceFlags,'validate':validateWorkspaceArgs,'execute':_0x44af69=>configureWorkspace(_0x44af69,a144_0x4ea71c(0xe3))};export const workspaceDefinitions=[workspaceInitDefinition,workspaceUseDefinition];export{WORKSPACE_USAGE};
|
package/lib/config/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a145_0x49298f=a145_0x6856;(function(_0x3a24a6,_0x1c9bb4){const _0x33f72e=a145_0x6856,_0x8a3b77=_0x3a24a6();while(!![]){try{const _0x13df92=-parseInt(_0x33f72e(0x1e7))/0x1+-parseInt(_0x33f72e(0x202))/0x2+parseInt(_0x33f72e(0x205))/0x3*(parseInt(_0x33f72e(0x1fe))/0x4)+parseInt(_0x33f72e(0x1f9))/0x5*(parseInt(_0x33f72e(0x1fb))/0x6)+parseInt(_0x33f72e(0x1f2))/0x7+-parseInt(_0x33f72e(0x206))/0x8*(parseInt(_0x33f72e(0x1f1))/0x9)+-parseInt(_0x33f72e(0x1fc))/0xa*(parseInt(_0x33f72e(0x1f0))/0xb);if(_0x13df92===_0x1c9bb4)break;else _0x8a3b77['push'](_0x8a3b77['shift']());}catch(_0x77decf){_0x8a3b77['push'](_0x8a3b77['shift']());}}}(a145_0x3cfe,0x1909f));import{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';import{RABETBASE_ENV_VALUES}from'../constant/env.js';import{RABETBASE_OUTPUT_FORMAT_VALUES}from'../constant/output.js';function a145_0x3cfe(){const _0xf92e2a=['string','toLowerCase','defaultApp','env','inherit','format','23816srxJip','pageSize','accessKey','locale','Locale','number','zh-CN','Access\x20key','map','11ollRhz','387lQbSOm','792512bTvppx','en-US','Auth\x20cookie','has','defaultFormat','length','cookie','5BARyQK','apiDir','896730hgyVIm','1695230NyxBTw','riskLevel','24jNPIgI','apps','API\x20directory\x20path','appcode','263686yCEmzR','Default\x20page\x20size','app','98703ZSRkjM','6016zjvjnw','Default\x20output\x20format\x20for\x20this\x20app\x20(profile)','entries'];a145_0x3cfe=function(){return _0xf92e2a;};return a145_0x3cfe();}import{RISK_LEVEL_VALUES}from'../constant/risk.js';export{DEFAULT_CONFIG_VALUES}from'../constant/defaults.js';export const PROJECT_CREATE_INHERITABLE_KEYS=[a145_0x49298f(0x1f8),a145_0x49298f(0x1e9),'locale','format','riskLevel'];export const TOP_LEVEL_CONFIG_KEYS=new Set([a145_0x49298f(0x201),a145_0x49298f(0x1e4),a145_0x49298f(0x1ea),'format','cookie',a145_0x49298f(0x1e9),a145_0x49298f(0x1fa)]);function a145_0x6856(_0x480308,_0xdc794b){_0x480308=_0x480308-0x1e2;const _0x3cfe7c=a145_0x3cfe();let _0x6856e3=_0x3cfe7c[_0x480308];return _0x6856e3;}export const CONFIG_ENUM_VALUES={'env':[...RABETBASE_ENV_VALUES],'format':[...RABETBASE_OUTPUT_FORMAT_VALUES]};export function formatConfigKeyList(_0x4f44eb){return[..._0x4f44eb]['join'](',\x20');}export function getTopLevelConfigKeyList(){return[...TOP_LEVEL_CONFIG_KEYS];}export function isTopLevelConfigKey(_0x48e81b){const _0x13b6f7=a145_0x49298f;return TOP_LEVEL_CONFIG_KEYS[_0x13b6f7(0x1f5)](_0x48e81b);}export function getTopLevelConfigKeySummary(){return formatConfigKeyList(getTopLevelConfigKeyList());}export function getConfigCommandKeyDescription(){return'Config\x20key\x20('+getTopLevelConfigKeySummary()+')';}export const APP_PROFILE_FLAG_KEY_MAP={'env':'env','apiDir':'apiDir','cookie':a145_0x49298f(0x1f8),'accessKey':a145_0x49298f(0x1e9),'defaultFormat':'format','pageSize':'pageSize','riskLevel':a145_0x49298f(0x1fd),'locale':a145_0x49298f(0x1ea)};export function getAppProfileFlagDefs(){const _0x2c6671=a145_0x49298f;return[{'name':_0x2c6671(0x1e4),'type':_0x2c6671(0x209),'description':'Target\x20environment','enum':[...RABETBASE_ENV_VALUES]},{'name':_0x2c6671(0x1fa),'type':'string','description':_0x2c6671(0x200)},{'name':'cookie','type':'string','description':_0x2c6671(0x1f4),'hidden':!![]},{'name':_0x2c6671(0x1e9),'type':_0x2c6671(0x209),'description':_0x2c6671(0x1ee),'hidden':!![]},{'name':_0x2c6671(0x1f6),'type':_0x2c6671(0x209),'description':_0x2c6671(0x207),'enum':[...RABETBASE_OUTPUT_FORMAT_VALUES]},{'name':'pageSize','type':_0x2c6671(0x1ec),'description':_0x2c6671(0x203)},{'name':_0x2c6671(0x1fd),'type':_0x2c6671(0x209),'description':'Risk\x20level','enum':[...RISK_LEVEL_VALUES]},{'name':_0x2c6671(0x1ea),'type':_0x2c6671(0x209),'description':_0x2c6671(0x1eb)}];}export function collectAppProfileOverrides(_0xe8c439){const _0x52d45d=a145_0x49298f,_0x1b0cd9={};for(const [_0x35d828,_0x383157]of Object[_0x52d45d(0x208)](APP_PROFILE_FLAG_KEY_MAP)){const _0x282e8a=_0xe8c439(_0x35d828);if(!_0x282e8a)continue;_0x1b0cd9[_0x383157]=_0x383157===_0x52d45d(0x1e8)?Number(_0x282e8a):_0x282e8a;}return _0x1b0cd9;}export function buildAppProfileListFields(_0x18730c){const _0x24c682=a145_0x49298f;return{'env':_0x18730c[_0x24c682(0x1e4)]??null,'apiDir':_0x18730c[_0x24c682(0x1fa)]??null,'hasCookie':!!_0x18730c['cookie'],'hasAccessKey':!!_0x18730c[_0x24c682(0x1e9)],'format':_0x18730c[_0x24c682(0x1e6)]??null,'pageSize':_0x18730c[_0x24c682(0x1e8)]??null,'riskLevel':_0x18730c['riskLevel']??null,'locale':_0x18730c[_0x24c682(0x1ea)]??null};}export function buildAppDoctorFields(_0x50fc40,_0x47c9fa){const _0x49e37c=a145_0x49298f;return{'env':{'value':_0x50fc40[_0x49e37c(0x1e4)]||_0x47c9fa['env'],'source':_0x50fc40['env']?_0x49e37c(0x204):_0x49e37c(0x1e5)},'apiDir':{'value':_0x50fc40['apiDir']||_0x47c9fa['apiDir'],'source':_0x50fc40['apiDir']?'app':_0x49e37c(0x1e5)},'cookie':{'value':_0x50fc40[_0x49e37c(0x1f8)]||_0x47c9fa[_0x49e37c(0x1f8)],'source':_0x50fc40[_0x49e37c(0x1f8)]?_0x49e37c(0x204):_0x49e37c(0x1e5)},'accessKey':{'value':_0x50fc40['accessKey']||_0x47c9fa[_0x49e37c(0x1e9)],'source':_0x50fc40['accessKey']?_0x49e37c(0x204):_0x49e37c(0x1e5)}};}export function buildCanonicalAppConfig(_0x519802,_0xf4d8de){const _0x43fda9=a145_0x49298f,_0x28976f=_0x519802[_0x43fda9(0x1ef)](_0x43e02e=>String(_0x43e02e||'')['trim']())['filter'](Boolean);if(_0x28976f[_0x43fda9(0x1f7)]===0x0)return{};const _0x34b4d9={};for(const _0x335fed of _0x28976f){_0x34b4d9[_0x335fed]=_0xf4d8de?{'appcode':_0x335fed,'env':_0xf4d8de}:{'appcode':_0x335fed};}return{'apps':_0x34b4d9,'defaultApp':_0x28976f[0x0]};}export function buildCanonicalProjectConfig(_0xe18d38,_0xcfa9c9){const _0x9c5c72=a145_0x49298f,{appCodes:appCodes=[],env:_0x510352,metadata:_0x136940}=_0xcfa9c9,_0x32603c={..._0xe18d38,..._0x136940||{}};delete _0x32603c[_0x9c5c72(0x201)],delete _0x32603c[_0x9c5c72(0x204)];if(_0x510352)_0x32603c[_0x9c5c72(0x1e4)]=_0x510352;else!_0x32603c[_0x9c5c72(0x1e4)]&&(_0x32603c['env']=DEFAULT_CONFIG_VALUES['env']);const _0x25765a=buildCanonicalAppConfig(appCodes,_0x32603c[_0x9c5c72(0x1e4)]);return Object['keys'](_0x25765a)[_0x9c5c72(0x1f7)]>0x0&&(_0x32603c[_0x9c5c72(0x1ff)]=_0x25765a['apps'],_0x32603c[_0x9c5c72(0x1e3)]=_0x25765a[_0x9c5c72(0x1e3)]),_0x32603c;}const LOCALE_MAP={'zh':a145_0x49298f(0x1ed),'zh-cn':a145_0x49298f(0x1ed),'zh_cn':a145_0x49298f(0x1ed),'en':'en-US','en-us':'en-US','en_us':a145_0x49298f(0x1f3)};export function normalizeLocale(_0x3b07ed){const _0x17f9ab=a145_0x49298f;if(!_0x3b07ed)return null;return LOCALE_MAP[_0x3b07ed[_0x17f9ab(0x1e2)]()]??null;}
|
package/lib/constant/cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a146_0x396b(_0x37c821,_0x3a04c4){_0x37c821=_0x37c821-0x126;const _0x6b68ca=a146_0x6b68();let _0x396bd3=_0x6b68ca[_0x37c821];return _0x396bd3;}const a146_0x416463=a146_0x396b;(function(_0x2df937,_0x57cd15){const _0x2ce712=a146_0x396b,_0x4c3214=_0x2df937();while(!![]){try{const _0x214d26=parseInt(_0x2ce712(0x129))/0x1+-parseInt(_0x2ce712(0x12d))/0x2*(parseInt(_0x2ce712(0x12c))/0x3)+parseInt(_0x2ce712(0x12a))/0x4*(-parseInt(_0x2ce712(0x127))/0x5)+parseInt(_0x2ce712(0x131))/0x6+parseInt(_0x2ce712(0x12f))/0x7+parseInt(_0x2ce712(0x130))/0x8*(-parseInt(_0x2ce712(0x128))/0x9)+parseInt(_0x2ce712(0x12e))/0xa*(parseInt(_0x2ce712(0x12b))/0xb);if(_0x214d26===_0x57cd15)break;else _0x4c3214['push'](_0x4c3214['shift']());}catch(_0x534f98){_0x4c3214['push'](_0x4c3214['shift']());}}}(a146_0x6b68,0x7b39b));function a146_0x6b68(){const _0x49853c=['92JIpvpE','610EdGMZp','229831DneAog','53904ANFxOv','804210ZRgfvO','https://g.lovrabet.com/dist/rabetbase-cli/config/index.json','15whNKHh','279eCDOjo','301185EcgFXm','696936TEAYmv','173162YtexKV','12522MFzXKb'];a146_0x6b68=function(){return _0x49853c;};return a146_0x6b68();}export const CLI_VERSION_POLICY_URL=a146_0x416463(0x126);
|
package/lib/constant/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a147_0x30ce60=a147_0x571d;(function(_0xfccc4e,_0x2dee66){const _0xbe637=a147_0x571d,_0x2dea66=_0xfccc4e();while(!![]){try{const _0x4458fc=-parseInt(_0xbe637(0x197))/0x1*(-parseInt(_0xbe637(0x163))/0x2)+parseInt(_0xbe637(0x1a2))/0x3*(parseInt(_0xbe637(0x1cd))/0x4)+-parseInt(_0xbe637(0x1af))/0x5*(-parseInt(_0xbe637(0x19c))/0x6)+-parseInt(_0xbe637(0x198))/0x7+-parseInt(_0xbe637(0x1b9))/0x8*(parseInt(_0xbe637(0x182))/0x9)+parseInt(_0xbe637(0x18b))/0xa+-parseInt(_0xbe637(0x1b6))/0xb;if(_0x4458fc===_0x2dee66)break;else _0x2dea66['push'](_0x2dea66['shift']());}catch(_0x5ce6aa){_0x2dea66['push'](_0x2dea66['shift']());}}}(a147_0x72e0,0xc4bce));export const CLI_BIN_NAME=a147_0x30ce60(0x17c);export const CLI_DISPLAY_NAME=a147_0x30ce60(0x1bd);function a147_0x571d(_0x4a0bc4,_0xd5ad3){_0x4a0bc4=_0x4a0bc4-0x163;const _0x72e06b=a147_0x72e0();let _0x571d51=_0x72e06b[_0x4a0bc4];return _0x571d51;}export const NPM_PACKAGE_NAME=a147_0x30ce60(0x1bf);export const GLOBAL_FLAGS=[{'name':a147_0x30ce60(0x16d),'meowKey':a147_0x30ce60(0x16d),'type':'string','description':a147_0x30ce60(0x1aa),'hint':a147_0x30ce60(0x1a9)},{'name':a147_0x30ce60(0x1b3),'meowKey':'app','type':'string','description':a147_0x30ce60(0x1a5),'hint':'<name>'},{'name':a147_0x30ce60(0x1a4),'meowKey':a147_0x30ce60(0x1a4),'type':a147_0x30ce60(0x18e),'description':'Environment','hint':'production\x20|\x20daily'},{'name':a147_0x30ce60(0x169),'meowKey':'format','type':a147_0x30ce60(0x18e),'description':'Output\x20format','hint':'json\x20|\x20pretty\x20|\x20compress'},{'name':'jq','meowKey':'jq','type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x18a),'hint':a147_0x30ce60(0x185)},{'name':a147_0x30ce60(0x172),'meowKey':a147_0x30ce60(0x1ca),'type':'boolean','description':a147_0x30ce60(0x1bb)},{'name':a147_0x30ce60(0x1b8),'meowKey':a147_0x30ce60(0x1b8),'type':'boolean','description':'Skip\x20confirmation\x20for\x20high-risk\x20writes'},{'name':a147_0x30ce60(0x1b7),'meowKey':'nonInteractive','type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x191)},{'name':a147_0x30ce60(0x192),'meowKey':'global','type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x187)},{'name':'project','meowKey':'project','type':'boolean','description':'Use\x20project\x20config\x20scope'},{'name':'ci','meowKey':'ci','type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x17f),'hidden':!![]},{'name':'help','meowKey':a147_0x30ce60(0x1bc),'type':a147_0x30ce60(0x196),'description':'Show\x20help'},{'name':a147_0x30ce60(0x1a0),'meowKey':'name','type':'string','description':'Name','hidden':!![]},{'name':a147_0x30ce60(0x164),'meowKey':a147_0x30ce60(0x164),'type':'string','description':a147_0x30ce60(0x17d),'hidden':!![]},{'name':a147_0x30ce60(0x1c1),'meowKey':a147_0x30ce60(0x1c1),'type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x178),'hidden':!![]},{'name':a147_0x30ce60(0x1a3),'meowKey':a147_0x30ce60(0x1a3),'type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x199),'hidden':!![]},{'name':a147_0x30ce60(0x1b1),'meowKey':a147_0x30ce60(0x1b1),'type':'string','description':a147_0x30ce60(0x1c5),'hidden':!![]},{'name':a147_0x30ce60(0x168),'meowKey':a147_0x30ce60(0x168),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x193),'hidden':!![]},{'name':a147_0x30ce60(0x1a7),'meowKey':a147_0x30ce60(0x1a7),'type':a147_0x30ce60(0x18e),'description':'Dataset\x20code','hidden':!![]},{'name':'all','meowKey':a147_0x30ce60(0x170),'type':'boolean','description':a147_0x30ce60(0x1b4),'hidden':!![]},{'name':'enable-bff-save','meowKey':'enableBffSave','type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x1c8),'hidden':!![]},{'name':'id','meowKey':'id','type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x18c),'hidden':!![]},{'name':a147_0x30ce60(0x177),'meowKey':'type','type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x16e),'hidden':!![]},{'name':'file','meowKey':'file','type':a147_0x30ce60(0x18e),'description':'File\x20path','hidden':!![]},{'name':a147_0x30ce60(0x173),'meowKey':a147_0x30ce60(0x173),'type':'string','description':a147_0x30ce60(0x1ad),'hidden':!![]},{'name':'sql-name','meowKey':a147_0x30ce60(0x166),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x19f),'hidden':!![]},{'name':a147_0x30ce60(0x16f),'meowKey':a147_0x30ce60(0x16f),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x19f),'hidden':!![]},{'name':a147_0x30ce60(0x1c9),'meowKey':a147_0x30ce60(0x195),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x175),'hidden':!![]},{'name':a147_0x30ce60(0x1ba),'meowKey':'dbid','type':'string','description':a147_0x30ce60(0x175),'hidden':!![]},{'name':a147_0x30ce60(0x1ab),'meowKey':'description','type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x16b),'hidden':!![]},{'name':'description-file','meowKey':a147_0x30ce60(0x1cc),'type':'string','description':a147_0x30ce60(0x188),'hidden':!![]},{'name':'page','meowKey':a147_0x30ce60(0x1a8),'type':a147_0x30ce60(0x18e),'description':'Page\x20number','hidden':!![]},{'name':a147_0x30ce60(0x186),'meowKey':'pagesize','type':a147_0x30ce60(0x18e),'description':'Page\x20size','hidden':!![]},{'name':a147_0x30ce60(0x1c3),'meowKey':'keyword','type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x1cb),'hidden':!![]},{'name':'code','meowKey':'code','type':a147_0x30ce60(0x18e),'description':'Code\x20filter','hidden':!![]},{'name':a147_0x30ce60(0x167),'meowKey':a147_0x30ce60(0x167),'type':a147_0x30ce60(0x18e),'description':'SQL\x20string','hidden':!![]},{'name':'schemas','meowKey':'schemas','type':a147_0x30ce60(0x18e),'description':'Schemas','hidden':!![]},{'name':a147_0x30ce60(0x16c),'meowKey':a147_0x30ce60(0x16c),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x1c6),'hidden':!![]},{'name':a147_0x30ce60(0x1a6),'meowKey':'target','type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x176),'hidden':!![]},{'name':a147_0x30ce60(0x19b),'meowKey':a147_0x30ce60(0x17e),'type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x183),'hidden':!![]},{'name':a147_0x30ce60(0x1a1),'meowKey':'key','type':'string','description':a147_0x30ce60(0x16a),'hidden':!![]},{'name':a147_0x30ce60(0x171),'meowKey':a147_0x30ce60(0x171),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x19d),'hidden':!![]},{'name':a147_0x30ce60(0x19a),'meowKey':a147_0x30ce60(0x19a),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x181),'hidden':!![]},{'name':a147_0x30ce60(0x19e),'meowKey':a147_0x30ce60(0x19e),'type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x190),'hidden':!![]},{'name':a147_0x30ce60(0x18f),'meowKey':'fromEnv','type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x1b5),'hidden':!![]},{'name':a147_0x30ce60(0x1b0),'meowKey':'reveal','type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x1ae),'hidden':!![]},{'name':'force','meowKey':a147_0x30ce60(0x1ac),'type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x189),'hidden':!![]},{'name':a147_0x30ce60(0x1c7),'meowKey':'confirm','type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x194),'hidden':!![]},{'name':a147_0x30ce60(0x165),'meowKey':a147_0x30ce60(0x165),'type':a147_0x30ce60(0x196),'description':a147_0x30ce60(0x1c0),'hidden':!![]},{'name':a147_0x30ce60(0x18d),'meowKey':'verbose','type':'boolean','description':a147_0x30ce60(0x1c2),'hidden':!![]},{'name':a147_0x30ce60(0x17a),'meowKey':a147_0x30ce60(0x179),'type':'string','description':a147_0x30ce60(0x1be),'hidden':!![]},{'name':a147_0x30ce60(0x174),'meowKey':a147_0x30ce60(0x1b2),'type':'string','description':a147_0x30ce60(0x1c6),'hidden':!![]},{'name':a147_0x30ce60(0x184),'meowKey':a147_0x30ce60(0x17b),'type':a147_0x30ce60(0x18e),'description':a147_0x30ce60(0x180),'hidden':!![]}];function a147_0x72e0(){const _0x24ad65=['sqlcode','operation-type','DB\x20ID','Target\x20path','type','Clear','expectedCount','expected-count','functionNode','rabetbase','Title','skipImports','Alias\x20for\x20--non-interactive','Function\x20node','Tags','9sujFAM','Skip\x20import\x20generation','function-node','<expr>','pagesize','Use\x20global\x20config\x20scope','Description\x20file','Force\x20overwrite','Filter\x20JSON\x20output\x20(JQ_PATH\x20>\x20bundled\x20jq\x20>\x20PATH;\x20use\x20with\x20--format\x20json\x20or\x20compress)','12142020zESwbm','Record\x20ID','verbose','string','from-env','Read\x20value\x20from\x20stdin','Force\x20non-interactive\x20mode\x20(CI)','global','JSON\x20params','Confirm\x20destructive\x20action','dbId','boolean','1288939dQlYvI','1574811yrbhPN','Watch\x20mode','tags','skip-imports','4962xzZacg','Config\x20value','stdin','SQL\x20name','name','key','6mNwCsU','watch','env','Select\x20app\x20profile\x20by\x20name','target','datasetcode','page','<code>','Override\x20appcode','description','force','SQL\x20code','Reveal\x20sensitive\x20value','5615lvXivn','reveal','output','operationType','app','Apply\x20to\x20all','Read\x20value\x20from\x20environment\x20variable','17586272ArINQK','non-interactive','yes','8175352YxWHJS','dbid','Preview\x20operation\x20without\x20executing','help','Rabetbase\x20CLI','Expected\x20affected\x20count','@lovrabet/rabetbase-cli','Use\x20remote','clear','Verbose\x20output','keyword','map','Output\x20path','Operation\x20type','confirm','Enable\x20BFF\x20save','db-id','dryRun','Keyword\x20filter','descriptionFile','439240XomWKt','2yfUZmk','title','remote','sqlName','sql','params','format','Config\x20key','Description','operation','appcode','Type\x20filter','sqlname','all','value','dry-run'];a147_0x72e0=function(){return _0x24ad65;};return a147_0x72e0();}export const PIPELINE_FLAG_NAMES=new Set([a147_0x30ce60(0x16d),a147_0x30ce60(0x1b3),a147_0x30ce60(0x1a4),a147_0x30ce60(0x169),'jq',a147_0x30ce60(0x172),'yes','non-interactive','ci']);export function buildMeowFlags(){const _0xe4304c=a147_0x30ce60;return Object['fromEntries'](GLOBAL_FLAGS[_0xe4304c(0x1c4)](_0x316304=>[_0x316304['meowKey'],{'type':_0x316304[_0xe4304c(0x177)]}]));}
|