@lovrabet/rabetbase-cli 2.5.0-beta.1 → 2.5.0-beta.2
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/api/generate-sdk-config-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/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.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/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/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/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/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/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.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/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.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/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.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/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/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/skills/rabetbase/SKILL.md +1 -1
- package/skills/rabetbase/references/rabetbase-config.md +1 -1
- package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +17 -6
- package/skills/rabetbase/references/rabetbase-kb.md +1 -1
- package/skills/rabetbase.manifest.json +3 -3
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a190_0x2813b0=a190_0xc3cd;(function(_0x21daad,_0x4ffd02){const _0x4f181e=a190_0xc3cd,_0x29e582=_0x21daad();while(!![]){try{const _0x2bd483=parseInt(_0x4f181e(0x181))/0x1*(parseInt(_0x4f181e(0x177))/0x2)+-parseInt(_0x4f181e(0x167))/0x3*(-parseInt(_0x4f181e(0x192))/0x4)+parseInt(_0x4f181e(0x18f))/0x5*(-parseInt(_0x4f181e(0x175))/0x6)+-parseInt(_0x4f181e(0x190))/0x7+-parseInt(_0x4f181e(0x17d))/0x8+parseInt(_0x4f181e(0x194))/0x9+-parseInt(_0x4f181e(0x182))/0xa*(parseInt(_0x4f181e(0x172))/0xb);if(_0x2bd483===_0x4ffd02)break;else _0x29e582['push'](_0x29e582['shift']());}catch(_0x274208){_0x29e582['push'](_0x29e582['shift']());}}}(a190_0x5541,0x8a5d7));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;function a190_0xc3cd(_0x4f9fb1,_0x3c92bd){_0x4f9fb1=_0x4f9fb1-0x161;const _0x554158=a190_0x5541();let _0xc3cde1=_0x554158[_0x4f9fb1];return _0xc3cde1;}async function fetchAllSqlQueries(_0x3d1a3c,_0x1f5831){const _0x322970=a190_0xc3cd,_0x3dfa44=[];let _0x591bf2=0x1;while(!![]){const _0x3e0abf=await listSqlQueries(_0x3d1a3c,{'currentPage':_0x591bf2,'pageSize':PAGE_SIZE,'sqlCode':_0x1f5831['sqlCode'],'sqlName':_0x1f5831[_0x322970(0x161)]}),_0x12cc9d=_0x3e0abf[_0x322970(0x18e)]??[];_0x3dfa44['push'](..._0x12cc9d);if(_0x12cc9d[_0x322970(0x17f)]===0x0)break;const _0x218829=_0x3e0abf[_0x322970(0x196)]?.['totalCount'];if(_0x218829!=null?_0x3dfa44[_0x322970(0x17f)]>=_0x218829:_0x12cc9d[_0x322970(0x17f)]<PAGE_SIZE)break;_0x591bf2++;}return _0x3dfa44;}function a190_0x5541(){const _0xb4cbe=['\x20failed','would_pull','492696OulldB','unchanged','length','description','25PXknTc','7880fMXGty','nonInteractive','sqlContent','dbId','POST','path','force','str','test','cancelled','boolean','Force\x20pull\x20cancelled.','tableData','5DlLHPG','1565326PhiKZx','\x20written,\x20','10228OenwAP','replace','7889202WIdLFT','name','paging','trimStart','toISOString','message','sqlCode','mybatisXml','sqlName','push','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','sqlRootDir','sqlRoot','sqls','687itCcHo','\x20SQL\x20file(s)\x20into\x20','lockFilePath','conflict','lastSync','split','sqlcode','pull','Pull\x20complete:\x20','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','local\x20differs\x20from\x20remote','7645wdicJM','filter','appCode','878988xZfYge','No\x20remote\x20SQL\x20queries\x20matched.','6718vAaoUH','apps','catch','utf8'];a190_0x5541=function(){return _0xb4cbe;};return a190_0x5541();}async function ensureSqlContent(_0x13313a){const _0x554fd4=a190_0xc3cd;if(_0x13313a[_0x554fd4(0x184)]!=null&&String(_0x13313a[_0x554fd4(0x184)])[_0x554fd4(0x17f)]>0x0)return _0x13313a;return getSqlQueryDetail(_0x13313a['sqlCode']);}export const sqlPull={'service':'sql','command':a190_0x2813b0(0x16e),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':'Filter\x20by\x20SQL\x20display\x20name'},{'name':a190_0x2813b0(0x188),'type':a190_0x2813b0(0x18c),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x5b5b64){const _0x663c22=a190_0x2813b0,_0x14a1c1=loadSqlProjectConfig(_0x5b5b64[_0x663c22(0x174)]),_0x241efb=await readSqlLockFile(_0x14a1c1[_0x663c22(0x169)]),{appLock:_0x3b48f0}=ensureSqlLockScope(_0x241efb??createEmptySqlLock(),_0x14a1c1[_0x663c22(0x174)],_0x14a1c1[_0x663c22(0x165)],_0x663c22(0x16e)),_0x371720=await fetchAllSqlQueries(_0x5b5b64[_0x663c22(0x174)],{'sqlCode':_0x5b5b64[_0x663c22(0x189)](_0x663c22(0x16d))||undefined,'sqlName':_0x5b5b64[_0x663c22(0x189)](_0x663c22(0x195))||undefined}),_0x259737=[];for(const _0x23fc81 of _0x371720){const _0x1aeb64=await ensureSqlContent(_0x23fc81),_0x1928f6=ensureRemoteSqlContent(_0x1aeb64),_0x1d7ce5=detectModeFromSql(_0x1aeb64),_0x1e0eb7=_0x1aeb64['dbId']?await getDbName(_0x5b5b64[_0x663c22(0x174)],Number(_0x1aeb64['dbId']))[_0x663c22(0x179)](()=>undefined):undefined,_0x3a1038=buildLocalSqlFileContent({'sqlCode':_0x1aeb64[_0x663c22(0x19a)],'sqlName':_0x1aeb64[_0x663c22(0x161)],'dbId':_0x1aeb64[_0x663c22(0x185)]},_0x1928f6,{'dbName':_0x1e0eb7,'mode':_0x1d7ce5,'syncedAt':new Date()[_0x663c22(0x198)](),'description':_0x1aeb64[_0x663c22(0x180)]}),_0x25df72=buildSqlLockEntry(_0x1aeb64,_0x1928f6,'',{'dbName':_0x1e0eb7}),_0x1b2da3=resolveLocalSqlFilePath(_0x14a1c1,_0x1aeb64[_0x663c22(0x19a)],_0x25df72);let _0xd959d3=_0x663c22(0x17c),_0x489b2a;if(await fileExists(_0x1b2da3)){const _0x55c570=await readFile(_0x1b2da3,_0x663c22(0x17a));isEquivalentPulledSqlFile(_0x55c570,_0x3a1038,_0x1d7ce5)?(_0xd959d3='skipped',_0x489b2a=_0x663c22(0x17e)):(_0xd959d3=_0x663c22(0x16a),_0x489b2a=_0x663c22(0x163));}_0x259737[_0x663c22(0x162)]({'sqlCode':_0x1aeb64[_0x663c22(0x19a)],'sqlName':_0x1aeb64[_0x663c22(0x161)],'filePath':_0x1b2da3,'status':_0xd959d3,'reason':_0x489b2a});}return{'method':_0x663c22(0x186),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x5b5b64['appCode'],'sqlCode':_0x5b5b64[_0x663c22(0x189)](_0x663c22(0x16d))||null,'sqlName':_0x5b5b64[_0x663c22(0x189)](_0x663c22(0x195))||null,'files':_0x259737},'description':'Would\x20pull\x20'+_0x259737[_0x663c22(0x17f)]+_0x663c22(0x168)+_0x14a1c1[_0x663c22(0x164)]};},async 'execute'(_0x27f8f7){const _0xb3fafc=a190_0x2813b0,_0x4f948c=loadSqlProjectConfig(_0x27f8f7['appCode']),_0x594b3b=await readSqlLockFile(_0x4f948c[_0xb3fafc(0x169)]),{lockData:_0x52d0cf,appLock:_0x2c28b7}=ensureSqlLockScope(_0x594b3b??createEmptySqlLock(),_0x4f948c['appCode'],_0x4f948c[_0xb3fafc(0x165)],'pull'),_0x31c155=_0x27f8f7['bool']('force'),_0x362032=await fetchAllSqlQueries(_0x27f8f7[_0xb3fafc(0x174)],{'sqlCode':_0x27f8f7[_0xb3fafc(0x189)](_0xb3fafc(0x16d))||undefined,'sqlName':_0x27f8f7[_0xb3fafc(0x189)]('name')||undefined});if(_0x362032[_0xb3fafc(0x17f)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0xb3fafc(0x176)};const _0x5cb672=[],_0x236e41=[];for(const _0x56c8f8 of _0x362032){try{_0x5cb672[_0xb3fafc(0x162)](await ensureSqlContent(_0x56c8f8));}catch(_0x371b32){_0x236e41[_0xb3fafc(0x162)]({'sqlCode':_0x56c8f8[_0xb3fafc(0x19a)],'error':_0x371b32 instanceof Error?_0x371b32[_0xb3fafc(0x199)]:String(_0x371b32)});}}if(_0x31c155&&!_0x27f8f7[_0xb3fafc(0x183)]){let _0x4d2140=![];for(const _0x482c37 of _0x5cb672){const _0x10f6de=detectModeFromSql(_0x482c37),_0x36117=_0x482c37['dbId']?await getDbName(_0x27f8f7[_0xb3fafc(0x174)],Number(_0x482c37['dbId']))[_0xb3fafc(0x179)](()=>undefined):undefined,_0x4f9b94=buildLocalSqlFileContent({'sqlCode':_0x482c37[_0xb3fafc(0x19a)],'sqlName':_0x482c37[_0xb3fafc(0x161)],'dbId':_0x482c37[_0xb3fafc(0x185)]},ensureRemoteSqlContent(_0x482c37),{'dbName':_0x36117,'mode':_0x10f6de,'syncedAt':new Date()[_0xb3fafc(0x198)](),'description':_0x482c37[_0xb3fafc(0x180)]}),_0x3961db=resolveLocalSqlFilePath(_0x4f948c,_0x482c37['sqlCode'],buildSqlLockEntry(_0x482c37,ensureRemoteSqlContent(_0x482c37),'',{'dbName':_0x36117}));if(await fileExists(_0x3961db)){const _0x246302=await readFile(_0x3961db,_0xb3fafc(0x17a));if(!isEquivalentPulledSqlFile(_0x246302,_0x4f9b94,_0x10f6de)){_0x4d2140=!![];break;}}}if(_0x4d2140){const _0x1de220=await confirmForceOverwrite(_0xb3fafc(0x170));if(!_0x1de220)throw CliErrors[_0xb3fafc(0x18b)](_0xb3fafc(0x18d));}}const _0x290619=cloneSqlLockData(_0x52d0cf),_0x117cf7=_0x290619[_0xb3fafc(0x178)][_0x4f948c[_0xb3fafc(0x174)]],_0x20baa5=[],_0x28103d=[];for(const _0xa50f48 of _0x5cb672){const _0x340242=_0x117cf7[_0xb3fafc(0x166)][_0xa50f48[_0xb3fafc(0x19a)]],_0x51048f=ensureRemoteSqlContent(_0xa50f48),_0x5e7eae=detectModeFromSql(_0xa50f48),_0x455393=_0xa50f48[_0xb3fafc(0x185)]?await getDbName(_0x27f8f7[_0xb3fafc(0x174)],Number(_0xa50f48[_0xb3fafc(0x185)]))[_0xb3fafc(0x179)](()=>undefined):undefined,_0x496cc8=buildLocalSqlFileContent({'sqlCode':_0xa50f48[_0xb3fafc(0x19a)],'sqlName':_0xa50f48[_0xb3fafc(0x161)],'dbId':_0xa50f48[_0xb3fafc(0x185)]},_0x51048f,{'dbName':_0x455393,'mode':_0x5e7eae,'syncedAt':new Date()[_0xb3fafc(0x198)](),'description':_0xa50f48['description']}),_0x1680c2=buildSqlLockEntry(_0xa50f48,_0x51048f,computeSqlContentHash(_0x496cc8),{'dbName':_0x455393}),_0x3d6c2d=_0x1680c2['path'],_0x4d8d4c=join(_0x4f948c[_0xb3fafc(0x164)],_0x3d6c2d);try{if(await fileExists(_0x4d8d4c)){const _0x3ee297=await readFile(_0x4d8d4c,_0xb3fafc(0x17a));if(isEquivalentPulledSqlFile(_0x3ee297,_0x496cc8,_0x5e7eae)){_0x28103d[_0xb3fafc(0x162)]({'sqlCode':_0xa50f48['sqlCode'],'reason':_0xb3fafc(0x17e)}),_0x117cf7[_0xb3fafc(0x166)][_0xa50f48[_0xb3fafc(0x19a)]]={..._0x1680c2,'hash':computeSqlContentHash(_0x3ee297),'path':_0x3d6c2d};continue;}if(!_0x31c155){_0x28103d[_0xb3fafc(0x162)]({'sqlCode':_0xa50f48[_0xb3fafc(0x19a)],'reason':_0xb3fafc(0x171)});continue;}}const _0x518c15=_0x340242?.[_0xb3fafc(0x187)]?join(_0x4f948c['sqlRootDir'],_0x340242[_0xb3fafc(0x187)]):undefined;_0x518c15&&_0x518c15!==_0x4d8d4c&&await fileExists(_0x518c15)&&await rm(_0x518c15,{'force':!![]}),await ensureParentDirectory(_0x4d8d4c),await writeFile(_0x4d8d4c,_0x496cc8,_0xb3fafc(0x17a)),_0x117cf7[_0xb3fafc(0x166)][_0xa50f48[_0xb3fafc(0x19a)]]={..._0x1680c2,'path':_0x3d6c2d},_0x20baa5[_0xb3fafc(0x162)]({'sqlCode':_0xa50f48[_0xb3fafc(0x19a)],'filePath':_0x4d8d4c});}catch(_0x31ab20){_0x236e41[_0xb3fafc(0x162)]({'sqlCode':_0xa50f48['sqlCode'],'error':_0x31ab20 instanceof Error?_0x31ab20[_0xb3fafc(0x199)]:String(_0x31ab20)});}}return _0x117cf7[_0xb3fafc(0x16b)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4f948c[_0xb3fafc(0x169)],_0x290619),{'ok':_0x236e41[_0xb3fafc(0x17f)]===0x0,'data':{'pulled':_0x20baa5,'skipped':_0x28103d,'failed':_0x236e41},'message':_0xb3fafc(0x16f)+_0x20baa5[_0xb3fafc(0x17f)]+_0xb3fafc(0x191)+_0x28103d['length']+'\x20skipped,\x20'+_0x236e41['length']+_0xb3fafc(0x17b)};}};function detectModeFromSql(_0x2f7ffa){const _0x320a28=a190_0x2813b0,_0xb73da3=ensureRemoteSqlContent(_0x2f7ffa),_0x4cea23=stripLocalSqlMetadata(_0xb73da3,_0x320a28(0x19b))[_0x320a28(0x197)]();if(/^<(select|insert|update|delete)\b/i['test'](_0x4cea23))return _0x320a28(0x19b);return'sql';}function isEquivalentPulledSqlFile(_0x24f5b9,_0x4ffed1,_0x222214){return normalizePullComparableContent(_0x24f5b9,_0x222214)===normalizePullComparableContent(_0x4ffed1,_0x222214);}function normalizePullComparableContent(_0x3aa39f,_0x101176){const _0x464643=a190_0x2813b0,_0x22ce69=_0x3aa39f[_0x464643(0x193)](/\r\n/g,'\x0a')[_0x464643(0x16c)]('\x0a'),_0x22bd55=_0x22ce69[_0x464643(0x173)](_0x4203e1=>!isSyncedAtMetadataLine(_0x4203e1,_0x101176));return _0x22bd55['join']('\x0a');}function isSyncedAtMetadataLine(_0x1489cc,_0xc1c30e){const _0x3ae4f5=a190_0x2813b0;if(_0xc1c30e===_0x3ae4f5(0x19b))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x3ae4f5(0x18a)](_0x1489cc);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x1489cc);}
|
|
1
|
+
const a190_0x44a80a=a190_0x165c;function a190_0x165c(_0x13f4d7,_0xc3990d){_0x13f4d7=_0x13f4d7-0x1f1;const _0xdb39ae=a190_0xdb39();let _0x165c3c=_0xdb39ae[_0x13f4d7];return _0x165c3c;}(function(_0x223991,_0x33eae3){const _0x223140=a190_0x165c,_0x35fb55=_0x223991();while(!![]){try{const _0x4ef392=parseInt(_0x223140(0x1f6))/0x1*(parseInt(_0x223140(0x20f))/0x2)+parseInt(_0x223140(0x21d))/0x3*(parseInt(_0x223140(0x21b))/0x4)+-parseInt(_0x223140(0x1f5))/0x5+parseInt(_0x223140(0x211))/0x6*(parseInt(_0x223140(0x20d))/0x7)+parseInt(_0x223140(0x203))/0x8+parseInt(_0x223140(0x208))/0x9*(parseInt(_0x223140(0x204))/0xa)+parseInt(_0x223140(0x227))/0xb*(-parseInt(_0x223140(0x201))/0xc);if(_0x4ef392===_0x33eae3)break;else _0x35fb55['push'](_0x35fb55['shift']());}catch(_0x4a01ec){_0x35fb55['push'](_0x35fb55['shift']());}}}(a190_0xdb39,0xcd1ea));import{readFile,rm,writeFile}from'node:fs/promises';function a190_0xdb39(){const _0x2ea1ed=['length','sqlRoot','utf8','catch','4125nDfQHH','join','appCode','unchanged','dbId','\x20failed','str','bool','\x20written,\x20','7556860iFHJbx','2018goQNuN','force','sql','name','sqlCode','message','conflict','cancelled','lockFilePath','local\x20differs\x20from\x20remote','sqlName','59412PQjcaB','\x20SQL\x20file(s)\x20into\x20','2196152lVhVEG','40eGmdes','lastSync','string','sqlContent','817272zJsNnO','Would\x20pull\x20','Force\x20pull\x20cancelled.','pull','sqls','7iZXIhH','push','1622nyoTAl','sqlcode','7172148lnnPns','mybatisXml','No\x20remote\x20SQL\x20queries\x20matched.','nonInteractive','path','sqlRootDir','description','trimStart','paging','tableData','16HWVhAV','POST','553845yTzdlT','test','read','toISOString','apps','Filter\x20by\x20SQL\x20display\x20name'];a190_0xdb39=function(){return _0x2ea1ed;};return a190_0xdb39();}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(_0x2dd4f0,_0x59f951){const _0x51d90d=a190_0x165c,_0x374b03=[];let _0x37e297=0x1;while(!![]){const _0x301112=await listSqlQueries(_0x2dd4f0,{'currentPage':_0x37e297,'pageSize':PAGE_SIZE,'sqlCode':_0x59f951['sqlCode'],'sqlName':_0x59f951[_0x51d90d(0x200)]}),_0x260653=_0x301112[_0x51d90d(0x21a)]??[];_0x374b03[_0x51d90d(0x20e)](..._0x260653);if(_0x260653[_0x51d90d(0x223)]===0x0)break;const _0x2f1903=_0x301112[_0x51d90d(0x219)]?.['totalCount'];if(_0x2f1903!=null?_0x374b03['length']>=_0x2f1903:_0x260653[_0x51d90d(0x223)]<PAGE_SIZE)break;_0x37e297++;}return _0x374b03;}async function ensureSqlContent(_0x4f6930){const _0x146b27=a190_0x165c;if(_0x4f6930[_0x146b27(0x207)]!=null&&String(_0x4f6930[_0x146b27(0x207)])[_0x146b27(0x223)]>0x0)return _0x4f6930;return getSqlQueryDetail(_0x4f6930[_0x146b27(0x1fa)]);}export const sqlPull={'service':a190_0x44a80a(0x1f8),'command':a190_0x44a80a(0x20b),'description':'Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','risk':a190_0x44a80a(0x21f),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a190_0x44a80a(0x206),'description':a190_0x44a80a(0x222)},{'name':a190_0x44a80a(0x1f7),'type':'boolean','description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x2d87dc){const _0x354c28=a190_0x44a80a,_0x27427e=loadSqlProjectConfig(_0x2d87dc[_0x354c28(0x229)]),_0x4628fa=await readSqlLockFile(_0x27427e[_0x354c28(0x1fe)]),{appLock:_0x103b8e}=ensureSqlLockScope(_0x4628fa??createEmptySqlLock(),_0x27427e[_0x354c28(0x229)],_0x27427e[_0x354c28(0x224)],'pull'),_0xe832a1=await fetchAllSqlQueries(_0x2d87dc[_0x354c28(0x229)],{'sqlCode':_0x2d87dc[_0x354c28(0x1f2)]('sqlcode')||undefined,'sqlName':_0x2d87dc[_0x354c28(0x1f2)]('name')||undefined}),_0x246f4d=[];for(const _0x21496c of _0xe832a1){const _0x41cf90=await ensureSqlContent(_0x21496c),_0x22c66e=ensureRemoteSqlContent(_0x41cf90),_0x1a0089=detectModeFromSql(_0x41cf90),_0x207131=_0x41cf90['dbId']?await getDbName(_0x2d87dc[_0x354c28(0x229)],Number(_0x41cf90[_0x354c28(0x22b)]))[_0x354c28(0x226)](()=>undefined):undefined,_0x697128=buildLocalSqlFileContent({'sqlCode':_0x41cf90[_0x354c28(0x1fa)],'sqlName':_0x41cf90[_0x354c28(0x200)],'dbId':_0x41cf90['dbId']},_0x22c66e,{'dbName':_0x207131,'mode':_0x1a0089,'syncedAt':new Date()[_0x354c28(0x220)](),'description':_0x41cf90[_0x354c28(0x217)]}),_0x2ee6f4=buildSqlLockEntry(_0x41cf90,_0x22c66e,'',{'dbName':_0x207131}),_0x5aff05=resolveLocalSqlFilePath(_0x27427e,_0x41cf90[_0x354c28(0x1fa)],_0x2ee6f4);let _0x3abb48='would_pull',_0x32b847;if(await fileExists(_0x5aff05)){const _0x17ae5c=await readFile(_0x5aff05,'utf8');isEquivalentPulledSqlFile(_0x17ae5c,_0x697128,_0x1a0089)?(_0x3abb48='skipped',_0x32b847=_0x354c28(0x22a)):(_0x3abb48=_0x354c28(0x1fc),_0x32b847='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x246f4d['push']({'sqlCode':_0x41cf90[_0x354c28(0x1fa)],'sqlName':_0x41cf90[_0x354c28(0x200)],'filePath':_0x5aff05,'status':_0x3abb48,'reason':_0x32b847});}return{'method':_0x354c28(0x21c),'url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x2d87dc[_0x354c28(0x229)],'sqlCode':_0x2d87dc['str'](_0x354c28(0x210))||null,'sqlName':_0x2d87dc[_0x354c28(0x1f2)]('name')||null,'files':_0x246f4d},'description':_0x354c28(0x209)+_0x246f4d[_0x354c28(0x223)]+_0x354c28(0x202)+_0x27427e[_0x354c28(0x216)]};},async 'execute'(_0x126aea){const _0x55443e=a190_0x44a80a,_0x509d96=loadSqlProjectConfig(_0x126aea[_0x55443e(0x229)]),_0x41cc8b=await readSqlLockFile(_0x509d96[_0x55443e(0x1fe)]),{lockData:_0x27650c,appLock:_0x22a761}=ensureSqlLockScope(_0x41cc8b??createEmptySqlLock(),_0x509d96[_0x55443e(0x229)],_0x509d96['sqlRoot'],_0x55443e(0x20b)),_0x1d13f4=_0x126aea[_0x55443e(0x1f3)](_0x55443e(0x1f7)),_0x56a040=await fetchAllSqlQueries(_0x126aea[_0x55443e(0x229)],{'sqlCode':_0x126aea[_0x55443e(0x1f2)](_0x55443e(0x210))||undefined,'sqlName':_0x126aea[_0x55443e(0x1f2)](_0x55443e(0x1f9))||undefined});if(_0x56a040[_0x55443e(0x223)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x55443e(0x213)};const _0x509db8=[],_0x621880=[];for(const _0x589d2a of _0x56a040){try{_0x509db8[_0x55443e(0x20e)](await ensureSqlContent(_0x589d2a));}catch(_0x45fa0c){_0x621880[_0x55443e(0x20e)]({'sqlCode':_0x589d2a[_0x55443e(0x1fa)],'error':_0x45fa0c instanceof Error?_0x45fa0c[_0x55443e(0x1fb)]:String(_0x45fa0c)});}}if(_0x1d13f4&&!_0x126aea[_0x55443e(0x214)]){let _0x37121a=![];for(const _0x2ba7b6 of _0x509db8){const _0x1b118a=detectModeFromSql(_0x2ba7b6),_0x2ec67b=_0x2ba7b6['dbId']?await getDbName(_0x126aea[_0x55443e(0x229)],Number(_0x2ba7b6['dbId']))[_0x55443e(0x226)](()=>undefined):undefined,_0x455967=buildLocalSqlFileContent({'sqlCode':_0x2ba7b6[_0x55443e(0x1fa)],'sqlName':_0x2ba7b6['sqlName'],'dbId':_0x2ba7b6[_0x55443e(0x22b)]},ensureRemoteSqlContent(_0x2ba7b6),{'dbName':_0x2ec67b,'mode':_0x1b118a,'syncedAt':new Date()['toISOString'](),'description':_0x2ba7b6[_0x55443e(0x217)]}),_0x184387=resolveLocalSqlFilePath(_0x509d96,_0x2ba7b6[_0x55443e(0x1fa)],buildSqlLockEntry(_0x2ba7b6,ensureRemoteSqlContent(_0x2ba7b6),'',{'dbName':_0x2ec67b}));if(await fileExists(_0x184387)){const _0x2ee274=await readFile(_0x184387,_0x55443e(0x225));if(!isEquivalentPulledSqlFile(_0x2ee274,_0x455967,_0x1b118a)){_0x37121a=!![];break;}}}if(_0x37121a){const _0x53eeb8=await confirmForceOverwrite('Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.');if(!_0x53eeb8)throw CliErrors[_0x55443e(0x1fd)](_0x55443e(0x20a));}}const _0x3ff678=cloneSqlLockData(_0x27650c),_0x2e25ec=_0x3ff678[_0x55443e(0x221)][_0x509d96[_0x55443e(0x229)]],_0x3df270=[],_0x1536af=[];for(const _0x50d3ea of _0x509db8){const _0x153897=_0x2e25ec[_0x55443e(0x20c)][_0x50d3ea['sqlCode']],_0x439b69=ensureRemoteSqlContent(_0x50d3ea),_0x2eb430=detectModeFromSql(_0x50d3ea),_0x445673=_0x50d3ea[_0x55443e(0x22b)]?await getDbName(_0x126aea['appCode'],Number(_0x50d3ea[_0x55443e(0x22b)]))[_0x55443e(0x226)](()=>undefined):undefined,_0x153f81=buildLocalSqlFileContent({'sqlCode':_0x50d3ea[_0x55443e(0x1fa)],'sqlName':_0x50d3ea[_0x55443e(0x200)],'dbId':_0x50d3ea['dbId']},_0x439b69,{'dbName':_0x445673,'mode':_0x2eb430,'syncedAt':new Date()['toISOString'](),'description':_0x50d3ea[_0x55443e(0x217)]}),_0x3e494d=buildSqlLockEntry(_0x50d3ea,_0x439b69,computeSqlContentHash(_0x153f81),{'dbName':_0x445673}),_0x36ba30=_0x3e494d[_0x55443e(0x215)],_0x3aee2b=join(_0x509d96['sqlRootDir'],_0x36ba30);try{if(await fileExists(_0x3aee2b)){const _0x3d1c37=await readFile(_0x3aee2b,'utf8');if(isEquivalentPulledSqlFile(_0x3d1c37,_0x153f81,_0x2eb430)){_0x1536af[_0x55443e(0x20e)]({'sqlCode':_0x50d3ea[_0x55443e(0x1fa)],'reason':'unchanged'}),_0x2e25ec[_0x55443e(0x20c)][_0x50d3ea['sqlCode']]={..._0x3e494d,'hash':computeSqlContentHash(_0x3d1c37),'path':_0x36ba30};continue;}if(!_0x1d13f4){_0x1536af[_0x55443e(0x20e)]({'sqlCode':_0x50d3ea[_0x55443e(0x1fa)],'reason':_0x55443e(0x1ff)});continue;}}const _0x3a6d42=_0x153897?.[_0x55443e(0x215)]?join(_0x509d96[_0x55443e(0x216)],_0x153897[_0x55443e(0x215)]):undefined;_0x3a6d42&&_0x3a6d42!==_0x3aee2b&&await fileExists(_0x3a6d42)&&await rm(_0x3a6d42,{'force':!![]}),await ensureParentDirectory(_0x3aee2b),await writeFile(_0x3aee2b,_0x153f81,_0x55443e(0x225)),_0x2e25ec[_0x55443e(0x20c)][_0x50d3ea[_0x55443e(0x1fa)]]={..._0x3e494d,'path':_0x36ba30},_0x3df270[_0x55443e(0x20e)]({'sqlCode':_0x50d3ea[_0x55443e(0x1fa)],'filePath':_0x3aee2b});}catch(_0x59b2f6){_0x621880[_0x55443e(0x20e)]({'sqlCode':_0x50d3ea[_0x55443e(0x1fa)],'error':_0x59b2f6 instanceof Error?_0x59b2f6['message']:String(_0x59b2f6)});}}return _0x2e25ec[_0x55443e(0x205)]=new Date()['toISOString'](),await writeSqlLockFile(_0x509d96[_0x55443e(0x1fe)],_0x3ff678),{'ok':_0x621880['length']===0x0,'data':{'pulled':_0x3df270,'skipped':_0x1536af,'failed':_0x621880},'message':'Pull\x20complete:\x20'+_0x3df270[_0x55443e(0x223)]+_0x55443e(0x1f4)+_0x1536af[_0x55443e(0x223)]+'\x20skipped,\x20'+_0x621880['length']+_0x55443e(0x1f1)};}};function detectModeFromSql(_0x4b3894){const _0x70ee4d=a190_0x44a80a,_0x2cb1de=ensureRemoteSqlContent(_0x4b3894),_0x3ffca0=stripLocalSqlMetadata(_0x2cb1de,'mybatisXml')[_0x70ee4d(0x218)]();if(/^<(select|insert|update|delete)\b/i[_0x70ee4d(0x21e)](_0x3ffca0))return'mybatisXml';return _0x70ee4d(0x1f8);}function isEquivalentPulledSqlFile(_0x2c9046,_0xd0a9da,_0x26b29b){return normalizePullComparableContent(_0x2c9046,_0x26b29b)===normalizePullComparableContent(_0xd0a9da,_0x26b29b);}function normalizePullComparableContent(_0x4f21b8,_0x2455de){const _0x2c6e10=a190_0x44a80a,_0x4a1654=_0x4f21b8['replace'](/\r\n/g,'\x0a')['split']('\x0a'),_0x358c71=_0x4a1654['filter'](_0x2e8410=>!isSyncedAtMetadataLine(_0x2e8410,_0x2455de));return _0x358c71[_0x2c6e10(0x228)]('\x0a');}function isSyncedAtMetadataLine(_0x233e87,_0x3971fa){const _0x5e2d49=a190_0x44a80a;if(_0x3971fa===_0x5e2d49(0x212))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x5e2d49(0x21e)](_0x233e87);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x5e2d49(0x21e)](_0x233e87);}
|
package/lib/commands/sql/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a191_0x5a8010=a191_0x42ed;function a191_0x294d(){const _0x398215=['POST','dbId','130888KMfWnl','projectRoot','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','sql','sqlRootDir','catch','map','hash','\x20skipped,\x20','No\x20database\x20matches\x20local\x20directory\x20\x22','3060747lwQLkk','sqlConfig','exec','force','entries','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','message','mode','Would\x20push\x20','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','bool','sqlName','\x22\x20for\x20sqlCode\x20','sqls','6ncDzPr','sqlCode','\x20SQL\x20file(s)','875545XoZCAq','590358NLGAYS','130542jqGNhc','length','\x20pushed,\x20','path','140ULdolh','1423590rukMhg','Push\x20local\x20SQL\x20files\x20to\x20remote','write','set','appCode','10gulmDQ','join','validation','dbDirectory','trashDir','toISOString','relativePath','startsWith','filePath','sqlcode','remoteId','has','3353708byONfw','push','220kxVUpj','filter','version','Local\x20SQL\x20not\x20found:\x20','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','dbName'];a191_0x294d=function(){return _0x398215;};return a191_0x294d();}(function(_0x478955,_0x2e9e9c){const _0x2aab05=a191_0x42ed,_0x4126ad=_0x478955();while(!![]){try{const _0x521ad3=parseInt(_0x2aab05(0x14f))/0x1+-parseInt(_0x2aab05(0x11c))/0x2*(-parseInt(_0x2aab05(0x14e))/0x3)+parseInt(_0x2aab05(0x128))/0x4+parseInt(_0x2aab05(0x154))/0x5*(-parseInt(_0x2aab05(0x14a))/0x6)+-parseInt(_0x2aab05(0x153))/0x7*(-parseInt(_0x2aab05(0x132))/0x8)+parseInt(_0x2aab05(0x13c))/0x9+parseInt(_0x2aab05(0x12a))/0xa*(-parseInt(_0x2aab05(0x14d))/0xb);if(_0x521ad3===_0x2e9e9c)break;else _0x4126ad['push'](_0x4126ad['shift']());}catch(_0x34bd9c){_0x4126ad['push'](_0x4126ad['shift']());}}}(a191_0x294d,0x8eaca));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';function a191_0x42ed(_0x25ad8a,_0x9a480f){_0x25ad8a=_0x25ad8a-0x118;const _0x294d7e=a191_0x294d();let _0x42eddc=_0x294d7e[_0x25ad8a];return _0x42eddc;}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(_0x270af4,_0x502c4f,_0x227180){const _0x56a384=a191_0x42ed,_0x239139=await scanLocalSqlQueries(_0x270af4),_0xfd1e2a=new Map();for(const _0x4c470a of _0x239139){if(_0x227180&&_0x4c470a['sqlCode']!==_0x227180)continue;const _0x2d034b=_0xfd1e2a['get'](_0x4c470a[_0x56a384(0x14b)])??[];_0x2d034b['push'](_0x4c470a),_0xfd1e2a[_0x56a384(0x11a)](_0x4c470a[_0x56a384(0x14b)],_0x2d034b);}if(_0x227180&&!_0xfd1e2a[_0x56a384(0x127)](_0x227180))throw CliErrors[_0x56a384(0x11e)](_0x56a384(0x12d)+_0x227180);const _0x172faa=[];for(const [_0x15b9dd,_0x262cdc]of _0xfd1e2a[_0x56a384(0x140)]()){if(_0x262cdc[_0x56a384(0x150)]===0x1){_0x172faa[_0x56a384(0x129)](_0x262cdc[0x0]);continue;}const _0x35ada4=_0x502c4f['sqls'][_0x15b9dd],_0x2286d2=_0x35ada4?.[_0x56a384(0x152)],_0xdcf926=_0x2286d2?_0x262cdc[_0x56a384(0x12b)](_0x593f12=>_0x593f12[_0x56a384(0x122)]!==_0x2286d2):_0x262cdc;if(_0x35ada4&&_0xdcf926[_0x56a384(0x150)]===0x1){_0x172faa['push'](_0xdcf926[0x0]);continue;}throw CliErrors['validation'](_0x56a384(0x12e)+_0x15b9dd+'.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.');}return _0x172faa;}export const sqlPush={'service':a191_0x5a8010(0x135),'command':a191_0x5a8010(0x129),'description':a191_0x5a8010(0x118),'risk':a191_0x5a8010(0x119),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a191_0x5a8010(0x13f),'type':'boolean','description':a191_0x5a8010(0x134)}],async 'dryRun'(_0x29fac8){const _0x19e010=a191_0x5a8010,_0x4ec45a=loadSqlProjectConfig(_0x29fac8['appCode']),_0x24b425=await readSqlLockFile(_0x4ec45a['lockFilePath']),{appLock:_0x2d8048}=ensureSqlLockScope(_0x24b425??createEmptySqlLock(),_0x29fac8[_0x19e010(0x11b)],_0x4ec45a['sqlRoot'],_0x19e010(0x129)),_0x3aa893=await getTargetSqlQueries(_0x4ec45a,_0x2d8048,_0x29fac8['str'](_0x19e010(0x125))||undefined),_0x2d92b2=[];for(const _0x49f676 of _0x3aa893){const _0x3d1ddb=await computeSqlFileHash(_0x49f676[_0x19e010(0x124)]),_0x7fa329=_0x2d8048[_0x19e010(0x149)][_0x49f676[_0x19e010(0x14b)]],_0xa40dc2=!!_0x7fa329&&(_0x7fa329[_0x19e010(0x152)]!==_0x49f676[_0x19e010(0x122)]||!!_0x49f676[_0x19e010(0x147)]&&_0x7fa329[_0x19e010(0x147)]!==_0x49f676['sqlName']);if(!_0x29fac8[_0x19e010(0x146)](_0x19e010(0x13f))&&_0x7fa329&&_0x7fa329[_0x19e010(0x139)]===_0x3d1ddb&&!_0xa40dc2)continue;_0x2d92b2[_0x19e010(0x129)](_0x49f676[_0x19e010(0x14b)]);}return{'method':_0x19e010(0x130),'url':'/smartapi/custom/updateUserCustomSql','body':{'sqlCodes':_0x2d92b2,'appCode':_0x29fac8[_0x19e010(0x11b)]},'description':_0x19e010(0x144)+_0x2d92b2[_0x19e010(0x150)]+_0x19e010(0x14c)};},async 'execute'(_0x48a30f){const _0xadf265=a191_0x5a8010,_0x21d4f8=loadSqlProjectConfig(_0x48a30f[_0xadf265(0x11b)]),_0x557bd8=await readSqlLockFile(_0x21d4f8['lockFilePath']),{lockData:_0x5be615,appLock:_0x234e5f}=ensureSqlLockScope(_0x557bd8??createEmptySqlLock(),_0x48a30f[_0xadf265(0x11b)],_0x21d4f8['sqlRoot'],_0xadf265(0x129)),_0x3a77da=await getTargetSqlQueries(_0x21d4f8,_0x234e5f,_0x48a30f['str'](_0xadf265(0x125))||undefined);if(_0x3a77da[_0xadf265(0x150)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x5b0b7f=[],_0x40f334=[],_0x335fdc=[];for(const _0x850870 of _0x3a77da){const _0x5dace5=_0x234e5f[_0xadf265(0x149)][_0x850870[_0xadf265(0x14b)]];if(!_0x5dace5){_0x335fdc[_0xadf265(0x129)]({'sqlCode':_0x850870[_0xadf265(0x14b)],'error':'local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first'});continue;}try{const _0x251101=await computeSqlFileHash(_0x850870[_0xadf265(0x124)]),_0x138fdf=_0x5dace5[_0xadf265(0x152)]!==_0x850870[_0xadf265(0x122)]||!!_0x850870['sqlName']&&_0x5dace5[_0xadf265(0x147)]!==_0x850870[_0xadf265(0x147)];if(!_0x48a30f[_0xadf265(0x146)]('force')&&_0x5dace5[_0xadf265(0x139)]===_0x251101&&!_0x138fdf){_0x40f334[_0xadf265(0x129)]({'sqlCode':_0x850870[_0xadf265(0x14b)],'reason':'unchanged'});continue;}if(_0x5dace5[_0xadf265(0x12c)]==null){_0x335fdc['push']({'sqlCode':_0x850870[_0xadf265(0x14b)],'error':_0xadf265(0x145)});continue;}const _0x50967d=await readFile(_0x850870[_0xadf265(0x124)],'utf8'),_0x44675a=stripLocalSqlMetadata(_0x50967d,_0x850870[_0xadf265(0x143)]),_0x1eb1dc=_0x850870[_0xadf265(0x147)]||_0x5dace5[_0xadf265(0x147)],_0x167f56=await resolveTargetDbBinding(_0x48a30f[_0xadf265(0x11b)],_0x850870,_0x5dace5),_0x4fdc87=await updateSqlQuery({'id':_0x5dace5[_0xadf265(0x126)],'appCode':_0x48a30f[_0xadf265(0x11b)],'sqlCode':_0x850870['sqlCode'],'sqlName':_0x1eb1dc,'dbId':_0x167f56['dbId'],'version':_0x5dace5[_0xadf265(0x12c)],'sqlContent':_0x44675a,'sqlConfig':_0x5dace5[_0xadf265(0x13d)]??undefined}),_0x5432a8=_0x4fdc87[_0xadf265(0x131)]?await getDbName(_0x48a30f[_0xadf265(0x11b)],Number(_0x4fdc87[_0xadf265(0x131)]))[_0xadf265(0x137)](()=>_0x167f56[_0xadf265(0x12f)]):_0x167f56['dbName'];_0x234e5f['sqls'][_0x850870['sqlCode']]={...buildSqlLockEntry(_0x4fdc87,_0x44675a,_0x251101,{'dbName':_0x5432a8}),'path':_0x850870[_0xadf265(0x122)],'mode':_0x5dace5[_0xadf265(0x143)]},await archivePreviousSqlFileIfNeeded(_0x21d4f8,_0x5dace5[_0xadf265(0x152)],_0x850870[_0xadf265(0x122)]),_0x5b0b7f['push']({'sqlCode':_0x850870[_0xadf265(0x14b)],'remoteId':_0x5dace5[_0xadf265(0x126)]});}catch(_0x24365e){_0x335fdc[_0xadf265(0x129)]({'sqlCode':_0x850870['sqlCode'],'error':_0x24365e instanceof Error?_0x24365e[_0xadf265(0x142)]:String(_0x24365e)});}}return _0x234e5f['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x21d4f8['lockFilePath'],_0x5be615),{'ok':_0x335fdc[_0xadf265(0x150)]===0x0,'data':{'pushed':_0x5b0b7f,'skipped':_0x40f334,'failed':_0x335fdc},'message':'Push\x20complete:\x20'+_0x5b0b7f[_0xadf265(0x150)]+_0xadf265(0x151)+_0x40f334[_0xadf265(0x150)]+_0xadf265(0x13a)+_0x335fdc[_0xadf265(0x150)]+'\x20failed'};}};async function archivePreviousSqlFileIfNeeded(_0x3cda6d,_0x3adf90,_0x31519b){const _0x42fdd7=a191_0x5a8010;if(!_0x3adf90||_0x3adf90===_0x31519b)return;const _0x2a5122=join(_0x3cda6d['sqlRootDir'],_0x3adf90);if(!await fileExists(_0x2a5122))return;const _0x53da09=await moveToTrash(_0x3cda6d[_0x42fdd7(0x133)],_0x3cda6d[_0x42fdd7(0x120)],_0x2a5122);await cleanupEmptyDirectories(dirname(_0x2a5122),_0x3cda6d[_0x42fdd7(0x136)]),void _0x53da09;}async function moveToTrash(_0x47a725,_0x575d8f,_0xe7f43b){const _0x5edfb0=a191_0x5a8010,_0x364d20=new Date()[_0x5edfb0(0x121)]()['replace'](/[:.]/g,'-'),_0x210cca=relative(_0x47a725,_0xe7f43b),_0x3c7714=join(_0x575d8f,_0x364d20,_0x210cca);return await mkdir(dirname(_0x3c7714),{'recursive':!![]}),await rename(_0xe7f43b,_0x3c7714),_0x3c7714;}async function cleanupEmptyDirectories(_0xb2799f,_0x13af3d){const _0x380f60=a191_0x5a8010;let _0xfe8b4c=resolve(_0xb2799f);const _0x58266e=resolve(_0x13af3d);while(_0xfe8b4c[_0x380f60(0x123)](''+_0x58266e+sep)||_0xfe8b4c===_0x58266e){if(_0xfe8b4c===_0x58266e)return;try{const _0x1cf692=await readdir(_0xfe8b4c);if(_0x1cf692['length']>0x0)return;await rmdir(_0xfe8b4c);}catch{return;}_0xfe8b4c=dirname(_0xfe8b4c);}}async function resolveTargetDbBinding(_0x46c7b3,_0x44f9b6,_0x1c299e){const _0x5588fc=a191_0x5a8010,_0xf5bcf7=_0x44f9b6[_0x5588fc(0x11f)];if(!_0xf5bcf7)return{'dbId':_0x1c299e['dbId'],'dbName':_0x1c299e[_0x5588fc(0x12f)]};const _0x6ea123=buildDbDirectoryName(_0x1c299e[_0x5588fc(0x12f)],_0x1c299e[_0x5588fc(0x131)]);if(_0xf5bcf7===_0x6ea123)return{'dbId':_0x1c299e[_0x5588fc(0x131)],'dbName':_0x1c299e[_0x5588fc(0x12f)]};const _0x8f48b2=parseExplicitDbDirectory(_0xf5bcf7);if(_0x8f48b2!=null)return{'dbId':_0x8f48b2,'dbName':await getDbName(_0x46c7b3,_0x8f48b2)[_0x5588fc(0x137)](()=>undefined)};const _0x32fd22=await listDatabases(_0x46c7b3),_0x2b9a88=_0x32fd22[_0x5588fc(0x12b)](_0x200aef=>buildDbDirectoryName(_0x200aef[_0x5588fc(0x12f)],_0x200aef[_0x5588fc(0x131)])===_0xf5bcf7);if(_0x2b9a88[_0x5588fc(0x150)]===0x1)return{'dbId':_0x2b9a88[0x0][_0x5588fc(0x131)],'dbName':_0x2b9a88[0x0][_0x5588fc(0x12f)]};if(_0x2b9a88['length']===0x0)throw CliErrors['validation'](_0x5588fc(0x13b)+_0xf5bcf7+_0x5588fc(0x148)+_0x44f9b6['sqlCode']+'.');const _0x397663=_0x2b9a88[_0x5588fc(0x138)](_0x4595a9=>_0x4595a9[_0x5588fc(0x12f)]+'\x20('+_0x4595a9[_0x5588fc(0x131)]+')')[_0x5588fc(0x11d)](',\x20');throw CliErrors['validation']('Local\x20directory\x20\x22'+_0xf5bcf7+_0x5588fc(0x141)+_0x44f9b6['sqlCode']+':\x20'+_0x397663);}function parseExplicitDbDirectory(_0x1beb18){const _0x2d9dd3=a191_0x5a8010,_0xf0a9c1=/^db-(\d+)$/[_0x2d9dd3(0x13e)](_0x1beb18);if(!_0xf0a9c1)return null;const _0x2ca598=Number(_0xf0a9c1[0x1]);return Number['isFinite'](_0x2ca598)&&_0x2ca598>0x0?_0x2ca598:null;}
|
|
1
|
+
const a191_0x17b999=a191_0x51d8;function a191_0x51d8(_0x27fe08,_0x49f33d){_0x27fe08=_0x27fe08-0x149;const _0x5574f5=a191_0x5574();let _0x51d841=_0x5574f5[_0x27fe08];return _0x51d841;}(function(_0x1d4364,_0xfec6b0){const _0x421d6c=a191_0x51d8,_0x482a45=_0x1d4364();while(!![]){try{const _0x5b2e08=parseInt(_0x421d6c(0x16e))/0x1+parseInt(_0x421d6c(0x14c))/0x2*(-parseInt(_0x421d6c(0x163))/0x3)+parseInt(_0x421d6c(0x186))/0x4*(parseInt(_0x421d6c(0x14b))/0x5)+-parseInt(_0x421d6c(0x18a))/0x6+-parseInt(_0x421d6c(0x170))/0x7*(parseInt(_0x421d6c(0x156))/0x8)+-parseInt(_0x421d6c(0x182))/0x9+-parseInt(_0x421d6c(0x150))/0xa*(-parseInt(_0x421d6c(0x16c))/0xb);if(_0x5b2e08===_0xfec6b0)break;else _0x482a45['push'](_0x482a45['shift']());}catch(_0x53bfec){_0x482a45['push'](_0x482a45['shift']());}}}(a191_0x5574,0xc66cc));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 a191_0x5574(){const _0x19c9a9=['relativePath','Push\x20local\x20SQL\x20files\x20to\x20remote','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','dbName','missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first','1152603eLkIFo','str','projectRoot','Local\x20SQL\x20not\x20found:\x20','4XFLGBU','path','hash','mode','8123514OrazQk','startsWith','sqls','trashDir','\x20pushed,\x20','4266855DKIsjh','1058584WpNaHz','bool','\x20skipped,\x20','catch','4561250pwZKIY','force','dbDirectory','replace','has','dbId','32TqwbIj','version','appCode','sqlName','sqlConfig','Would\x20push\x20','join','length','No\x20local\x20SQL\x20files\x20found.','filePath','validation','entries','\x22\x20for\x20sqlCode\x20','9SfFrdX','sqlRoot','unchanged','\x20failed','isFinite','message','get','lastSync','POST','77sSddaa','push','886740WYsaXo','sql','1838158vAUtkN','lockFilePath','sqlcode','Local\x20directory\x20\x22','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','filter','utf8','sqlRootDir','remoteId','sqlCode','toISOString','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'];a191_0x5574=function(){return _0x19c9a9;};return a191_0x5574();}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(_0x2848b9,_0x37482c,_0x141357){const _0x30c2d9=a191_0x51d8,_0x1d22c7=await scanLocalSqlQueries(_0x2848b9),_0x13773d=new Map();for(const _0x4ef966 of _0x1d22c7){if(_0x141357&&_0x4ef966['sqlCode']!==_0x141357)continue;const _0x7a46c3=_0x13773d[_0x30c2d9(0x169)](_0x4ef966[_0x30c2d9(0x17a)])??[];_0x7a46c3['push'](_0x4ef966),_0x13773d['set'](_0x4ef966['sqlCode'],_0x7a46c3);}if(_0x141357&&!_0x13773d[_0x30c2d9(0x154)](_0x141357))throw CliErrors[_0x30c2d9(0x160)](_0x30c2d9(0x185)+_0x141357);const _0x25adb5=[];for(const [_0x418e4f,_0x8ec646]of _0x13773d[_0x30c2d9(0x161)]()){if(_0x8ec646[_0x30c2d9(0x15d)]===0x1){_0x25adb5[_0x30c2d9(0x16d)](_0x8ec646[0x0]);continue;}const _0x309cd1=_0x37482c[_0x30c2d9(0x18c)][_0x418e4f],_0x34eb85=_0x309cd1?.[_0x30c2d9(0x187)],_0x35cf79=_0x34eb85?_0x8ec646[_0x30c2d9(0x176)](_0xbaac8a=>_0xbaac8a['relativePath']!==_0x34eb85):_0x8ec646;if(_0x309cd1&&_0x35cf79[_0x30c2d9(0x15d)]===0x1){_0x25adb5['push'](_0x35cf79[0x0]);continue;}throw CliErrors[_0x30c2d9(0x160)]('Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20'+_0x418e4f+_0x30c2d9(0x174));}return _0x25adb5;}export const sqlPush={'service':a191_0x17b999(0x16f),'command':'push','description':a191_0x17b999(0x17e),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a191_0x17b999(0x151),'type':'boolean','description':a191_0x17b999(0x17c)}],async 'dryRun'(_0x5520af){const _0x3dcd3d=a191_0x17b999,_0x1be3d5=loadSqlProjectConfig(_0x5520af['appCode']),_0x313513=await readSqlLockFile(_0x1be3d5['lockFilePath']),{appLock:_0x58a42c}=ensureSqlLockScope(_0x313513??createEmptySqlLock(),_0x5520af[_0x3dcd3d(0x158)],_0x1be3d5[_0x3dcd3d(0x164)],_0x3dcd3d(0x16d)),_0x5d7c75=await getTargetSqlQueries(_0x1be3d5,_0x58a42c,_0x5520af['str'](_0x3dcd3d(0x172))||undefined),_0x3f8ccf=[];for(const _0x4c7f45 of _0x5d7c75){const _0x4ad9ad=await computeSqlFileHash(_0x4c7f45[_0x3dcd3d(0x15f)]),_0x510880=_0x58a42c[_0x3dcd3d(0x18c)][_0x4c7f45[_0x3dcd3d(0x17a)]],_0x173d06=!!_0x510880&&(_0x510880[_0x3dcd3d(0x187)]!==_0x4c7f45[_0x3dcd3d(0x17d)]||!!_0x4c7f45[_0x3dcd3d(0x159)]&&_0x510880[_0x3dcd3d(0x159)]!==_0x4c7f45['sqlName']);if(!_0x5520af[_0x3dcd3d(0x14d)](_0x3dcd3d(0x151))&&_0x510880&&_0x510880[_0x3dcd3d(0x188)]===_0x4ad9ad&&!_0x173d06)continue;_0x3f8ccf['push'](_0x4c7f45[_0x3dcd3d(0x17a)]);}return{'method':_0x3dcd3d(0x16b),'url':'/smartapi/custom/updateUserCustomSql','body':{'sqlCodes':_0x3f8ccf,'appCode':_0x5520af[_0x3dcd3d(0x158)]},'description':_0x3dcd3d(0x15b)+_0x3f8ccf[_0x3dcd3d(0x15d)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x504cd4){const _0x5e834c=a191_0x17b999,_0x32920d=loadSqlProjectConfig(_0x504cd4[_0x5e834c(0x158)]),_0xeb5e24=await readSqlLockFile(_0x32920d[_0x5e834c(0x171)]),{lockData:_0x22b38e,appLock:_0x2b9a98}=ensureSqlLockScope(_0xeb5e24??createEmptySqlLock(),_0x504cd4[_0x5e834c(0x158)],_0x32920d[_0x5e834c(0x164)],_0x5e834c(0x16d)),_0x3fee78=await getTargetSqlQueries(_0x32920d,_0x2b9a98,_0x504cd4[_0x5e834c(0x183)](_0x5e834c(0x172))||undefined);if(_0x3fee78['length']===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0x5e834c(0x15e)};const _0x45e6aa=[],_0x395e62=[],_0x4e9792=[];for(const _0x3a1fd3 of _0x3fee78){const _0x3fc554=_0x2b9a98[_0x5e834c(0x18c)][_0x3a1fd3[_0x5e834c(0x17a)]];if(!_0x3fc554){_0x4e9792[_0x5e834c(0x16d)]({'sqlCode':_0x3a1fd3[_0x5e834c(0x17a)],'error':_0x5e834c(0x17f)});continue;}try{const _0x2f0fe8=await computeSqlFileHash(_0x3a1fd3['filePath']),_0x2b7819=_0x3fc554[_0x5e834c(0x187)]!==_0x3a1fd3[_0x5e834c(0x17d)]||!!_0x3a1fd3['sqlName']&&_0x3fc554[_0x5e834c(0x159)]!==_0x3a1fd3[_0x5e834c(0x159)];if(!_0x504cd4[_0x5e834c(0x14d)](_0x5e834c(0x151))&&_0x3fc554['hash']===_0x2f0fe8&&!_0x2b7819){_0x395e62['push']({'sqlCode':_0x3a1fd3[_0x5e834c(0x17a)],'reason':_0x5e834c(0x165)});continue;}if(_0x3fc554[_0x5e834c(0x157)]==null){_0x4e9792[_0x5e834c(0x16d)]({'sqlCode':_0x3a1fd3['sqlCode'],'error':_0x5e834c(0x181)});continue;}const _0x9ce48e=await readFile(_0x3a1fd3[_0x5e834c(0x15f)],_0x5e834c(0x177)),_0x35f526=stripLocalSqlMetadata(_0x9ce48e,_0x3a1fd3[_0x5e834c(0x189)]),_0x11942d=_0x3a1fd3[_0x5e834c(0x159)]||_0x3fc554['sqlName'],_0x96b4ec=await resolveTargetDbBinding(_0x504cd4[_0x5e834c(0x158)],_0x3a1fd3,_0x3fc554),_0x526fef=await updateSqlQuery({'id':_0x3fc554[_0x5e834c(0x179)],'appCode':_0x504cd4[_0x5e834c(0x158)],'sqlCode':_0x3a1fd3[_0x5e834c(0x17a)],'sqlName':_0x11942d,'dbId':_0x96b4ec[_0x5e834c(0x155)],'version':_0x3fc554[_0x5e834c(0x157)],'sqlContent':_0x35f526,'sqlConfig':_0x3fc554[_0x5e834c(0x15a)]??undefined}),_0x1dd49f=_0x526fef[_0x5e834c(0x155)]?await getDbName(_0x504cd4[_0x5e834c(0x158)],Number(_0x526fef[_0x5e834c(0x155)]))[_0x5e834c(0x14f)](()=>_0x96b4ec[_0x5e834c(0x180)]):_0x96b4ec[_0x5e834c(0x180)];_0x2b9a98[_0x5e834c(0x18c)][_0x3a1fd3[_0x5e834c(0x17a)]]={...buildSqlLockEntry(_0x526fef,_0x35f526,_0x2f0fe8,{'dbName':_0x1dd49f}),'path':_0x3a1fd3[_0x5e834c(0x17d)],'mode':_0x3fc554[_0x5e834c(0x189)]},await archivePreviousSqlFileIfNeeded(_0x32920d,_0x3fc554[_0x5e834c(0x187)],_0x3a1fd3[_0x5e834c(0x17d)]),_0x45e6aa[_0x5e834c(0x16d)]({'sqlCode':_0x3a1fd3['sqlCode'],'remoteId':_0x3fc554[_0x5e834c(0x179)]});}catch(_0x5f377d){_0x4e9792['push']({'sqlCode':_0x3a1fd3['sqlCode'],'error':_0x5f377d instanceof Error?_0x5f377d[_0x5e834c(0x168)]:String(_0x5f377d)});}}return _0x2b9a98[_0x5e834c(0x16a)]=new Date()[_0x5e834c(0x17b)](),await writeSqlLockFile(_0x32920d[_0x5e834c(0x171)],_0x22b38e),{'ok':_0x4e9792[_0x5e834c(0x15d)]===0x0,'data':{'pushed':_0x45e6aa,'skipped':_0x395e62,'failed':_0x4e9792},'message':'Push\x20complete:\x20'+_0x45e6aa[_0x5e834c(0x15d)]+_0x5e834c(0x14a)+_0x395e62['length']+_0x5e834c(0x14e)+_0x4e9792[_0x5e834c(0x15d)]+_0x5e834c(0x166)};}};async function archivePreviousSqlFileIfNeeded(_0x4bdc02,_0x4a4cf1,_0x41daad){const _0x56f391=a191_0x17b999;if(!_0x4a4cf1||_0x4a4cf1===_0x41daad)return;const _0x1ccd78=join(_0x4bdc02[_0x56f391(0x178)],_0x4a4cf1);if(!await fileExists(_0x1ccd78))return;const _0x761dc3=await moveToTrash(_0x4bdc02[_0x56f391(0x184)],_0x4bdc02[_0x56f391(0x149)],_0x1ccd78);await cleanupEmptyDirectories(dirname(_0x1ccd78),_0x4bdc02[_0x56f391(0x178)]),void _0x761dc3;}async function moveToTrash(_0x19c825,_0x5c07ab,_0x40d6b6){const _0x3cdeb6=a191_0x17b999,_0x5f278e=new Date()[_0x3cdeb6(0x17b)]()[_0x3cdeb6(0x153)](/[:.]/g,'-'),_0x294f54=relative(_0x19c825,_0x40d6b6),_0x199f26=join(_0x5c07ab,_0x5f278e,_0x294f54);return await mkdir(dirname(_0x199f26),{'recursive':!![]}),await rename(_0x40d6b6,_0x199f26),_0x199f26;}async function cleanupEmptyDirectories(_0x38d561,_0xad2097){const _0x55bb3e=a191_0x17b999;let _0xf3026c=resolve(_0x38d561);const _0x2dbdd6=resolve(_0xad2097);while(_0xf3026c[_0x55bb3e(0x18b)](''+_0x2dbdd6+sep)||_0xf3026c===_0x2dbdd6){if(_0xf3026c===_0x2dbdd6)return;try{const _0x8b2852=await readdir(_0xf3026c);if(_0x8b2852[_0x55bb3e(0x15d)]>0x0)return;await rmdir(_0xf3026c);}catch{return;}_0xf3026c=dirname(_0xf3026c);}}async function resolveTargetDbBinding(_0x65488c,_0x3a0893,_0x4877a1){const _0x3c4105=a191_0x17b999,_0x3c58c3=_0x3a0893[_0x3c4105(0x152)];if(!_0x3c58c3)return{'dbId':_0x4877a1[_0x3c4105(0x155)],'dbName':_0x4877a1['dbName']};const _0x42de67=buildDbDirectoryName(_0x4877a1[_0x3c4105(0x180)],_0x4877a1['dbId']);if(_0x3c58c3===_0x42de67)return{'dbId':_0x4877a1[_0x3c4105(0x155)],'dbName':_0x4877a1[_0x3c4105(0x180)]};const _0x1a12d1=parseExplicitDbDirectory(_0x3c58c3);if(_0x1a12d1!=null)return{'dbId':_0x1a12d1,'dbName':await getDbName(_0x65488c,_0x1a12d1)[_0x3c4105(0x14f)](()=>undefined)};const _0x59b4dd=await listDatabases(_0x65488c),_0x21b7a8=_0x59b4dd[_0x3c4105(0x176)](_0x19c86d=>buildDbDirectoryName(_0x19c86d[_0x3c4105(0x180)],_0x19c86d[_0x3c4105(0x155)])===_0x3c58c3);if(_0x21b7a8[_0x3c4105(0x15d)]===0x1)return{'dbId':_0x21b7a8[0x0]['dbId'],'dbName':_0x21b7a8[0x0][_0x3c4105(0x180)]};if(_0x21b7a8[_0x3c4105(0x15d)]===0x0)throw CliErrors[_0x3c4105(0x160)]('No\x20database\x20matches\x20local\x20directory\x20\x22'+_0x3c58c3+_0x3c4105(0x162)+_0x3a0893[_0x3c4105(0x17a)]+'.');const _0x62254b=_0x21b7a8['map'](_0x255a3e=>_0x255a3e[_0x3c4105(0x180)]+'\x20('+_0x255a3e[_0x3c4105(0x155)]+')')[_0x3c4105(0x15c)](',\x20');throw CliErrors[_0x3c4105(0x160)](_0x3c4105(0x173)+_0x3c58c3+_0x3c4105(0x175)+_0x3a0893[_0x3c4105(0x17a)]+':\x20'+_0x62254b);}function parseExplicitDbDirectory(_0x1bb06b){const _0x4a616a=a191_0x17b999,_0x591920=/^db-(\d+)$/['exec'](_0x1bb06b);if(!_0x591920)return null;const _0x4d62f4=Number(_0x591920[0x1]);return Number[_0x4a616a(0x167)](_0x4d62f4)&&_0x4d62f4>0x0?_0x4d62f4:null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a192_0x1bd8a5=a192_0x21ee;(function(_0x420bd3,_0x1197a8){const _0x41a482=a192_0x21ee,_0x4aa213=_0x420bd3();while(!![]){try{const _0x57cfcb=parseInt(_0x41a482(0x1ad))/0x1+-parseInt(_0x41a482(0x1c8))/0x2*(parseInt(_0x41a482(0x1b9))/0x3)+-parseInt(_0x41a482(0x1af))/0x4*(-parseInt(_0x41a482(0x1d0))/0x5)+parseInt(_0x41a482(0x1d5))/0x6*(-parseInt(_0x41a482(0x1d7))/0x7)+-parseInt(_0x41a482(0x1c1))/0x8*(-parseInt(_0x41a482(0x1ac))/0x9)+parseInt(_0x41a482(0x1cd))/0xa+-parseInt(_0x41a482(0x1bb))/0xb*(parseInt(_0x41a482(0x1cf))/0xc);if(_0x57cfcb===_0x1197a8)break;else _0x4aa213['push'](_0x4aa213['shift']());}catch(_0x37f9f3){_0x4aa213['push'](_0x4aa213['shift']());}}}(a192_0x52e7,0x1d23e));function a192_0x21ee(_0x1d5445,_0x487819){_0x1d5445=_0x1d5445-0x1ab;const _0x52e72d=a192_0x52e7();let _0x21ee89=_0x52e72d[_0x1d5445];return _0x21ee89;}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=a192_0x1bd8a5(0x1c4);export function buildSqlLockEntry(_0x386d8e,_0x3bb643,_0x47e1f0,_0x6b800f){const _0x17115b=a192_0x1bd8a5,_0x4456ff=detectSqlMode(_0x3bb643);return{'path':buildSqlRelativePath(_0x386d8e[_0x17115b(0x1d1)],_0x386d8e[_0x17115b(0x1c0)],_0x6b800f?.[_0x17115b(0x1cb)],_0x4456ff,_0x386d8e[_0x17115b(0x1b1)]),'hash':_0x47e1f0,'remoteId':_0x386d8e['id'],'version':_0x386d8e[_0x17115b(0x1bc)],'dbId':Number(_0x386d8e['dbId']),'dbName':_0x6b800f?.['dbName'],'sqlName':_0x386d8e[_0x17115b(0x1c0)],'sqlConfig':_0x386d8e[_0x17115b(0x1c7)]??undefined,'mode':_0x4456ff};}export function cloneSqlLockData(_0x899507){const _0x4767c2=a192_0x1bd8a5;return{'apps':Object['fromEntries'](Object[_0x4767c2(0x1ab)](_0x899507[_0x4767c2(0x1c6)])[_0x4767c2(0x1da)](([_0x256b15,_0x43f432])=>[_0x256b15,{'sqlRoot':_0x43f432[_0x4767c2(0x1ca)],'lastSync':_0x43f432[_0x4767c2(0x1b8)],'sqls':{..._0x43f432[_0x4767c2(0x1c9)]}}]))};}export function ensureRemoteSqlContent(_0x2dd5cb){const _0x49c083=a192_0x1bd8a5;return _0x2dd5cb[_0x49c083(0x1ce)]??'';}export function buildLocalSqlFileContent(_0x189619,_0x5cba12,_0x1a3950){const _0x3722da=a192_0x1bd8a5,_0x5df214=_0x1a3950?.[_0x3722da(0x1b7)]??detectSqlMode(_0x5cba12),_0x33c546=stripLocalSqlMetadata(_0x5cba12,_0x5df214)['trim'](),_0x47719e=[...buildMetadataHeaderLines({'sqlCode':_0x189619[_0x3722da(0x1d1)],'sqlName':_0x189619[_0x3722da(0x1c0)],'dbId':_0x189619[_0x3722da(0x1b1)],'dbName':_0x1a3950?.[_0x3722da(0x1cb)],'mode':_0x5df214,'syncedAt':_0x1a3950?.[_0x3722da(0x1c2)],'description':_0x1a3950?.[_0x3722da(0x1b2)]},_0x5df214),'',_0x33c546],_0x5396a2=_0x47719e[_0x3722da(0x1d9)]('\x0a');return _0x5396a2['endsWith']('\x0a')?_0x5396a2:_0x5396a2+'\x0a';}export function stripLocalSqlMetadata(_0x194365,_0x17b607){const _0x3db9fc=a192_0x1bd8a5,_0x5a3502=_0x194365[_0x3db9fc(0x1c5)](/\r\n/g,'\x0a')[_0x3db9fc(0x1d4)]('\x0a'),_0x1fab36=[];let _0x5bb286=0x0;if(_0x17b607===_0x3db9fc(0x1b5))while(_0x5bb286<_0x5a3502['length']){const _0x130653=_0x5a3502[_0x5bb286]??'';if(/^\s*<!--\s*@lovrabet\./['test'](_0x130653)){_0x5bb286++;continue;}if(_0x130653[_0x3db9fc(0x1d6)]()===''&&_0x5bb286>0x0){_0x5bb286++;continue;}break;}else while(_0x5bb286<_0x5a3502[_0x3db9fc(0x1ba)]){const _0x2f3d0a=_0x5a3502[_0x5bb286]??'';if(/^\s*--\s*@lovrabet\./['test'](_0x2f3d0a)){_0x5bb286++;continue;}if(_0x2f3d0a['trim']()===''&&_0x5bb286>0x0){_0x5bb286++;continue;}break;}for(;_0x5bb286<_0x5a3502[_0x3db9fc(0x1ba)];_0x5bb286++){_0x1fab36[_0x3db9fc(0x1d2)](_0x5a3502[_0x5bb286]);}return _0x1fab36[_0x3db9fc(0x1d9)]('\x0a')[_0x3db9fc(0x1be)]();}export function resolveSqlMode(_0x7dbae1,_0x3546cd){if(_0x3546cd?.['mode'])return _0x3546cd['mode'];return detectSqlMode(_0x7dbae1);}function a192_0x52e7(){const _0x475198=['132pGQVKN','version','\x20-->','trimStart','path','sqlName','8gSOdEp','syncedAt','<!--\x20@lovrabet.','.rabetbase/sql','replace','apps','sqlConfig','20926lOnYPF','sqls','sqlRoot','dbName','--\x20@lovrabet.','1547440OjqXtP','sqlContent','36444xcmwOG','2550eotwjK','sqlCode','push','filter','split','159702ktfMcV','trim','35TkpXbl','close','join','map','entries','46242ilsbYm','135468YvtGun','toLowerCase','852eHRgpC','includes','dbId','description','yes','\x20[y/N]\x20','mybatisXml','stdin','mode','lastSync','33mjkzXZ','length'];a192_0x52e7=function(){return _0x475198;};return a192_0x52e7();}export function resolveSqlFileName(_0x1d3850,_0x1af753,_0x3d132a){const _0x2bfcc6=a192_0x1bd8a5;if(_0x3d132a?.['path'])return _0x3d132a[_0x2bfcc6(0x1bf)];if(_0x3d132a?.[_0x2bfcc6(0x1c0)]||_0x3d132a?.['dbName'])return buildSqlRelativePath(_0x1d3850,_0x3d132a?.[_0x2bfcc6(0x1c0)],_0x3d132a?.[_0x2bfcc6(0x1cb)],resolveSqlMode(_0x1af753,_0x3d132a),_0x3d132a?.[_0x2bfcc6(0x1b1)]);return buildDefaultSqlFileName(_0x1d3850,resolveSqlMode(_0x1af753,_0x3d132a));}export function resolveSqlLocalDir(_0x59779f,_0x2a5742){return join(_0x59779f,SQL_LOCAL_REL_DIR,_0x2a5742);}export async function confirmForceOverwrite(_0x18c8d){const _0x43baa8=a192_0x1bd8a5,_0x4fd989=createInterface({'input':process[_0x43baa8(0x1b6)],'output':process['stderr']}),_0x270040=await new Promise(_0x375910=>{const _0xe045a8=_0x43baa8;_0x4fd989['question'](_0x18c8d+_0xe045a8(0x1b4),_0x375910);});return _0x4fd989[_0x43baa8(0x1d8)](),['y',_0x43baa8(0x1b3)][_0x43baa8(0x1b0)](_0x270040['trim']()[_0x43baa8(0x1ae)]());}export function findSqlLockScope(_0x24526a,_0x189e39){const _0x6a4cd2=a192_0x1bd8a5;return _0x24526a[_0x6a4cd2(0x1c6)][_0x189e39];}function buildMetadataHeaderLines(_0xb017d4,_0x307d11){const _0x5bef63=a192_0x1bd8a5,_0x56239c=[[_0x5bef63(0x1d1),_0xb017d4[_0x5bef63(0x1d1)]],[_0x5bef63(0x1c0),_0xb017d4[_0x5bef63(0x1c0)]],['dbId',_0xb017d4[_0x5bef63(0x1b1)]],['dbName',_0xb017d4[_0x5bef63(0x1cb)]],['mode',_0xb017d4[_0x5bef63(0x1b7)]],[_0x5bef63(0x1c2),_0xb017d4[_0x5bef63(0x1c2)]],[_0x5bef63(0x1b2),_0xb017d4[_0x5bef63(0x1b2)]]];if(_0x307d11===_0x5bef63(0x1b5))return _0x56239c[_0x5bef63(0x1d3)](([,_0x27f6a3])=>_0x27f6a3!==undefined&&_0x27f6a3!==null&&String(_0x27f6a3)['trim']()!=='')[_0x5bef63(0x1da)](([_0x5163e1,_0x1e0270])=>_0x5bef63(0x1c3)+_0x5163e1+':\x20'+String(_0x1e0270)+_0x5bef63(0x1bd));return _0x56239c[_0x5bef63(0x1d3)](([,_0x580588])=>_0x580588!==undefined&&_0x580588!==null&&String(_0x580588)[_0x5bef63(0x1d6)]()!=='')[_0x5bef63(0x1da)](([_0x2a56cf,_0xf4ae37])=>_0x5bef63(0x1cc)+_0x2a56cf+':\x20'+String(_0xf4ae37));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a193_0x493ddd=a193_0x33f4;(function(_0x13dca2,_0x31ee17){const _0x2cb2fe=a193_0x33f4,_0x283f46=_0x13dca2();while(!![]){try{const _0x467863=parseInt(_0x2cb2fe(0x16c))/0x1+-parseInt(_0x2cb2fe(0x17e))/0x2*(parseInt(_0x2cb2fe(0x174))/0x3)+parseInt(_0x2cb2fe(0x16e))/0x4*(-parseInt(_0x2cb2fe(0x176))/0x5)+-parseInt(_0x2cb2fe(0x185))/0x6+-parseInt(_0x2cb2fe(0x173))/0x7*(-parseInt(_0x2cb2fe(0x18a))/0x8)+parseInt(_0x2cb2fe(0x168))/0x9*(parseInt(_0x2cb2fe(0x18e))/0xa)+-parseInt(_0x2cb2fe(0x183))/0xb*(parseInt(_0x2cb2fe(0x16b))/0xc);if(_0x467863===_0x31ee17)break;else _0x283f46['push'](_0x283f46['shift']());}catch(_0x5e0f30){_0x283f46['push'](_0x283f46['shift']());}}}(a193_0x1078,0xea2b7));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a193_0x33f4(_0xcf5d62,_0x1040eb){_0xcf5d62=_0xcf5d62-0x168;const _0x1078f5=a193_0x1078();let _0x33f459=_0x1078f5[_0xcf5d62];return _0x33f459;}import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;async function fetchAllSqlCodes(_0x6f4118){const _0x4ac58d=a193_0x33f4,_0x3bcbea=[];let _0x4d7adc=0x1;while(!![]){const _0x16f488=await listSqlQueries(_0x6f4118,{'currentPage':_0x4d7adc,'pageSize':PAGE_SIZE}),_0x5dc886=_0x16f488['tableData']??[];_0x3bcbea[_0x4ac58d(0x179)](..._0x5dc886[_0x4ac58d(0x178)](_0x1cb342=>_0x1cb342[_0x4ac58d(0x17c)]));if(_0x5dc886[_0x4ac58d(0x171)]===0x0)break;const _0x152086=_0x16f488[_0x4ac58d(0x188)]?.[_0x4ac58d(0x169)];if(_0x152086!=null?_0x3bcbea[_0x4ac58d(0x171)]>=_0x152086:_0x5dc886['length']<PAGE_SIZE)break;_0x4d7adc++;}return _0x3bcbea;}function a193_0x1078(){const _0x553d4a=['10hQWiug','17251497gIWuaR','totalCount','boolean','2943036hRhdgh','896815TXaDVl','sqlName','24zpYXns','\x20added,\x20','status','length','\x20remote-only','280322IVvZsf','465LdgwNV','hash','1390215dXzhuL','sqlRoot','map','push','sqls','lockKey','sqlCode','lockFilePath','134Wrmdga','relativePath','filePath','remote','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','11NzBztJ','bool','1746042pRIkwz','\x20missing,\x20','sql','paging','path','72WcVDSZ','appCode','\x20modified,\x20','All\x20SQL\x20queries\x20are\x20in\x20sync.'];a193_0x1078=function(){return _0x553d4a;};return a193_0x1078();}export const sqlStatus={'service':a193_0x493ddd(0x187),'command':a193_0x493ddd(0x170),'description':'Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','risk':'read','flags':[{'name':a193_0x493ddd(0x181),'type':a193_0x493ddd(0x16a),'description':a193_0x493ddd(0x182)}],async 'execute'(_0x4dfd78){const _0x485150=a193_0x493ddd,_0x145f24=loadSqlProjectConfig(_0x4dfd78[_0x485150(0x18b)]),_0xfe17ef=await readSqlLockFile(_0x145f24[_0x485150(0x17d)]),{appLock:_0xd74bdc}=ensureSqlLockScope(_0xfe17ef??createEmptySqlLock(),_0x145f24[_0x485150(0x18b)],_0x145f24[_0x485150(0x177)],'status'),_0x224ae5=await scanLocalSqlQueries(_0x145f24),_0x1e0351=[],_0x2d3d59=[],_0x10f183=[],_0x358f11=[],_0x23421b=new Set(_0x224ae5[_0x485150(0x178)](_0x5997a2=>_0x5997a2[_0x485150(0x17b)]));for(const _0x4596ed of _0x224ae5){const _0x3cac8a=await computeSqlFileHash(_0x4596ed[_0x485150(0x180)]),_0x52a29e=_0xd74bdc['sqls'][_0x4596ed['lockKey']],_0x334760=!!_0x52a29e&&_0x52a29e[_0x485150(0x189)]!==_0x4596ed[_0x485150(0x17f)],_0x4b1a5a=!!_0x52a29e&&!!_0x4596ed[_0x485150(0x16d)]&&_0x52a29e['sqlName']!==_0x4596ed[_0x485150(0x16d)];if(!_0x52a29e)_0x1e0351[_0x485150(0x179)](_0x4596ed[_0x485150(0x17b)]);else _0x52a29e[_0x485150(0x175)]!==_0x3cac8a||_0x334760||_0x4b1a5a?_0x2d3d59[_0x485150(0x179)](_0x4596ed[_0x485150(0x17b)]):_0x10f183[_0x485150(0x179)](_0x4596ed[_0x485150(0x17b)]);}for(const _0x30838a of Object['keys'](_0xd74bdc['sqls'])){!_0x23421b['has'](_0x30838a)&&_0x358f11[_0x485150(0x179)](_0x30838a);}const _0x2c99bf=[];if(_0x4dfd78[_0x485150(0x184)](_0x485150(0x181))){const _0x142d67=await fetchAllSqlCodes(_0x4dfd78[_0x485150(0x18b)]);for(const _0x469679 of _0x142d67){!_0x23421b['has'](_0x469679)&&!_0xd74bdc[_0x485150(0x17a)][_0x469679]&&_0x2c99bf['push'](_0x469679);}}const _0x339fa4=_0x1e0351[_0x485150(0x171)]===0x0&&_0x2d3d59[_0x485150(0x171)]===0x0&&_0x358f11[_0x485150(0x171)]===0x0&&_0x2c99bf[_0x485150(0x171)]===0x0;return{'ok':!![],'data':{'added':_0x1e0351,'modified':_0x2d3d59,'missing':_0x358f11,'unchanged':_0x10f183,'remoteOnly':_0x2c99bf},'message':_0x339fa4?_0x485150(0x18d):_0x1e0351[_0x485150(0x171)]+_0x485150(0x16f)+_0x2d3d59[_0x485150(0x171)]+_0x485150(0x18c)+_0x358f11['length']+_0x485150(0x186)+_0x10f183[_0x485150(0x171)]+'\x20unchanged'+(_0x2c99bf[_0x485150(0x171)]>0x0?',\x20'+_0x2c99bf['length']+_0x485150(0x172):'')};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a194_0x3ba603=a194_0x127d;(function(_0xef509c,_0x51cb0b){const _0x3d2c1d=a194_0x127d,_0x518af4=_0xef509c();while(!![]){try{const _0x51c563=-parseInt(_0x3d2c1d(0x150))/0x1*(parseInt(_0x3d2c1d(0x135))/0x2)+parseInt(_0x3d2c1d(0x11d))/0x3+-parseInt(_0x3d2c1d(0x13b))/0x4+parseInt(_0x3d2c1d(0x129))/0x5*(-parseInt(_0x3d2c1d(0x152))/0x6)+-parseInt(_0x3d2c1d(0x159))/0x7*(-parseInt(_0x3d2c1d(0x153))/0x8)+-parseInt(_0x3d2c1d(0x12f))/0x9*(parseInt(_0x3d2c1d(0x13a))/0xa)+parseInt(_0x3d2c1d(0x11b))/0xb;if(_0x51c563===_0x51cb0b)break;else _0x518af4['push'](_0x518af4['shift']());}catch(_0x13b2a4){_0x518af4['push'](_0x518af4['shift']());}}}(a194_0x44a3,0xb8648));import{readFileSync,existsSync}from'node:fs';function a194_0x44a3(){const _0x493997=['Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against','reason','message','index_columns','40WoSwFI','columnNames','str','filter','flatMap','trim','27eeuISq','schema:','dbtableConfig','index_name','boolean','type','2131282jAKKaG','split','isDangerous','sqlType','length','1679970KzFhws','2382736aZpmEt','file','tables','dataset','--check-indexes\x20requires\x20--schemas.','bool','flagMissing','indexes','size','schemas','unshift','File\x20not\x20found:\x20','tableName','find','isSelectOnly','columns','valid','get','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','toLowerCase','parameters','1YRovXt','\x22\x20not\x20found\x20in\x20any\x20dataset','140478TRpOWl','8vaNQLN','cwd','isArray','Audit\x20top-level\x20JOIN\x20equality\x20predicates\x20against\x20dataset\x20index\x20metadata','check-indexes','name','2407034cUqvdH','14303432DyiwLn','map','4391154Lzykxu','sql','validation','validate','fields','primary','push','string'];a194_0x44a3=function(){return _0x493997;};return a194_0x44a3();}import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';function a194_0x127d(_0x1fb112,_0x2f7865){_0x1fb112=_0x1fb112-0x11b;const _0x44a327=a194_0x44a3();let _0x127da9=_0x44a327[_0x1fb112];return _0x127da9;}import{auditSqlJoinIndexes}from'../../core/sql-index-auditor.js';import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{assertDatasetIsDbTableBacked,filterDbTableBackedDatasets}from'../../commands/dataset/capability.js';export const sqlValidate={'service':a194_0x3ba603(0x11e),'command':a194_0x3ba603(0x120),'description':a194_0x3ba603(0x14d),'risk':'read','flags':[{'name':'file','type':a194_0x3ba603(0x124),'description':'Path\x20to\x20the\x20SQL\x20file\x20to\x20validate'},{'name':'sql','type':'string','description':'Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)'},{'name':a194_0x3ba603(0x144),'type':a194_0x3ba603(0x124),'description':a194_0x3ba603(0x125)},{'name':a194_0x3ba603(0x157),'type':a194_0x3ba603(0x133),'description':a194_0x3ba603(0x156)}],async 'execute'(_0x470783){const _0xfe6815=a194_0x3ba603,_0x43640c=_0x470783[_0xfe6815(0x12b)]('file'),_0x11d226=_0x470783[_0xfe6815(0x12b)]('sql'),_0x2510db=_0x470783[_0xfe6815(0x12b)](_0xfe6815(0x144)),_0x45e852=_0x470783[_0xfe6815(0x140)](_0xfe6815(0x157));if(!_0x43640c&&!_0x11d226)throw CliErrors[_0xfe6815(0x141)](_0xfe6815(0x13c),'Provide\x20--file\x20or\x20--sql');if(_0x45e852&&!_0x2510db)throw CliErrors[_0xfe6815(0x11f)](_0xfe6815(0x13f));let _0x139e4d;if(_0x43640c){const _0x15b05d=resolve(process[_0xfe6815(0x154)](),_0x43640c);if(!existsSync(_0x15b05d))throw CliErrors['validation'](_0xfe6815(0x146)+_0x15b05d);_0x139e4d=readFileSync(_0x15b05d,'utf-8');}else _0x139e4d=_0x11d226;const _0x491b1e=validateSql(_0x139e4d),_0x40a806={'valid':_0x491b1e[_0xfe6815(0x14b)],'sqlType':_0x491b1e['sqlType']['type'],'isSelectOnly':_0x491b1e[_0xfe6815(0x138)][_0xfe6815(0x149)],'isDangerous':_0x491b1e[_0xfe6815(0x138)][_0xfe6815(0x137)],'tables':_0x491b1e['tables'],'parameters':_0x491b1e[_0xfe6815(0x14f)],'message':_0x491b1e['message']};_0x491b1e['sqlType'][_0xfe6815(0x126)]&&(_0x40a806[_0xfe6815(0x126)]=_0x491b1e[_0xfe6815(0x138)]['reason']);if(_0x2510db&&_0x491b1e[_0xfe6815(0x14b)]){const _0x20403b=_0x2510db[_0xfe6815(0x136)](',')[_0xfe6815(0x11c)](_0xaf2c3b=>_0xaf2c3b[_0xfe6815(0x12e)]())['filter'](Boolean),_0x3a216f=[],_0x10be2f=[],_0x3be73e=filterDbTableBackedDatasets(await listDatasets(_0x470783['appCode'])),_0x5e78da=new Map(_0x3be73e[_0xfe6815(0x11c)](_0x1cd4eb=>[_0x1cd4eb[_0xfe6815(0x131)]?.[_0xfe6815(0x147)]?.['toLowerCase'](),_0x1cd4eb]));for(const _0x4b84bf of _0x491b1e[_0xfe6815(0x13d)]){const _0x3b48cb=_0x5e78da[_0xfe6815(0x14c)](_0x4b84bf[_0xfe6815(0x14e)]());!_0x3b48cb&&_0x3a216f[_0xfe6815(0x123)]('Table\x20\x22'+_0x4b84bf+_0xfe6815(0x151));}for(const _0x3fcfc9 of _0x20403b){let _0x208def;try{_0x208def=await getDatasetDetail(_0x3fcfc9);}catch{_0x3a216f['push']('Dataset\x20\x22'+_0x3fcfc9+'\x22\x20not\x20found\x20or\x20not\x20accessible');continue;}assertDatasetIsDbTableBacked(_0x208def,'SQL\x20schema\x20validation');const _0x303bca=Array[_0xfe6815(0x155)](_0x208def['fields'])?_0x208def[_0xfe6815(0x121)]:[],_0x56dc7d=new Set(_0x303bca[_0xfe6815(0x11c)](_0x3d3c32=>_0x3d3c32['name']?.[_0xfe6815(0x14e)]())),_0x350a9c=_0x208def['dbtableConfig']?.[_0xfe6815(0x147)]||_0x208def['tableName']||_0x3fcfc9;_0x40a806[_0xfe6815(0x130)+_0x350a9c]={'code':_0x3fcfc9,'tableName':_0x350a9c,'fieldCount':_0x56dc7d[_0xfe6815(0x143)],'fields':Array['from'](_0x56dc7d)};if(_0x45e852){const _0x2c24d5=normalizeDatasetIndexes(_0x208def);_0x10be2f[_0xfe6815(0x123)]({'tableName':_0x350a9c,..._0x2c24d5});}}_0x3a216f[_0xfe6815(0x139)]>0x0&&(_0x40a806['schemaWarnings']=_0x3a216f),_0x45e852&&(_0x40a806['joinAudit']=auditSqlJoinIndexes(_0x139e4d,_0x10be2f));}return{'ok':_0x491b1e[_0xfe6815(0x14b)],'data':_0x40a806,'message':_0x491b1e[_0xfe6815(0x127)]};}};function normalizeDatasetIndexes(_0x33a2c9){const _0x49771f=a194_0x3ba603,_0x4ac96e=Array[_0x49771f(0x155)](_0x33a2c9?.[_0x49771f(0x13e)]?.[_0x49771f(0x142)])?_0x33a2c9[_0x49771f(0x13e)][_0x49771f(0x142)]:Array[_0x49771f(0x155)](_0x33a2c9?.[_0x49771f(0x142)])?_0x33a2c9[_0x49771f(0x142)]:[],_0x3dc3a3=_0x4ac96e[_0x49771f(0x12d)](_0x4252cc=>{const _0xc12cff=_0x49771f,_0x553899=Array[_0xc12cff(0x155)](_0x4252cc?.['index_columns'])?_0x4252cc[_0xc12cff(0x128)]:Array[_0xc12cff(0x155)](_0x4252cc?.[_0xc12cff(0x12a)])?_0x4252cc[_0xc12cff(0x12a)]:Array[_0xc12cff(0x155)](_0x4252cc?.[_0xc12cff(0x14a)])?_0x4252cc['columns']:[],_0x329a16=_0x553899[_0xc12cff(0x12c)](_0x1a9acd=>typeof _0x1a9acd===_0xc12cff(0x124))[_0xc12cff(0x11c)](_0x40bc00=>_0x40bc00['trim']())[_0xc12cff(0x12c)](Boolean);if(_0x329a16['length']===0x0)return[];const _0x53dd98=[_0x4252cc?.['indexName'],_0x4252cc?.[_0xc12cff(0x132)],_0x4252cc?.[_0xc12cff(0x158)]][_0xc12cff(0x148)](_0x49b871=>typeof _0x49b871===_0xc12cff(0x124)&&_0x49b871['trim']()),_0x781552=[_0x4252cc?.['index_type'],_0x4252cc?.[_0xc12cff(0x134)]][_0xc12cff(0x148)](_0x2dbe69=>typeof _0x2dbe69===_0xc12cff(0x124)&&_0x2dbe69[_0xc12cff(0x12e)]());return[{..._0x53dd98?{'name':_0x53dd98[_0xc12cff(0x12e)]()}:{},..._0x781552?{'type':_0x781552[_0xc12cff(0x12e)]()}:{},'columns':_0x329a16}];}),_0x511d84=[..._0x3dc3a3],_0x4214ac=typeof _0x33a2c9?.['dbtableConfig']?.['pkField']==='string'?_0x33a2c9[_0x49771f(0x131)]['pkField'][_0x49771f(0x136)](',')[_0x49771f(0x11c)](_0x3c9410=>_0x3c9410[_0x49771f(0x12e)]())['filter'](Boolean):[];return _0x4214ac[_0x49771f(0x139)]>0x0&&_0x511d84[_0x49771f(0x145)]({'type':_0x49771f(0x122),'columns':_0x4214ac}),{'indexes':_0x511d84,'metadataAvailable':_0x3dc3a3['length']>0x0};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x56fc69,_0x39c2e2){const _0x3e1217=a195_0x2531,_0x3aabf1=_0x56fc69();while(!![]){try{const _0x6064d7=parseInt(_0x3e1217(0xff))/0x1*(-parseInt(_0x3e1217(0x102))/0x2)+-parseInt(_0x3e1217(0xfb))/0x3*(-parseInt(_0x3e1217(0x103))/0x4)+parseInt(_0x3e1217(0x106))/0x5*(parseInt(_0x3e1217(0xfc))/0x6)+-parseInt(_0x3e1217(0x100))/0x7*(-parseInt(_0x3e1217(0x104))/0x8)+parseInt(_0x3e1217(0xfd))/0x9*(-parseInt(_0x3e1217(0x105))/0xa)+-parseInt(_0x3e1217(0xfa))/0xb*(parseInt(_0x3e1217(0x101))/0xc)+parseInt(_0x3e1217(0xfe))/0xd*(parseInt(_0x3e1217(0x107))/0xe);if(_0x6064d7===_0x39c2e2)break;else _0x3aabf1['push'](_0x3aabf1['shift']());}catch(_0xf10259){_0x3aabf1['push'](_0x3aabf1['shift']());}}}(a195_0x3cb1,0x584cb));function a195_0x3cb1(){const _0x29bf73=['30EMqkhD','5834682PUbvUz','11sxUILn','198813Bxtsfa','276024krQhCO','9EZBHhZ','39DzqSbF','718987XMewxl','7brssht','1135620APVFcu','2puLezD','8MwAvqG','162872hXgBtQ','5039170JKMiNy'];a195_0x3cb1=function(){return _0x29bf73;};return a195_0x3cb1();}import{taskStatus}from'../../commands/task/status.js';function a195_0x2531(_0x535077,_0x451ad4){_0x535077=_0x535077-0xfa;const _0x3cb1b8=a195_0x3cb1();let _0x2531f6=_0x3cb1b8[_0x535077];return _0x2531f6;}export const taskDefinitions=[taskStatus];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a196_0x2e298c=a196_0x8cf8;(function(_0x1cbb07,_0x4cb332){const _0x3f29e1=a196_0x8cf8,_0x44d023=_0x1cbb07();while(!![]){try{const _0x26e4c5=parseInt(_0x3f29e1(0xc7))/0x1+parseInt(_0x3f29e1(0xb9))/0x2+parseInt(_0x3f29e1(0xbd))/0x3+-parseInt(_0x3f29e1(0xbc))/0x4*(parseInt(_0x3f29e1(0xc1))/0x5)+-parseInt(_0x3f29e1(0xc5))/0x6*(parseInt(_0x3f29e1(0xc0))/0x7)+parseInt(_0x3f29e1(0xbf))/0x8*(-parseInt(_0x3f29e1(0xbb))/0x9)+parseInt(_0x3f29e1(0xcb))/0xa;if(_0x26e4c5===_0x4cb332)break;else _0x44d023['push'](_0x44d023['shift']());}catch(_0x34f183){_0x44d023['push'](_0x44d023['shift']());}}}(a196_0x77ac,0xa14ff));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a196_0x8cf8(_0x4f6562,_0x59bc3c){_0x4f6562=_0x4f6562-0xb8;const _0x77ac78=a196_0x77ac();let _0x8cf8e9=_0x77ac78[_0x4f6562];return _0x8cf8e9;}import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{getAsyncTaskStatus}from'../../core/api-client.js';function a196_0x77ac(){const _0x9afad2=['912722aTTQpt','compress','539271iiWSBw','63500wfpEPd','750411jhLmbf','appCode','104gLWQtm','399kRYCZi','285zRDnlB','cookie','taskId','apiError','30006tRAslK','flagMissing','1110607SMgacD','read','str','Task\x20status\x20response\x20id\x20mismatch:\x20requested\x20','8125090DGgNzb','Query\x20an\x20asynchronous\x20task;\x20repeat\x20for\x20PENDING\x20or\x20PROCESSING\x20until\x20SUCCESS\x20or\x20FAILED','isTerminal','task-id'];a196_0x77ac=function(){return _0x9afad2;};return a196_0x77ac();}import{CliErrors}from'../../errors.js';export const taskStatus={'service':'task','command':'status','description':a196_0x2e298c(0xcc),'risk':a196_0x2e298c(0xc8),'defaultOutputFormat':a196_0x2e298c(0xba),'structuredErrors':!![],'flags':[{'name':a196_0x2e298c(0xb8),'type':'string','required':!![],'description':'Task\x20id\x20returned\x20by\x20an\x20asynchronous\x20platform\x20command'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x29ae80){const _0x3e7754=a196_0x2e298c;if(!_0x29ae80['str'](_0x3e7754(0xb8))['trim']())throw CliErrors[_0x3e7754(0xc6)]('task-id');},async 'execute'(_0x2784c1){const _0x14b97f=a196_0x2e298c,_0x19677b=_0x2784c1[_0x14b97f(0xc9)]('task-id')['trim'](),_0x263b75=normalizeAsyncTask(await getAsyncTaskStatus(_0x19677b,_0x2784c1['appCode'],_0x2784c1[_0x14b97f(0xc2)]));if(_0x263b75[_0x14b97f(0xc3)]!==_0x19677b)throw CliErrors[_0x14b97f(0xc4)](_0x14b97f(0xca)+_0x19677b+',\x20received\x20'+_0x263b75[_0x14b97f(0xc3)]+'.');const _0x33be68=buildAsyncTaskStatusCommand(_0x263b75[_0x14b97f(0xc3)],_0x2784c1[_0x14b97f(0xbe)]);return{'ok':!![],'message':asyncTaskMessage(_0x263b75),'data':{'appCode':_0x2784c1[_0x14b97f(0xbe)],..._0x263b75,'query':_0x263b75[_0x14b97f(0xcd)]?null:{'command':_0x33be68}}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a197_0x520d(_0x457252,_0x4b6c56){_0x457252=_0x457252-0x139;const _0x52ae69=a197_0x52ae();let _0x520dd4=_0x52ae69[_0x457252];return _0x520dd4;}(function(_0x550308,_0x21c474){const _0x1874da=a197_0x520d,_0x2ffdcf=_0x550308();while(!![]){try{const _0x3f3e2f=parseInt(_0x1874da(0x140))/0x1+-parseInt(_0x1874da(0x139))/0x2+-parseInt(_0x1874da(0x13a))/0x3*(parseInt(_0x1874da(0x13c))/0x4)+-parseInt(_0x1874da(0x13b))/0x5+parseInt(_0x1874da(0x13d))/0x6+parseInt(_0x1874da(0x141))/0x7+-parseInt(_0x1874da(0x13e))/0x8*(-parseInt(_0x1874da(0x13f))/0x9);if(_0x3f3e2f===_0x21c474)break;else _0x2ffdcf['push'](_0x2ffdcf['shift']());}catch(_0x42fa9f){_0x2ffdcf['push'](_0x2ffdcf['shift']());}}}(a197_0x52ae,0x9afb1));function a197_0x52ae(){const _0x15ae21=['477987PClfNt','5228555jCcedJ','4ceaqMM','6799650rawDZW','8TrEIJj','3461949HpNEBw','320676BniADt','7701519xOmjht','2197976fFISRj'];a197_0x52ae=function(){return _0x15ae21;};return a197_0x52ae();}import{tenantMembersListDefinition}from'../../commands/tenant/members-list.js';export const tenantDefinitions=[tenantMembersListDefinition];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a198_0x1185b5=a198_0x5a2e;(function(_0x3c6123,_0x15334c){const _0x3cd54c=a198_0x5a2e,_0x13ab48=_0x3c6123();while(!![]){try{const _0x216a6c=parseInt(_0x3cd54c(0x99))/0x1+-parseInt(_0x3cd54c(0x93))/0x2+parseInt(_0x3cd54c(0x94))/0x3+parseInt(_0x3cd54c(0x9f))/0x4*(parseInt(_0x3cd54c(0xa2))/0x5)+-parseInt(_0x3cd54c(0xa4))/0x6+-parseInt(_0x3cd54c(0x95))/0x7+parseInt(_0x3cd54c(0x9c))/0x8;if(_0x216a6c===_0x15334c)break;else _0x13ab48['push'](_0x13ab48['shift']());}catch(_0x1d63c4){_0x13ab48['push'](_0x13ab48['shift']());}}}(a198_0x18bd,0xa1bb5));import{listCurrentUserTenantMemberships,listTenantDirectoryMembers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a198_0x18bd(){const _0x388c3b=['1828698CmyNXa','2518453kedVYA','tenant-code','flagMissing','List\x20members\x20of\x20a\x20tenant\x20available\x20to\x20the\x20current\x20account','20777oBHRdg','Pass\x20--tenant-code\x20<code>.','read','14465224nReMZl','string','\x20tenant\x20member(s)','859708VIHvms','length','members-list','5Bvpmrd','trim','5448666kbuNti','tenant','str','1446160nMRBSr'];a198_0x18bd=function(){return _0x388c3b;};return a198_0x18bd();}import{assertTenantAccessible,projectTenantMembers}from'../../commands/tenant/shared.js';function a198_0x5a2e(_0x1f9d5e,_0x4191ae){_0x1f9d5e=_0x1f9d5e-0x91;const _0x18bd41=a198_0x18bd();let _0x5a2e25=_0x18bd41[_0x1f9d5e];return _0x5a2e25;}export const tenantMembersListDefinition={'service':a198_0x1185b5(0x91),'command':a198_0x1185b5(0xa1),'description':a198_0x1185b5(0x98),'risk':a198_0x1185b5(0x9b),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a198_0x1185b5(0x96),'type':a198_0x1185b5(0x9d),'required':!![],'description':'Exact\x20tenant\x20code'}],async 'validate'(_0x8e2457){const _0x2c321e=a198_0x1185b5;if(!_0x8e2457[_0x2c321e(0x92)](_0x2c321e(0x96))[_0x2c321e(0xa3)]())throw CliErrors[_0x2c321e(0x97)](_0x2c321e(0x96),_0x2c321e(0x9a));},async 'execute'(_0x10ab50){const _0x472c7c=a198_0x1185b5,_0xaa6613=_0x10ab50[_0x472c7c(0x92)]('tenant-code')[_0x472c7c(0xa3)](),_0x1b3cf9=await listCurrentUserTenantMemberships();assertTenantAccessible(_0xaa6613,_0x1b3cf9);const _0x30bf58=projectTenantMembers(await listTenantDirectoryMembers(_0xaa6613));return{'ok':!![],'data':{'tenantCode':_0xaa6613,'items':_0x30bf58,'totalCount':_0x30bf58[_0x472c7c(0xa0)]},'message':'Found\x20'+_0x30bf58['length']+_0x472c7c(0x9e)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x207630,_0x52329c){const _0x5e28b7=a199_0x4d6c,_0x10c706=_0x207630();while(!![]){try{const _0x4d6643=-parseInt(_0x5e28b7(0xd8))/0x1+-parseInt(_0x5e28b7(0xdc))/0x2*(parseInt(_0x5e28b7(0xca))/0x3)+-parseInt(_0x5e28b7(0xd5))/0x4+parseInt(_0x5e28b7(0xd3))/0x5*(-parseInt(_0x5e28b7(0xda))/0x6)+-parseInt(_0x5e28b7(0xd6))/0x7*(-parseInt(_0x5e28b7(0xce))/0x8)+parseInt(_0x5e28b7(0xdf))/0x9*(-parseInt(_0x5e28b7(0xde))/0xa)+parseInt(_0x5e28b7(0xe0))/0xb;if(_0x4d6643===_0x52329c)break;else _0x10c706['push'](_0x10c706['shift']());}catch(_0x5d8593){_0x10c706['push'](_0x10c706['shift']());}}}(a199_0x2178,0x93cdc));function a199_0x4d6c(_0x47b4e8,_0xdf5edd){_0x47b4e8=_0x47b4e8-0xc6;const _0x2178f8=a199_0x2178();let _0x4d6ccd=_0x2178f8[_0x47b4e8];return _0x4d6ccd;}import{CliErrors}from'../../errors.js';function textOrNull(_0x1150ad){const _0x6a67bf=a199_0x4d6c,_0x3a4702=_0x1150ad?.[_0x6a67bf(0xc6)]();return _0x3a4702?_0x3a4702:null;}export function projectTenantMembers(_0x4e8677){const _0x42960b=a199_0x4d6c,_0x2cd37f=new Map();for(const _0x556fef of _0x4e8677){const _0x1edc0a=Number(_0x556fef[_0x42960b(0xe2)]);if(!Number[_0x42960b(0xcd)](_0x1edc0a)||_0x1edc0a<=0x0)continue;const _0xc29cc={'userId':_0x1edc0a,'username':textOrNull(_0x556fef[_0x42960b(0xc7)]),'displayName':textOrNull(_0x556fef[_0x42960b(0xcc)]),'role':_0x556fef[_0x42960b(0xc9)]===!![]?_0x42960b(0xd7):'MEMBER','status':textOrNull(_0x556fef[_0x42960b(0xcf)])},_0x530d12=_0x2cd37f[_0x42960b(0xd1)](_0x1edc0a);if(!_0x530d12){_0x2cd37f[_0x42960b(0xd9)](_0x1edc0a,_0xc29cc);continue;}_0x530d12['username']??=_0xc29cc[_0x42960b(0xc7)],_0x530d12['displayName']??=_0xc29cc[_0x42960b(0xd4)],_0x530d12[_0x42960b(0xcf)]??=_0xc29cc[_0x42960b(0xcf)];if(_0xc29cc[_0x42960b(0xcb)]==='ADMIN')_0x530d12[_0x42960b(0xcb)]='ADMIN';}return[..._0x2cd37f[_0x42960b(0xc8)]()]['sort']((_0x273c10,_0xb305ac)=>_0x273c10[_0x42960b(0xe2)]-_0xb305ac[_0x42960b(0xe2)]);}export function assertTenantAccessible(_0x45d16c,_0x4e8079){const _0x34ebf9=a199_0x4d6c;if(_0x4e8079[_0x34ebf9(0xd2)](_0x30f617=>_0x30f617[_0x34ebf9(0xd0)]===_0x45d16c))return;throw CliErrors[_0x34ebf9(0xdd)]('Tenant\x20\x22'+_0x45d16c+_0x34ebf9(0xdb),_0x34ebf9(0xe1));}function a199_0x2178(){const _0x12f25d=['10SafGsQ','3918735WfzMWM','12885334ZZtfTh','Check\x20--tenant-code\x20or\x20login\x20with\x20an\x20account\x20that\x20belongs\x20to\x20this\x20tenant.','userId','trim','username','values','adminFlag','3OySXTP','role','nickname','isFinite','9234384rtNsCh','status','tenantCode','get','some','1141295HoxyPF','displayName','890660MTzViq','7StqCzb','ADMIN','413152DitEAl','set','12aDbCmG','\x22\x20is\x20not\x20available\x20to\x20the\x20current\x20account.','385076sPYDiL','validation'];a199_0x2178=function(){return _0x12f25d;};return a199_0x2178();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a200_0x345067=a200_0x13be;(function(_0x15607c,_0x50b36f){const _0x22c994=a200_0x13be,_0x414921=_0x15607c();while(!![]){try{const _0x130f23=parseInt(_0x22c994(0x104))/0x1+parseInt(_0x22c994(0x107))/0x2*(parseInt(_0x22c994(0x117))/0x3)+-parseInt(_0x22c994(0xff))/0x4*(parseInt(_0x22c994(0x108))/0x5)+parseInt(_0x22c994(0x100))/0x6+-parseInt(_0x22c994(0x103))/0x7+-parseInt(_0x22c994(0x109))/0x8+-parseInt(_0x22c994(0x10c))/0x9*(parseInt(_0x22c994(0x116))/0xa);if(_0x130f23===_0x50b36f)break;else _0x414921['push'](_0x414921['shift']());}catch(_0x3f7b26){_0x414921['push'](_0x414921['shift']());}}}(a200_0x9c88,0xa86a3));function a200_0x13be(_0xa4c268,_0x4d8639){_0xa4c268=_0xa4c268-0xfe;const _0x9c888c=a200_0x9c88();let _0x13befe=_0x9c888c[_0xa4c268];return _0x13befe;}import{asDryRunResult}from'../../commands/common/dry-run.js';import{bindDingTalkSandboxAccount,DING_TALK_SANDBOX_BIND_PATH}from'../../core/api-client.js';function a200_0x9c88(){const _0x3d93e2=['4396MfnHKI','929586xABAwa','dingding-sandbox-bind','string','972531ZuMHQq','1348004NHWxLW','POST','Bound\x20current\x20user\x20to\x20DingTalk\x20sandbox\x20account.','40kPaLAv','670HnQXSE','3340080pHEHoW','Bind\x20the\x20current\x20platform\x20user\x20to\x20a\x20DingTalk\x20sandbox\x20account','DingTalk\x20user\x20id\x20returned\x20by\x20the\x20sandbox','9GPFyin','dingtalk','validation','--ding-talk-user-id\x20cannot\x20be\x20empty.','The\x20current\x20binding\x20is\x20not\x20exposed\x20by\x20the\x20server;\x20before\x20is\x20unavailable.','apiError','ding-talk-user-id','user-account','write','bind','13096990dSgnFe','180045KveLEH','trim'];a200_0x9c88=function(){return _0x3d93e2;};return a200_0x9c88();}import{CliErrors}from'../../errors.js';const PROVIDER_ID=a200_0x345067(0x10d),CURRENT_BINDING_WARNING=a200_0x345067(0x110);function readDingTalkUserId(_0x1f9282){const _0x750985=a200_0x345067,_0x289138=_0x1f9282['str'](_0x750985(0x112))[_0x750985(0xfe)]();if(!_0x289138)throw CliErrors[_0x750985(0x10e)](_0x750985(0x10f),'Pass\x20the\x20DingTalk\x20user\x20id\x20returned\x20by\x20the\x20sandbox.');return _0x289138;}function buildBindingData(_0xf5e8cd,_0x2ff7e7){const _0x3d67eb=a200_0x345067;return{'operation':_0x3d67eb(0x115),'selector':{'providerId':PROVIDER_ID,'dingTalkUserId':_0xf5e8cd},'before':null,'after':{'providerId':PROVIDER_ID,'dingTalkUserId':_0xf5e8cd,'bound':!![]},'dryRun':_0x2ff7e7,'backend':{'method':'POST','path':DING_TALK_SANDBOX_BIND_PATH},'warnings':[CURRENT_BINDING_WARNING]};}export const dingTalkSandboxBind={'service':a200_0x345067(0x113),'command':a200_0x345067(0x101),'description':a200_0x345067(0x10a),'risk':a200_0x345067(0x114),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a200_0x345067(0x112),'type':a200_0x345067(0x102),'required':!![],'description':a200_0x345067(0x10b)}],async 'validate'(_0x46392b){readDingTalkUserId(_0x46392b);},async 'dryRun'(_0x3f1070){const _0x2d3573=a200_0x345067,_0x5f49ec=readDingTalkUserId(_0x3f1070);return asDryRunResult(buildBindingData(_0x5f49ec,!![]),{'method':_0x2d3573(0x105),'url':DING_TALK_SANDBOX_BIND_PATH});},async 'execute'(_0x1636b5){const _0x35593a=a200_0x345067,_0x82aec=readDingTalkUserId(_0x1636b5),_0x33b510=await bindDingTalkSandboxAccount(_0x82aec);if(_0x33b510!==!![])throw CliErrors[_0x35593a(0x111)]('DingTalk\x20sandbox\x20account\x20binding\x20was\x20not\x20confirmed.','Retry\x20with\x20the\x20same\x20--ding-talk-user-id\x20only\x20after\x20checking\x20the\x20current\x20platform\x20session.');return{'ok':!![],'data':buildBindingData(_0x82aec,![]),'message':_0x35593a(0x106)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x212259,_0x20c271){const _0x3b9946=a201_0x3909,_0x10b651=_0x212259();while(!![]){try{const _0x305b67=-parseInt(_0x3b9946(0x10a))/0x1*(parseInt(_0x3b9946(0x111))/0x2)+parseInt(_0x3b9946(0x110))/0x3+-parseInt(_0x3b9946(0x10e))/0x4*(parseInt(_0x3b9946(0x10b))/0x5)+parseInt(_0x3b9946(0x112))/0x6+-parseInt(_0x3b9946(0x10c))/0x7+-parseInt(_0x3b9946(0x10d))/0x8+parseInt(_0x3b9946(0x10f))/0x9;if(_0x305b67===_0x20c271)break;else _0x10b651['push'](_0x10b651['shift']());}catch(_0x1c7084){_0x10b651['push'](_0x10b651['shift']());}}}(a201_0x39dc,0x6ed35));function a201_0x3909(_0x2792ec,_0x1494fc){_0x2792ec=_0x2792ec-0x10a;const _0x39dcdf=a201_0x39dc();let _0x390973=_0x39dcdf[_0x2792ec];return _0x390973;}import{dingTalkSandboxBind}from'../../commands/user-account/dingding-sandbox-bind.js';export const userAccountDefinitions=[dingTalkSandboxBind];function a201_0x39dc(){const _0x665462=['3470915fiULma','3589856QNWmMg','3068vyKocv','11861766pwhWVQ','2132136nTdOiS','295766JlSOoP','479556LfidvK','1eVxjEH','3665qnsQDr'];a201_0x39dc=function(){return _0x665462;};return a201_0x39dc();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a202_0x4a4e(_0x5ec01f,_0x5adecd){_0x5ec01f=_0x5ec01f-0x101;const _0x36f541=a202_0x36f5();let _0x4a4e96=_0x36f541[_0x5ec01f];return _0x4a4e96;}function a202_0x36f5(){const _0x2621f1=['App\x20profile\x20name','10366086TrEfUq','3251314QkZnDX','workspace','102822CPUgwx','8941112RScxGg','16ScklBr','6476WWihOt','7EFtYjb','Register\x20an\x20app\x20profile\x20in\x20the\x20current\x20workspace\x20(or\x20--global)','878112EKOjdg','18181690jRHTNE','3590xLilJV','write','workspace\x20add','9fftSwZ'];a202_0x36f5=function(){return _0x2621f1;};return a202_0x36f5();}const a202_0x695af4=a202_0x4a4e;(function(_0x20c405,_0x3fb795){const _0x4b72ce=a202_0x4a4e,_0x14e5ba=_0x20c405();while(!![]){try{const _0x21780=-parseInt(_0x4b72ce(0x105))/0x1+-parseInt(_0x4b72ce(0x101))/0x2*(parseInt(_0x4b72ce(0x10f))/0x3)+parseInt(_0x4b72ce(0x102))/0x4*(parseInt(_0x4b72ce(0x107))/0x5)+-parseInt(_0x4b72ce(0x10c))/0x6*(parseInt(_0x4b72ce(0x103))/0x7)+parseInt(_0x4b72ce(0x110))/0x8*(parseInt(_0x4b72ce(0x10a))/0x9)+parseInt(_0x4b72ce(0x106))/0xa+-parseInt(_0x4b72ce(0x10d))/0xb;if(_0x21780===_0x3fb795)break;else _0x14e5ba['push'](_0x14e5ba['shift']());}catch(_0x344b81){_0x14e5ba['push'](_0x14e5ba['shift']());}}}(a202_0x36f5,0xe1443));import{buildAppAddFlags,runAppAdd,validateAppName}from'../../commands/common/app-registry.js';export const workspaceAddDefinition={'service':a202_0x695af4(0x10e),'command':'add','description':a202_0x695af4(0x104),'risk':a202_0x695af4(0x108),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a202_0x695af4(0x10b),'required':!![]}],'flags':buildAppAddFlags(),'validate':_0x261741=>validateAppName(_0x261741,a202_0x695af4(0x109)),'execute':_0x37b42a=>runAppAdd(_0x37b42a,a202_0x695af4(0x109))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a203_0x4f3750=a203_0x2750;(function(_0x22b9b7,_0x3f73a9){const _0x2c5eb0=a203_0x2750,_0x4257c9=_0x22b9b7();while(!![]){try{const _0x25bbf4=parseInt(_0x2c5eb0(0xda))/0x1*(-parseInt(_0x2c5eb0(0xbe))/0x2)+parseInt(_0x2c5eb0(0xdd))/0x3*(parseInt(_0x2c5eb0(0xe1))/0x4)+parseInt(_0x2c5eb0(0xea))/0x5*(parseInt(_0x2c5eb0(0xba))/0x6)+-parseInt(_0x2c5eb0(0xb9))/0x7+parseInt(_0x2c5eb0(0xcd))/0x8+parseInt(_0x2c5eb0(0xd2))/0x9+parseInt(_0x2c5eb0(0xc6))/0xa*(-parseInt(_0x2c5eb0(0xe0))/0xb);if(_0x25bbf4===_0x3f73a9)break;else _0x4257c9['push'](_0x4257c9['shift']());}catch(_0x243187){_0x4257c9['push'](_0x4257c9['shift']());}}}(a203_0x139b,0x38082));function a203_0x139b(){const _0xab6540=['trim','workspace.','1070752wCROgJ','App\x20\x22','initialized','keys','Initialize\x20the\x20current\x20workspace\x20app\x20binding','684360pWhFHC','globalConfig','Target\x20environment','apps','Workspace\x20','object','.\x20Credentials:\x20not\x20written.','join','9dSmLwf','Use\x20`','validation','333NKTNQU','env','Default\x20output\x20format\x20for\x20this\x20workspace\x20app\x20profile','46904rhTVVy','6296MriyZL','apiDir','str','\x20workspace\x20use\x20--app\x20<name>`.','init','Pass\x20--appcode\x20<code>,\x20or\x20choose\x20one\x20of:\x20','Switch\x20the\x20current\x20workspace\x20app\x20binding','Missing\x20workspace\x20app\x20selector.','Default\x20page\x20size\x20for\x20this\x20workspace\x20app\x20profile','75385TPSstF','\x20--appcode\x20<code>`.','appcode','\x20workspace\x20<init|use>\x20--app\x20<name>\x20[--appcode\x20<code>]','length','pageSize','riskLevel','use','658021oqHyAN','84toOBYv','locale','App\x20locale\x20for\x20this\x20workspace\x20app\x20profile\x20(not\x20CLI\x20language;\x20reserved\x20for\x20later\x20app\x20use)','string','16894goLfDJ','defaultFormat','app','\x20workspace\x20','isArray','\x20(appcode:\x20','\x22\x20not\x20found.','workspace','460HYxemT','\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20`','number','format','write'];a203_0x139b=function(){return _0xab6540;};return a203_0x139b();}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';import{readConfigFile,readRawConfigWithLayers,resolveWriteConfigPath,writeConfigFile}from'../../context.js';function a203_0x2750(_0x2a4b68,_0x52f8ed){_0x2a4b68=_0x2a4b68-0xb2;const _0x139bb3=a203_0x139b();let _0x2750ca=_0x139bb3[_0x2a4b68];return _0x2750ca;}import{workspaceAddDefinition}from'../../commands/workspace/add.js';import{workspaceRemoveDefinition}from'../../commands/workspace/remove.js';import{normalizeStoredDefaultApp}from'../../config/schema.js';const WORKSPACE_USAGE=CLI_BIN_NAME+a203_0x4f3750(0xb4),SAFE_PROFILE_KEYS=[a203_0x4f3750(0xb3),a203_0x4f3750(0xde),a203_0x4f3750(0xe2),a203_0x4f3750(0xc9),a203_0x4f3750(0xb6),a203_0x4f3750(0xb7),a203_0x4f3750(0xbb)],workspaceFlags=[{'name':a203_0x4f3750(0xc0),'type':'string','description':'App\x20profile\x20name\x20to\x20use\x20in\x20this\x20workspace'},{'name':a203_0x4f3750(0xb3),'type':'string','description':'App\x20code\x20to\x20bind\x20to\x20this\x20workspace'},{'name':'env','type':a203_0x4f3750(0xbd),'description':a203_0x4f3750(0xd4),'enum':[...RABETBASE_ENV_VALUES]},{'name':'apiDir','type':a203_0x4f3750(0xbd),'description':'API\x20directory\x20path\x20for\x20this\x20workspace\x20app\x20profile'},{'name':a203_0x4f3750(0xbf),'type':'string','description':a203_0x4f3750(0xdf),'enum':[...RABETBASE_OUTPUT_FORMAT_VALUES]},{'name':a203_0x4f3750(0xb6),'type':a203_0x4f3750(0xc8),'description':a203_0x4f3750(0xe9)},{'name':a203_0x4f3750(0xb7),'type':a203_0x4f3750(0xbd),'description':'Risk\x20level\x20for\x20this\x20workspace\x20app\x20profile','enum':[...RISK_LEVEL_VALUES]},{'name':a203_0x4f3750(0xbb),'type':a203_0x4f3750(0xbd),'description':a203_0x4f3750(0xbc)}];function isRecord(_0xf584e){const _0x4475f9=a203_0x4f3750;return!!_0xf584e&&typeof _0xf584e===_0x4475f9(0xd7)&&!Array[_0x4475f9(0xc2)](_0xf584e);}function assertValidAppcode(_0x3a0fd5){const _0xcce952=a203_0x4f3750,{valid:_0x957c4c,message:_0x193e30}=validateAppcode(_0x3a0fd5);if(!_0x957c4c)throw CliErrors[_0xcce952(0xdc)]('Invalid\x20appcode:\x20'+_0x3a0fd5,_0x193e30);}function sanitizeProfile(_0x105c68){if(!isRecord(_0x105c68))return{};const _0x2d6dab={};for(const _0x9431b4 of SAFE_PROFILE_KEYS){if(_0x105c68[_0x9431b4]!==undefined)_0x2d6dab[_0x9431b4]=_0x105c68[_0x9431b4];}return _0x2d6dab;}function cloneProfile(_0x31f5e1){return isRecord(_0x31f5e1)?{..._0x31f5e1}:{};}function collectWorkspaceProfileOverrides(_0x3569c8){const _0x160e3e=a203_0x4f3750,_0xf5d65c={},_0x52bede=_0x3569c8[_0x160e3e(0xe3)](_0x160e3e(0xde)),_0x35d6c8=_0x3569c8['str'](_0x160e3e(0xe2)),_0x18b7b5=_0x3569c8[_0x160e3e(0xe3)](_0x160e3e(0xbf)),_0x1c9a58=_0x3569c8['flag'](_0x160e3e(0xb6)),_0x47a315=_0x3569c8[_0x160e3e(0xe3)](_0x160e3e(0xb7)),_0x19f111=_0x3569c8[_0x160e3e(0xe3)](_0x160e3e(0xbb));if(_0x52bede)_0xf5d65c[_0x160e3e(0xde)]=_0x52bede;if(_0x35d6c8)_0xf5d65c[_0x160e3e(0xe2)]=_0x35d6c8;if(_0x18b7b5)_0xf5d65c[_0x160e3e(0xc9)]=_0x18b7b5;if(_0x1c9a58!==undefined&&_0x1c9a58!=='')_0xf5d65c[_0x160e3e(0xb6)]=Number(_0x1c9a58);if(_0x47a315)_0xf5d65c[_0x160e3e(0xb7)]=_0x47a315;if(_0x19f111)_0xf5d65c[_0x160e3e(0xbb)]=_0x19f111;return _0xf5d65c;}async function validateWorkspaceArgs(_0x20b55f){const _0x375077=a203_0x4f3750,_0x806fd6=_0x20b55f['str']('app')['trim'](),_0x5c63c5=_0x20b55f[_0x375077(0xe3)](_0x375077(0xb3))['trim']();if(!_0x806fd6&&!_0x5c63c5)throw CliErrors[_0x375077(0xdc)](_0x375077(0xe8),_0x375077(0xdb)+CLI_BIN_NAME+_0x375077(0xc7)+CLI_BIN_NAME+'\x20workspace\x20use\x20--app\x20<name>`.');if(_0x5c63c5)assertValidAppcode(_0x5c63c5);}function resolveKnownApps(){const _0x135247=a203_0x4f3750,{config:_0x3fed89,layers:_0x3fb040}=readRawConfigWithLayers(),_0x1cf175=isRecord(_0x3fed89[_0x135247(0xd5)])?_0x3fed89[_0x135247(0xd5)]:{},_0x4f3d2f=isRecord(_0x3fb040['globalConfig'][_0x135247(0xd5)])?_0x3fb040[_0x135247(0xd3)][_0x135247(0xd5)]:{};return{..._0x4f3d2f,..._0x1cf175};}async function configureWorkspace(_0x48c7ed,_0x4625ab){const _0x2012aa=a203_0x4f3750,_0x9cf643=_0x48c7ed[_0x2012aa(0xe3)](_0x2012aa(0xc0))[_0x2012aa(0xcb)](),_0x5805df=_0x48c7ed[_0x2012aa(0xe3)](_0x2012aa(0xb3))[_0x2012aa(0xcb)](),_0x46962f=_0x9cf643||_0x5805df;if(!_0x46962f)throw CliErrors[_0x2012aa(0xdc)]('Missing\x20workspace\x20app\x20selector.',_0x2012aa(0xdb)+CLI_BIN_NAME+_0x2012aa(0xc7)+CLI_BIN_NAME+_0x2012aa(0xe4));if(_0x5805df)assertValidAppcode(_0x5805df);const _0x1b2552=resolveWriteConfigPath('project'),_0x3bd75b=readConfigFile(_0x1b2552),_0x38ca67=resolveKnownApps(),_0x50e148=isRecord(_0x3bd75b['apps'])?{..._0x3bd75b[_0x2012aa(0xd5)]}:{},_0x2209c5=cloneProfile(_0x50e148[_0x46962f]),_0x5d05d8=sanitizeProfile(_0x38ca67[_0x46962f]),_0x16dec4=_0x5805df?{}:_0x5d05d8,_0x53ed77=_0x5805df||_0x16dec4[_0x2012aa(0xb3)];if(!_0x53ed77){const _0x48a275=Object[_0x2012aa(0xd0)](_0x38ca67),_0x180f27=_0x48a275[_0x2012aa(0xb5)]===0x0?_0x2012aa(0xdb)+CLI_BIN_NAME+_0x2012aa(0xc1)+_0x4625ab+'\x20--app\x20'+_0x46962f+_0x2012aa(0xb2):_0x2012aa(0xe6)+_0x48a275[_0x2012aa(0xd9)](',\x20');throw CliErrors['validation'](_0x2012aa(0xce)+_0x46962f+_0x2012aa(0xc4),_0x180f27);}assertValidAppcode(String(_0x53ed77));const _0x21cf4a={..._0x16dec4,..._0x2209c5,'appcode':String(_0x53ed77),...collectWorkspaceProfileOverrides(_0x48c7ed)};return _0x50e148[_0x46962f]=_0x21cf4a,_0x3bd75b[_0x2012aa(0xd5)]=_0x50e148,normalizeStoredDefaultApp(_0x3bd75b,_0x46962f),delete _0x3bd75b[_0x2012aa(0xb3)],delete _0x3bd75b[_0x2012aa(0xc0)],_0x21cf4a[_0x2012aa(0xde)]&&(_0x3bd75b['env']=_0x21cf4a['env']),writeConfigFile(_0x1b2552,_0x3bd75b),{'ok':!![],'message':_0x2012aa(0xd6)+(_0x4625ab===_0x2012aa(0xe5)?_0x2012aa(0xcf):'updated')+':\x20'+_0x46962f+_0x2012aa(0xc3)+_0x21cf4a[_0x2012aa(0xb3)]+').\x20Config:\x20'+_0x1b2552+_0x2012aa(0xd8),'data':{'operation':_0x2012aa(0xcc)+_0x4625ab,'configPath':_0x1b2552,'app':_0x46962f,'appcode':_0x21cf4a['appcode'],'env':_0x21cf4a[_0x2012aa(0xde)]??null,'credentialsWritten':![]}};}const workspaceInitDefinition={'service':a203_0x4f3750(0xc5),'command':a203_0x4f3750(0xe5),'description':a203_0x4f3750(0xd1),'risk':'write','requiresAuth':![],'requiresAppCode':![],'args':[],'flags':workspaceFlags,'validate':validateWorkspaceArgs,'execute':_0x505fa1=>configureWorkspace(_0x505fa1,a203_0x4f3750(0xe5))},workspaceUseDefinition={'service':a203_0x4f3750(0xc5),'command':a203_0x4f3750(0xb8),'description':a203_0x4f3750(0xe7),'risk':a203_0x4f3750(0xca),'requiresAuth':![],'requiresAppCode':![],'args':[],'flags':workspaceFlags,'validate':validateWorkspaceArgs,'execute':_0x1ffe47=>configureWorkspace(_0x1ffe47,a203_0x4f3750(0xb8))};export const workspaceDefinitions=[workspaceInitDefinition,workspaceUseDefinition,workspaceAddDefinition,workspaceRemoveDefinition];export{WORKSPACE_USAGE};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a204_0x53edd9=a204_0x208a;(function(_0x2a876e,_0x27c3d8){const _0x35f459=a204_0x208a,_0x236e34=_0x2a876e();while(!![]){try{const _0xbc5aea=-parseInt(_0x35f459(0x71))/0x1+-parseInt(_0x35f459(0x79))/0x2*(parseInt(_0x35f459(0x74))/0x3)+parseInt(_0x35f459(0x7a))/0x4*(parseInt(_0x35f459(0x7c))/0x5)+parseInt(_0x35f459(0x78))/0x6+parseInt(_0x35f459(0x6d))/0x7*(parseInt(_0x35f459(0x7b))/0x8)+parseInt(_0x35f459(0x77))/0x9+-parseInt(_0x35f459(0x6f))/0xa;if(_0xbc5aea===_0x27c3d8)break;else _0x236e34['push'](_0x236e34['shift']());}catch(_0x269820){_0x236e34['push'](_0x236e34['shift']());}}}(a204_0x3a98,0x96361));import{buildAppRemoveFlags,runAppRemove,validateAppName}from'../../commands/common/app-registry.js';function a204_0x208a(_0x2ff04d,_0x41fcf8){_0x2ff04d=_0x2ff04d-0x6d;const _0x3a9870=a204_0x3a98();let _0x208a49=_0x3a9870[_0x2ff04d];return _0x208a49;}export const workspaceRemoveDefinition={'service':'workspace','command':a204_0x53edd9(0x73),'description':a204_0x53edd9(0x72),'risk':a204_0x53edd9(0x70),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a204_0x53edd9(0x75),'description':a204_0x53edd9(0x6e),'required':!![]}],'flags':buildAppRemoveFlags(),'validate':_0x31ab08=>validateAppName(_0x31ab08,a204_0x53edd9(0x76)),'execute':_0x36d295=>runAppRemove(_0x36d295,a204_0x53edd9(0x76))};function a204_0x3a98(){const _0x1b5c7=['App\x20profile\x20name\x20to\x20remove','23471790ipbAhy','write','7262UXppFW','Remove\x20an\x20app\x20profile\x20from\x20the\x20current\x20workspace\x20(or\x20--global)','remove','3SJGNhM','name','workspace\x20remove','9397512FjTUIB','2377500GNBEHh','267978KduXLW','666552EgGjUx','5307592xNBpsY','30vaUIHY','7XWrCHo'];a204_0x3a98=function(){return _0x1b5c7;};return a204_0x3a98();}
|