@lovrabet/rabetbase-cli 2.5.0-beta.6 → 2.5.0
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/table-diff-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.manifest.json +3 -3
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a191_0x4e9ab4=a191_0x21db;(function(_0x45b9fa,_0xef9887){const _0x28e95c=a191_0x21db,_0xbf77f=_0x45b9fa();while(!![]){try{const _0x56851c=parseInt(_0x28e95c(0x14d))/0x1*(-parseInt(_0x28e95c(0x130))/0x2)+parseInt(_0x28e95c(0x11b))/0x3*(-parseInt(_0x28e95c(0x14c))/0x4)+parseInt(_0x28e95c(0x121))/0x5+parseInt(_0x28e95c(0x142))/0x6*(parseInt(_0x28e95c(0x145))/0x7)+-parseInt(_0x28e95c(0x13c))/0x8+-parseInt(_0x28e95c(0x139))/0x9*(parseInt(_0x28e95c(0x114))/0xa)+parseInt(_0x28e95c(0x140))/0xb*(parseInt(_0x28e95c(0x122))/0xc);if(_0x56851c===_0xef9887)break;else _0xbf77f['push'](_0xbf77f['shift']());}catch(_0x394b4a){_0xbf77f['push'](_0xbf77f['shift']());}}}(a191_0x5276,0xc5d2a));function a191_0x5276(){const _0x4d6b02=['local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','local\x20differs\x20from\x20remote','sqlRootDir','Pull\x20complete:\x20','toISOString','891486osSYJN','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','length','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','paging','\x20failed','4032010MLzfuu','12ZdQbRd','\x20skipped,\x20','apps','utf8','pull','push','str','sqlcode','mybatisXml','totalCount','Force\x20pull\x20cancelled.','sqlCode','sql','catch','5008iYgFXG','\x20written,\x20','Force\x20overwrite\x20local\x20unsynced\x20changes','appCode','join','Filter\x20by\x20SQL\x20display\x20name','name','replace','description','8777943bPOQcq','sqlRoot','conflict','4582432UJKPHM','string','lastSync','read','29899859palIFF','would_pull','9600GLHIqX','test','dbId','91dlbbvC','filter','unchanged','nonInteractive','sqlContent','Would\x20pull\x20','sqls','12KtRGhJ','118FSMqiU','force','sqlName','10nWlwLu','message'];a191_0x5276=function(){return _0x4d6b02;};return a191_0x5276();}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 a191_0x21db(_0x1224fe,_0x4bc4d3){_0x1224fe=_0x1224fe-0x112;const _0x5276b1=a191_0x5276();let _0x21dbe9=_0x5276b1[_0x1224fe];return _0x21dbe9;}async function fetchAllSqlQueries(_0x3f95c8,_0x1534c4){const _0x411c63=a191_0x21db,_0x132bc7=[];let _0x31157d=0x1;while(!![]){const _0x2a7d7d=await listSqlQueries(_0x3f95c8,{'currentPage':_0x31157d,'pageSize':PAGE_SIZE,'sqlCode':_0x1534c4['sqlCode'],'sqlName':_0x1534c4['sqlName']}),_0x4c54a8=_0x2a7d7d['tableData']??[];_0x132bc7[_0x411c63(0x127)](..._0x4c54a8);if(_0x4c54a8[_0x411c63(0x11d)]===0x0)break;const _0x2db558=_0x2a7d7d[_0x411c63(0x11f)]?.[_0x411c63(0x12b)];if(_0x2db558!=null?_0x132bc7[_0x411c63(0x11d)]>=_0x2db558:_0x4c54a8[_0x411c63(0x11d)]<PAGE_SIZE)break;_0x31157d++;}return _0x132bc7;}async function ensureSqlContent(_0xac8f84){const _0x274ba3=a191_0x21db;if(_0xac8f84[_0x274ba3(0x149)]!=null&&String(_0xac8f84['sqlContent'])[_0x274ba3(0x11d)]>0x0)return _0xac8f84;return getSqlQueryDetail(_0xac8f84[_0x274ba3(0x12d)]);}export const sqlPull={'service':'sql','command':a191_0x4e9ab4(0x126),'description':a191_0x4e9ab4(0x11e),'risk':a191_0x4e9ab4(0x13f),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a191_0x4e9ab4(0x136),'type':a191_0x4e9ab4(0x13d),'description':a191_0x4e9ab4(0x135)},{'name':a191_0x4e9ab4(0x112),'type':'boolean','description':a191_0x4e9ab4(0x132)}],async 'dryRun'(_0x53b631){const _0x24091=a191_0x4e9ab4,_0x2a3512=loadSqlProjectConfig(_0x53b631['appCode']),_0x470221=await readSqlLockFile(_0x2a3512['lockFilePath']),{appLock:_0x49b649}=ensureSqlLockScope(_0x470221??createEmptySqlLock(),_0x2a3512['appCode'],_0x2a3512[_0x24091(0x13a)],_0x24091(0x126)),_0x3bb9d9=await fetchAllSqlQueries(_0x53b631[_0x24091(0x133)],{'sqlCode':_0x53b631[_0x24091(0x128)](_0x24091(0x129))||undefined,'sqlName':_0x53b631['str'](_0x24091(0x136))||undefined}),_0x122608=[];for(const _0x4e27bc of _0x3bb9d9){const _0x132444=await ensureSqlContent(_0x4e27bc),_0x1ba8f0=ensureRemoteSqlContent(_0x132444),_0x3117b4=detectModeFromSql(_0x132444),_0x312824=_0x132444[_0x24091(0x144)]?await getDbName(_0x53b631[_0x24091(0x133)],Number(_0x132444[_0x24091(0x144)]))[_0x24091(0x12f)](()=>undefined):undefined,_0x526158=buildLocalSqlFileContent({'sqlCode':_0x132444[_0x24091(0x12d)],'sqlName':_0x132444[_0x24091(0x113)],'dbId':_0x132444[_0x24091(0x144)]},_0x1ba8f0,{'dbName':_0x312824,'mode':_0x3117b4,'syncedAt':new Date()[_0x24091(0x11a)](),'description':_0x132444[_0x24091(0x138)]}),_0x4c6389=buildSqlLockEntry(_0x132444,_0x1ba8f0,'',{'dbName':_0x312824}),_0x555b90=resolveLocalSqlFilePath(_0x2a3512,_0x132444[_0x24091(0x12d)],_0x4c6389);let _0x81d047=_0x24091(0x141),_0xcc857d;if(await fileExists(_0x555b90)){const _0x1b8129=await readFile(_0x555b90,_0x24091(0x125));isEquivalentPulledSqlFile(_0x1b8129,_0x526158,_0x3117b4)?(_0x81d047='skipped',_0xcc857d=_0x24091(0x147)):(_0x81d047=_0x24091(0x13b),_0xcc857d=_0x24091(0x116));}_0x122608[_0x24091(0x127)]({'sqlCode':_0x132444['sqlCode'],'sqlName':_0x132444[_0x24091(0x113)],'filePath':_0x555b90,'status':_0x81d047,'reason':_0xcc857d});}return{'method':'POST','url':'/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','body':{'appCode':_0x53b631[_0x24091(0x133)],'sqlCode':_0x53b631['str'](_0x24091(0x129))||null,'sqlName':_0x53b631[_0x24091(0x128)]('name')||null,'files':_0x122608},'description':_0x24091(0x14a)+_0x122608[_0x24091(0x11d)]+'\x20SQL\x20file(s)\x20into\x20'+_0x2a3512['sqlRootDir']};},async 'execute'(_0x44fd8b){const _0x5a4b67=a191_0x4e9ab4,_0x393d28=loadSqlProjectConfig(_0x44fd8b['appCode']),_0x23c551=await readSqlLockFile(_0x393d28['lockFilePath']),{lockData:_0x2ce886,appLock:_0x1bec47}=ensureSqlLockScope(_0x23c551??createEmptySqlLock(),_0x393d28[_0x5a4b67(0x133)],_0x393d28[_0x5a4b67(0x13a)],_0x5a4b67(0x126)),_0x5846a9=_0x44fd8b['bool'](_0x5a4b67(0x112)),_0x5d5756=await fetchAllSqlQueries(_0x44fd8b['appCode'],{'sqlCode':_0x44fd8b[_0x5a4b67(0x128)](_0x5a4b67(0x129))||undefined,'sqlName':_0x44fd8b[_0x5a4b67(0x128)]('name')||undefined});if(_0x5d5756['length']===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':'No\x20remote\x20SQL\x20queries\x20matched.'};const _0x22994a=[],_0x371a00=[];for(const _0x1a0606 of _0x5d5756){try{_0x22994a[_0x5a4b67(0x127)](await ensureSqlContent(_0x1a0606));}catch(_0x4258da){_0x371a00[_0x5a4b67(0x127)]({'sqlCode':_0x1a0606[_0x5a4b67(0x12d)],'error':_0x4258da instanceof Error?_0x4258da['message']:String(_0x4258da)});}}if(_0x5846a9&&!_0x44fd8b[_0x5a4b67(0x148)]){let _0x4288eb=![];for(const _0x537f6e of _0x22994a){const _0x48cece=detectModeFromSql(_0x537f6e),_0x1235e8=_0x537f6e[_0x5a4b67(0x144)]?await getDbName(_0x44fd8b[_0x5a4b67(0x133)],Number(_0x537f6e[_0x5a4b67(0x144)]))['catch'](()=>undefined):undefined,_0x54c9de=buildLocalSqlFileContent({'sqlCode':_0x537f6e[_0x5a4b67(0x12d)],'sqlName':_0x537f6e['sqlName'],'dbId':_0x537f6e['dbId']},ensureRemoteSqlContent(_0x537f6e),{'dbName':_0x1235e8,'mode':_0x48cece,'syncedAt':new Date()['toISOString'](),'description':_0x537f6e[_0x5a4b67(0x138)]}),_0x28e287=resolveLocalSqlFilePath(_0x393d28,_0x537f6e['sqlCode'],buildSqlLockEntry(_0x537f6e,ensureRemoteSqlContent(_0x537f6e),'',{'dbName':_0x1235e8}));if(await fileExists(_0x28e287)){const _0xf974f7=await readFile(_0x28e287,_0x5a4b67(0x125));if(!isEquivalentPulledSqlFile(_0xf974f7,_0x54c9de,_0x48cece)){_0x4288eb=!![];break;}}}if(_0x4288eb){const _0x3b4d01=await confirmForceOverwrite(_0x5a4b67(0x11c));if(!_0x3b4d01)throw CliErrors['cancelled'](_0x5a4b67(0x12c));}}const _0xc7c497=cloneSqlLockData(_0x2ce886),_0x21a2ac=_0xc7c497[_0x5a4b67(0x124)][_0x393d28[_0x5a4b67(0x133)]],_0x57bfce=[],_0xe63ef9=[];for(const _0x44da51 of _0x22994a){const _0x3dbe5f=_0x21a2ac['sqls'][_0x44da51[_0x5a4b67(0x12d)]],_0x51f9d0=ensureRemoteSqlContent(_0x44da51),_0x4de15f=detectModeFromSql(_0x44da51),_0x381581=_0x44da51['dbId']?await getDbName(_0x44fd8b[_0x5a4b67(0x133)],Number(_0x44da51[_0x5a4b67(0x144)]))[_0x5a4b67(0x12f)](()=>undefined):undefined,_0x4ba3bb=buildLocalSqlFileContent({'sqlCode':_0x44da51[_0x5a4b67(0x12d)],'sqlName':_0x44da51[_0x5a4b67(0x113)],'dbId':_0x44da51[_0x5a4b67(0x144)]},_0x51f9d0,{'dbName':_0x381581,'mode':_0x4de15f,'syncedAt':new Date()[_0x5a4b67(0x11a)](),'description':_0x44da51['description']}),_0x5106c7=buildSqlLockEntry(_0x44da51,_0x51f9d0,computeSqlContentHash(_0x4ba3bb),{'dbName':_0x381581}),_0x2306ae=_0x5106c7['path'],_0x71f56a=join(_0x393d28[_0x5a4b67(0x118)],_0x2306ae);try{if(await fileExists(_0x71f56a)){const _0x4138aa=await readFile(_0x71f56a,_0x5a4b67(0x125));if(isEquivalentPulledSqlFile(_0x4138aa,_0x4ba3bb,_0x4de15f)){_0xe63ef9[_0x5a4b67(0x127)]({'sqlCode':_0x44da51[_0x5a4b67(0x12d)],'reason':'unchanged'}),_0x21a2ac['sqls'][_0x44da51[_0x5a4b67(0x12d)]]={..._0x5106c7,'hash':computeSqlContentHash(_0x4138aa),'path':_0x2306ae};continue;}if(!_0x5846a9){_0xe63ef9[_0x5a4b67(0x127)]({'sqlCode':_0x44da51['sqlCode'],'reason':_0x5a4b67(0x117)});continue;}}const _0x3d71e5=_0x3dbe5f?.['path']?join(_0x393d28[_0x5a4b67(0x118)],_0x3dbe5f['path']):undefined;_0x3d71e5&&_0x3d71e5!==_0x71f56a&&await fileExists(_0x3d71e5)&&await rm(_0x3d71e5,{'force':!![]}),await ensureParentDirectory(_0x71f56a),await writeFile(_0x71f56a,_0x4ba3bb,_0x5a4b67(0x125)),_0x21a2ac[_0x5a4b67(0x14b)][_0x44da51[_0x5a4b67(0x12d)]]={..._0x5106c7,'path':_0x2306ae},_0x57bfce[_0x5a4b67(0x127)]({'sqlCode':_0x44da51[_0x5a4b67(0x12d)],'filePath':_0x71f56a});}catch(_0x4e2166){_0x371a00['push']({'sqlCode':_0x44da51[_0x5a4b67(0x12d)],'error':_0x4e2166 instanceof Error?_0x4e2166[_0x5a4b67(0x115)]:String(_0x4e2166)});}}return _0x21a2ac[_0x5a4b67(0x13e)]=new Date()[_0x5a4b67(0x11a)](),await writeSqlLockFile(_0x393d28['lockFilePath'],_0xc7c497),{'ok':_0x371a00[_0x5a4b67(0x11d)]===0x0,'data':{'pulled':_0x57bfce,'skipped':_0xe63ef9,'failed':_0x371a00},'message':_0x5a4b67(0x119)+_0x57bfce['length']+_0x5a4b67(0x131)+_0xe63ef9[_0x5a4b67(0x11d)]+_0x5a4b67(0x123)+_0x371a00[_0x5a4b67(0x11d)]+_0x5a4b67(0x120)};}};function detectModeFromSql(_0x4a21c7){const _0x25ba88=a191_0x4e9ab4,_0x88274a=ensureRemoteSqlContent(_0x4a21c7),_0x197ef9=stripLocalSqlMetadata(_0x88274a,_0x25ba88(0x12a))['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0x25ba88(0x143)](_0x197ef9))return _0x25ba88(0x12a);return _0x25ba88(0x12e);}function isEquivalentPulledSqlFile(_0x2602aa,_0x432d75,_0x47066f){return normalizePullComparableContent(_0x2602aa,_0x47066f)===normalizePullComparableContent(_0x432d75,_0x47066f);}function normalizePullComparableContent(_0x143470,_0x48f349){const _0x3c479a=a191_0x4e9ab4,_0x379aba=_0x143470[_0x3c479a(0x137)](/\r\n/g,'\x0a')['split']('\x0a'),_0x554119=_0x379aba[_0x3c479a(0x146)](_0xe1e818=>!isSyncedAtMetadataLine(_0xe1e818,_0x48f349));return _0x554119[_0x3c479a(0x134)]('\x0a');}function isSyncedAtMetadataLine(_0xef0265,_0x3f0010){const _0x41086c=a191_0x4e9ab4;if(_0x3f0010===_0x41086c(0x12a))return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x41086c(0x143)](_0xef0265);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x41086c(0x143)](_0xef0265);}
|
|
1
|
+
const a191_0x234989=a191_0x2817;(function(_0x33cee9,_0x524716){const _0x1f47f8=a191_0x2817,_0xcaff54=_0x33cee9();while(!![]){try{const _0x5efe69=-parseInt(_0x1f47f8(0x182))/0x1+parseInt(_0x1f47f8(0x189))/0x2*(parseInt(_0x1f47f8(0x1b4))/0x3)+parseInt(_0x1f47f8(0x191))/0x4+-parseInt(_0x1f47f8(0x1ae))/0x5*(parseInt(_0x1f47f8(0x193))/0x6)+parseInt(_0x1f47f8(0x18e))/0x7*(-parseInt(_0x1f47f8(0x1a8))/0x8)+-parseInt(_0x1f47f8(0x17b))/0x9+-parseInt(_0x1f47f8(0x185))/0xa*(-parseInt(_0x1f47f8(0x192))/0xb);if(_0x5efe69===_0x524716)break;else _0xcaff54['push'](_0xcaff54['shift']());}catch(_0x5aa001){_0xcaff54['push'](_0xcaff54['shift']());}}}(a191_0x59be,0xc9f1e));function a191_0x59be(){const _0xd13431=['lastSync','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','POST','description','Force\x20overwrite\x20local\x20unsynced\x20changes','Would\x20pull\x20','1294575MljbUm','tableData','length','2241380ErCSkJ','catch','string','No\x20remote\x20SQL\x20queries\x20matched.','8PSFTRS','sqlRoot','local\x20differs\x20from\x20remote','cancelled','pull','8799oHAdpn','sqls','read','3887380KIUWUh','209QhXMKs','18sguBLA','lockFilePath','dbId','unchanged','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','toISOString','join','mybatisXml','\x20SQL\x20file(s)\x20into\x20','name','bool','Pull\x20complete:\x20','nonInteractive','path','skipped','boolean','sqlcode','sqlRootDir','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','message','sqlCode','7272mTzfsB','sqlName','utf8','push','totalCount','str','2238525HiKtYG','filter','paging','appCode','sqlContent','Filter\x20by\x20SQL\x20display\x20name','228210mELais','apps','test','sql','8345502hgCFrB'];a191_0x59be=function(){return _0xd13431;};return a191_0x59be();}import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x48f8e0,_0x2986af){const _0xd12cbe=a191_0x2817,_0xec1332=[];let _0x187b43=0x1;while(!![]){const _0x61b273=await listSqlQueries(_0x48f8e0,{'currentPage':_0x187b43,'pageSize':PAGE_SIZE,'sqlCode':_0x2986af[_0xd12cbe(0x1a7)],'sqlName':_0x2986af[_0xd12cbe(0x1a9)]}),_0x56b383=_0x61b273[_0xd12cbe(0x183)]??[];_0xec1332['push'](..._0x56b383);if(_0x56b383[_0xd12cbe(0x184)]===0x0)break;const _0x365880=_0x61b273[_0xd12cbe(0x1b0)]?.[_0xd12cbe(0x1ac)];if(_0x365880!=null?_0xec1332[_0xd12cbe(0x184)]>=_0x365880:_0x56b383[_0xd12cbe(0x184)]<PAGE_SIZE)break;_0x187b43++;}return _0xec1332;}async function ensureSqlContent(_0xfad991){const _0x4eebd5=a191_0x2817;if(_0xfad991['sqlContent']!=null&&String(_0xfad991[_0x4eebd5(0x1b2)])[_0x4eebd5(0x184)]>0x0)return _0xfad991;return getSqlQueryDetail(_0xfad991[_0x4eebd5(0x1a7)]);}export const sqlPull={'service':a191_0x234989(0x1b7),'command':'pull','description':a191_0x234989(0x1a5),'risk':a191_0x234989(0x190),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a191_0x234989(0x187),'description':a191_0x234989(0x1b3)},{'name':'force','type':a191_0x234989(0x1a2),'description':a191_0x234989(0x180)}],async 'dryRun'(_0x3eed74){const _0x37cb81=a191_0x234989,_0x21eeda=loadSqlProjectConfig(_0x3eed74[_0x37cb81(0x1b1)]),_0x112f46=await readSqlLockFile(_0x21eeda['lockFilePath']),{appLock:_0x3b037c}=ensureSqlLockScope(_0x112f46??createEmptySqlLock(),_0x21eeda[_0x37cb81(0x1b1)],_0x21eeda[_0x37cb81(0x18a)],_0x37cb81(0x18d)),_0x491105=await fetchAllSqlQueries(_0x3eed74[_0x37cb81(0x1b1)],{'sqlCode':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x1a3))||undefined,'sqlName':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x19c))||undefined}),_0x5e892c=[];for(const _0x345c59 of _0x491105){const _0x11c83a=await ensureSqlContent(_0x345c59),_0x142307=ensureRemoteSqlContent(_0x11c83a),_0x31fe7c=detectModeFromSql(_0x11c83a),_0x243eed=_0x11c83a[_0x37cb81(0x195)]?await getDbName(_0x3eed74['appCode'],Number(_0x11c83a[_0x37cb81(0x195)]))[_0x37cb81(0x186)](()=>undefined):undefined,_0x924240=buildLocalSqlFileContent({'sqlCode':_0x11c83a[_0x37cb81(0x1a7)],'sqlName':_0x11c83a['sqlName'],'dbId':_0x11c83a['dbId']},_0x142307,{'dbName':_0x243eed,'mode':_0x31fe7c,'syncedAt':new Date()[_0x37cb81(0x198)](),'description':_0x11c83a[_0x37cb81(0x17f)]}),_0x28e78b=buildSqlLockEntry(_0x11c83a,_0x142307,'',{'dbName':_0x243eed}),_0x18cff4=resolveLocalSqlFilePath(_0x21eeda,_0x11c83a[_0x37cb81(0x1a7)],_0x28e78b);let _0x3b1e12='would_pull',_0x1871f2;if(await fileExists(_0x18cff4)){const _0x11f8f3=await readFile(_0x18cff4,_0x37cb81(0x1aa));isEquivalentPulledSqlFile(_0x11f8f3,_0x924240,_0x31fe7c)?(_0x3b1e12=_0x37cb81(0x1a1),_0x1871f2=_0x37cb81(0x196)):(_0x3b1e12='conflict',_0x1871f2='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x5e892c[_0x37cb81(0x1ab)]({'sqlCode':_0x11c83a['sqlCode'],'sqlName':_0x11c83a['sqlName'],'filePath':_0x18cff4,'status':_0x3b1e12,'reason':_0x1871f2});}return{'method':_0x37cb81(0x17e),'url':_0x37cb81(0x17d),'body':{'appCode':_0x3eed74[_0x37cb81(0x1b1)],'sqlCode':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x1a3))||null,'sqlName':_0x3eed74[_0x37cb81(0x1ad)](_0x37cb81(0x19c))||null,'files':_0x5e892c},'description':_0x37cb81(0x181)+_0x5e892c['length']+_0x37cb81(0x19b)+_0x21eeda[_0x37cb81(0x1a4)]};},async 'execute'(_0x4b4ef9){const _0x4682d7=a191_0x234989,_0x24da17=loadSqlProjectConfig(_0x4b4ef9[_0x4682d7(0x1b1)]),_0xde2060=await readSqlLockFile(_0x24da17['lockFilePath']),{lockData:_0x57ccaa,appLock:_0x79603f}=ensureSqlLockScope(_0xde2060??createEmptySqlLock(),_0x24da17['appCode'],_0x24da17['sqlRoot'],_0x4682d7(0x18d)),_0x550dba=_0x4b4ef9[_0x4682d7(0x19d)]('force'),_0x5b77e0=await fetchAllSqlQueries(_0x4b4ef9['appCode'],{'sqlCode':_0x4b4ef9['str'](_0x4682d7(0x1a3))||undefined,'sqlName':_0x4b4ef9[_0x4682d7(0x1ad)]('name')||undefined});if(_0x5b77e0[_0x4682d7(0x184)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x4682d7(0x188)};const _0x495ec8=[],_0x2662d7=[];for(const _0x21c3fd of _0x5b77e0){try{_0x495ec8[_0x4682d7(0x1ab)](await ensureSqlContent(_0x21c3fd));}catch(_0xf1c4c1){_0x2662d7[_0x4682d7(0x1ab)]({'sqlCode':_0x21c3fd[_0x4682d7(0x1a7)],'error':_0xf1c4c1 instanceof Error?_0xf1c4c1[_0x4682d7(0x1a6)]:String(_0xf1c4c1)});}}if(_0x550dba&&!_0x4b4ef9[_0x4682d7(0x19f)]){let _0x54af62=![];for(const _0x372be4 of _0x495ec8){const _0x26cb29=detectModeFromSql(_0x372be4),_0x5a03c1=_0x372be4['dbId']?await getDbName(_0x4b4ef9[_0x4682d7(0x1b1)],Number(_0x372be4[_0x4682d7(0x195)]))['catch'](()=>undefined):undefined,_0x222535=buildLocalSqlFileContent({'sqlCode':_0x372be4['sqlCode'],'sqlName':_0x372be4[_0x4682d7(0x1a9)],'dbId':_0x372be4['dbId']},ensureRemoteSqlContent(_0x372be4),{'dbName':_0x5a03c1,'mode':_0x26cb29,'syncedAt':new Date()[_0x4682d7(0x198)](),'description':_0x372be4[_0x4682d7(0x17f)]}),_0x3456e8=resolveLocalSqlFilePath(_0x24da17,_0x372be4[_0x4682d7(0x1a7)],buildSqlLockEntry(_0x372be4,ensureRemoteSqlContent(_0x372be4),'',{'dbName':_0x5a03c1}));if(await fileExists(_0x3456e8)){const _0x1448f3=await readFile(_0x3456e8,_0x4682d7(0x1aa));if(!isEquivalentPulledSqlFile(_0x1448f3,_0x222535,_0x26cb29)){_0x54af62=!![];break;}}}if(_0x54af62){const _0x3bc1f6=await confirmForceOverwrite(_0x4682d7(0x197));if(!_0x3bc1f6)throw CliErrors[_0x4682d7(0x18c)]('Force\x20pull\x20cancelled.');}}const _0x45d7e9=cloneSqlLockData(_0x57ccaa),_0x280503=_0x45d7e9[_0x4682d7(0x1b5)][_0x24da17['appCode']],_0x212cd0=[],_0x4fe3aa=[];for(const _0x2b26e8 of _0x495ec8){const _0x32e4dc=_0x280503[_0x4682d7(0x18f)][_0x2b26e8[_0x4682d7(0x1a7)]],_0x1344d7=ensureRemoteSqlContent(_0x2b26e8),_0x59d717=detectModeFromSql(_0x2b26e8),_0x22fe6b=_0x2b26e8['dbId']?await getDbName(_0x4b4ef9[_0x4682d7(0x1b1)],Number(_0x2b26e8['dbId']))[_0x4682d7(0x186)](()=>undefined):undefined,_0x44323b=buildLocalSqlFileContent({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'sqlName':_0x2b26e8[_0x4682d7(0x1a9)],'dbId':_0x2b26e8[_0x4682d7(0x195)]},_0x1344d7,{'dbName':_0x22fe6b,'mode':_0x59d717,'syncedAt':new Date()['toISOString'](),'description':_0x2b26e8[_0x4682d7(0x17f)]}),_0x1df3a0=buildSqlLockEntry(_0x2b26e8,_0x1344d7,computeSqlContentHash(_0x44323b),{'dbName':_0x22fe6b}),_0xe6a69b=_0x1df3a0['path'],_0x460151=join(_0x24da17[_0x4682d7(0x1a4)],_0xe6a69b);try{if(await fileExists(_0x460151)){const _0x59fd72=await readFile(_0x460151,'utf8');if(isEquivalentPulledSqlFile(_0x59fd72,_0x44323b,_0x59d717)){_0x4fe3aa[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'reason':_0x4682d7(0x196)}),_0x280503[_0x4682d7(0x18f)][_0x2b26e8[_0x4682d7(0x1a7)]]={..._0x1df3a0,'hash':computeSqlContentHash(_0x59fd72),'path':_0xe6a69b};continue;}if(!_0x550dba){_0x4fe3aa[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'reason':_0x4682d7(0x18b)});continue;}}const _0x5d80be=_0x32e4dc?.[_0x4682d7(0x1a0)]?join(_0x24da17[_0x4682d7(0x1a4)],_0x32e4dc[_0x4682d7(0x1a0)]):undefined;_0x5d80be&&_0x5d80be!==_0x460151&&await fileExists(_0x5d80be)&&await rm(_0x5d80be,{'force':!![]}),await ensureParentDirectory(_0x460151),await writeFile(_0x460151,_0x44323b,_0x4682d7(0x1aa)),_0x280503['sqls'][_0x2b26e8[_0x4682d7(0x1a7)]]={..._0x1df3a0,'path':_0xe6a69b},_0x212cd0[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'filePath':_0x460151});}catch(_0xe08b68){_0x2662d7[_0x4682d7(0x1ab)]({'sqlCode':_0x2b26e8[_0x4682d7(0x1a7)],'error':_0xe08b68 instanceof Error?_0xe08b68['message']:String(_0xe08b68)});}}return _0x280503[_0x4682d7(0x17c)]=new Date()[_0x4682d7(0x198)](),await writeSqlLockFile(_0x24da17[_0x4682d7(0x194)],_0x45d7e9),{'ok':_0x2662d7[_0x4682d7(0x184)]===0x0,'data':{'pulled':_0x212cd0,'skipped':_0x4fe3aa,'failed':_0x2662d7},'message':_0x4682d7(0x19e)+_0x212cd0[_0x4682d7(0x184)]+'\x20written,\x20'+_0x4fe3aa[_0x4682d7(0x184)]+'\x20skipped,\x20'+_0x2662d7[_0x4682d7(0x184)]+'\x20failed'};}};function a191_0x2817(_0x5b4b6e,_0x11a151){_0x5b4b6e=_0x5b4b6e-0x17b;const _0x59beab=a191_0x59be();let _0x2817f5=_0x59beab[_0x5b4b6e];return _0x2817f5;}function detectModeFromSql(_0x391ea0){const _0xf3b6a3=a191_0x234989,_0x54e0f5=ensureRemoteSqlContent(_0x391ea0),_0x246f4e=stripLocalSqlMetadata(_0x54e0f5,'mybatisXml')['trimStart']();if(/^<(select|insert|update|delete)\b/i[_0xf3b6a3(0x1b6)](_0x246f4e))return _0xf3b6a3(0x19a);return _0xf3b6a3(0x1b7);}function isEquivalentPulledSqlFile(_0x5e1251,_0x1f19f0,_0x240ae6){return normalizePullComparableContent(_0x5e1251,_0x240ae6)===normalizePullComparableContent(_0x1f19f0,_0x240ae6);}function normalizePullComparableContent(_0x521b0a,_0x293452){const _0x46fcbf=a191_0x234989,_0x6b0fbd=_0x521b0a['replace'](/\r\n/g,'\x0a')['split']('\x0a'),_0x5a2fc0=_0x6b0fbd[_0x46fcbf(0x1af)](_0x391959=>!isSyncedAtMetadataLine(_0x391959,_0x293452));return _0x5a2fc0[_0x46fcbf(0x199)]('\x0a');}function isSyncedAtMetadataLine(_0x112784,_0x1cec30){const _0x832cf6=a191_0x234989;if(_0x1cec30===_0x832cf6(0x19a))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x112784);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x112784);}
|
package/lib/commands/sql/push.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a192_0x138d30=a192_0x4daf;(function(_0x1b5c47,_0x7d1d62){const _0x475969=a192_0x4daf,_0x6945c3=_0x1b5c47();while(!![]){try{const _0x1eb3b7=-parseInt(_0x475969(0xc3))/0x1+parseInt(_0x475969(0xce))/0x2+-parseInt(_0x475969(0xed))/0x3*(parseInt(_0x475969(0xd2))/0x4)+parseInt(_0x475969(0xca))/0x5+-parseInt(_0x475969(0xf7))/0x6+parseInt(_0x475969(0xe4))/0x7*(parseInt(_0x475969(0xc6))/0x8)+parseInt(_0x475969(0xf0))/0x9;if(_0x1eb3b7===_0x7d1d62)break;else _0x6945c3['push'](_0x6945c3['shift']());}catch(_0x31d41e){_0x6945c3['push'](_0x6945c3['shift']());}}}(a192_0x2983,0xb4d0e));import{mkdir,readFile,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{updateSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{fileExists}from'../../core/bff/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildSqlLockEntry,stripLocalSqlMetadata}from'./shared.js';function a192_0x2983(){const _0x162ddd=['version','set','POST','1759990zgRkxE','filter','utf8','path','16OlmLHD','sqls','push','get','exec','No\x20database\x20matches\x20local\x20directory\x20\x22','\x22\x20for\x20sqlCode\x20','sqlCode','startsWith','catch','unchanged','join','force','lastSync','Push\x20local\x20SQL\x20files\x20to\x20remote','relativePath','toISOString','write','21Svhfbq','sqlRootDir','Local\x20directory\x20\x22','length','\x20failed','boolean','Would\x20push\x20','hash','entries','967068LVXzlz','Push\x20complete:\x20','dbName','7873380SlvOwO','projectRoot','sqlcode','filePath','\x20skipped,\x20','sqlRoot','dbDirectory','478236MghIux','validation','message','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock','remoteId','trashDir','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20','bool','has','isFinite','sql','appCode','\x20pushed,\x20','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','1320730HFgzif','sqlName','replace','1580584ZpLyOY','sqlConfig','dbId','\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20','5414740ZqaYlV'];a192_0x2983=function(){return _0x162ddd;};return a192_0x2983();}import{buildDbDirectoryName}from'../../core/sql-sync/utils.js';async function getTargetSqlQueries(_0x188ba2,_0x5b37a8,_0x432406){const _0xf17ed9=a192_0x4daf,_0x558b84=await scanLocalSqlQueries(_0x188ba2),_0x449f06=new Map();for(const _0x5f50f6 of _0x558b84){if(_0x432406&&_0x5f50f6[_0xf17ed9(0xd9)]!==_0x432406)continue;const _0x1a3554=_0x449f06[_0xf17ed9(0xd5)](_0x5f50f6['sqlCode'])??[];_0x1a3554['push'](_0x5f50f6),_0x449f06[_0xf17ed9(0xcc)](_0x5f50f6[_0xf17ed9(0xd9)],_0x1a3554);}if(_0x432406&&!_0x449f06[_0xf17ed9(0xbd)](_0x432406))throw CliErrors[_0xf17ed9(0xf8)]('Local\x20SQL\x20not\x20found:\x20'+_0x432406);const _0x4edac5=[];for(const [_0x4244be,_0x2b7923]of _0x449f06[_0xf17ed9(0xec)]()){if(_0x2b7923[_0xf17ed9(0xe7)]===0x1){_0x4edac5['push'](_0x2b7923[0x0]);continue;}const _0x384a4a=_0x5b37a8[_0xf17ed9(0xd3)][_0x4244be],_0x2d0940=_0x384a4a?.[_0xf17ed9(0xd1)],_0x5c3976=_0x2d0940?_0x2b7923[_0xf17ed9(0xcf)](_0x3c4651=>_0x3c4651['relativePath']!==_0x2d0940):_0x2b7923;if(_0x384a4a&&_0x5c3976[_0xf17ed9(0xe7)]===0x1){_0x4edac5[_0xf17ed9(0xd4)](_0x5c3976[0x0]);continue;}throw CliErrors[_0xf17ed9(0xf8)](_0xf17ed9(0xbb)+_0x4244be+_0xf17ed9(0xba));}return _0x4edac5;}export const sqlPush={'service':a192_0x138d30(0xbf),'command':a192_0x138d30(0xd4),'description':a192_0x138d30(0xe0),'risk':a192_0x138d30(0xe3),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':a192_0x138d30(0xde),'type':a192_0x138d30(0xe9),'description':a192_0x138d30(0xfa)}],async 'dryRun'(_0x16aa86){const _0x4a456e=a192_0x138d30,_0x3fcc10=loadSqlProjectConfig(_0x16aa86['appCode']),_0x47d076=await readSqlLockFile(_0x3fcc10['lockFilePath']),{appLock:_0x512bd8}=ensureSqlLockScope(_0x47d076??createEmptySqlLock(),_0x16aa86[_0x4a456e(0xc0)],_0x3fcc10[_0x4a456e(0xf5)],_0x4a456e(0xd4)),_0x4ff2c8=await getTargetSqlQueries(_0x3fcc10,_0x512bd8,_0x16aa86['str']('sqlcode')||undefined),_0x360756=[];for(const _0x5d48ad of _0x4ff2c8){const _0x26a425=await computeSqlFileHash(_0x5d48ad[_0x4a456e(0xf3)]),_0x4781d2=_0x512bd8[_0x4a456e(0xd3)][_0x5d48ad['sqlCode']],_0x37d3ad=!!_0x4781d2&&(_0x4781d2[_0x4a456e(0xd1)]!==_0x5d48ad[_0x4a456e(0xe1)]||!!_0x5d48ad[_0x4a456e(0xc4)]&&_0x4781d2[_0x4a456e(0xc4)]!==_0x5d48ad[_0x4a456e(0xc4)]);if(!_0x16aa86[_0x4a456e(0xbc)](_0x4a456e(0xde))&&_0x4781d2&&_0x4781d2[_0x4a456e(0xeb)]===_0x26a425&&!_0x37d3ad)continue;_0x360756[_0x4a456e(0xd4)](_0x5d48ad[_0x4a456e(0xd9)]);}return{'method':_0x4a456e(0xcd),'url':'/smartapi/custom/updateUserCustomSql','body':{'sqlCodes':_0x360756,'appCode':_0x16aa86[_0x4a456e(0xc0)]},'description':_0x4a456e(0xea)+_0x360756[_0x4a456e(0xe7)]+'\x20SQL\x20file(s)'};},async 'execute'(_0x51d657){const _0x4bb01d=a192_0x138d30,_0x24d874=loadSqlProjectConfig(_0x51d657[_0x4bb01d(0xc0)]),_0x505554=await readSqlLockFile(_0x24d874['lockFilePath']),{lockData:_0x12e648,appLock:_0x4a4bd8}=ensureSqlLockScope(_0x505554??createEmptySqlLock(),_0x51d657[_0x4bb01d(0xc0)],_0x24d874['sqlRoot'],'push'),_0x20d042=await getTargetSqlQueries(_0x24d874,_0x4a4bd8,_0x51d657['str'](_0x4bb01d(0xf2))||undefined);if(_0x20d042[_0x4bb01d(0xe7)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':'No\x20local\x20SQL\x20files\x20found.'};const _0x42701b=[],_0x564737=[],_0x42c356=[];for(const _0x4002dc of _0x20d042){const _0x3e87f1=_0x4a4bd8[_0x4bb01d(0xd3)][_0x4002dc['sqlCode']];if(!_0x3e87f1){_0x42c356['push']({'sqlCode':_0x4002dc[_0x4bb01d(0xd9)],'error':_0x4bb01d(0xc2)});continue;}try{const _0x318271=await computeSqlFileHash(_0x4002dc[_0x4bb01d(0xf3)]),_0x5bd980=_0x3e87f1[_0x4bb01d(0xd1)]!==_0x4002dc[_0x4bb01d(0xe1)]||!!_0x4002dc[_0x4bb01d(0xc4)]&&_0x3e87f1['sqlName']!==_0x4002dc[_0x4bb01d(0xc4)];if(!_0x51d657['bool'](_0x4bb01d(0xde))&&_0x3e87f1[_0x4bb01d(0xeb)]===_0x318271&&!_0x5bd980){_0x564737['push']({'sqlCode':_0x4002dc[_0x4bb01d(0xd9)],'reason':_0x4bb01d(0xdc)});continue;}if(_0x3e87f1[_0x4bb01d(0xcb)]==null){_0x42c356['push']({'sqlCode':_0x4002dc[_0x4bb01d(0xd9)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x4653aa=await readFile(_0x4002dc[_0x4bb01d(0xf3)],_0x4bb01d(0xd0)),_0x3a1eca=stripLocalSqlMetadata(_0x4653aa,_0x4002dc['mode']),_0x5e2a68=_0x4002dc['sqlName']||_0x3e87f1[_0x4bb01d(0xc4)],_0x106271=await resolveTargetDbBinding(_0x51d657[_0x4bb01d(0xc0)],_0x4002dc,_0x3e87f1),_0x148c4b=await updateSqlQuery({'id':_0x3e87f1['remoteId'],'appCode':_0x51d657[_0x4bb01d(0xc0)],'sqlCode':_0x4002dc[_0x4bb01d(0xd9)],'sqlName':_0x5e2a68,'dbId':_0x106271['dbId'],'version':_0x3e87f1[_0x4bb01d(0xcb)],'sqlContent':_0x3a1eca,'sqlConfig':_0x3e87f1[_0x4bb01d(0xc7)]??undefined}),_0x31d153=_0x148c4b[_0x4bb01d(0xc8)]?await getDbName(_0x51d657['appCode'],Number(_0x148c4b['dbId']))[_0x4bb01d(0xdb)](()=>_0x106271[_0x4bb01d(0xef)]):_0x106271[_0x4bb01d(0xef)];_0x4a4bd8[_0x4bb01d(0xd3)][_0x4002dc['sqlCode']]={...buildSqlLockEntry(_0x148c4b,_0x3a1eca,_0x318271,{'dbName':_0x31d153}),'path':_0x4002dc[_0x4bb01d(0xe1)],'mode':_0x3e87f1['mode']},await archivePreviousSqlFileIfNeeded(_0x24d874,_0x3e87f1[_0x4bb01d(0xd1)],_0x4002dc[_0x4bb01d(0xe1)]),_0x42701b[_0x4bb01d(0xd4)]({'sqlCode':_0x4002dc[_0x4bb01d(0xd9)],'remoteId':_0x3e87f1[_0x4bb01d(0xfb)]});}catch(_0x23a801){_0x42c356[_0x4bb01d(0xd4)]({'sqlCode':_0x4002dc[_0x4bb01d(0xd9)],'error':_0x23a801 instanceof Error?_0x23a801[_0x4bb01d(0xf9)]:String(_0x23a801)});}}return _0x4a4bd8[_0x4bb01d(0xdf)]=new Date()['toISOString'](),await writeSqlLockFile(_0x24d874['lockFilePath'],_0x12e648),{'ok':_0x42c356['length']===0x0,'data':{'pushed':_0x42701b,'skipped':_0x564737,'failed':_0x42c356},'message':_0x4bb01d(0xee)+_0x42701b[_0x4bb01d(0xe7)]+_0x4bb01d(0xc1)+_0x564737[_0x4bb01d(0xe7)]+_0x4bb01d(0xf4)+_0x42c356['length']+_0x4bb01d(0xe8)};}};async function archivePreviousSqlFileIfNeeded(_0xa47179,_0x319b44,_0x16ce84){const _0x33656d=a192_0x138d30;if(!_0x319b44||_0x319b44===_0x16ce84)return;const _0x4b923b=join(_0xa47179[_0x33656d(0xe5)],_0x319b44);if(!await fileExists(_0x4b923b))return;const _0x29b67e=await moveToTrash(_0xa47179[_0x33656d(0xf1)],_0xa47179[_0x33656d(0xfc)],_0x4b923b);await cleanupEmptyDirectories(dirname(_0x4b923b),_0xa47179[_0x33656d(0xe5)]),void _0x29b67e;}async function moveToTrash(_0x598e07,_0x120224,_0x199d19){const _0x35afc9=a192_0x138d30,_0x5b17e1=new Date()[_0x35afc9(0xe2)]()[_0x35afc9(0xc5)](/[:.]/g,'-'),_0x399107=relative(_0x598e07,_0x199d19),_0x505c84=join(_0x120224,_0x5b17e1,_0x399107);return await mkdir(dirname(_0x505c84),{'recursive':!![]}),await rename(_0x199d19,_0x505c84),_0x505c84;}async function cleanupEmptyDirectories(_0xe817f0,_0x367943){const _0x83fa03=a192_0x138d30;let _0x2edf60=resolve(_0xe817f0);const _0x2f027d=resolve(_0x367943);while(_0x2edf60[_0x83fa03(0xda)](''+_0x2f027d+sep)||_0x2edf60===_0x2f027d){if(_0x2edf60===_0x2f027d)return;try{const _0x1bce6e=await readdir(_0x2edf60);if(_0x1bce6e[_0x83fa03(0xe7)]>0x0)return;await rmdir(_0x2edf60);}catch{return;}_0x2edf60=dirname(_0x2edf60);}}async function resolveTargetDbBinding(_0x9f9ac,_0x18629d,_0x354610){const _0x9a5c5a=a192_0x138d30,_0x4b4e6b=_0x18629d[_0x9a5c5a(0xf6)];if(!_0x4b4e6b)return{'dbId':_0x354610['dbId'],'dbName':_0x354610[_0x9a5c5a(0xef)]};const _0x2add63=buildDbDirectoryName(_0x354610['dbName'],_0x354610[_0x9a5c5a(0xc8)]);if(_0x4b4e6b===_0x2add63)return{'dbId':_0x354610[_0x9a5c5a(0xc8)],'dbName':_0x354610[_0x9a5c5a(0xef)]};const _0x8852d8=parseExplicitDbDirectory(_0x4b4e6b);if(_0x8852d8!=null)return{'dbId':_0x8852d8,'dbName':await getDbName(_0x9f9ac,_0x8852d8)[_0x9a5c5a(0xdb)](()=>undefined)};const _0x5af375=await listDatabases(_0x9f9ac),_0x1c530a=_0x5af375[_0x9a5c5a(0xcf)](_0x453d05=>buildDbDirectoryName(_0x453d05[_0x9a5c5a(0xef)],_0x453d05[_0x9a5c5a(0xc8)])===_0x4b4e6b);if(_0x1c530a[_0x9a5c5a(0xe7)]===0x1)return{'dbId':_0x1c530a[0x0][_0x9a5c5a(0xc8)],'dbName':_0x1c530a[0x0][_0x9a5c5a(0xef)]};if(_0x1c530a['length']===0x0)throw CliErrors['validation'](_0x9a5c5a(0xd7)+_0x4b4e6b+_0x9a5c5a(0xd8)+_0x18629d[_0x9a5c5a(0xd9)]+'.');const _0x86938b=_0x1c530a['map'](_0x161577=>_0x161577[_0x9a5c5a(0xef)]+'\x20('+_0x161577[_0x9a5c5a(0xc8)]+')')[_0x9a5c5a(0xdd)](',\x20');throw CliErrors[_0x9a5c5a(0xf8)](_0x9a5c5a(0xe6)+_0x4b4e6b+_0x9a5c5a(0xc9)+_0x18629d[_0x9a5c5a(0xd9)]+':\x20'+_0x86938b);}function a192_0x4daf(_0x601ee1,_0x1d2cf6){_0x601ee1=_0x601ee1-0xba;const _0x298325=a192_0x2983();let _0x4daf07=_0x298325[_0x601ee1];return _0x4daf07;}function parseExplicitDbDirectory(_0x2a66bc){const _0x325468=a192_0x138d30,_0x2d36a7=/^db-(\d+)$/[_0x325468(0xd6)](_0x2a66bc);if(!_0x2d36a7)return null;const _0x139537=Number(_0x2d36a7[0x1]);return Number[_0x325468(0xbe)](_0x139537)&&_0x139537>0x0?_0x139537:null;}
|
|
1
|
+
const a192_0x511c5b=a192_0x15ce;function a192_0x2cbb(){const _0x46714d=['\x20failed','mode','168JXbTpY','entries','7174377pFwrNU','boolean','utf8','Local\x20directory\x20\x22','projectRoot','startsWith','map','393318rDgyMS','str','sqlRoot','Would\x20push\x20','trashDir','unchanged','catch','sqlName','sqlRootDir','get','filter','\x20skipped,\x20','dbDirectory','Push\x20local\x20SQL\x20files\x20to\x20remote','validation','lockFilePath','\x22\x20for\x20sqlCode\x20','.\x20Keep\x20only\x20one\x20file\x20under\x20its\x20sqlCode\x20directory\x20before\x20pushing.','relativePath','sqlCode','hash','has','bool','175462lmJwgy','length','sqlcode','sql','4416762YrfRsx','15oAMGrL','remoteId','Push\x20complete:\x20','1248636BJaxFp','lastSync','sqlConfig','dbId','push','No\x20local\x20SQL\x20files\x20found.','toISOString','local\x20SQL\x20is\x20not\x20tracked\x20by\x20sql.lock.json;\x20use\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first','set','No\x20database\x20matches\x20local\x20directory\x20\x22','dbName','message','appCode','filePath','1187618GnFpIx','\x20SQL\x20file(s)','exec','join','version','/smartapi/custom/updateUserCustomSql','sqls','32298oyqOrQ','force','path','Force\x20push\x20even\x20if\x20local\x20hash\x20matches\x20lock'];a192_0x2cbb=function(){return _0x46714d;};return a192_0x2cbb();}(function(_0x3cdfc4,_0x45fcc8){const _0x530bd1=a192_0x15ce,_0x287ab9=_0x3cdfc4();while(!![]){try{const _0x2e0441=parseInt(_0x530bd1(0x1c7))/0x1+parseInt(_0x530bd1(0x1b1))/0x2+-parseInt(_0x530bd1(0x1b8))/0x3+parseInt(_0x530bd1(0x1a3))/0x4*(-parseInt(_0x530bd1(0x1a0))/0x5)+parseInt(_0x530bd1(0x19f))/0x6+-parseInt(_0x530bd1(0x19b))/0x7*(-parseInt(_0x530bd1(0x1be))/0x8)+-parseInt(_0x530bd1(0x1c0))/0x9;if(_0x2e0441===_0x45fcc8)break;else _0x287ab9['push'](_0x287ab9['shift']());}catch(_0x32eaf1){_0x287ab9['push'](_0x287ab9['shift']());}}}(a192_0x2cbb,0x7b59c));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 a192_0x15ce(_0x33bac0,_0x4b31b9){_0x33bac0=_0x33bac0-0x19a;const _0x2cbbd6=a192_0x2cbb();let _0x15cec2=_0x2cbbd6[_0x33bac0];return _0x15cec2;}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(_0x4ecc6a,_0x158252,_0x51fe82){const _0x510ed4=a192_0x15ce,_0x1e7efc=await scanLocalSqlQueries(_0x4ecc6a),_0x111c70=new Map();for(const _0x5a5afa of _0x1e7efc){if(_0x51fe82&&_0x5a5afa[_0x510ed4(0x1da)]!==_0x51fe82)continue;const _0x2de29d=_0x111c70[_0x510ed4(0x1d0)](_0x5a5afa['sqlCode'])??[];_0x2de29d[_0x510ed4(0x1a7)](_0x5a5afa),_0x111c70[_0x510ed4(0x1ab)](_0x5a5afa['sqlCode'],_0x2de29d);}if(_0x51fe82&&!_0x111c70[_0x510ed4(0x1dc)](_0x51fe82))throw CliErrors[_0x510ed4(0x1d5)]('Local\x20SQL\x20not\x20found:\x20'+_0x51fe82);const _0x301f03=[];for(const [_0x562fe7,_0x1473a1]of _0x111c70[_0x510ed4(0x1bf)]()){if(_0x1473a1[_0x510ed4(0x19c)]===0x1){_0x301f03[_0x510ed4(0x1a7)](_0x1473a1[0x0]);continue;}const _0x15c990=_0x158252['sqls'][_0x562fe7],_0x2c0e62=_0x15c990?.[_0x510ed4(0x1ba)],_0x578862=_0x2c0e62?_0x1473a1[_0x510ed4(0x1d1)](_0x527c60=>_0x527c60[_0x510ed4(0x1d9)]!==_0x2c0e62):_0x1473a1;if(_0x15c990&&_0x578862[_0x510ed4(0x19c)]===0x1){_0x301f03[_0x510ed4(0x1a7)](_0x578862[0x0]);continue;}throw CliErrors['validation']('Multiple\x20local\x20SQL\x20files\x20found\x20for\x20sqlCode\x20'+_0x562fe7+_0x510ed4(0x1d8));}return _0x301f03;}export const sqlPush={'service':a192_0x511c5b(0x19e),'command':a192_0x511c5b(0x1a7),'description':a192_0x511c5b(0x1d4),'risk':'write','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a192_0x511c5b(0x1b9),'type':a192_0x511c5b(0x1c1),'description':a192_0x511c5b(0x1bb)}],async 'dryRun'(_0x5d2f23){const _0x289c8e=a192_0x511c5b,_0x2e9d60=loadSqlProjectConfig(_0x5d2f23[_0x289c8e(0x1af)]),_0x2df7d6=await readSqlLockFile(_0x2e9d60['lockFilePath']),{appLock:_0x2d261f}=ensureSqlLockScope(_0x2df7d6??createEmptySqlLock(),_0x5d2f23[_0x289c8e(0x1af)],_0x2e9d60['sqlRoot'],_0x289c8e(0x1a7)),_0xb9af12=await getTargetSqlQueries(_0x2e9d60,_0x2d261f,_0x5d2f23[_0x289c8e(0x1c8)](_0x289c8e(0x19d))||undefined),_0x1ce757=[];for(const _0x29a0b0 of _0xb9af12){const _0x1ed6fb=await computeSqlFileHash(_0x29a0b0[_0x289c8e(0x1b0)]),_0x4788e4=_0x2d261f['sqls'][_0x29a0b0['sqlCode']],_0x460adb=!!_0x4788e4&&(_0x4788e4['path']!==_0x29a0b0[_0x289c8e(0x1d9)]||!!_0x29a0b0['sqlName']&&_0x4788e4[_0x289c8e(0x1ce)]!==_0x29a0b0['sqlName']);if(!_0x5d2f23[_0x289c8e(0x19a)](_0x289c8e(0x1b9))&&_0x4788e4&&_0x4788e4[_0x289c8e(0x1db)]===_0x1ed6fb&&!_0x460adb)continue;_0x1ce757[_0x289c8e(0x1a7)](_0x29a0b0['sqlCode']);}return{'method':'POST','url':_0x289c8e(0x1b6),'body':{'sqlCodes':_0x1ce757,'appCode':_0x5d2f23[_0x289c8e(0x1af)]},'description':_0x289c8e(0x1ca)+_0x1ce757[_0x289c8e(0x19c)]+_0x289c8e(0x1b2)};},async 'execute'(_0x3a8a01){const _0xc895ed=a192_0x511c5b,_0x49cecd=loadSqlProjectConfig(_0x3a8a01[_0xc895ed(0x1af)]),_0x3ec8ec=await readSqlLockFile(_0x49cecd['lockFilePath']),{lockData:_0x77bc57,appLock:_0x25dd1f}=ensureSqlLockScope(_0x3ec8ec??createEmptySqlLock(),_0x3a8a01[_0xc895ed(0x1af)],_0x49cecd[_0xc895ed(0x1c9)],'push'),_0x8f2710=await getTargetSqlQueries(_0x49cecd,_0x25dd1f,_0x3a8a01[_0xc895ed(0x1c8)](_0xc895ed(0x19d))||undefined);if(_0x8f2710[_0xc895ed(0x19c)]===0x0)return{'ok':!![],'data':{'pushed':[],'skipped':[],'failed':[]},'message':_0xc895ed(0x1a8)};const _0x2707f5=[],_0x439922=[],_0x109f52=[];for(const _0x229dff of _0x8f2710){const _0x262934=_0x25dd1f[_0xc895ed(0x1b7)][_0x229dff[_0xc895ed(0x1da)]];if(!_0x262934){_0x109f52[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'error':_0xc895ed(0x1aa)});continue;}try{const _0x13d1ee=await computeSqlFileHash(_0x229dff['filePath']),_0x52f8e1=_0x262934['path']!==_0x229dff[_0xc895ed(0x1d9)]||!!_0x229dff[_0xc895ed(0x1ce)]&&_0x262934['sqlName']!==_0x229dff[_0xc895ed(0x1ce)];if(!_0x3a8a01[_0xc895ed(0x19a)](_0xc895ed(0x1b9))&&_0x262934[_0xc895ed(0x1db)]===_0x13d1ee&&!_0x52f8e1){_0x439922[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'reason':_0xc895ed(0x1cc)});continue;}if(_0x262934[_0xc895ed(0x1b5)]==null){_0x109f52['push']({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'error':'missing\x20remote\x20version;\x20run\x20`rabetbase\x20sql\x20pull`\x20to\x20refresh\x20version\x20info\x20first'});continue;}const _0x2329ae=await readFile(_0x229dff[_0xc895ed(0x1b0)],_0xc895ed(0x1c2)),_0x1996f0=stripLocalSqlMetadata(_0x2329ae,_0x229dff[_0xc895ed(0x1bd)]),_0x39829e=_0x229dff[_0xc895ed(0x1ce)]||_0x262934['sqlName'],_0x5d947b=await resolveTargetDbBinding(_0x3a8a01[_0xc895ed(0x1af)],_0x229dff,_0x262934),_0x54a295=await updateSqlQuery({'id':_0x262934[_0xc895ed(0x1a1)],'appCode':_0x3a8a01[_0xc895ed(0x1af)],'sqlCode':_0x229dff[_0xc895ed(0x1da)],'sqlName':_0x39829e,'dbId':_0x5d947b['dbId'],'version':_0x262934[_0xc895ed(0x1b5)],'sqlContent':_0x1996f0,'sqlConfig':_0x262934[_0xc895ed(0x1a5)]??undefined}),_0x4c3ecc=_0x54a295['dbId']?await getDbName(_0x3a8a01[_0xc895ed(0x1af)],Number(_0x54a295[_0xc895ed(0x1a6)]))[_0xc895ed(0x1cd)](()=>_0x5d947b[_0xc895ed(0x1ad)]):_0x5d947b[_0xc895ed(0x1ad)];_0x25dd1f[_0xc895ed(0x1b7)][_0x229dff['sqlCode']]={...buildSqlLockEntry(_0x54a295,_0x1996f0,_0x13d1ee,{'dbName':_0x4c3ecc}),'path':_0x229dff[_0xc895ed(0x1d9)],'mode':_0x262934['mode']},await archivePreviousSqlFileIfNeeded(_0x49cecd,_0x262934[_0xc895ed(0x1ba)],_0x229dff[_0xc895ed(0x1d9)]),_0x2707f5[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff['sqlCode'],'remoteId':_0x262934[_0xc895ed(0x1a1)]});}catch(_0x58e35b){_0x109f52[_0xc895ed(0x1a7)]({'sqlCode':_0x229dff[_0xc895ed(0x1da)],'error':_0x58e35b instanceof Error?_0x58e35b[_0xc895ed(0x1ae)]:String(_0x58e35b)});}}return _0x25dd1f[_0xc895ed(0x1a4)]=new Date()[_0xc895ed(0x1a9)](),await writeSqlLockFile(_0x49cecd[_0xc895ed(0x1d6)],_0x77bc57),{'ok':_0x109f52['length']===0x0,'data':{'pushed':_0x2707f5,'skipped':_0x439922,'failed':_0x109f52},'message':_0xc895ed(0x1a2)+_0x2707f5['length']+'\x20pushed,\x20'+_0x439922[_0xc895ed(0x19c)]+_0xc895ed(0x1d2)+_0x109f52['length']+_0xc895ed(0x1bc)};}};async function archivePreviousSqlFileIfNeeded(_0x1157a7,_0x1467c0,_0x11868a){const _0x10441a=a192_0x511c5b;if(!_0x1467c0||_0x1467c0===_0x11868a)return;const _0x51c57f=join(_0x1157a7[_0x10441a(0x1cf)],_0x1467c0);if(!await fileExists(_0x51c57f))return;const _0x5e4668=await moveToTrash(_0x1157a7[_0x10441a(0x1c4)],_0x1157a7[_0x10441a(0x1cb)],_0x51c57f);await cleanupEmptyDirectories(dirname(_0x51c57f),_0x1157a7[_0x10441a(0x1cf)]),void _0x5e4668;}async function moveToTrash(_0x4a398b,_0x3c51f3,_0x120fc8){const _0x2960cf=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x1f8ad6=relative(_0x4a398b,_0x120fc8),_0x39cddb=join(_0x3c51f3,_0x2960cf,_0x1f8ad6);return await mkdir(dirname(_0x39cddb),{'recursive':!![]}),await rename(_0x120fc8,_0x39cddb),_0x39cddb;}async function cleanupEmptyDirectories(_0x1d75d1,_0x9f96cd){const _0x231059=a192_0x511c5b;let _0x327e2c=resolve(_0x1d75d1);const _0xc2e79f=resolve(_0x9f96cd);while(_0x327e2c[_0x231059(0x1c5)](''+_0xc2e79f+sep)||_0x327e2c===_0xc2e79f){if(_0x327e2c===_0xc2e79f)return;try{const _0x4c0211=await readdir(_0x327e2c);if(_0x4c0211[_0x231059(0x19c)]>0x0)return;await rmdir(_0x327e2c);}catch{return;}_0x327e2c=dirname(_0x327e2c);}}async function resolveTargetDbBinding(_0x34b2d0,_0x34d513,_0x388bce){const _0x1c5ba9=a192_0x511c5b,_0x295e3b=_0x34d513[_0x1c5ba9(0x1d3)];if(!_0x295e3b)return{'dbId':_0x388bce[_0x1c5ba9(0x1a6)],'dbName':_0x388bce[_0x1c5ba9(0x1ad)]};const _0x36b970=buildDbDirectoryName(_0x388bce[_0x1c5ba9(0x1ad)],_0x388bce[_0x1c5ba9(0x1a6)]);if(_0x295e3b===_0x36b970)return{'dbId':_0x388bce['dbId'],'dbName':_0x388bce[_0x1c5ba9(0x1ad)]};const _0x519ad1=parseExplicitDbDirectory(_0x295e3b);if(_0x519ad1!=null)return{'dbId':_0x519ad1,'dbName':await getDbName(_0x34b2d0,_0x519ad1)['catch'](()=>undefined)};const _0x1ee3cf=await listDatabases(_0x34b2d0),_0x29534c=_0x1ee3cf[_0x1c5ba9(0x1d1)](_0x1cb818=>buildDbDirectoryName(_0x1cb818['dbName'],_0x1cb818[_0x1c5ba9(0x1a6)])===_0x295e3b);if(_0x29534c[_0x1c5ba9(0x19c)]===0x1)return{'dbId':_0x29534c[0x0][_0x1c5ba9(0x1a6)],'dbName':_0x29534c[0x0][_0x1c5ba9(0x1ad)]};if(_0x29534c[_0x1c5ba9(0x19c)]===0x0)throw CliErrors[_0x1c5ba9(0x1d5)](_0x1c5ba9(0x1ac)+_0x295e3b+_0x1c5ba9(0x1d7)+_0x34d513[_0x1c5ba9(0x1da)]+'.');const _0x3ac511=_0x29534c[_0x1c5ba9(0x1c6)](_0x24d29d=>_0x24d29d[_0x1c5ba9(0x1ad)]+'\x20('+_0x24d29d[_0x1c5ba9(0x1a6)]+')')[_0x1c5ba9(0x1b4)](',\x20');throw CliErrors[_0x1c5ba9(0x1d5)](_0x1c5ba9(0x1c3)+_0x295e3b+'\x22\x20matches\x20multiple\x20databases\x20for\x20sqlCode\x20'+_0x34d513[_0x1c5ba9(0x1da)]+':\x20'+_0x3ac511);}function parseExplicitDbDirectory(_0x38e37a){const _0x5862ca=a192_0x511c5b,_0x5bd3fd=/^db-(\d+)$/[_0x5862ca(0x1b3)](_0x38e37a);if(!_0x5bd3fd)return null;const _0x38bc31=Number(_0x5bd3fd[0x1]);return Number['isFinite'](_0x38bc31)&&_0x38bc31>0x0?_0x38bc31:null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a193_0x57e7(_0x3c5d22,_0x393e3c){_0x3c5d22=_0x3c5d22-0x1c7;const _0x19b886=a193_0x19b8();let _0x57e705=_0x19b886[_0x3c5d22];return _0x57e705;}const a193_0x4807a4=a193_0x57e7;(function(_0x4e4b19,_0x56adb6){const _0x5a41dd=a193_0x57e7,_0x3d1a51=_0x4e4b19();while(!![]){try{const _0x2550bf=-parseInt(_0x5a41dd(0x1db))/0x1+-parseInt(_0x5a41dd(0x1e5))/0x2+-parseInt(_0x5a41dd(0x1e0))/0x3+-parseInt(_0x5a41dd(0x1da))/0x4+parseInt(_0x5a41dd(0x1d6))/0x5*(parseInt(_0x5a41dd(0x1e7))/0x6)+-parseInt(_0x5a41dd(0x1d1))/0x7+parseInt(_0x5a41dd(0x1e1))/0x8;if(_0x2550bf===_0x56adb6)break;else _0x3d1a51['push'](_0x3d1a51['shift']());}catch(_0x137d64){_0x3d1a51['push'](_0x3d1a51['shift']());}}}(a193_0x19b8,0x98089));import{createInterface}from'node:readline';function a193_0x19b8(){const _0x5bf701=['trimStart','207711CLtqfu','replace','mode','split','fromEntries','78215MhvFsu','trim','\x20[y/N]\x20','.rabetbase/sql','3528884iHYPHV','470456hdmGYD','sqlRoot','stdin','dbName','syncedAt','2765751ehJBJE','23575416THBZAQ','test','join','dbId','196292qmGpQU','apps','30HlawTd','version','entries','--\x20@lovrabet.','sqlName','sqlContent','stderr','close','sqlConfig','length','toLowerCase','question','map','endsWith','path','sqlCode','yes','description'];a193_0x19b8=function(){return _0x5bf701;};return a193_0x19b8();}import{join}from'node:path';import{buildDefaultSqlFileName,buildSqlRelativePath,detectSqlMode}from'../../core/sql-sync/utils.js';export const SQL_LOCAL_REL_DIR=a193_0x4807a4(0x1d9);export function buildSqlLockEntry(_0x558d1f,_0x3c5e58,_0x3d3b3c,_0x3e21b6){const _0x46ff01=a193_0x4807a4,_0x1e33d3=detectSqlMode(_0x3c5e58);return{'path':buildSqlRelativePath(_0x558d1f[_0x46ff01(0x1cd)],_0x558d1f[_0x46ff01(0x1eb)],_0x3e21b6?.[_0x46ff01(0x1de)],_0x1e33d3,_0x558d1f[_0x46ff01(0x1e4)]),'hash':_0x3d3b3c,'remoteId':_0x558d1f['id'],'version':_0x558d1f[_0x46ff01(0x1e8)],'dbId':Number(_0x558d1f[_0x46ff01(0x1e4)]),'dbName':_0x3e21b6?.['dbName'],'sqlName':_0x558d1f[_0x46ff01(0x1eb)],'sqlConfig':_0x558d1f[_0x46ff01(0x1ef)]??undefined,'mode':_0x1e33d3};}export function cloneSqlLockData(_0x43c74f){const _0xb8c58f=a193_0x4807a4;return{'apps':Object[_0xb8c58f(0x1d5)](Object[_0xb8c58f(0x1e9)](_0x43c74f[_0xb8c58f(0x1e6)])['map'](([_0x553f72,_0x107392])=>[_0x553f72,{'sqlRoot':_0x107392[_0xb8c58f(0x1dc)],'lastSync':_0x107392['lastSync'],'sqls':{..._0x107392['sqls']}}]))};}export function ensureRemoteSqlContent(_0x319d8c){const _0x503fb8=a193_0x4807a4;return _0x319d8c[_0x503fb8(0x1ec)]??'';}export function buildLocalSqlFileContent(_0x3ffe72,_0x369da0,_0x4b9238){const _0x8ea993=a193_0x4807a4,_0x284bcb=_0x4b9238?.[_0x8ea993(0x1d3)]??detectSqlMode(_0x369da0),_0x9e1110=stripLocalSqlMetadata(_0x369da0,_0x284bcb)[_0x8ea993(0x1d7)](),_0x4bf702=[...buildMetadataHeaderLines({'sqlCode':_0x3ffe72[_0x8ea993(0x1cd)],'sqlName':_0x3ffe72['sqlName'],'dbId':_0x3ffe72[_0x8ea993(0x1e4)],'dbName':_0x4b9238?.['dbName'],'mode':_0x284bcb,'syncedAt':_0x4b9238?.[_0x8ea993(0x1df)],'description':_0x4b9238?.[_0x8ea993(0x1cf)]},_0x284bcb),'',_0x9e1110],_0x47d115=_0x4bf702[_0x8ea993(0x1e3)]('\x0a');return _0x47d115[_0x8ea993(0x1cb)]('\x0a')?_0x47d115:_0x47d115+'\x0a';}export function stripLocalSqlMetadata(_0x4dc916,_0x10d7a4){const _0x55bf58=a193_0x4807a4,_0x531693=_0x4dc916[_0x55bf58(0x1d2)](/\r\n/g,'\x0a')[_0x55bf58(0x1d4)]('\x0a'),_0x2d549e=[];let _0x266ce7=0x0;if(_0x10d7a4==='mybatisXml')while(_0x266ce7<_0x531693[_0x55bf58(0x1c7)]){const _0x2a9284=_0x531693[_0x266ce7]??'';if(/^\s*<!--\s*@lovrabet\./[_0x55bf58(0x1e2)](_0x2a9284)){_0x266ce7++;continue;}if(_0x2a9284['trim']()===''&&_0x266ce7>0x0){_0x266ce7++;continue;}break;}else while(_0x266ce7<_0x531693[_0x55bf58(0x1c7)]){const _0x158497=_0x531693[_0x266ce7]??'';if(/^\s*--\s*@lovrabet\./[_0x55bf58(0x1e2)](_0x158497)){_0x266ce7++;continue;}if(_0x158497[_0x55bf58(0x1d7)]()===''&&_0x266ce7>0x0){_0x266ce7++;continue;}break;}for(;_0x266ce7<_0x531693[_0x55bf58(0x1c7)];_0x266ce7++){_0x2d549e['push'](_0x531693[_0x266ce7]);}return _0x2d549e[_0x55bf58(0x1e3)]('\x0a')[_0x55bf58(0x1d0)]();}export function resolveSqlMode(_0x3f9c82,_0x47104b){const _0x2c07fe=a193_0x4807a4;if(_0x47104b?.[_0x2c07fe(0x1d3)])return _0x47104b[_0x2c07fe(0x1d3)];return detectSqlMode(_0x3f9c82);}export function resolveSqlFileName(_0x3ce794,_0x20b6f1,_0xe963ca){const _0x38d1aa=a193_0x4807a4;if(_0xe963ca?.['path'])return _0xe963ca[_0x38d1aa(0x1cc)];if(_0xe963ca?.[_0x38d1aa(0x1eb)]||_0xe963ca?.[_0x38d1aa(0x1de)])return buildSqlRelativePath(_0x3ce794,_0xe963ca?.[_0x38d1aa(0x1eb)],_0xe963ca?.[_0x38d1aa(0x1de)],resolveSqlMode(_0x20b6f1,_0xe963ca),_0xe963ca?.['dbId']);return buildDefaultSqlFileName(_0x3ce794,resolveSqlMode(_0x20b6f1,_0xe963ca));}export function resolveSqlLocalDir(_0x3f0fd4,_0x375e39){return join(_0x3f0fd4,SQL_LOCAL_REL_DIR,_0x375e39);}export async function confirmForceOverwrite(_0x8994e2){const _0x3ef022=a193_0x4807a4,_0x2ee2b5=createInterface({'input':process[_0x3ef022(0x1dd)],'output':process[_0x3ef022(0x1ed)]}),_0x56ec14=await new Promise(_0xcd0598=>{const _0xbacb32=_0x3ef022;_0x2ee2b5[_0xbacb32(0x1c9)](_0x8994e2+_0xbacb32(0x1d8),_0xcd0598);});return _0x2ee2b5[_0x3ef022(0x1ee)](),['y',_0x3ef022(0x1ce)]['includes'](_0x56ec14[_0x3ef022(0x1d7)]()[_0x3ef022(0x1c8)]());}export function findSqlLockScope(_0x5c05bf,_0x3b3f25){const _0x5e78cd=a193_0x4807a4;return _0x5c05bf[_0x5e78cd(0x1e6)][_0x3b3f25];}function buildMetadataHeaderLines(_0x19bd34,_0x47dbe8){const _0x2b0850=a193_0x4807a4,_0x1624f5=[[_0x2b0850(0x1cd),_0x19bd34[_0x2b0850(0x1cd)]],[_0x2b0850(0x1eb),_0x19bd34[_0x2b0850(0x1eb)]],[_0x2b0850(0x1e4),_0x19bd34['dbId']],[_0x2b0850(0x1de),_0x19bd34[_0x2b0850(0x1de)]],[_0x2b0850(0x1d3),_0x19bd34[_0x2b0850(0x1d3)]],[_0x2b0850(0x1df),_0x19bd34[_0x2b0850(0x1df)]],[_0x2b0850(0x1cf),_0x19bd34[_0x2b0850(0x1cf)]]];if(_0x47dbe8==='mybatisXml')return _0x1624f5['filter'](([,_0xa8eefc])=>_0xa8eefc!==undefined&&_0xa8eefc!==null&&String(_0xa8eefc)[_0x2b0850(0x1d7)]()!=='')['map'](([_0x2cc28e,_0x18495c])=>'<!--\x20@lovrabet.'+_0x2cc28e+':\x20'+String(_0x18495c)+'\x20-->');return _0x1624f5['filter'](([,_0x1c4409])=>_0x1c4409!==undefined&&_0x1c4409!==null&&String(_0x1c4409)[_0x2b0850(0x1d7)]()!=='')[_0x2b0850(0x1ca)](([_0x2f9dd4,_0x3eca90])=>_0x2b0850(0x1ea)+_0x2f9dd4+':\x20'+String(_0x3eca90));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a194_0x149901=a194_0x1177;(function(_0x50e33d,_0x34788d){const _0x20640c=a194_0x1177,_0x488c38=_0x50e33d();while(!![]){try{const _0x5050f7=parseInt(_0x20640c(0x197))/0x1+-parseInt(_0x20640c(0x1b7))/0x2+parseInt(_0x20640c(0x193))/0x3*(-parseInt(_0x20640c(0x1b3))/0x4)+-parseInt(_0x20640c(0x1ad))/0x5*(parseInt(_0x20640c(0x1ab))/0x6)+parseInt(_0x20640c(0x198))/0x7*(-parseInt(_0x20640c(0x1a3))/0x8)+-parseInt(_0x20640c(0x191))/0x9+-parseInt(_0x20640c(0x192))/0xa*(-parseInt(_0x20640c(0x196))/0xb);if(_0x5050f7===_0x34788d)break;else _0x488c38['push'](_0x488c38['shift']());}catch(_0x9b310e){_0x488c38['push'](_0x488c38['shift']());}}}(a194_0x4193,0x2855f));import{listSqlQueries}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{scanLocalSqlQueries}from'../../core/sql-sync/file-system.js';import{computeSqlFileHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile}from'../../core/sql-sync/lock.js';const PAGE_SIZE=0x64;function a194_0x1177(_0x2677ae,_0x4f8e77){_0x2677ae=_0x2677ae-0x190;const _0x419386=a194_0x4193();let _0x11779d=_0x419386[_0x2677ae];return _0x11779d;}function a194_0x4193(){const _0x4ac13c=['path','lockFilePath','boolean','2895255WctSjU','230bbNkjB','543759MfjsDZ','push','lockKey','263758YVjhoP','314618MZwlwn','287oSVKXp','\x20added,\x20','status','remote','map','filePath','sql','paging','\x20modified,\x20','sqls','tableData','3096BGjXOP','read','appCode','has','\x20missing,\x20','sqlName','All\x20SQL\x20queries\x20are\x20in\x20sync.','keys','400626RKjDBm','hash','5WvtJmO','totalCount','bool','\x20unchanged','sqlRoot','Also\x20check\x20for\x20remote-only\x20SQL\x20queries\x20not\x20present\x20locally','4HgiwUg','relativePath','Check\x20local\x20SQL\x20sync\x20status\x20against\x20lock\x20file','length','230622rnLZxv','\x20remote-only'];a194_0x4193=function(){return _0x4ac13c;};return a194_0x4193();}async function fetchAllSqlCodes(_0x49066f){const _0x4b0416=a194_0x1177,_0x12b478=[];let _0xb53227=0x1;while(!![]){const _0x195b78=await listSqlQueries(_0x49066f,{'currentPage':_0xb53227,'pageSize':PAGE_SIZE}),_0xce58ea=_0x195b78[_0x4b0416(0x1a2)]??[];_0x12b478[_0x4b0416(0x194)](..._0xce58ea[_0x4b0416(0x19c)](_0x502d67=>_0x502d67['sqlCode']));if(_0xce58ea[_0x4b0416(0x1b6)]===0x0)break;const _0x15ffcc=_0x195b78[_0x4b0416(0x19f)]?.[_0x4b0416(0x1ae)];if(_0x15ffcc!=null?_0x12b478['length']>=_0x15ffcc:_0xce58ea[_0x4b0416(0x1b6)]<PAGE_SIZE)break;_0xb53227++;}return _0x12b478;}export const sqlStatus={'service':a194_0x149901(0x19e),'command':'status','description':a194_0x149901(0x1b5),'risk':a194_0x149901(0x1a4),'flags':[{'name':a194_0x149901(0x19b),'type':a194_0x149901(0x190),'description':a194_0x149901(0x1b2)}],async 'execute'(_0x9e324){const _0x5af909=a194_0x149901,_0x57b7b5=loadSqlProjectConfig(_0x9e324['appCode']),_0x2604e5=await readSqlLockFile(_0x57b7b5[_0x5af909(0x1ba)]),{appLock:_0x2187fa}=ensureSqlLockScope(_0x2604e5??createEmptySqlLock(),_0x57b7b5[_0x5af909(0x1a5)],_0x57b7b5[_0x5af909(0x1b1)],_0x5af909(0x19a)),_0x38beb5=await scanLocalSqlQueries(_0x57b7b5),_0x1a482c=[],_0x365446=[],_0x21f1ed=[],_0x1e51c5=[],_0x596462=new Set(_0x38beb5['map'](_0x1f0a19=>_0x1f0a19['lockKey']));for(const _0x33fd7b of _0x38beb5){const _0x47f522=await computeSqlFileHash(_0x33fd7b[_0x5af909(0x19d)]),_0x4c5e0c=_0x2187fa[_0x5af909(0x1a1)][_0x33fd7b[_0x5af909(0x195)]],_0x5b6581=!!_0x4c5e0c&&_0x4c5e0c[_0x5af909(0x1b9)]!==_0x33fd7b[_0x5af909(0x1b4)],_0xb59f5=!!_0x4c5e0c&&!!_0x33fd7b[_0x5af909(0x1a8)]&&_0x4c5e0c[_0x5af909(0x1a8)]!==_0x33fd7b[_0x5af909(0x1a8)];if(!_0x4c5e0c)_0x1a482c[_0x5af909(0x194)](_0x33fd7b[_0x5af909(0x195)]);else _0x4c5e0c[_0x5af909(0x1ac)]!==_0x47f522||_0x5b6581||_0xb59f5?_0x365446[_0x5af909(0x194)](_0x33fd7b[_0x5af909(0x195)]):_0x21f1ed['push'](_0x33fd7b[_0x5af909(0x195)]);}for(const _0x34c2bd of Object[_0x5af909(0x1aa)](_0x2187fa[_0x5af909(0x1a1)])){!_0x596462[_0x5af909(0x1a6)](_0x34c2bd)&&_0x1e51c5[_0x5af909(0x194)](_0x34c2bd);}const _0x29345a=[];if(_0x9e324[_0x5af909(0x1af)]('remote')){const _0x14d966=await fetchAllSqlCodes(_0x9e324[_0x5af909(0x1a5)]);for(const _0x118c8b of _0x14d966){!_0x596462[_0x5af909(0x1a6)](_0x118c8b)&&!_0x2187fa[_0x5af909(0x1a1)][_0x118c8b]&&_0x29345a[_0x5af909(0x194)](_0x118c8b);}}const _0x14aa5e=_0x1a482c['length']===0x0&&_0x365446[_0x5af909(0x1b6)]===0x0&&_0x1e51c5[_0x5af909(0x1b6)]===0x0&&_0x29345a[_0x5af909(0x1b6)]===0x0;return{'ok':!![],'data':{'added':_0x1a482c,'modified':_0x365446,'missing':_0x1e51c5,'unchanged':_0x21f1ed,'remoteOnly':_0x29345a},'message':_0x14aa5e?_0x5af909(0x1a9):_0x1a482c['length']+_0x5af909(0x199)+_0x365446[_0x5af909(0x1b6)]+_0x5af909(0x1a0)+_0x1e51c5[_0x5af909(0x1b6)]+_0x5af909(0x1a7)+_0x21f1ed[_0x5af909(0x1b6)]+_0x5af909(0x1b0)+(_0x29345a[_0x5af909(0x1b6)]>0x0?',\x20'+_0x29345a[_0x5af909(0x1b6)]+_0x5af909(0x1b8):'')};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a195_0x5bc679=a195_0x3647;(function(_0x2dd08a,_0x4422a2){const _0x107ed6=a195_0x3647,_0x5245da=_0x2dd08a();while(!![]){try{const _0x597591=-parseInt(_0x107ed6(0x1f1))/0x1*(parseInt(_0x107ed6(0x1c3))/0x2)+parseInt(_0x107ed6(0x1cb))/0x3+-parseInt(_0x107ed6(0x1cf))/0x4+parseInt(_0x107ed6(0x1ee))/0x5*(-parseInt(_0x107ed6(0x1c8))/0x6)+parseInt(_0x107ed6(0x1c5))/0x7*(-parseInt(_0x107ed6(0x1d8))/0x8)+-parseInt(_0x107ed6(0x1ce))/0x9*(-parseInt(_0x107ed6(0x1dc))/0xa)+-parseInt(_0x107ed6(0x1e4))/0xb*(-parseInt(_0x107ed6(0x1c1))/0xc);if(_0x597591===_0x4422a2)break;else _0x5245da['push'](_0x5245da['shift']());}catch(_0x1efde2){_0x5245da['push'](_0x5245da['shift']());}}}(a195_0x2a68,0x33e2a));import{readFileSync,existsSync}from'node:fs';import{resolve}from'node:path';import{validateSql}from'../../core/sql-validator.js';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':a195_0x5bc679(0x1e1),'command':a195_0x5bc679(0x1d2),'description':a195_0x5bc679(0x1e0),'risk':a195_0x5bc679(0x1e9),'flags':[{'name':a195_0x5bc679(0x1e8),'type':a195_0x5bc679(0x1e3),'description':a195_0x5bc679(0x1f8)},{'name':a195_0x5bc679(0x1e1),'type':a195_0x5bc679(0x1e3),'description':a195_0x5bc679(0x1fc)},{'name':a195_0x5bc679(0x1d1),'type':a195_0x5bc679(0x1e3),'description':'Comma-separated\x20dataset\x20codes\x20to\x20cross-check\x20table/column\x20names\x20against'},{'name':a195_0x5bc679(0x1d0),'type':a195_0x5bc679(0x1e5),'description':a195_0x5bc679(0x1ed)}],async 'execute'(_0x6e8ee6){const _0x248da7=a195_0x5bc679,_0x3cabe6=_0x6e8ee6[_0x248da7(0x1c6)]('file'),_0x2d2004=_0x6e8ee6[_0x248da7(0x1c6)]('sql'),_0x425aa3=_0x6e8ee6[_0x248da7(0x1c6)](_0x248da7(0x1d1)),_0x3cd9a5=_0x6e8ee6[_0x248da7(0x1ec)](_0x248da7(0x1d0));if(!_0x3cabe6&&!_0x2d2004)throw CliErrors['flagMissing'](_0x248da7(0x1e8),_0x248da7(0x1f9));if(_0x3cd9a5&&!_0x425aa3)throw CliErrors[_0x248da7(0x200)]('--check-indexes\x20requires\x20--schemas.');let _0x51c70c;if(_0x3cabe6){const _0x14931a=resolve(process[_0x248da7(0x1dd)](),_0x3cabe6);if(!existsSync(_0x14931a))throw CliErrors['validation'](_0x248da7(0x1d4)+_0x14931a);_0x51c70c=readFileSync(_0x14931a,'utf-8');}else _0x51c70c=_0x2d2004;const _0x54a766=validateSql(_0x51c70c),_0x56aab1={'valid':_0x54a766[_0x248da7(0x1bf)],'sqlType':_0x54a766[_0x248da7(0x1c7)][_0x248da7(0x1f5)],'isSelectOnly':_0x54a766[_0x248da7(0x1c7)][_0x248da7(0x1fa)],'isDangerous':_0x54a766['sqlType']['isDangerous'],'tables':_0x54a766[_0x248da7(0x1f2)],'parameters':_0x54a766[_0x248da7(0x1f6)],'message':_0x54a766['message']};_0x54a766['sqlType'][_0x248da7(0x1e2)]&&(_0x56aab1[_0x248da7(0x1e2)]=_0x54a766[_0x248da7(0x1c7)]['reason']);if(_0x425aa3&&_0x54a766['valid']){const _0x4b1b3d=_0x425aa3['split'](',')['map'](_0x26fdad=>_0x26fdad[_0x248da7(0x1df)]())[_0x248da7(0x1f0)](Boolean),_0x21cab7=[],_0x54db13=[],_0x5591bc=filterDbTableBackedDatasets(await listDatasets(_0x6e8ee6['appCode'])),_0x4321be=new Map(_0x5591bc[_0x248da7(0x1db)](_0x26cfa3=>[_0x26cfa3[_0x248da7(0x1fb)]?.[_0x248da7(0x1d9)]?.['toLowerCase'](),_0x26cfa3]));for(const _0x58962f of _0x54a766[_0x248da7(0x1f2)]){const _0x379736=_0x4321be['get'](_0x58962f[_0x248da7(0x1de)]());!_0x379736&&_0x21cab7['push']('Table\x20\x22'+_0x58962f+_0x248da7(0x1d6));}for(const _0x38aac0 of _0x4b1b3d){let _0x4d3cef;try{_0x4d3cef=await getDatasetDetail(_0x38aac0);}catch{_0x21cab7['push'](_0x248da7(0x1c9)+_0x38aac0+_0x248da7(0x1fd));continue;}assertDatasetIsDbTableBacked(_0x4d3cef,_0x248da7(0x1be));const _0xbe171=Array[_0x248da7(0x1f4)](_0x4d3cef[_0x248da7(0x1cc)])?_0x4d3cef[_0x248da7(0x1cc)]:[],_0x2bf9bf=new Set(_0xbe171[_0x248da7(0x1db)](_0x5560d3=>_0x5560d3[_0x248da7(0x1da)]?.[_0x248da7(0x1de)]())),_0xc7b09f=_0x4d3cef[_0x248da7(0x1fb)]?.[_0x248da7(0x1d9)]||_0x4d3cef[_0x248da7(0x1d9)]||_0x38aac0;_0x56aab1[_0x248da7(0x1ea)+_0xc7b09f]={'code':_0x38aac0,'tableName':_0xc7b09f,'fieldCount':_0x2bf9bf['size'],'fields':Array['from'](_0x2bf9bf)};if(_0x3cd9a5){const _0x27f8cd=normalizeDatasetIndexes(_0x4d3cef);_0x54db13[_0x248da7(0x1eb)]({'tableName':_0xc7b09f,..._0x27f8cd});}}_0x21cab7[_0x248da7(0x1f7)]>0x0&&(_0x56aab1[_0x248da7(0x1cd)]=_0x21cab7),_0x3cd9a5&&(_0x56aab1['joinAudit']=auditSqlJoinIndexes(_0x51c70c,_0x54db13));}return{'ok':_0x54a766['valid'],'data':_0x56aab1,'message':_0x54a766[_0x248da7(0x1f3)]};}};function normalizeDatasetIndexes(_0x9c3e3){const _0x50fe32=a195_0x5bc679,_0x2966a5=Array[_0x50fe32(0x1f4)](_0x9c3e3?.[_0x50fe32(0x1c4)]?.[_0x50fe32(0x1e7)])?_0x9c3e3[_0x50fe32(0x1c4)][_0x50fe32(0x1e7)]:Array[_0x50fe32(0x1f4)](_0x9c3e3?.[_0x50fe32(0x1e7)])?_0x9c3e3[_0x50fe32(0x1e7)]:[],_0x4dc363=_0x2966a5[_0x50fe32(0x1ff)](_0x3bad4a=>{const _0x5b14fc=_0x50fe32,_0x71ce84=Array[_0x5b14fc(0x1f4)](_0x3bad4a?.[_0x5b14fc(0x1ca)])?_0x3bad4a[_0x5b14fc(0x1ca)]:Array[_0x5b14fc(0x1f4)](_0x3bad4a?.[_0x5b14fc(0x1ef)])?_0x3bad4a[_0x5b14fc(0x1ef)]:Array[_0x5b14fc(0x1f4)](_0x3bad4a?.[_0x5b14fc(0x1d7)])?_0x3bad4a['columns']:[],_0x2ee5e9=_0x71ce84['filter'](_0x244f81=>typeof _0x244f81===_0x5b14fc(0x1e3))[_0x5b14fc(0x1db)](_0x31f33a=>_0x31f33a['trim']())[_0x5b14fc(0x1f0)](Boolean);if(_0x2ee5e9[_0x5b14fc(0x1f7)]===0x0)return[];const _0x2daf76=[_0x3bad4a?.[_0x5b14fc(0x1e6)],_0x3bad4a?.['index_name'],_0x3bad4a?.[_0x5b14fc(0x1da)]][_0x5b14fc(0x1fe)](_0xec66d0=>typeof _0xec66d0===_0x5b14fc(0x1e3)&&_0xec66d0['trim']()),_0x7213a0=[_0x3bad4a?.[_0x5b14fc(0x1c2)],_0x3bad4a?.[_0x5b14fc(0x1f5)]][_0x5b14fc(0x1fe)](_0x3c3713=>typeof _0x3c3713===_0x5b14fc(0x1e3)&&_0x3c3713[_0x5b14fc(0x1df)]());return[{..._0x2daf76?{'name':_0x2daf76[_0x5b14fc(0x1df)]()}:{},..._0x7213a0?{'type':_0x7213a0[_0x5b14fc(0x1df)]()}:{},'columns':_0x2ee5e9}];}),_0x44436c=[..._0x4dc363],_0x3b0e5f=typeof _0x9c3e3?.['dbtableConfig']?.[_0x50fe32(0x1d5)]===_0x50fe32(0x1e3)?_0x9c3e3[_0x50fe32(0x1fb)][_0x50fe32(0x1d5)]['split'](',')['map'](_0x2a04eb=>_0x2a04eb['trim']())[_0x50fe32(0x1f0)](Boolean):[];return _0x3b0e5f[_0x50fe32(0x1f7)]>0x0&&_0x44436c[_0x50fe32(0x1d3)]({'type':_0x50fe32(0x1c0),'columns':_0x3b0e5f}),{'indexes':_0x44436c,'metadataAvailable':_0x4dc363[_0x50fe32(0x1f7)]>0x0};}function a195_0x3647(_0x5ca883,_0x8ba441){_0x5ca883=_0x5ca883-0x1be;const _0x2a6878=a195_0x2a68();let _0x36479d=_0x2a6878[_0x5ca883];return _0x36479d;}function a195_0x2a68(){const _0x56c04d=['isArray','type','parameters','length','Path\x20to\x20the\x20SQL\x20file\x20to\x20validate','Provide\x20--file\x20or\x20--sql','isSelectOnly','dbtableConfig','Inline\x20SQL\x20content\x20to\x20validate\x20(alternative\x20to\x20--file)','\x22\x20not\x20found\x20or\x20not\x20accessible','find','flatMap','validation','SQL\x20schema\x20validation','valid','primary','7553172xKVMST','index_type','133806rtviNa','dataset','456834yZhGtT','str','sqlType','120FIwwLx','Dataset\x20\x22','index_columns','149559ksReJB','fields','schemaWarnings','369zKiEaB','473344PVDIkT','check-indexes','schemas','validate','unshift','File\x20not\x20found:\x20','pkField','\x22\x20not\x20found\x20in\x20any\x20dataset','columns','8tCGtKj','tableName','name','map','26990fNFCIE','cwd','toLowerCase','trim','Validate\x20SQL\x20content\x20without\x20saving\x20(type\x20detection,\x20parameter\x20extraction,\x20optional\x20schema\x20check)','sql','reason','string','11CifnQu','boolean','indexName','indexes','file','read','schema:','push','bool','Audit\x20top-level\x20JOIN\x20equality\x20predicates\x20against\x20dataset\x20index\x20metadata','81730GySLZc','columnNames','filter','1ugZAZp','tables','message'];a195_0x2a68=function(){return _0x56c04d;};return a195_0x2a68();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1a837a,_0x530033){const _0x48c01e=a196_0x3ec0,_0x34c48c=_0x1a837a();while(!![]){try{const _0x58dda1=-parseInt(_0x48c01e(0x1f0))/0x1*(parseInt(_0x48c01e(0x1f8))/0x2)+parseInt(_0x48c01e(0x1f4))/0x3*(parseInt(_0x48c01e(0x1f2))/0x4)+-parseInt(_0x48c01e(0x1f1))/0x5+parseInt(_0x48c01e(0x1f5))/0x6*(-parseInt(_0x48c01e(0x1ef))/0x7)+-parseInt(_0x48c01e(0x1f6))/0x8+-parseInt(_0x48c01e(0x1f3))/0x9*(-parseInt(_0x48c01e(0x1f9))/0xa)+parseInt(_0x48c01e(0x1f7))/0xb;if(_0x58dda1===_0x530033)break;else _0x34c48c['push'](_0x34c48c['shift']());}catch(_0x2b31bb){_0x34c48c['push'](_0x34c48c['shift']());}}}(a196_0x45ae,0x37546));import{taskStatus}from'../../commands/task/status.js';function a196_0x45ae(){const _0x3da969=['520352UZPend','1854281GjQpdz','8FKPiHx','30930nGROIM','252mLZjqi','22406TzIehg','1093020GTRFnJ','4noUSge','999KbOzef','274824efljKY','600pTiHRE'];a196_0x45ae=function(){return _0x3da969;};return a196_0x45ae();}function a196_0x3ec0(_0x5f03f4,_0x3a2d28){_0x5f03f4=_0x5f03f4-0x1ef;const _0x45ae2e=a196_0x45ae();let _0x3ec0ef=_0x45ae2e[_0x5f03f4];return _0x3ec0ef;}export const taskDefinitions=[taskStatus];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a197_0x4a7bec=a197_0x44ad;function a197_0x2fd9(){const _0x1d10e0=['flagMissing','trim','4819638bohoql','task-id','taskId','248552DiItZb','7872116gDTQUS','appCode','9gXrbYq','4179906gcVbSq',',\x20received\x20','25wYYaOA','status','180KXFMrS','str','Task\x20status\x20response\x20id\x20mismatch:\x20requested\x20','Task\x20id\x20returned\x20by\x20an\x20asynchronous\x20platform\x20command','cookie','714109MoiUEB','read','4778RGrvhF','390568OLOOKY','string','494DFTqlJ'];a197_0x2fd9=function(){return _0x1d10e0;};return a197_0x2fd9();}function a197_0x44ad(_0x290bd3,_0x36eb14){_0x290bd3=_0x290bd3-0x97;const _0x2fd90f=a197_0x2fd9();let _0x44ad9b=_0x2fd90f[_0x290bd3];return _0x44ad9b;}(function(_0x58a8c0,_0x20d255){const _0x52e387=a197_0x44ad,_0x3272e3=_0x58a8c0();while(!![]){try{const _0x149bad=parseInt(_0x52e387(0xa7))/0x1*(-parseInt(_0x52e387(0xaa))/0x2)+parseInt(_0x52e387(0x9c))/0x3+parseInt(_0x52e387(0x98))/0x4*(-parseInt(_0x52e387(0x9e))/0x5)+parseInt(_0x52e387(0xad))/0x6+-parseInt(_0x52e387(0x99))/0x7+parseInt(_0x52e387(0xa8))/0x8*(-parseInt(_0x52e387(0x9b))/0x9)+parseInt(_0x52e387(0xa0))/0xa*(parseInt(_0x52e387(0xa5))/0xb);if(_0x149bad===_0x20d255)break;else _0x3272e3['push'](_0x3272e3['shift']());}catch(_0x5f02a4){_0x3272e3['push'](_0x3272e3['shift']());}}}(a197_0x2fd9,0xab1b4));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{getAsyncTaskStatus}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const taskStatus={'service':'task','command':a197_0x4a7bec(0x9f),'description':'Query\x20an\x20asynchronous\x20task;\x20repeat\x20for\x20PENDING\x20or\x20PROCESSING\x20until\x20SUCCESS\x20or\x20FAILED','risk':a197_0x4a7bec(0xa6),'defaultOutputFormat':'compress','structuredErrors':!![],'flags':[{'name':a197_0x4a7bec(0xae),'type':a197_0x4a7bec(0xa9),'required':!![],'description':a197_0x4a7bec(0xa3)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x20177b){const _0x3fb04c=a197_0x4a7bec;if(!_0x20177b[_0x3fb04c(0xa1)](_0x3fb04c(0xae))[_0x3fb04c(0xac)]())throw CliErrors[_0x3fb04c(0xab)](_0x3fb04c(0xae));},async 'execute'(_0x5bac12){const _0x5c26d6=a197_0x4a7bec,_0x2dca85=_0x5bac12[_0x5c26d6(0xa1)](_0x5c26d6(0xae))['trim'](),_0x2517d9=normalizeAsyncTask(await getAsyncTaskStatus(_0x2dca85,_0x5bac12[_0x5c26d6(0x9a)],_0x5bac12[_0x5c26d6(0xa4)]));if(_0x2517d9[_0x5c26d6(0x97)]!==_0x2dca85)throw CliErrors['apiError'](_0x5c26d6(0xa2)+_0x2dca85+_0x5c26d6(0x9d)+_0x2517d9[_0x5c26d6(0x97)]+'.');const _0x1391c6=buildAsyncTaskStatusCommand(_0x2517d9[_0x5c26d6(0x97)],_0x5bac12[_0x5c26d6(0x9a)]);return{'ok':!![],'message':asyncTaskMessage(_0x2517d9),'data':{'appCode':_0x5bac12[_0x5c26d6(0x9a)],..._0x2517d9,'query':_0x2517d9['isTerminal']?null:{'command':_0x1391c6}}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a198_0x2537(){const _0x4766c0=['4178512JQSFGH','8jXoAvg','601481TWDekV','8596800QrWbdk','7fWllnG','11043576lTTtnf','2497656GwqzSF','4685544pdWXeD','81894nVVvHB'];a198_0x2537=function(){return _0x4766c0;};return a198_0x2537();}function a198_0x25f2(_0x1ccde6,_0x2e5170){_0x1ccde6=_0x1ccde6-0x1a0;const _0x2537c7=a198_0x2537();let _0x25f266=_0x2537c7[_0x1ccde6];return _0x25f266;}(function(_0x59808e,_0x47e43f){const _0x598ddb=a198_0x25f2,_0x4bc8f3=_0x59808e();while(!![]){try{const _0x1c3344=parseInt(_0x598ddb(0x1a0))/0x1+-parseInt(_0x598ddb(0x1a4))/0x2+parseInt(_0x598ddb(0x1a6))/0x3*(-parseInt(_0x598ddb(0x1a8))/0x4)+parseInt(_0x598ddb(0x1a1))/0x5+-parseInt(_0x598ddb(0x1a5))/0x6*(parseInt(_0x598ddb(0x1a2))/0x7)+-parseInt(_0x598ddb(0x1a7))/0x8+parseInt(_0x598ddb(0x1a3))/0x9;if(_0x1c3344===_0x47e43f)break;else _0x4bc8f3['push'](_0x4bc8f3['shift']());}catch(_0x514012){_0x4bc8f3['push'](_0x4bc8f3['shift']());}}}(a198_0x2537,0xe5cbb));import{tenantMembersListDefinition}from'../../commands/tenant/members-list.js';export const tenantDefinitions=[tenantMembersListDefinition];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a199_0xe27287=a199_0x1a2a;(function(_0x520d08,_0x59fc49){const _0x4928c0=a199_0x1a2a,_0x20f73d=_0x520d08();while(!![]){try{const _0x14b466=parseInt(_0x4928c0(0x136))/0x1*(-parseInt(_0x4928c0(0x135))/0x2)+parseInt(_0x4928c0(0x13d))/0x3+parseInt(_0x4928c0(0x130))/0x4+-parseInt(_0x4928c0(0x13a))/0x5*(-parseInt(_0x4928c0(0x13e))/0x6)+parseInt(_0x4928c0(0x143))/0x7*(-parseInt(_0x4928c0(0x138))/0x8)+parseInt(_0x4928c0(0x131))/0x9+-parseInt(_0x4928c0(0x13b))/0xa;if(_0x14b466===_0x59fc49)break;else _0x20f73d['push'](_0x20f73d['shift']());}catch(_0x534bd3){_0x20f73d['push'](_0x20f73d['shift']());}}}(a199_0x44ab,0x73e45));import{listCurrentUserTenantMemberships,listTenantDirectoryMembers}from'../../core/api-client.js';function a199_0x1a2a(_0x303138,_0x438773){_0x303138=_0x303138-0x12f;const _0x44ab88=a199_0x44ab();let _0x1a2a43=_0x44ab88[_0x303138];return _0x1a2a43;}import{CliErrors}from'../../errors.js';function a199_0x44ab(){const _0x4d94fc=['\x20tenant\x20member(s)','2275347SQFxoR','156OjCrwZ','tenant','Found\x20','length','read','7MfMsVr','str','members-list','2607980ssKTQw','6208110jLHrSl','tenant-code','Pass\x20--tenant-code\x20<code>.','trim','2zdOEVE','484221faNHUw','Exact\x20tenant\x20code','4300096sPWJll','List\x20members\x20of\x20a\x20tenant\x20available\x20to\x20the\x20current\x20account','47925KTzyXq','8530180NhEMAk'];a199_0x44ab=function(){return _0x4d94fc;};return a199_0x44ab();}import{assertTenantAccessible,projectTenantMembers}from'../../commands/tenant/shared.js';export const tenantMembersListDefinition={'service':a199_0xe27287(0x13f),'command':a199_0xe27287(0x12f),'description':a199_0xe27287(0x139),'risk':a199_0xe27287(0x142),'requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a199_0xe27287(0x132),'type':'string','required':!![],'description':a199_0xe27287(0x137)}],async 'validate'(_0x2c4734){const _0x5bc38d=a199_0xe27287;if(!_0x2c4734[_0x5bc38d(0x144)](_0x5bc38d(0x132))[_0x5bc38d(0x134)]())throw CliErrors['flagMissing'](_0x5bc38d(0x132),_0x5bc38d(0x133));},async 'execute'(_0x268d25){const _0xbafd8b=a199_0xe27287,_0x1f49b9=_0x268d25[_0xbafd8b(0x144)](_0xbafd8b(0x132))[_0xbafd8b(0x134)](),_0x3a9656=await listCurrentUserTenantMemberships();assertTenantAccessible(_0x1f49b9,_0x3a9656);const _0x78994=projectTenantMembers(await listTenantDirectoryMembers(_0x1f49b9));return{'ok':!![],'data':{'tenantCode':_0x1f49b9,'items':_0x78994,'totalCount':_0x78994[_0xbafd8b(0x141)]},'message':_0xbafd8b(0x140)+_0x78994[_0xbafd8b(0x141)]+_0xbafd8b(0x13c)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x12e168,_0x36f753){const _0x3ebbd3=a200_0x2db7,_0x1c2325=_0x12e168();while(!![]){try{const _0x130906=parseInt(_0x3ebbd3(0x188))/0x1*(-parseInt(_0x3ebbd3(0x179))/0x2)+-parseInt(_0x3ebbd3(0x174))/0x3+parseInt(_0x3ebbd3(0x180))/0x4+-parseInt(_0x3ebbd3(0x17b))/0x5*(parseInt(_0x3ebbd3(0x173))/0x6)+parseInt(_0x3ebbd3(0x171))/0x7+-parseInt(_0x3ebbd3(0x18a))/0x8*(parseInt(_0x3ebbd3(0x187))/0x9)+parseInt(_0x3ebbd3(0x17e))/0xa*(parseInt(_0x3ebbd3(0x17f))/0xb);if(_0x130906===_0x36f753)break;else _0x1c2325['push'](_0x1c2325['shift']());}catch(_0x39a620){_0x1c2325['push'](_0x1c2325['shift']());}}}(a200_0x1538,0xeb302));import{CliErrors}from'../../errors.js';function textOrNull(_0x2e429f){const _0x43dd64=a200_0x2db7,_0x1d577f=_0x2e429f?.[_0x43dd64(0x183)]();return _0x1d577f?_0x1d577f:null;}export function projectTenantMembers(_0x2989b1){const _0x4ebcbc=a200_0x2db7,_0x16ecff=new Map();for(const _0x27055c of _0x2989b1){const _0x4c7e57=Number(_0x27055c[_0x4ebcbc(0x182)]);if(!Number['isFinite'](_0x4c7e57)||_0x4c7e57<=0x0)continue;const _0x18c322={'userId':_0x4c7e57,'username':textOrNull(_0x27055c[_0x4ebcbc(0x16e)]),'displayName':textOrNull(_0x27055c[_0x4ebcbc(0x177)]),'role':_0x27055c[_0x4ebcbc(0x17c)]===!![]?_0x4ebcbc(0x184):'MEMBER','status':textOrNull(_0x27055c[_0x4ebcbc(0x181)])},_0x5422de=_0x16ecff[_0x4ebcbc(0x16f)](_0x4c7e57);if(!_0x5422de){_0x16ecff[_0x4ebcbc(0x178)](_0x4c7e57,_0x18c322);continue;}_0x5422de[_0x4ebcbc(0x16e)]??=_0x18c322['username'],_0x5422de[_0x4ebcbc(0x189)]??=_0x18c322[_0x4ebcbc(0x189)],_0x5422de[_0x4ebcbc(0x181)]??=_0x18c322[_0x4ebcbc(0x181)];if(_0x18c322[_0x4ebcbc(0x172)]==='ADMIN')_0x5422de[_0x4ebcbc(0x172)]=_0x4ebcbc(0x184);}return[..._0x16ecff[_0x4ebcbc(0x176)]()][_0x4ebcbc(0x170)]((_0x452694,_0x45f95e)=>_0x452694[_0x4ebcbc(0x182)]-_0x45f95e[_0x4ebcbc(0x182)]);}function a200_0x1538(){const _0xe7ea5e=['nickname','set','1050SustlS','Check\x20--tenant-code\x20or\x20login\x20with\x20an\x20account\x20that\x20belongs\x20to\x20this\x20tenant.','11035FyvpVC','adminFlag','validation','20SxgVzO','17326342hGMVMD','3009112hNyMOl','status','userId','trim','ADMIN','\x22\x20is\x20not\x20available\x20to\x20the\x20current\x20account.','tenantCode','12843fkKfUs','3669iPVjje','displayName','48lWOmAo','username','get','sort','7360528QwPIzD','role','2946XhNPUG','2916816XKbhrn','Tenant\x20\x22','values'];a200_0x1538=function(){return _0xe7ea5e;};return a200_0x1538();}function a200_0x2db7(_0x1a23e3,_0x571737){_0x1a23e3=_0x1a23e3-0x16e;const _0x153833=a200_0x1538();let _0x2db761=_0x153833[_0x1a23e3];return _0x2db761;}export function assertTenantAccessible(_0x1177fd,_0x194b16){const _0x189159=a200_0x2db7;if(_0x194b16['some'](_0x6f3948=>_0x6f3948[_0x189159(0x186)]===_0x1177fd))return;throw CliErrors[_0x189159(0x17d)](_0x189159(0x175)+_0x1177fd+_0x189159(0x185),_0x189159(0x17a));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a201_0x491fb4=a201_0x3cbb;(function(_0x28ed0e,_0x1c7df7){const _0x57ee09=a201_0x3cbb,_0xe2ab40=_0x28ed0e();while(!![]){try{const _0x57ae1a=-parseInt(_0x57ee09(0xf3))/0x1*(-parseInt(_0x57ee09(0xec))/0x2)+parseInt(_0x57ee09(0x100))/0x3+parseInt(_0x57ee09(0xf9))/0x4+parseInt(_0x57ee09(0xfc))/0x5+parseInt(_0x57ee09(0x101))/0x6+parseInt(_0x57ee09(0xee))/0x7*(-parseInt(_0x57ee09(0xf5))/0x8)+-parseInt(_0x57ee09(0xef))/0x9;if(_0x57ae1a===_0x1c7df7)break;else _0xe2ab40['push'](_0xe2ab40['shift']());}catch(_0x13c665){_0xe2ab40['push'](_0xe2ab40['shift']());}}}(a201_0x58fe,0xa05c6));import{asDryRunResult}from'../../commands/common/dry-run.js';import{bindDingTalkSandboxAccount,DING_TALK_SANDBOX_BIND_PATH}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a201_0x58fe(){const _0x4a017b=['1041888rNyhmb','2310144Blavgh','str','DingTalk\x20sandbox\x20account\x20binding\x20was\x20not\x20confirmed.','--ding-talk-user-id\x20cannot\x20be\x20empty.','142jbpIPv','bind','14iVhHaH','14861907GfnDHL','trim','dingding-sandbox-bind','validation','18364jNasbL','ding-talk-user-id','4461368dOfgCW','user-account','dingtalk','Retry\x20with\x20the\x20same\x20--ding-talk-user-id\x20only\x20after\x20checking\x20the\x20current\x20platform\x20session.','4497264dwsKfG','Pass\x20the\x20DingTalk\x20user\x20id\x20returned\x20by\x20the\x20sandbox.','string','1315115FIDBaz','The\x20current\x20binding\x20is\x20not\x20exposed\x20by\x20the\x20server;\x20before\x20is\x20unavailable.','Bound\x20current\x20user\x20to\x20DingTalk\x20sandbox\x20account.','POST'];a201_0x58fe=function(){return _0x4a017b;};return a201_0x58fe();}const PROVIDER_ID=a201_0x491fb4(0xf7),CURRENT_BINDING_WARNING=a201_0x491fb4(0xfd);function readDingTalkUserId(_0x35ac22){const _0x3569e2=a201_0x491fb4,_0x1e26d8=_0x35ac22[_0x3569e2(0xe9)](_0x3569e2(0xf4))[_0x3569e2(0xf0)]();if(!_0x1e26d8)throw CliErrors[_0x3569e2(0xf2)](_0x3569e2(0xeb),_0x3569e2(0xfa));return _0x1e26d8;}function a201_0x3cbb(_0x4f5c11,_0x13837d){_0x4f5c11=_0x4f5c11-0xe9;const _0x58fe94=a201_0x58fe();let _0x3cbb13=_0x58fe94[_0x4f5c11];return _0x3cbb13;}function buildBindingData(_0x155cfa,_0x1dd200){const _0x43666f=a201_0x491fb4;return{'operation':_0x43666f(0xed),'selector':{'providerId':PROVIDER_ID,'dingTalkUserId':_0x155cfa},'before':null,'after':{'providerId':PROVIDER_ID,'dingTalkUserId':_0x155cfa,'bound':!![]},'dryRun':_0x1dd200,'backend':{'method':_0x43666f(0xff),'path':DING_TALK_SANDBOX_BIND_PATH},'warnings':[CURRENT_BINDING_WARNING]};}export const dingTalkSandboxBind={'service':a201_0x491fb4(0xf6),'command':a201_0x491fb4(0xf1),'description':'Bind\x20the\x20current\x20platform\x20user\x20to\x20a\x20DingTalk\x20sandbox\x20account','risk':'write','requiresAuth':!![],'requiresAppCode':![],'structuredErrors':!![],'flags':[{'name':a201_0x491fb4(0xf4),'type':a201_0x491fb4(0xfb),'required':!![],'description':'DingTalk\x20user\x20id\x20returned\x20by\x20the\x20sandbox'}],async 'validate'(_0x241174){readDingTalkUserId(_0x241174);},async 'dryRun'(_0x46c43d){const _0x4e7960=readDingTalkUserId(_0x46c43d);return asDryRunResult(buildBindingData(_0x4e7960,!![]),{'method':'POST','url':DING_TALK_SANDBOX_BIND_PATH});},async 'execute'(_0x121134){const _0x39d8a8=a201_0x491fb4,_0x1133f2=readDingTalkUserId(_0x121134),_0x39b0c0=await bindDingTalkSandboxAccount(_0x1133f2);if(_0x39b0c0!==!![])throw CliErrors['apiError'](_0x39d8a8(0xea),_0x39d8a8(0xf8));return{'ok':!![],'data':buildBindingData(_0x1133f2,![]),'message':_0x39d8a8(0xfe)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x55b95d,_0xa10c1f){const _0x452d0a=a202_0x32ee,_0x42229c=_0x55b95d();while(!![]){try{const _0x18d706=-parseInt(_0x452d0a(0x83))/0x1*(-parseInt(_0x452d0a(0x89))/0x2)+parseInt(_0x452d0a(0x7e))/0x3*(parseInt(_0x452d0a(0x8a))/0x4)+parseInt(_0x452d0a(0x8b))/0x5*(-parseInt(_0x452d0a(0x88))/0x6)+-parseInt(_0x452d0a(0x87))/0x7*(parseInt(_0x452d0a(0x82))/0x8)+parseInt(_0x452d0a(0x80))/0x9*(-parseInt(_0x452d0a(0x7f))/0xa)+-parseInt(_0x452d0a(0x86))/0xb*(-parseInt(_0x452d0a(0x85))/0xc)+-parseInt(_0x452d0a(0x84))/0xd*(-parseInt(_0x452d0a(0x81))/0xe);if(_0x18d706===_0xa10c1f)break;else _0x42229c['push'](_0x42229c['shift']());}catch(_0x3fecc7){_0x42229c['push'](_0x42229c['shift']());}}}(a202_0x5bdb,0x188b0));import{dingTalkSandboxBind}from'../../commands/user-account/dingding-sandbox-bind.js';function a202_0x32ee(_0x4761d5,_0x34edea){_0x4761d5=_0x4761d5-0x7e;const _0x5bdb9c=a202_0x5bdb();let _0x32eefd=_0x5bdb9c[_0x4761d5];return _0x32eefd;}function a202_0x5bdb(){const _0x7ef227=['13NwtDbR','96gylHac','162272bqnBpJ','116389pNmSJI','77586BvMHEZ','616aBQcOz','276iqSbYW','30VGOHPv','2415EpMmvj','4910fgnbCF','2547PQMhWj','3461738XbQPYb','56PXoyKo','41FzjIxl'];a202_0x5bdb=function(){return _0x7ef227;};return a202_0x5bdb();}export const userAccountDefinitions=[dingTalkSandboxBind];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a203_0x2855(){const _0x5aef7f=['216738ByrCSS','workspace\x20add','workspace','write','2966976XrlgNZ','name','674522snehBw','4278Dxrzjq','80060sfiLXk','4460umOLIT','231721wtlnuq','Register\x20an\x20app\x20profile\x20in\x20the\x20current\x20workspace\x20(or\x20--global)','add','807792CHNIPK'];a203_0x2855=function(){return _0x5aef7f;};return a203_0x2855();}function a203_0x3915(_0x47e96d,_0x44f6c4){_0x47e96d=_0x47e96d-0x100;const _0x2855ab=a203_0x2855();let _0x391574=_0x2855ab[_0x47e96d];return _0x391574;}const a203_0x482a0a=a203_0x3915;(function(_0x2673b6,_0x336c4f){const _0x5d3c61=a203_0x3915,_0x4768d5=_0x2673b6();while(!![]){try{const _0x1daf09=parseInt(_0x5d3c61(0x108))/0x1+parseInt(_0x5d3c61(0x106))/0x2+-parseInt(_0x5d3c61(0x100))/0x3+parseInt(_0x5d3c61(0x104))/0x4+-parseInt(_0x5d3c61(0x109))/0x5*(parseInt(_0x5d3c61(0x107))/0x6)+parseInt(_0x5d3c61(0x10a))/0x7+-parseInt(_0x5d3c61(0x10d))/0x8;if(_0x1daf09===_0x336c4f)break;else _0x4768d5['push'](_0x4768d5['shift']());}catch(_0x200e5f){_0x4768d5['push'](_0x4768d5['shift']());}}}(a203_0x2855,0x5d7e8));import{buildAppAddFlags,runAppAdd,validateAppName}from'../../commands/common/app-registry.js';export const workspaceAddDefinition={'service':a203_0x482a0a(0x102),'command':a203_0x482a0a(0x10c),'description':a203_0x482a0a(0x10b),'risk':a203_0x482a0a(0x103),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':a203_0x482a0a(0x105),'description':'App\x20profile\x20name','required':!![]}],'flags':buildAppAddFlags(),'validate':_0x31d63e=>validateAppName(_0x31d63e,a203_0x482a0a(0x101)),'execute':_0x163bc=>runAppAdd(_0x163bc,a203_0x482a0a(0x101))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a204_0x2e129a=a204_0x5579;(function(_0x26d618,_0x19d5b7){const _0x397673=a204_0x5579,_0x57bdf0=_0x26d618();while(!![]){try{const _0x4e6f7d=parseInt(_0x397673(0x134))/0x1*(parseInt(_0x397673(0x14e))/0x2)+parseInt(_0x397673(0x162))/0x3*(-parseInt(_0x397673(0x137))/0x4)+parseInt(_0x397673(0x15d))/0x5*(-parseInt(_0x397673(0x141))/0x6)+parseInt(_0x397673(0x15a))/0x7*(parseInt(_0x397673(0x13a))/0x8)+-parseInt(_0x397673(0x154))/0x9+-parseInt(_0x397673(0x13b))/0xa+parseInt(_0x397673(0x163))/0xb;if(_0x4e6f7d===_0x19d5b7)break;else _0x57bdf0['push'](_0x57bdf0['shift']());}catch(_0x36818a){_0x57bdf0['push'](_0x57bdf0['shift']());}}}(a204_0x4a30,0xe7d1d));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';function a204_0x4a30(){const _0x1ce643=['Pass\x20--appcode\x20<code>,\x20or\x20choose\x20one\x20of:\x20','124zIJoOk','defaultFormat','Switch\x20the\x20current\x20workspace\x20app\x20binding',').\x20Config:\x20','globalConfig','number','5335056DcnsWg','Workspace\x20','apps','workspace','use','isArray','180887IGwGuS','app','workspace.','15JpXSMS','\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20`','initialized','flag','App\x20\x22','153282ddMeEv','21664929zoujGL','write','\x20workspace\x20','string','riskLevel','validation','Missing\x20workspace\x20app\x20selector.','\x20workspace\x20<init|use>\x20--app\x20<name>\x20[--appcode\x20<code>]','21686PqWZhr','updated','init','52foUFHl','Use\x20`','Risk\x20level\x20for\x20this\x20workspace\x20app\x20profile','280HyxXwV','15084110JUWJjY','Target\x20environment','project','trim','env','join','1007112fphZGL','App\x20code\x20to\x20bind\x20to\x20this\x20workspace','Initialize\x20the\x20current\x20workspace\x20app\x20binding','\x20workspace\x20use\x20--app\x20<name>`.','API\x20directory\x20path\x20for\x20this\x20workspace\x20app\x20profile','appcode','pageSize','locale','str','format','.\x20Credentials:\x20not\x20written.','apiDir'];a204_0x4a30=function(){return _0x1ce643;};return a204_0x4a30();}import{validateAppcode}from'../../commands/common/validate.js';import{readConfigFile,readRawConfigWithLayers,resolveWriteConfigPath,writeConfigFile}from'../../context.js';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+a204_0x2e129a(0x133),SAFE_PROFILE_KEYS=[a204_0x2e129a(0x146),a204_0x2e129a(0x13f),a204_0x2e129a(0x14c),'format',a204_0x2e129a(0x147),'riskLevel',a204_0x2e129a(0x148)],workspaceFlags=[{'name':a204_0x2e129a(0x15b),'type':a204_0x2e129a(0x166),'description':'App\x20profile\x20name\x20to\x20use\x20in\x20this\x20workspace'},{'name':'appcode','type':a204_0x2e129a(0x166),'description':a204_0x2e129a(0x142)},{'name':a204_0x2e129a(0x13f),'type':'string','description':a204_0x2e129a(0x13c),'enum':[...RABETBASE_ENV_VALUES]},{'name':'apiDir','type':'string','description':a204_0x2e129a(0x145)},{'name':a204_0x2e129a(0x14f),'type':a204_0x2e129a(0x166),'description':'Default\x20output\x20format\x20for\x20this\x20workspace\x20app\x20profile','enum':[...RABETBASE_OUTPUT_FORMAT_VALUES]},{'name':'pageSize','type':a204_0x2e129a(0x153),'description':'Default\x20page\x20size\x20for\x20this\x20workspace\x20app\x20profile'},{'name':a204_0x2e129a(0x167),'type':a204_0x2e129a(0x166),'description':a204_0x2e129a(0x139),'enum':[...RISK_LEVEL_VALUES]},{'name':a204_0x2e129a(0x148),'type':a204_0x2e129a(0x166),'description':'App\x20locale\x20for\x20this\x20workspace\x20app\x20profile\x20(not\x20CLI\x20language;\x20reserved\x20for\x20later\x20app\x20use)'}];function isRecord(_0x246dda){const _0x26b39e=a204_0x2e129a;return!!_0x246dda&&typeof _0x246dda==='object'&&!Array[_0x26b39e(0x159)](_0x246dda);}function assertValidAppcode(_0x4a4278){const _0x30b968=a204_0x2e129a,{valid:_0x4afa71,message:_0x33df2f}=validateAppcode(_0x4a4278);if(!_0x4afa71)throw CliErrors[_0x30b968(0x131)]('Invalid\x20appcode:\x20'+_0x4a4278,_0x33df2f);}function sanitizeProfile(_0x2f77e5){if(!isRecord(_0x2f77e5))return{};const _0x2905f0={};for(const _0x49d9d1 of SAFE_PROFILE_KEYS){if(_0x2f77e5[_0x49d9d1]!==undefined)_0x2905f0[_0x49d9d1]=_0x2f77e5[_0x49d9d1];}return _0x2905f0;}function cloneProfile(_0x5023be){return isRecord(_0x5023be)?{..._0x5023be}:{};}function collectWorkspaceProfileOverrides(_0x2372a3){const _0x30ec3b=a204_0x2e129a,_0x745de8={},_0x13163a=_0x2372a3['str']('env'),_0x4c93f3=_0x2372a3['str'](_0x30ec3b(0x14c)),_0x14aa89=_0x2372a3[_0x30ec3b(0x149)]('defaultFormat'),_0x949792=_0x2372a3[_0x30ec3b(0x160)](_0x30ec3b(0x147)),_0x5384b9=_0x2372a3['str'](_0x30ec3b(0x167)),_0x23cb2a=_0x2372a3['str'](_0x30ec3b(0x148));if(_0x13163a)_0x745de8[_0x30ec3b(0x13f)]=_0x13163a;if(_0x4c93f3)_0x745de8[_0x30ec3b(0x14c)]=_0x4c93f3;if(_0x14aa89)_0x745de8[_0x30ec3b(0x14a)]=_0x14aa89;if(_0x949792!==undefined&&_0x949792!=='')_0x745de8[_0x30ec3b(0x147)]=Number(_0x949792);if(_0x5384b9)_0x745de8[_0x30ec3b(0x167)]=_0x5384b9;if(_0x23cb2a)_0x745de8[_0x30ec3b(0x148)]=_0x23cb2a;return _0x745de8;}function a204_0x5579(_0x4452ba,_0x36cccd){_0x4452ba=_0x4452ba-0x131;const _0x4a3089=a204_0x4a30();let _0x55799d=_0x4a3089[_0x4452ba];return _0x55799d;}async function validateWorkspaceArgs(_0x3528ae){const _0x4dc622=a204_0x2e129a,_0x464a39=_0x3528ae['str'](_0x4dc622(0x15b))[_0x4dc622(0x13e)](),_0x382ae7=_0x3528ae[_0x4dc622(0x149)](_0x4dc622(0x146))[_0x4dc622(0x13e)]();if(!_0x464a39&&!_0x382ae7)throw CliErrors[_0x4dc622(0x131)](_0x4dc622(0x132),_0x4dc622(0x138)+CLI_BIN_NAME+_0x4dc622(0x15e)+CLI_BIN_NAME+_0x4dc622(0x144));if(_0x382ae7)assertValidAppcode(_0x382ae7);}function resolveKnownApps(){const _0x235905=a204_0x2e129a,{config:_0x382bc3,layers:_0x6612af}=readRawConfigWithLayers(),_0x1a6bfd=isRecord(_0x382bc3['apps'])?_0x382bc3[_0x235905(0x156)]:{},_0x117ad1=isRecord(_0x6612af['globalConfig'][_0x235905(0x156)])?_0x6612af[_0x235905(0x152)][_0x235905(0x156)]:{};return{..._0x117ad1,..._0x1a6bfd};}async function configureWorkspace(_0x15ce0b,_0x275540){const _0x109f82=a204_0x2e129a,_0x335efa=_0x15ce0b[_0x109f82(0x149)](_0x109f82(0x15b))['trim'](),_0x2511d7=_0x15ce0b['str'](_0x109f82(0x146))['trim'](),_0x105fe8=_0x335efa||_0x2511d7;if(!_0x105fe8)throw CliErrors[_0x109f82(0x131)](_0x109f82(0x132),'Use\x20`'+CLI_BIN_NAME+'\x20workspace\x20init\x20--appcode\x20<code>`\x20or\x20`'+CLI_BIN_NAME+_0x109f82(0x144));if(_0x2511d7)assertValidAppcode(_0x2511d7);const _0x10738d=resolveWriteConfigPath(_0x109f82(0x13d)),_0x3cbe11=readConfigFile(_0x10738d),_0xdc348c=resolveKnownApps(),_0x1ec56d=isRecord(_0x3cbe11[_0x109f82(0x156)])?{..._0x3cbe11[_0x109f82(0x156)]}:{},_0x4e2721=cloneProfile(_0x1ec56d[_0x105fe8]),_0x42f2c7=sanitizeProfile(_0xdc348c[_0x105fe8]),_0x4c8846=_0x2511d7?{}:_0x42f2c7,_0x317bd6=_0x2511d7||_0x4c8846[_0x109f82(0x146)];if(!_0x317bd6){const _0x59c78b=Object['keys'](_0xdc348c),_0x5ba21a=_0x59c78b['length']===0x0?_0x109f82(0x138)+CLI_BIN_NAME+_0x109f82(0x165)+_0x275540+'\x20--app\x20'+_0x105fe8+'\x20--appcode\x20<code>`.':_0x109f82(0x14d)+_0x59c78b[_0x109f82(0x140)](',\x20');throw CliErrors[_0x109f82(0x131)](_0x109f82(0x161)+_0x105fe8+'\x22\x20not\x20found.',_0x5ba21a);}assertValidAppcode(String(_0x317bd6));const _0xa66d46={..._0x4c8846,..._0x4e2721,'appcode':String(_0x317bd6),...collectWorkspaceProfileOverrides(_0x15ce0b)};return _0x1ec56d[_0x105fe8]=_0xa66d46,_0x3cbe11[_0x109f82(0x156)]=_0x1ec56d,normalizeStoredDefaultApp(_0x3cbe11,_0x105fe8),delete _0x3cbe11[_0x109f82(0x146)],delete _0x3cbe11[_0x109f82(0x15b)],_0xa66d46['env']&&(_0x3cbe11[_0x109f82(0x13f)]=_0xa66d46[_0x109f82(0x13f)]),writeConfigFile(_0x10738d,_0x3cbe11),{'ok':!![],'message':_0x109f82(0x155)+(_0x275540==='init'?_0x109f82(0x15f):_0x109f82(0x135))+':\x20'+_0x105fe8+'\x20(appcode:\x20'+_0xa66d46['appcode']+_0x109f82(0x151)+_0x10738d+_0x109f82(0x14b),'data':{'operation':_0x109f82(0x15c)+_0x275540,'configPath':_0x10738d,'app':_0x105fe8,'appcode':_0xa66d46['appcode'],'env':_0xa66d46['env']??null,'credentialsWritten':![]}};}const workspaceInitDefinition={'service':a204_0x2e129a(0x157),'command':a204_0x2e129a(0x136),'description':a204_0x2e129a(0x143),'risk':a204_0x2e129a(0x164),'requiresAuth':![],'requiresAppCode':![],'args':[],'flags':workspaceFlags,'validate':validateWorkspaceArgs,'execute':_0x468600=>configureWorkspace(_0x468600,'init')},workspaceUseDefinition={'service':a204_0x2e129a(0x157),'command':a204_0x2e129a(0x158),'description':a204_0x2e129a(0x150),'risk':a204_0x2e129a(0x164),'requiresAuth':![],'requiresAppCode':![],'args':[],'flags':workspaceFlags,'validate':validateWorkspaceArgs,'execute':_0x358b07=>configureWorkspace(_0x358b07,a204_0x2e129a(0x158))};export const workspaceDefinitions=[workspaceInitDefinition,workspaceUseDefinition,workspaceAddDefinition,workspaceRemoveDefinition];export{WORKSPACE_USAGE};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a205_0x20c601=a205_0x4ef6;function a205_0x4ef6(_0x16ca56,_0x150935){_0x16ca56=_0x16ca56-0x151;const _0x1a5af7=a205_0x1a5a();let _0x4ef63d=_0x1a5af7[_0x16ca56];return _0x4ef63d;}function a205_0x1a5a(){const _0x1a2c5f=['22rqsqyN','262490bPrdnR','workspace\x20remove','remove','1807393WRrFwu','App\x20profile\x20name\x20to\x20remove','write','16daawfK','workspace','6524904LsUTbp','4weXmZT','15842002KZEdzz','1968440ykLuGd','90ptUilQ','98997uSnvme','3194193FqTGCf'];a205_0x1a5a=function(){return _0x1a2c5f;};return a205_0x1a5a();}(function(_0x4d68a5,_0xd7ae03){const _0x31aa67=a205_0x4ef6,_0x3923cf=_0x4d68a5();while(!![]){try{const _0x234367=-parseInt(_0x31aa67(0x151))/0x1*(-parseInt(_0x31aa67(0x153))/0x2)+parseInt(_0x31aa67(0x152))/0x3*(parseInt(_0x31aa67(0x15d))/0x4)+-parseInt(_0x31aa67(0x15f))/0x5+parseInt(_0x31aa67(0x15c))/0x6+parseInt(_0x31aa67(0x157))/0x7*(-parseInt(_0x31aa67(0x15a))/0x8)+-parseInt(_0x31aa67(0x160))/0x9*(parseInt(_0x31aa67(0x154))/0xa)+-parseInt(_0x31aa67(0x15e))/0xb;if(_0x234367===_0xd7ae03)break;else _0x3923cf['push'](_0x3923cf['shift']());}catch(_0x37e24d){_0x3923cf['push'](_0x3923cf['shift']());}}}(a205_0x1a5a,0x996c8));import{buildAppRemoveFlags,runAppRemove,validateAppName}from'../../commands/common/app-registry.js';export const workspaceRemoveDefinition={'service':a205_0x20c601(0x15b),'command':a205_0x20c601(0x156),'description':'Remove\x20an\x20app\x20profile\x20from\x20the\x20current\x20workspace\x20(or\x20--global)','risk':a205_0x20c601(0x159),'requiresAuth':![],'requiresAppCode':![],'args':[{'name':'name','description':a205_0x20c601(0x158),'required':!![]}],'flags':buildAppRemoveFlags(),'validate':_0x590ac7=>validateAppName(_0x590ac7,a205_0x20c601(0x155)),'execute':_0x2b282c=>runAppRemove(_0x2b282c,a205_0x20c601(0x155))};
|