@lovrabet/rabetbase-cli 2.4.1 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/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/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/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/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/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.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/react/create.js +1 -1
- package/lib/commands/page/react/detail.js +1 -1
- package/lib/commands/page/react/list.js +1 -1
- package/lib/commands/page/react/publish.js +1 -1
- package/lib/commands/page/react/shared.js +1 -1
- package/lib/commands/page/react/syntax.js +1 -1
- package/lib/commands/page/react/template.js +1 -1
- package/lib/commands/page/react/update.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/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/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/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.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/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
- package/skills/rabetbase.manifest.json +3 -3
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a170_0x4da3eb=a170_0x4d33;function a170_0x4d33(_0x529a2e,_0x2b5f3d){_0x529a2e=_0x529a2e-0x113;const _0x45889b=a170_0x4588();let _0x4d3315=_0x45889b[_0x529a2e];return _0x4d3315;}(function(_0x4732d2,_0x1ce1d2){const _0x3fcb77=a170_0x4d33,_0xf5f428=_0x4732d2();while(!![]){try{const _0x12d1f2=parseInt(_0x3fcb77(0x16f))/0x1*(parseInt(_0x3fcb77(0x159))/0x2)+-parseInt(_0x3fcb77(0x116))/0x3*(-parseInt(_0x3fcb77(0x125))/0x4)+-parseInt(_0x3fcb77(0x174))/0x5+-parseInt(_0x3fcb77(0x14b))/0x6*(parseInt(_0x3fcb77(0x11d))/0x7)+parseInt(_0x3fcb77(0x170))/0x8+-parseInt(_0x3fcb77(0x15c))/0x9*(-parseInt(_0x3fcb77(0x16b))/0xa)+-parseInt(_0x3fcb77(0x149))/0xb;if(_0x12d1f2===_0x1ce1d2)break;else _0xf5f428['push'](_0xf5f428['shift']());}catch(_0x159b9d){_0xf5f428['push'](_0xf5f428['shift']());}}}(a170_0x4588,0x7a654));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';function a170_0x4588(){const _0xba3ef0=['values','Async\x20Tasks','rabetbase\x20run\x20preview','start','1633500Swxzqf','\x20\x20[write]','1838814EPTayZ','knowledge-base:list','Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages','Run\x20any\x20package.json\x20script','rabetbase\x20project\x20create\x20<project-name>','Permissions','rabetbase\x20kb\x20update','<script>','bff:new','length','rabetbase\x20run\x20build','map','\x20\x20[high-risk-write]','app:add','12ozsfkH','Runtime\x20App\x20Config\x20Management','rabetbase\x20workspace\x20remove\x20<name>','143433YdOYpy','Workspace','rabetbase\x20menu\x20asset-update','Roles','sql:save','run','rabetbase\x20kb\x20create','app:use','rabetbase\x20workspace\x20init\x20--appcode\x20<code>','Notification\x20Configuration','API\x20Development','push','menu:update','login','rabetbase\x20cli-skill\x20install','220PSbRrZ','install','`rabetbase\x20','knowledge-base:detail','9363iGdeOt','1994944eUSUDq','rabetbase\x20kb\x20detail','Authentication','set','1330010YRgXSq','knowledge-base:delete','Schema','rabetbase\x20kb\x20list','Logs','4731NITgPy','Code\x20Generation','skill:install','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','Quick\x20Start','sql:new','rabetbase\x20app\x20list\x20--remote','7jvohOV','knowledge-base:update','CLI\x20Built-in\x20Skill','App\x20Management','get','create','File','risk','1436MfaWBj','has','knowledge-base:create','Company\x20Knowledge\x20Base','rabetbase\x20kb\x20delete','preview','BFF\x20Scripts','Tenant\x20Members','read','service','logout','wildcardDef','Menu','description','hidden','filter','rabetbase\x20sql\x20create','skill:','Database\x20Connections','rabetbase\x20auth\x20logout','SQL\x20Queries','Use\x20`','Configuration','app:remove','project:init','rabetbase\x20workspace\x20use\x20--app\x20<name>','command','isSingleCommand','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','Project','\x20\x20[','commands'];a170_0x4588=function(){return _0xba3ef0;};return a170_0x4588();}import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x1e7eff){const _0x4fec83=a170_0x4d33;for(const _0x138023 of _0x1e7eff){definitions['set'](_0x138023[_0x4fec83(0x12e)]+':'+_0x138023[_0x4fec83(0x13f)],_0x138023);let _0x3401af=serviceGroups[_0x4fec83(0x121)](_0x138023[_0x4fec83(0x12e)]);!_0x3401af&&(_0x3401af=[],serviceGroups[_0x4fec83(0x173)](_0x138023['service'],_0x3401af)),_0x3401af[_0x4fec83(0x167)](_0x138023);}}function registerDeclarativeService(_0x48029b,_0x26d6bb,_0x414f74){const _0xc7766d=a170_0x4d33;registerDefinitions(_0x26d6bb);_0x414f74?.[_0xc7766d(0x130)]&®isterDefinitions([_0x414f74[_0xc7766d(0x130)]]);const _0x1ad7f7=_0x1566aa=>_0x1566aa===_0xc7766d(0x12d)?'':_0x1566aa==='write'?_0xc7766d(0x14a):_0xc7766d(0x157),_0x1ae170={'service':_0x26d6bb[0x0][_0xc7766d(0x12e)],'label':_0x48029b,'commands':_0x26d6bb[_0xc7766d(0x134)](_0x53865=>!_0x53865[_0xc7766d(0x133)])[_0xc7766d(0x156)](_0x11a675=>({'command':_0x11a675[_0xc7766d(0x13f)],'description':_0x11a675[_0xc7766d(0x132)],'tag':_0x1ad7f7(_0x11a675[_0xc7766d(0x124)])})),'declarative':!![],'defaultCommand':_0x414f74?.['defaultCommand']??(_0x414f74?.[_0xc7766d(0x140)]?_0x26d6bb[0x0]['command']:undefined),'wildcardDef':_0x414f74?.[_0xc7766d(0x130)],'isSingleCommand':_0x414f74?.['isSingleCommand']};serviceRegistry[_0xc7766d(0x167)](_0x1ae170),serviceByName['set'](_0x1ae170[_0xc7766d(0x12e)],_0x1ae170);}registerDeclarativeService(a170_0x4da3eb(0x11a),initDefinitions,{'defaultCommand':a170_0x4da3eb(0x161),'isSingleCommand':!![]}),registerDeclarativeService(a170_0x4da3eb(0x142),projectDefinitions),registerDeclarativeService(a170_0x4da3eb(0x15d),workspaceDefinitions),registerDeclarativeService(a170_0x4da3eb(0x120),appDefinitions),registerDeclarativeService(a170_0x4da3eb(0x172),authDefinitions,{'defaultCommand':a170_0x4da3eb(0x169)}),registerDeclarativeService(a170_0x4da3eb(0x12c),tenantDefinitions),registerDeclarativeService('User\x20Accounts',userAccountDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a170_0x4da3eb(0x14d),pageDefinitions),registerDeclarativeService(a170_0x4da3eb(0x166),apiDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a170_0x4da3eb(0x12b),bffDefinitions),registerDeclarativeService(a170_0x4da3eb(0x165),notificationDefinitions),registerDeclarativeService(a170_0x4da3eb(0x139),sqlDefinitions),registerDeclarativeService(a170_0x4da3eb(0x137),dbDefinitions),registerDeclarativeService(a170_0x4da3eb(0x131),menuDefinitions),registerDeclarativeService(a170_0x4da3eb(0x146),taskDefinitions),registerDeclarativeService(a170_0x4da3eb(0x15f),roleDefinitions),registerDeclarativeService(a170_0x4da3eb(0x150),permitDefinitions),registerDeclarativeService(a170_0x4da3eb(0x15a),appConfigDefinitions),registerDeclarativeService(a170_0x4da3eb(0x128),kbDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a170_0x4da3eb(0x123),fileDefinitions),registerDeclarativeService('OCR',ocrDefinitions),registerDeclarativeService(a170_0x4da3eb(0x117),codegenDefinitions),registerDeclarativeService(a170_0x4da3eb(0x13b),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x4da3eb(0x113),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x4da3eb(0x11f),cliSkillDefinitions,{'defaultCommand':a170_0x4da3eb(0x16c)}),registerDeclarativeService(a170_0x4da3eb(0x115),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a170_0x4da3eb(0x154)]-0x1];last[a170_0x4da3eb(0x144)]=[{'command':a170_0x4da3eb(0x152),'description':a170_0x4da3eb(0x14e),'tag':a170_0x4da3eb(0x143)+runDefinition['risk']+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a170_0x4da3eb(0x160),a170_0x4da3eb(0x141)],[a170_0x4da3eb(0x153),'rabetbase\x20bff\x20create'],[a170_0x4da3eb(0x11b),a170_0x4da3eb(0x135)],[a170_0x4da3eb(0x168),a170_0x4da3eb(0x15e)],[a170_0x4da3eb(0x13d),a170_0x4da3eb(0x164)],[a170_0x4da3eb(0x136),'rabetbase\x20cli-skill\x20install'],[a170_0x4da3eb(0x118),a170_0x4da3eb(0x16a)],['skills:',a170_0x4da3eb(0x16a)],['skills:install',a170_0x4da3eb(0x16a)],['app:remote',a170_0x4da3eb(0x11c)],[a170_0x4da3eb(0x163),a170_0x4da3eb(0x13e)],[a170_0x4da3eb(0x158),a170_0x4da3eb(0x119)],[a170_0x4da3eb(0x13c),a170_0x4da3eb(0x15b)],[a170_0x4da3eb(0x14c),a170_0x4da3eb(0x114)],[a170_0x4da3eb(0x16e),a170_0x4da3eb(0x171)],[a170_0x4da3eb(0x127),a170_0x4da3eb(0x162)],[a170_0x4da3eb(0x11e),a170_0x4da3eb(0x151)],[a170_0x4da3eb(0x175),a170_0x4da3eb(0x129)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a170_0x4da3eb(0x122),a170_0x4da3eb(0x14f)],[a170_0x4da3eb(0x148),'rabetbase\x20run\x20start'],['build',a170_0x4da3eb(0x155)],[a170_0x4da3eb(0x12a),a170_0x4da3eb(0x147)],[a170_0x4da3eb(0x12f),a170_0x4da3eb(0x138)]]);export function resolveRemovedCommand(_0x319fa4,_0x647b33){const _0x4b5030=a170_0x4da3eb;if(!_0x319fa4)return undefined;const _0x3e60af=REMOVED_COMMAND_REPLACEMENTS[_0x4b5030(0x121)](_0x319fa4+':'+(_0x647b33??'')),_0x36da2d=REMOVED_FLAT_COMMAND_REPLACEMENTS['get'](_0x319fa4),_0x40b8dc=_0x3e60af??_0x36da2d;if(!_0x40b8dc)return undefined;const _0x1a3a22=_0x36da2d?_0x319fa4:_0x647b33?_0x319fa4+'\x20'+_0x647b33:_0x319fa4;return{'command':_0x1a3a22,'message':_0x4b5030(0x16d)+_0x1a3a22+'`\x20has\x20been\x20removed.','hint':_0x4b5030(0x13a)+_0x40b8dc+'`\x20instead.'};}export function findDefinition(_0x2e976c,_0x2dc4d2){return definitions['get'](_0x2e976c+':'+_0x2dc4d2);}export function isKnownService(_0x45e4f6){const _0x5c7bb9=a170_0x4da3eb;return serviceByName[_0x5c7bb9(0x126)](_0x45e4f6);}export function isDeclarativeService(_0x4c88ed){const _0xdaa28c=a170_0x4da3eb;return serviceGroups[_0xdaa28c(0x126)](_0x4c88ed)||serviceByName[_0xdaa28c(0x121)](_0x4c88ed)?.[_0xdaa28c(0x130)]!==undefined;}export function getServiceEntry(_0x3a9bf3){const _0x189d89=a170_0x4da3eb;return serviceByName[_0x189d89(0x121)](_0x3a9bf3);}export function getLegacyHandler(_0x39607d,_0x5dd8d6){return undefined;}export function getAllDefinitions(){const _0x153dd2=a170_0x4da3eb;return Array['from'](definitions[_0x153dd2(0x145)]());}
|
|
1
|
+
const a170_0x280a94=a170_0x21b3;(function(_0x28e4fe,_0x587901){const _0x1f0a9b=a170_0x21b3,_0x13497a=_0x28e4fe();while(!![]){try{const _0x570ec4=parseInt(_0x1f0a9b(0xdb))/0x1+-parseInt(_0x1f0a9b(0xb3))/0x2+parseInt(_0x1f0a9b(0xa0))/0x3+parseInt(_0x1f0a9b(0xaf))/0x4+-parseInt(_0x1f0a9b(0xba))/0x5+parseInt(_0x1f0a9b(0xa3))/0x6+parseInt(_0x1f0a9b(0xb1))/0x7*(-parseInt(_0x1f0a9b(0xc6))/0x8);if(_0x570ec4===_0x587901)break;else _0x13497a['push'](_0x13497a['shift']());}catch(_0x106e16){_0x13497a['push'](_0x13497a['shift']());}}}(a170_0x14c2,0x68669));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';function a170_0x14c2(){const _0x5d7151=['Project','rabetbase\x20sql\x20create','build','rabetbase\x20workspace\x20remove\x20<name>','sql:new','24CzdnEW','Code\x20Generation','Tenant\x20Members','Use\x20`','install','Schema','Platform\x20Issue','Quick\x20Start','Instant\x20API','has','rabetbase\x20auth\x20logout','Async\x20Tasks','wildcardDef','Roles','Permissions','User\x20Accounts','rabetbase\x20kb\x20update','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','BFF\x20Scripts','rabetbase\x20kb\x20delete','knowledge-base:detail','72276ayuarg','knowledge-base:list','\x20\x20[high-risk-write]','rabetbase\x20workspace\x20use\x20--app\x20<name>','show','push','write','app:remote','Company\x20Knowledge\x20Base','CLI\x20Built-in\x20Skill','commands','rabetbase\x20app\x20list\x20--remote','skills:','isSingleCommand','defaultCommand','filter','Dataset\x20&\x20Operations','App\x20Management','project:init','rabetbase\x20cli-skill\x20install','Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages','API\x20Development','get','app:use','\x20\x20[','length','rabetbase\x20run\x20start','skill:install','rabetbase\x20kb\x20detail','Run\x20any\x20package.json\x20script','login','1881372rkbBti','risk','app:add','3331134QkDZcV','rabetbase\x20project\x20create\x20<project-name>','knowledge-base:create','Configuration','service','rabetbase\x20kb\x20create','values','read','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','app:remove','Logs','Menu','126204diEisE','OCR','529403Fvsljc','from','994846zaPHex','rabetbase\x20menu\x20asset-update','Self\x20Update','bff:new','set','logout','Notification\x20Configuration','671025QimUmS','Runtime\x20App\x20Config\x20Management','start','command','create','`\x20instead.','knowledge-base:update'];a170_0x14c2=function(){return _0x5d7151;};return a170_0x14c2();}import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';function a170_0x21b3(_0x184d13,_0x47b94b){_0x184d13=_0x184d13-0x98;const _0x14c22b=a170_0x14c2();let _0x21b332=_0x14c22b[_0x184d13];return _0x21b332;}import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x138904){const _0x97fe08=a170_0x21b3;for(const _0x2551bb of _0x138904){definitions[_0x97fe08(0xb7)](_0x2551bb[_0x97fe08(0xa7)]+':'+_0x2551bb[_0x97fe08(0xbd)],_0x2551bb);let _0x573f2a=serviceGroups[_0x97fe08(0xf1)](_0x2551bb['service']);!_0x573f2a&&(_0x573f2a=[],serviceGroups[_0x97fe08(0xb7)](_0x2551bb[_0x97fe08(0xa7)],_0x573f2a)),_0x573f2a[_0x97fe08(0xe0)](_0x2551bb);}}function registerDeclarativeService(_0x10a235,_0x2dd5e3,_0x1a4480){const _0x6d1320=a170_0x21b3;registerDefinitions(_0x2dd5e3);_0x1a4480?.[_0x6d1320(0xd2)]&®isterDefinitions([_0x1a4480[_0x6d1320(0xd2)]]);const _0x120a11=_0x3b8238=>_0x3b8238===_0x6d1320(0xaa)?'':_0x3b8238===_0x6d1320(0xe1)?'\x20\x20[write]':_0x6d1320(0xdd),_0x44f94e={'service':_0x2dd5e3[0x0][_0x6d1320(0xa7)],'label':_0x10a235,'commands':_0x2dd5e3[_0x6d1320(0xea)](_0x344717=>!_0x344717['hidden'])['map'](_0xa4a0f2=>({'command':_0xa4a0f2[_0x6d1320(0xbd)],'description':_0xa4a0f2['description'],'tag':_0x120a11(_0xa4a0f2[_0x6d1320(0xa1)])})),'declarative':!![],'defaultCommand':_0x1a4480?.[_0x6d1320(0xe9)]??(_0x1a4480?.[_0x6d1320(0xe8)]?_0x2dd5e3[0x0][_0x6d1320(0xbd)]:undefined),'wildcardDef':_0x1a4480?.[_0x6d1320(0xd2)],'isSingleCommand':_0x1a4480?.['isSingleCommand']};serviceRegistry[_0x6d1320(0xe0)](_0x44f94e),serviceByName[_0x6d1320(0xb7)](_0x44f94e[_0x6d1320(0xa7)],_0x44f94e);}registerDeclarativeService(a170_0x280a94(0xcd),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xc1),projectDefinitions),registerDeclarativeService('Workspace',workspaceDefinitions),registerDeclarativeService(a170_0x280a94(0xec),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a170_0x280a94(0x9f)}),registerDeclarativeService(a170_0x280a94(0xc8),tenantDefinitions),registerDeclarativeService(a170_0x280a94(0xd5),userAccountDefinitions),registerDeclarativeService(a170_0x280a94(0xeb),datasetDefinitions),registerDeclarativeService(a170_0x280a94(0xef),pageDefinitions),registerDeclarativeService(a170_0x280a94(0xf0),apiDefinitions),registerDeclarativeService(a170_0x280a94(0xce),dataDefinitions),registerDeclarativeService(a170_0x280a94(0xd8),bffDefinitions),registerDeclarativeService(a170_0x280a94(0xb9),notificationDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService(a170_0x280a94(0xae),menuDefinitions),registerDeclarativeService(a170_0x280a94(0xd1),taskDefinitions),registerDeclarativeService(a170_0x280a94(0xd3),roleDefinitions),registerDeclarativeService(a170_0x280a94(0xd4),permitDefinitions),registerDeclarativeService(a170_0x280a94(0xbb),appConfigDefinitions),registerDeclarativeService(a170_0x280a94(0xe3),kbDefinitions),registerDeclarativeService(a170_0x280a94(0xcc),issueDefinitions),registerDeclarativeService('File',fileDefinitions),registerDeclarativeService(a170_0x280a94(0xb0),ocrDefinitions),registerDeclarativeService(a170_0x280a94(0xc7),codegenDefinitions),registerDeclarativeService(a170_0x280a94(0xa6),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xcb),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xb5),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0x280a94(0xe4),cliSkillDefinitions,{'defaultCommand':a170_0x280a94(0xca)}),registerDeclarativeService(a170_0x280a94(0xad),logsDefinitions,{'defaultCommand':a170_0x280a94(0xdf)}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a170_0x280a94(0x9a)]-0x1];last[a170_0x280a94(0xe5)]=[{'command':'<script>','description':a170_0x280a94(0x9e),'tag':a170_0x280a94(0x99)+runDefinition['risk']+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([['sql:save',a170_0x280a94(0xd7)],[a170_0x280a94(0xb6),'rabetbase\x20bff\x20create'],[a170_0x280a94(0xc5),a170_0x280a94(0xc2)],['menu:update',a170_0x280a94(0xb4)],[a170_0x280a94(0xed),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],['skill:',a170_0x280a94(0xee)],[a170_0x280a94(0x9c),a170_0x280a94(0xee)],[a170_0x280a94(0xe7),a170_0x280a94(0xee)],['skills:install',a170_0x280a94(0xee)],[a170_0x280a94(0xe2),a170_0x280a94(0xe6)],[a170_0x280a94(0x98),a170_0x280a94(0xde)],[a170_0x280a94(0xa2),a170_0x280a94(0xab)],[a170_0x280a94(0xac),a170_0x280a94(0xc4)],[a170_0x280a94(0xdc),'rabetbase\x20kb\x20list'],[a170_0x280a94(0xda),a170_0x280a94(0x9d)],[a170_0x280a94(0xa5),a170_0x280a94(0xa8)],[a170_0x280a94(0xc0),a170_0x280a94(0xd6)],['knowledge-base:delete',a170_0x280a94(0xd9)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a170_0x280a94(0xbe),a170_0x280a94(0xa4)],[a170_0x280a94(0xbc),a170_0x280a94(0x9b)],[a170_0x280a94(0xc3),'rabetbase\x20run\x20build'],['preview','rabetbase\x20run\x20preview'],[a170_0x280a94(0xb8),a170_0x280a94(0xd0)]]);export function resolveRemovedCommand(_0x49c26b,_0x4b1b9c){const _0x3b79ef=a170_0x280a94;if(!_0x49c26b)return undefined;const _0x175709=REMOVED_COMMAND_REPLACEMENTS[_0x3b79ef(0xf1)](_0x49c26b+':'+(_0x4b1b9c??'')),_0x540db0=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x3b79ef(0xf1)](_0x49c26b),_0x46863e=_0x175709??_0x540db0;if(!_0x46863e)return undefined;const _0x2b9a2f=_0x540db0?_0x49c26b:_0x4b1b9c?_0x49c26b+'\x20'+_0x4b1b9c:_0x49c26b;return{'command':_0x2b9a2f,'message':'`rabetbase\x20'+_0x2b9a2f+'`\x20has\x20been\x20removed.','hint':_0x3b79ef(0xc9)+_0x46863e+_0x3b79ef(0xbf)};}export function findDefinition(_0x30ae22,_0x374b87){return definitions['get'](_0x30ae22+':'+_0x374b87);}export function isKnownService(_0xf8da1c){const _0x40d79d=a170_0x280a94;return serviceByName[_0x40d79d(0xcf)](_0xf8da1c);}export function isDeclarativeService(_0x4e00c6){const _0x4d231d=a170_0x280a94;return serviceGroups[_0x4d231d(0xcf)](_0x4e00c6)||serviceByName[_0x4d231d(0xf1)](_0x4e00c6)?.[_0x4d231d(0xd2)]!==undefined;}export function getServiceEntry(_0x11fdb6){const _0x43a51e=a170_0x280a94;return serviceByName[_0x43a51e(0xf1)](_0x11fdb6);}export function getLegacyHandler(_0x1eb7bc,_0xbe9510){return undefined;}export function getAllDefinitions(){const _0x4a21ed=a170_0x280a94;return Array[_0x4a21ed(0xb2)](definitions[_0x4a21ed(0xa9)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a171_0x2dd705=a171_0x110d;(function(_0x34fd60,_0x2dc132){const _0x5298d5=a171_0x110d,_0x2c128c=_0x34fd60();while(!![]){try{const _0x20f708=-parseInt(_0x5298d5(0x1fd))/0x1*(parseInt(_0x5298d5(0x207))/0x2)+parseInt(_0x5298d5(0x206))/0x3+parseInt(_0x5298d5(0x203))/0x4+parseInt(_0x5298d5(0x208))/0x5+-parseInt(_0x5298d5(0x209))/0x6+-parseInt(_0x5298d5(0x20e))/0x7*(-parseInt(_0x5298d5(0x202))/0x8)+-parseInt(_0x5298d5(0x20b))/0x9*(parseInt(_0x5298d5(0x1f3))/0xa);if(_0x20f708===_0x2dc132)break;else _0x2c128c['push'](_0x2c128c['shift']());}catch(_0x130b25){_0x2c128c['push'](_0x2c128c['shift']());}}}(a171_0x5f0a,0xd00a7));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a171_0x5f0a(){const _0x4bb09d=['str','/smartapi/permit/role/create','9297967zyarMm','236130diSwjl','Created\x20role\x20','role','\x20(id=','create','length','POST','appCode','name','remark','1HVSklA','flagMissing','trim','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','Pass\x20--name\x20<roleName>.','8djVEZT','6241824zmoqLL','CUSTOM','roleName','557670DhSsKX','134716sETvFo','3174655toblIQ','6397896BbOKVM','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','657HDSUzy'];a171_0x5f0a=function(){return _0x4bb09d;};return a171_0x5f0a();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a171_0x110d(_0x258eab,_0x349cca){_0x258eab=_0x258eab-0x1f3;const _0x5f0a17=a171_0x5f0a();let _0x110d09=_0x5f0a17[_0x258eab];return _0x110d09;}import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a171_0x2dd705(0x20d);function readName(_0x5c0a90){const _0x3a4dc7=a171_0x2dd705,_0x434980=_0x5c0a90[_0x3a4dc7(0x20c)](_0x3a4dc7(0x1fb))['trim']();if(!_0x434980)throw CliErrors[_0x3a4dc7(0x1fe)](_0x3a4dc7(0x1fb),_0x3a4dc7(0x201));if(_0x434980[_0x3a4dc7(0x1f8)]>0x40)throw CliErrors['validation'](_0x3a4dc7(0x200));return _0x434980;}export const roleCreate={'service':a171_0x2dd705(0x1f5),'command':'create','description':a171_0x2dd705(0x20a),'risk':'write','flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x454703){readName(_0x454703);},async 'dryRun'(_0x7604b5){const _0x3dd1a9=a171_0x2dd705,_0x4210b2=readName(_0x7604b5),_0x442d98=_0x7604b5[_0x3dd1a9(0x20c)]('remark')[_0x3dd1a9(0x1ff)]()||undefined;return asDryRunResult({'operation':'create','selector':{'appCode':_0x7604b5[_0x3dd1a9(0x1fa)],'roleName':_0x4210b2},'before':null,'after':{'roleName':_0x4210b2,'roleType':_0x3dd1a9(0x204),'remark':_0x442d98},'dryRun':!![],'backend':{'method':'POST','path':CREATE_PATH},'warnings':[]},{'method':_0x3dd1a9(0x1f9),'url':CREATE_PATH});},async 'execute'(_0x576d59){const _0x86fcda=a171_0x2dd705,_0x5da701=readName(_0x576d59),_0x158cd0=_0x576d59[_0x86fcda(0x20c)](_0x86fcda(0x1fc))[_0x86fcda(0x1ff)]()||undefined,_0x10faba=await createAppRole({'appCode':_0x576d59[_0x86fcda(0x1fa)],'roleName':_0x5da701,..._0x158cd0?{'remark':_0x158cd0}:{}});return{'ok':!![],'data':{'operation':_0x86fcda(0x1f7),'selector':{'appCode':_0x576d59[_0x86fcda(0x1fa)],'roleId':_0x10faba['id'],'roleName':_0x5da701},'before':null,'after':projectRole(_0x10faba),'dryRun':![],'backend':{'method':_0x86fcda(0x1f9),'path':CREATE_PATH},'warnings':[]},'message':_0x86fcda(0x1f4)+_0x10faba[_0x86fcda(0x205)]+_0x86fcda(0x1f6)+_0x10faba['id']+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a172_0x2b0ff3=a172_0x1604;(function(_0x4b4d11,_0x124950){const _0x11f2f6=a172_0x1604,_0x4cf02d=_0x4b4d11();while(!![]){try{const _0x84983a=parseInt(_0x11f2f6(0x98))/0x1*(parseInt(_0x11f2f6(0x9e))/0x2)+parseInt(_0x11f2f6(0x9a))/0x3*(-parseInt(_0x11f2f6(0xaa))/0x4)+parseInt(_0x11f2f6(0x93))/0x5+-parseInt(_0x11f2f6(0xa6))/0x6*(parseInt(_0x11f2f6(0xa4))/0x7)+-parseInt(_0x11f2f6(0xa9))/0x8*(parseInt(_0x11f2f6(0xa5))/0x9)+parseInt(_0x11f2f6(0xa0))/0xa*(-parseInt(_0x11f2f6(0x94))/0xb)+parseInt(_0x11f2f6(0xa1))/0xc;if(_0x84983a===_0x124950)break;else _0x4cf02d['push'](_0x4cf02d['shift']());}catch(_0x3e187d){_0x4cf02d['push'](_0x4cf02d['shift']());}}}(a172_0x2247,0xa642a));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a172_0x2247(){const _0x47853e=['336290yppgYo','18624816mLOpHP','num','high-risk-write','14mVCYyq','5310261PduhvM','1960362lxlUJs','POST','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','8jHPFif','188UKlFFO','2950265uCpPYO','22ZrDwmd','userCount','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','role','1MCrrUK','appCode','13773xGYoDY','\x20(id=','roleName','Deleted\x20role\x20','130798RFBCwA','delete'];a172_0x2247=function(){return _0x47853e;};return a172_0x2247();}function a172_0x1604(_0x423779,_0x5230f8){_0x423779=_0x423779-0x93;const _0x224750=a172_0x2247();let _0x16042c=_0x224750[_0x423779];return _0x16042c;}const DELETE_PATH='/smartapi/permit/role/delete';export const roleDelete={'service':a172_0x2b0ff3(0x97),'command':a172_0x2b0ff3(0x9f),'description':a172_0x2b0ff3(0xa8),'risk':a172_0x2b0ff3(0xa3),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x479a6b){const _0x434aae=a172_0x2b0ff3,_0x329a34=_0x479a6b[_0x434aae(0xa2)]('id'),_0x36d7a4=await getRoleById(_0x479a6b['appCode'],_0x329a34);return assertCustomRole(_0x36d7a4,_0x434aae(0x9f)),asDryRunResult({'operation':_0x434aae(0x9f),'selector':{'appCode':_0x479a6b['appCode'],'roleId':_0x329a34,'roleName':_0x36d7a4[_0x434aae(0x9c)]},'before':projectRole(_0x36d7a4),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x36d7a4['userCount']>0x0?['Role\x20still\x20has\x20'+_0x36d7a4[_0x434aae(0x95)]+_0x434aae(0x96)]:[]},{'method':'POST','url':DELETE_PATH});},async 'execute'(_0xe09d2){const _0xe24e53=a172_0x2b0ff3,_0xdc0c2a=_0xe09d2[_0xe24e53(0xa2)]('id'),_0x55bca6=await getRoleById(_0xe09d2[_0xe24e53(0x99)],_0xdc0c2a);return assertCustomRole(_0x55bca6,_0xe24e53(0x9f)),await deleteAppRole(_0xdc0c2a),{'ok':!![],'data':{'operation':_0xe24e53(0x9f),'selector':{'appCode':_0xe09d2[_0xe24e53(0x99)],'roleId':_0xdc0c2a,'roleName':_0x55bca6[_0xe24e53(0x9c)]},'before':projectRole(_0x55bca6),'after':null,'dryRun':![],'backend':{'method':_0xe24e53(0xa7),'path':DELETE_PATH},'warnings':[]},'message':_0xe24e53(0x9d)+_0x55bca6[_0xe24e53(0x9c)]+_0xe24e53(0x9b)+_0xdc0c2a+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a173_0x4e4eca=a173_0x505a;function a173_0x505a(_0x1adec0,_0x2f3363){_0x1adec0=_0x1adec0-0xe0;const _0x3dad37=a173_0x3dad();let _0x505a23=_0x3dad37[_0x1adec0];return _0x505a23;}(function(_0x4c2d4f,_0xb8bd62){const _0x48e118=a173_0x505a,_0x3ec3b7=_0x4c2d4f();while(!![]){try{const _0x1a2d9d=parseInt(_0x48e118(0xe3))/0x1*(-parseInt(_0x48e118(0xe1))/0x2)+-parseInt(_0x48e118(0xe9))/0x3+-parseInt(_0x48e118(0xe5))/0x4*(-parseInt(_0x48e118(0xe8))/0x5)+parseInt(_0x48e118(0xef))/0x6*(-parseInt(_0x48e118(0xe6))/0x7)+parseInt(_0x48e118(0xe4))/0x8+-parseInt(_0x48e118(0xee))/0x9+-parseInt(_0x48e118(0xe7))/0xa*(-parseInt(_0x48e118(0xed))/0xb);if(_0x1a2d9d===_0xb8bd62)break;else _0x3ec3b7['push'](_0x3ec3b7['shift']());}catch(_0x1d2232){_0x3ec3b7['push'](_0x3ec3b7['shift']());}}}(a173_0x3dad,0x3cfdc));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a173_0x3dad(){const _0x2ea6c5=['64722gnvKlb','num','25772HgNeMw','roleName','11qjUhKI','919744ZkoWFI','431668yVOvyy','308WYSLvx','10SlpYqw','5CEhvwf','30327EaZyph','appCode','role','read','8047479TgptNC','703539rvmSQX'];a173_0x3dad=function(){return _0x2ea6c5;};return a173_0x3dad();}export const roleDetail={'service':a173_0x4e4eca(0xeb),'command':'detail','description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a173_0x4e4eca(0xec),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x59a426){const _0x206096=a173_0x4e4eca,_0x40a096=_0x59a426[_0x206096(0xe0)]('id'),_0x2daa02=await getRoleById(_0x59a426[_0x206096(0xea)],_0x40a096);return{'ok':!![],'data':{'role':projectRole(_0x2daa02)},'message':'Role\x20'+_0x2daa02[_0x206096(0xe2)]+'\x20('+_0x2daa02['roleType']+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x322763,_0x2788d8){const _0x3c0450=a174_0x9e71,_0x38c0a0=_0x322763();while(!![]){try{const _0x15f297=parseInt(_0x3c0450(0x160))/0x1*(parseInt(_0x3c0450(0x162))/0x2)+parseInt(_0x3c0450(0x15b))/0x3*(-parseInt(_0x3c0450(0x161))/0x4)+parseInt(_0x3c0450(0x163))/0x5+-parseInt(_0x3c0450(0x15f))/0x6+-parseInt(_0x3c0450(0x15d))/0x7+parseInt(_0x3c0450(0x15c))/0x8+parseInt(_0x3c0450(0x15e))/0x9;if(_0x15f297===_0x2788d8)break;else _0x38c0a0['push'](_0x38c0a0['shift']());}catch(_0x420ead){_0x38c0a0['push'](_0x38c0a0['shift']());}}}(a174_0x4b3c,0xb7727));function a174_0x4b3c(){const _0x29270a=['21972yScoQg','1545952PwhGGy','9929381qHhnjG','30091095nphJcO','8758974LvYZhr','364031LFWCXY','172cIjzof','2gnBsWy','219565VVIVkz'];a174_0x4b3c=function(){return _0x29270a;};return a174_0x4b3c();}import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a174_0x9e71(_0x5d5ecc,_0x4fcf6c){_0x5d5ecc=_0x5d5ecc-0x15b;const _0x4b3c1a=a174_0x4b3c();let _0x9e7171=_0x4b3c1a[_0x5d5ecc];return _0x9e7171;}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a175_0x32e975=a175_0x3c74;(function(_0x3e342a,_0x31cd89){const _0x5c10c4=a175_0x3c74,_0x27331a=_0x3e342a();while(!![]){try{const _0x3f1a07=parseInt(_0x5c10c4(0x134))/0x1+parseInt(_0x5c10c4(0x138))/0x2*(-parseInt(_0x5c10c4(0x13a))/0x3)+parseInt(_0x5c10c4(0x129))/0x4*(-parseInt(_0x5c10c4(0x136))/0x5)+-parseInt(_0x5c10c4(0x13e))/0x6+-parseInt(_0x5c10c4(0x12b))/0x7*(parseInt(_0x5c10c4(0x13c))/0x8)+-parseInt(_0x5c10c4(0x12f))/0x9+parseInt(_0x5c10c4(0x132))/0xa;if(_0x3f1a07===_0x31cd89)break;else _0x27331a['push'](_0x27331a['shift']());}catch(_0x4cfd35){_0x27331a['push'](_0x27331a['shift']());}}}(a175_0x3f3f,0x605e6));function a175_0x3c74(_0x352094,_0x458654){_0x352094=_0x352094-0x128;const _0x3f3f55=a175_0x3f3f();let _0x3c7458=_0x3f3f55[_0x352094];return _0x3c7458;}import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';function a175_0x3f3f(){const _0x38105b=['string','ADMIN','Page\x20size\x20(1-100)','number','includes','map','num','40TOXpYq','pagesize','28WDovGt','Page\x20index\x20(1-based)','Found\x20','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','1890486EaLCxO','str','\x20role(s)','17758540gCiMRK','filter','205259JBqTFl','validation','13340UZVQaR','page','5102CeRSsj','type','519onbFcG','USER','412432FTTgxL','toUpperCase','4212684ApXcln','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','CUSTOM','join','Use\x20one\x20of:\x20','Invalid\x20--type\x20\x22','Filter\x20by\x20role\x20type'];a175_0x3f3f=function(){return _0x38105b;};return a175_0x3f3f();}const ROLE_TYPES=[a175_0x32e975(0x146),'DEV',a175_0x32e975(0x13b),a175_0x32e975(0x140)];export const roleList={'service':'role','command':'list','description':a175_0x32e975(0x13f),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a175_0x32e975(0x139),'type':a175_0x32e975(0x145),'required':![],'description':a175_0x32e975(0x144),'enum':ROLE_TYPES},{'name':a175_0x32e975(0x137),'type':a175_0x32e975(0x148),'description':a175_0x32e975(0x12c),'default':0x1},{'name':a175_0x32e975(0x12a),'type':'number','description':a175_0x32e975(0x147),'default':0x64}],async 'validate'(_0x295f80){const _0x48a0be=a175_0x32e975,_0x465ed5=_0x295f80[_0x48a0be(0x130)](_0x48a0be(0x139))['trim']();if(_0x465ed5&&!ROLE_TYPES[_0x48a0be(0x149)](_0x465ed5['toUpperCase']()))throw CliErrors[_0x48a0be(0x135)](_0x48a0be(0x143)+_0x465ed5+'\x22.',_0x48a0be(0x142)+ROLE_TYPES[_0x48a0be(0x141)](',\x20')+'.');const _0x38d053=_0x295f80[_0x48a0be(0x128)]('page',0x1),_0x4771ff=_0x295f80[_0x48a0be(0x128)](_0x48a0be(0x12a),0x64);if(_0x38d053<0x1)throw CliErrors[_0x48a0be(0x135)](_0x48a0be(0x12e));if(_0x4771ff<0x1||_0x4771ff>0x64)throw CliErrors[_0x48a0be(0x135)]('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x16da12){const _0x582a9d=a175_0x32e975,_0x1a4481=_0x16da12[_0x582a9d(0x128)](_0x582a9d(0x137),0x1)||0x1,_0x58b869=_0x16da12[_0x582a9d(0x128)](_0x582a9d(0x12a),0x64)||0x64,_0x580e3b=_0x16da12[_0x582a9d(0x130)](_0x582a9d(0x139))['trim']()[_0x582a9d(0x13d)](),{items:_0x565d2a,paging:_0x6f685}=await listAppRoles(_0x16da12['appCode'],{'currentPage':_0x1a4481,'pageSize':_0x58b869}),_0x241f8e=_0x580e3b?_0x565d2a[_0x582a9d(0x133)](_0x188172=>_0x188172['roleType']===_0x580e3b):_0x565d2a,_0x454d2c=_0x241f8e[_0x582a9d(0x14a)](projectRole);return{'ok':!![],'data':{'roles':_0x454d2c,'paging':_0x6f685},'message':_0x582a9d(0x12d)+_0x454d2c['length']+_0x582a9d(0x131)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a176_0x4b236c=a176_0x5a2f;(function(_0x33be22,_0x13c3b0){const _0x490442=a176_0x5a2f,_0x22ad9f=_0x33be22();while(!![]){try{const _0x45a44a=parseInt(_0x490442(0xb0))/0x1*(parseInt(_0x490442(0x83))/0x2)+-parseInt(_0x490442(0x9a))/0x3*(parseInt(_0x490442(0x99))/0x4)+parseInt(_0x490442(0x82))/0x5*(-parseInt(_0x490442(0x73))/0x6)+-parseInt(_0x490442(0xa0))/0x7*(parseInt(_0x490442(0x74))/0x8)+parseInt(_0x490442(0xa3))/0x9+parseInt(_0x490442(0x6c))/0xa*(-parseInt(_0x490442(0x6a))/0xb)+-parseInt(_0x490442(0x79))/0xc*(-parseInt(_0x490442(0xa6))/0xd);if(_0x45a44a===_0x13c3b0)break;else _0x22ad9f['push'](_0x22ad9f['shift']());}catch(_0x4a7791){_0x22ad9f['push'](_0x22ad9f['shift']());}}}(a176_0x2030,0x9e958));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';function a176_0x2030(){const _0x39065f=['Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','CUSTOM','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','\x20not\x20found\x20in\x20the\x20user-role\x20list.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','splice','dryRun','string','DEV','Missing\x20user\x20reference.','Pass\x20--role\x20<id|name>.','tenant_code','8896217tkhaZL','\x20member(s)\x20but\x20role\x20has\x20','10vPmyus','number','test','user','Pass\x20--user\x20<id|name>.','\x22\x20is\x20ambiguous\x20(ids:\x20','USER','29730LsgaKn','40zILpjn','No\x20tenant\x20member\x20matches\x20\x22','\x20is\x20not\x20a\x20member\x20of\x20role\x20','Role\x20id\x20(from\x20`role\x20list`)','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','36xxDTMw','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','\x20built-in\x20role\x20','find','tenant','map','Role\x20id\x20','\x22\x20not\x20found\x20in\x20app\x20','285ujwgTY','10GjflFI','Missing\x20role\x20reference.','roleName','flagMissing','trim','str','username','role','permitCount','length','Disambiguate\x20with\x20--role\x20<id>.','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','expect-user-count','validation','POST','toLowerCase','filter','ADMIN','push','userList','includes','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','4504ZjlQSV','2811ddTomL','userId','Role\x20name\x20\x22','totalCount','remark','\x20is\x20already\x20a\x20member\x20of\x20role\x20','1539797eikTsI','Disambiguate\x20with\x20--user\x20<id>.','appCode','272007fuaYgc','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','User\x20','16538691PiUQHN','name','user-add','join',';\x20no\x20change.','Multiple\x20tenant\x20members\x20match\x20\x22','userCount','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','expectUserCount','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','9763espYoZ','flag','roleType','nickname'];a176_0x2030=function(){return _0x39065f;};return a176_0x2030();}import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':a176_0x4b236c(0x77)};export const ROLE_REF_FLAG={'name':a176_0x4b236c(0x8a),'type':a176_0x4b236c(0xbb),'required':!![],'description':a176_0x4b236c(0xb6)};export const USER_REF_FLAG={'name':a176_0x4b236c(0x6f),'type':a176_0x4b236c(0xbb),'required':!![],'description':a176_0x4b236c(0xa4)};export const NAME_FLAG={'name':a176_0x4b236c(0xa7),'type':a176_0x4b236c(0xbb),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a176_0x4b236c(0xa7),'type':'string','required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a176_0x4b236c(0x9e),'type':a176_0x4b236c(0xbb),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a176_0x4b236c(0x6d),'required':![],'description':a176_0x4b236c(0xaf)};export const BUILTIN_ROLE_TYPES=[a176_0x4b236c(0x94),a176_0x4b236c(0xbc),a176_0x4b236c(0x72)];export function isBuiltinRole(_0x1829ed){const _0x4d2ca6=a176_0x4b236c;return BUILTIN_ROLE_TYPES[_0x4d2ca6(0x97)](_0x1829ed);}export function assertCustomRole(_0x5d89f8,_0x35c458){const _0x22c92c=a176_0x4b236c;if(_0x5d89f8['roleType']!==_0x22c92c(0xb5))throw CliErrors[_0x22c92c(0x90)]('Cannot\x20'+_0x35c458+_0x22c92c(0x7c)+_0x5d89f8[_0x22c92c(0x85)]+'\x20('+_0x5d89f8[_0x22c92c(0xb2)]+').',_0x22c92c(0x78));}export function assertPermConfigurable(_0x3f51c3){const _0x4c9ef0=a176_0x4b236c;if(_0x3f51c3[_0x4c9ef0(0xb2)]==='DEV'||_0x3f51c3['roleType']===_0x4c9ef0(0x94))throw CliErrors[_0x4c9ef0(0x90)](_0x4c9ef0(0xb4)+_0x3f51c3[_0x4c9ef0(0x85)]+'\x20('+_0x3f51c3[_0x4c9ef0(0xb2)]+').',_0x4c9ef0(0x8e));}export function projectRole(_0x29a43d){const _0x4ed004=a176_0x4b236c;return{'id':_0x29a43d['id'],'roleName':_0x29a43d[_0x4ed004(0x85)],'roleType':_0x29a43d[_0x4ed004(0xb2)],'remark':_0x29a43d[_0x4ed004(0x9e)],'userCount':_0x29a43d[_0x4ed004(0xac)],'permitCount':_0x29a43d[_0x4ed004(0x8b)],'builtin':isBuiltinRole(_0x29a43d['roleType'])};}export async function resolveRoleRef(_0x432256,_0x2dd482){const _0x20a696=a176_0x4b236c,_0x10587e=_0x2dd482[_0x20a696(0x87)]();if(!_0x10587e)throw CliErrors[_0x20a696(0x90)](_0x20a696(0x84),_0x20a696(0x68));if(/^\d+$/['test'](_0x10587e))return getRoleById(_0x432256,Number(_0x10587e));const _0x475084=await listAllAppRoles(_0x432256),_0x547a36=_0x475084[_0x20a696(0x93)](_0x36d29a=>_0x36d29a['roleName']===_0x10587e);if(_0x547a36[_0x20a696(0x8c)]===0x0)throw CliErrors[_0x20a696(0x90)]('Role\x20name\x20\x22'+_0x10587e+_0x20a696(0x81)+_0x432256+'.',_0x20a696(0xb8));if(_0x547a36[_0x20a696(0x8c)]>0x1){const _0x3a2a73=_0x547a36[_0x20a696(0x7f)](_0x14ee14=>_0x14ee14['id'])[_0x20a696(0xa9)](',\x20');throw CliErrors['validation'](_0x20a696(0x9c)+_0x10587e+_0x20a696(0x71)+_0x3a2a73+').',_0x20a696(0x8d));}return _0x547a36[0x0];}export async function getRoleById(_0x3683e7,_0x9cfe9){const _0x543f4e=a176_0x4b236c,_0x28665d=await getAppRole(_0x9cfe9);if(!_0x28665d)throw CliErrors[_0x543f4e(0x90)](_0x543f4e(0x80)+_0x9cfe9+'\x20not\x20found\x20in\x20app\x20'+_0x3683e7+'.',_0x543f4e(0xad));return _0x28665d;}async function listAllAppRoles(_0x25022c){const _0x1a5406=a176_0x4b236c,_0x4f71e2=0x64,_0x1b9a7e=[];for(let _0x25ad86=0x1;;_0x25ad86+=0x1){const {items:_0x4b515c,paging:_0x2061cd}=await listAppRoles(_0x25022c,{'currentPage':_0x25ad86,'pageSize':_0x4f71e2});_0x1b9a7e[_0x1a5406(0x95)](..._0x4b515c);if(_0x4b515c['length']<_0x4f71e2||_0x2061cd&&_0x1b9a7e[_0x1a5406(0x8c)]>=_0x2061cd[_0x1a5406(0x9d)])return _0x1b9a7e;}}export async function resolveTenantCode(){const _0x4886e9=a176_0x4b236c,_0x229a72=await getSessionUserInfo(),_0x4d8491=_0x229a72?.['user']?.[_0x4886e9(0x7e)]?.[_0x4886e9(0x69)];if(!_0x4d8491)throw CliErrors['authRequired'](_0x4886e9(0x7b));return _0x4d8491;}function matchMember(_0x4880fb,_0x2c372a){const _0x3db67c=a176_0x4b236c,_0x4bc077=_0x2c372a[_0x3db67c(0x87)]()['toLowerCase']();return(_0x4880fb['nickname']??'')[_0x3db67c(0x92)]()===_0x4bc077||(_0x4880fb['username']??'')[_0x3db67c(0x92)]()===_0x4bc077;}export async function resolveUserRef(_0x31e51f){const _0x1ccd4a=a176_0x4b236c,_0x42548a=_0x31e51f[_0x1ccd4a(0x87)]();if(!_0x42548a)throw CliErrors[_0x1ccd4a(0x90)](_0x1ccd4a(0xbd),_0x1ccd4a(0x70));const _0x4c8745=await resolveTenantCode(),_0x2b9fd2=await getTenantMembers(_0x4c8745);if(/^\d+$/[_0x1ccd4a(0x6e)](_0x42548a)){const _0x3dc3df=Number(_0x42548a),_0xf77033=_0x2b9fd2[_0x1ccd4a(0x7d)](_0x35154f=>_0x35154f['userId']===_0x3dc3df);return{'userId':_0x3dc3df,'username':_0xf77033?.[_0x1ccd4a(0x89)]??String(_0x3dc3df),'nickname':_0xf77033?.[_0x1ccd4a(0xb3)],'matchedBy':'id'};}const _0x371e19=_0x2b9fd2[_0x1ccd4a(0x93)](_0x560e8d=>matchMember(_0x560e8d,_0x42548a));if(_0x371e19[_0x1ccd4a(0x8c)]===0x0)throw CliErrors[_0x1ccd4a(0x90)](_0x1ccd4a(0x75)+_0x42548a+'\x22.',_0x1ccd4a(0x98));if(_0x371e19[_0x1ccd4a(0x8c)]>0x1){const _0x6a01d1=_0x371e19['map'](_0x2972f2=>(_0x2972f2[_0x1ccd4a(0xb3)]??_0x2972f2[_0x1ccd4a(0x89)]??'?')+'('+_0x2972f2['userId']+')')[_0x1ccd4a(0xa9)](',\x20');throw CliErrors[_0x1ccd4a(0x90)](_0x1ccd4a(0xab)+_0x42548a+'\x22:\x20'+_0x6a01d1+'.',_0x1ccd4a(0xa1));}const _0x3d1f04=_0x371e19[0x0];return{'userId':_0x3d1f04[_0x1ccd4a(0x9b)],'username':_0x3d1f04[_0x1ccd4a(0x89)]??String(_0x3d1f04['userId']),'nickname':_0x3d1f04['nickname'],'matchedBy':_0x1ccd4a(0xa7)};}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function a176_0x5a2f(_0x388dc1,_0x10c79f){_0x388dc1=_0x388dc1-0x68;const _0x20300d=a176_0x2030();let _0x5a2f59=_0x20300d[_0x388dc1];return _0x5a2f59;}function userIdsOf(_0x1c6615){const _0x5b63bf=a176_0x4b236c;return(_0x1c6615?.[_0x5b63bf(0x96)]??[])[_0x5b63bf(0x7f)](_0x2a2aa0=>_0x2a2aa0[_0x5b63bf(0x9b)]);}export function computeRoleUserMutation(_0x7e6069){const _0x546bf2=a176_0x4b236c,{operation:_0x3494ce,appCode:_0x152a2f,roleUsers:_0x463567,targetRoleId:_0x545dc0,user:_0x4dbb8b}=_0x7e6069,_0x48a8bb=_0x463567[_0x546bf2(0x7d)](_0xbbbe9b=>_0xbbbe9b['id']===_0x545dc0);if(!_0x48a8bb)throw CliErrors[_0x546bf2(0x90)]('Role\x20id\x20'+_0x545dc0+_0x546bf2(0xb7),_0x546bf2(0xad));const _0xe648ed=userIdsOf(_0x48a8bb),_0x2d68c0=[];if(_0x7e6069['expectUserCount']!==undefined&&_0x7e6069[_0x546bf2(0xae)]!==_0xe648ed['length'])throw CliErrors[_0x546bf2(0x90)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x7e6069[_0x546bf2(0xae)]+_0x546bf2(0x6b)+_0xe648ed[_0x546bf2(0x8c)]+'.',_0x546bf2(0x7a));const _0x58405e=_0xe648ed[_0x546bf2(0x97)](_0x4dbb8b[_0x546bf2(0x9b)]);let _0x2cf895=![];const _0xc96144=[..._0x48a8bb['userList']];if(_0x3494ce===_0x546bf2(0xa8))_0x58405e?_0x2d68c0[_0x546bf2(0x95)](_0x546bf2(0xa5)+_0x4dbb8b[_0x546bf2(0x9b)]+_0x546bf2(0x9f)+_0x48a8bb[_0x546bf2(0x85)]+_0x546bf2(0xaa)):(_0xc96144[_0x546bf2(0x95)]({'userId':_0x4dbb8b[_0x546bf2(0x9b)],'username':_0x4dbb8b['username'],..._0x4dbb8b[_0x546bf2(0xb3)]?{'nickname':_0x4dbb8b[_0x546bf2(0xb3)]}:{}}),_0x2cf895=!![]);else{if(!_0x58405e)_0x2d68c0['push'](_0x546bf2(0xa5)+_0x4dbb8b['userId']+_0x546bf2(0x76)+_0x48a8bb['roleName']+_0x546bf2(0xaa));else{const _0x35d120=_0xc96144['findIndex'](_0x288d49=>_0x288d49[_0x546bf2(0x9b)]===_0x4dbb8b[_0x546bf2(0x9b)]);if(_0x35d120>=0x0)_0xc96144[_0x546bf2(0xb9)](_0x35d120,0x1);_0x2cf895=!![];}}const _0x2b250b=_0x463567[_0x546bf2(0x7f)](_0x4c822d=>_0x4c822d['id']===_0x545dc0?{..._0x4c822d,'userList':_0xc96144}:_0x4c822d),_0x3c3522=_0xc96144['map'](_0x358e7c=>_0x358e7c[_0x546bf2(0x9b)]),_0x5dea9d={'operation':_0x3494ce,'selector':{'appCode':_0x152a2f,'roleId':_0x545dc0,'roleName':_0x48a8bb[_0x546bf2(0x85)],'userId':_0x4dbb8b[_0x546bf2(0x9b)]},'before':{'userIds':_0xe648ed},'after':{'userIds':_0x3c3522},'dryRun':_0x7e6069[_0x546bf2(0xba)],'backend':{'method':_0x546bf2(0x91),'path':UPDATE_USER_LIST_PATH},'warnings':_0x2d68c0};return{'roleList':_0x2b250b,'mutation':_0x5dea9d,'changed':_0x2cf895};}export async function loadRoleUsers(_0x14e107){return listRoleUsers(_0x14e107);}export function readRoleRef(_0xde2903){const _0xc3e7ff=a176_0x4b236c,_0x24f879=_0xde2903[_0xc3e7ff(0x88)](_0xc3e7ff(0x8a))['trim']();if(!_0x24f879)throw CliErrors[_0xc3e7ff(0x86)](_0xc3e7ff(0x8a),_0xc3e7ff(0x68));return _0x24f879;}export async function prepareUserMutation(_0x2fb625,_0x753c50,_0x29b740){const _0x52f5a8=a176_0x4b236c,_0x325559=readRoleRef(_0x2fb625),_0x1040aa=_0x2fb625[_0x52f5a8(0x88)](_0x52f5a8(0x6f))[_0x52f5a8(0x87)]();if(!_0x1040aa)throw CliErrors[_0x52f5a8(0x86)]('user','Pass\x20--user\x20<id|name>.');const _0x23084f=_0x2fb625[_0x52f5a8(0xb1)](_0x52f5a8(0x8f)),_0x2380cd=_0x23084f===undefined||_0x23084f===null?undefined:Number(_0x23084f),_0x164fe6=await resolveRoleRef(_0x2fb625[_0x52f5a8(0xa2)],_0x325559),_0xc4058c=await resolveUserRef(_0x1040aa),_0x455563=await loadRoleUsers(_0x2fb625[_0x52f5a8(0xa2)]);return computeRoleUserMutation({'operation':_0x753c50,'appCode':_0x2fb625[_0x52f5a8(0xa2)],'roleUsers':_0x455563,'targetRoleId':_0x164fe6['id'],'user':{'userId':_0xc4058c[_0x52f5a8(0x9b)],'username':_0xc4058c['username'],'nickname':_0xc4058c[_0x52f5a8(0xb3)]},'dryRun':_0x29b740,..._0x2380cd!==undefined?{'expectUserCount':_0x2380cd}:{}});}
|
|
1
|
+
const a176_0xd06d85=a176_0x44ba;(function(_0x2796b1,_0x5d2563){const _0x475047=a176_0x44ba,_0x4bea09=_0x2796b1();while(!![]){try{const _0x579068=parseInt(_0x475047(0x187))/0x1*(parseInt(_0x475047(0x1bb))/0x2)+parseInt(_0x475047(0x17a))/0x3+-parseInt(_0x475047(0x1a6))/0x4+-parseInt(_0x475047(0x19f))/0x5+-parseInt(_0x475047(0x17c))/0x6*(parseInt(_0x475047(0x196))/0x7)+parseInt(_0x475047(0x18f))/0x8+-parseInt(_0x475047(0x1af))/0x9;if(_0x579068===_0x5d2563)break;else _0x4bea09['push'](_0x4bea09['shift']());}catch(_0x4171b0){_0x4bea09['push'](_0x4bea09['shift']());}}}(a176_0x2ae7,0xe53a9));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a176_0xd06d85(0x190),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};export const ROLE_REF_FLAG={'name':a176_0xd06d85(0x17e),'type':a176_0xd06d85(0x198),'required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};export const USER_REF_FLAG={'name':a176_0xd06d85(0x1b2),'type':'string','required':!![],'description':a176_0xd06d85(0x1a1)};export const NAME_FLAG={'name':a176_0xd06d85(0x179),'type':'string','required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a176_0xd06d85(0x179),'type':a176_0xd06d85(0x198),'required':!![],'description':a176_0xd06d85(0x195)};export const REMARK_FLAG={'name':a176_0xd06d85(0x1a0),'type':a176_0xd06d85(0x198),'required':![],'description':a176_0xd06d85(0x1b5)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':'number','required':![],'description':a176_0xd06d85(0x1ac)};export const BUILTIN_ROLE_TYPES=[a176_0xd06d85(0x19c),a176_0xd06d85(0x1a8),a176_0xd06d85(0x181)];export function isBuiltinRole(_0x47081b){return BUILTIN_ROLE_TYPES['includes'](_0x47081b);}export function assertCustomRole(_0xed8ca7,_0x4a3f75){const _0x2f9261=a176_0xd06d85;if(_0xed8ca7['roleType']!=='CUSTOM')throw CliErrors[_0x2f9261(0x17b)](_0x2f9261(0x199)+_0x4a3f75+'\x20built-in\x20role\x20'+_0xed8ca7[_0x2f9261(0x1ad)]+'\x20('+_0xed8ca7[_0x2f9261(0x194)]+').',_0x2f9261(0x1a3));}export function assertPermConfigurable(_0x1fdf28){const _0x48d673=a176_0xd06d85;if(_0x1fdf28[_0x48d673(0x194)]===_0x48d673(0x1a8)||_0x1fdf28[_0x48d673(0x194)]===_0x48d673(0x19c))throw CliErrors['validation'](_0x48d673(0x1a7)+_0x1fdf28[_0x48d673(0x1ad)]+'\x20('+_0x1fdf28[_0x48d673(0x194)]+').',_0x48d673(0x191));}export function projectRole(_0x3743dc){const _0x1ddb0a=a176_0xd06d85;return{'id':_0x3743dc['id'],'roleName':_0x3743dc[_0x1ddb0a(0x1ad)],'roleType':_0x3743dc[_0x1ddb0a(0x194)],'remark':_0x3743dc[_0x1ddb0a(0x1a0)],'userCount':_0x3743dc[_0x1ddb0a(0x1c3)],'permitCount':_0x3743dc[_0x1ddb0a(0x1b3)],'builtin':isBuiltinRole(_0x3743dc[_0x1ddb0a(0x194)])};}export async function resolveRoleRef(_0x299460,_0x5df18e){const _0x5eeba3=a176_0xd06d85,_0x555587=_0x5df18e[_0x5eeba3(0x18b)]();if(!_0x555587)throw CliErrors[_0x5eeba3(0x17b)](_0x5eeba3(0x1c4),_0x5eeba3(0x1b9));if(/^\d+$/['test'](_0x555587))return getRoleById(_0x299460,Number(_0x555587));const _0x14b2e1=await listAllAppRoles(_0x299460),_0x271c05=_0x14b2e1[_0x5eeba3(0x1b8)](_0x330e7f=>_0x330e7f['roleName']===_0x555587);if(_0x271c05[_0x5eeba3(0x19a)]===0x0)throw CliErrors[_0x5eeba3(0x17b)]('Role\x20name\x20\x22'+_0x555587+_0x5eeba3(0x19b)+_0x299460+'.',_0x5eeba3(0x1bc));if(_0x271c05['length']>0x1){const _0x5b9771=_0x271c05[_0x5eeba3(0x189)](_0x26a55d=>_0x26a55d['id'])[_0x5eeba3(0x17d)](',\x20');throw CliErrors[_0x5eeba3(0x17b)](_0x5eeba3(0x1a9)+_0x555587+_0x5eeba3(0x18c)+_0x5b9771+').',_0x5eeba3(0x18e));}return _0x271c05[0x0];}export async function getRoleById(_0x123d18,_0x9e784e){const _0x1bf4fe=a176_0xd06d85,_0x295a9a=await getAppRole(_0x9e784e);if(!_0x295a9a)throw CliErrors[_0x1bf4fe(0x17b)](_0x1bf4fe(0x1a5)+_0x9e784e+_0x1bf4fe(0x18d)+_0x123d18+'.',_0x1bf4fe(0x1b7));return _0x295a9a;}async function listAllAppRoles(_0x4fbdd1){const _0x45e93e=a176_0xd06d85,_0x24a70b=0x64,_0x52b4f9=[];for(let _0x49be4a=0x1;;_0x49be4a+=0x1){const {items:_0x2d0e08,paging:_0x5c9a9f}=await listAppRoles(_0x4fbdd1,{'currentPage':_0x49be4a,'pageSize':_0x24a70b});_0x52b4f9['push'](..._0x2d0e08);if(_0x2d0e08[_0x45e93e(0x19a)]<_0x24a70b||_0x5c9a9f&&_0x52b4f9[_0x45e93e(0x19a)]>=_0x5c9a9f['totalCount'])return _0x52b4f9;}}export async function resolveTenantCode(){const _0xc90858=a176_0xd06d85,_0xd57336=await getSessionUserInfo(),_0x417174=_0xd57336?.[_0xc90858(0x1b2)]?.['tenant']?.['tenant_code'];if(!_0x417174)throw CliErrors[_0xc90858(0x186)](_0xc90858(0x19e));return _0x417174;}function matchMember(_0x37f41e,_0x18d6f5){const _0x495739=a176_0xd06d85,_0x36f5d5=_0x18d6f5['trim']()[_0x495739(0x1c0)]();return(_0x37f41e['nickname']??'')['toLowerCase']()===_0x36f5d5||(_0x37f41e['username']??'')['toLowerCase']()===_0x36f5d5;}function a176_0x2ae7(){const _0x2b4fb2=['ADMIN','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','289585BWMOIm','remark','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','expectUserCount','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','appCode','Role\x20id\x20','2062628tsbtBZ','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','DEV','Role\x20name\x20\x22','\x20not\x20found\x20in\x20the\x20user-role\x20list.','splice','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','roleName','userId','12107178XqQMRF',';\x20no\x20change.','POST','user','permitCount','Multiple\x20tenant\x20members\x20match\x20\x22','Optional\x20role\x20remark/description','username','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','filter','Pass\x20--role\x20<id|name>.','\x22:\x20','3406712djxTql','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','findIndex','find','push','toLowerCase','flagMissing','includes','userCount','Missing\x20role\x20reference.','expect-user-count','flag','nickname','name','5229378hnYohS','validation','1959618kMURhL','join','role','\x20is\x20already\x20a\x20member\x20of\x20role\x20','No\x20tenant\x20member\x20matches\x20\x22','USER','\x20is\x20not\x20a\x20member\x20of\x20role\x20','Anti-drift\x20check\x20failed:\x20expected\x20','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','User\x20','authRequired','1RXoedA','\x20member(s)\x20but\x20role\x20has\x20','map','userList','trim','\x22\x20is\x20ambiguous\x20(ids:\x20','\x20not\x20found\x20in\x20app\x20','Disambiguate\x20with\x20--role\x20<id>.','3128512FLITxc','number','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','test','Disambiguate\x20with\x20--user\x20<id>.','roleType','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','21zPSkGe','Missing\x20user\x20reference.','string','Cannot\x20','length','\x22\x20not\x20found\x20in\x20app\x20'];a176_0x2ae7=function(){return _0x2b4fb2;};return a176_0x2ae7();}export async function resolveUserRef(_0x50344c){const _0x3e3533=a176_0xd06d85,_0x4bb0f6=_0x50344c[_0x3e3533(0x18b)]();if(!_0x4bb0f6)throw CliErrors[_0x3e3533(0x17b)](_0x3e3533(0x197),'Pass\x20--user\x20<id|name>.');const _0x444ad0=await resolveTenantCode(),_0x20bed3=await getTenantMembers(_0x444ad0);if(/^\d+$/[_0x3e3533(0x192)](_0x4bb0f6)){const _0x564b2d=Number(_0x4bb0f6),_0x4550f3=_0x20bed3[_0x3e3533(0x1be)](_0x55f634=>_0x55f634['userId']===_0x564b2d);return{'userId':_0x564b2d,'username':_0x4550f3?.[_0x3e3533(0x1b6)]??String(_0x564b2d),'nickname':_0x4550f3?.[_0x3e3533(0x178)],'matchedBy':'id'};}const _0x18c304=_0x20bed3[_0x3e3533(0x1b8)](_0x41f392=>matchMember(_0x41f392,_0x4bb0f6));if(_0x18c304[_0x3e3533(0x19a)]===0x0)throw CliErrors[_0x3e3533(0x17b)](_0x3e3533(0x180)+_0x4bb0f6+'\x22.',_0x3e3533(0x19d));if(_0x18c304['length']>0x1){const _0x452687=_0x18c304['map'](_0x364a8b=>(_0x364a8b[_0x3e3533(0x178)]??_0x364a8b[_0x3e3533(0x1b6)]??'?')+'('+_0x364a8b['userId']+')')[_0x3e3533(0x17d)](',\x20');throw CliErrors[_0x3e3533(0x17b)](_0x3e3533(0x1b4)+_0x4bb0f6+_0x3e3533(0x1ba)+_0x452687+'.',_0x3e3533(0x193));}const _0x5a1b8a=_0x18c304[0x0];return{'userId':_0x5a1b8a[_0x3e3533(0x1ae)],'username':_0x5a1b8a[_0x3e3533(0x1b6)]??String(_0x5a1b8a['userId']),'nickname':_0x5a1b8a[_0x3e3533(0x178)],'matchedBy':_0x3e3533(0x179)};}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function userIdsOf(_0x34352a){const _0x37e282=a176_0xd06d85;return(_0x34352a?.[_0x37e282(0x18a)]??[])['map'](_0x13e09d=>_0x13e09d[_0x37e282(0x1ae)]);}export function computeRoleUserMutation(_0x410991){const _0x40af3d=a176_0xd06d85,{operation:_0x53810b,appCode:_0x1d304,roleUsers:_0x34cf2c,targetRoleId:_0x239672,user:_0x2e7bb7}=_0x410991,_0xab6343=_0x34cf2c['find'](_0x18d5b7=>_0x18d5b7['id']===_0x239672);if(!_0xab6343)throw CliErrors['validation'](_0x40af3d(0x1a5)+_0x239672+_0x40af3d(0x1aa),'Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x372bb4=userIdsOf(_0xab6343),_0x4a8f37=[];if(_0x410991[_0x40af3d(0x1a2)]!==undefined&&_0x410991[_0x40af3d(0x1a2)]!==_0x372bb4[_0x40af3d(0x19a)])throw CliErrors[_0x40af3d(0x17b)](_0x40af3d(0x183)+_0x410991[_0x40af3d(0x1a2)]+_0x40af3d(0x188)+_0x372bb4[_0x40af3d(0x19a)]+'.',_0x40af3d(0x184));const _0x3ba54b=_0x372bb4[_0x40af3d(0x1c2)](_0x2e7bb7[_0x40af3d(0x1ae)]);let _0x51e7ea=![];const _0x308d80=[..._0xab6343['userList']];if(_0x53810b==='user-add')_0x3ba54b?_0x4a8f37['push'](_0x40af3d(0x185)+_0x2e7bb7[_0x40af3d(0x1ae)]+_0x40af3d(0x17f)+_0xab6343[_0x40af3d(0x1ad)]+_0x40af3d(0x1b0)):(_0x308d80[_0x40af3d(0x1bf)]({'userId':_0x2e7bb7[_0x40af3d(0x1ae)],'username':_0x2e7bb7[_0x40af3d(0x1b6)],..._0x2e7bb7['nickname']?{'nickname':_0x2e7bb7[_0x40af3d(0x178)]}:{}}),_0x51e7ea=!![]);else{if(!_0x3ba54b)_0x4a8f37['push'](_0x40af3d(0x185)+_0x2e7bb7[_0x40af3d(0x1ae)]+_0x40af3d(0x182)+_0xab6343[_0x40af3d(0x1ad)]+';\x20no\x20change.');else{const _0x573dd3=_0x308d80[_0x40af3d(0x1bd)](_0x4f91eb=>_0x4f91eb[_0x40af3d(0x1ae)]===_0x2e7bb7[_0x40af3d(0x1ae)]);if(_0x573dd3>=0x0)_0x308d80[_0x40af3d(0x1ab)](_0x573dd3,0x1);_0x51e7ea=!![];}}const _0x523077=_0x34cf2c[_0x40af3d(0x189)](_0x4c15e3=>_0x4c15e3['id']===_0x239672?{..._0x4c15e3,'userList':_0x308d80}:_0x4c15e3),_0x48123a=_0x308d80[_0x40af3d(0x189)](_0x38df6c=>_0x38df6c[_0x40af3d(0x1ae)]),_0x3b56b3={'operation':_0x53810b,'selector':{'appCode':_0x1d304,'roleId':_0x239672,'roleName':_0xab6343['roleName'],'userId':_0x2e7bb7['userId']},'before':{'userIds':_0x372bb4},'after':{'userIds':_0x48123a},'dryRun':_0x410991['dryRun'],'backend':{'method':_0x40af3d(0x1b1),'path':UPDATE_USER_LIST_PATH},'warnings':_0x4a8f37};return{'roleList':_0x523077,'mutation':_0x3b56b3,'changed':_0x51e7ea};}function a176_0x44ba(_0x152da0,_0x5bcf54){_0x152da0=_0x152da0-0x178;const _0x2ae7d8=a176_0x2ae7();let _0x44ba7b=_0x2ae7d8[_0x152da0];return _0x44ba7b;}export async function loadRoleUsers(_0x557198){return listRoleUsers(_0x557198);}export function readRoleRef(_0x285275){const _0x535d91=a176_0xd06d85,_0x575fa6=_0x285275['str'](_0x535d91(0x17e))[_0x535d91(0x18b)]();if(!_0x575fa6)throw CliErrors[_0x535d91(0x1c1)](_0x535d91(0x17e),_0x535d91(0x1b9));return _0x575fa6;}export async function prepareUserMutation(_0x597743,_0x7c5f43,_0xfc88d2){const _0x265208=a176_0xd06d85,_0x240e3e=readRoleRef(_0x597743),_0x1f57cf=_0x597743['str'](_0x265208(0x1b2))[_0x265208(0x18b)]();if(!_0x1f57cf)throw CliErrors['flagMissing']('user','Pass\x20--user\x20<id|name>.');const _0x238100=_0x597743[_0x265208(0x1c6)](_0x265208(0x1c5)),_0x40eb54=_0x238100===undefined||_0x238100===null?undefined:Number(_0x238100),_0x3fc59d=await resolveRoleRef(_0x597743['appCode'],_0x240e3e),_0x2480c6=await resolveUserRef(_0x1f57cf),_0x6bcebc=await loadRoleUsers(_0x597743['appCode']);return computeRoleUserMutation({'operation':_0x7c5f43,'appCode':_0x597743[_0x265208(0x1a4)],'roleUsers':_0x6bcebc,'targetRoleId':_0x3fc59d['id'],'user':{'userId':_0x2480c6['userId'],'username':_0x2480c6[_0x265208(0x1b6)],'nickname':_0x2480c6[_0x265208(0x178)]},'dryRun':_0xfc88d2,..._0x40eb54!==undefined?{'expectUserCount':_0x40eb54}:{}});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a177_0x223e97=a177_0x26a1;(function(_0x50b055,_0xe5a894){const _0x436722=a177_0x26a1,_0x520368=_0x50b055();while(!![]){try{const _0x23604f=-parseInt(_0x436722(0x92))/0x1+parseInt(_0x436722(0x96))/0x2+parseInt(_0x436722(0x87))/0x3+-parseInt(_0x436722(0x84))/0x4+-parseInt(_0x436722(0x82))/0x5+-parseInt(_0x436722(0x90))/0x6+parseInt(_0x436722(0x80))/0x7;if(_0x23604f===_0xe5a894)break;else _0x520368['push'](_0x520368['shift']());}catch(_0x57d364){_0x520368['push'](_0x520368['shift']());}}}(a177_0x3f44,0x26d22));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a177_0x3f44(){const _0x26c69e=['--name\x20cannot\x20be\x20empty.','remark','477462fMdNKs','roleName','127020ZUOkdz','name','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','update','18710MaUhed','validation','length','trim','appCode','POST','1637804FKmfgs','role','531855oZzsbr','write','213852mAEDPR','Nothing\x20to\x20update.','num','846342RdlLxG','Updated\x20role\x20','string','flag','\x20(id=','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','New\x20role\x20name'];a177_0x3f44=function(){return _0x26c69e;};return a177_0x3f44();}const UPDATE_PATH='/smartapi/permit/role/update';function a177_0x26a1(_0x3ae2ee,_0x4a33cf){_0x3ae2ee=_0x3ae2ee-0x7d;const _0x3f4461=a177_0x3f44();let _0x26a131=_0x3f4461[_0x3ae2ee];return _0x26a131;}function readPatch(_0xc0a451){const _0x4453f1=a177_0x26a1,_0x541f70=_0xc0a451[_0x4453f1(0x8a)](_0x4453f1(0x93)),_0x3e736f=_0xc0a451[_0x4453f1(0x8a)](_0x4453f1(0x8f)),_0x1a8db9={};if(_0x541f70!==undefined&&_0x541f70!==null){const _0x26a647=String(_0x541f70)[_0x4453f1(0x7d)]();if(!_0x26a647)throw CliErrors[_0x4453f1(0x97)](_0x4453f1(0x8e));if(_0x26a647[_0x4453f1(0x98)]>0x40)throw CliErrors['validation'](_0x4453f1(0x94));_0x1a8db9['roleName']=_0x26a647;}_0x3e736f!==undefined&&_0x3e736f!==null&&(_0x1a8db9[_0x4453f1(0x8f)]=String(_0x3e736f));if(_0x1a8db9['roleName']===undefined&&_0x1a8db9[_0x4453f1(0x8f)]===undefined)throw CliErrors['validation'](_0x4453f1(0x85),_0x4453f1(0x8c));return _0x1a8db9;}export const roleUpdate={'service':a177_0x223e97(0x81),'command':a177_0x223e97(0x95),'description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','risk':a177_0x223e97(0x83),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a177_0x223e97(0x93),'type':a177_0x223e97(0x89),'required':![],'description':a177_0x223e97(0x8d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4d3200){readPatch(_0x4d3200);},async 'dryRun'(_0x75ecc){const _0x5a2cd5=a177_0x223e97,_0x3923aa=_0x75ecc['num']('id'),_0x3ddeec=readPatch(_0x75ecc),_0x4533ae=await getRoleById(_0x75ecc[_0x5a2cd5(0x7e)],_0x3923aa);return assertCustomRole(_0x4533ae,_0x5a2cd5(0x95)),asDryRunResult({'operation':_0x5a2cd5(0x95),'selector':{'appCode':_0x75ecc[_0x5a2cd5(0x7e)],'roleId':_0x3923aa,'roleName':_0x4533ae[_0x5a2cd5(0x91)]},'before':projectRole(_0x4533ae),'after':projectRole({..._0x4533ae,..._0x3ddeec[_0x5a2cd5(0x91)]!==undefined?{'roleName':_0x3ddeec[_0x5a2cd5(0x91)]}:{},..._0x3ddeec[_0x5a2cd5(0x8f)]!==undefined?{'remark':_0x3ddeec[_0x5a2cd5(0x8f)]}:{}}),'dryRun':!![],'backend':{'method':_0x5a2cd5(0x7f),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5a2cd5(0x7f),'url':UPDATE_PATH});},async 'execute'(_0x7a7f97){const _0x18fab8=a177_0x223e97,_0x56460d=_0x7a7f97[_0x18fab8(0x86)]('id'),_0x13ce94=readPatch(_0x7a7f97),_0x52231d=await getRoleById(_0x7a7f97[_0x18fab8(0x7e)],_0x56460d);assertCustomRole(_0x52231d,_0x18fab8(0x95)),await updateAppRole({'id':_0x56460d,'appCode':_0x7a7f97['appCode'],..._0x13ce94[_0x18fab8(0x91)]!==undefined?{'roleName':_0x13ce94['roleName']}:{},..._0x13ce94[_0x18fab8(0x8f)]!==undefined?{'remark':_0x13ce94['remark']}:{}});const _0x13831d=await getRoleById(_0x7a7f97[_0x18fab8(0x7e)],_0x56460d);return{'ok':!![],'data':{'operation':_0x18fab8(0x95),'selector':{'appCode':_0x7a7f97['appCode'],'roleId':_0x56460d,'roleName':_0x13831d['roleName']},'before':projectRole(_0x52231d),'after':projectRole(_0x13831d),'dryRun':![],'backend':{'method':_0x18fab8(0x7f),'path':UPDATE_PATH},'warnings':[]},'message':_0x18fab8(0x88)+_0x13831d[_0x18fab8(0x91)]+_0x18fab8(0x8b)+_0x56460d+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a178_0x310cac=a178_0x1761;(function(_0x4ae709,_0x7cf0c9){const _0x470dc6=a178_0x1761,_0x2c65e9=_0x4ae709();while(!![]){try{const _0x46228e=parseInt(_0x470dc6(0x1d8))/0x1*(parseInt(_0x470dc6(0x1ce))/0x2)+parseInt(_0x470dc6(0x1cc))/0x3+parseInt(_0x470dc6(0x1da))/0x4*(-parseInt(_0x470dc6(0x1d5))/0x5)+-parseInt(_0x470dc6(0x1d3))/0x6*(parseInt(_0x470dc6(0x1c8))/0x7)+parseInt(_0x470dc6(0x1d1))/0x8+-parseInt(_0x470dc6(0x1d7))/0x9*(parseInt(_0x470dc6(0x1cb))/0xa)+-parseInt(_0x470dc6(0x1c9))/0xb*(parseInt(_0x470dc6(0x1d6))/0xc);if(_0x46228e===_0x7cf0c9)break;else _0x2c65e9['push'](_0x2c65e9['shift']());}catch(_0x51e95c){_0x2c65e9['push'](_0x2c65e9['shift']());}}}(a178_0x8424,0x25181));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a178_0x1761(_0x4ce28c,_0x1f4132){_0x4ce28c=_0x4ce28c-0x1c8;const _0x842457=a178_0x8424();let _0x1761a6=_0x842457[_0x4ce28c];return _0x1761a6;}function a178_0x8424(){const _0x4b3155=['73543KnSFaQ','role','4nvLYkf','selector','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','\x20to\x20role\x20','Added\x20user\x20','155302xKtxQl','11FWYQyw','No\x20change:\x20user\x20','30KoXEnL','849267dwvTAG','POST','8FrSZYl','high-risk-write','user-add','1254528KInKbO','roleName','72opkMLN','appCode','217130xMEiVe','3037836GHNFlq','57987QSAbKF'];a178_0x8424=function(){return _0x4b3155;};return a178_0x8424();}import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a178_0x310cac(0x1d9),'command':a178_0x310cac(0x1d0),'description':a178_0x310cac(0x1dc),'risk':a178_0x310cac(0x1cf),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x488923){const _0x4fd111=a178_0x310cac,{mutation:_0x2bb2e6}=await prepareUserMutation(_0x488923,_0x4fd111(0x1d0),!![]);return asDryRunResult(_0x2bb2e6,{'method':_0x4fd111(0x1cd),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x303a0d){const _0x350056=a178_0x310cac,{roleList:_0xc6cfd2,mutation:_0x574c75,changed:_0x2cdad3}=await prepareUserMutation(_0x303a0d,_0x350056(0x1d0),![]);return _0x2cdad3&&await updateRoleUsers(_0x303a0d[_0x350056(0x1d4)],_0xc6cfd2),{'ok':!![],'data':_0x574c75,'message':_0x2cdad3?_0x350056(0x1de)+_0x574c75[_0x350056(0x1db)]['userId']+_0x350056(0x1dd)+_0x574c75[_0x350056(0x1db)][_0x350056(0x1d2)]:_0x350056(0x1ca)+_0x574c75[_0x350056(0x1db)]['userId']+'\x20already\x20in\x20role\x20'+_0x574c75['selector'][_0x350056(0x1d2)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a179_0xe3090c=a179_0x274b;function a179_0x288f(){const _0x525f6f=['2895732IlyBeE','role','userId','No\x20change:\x20user\x20','470355lHUIPa','user-remove','1090148kYcxGL','1456ZaOHSz','roleName','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','42100aSUjqO','appCode','3705020sLGjlX','\x20not\x20in\x20role\x20','2840001xGmBVC','24344RutyPQ','Removed\x20user\x20','\x20from\x20role\x20','selector'];a179_0x288f=function(){return _0x525f6f;};return a179_0x288f();}(function(_0x5c70d0,_0x4c0ee9){const _0x1f634d=a179_0x274b,_0x35a229=_0x5c70d0();while(!![]){try{const _0x18f1bb=-parseInt(_0x1f634d(0x163))/0x1+-parseInt(_0x1f634d(0x169))/0x2+parseInt(_0x1f634d(0x16d))/0x3+-parseInt(_0x1f634d(0x165))/0x4+-parseInt(_0x1f634d(0x16b))/0x5+parseInt(_0x1f634d(0x15f))/0x6+-parseInt(_0x1f634d(0x166))/0x7*(-parseInt(_0x1f634d(0x16e))/0x8);if(_0x18f1bb===_0x4c0ee9)break;else _0x35a229['push'](_0x35a229['shift']());}catch(_0x4a2f09){_0x35a229['push'](_0x35a229['shift']());}}}(a179_0x288f,0x880e7));import{updateRoleUsers}from'../../core/api-client.js';function a179_0x274b(_0x4de0de,_0x31d626){_0x4de0de=_0x4de0de-0x15f;const _0x288fb6=a179_0x288f();let _0x274bfa=_0x288fb6[_0x4de0de];return _0x274bfa;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a179_0xe3090c(0x160),'command':'user-remove','description':a179_0xe3090c(0x168),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4bb7aa){const _0x1528ae=a179_0xe3090c,{mutation:_0x2c58a3}=await prepareUserMutation(_0x4bb7aa,_0x1528ae(0x164),!![]);return asDryRunResult(_0x2c58a3,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x353108){const _0x57ef2d=a179_0xe3090c,{roleList:_0x36fb0a,mutation:_0x55b4fe,changed:_0x19b4f1}=await prepareUserMutation(_0x353108,_0x57ef2d(0x164),![]);return _0x19b4f1&&await updateRoleUsers(_0x353108[_0x57ef2d(0x16a)],_0x36fb0a),{'ok':!![],'data':_0x55b4fe,'message':_0x19b4f1?_0x57ef2d(0x16f)+_0x55b4fe[_0x57ef2d(0x171)][_0x57ef2d(0x161)]+_0x57ef2d(0x170)+_0x55b4fe['selector'][_0x57ef2d(0x167)]:_0x57ef2d(0x162)+_0x55b4fe[_0x57ef2d(0x171)][_0x57ef2d(0x161)]+_0x57ef2d(0x16c)+_0x55b4fe[_0x57ef2d(0x171)]['roleName']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a180_0x270dad=a180_0x1caa;function a180_0x225d(){const _0x450009=['724190VRDcNw','role','1096825pufOeY','str','name','5656086XMClfw','trim','1536szzaOc','7HOkoxo','flagMissing','162492HvqcNZ','\x22\x20→\x20userId\x20','Resolved\x20\x22','3370FqVOUe','userId','18DbNFqA','6583380kSrYAJ','2397uroMuA','147128CPulkY','username'];a180_0x225d=function(){return _0x450009;};return a180_0x225d();}(function(_0xcb19e1,_0xeda2ed){const _0x8a7956=a180_0x1caa,_0x2265de=_0xcb19e1();while(!![]){try{const _0x26bd38=-parseInt(_0x8a7956(0x147))/0x1+-parseInt(_0x8a7956(0x14e))/0x2*(parseInt(_0x8a7956(0x158))/0x3)+-parseInt(_0x8a7956(0x157))/0x4+-parseInt(_0x8a7956(0x149))/0x5+-parseInt(_0x8a7956(0x14c))/0x6*(parseInt(_0x8a7956(0x14f))/0x7)+parseInt(_0x8a7956(0x159))/0x8*(parseInt(_0x8a7956(0x156))/0x9)+parseInt(_0x8a7956(0x154))/0xa*(parseInt(_0x8a7956(0x151))/0xb);if(_0x26bd38===_0xeda2ed)break;else _0x2265de['push'](_0x2265de['shift']());}catch(_0x5151b7){_0x2265de['push'](_0x2265de['shift']());}}}(a180_0x225d,0xd4371));import{CliErrors}from'../../errors.js';function a180_0x1caa(_0x3b35e0,_0x4adf39){_0x3b35e0=_0x3b35e0-0x147;const _0x225dd8=a180_0x225d();let _0x1caa1a=_0x225dd8[_0x3b35e0];return _0x1caa1a;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a180_0x270dad(0x148),'command':'user-resolve','description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':'read','flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x475f60){const _0x37a5a3=a180_0x270dad;if(!_0x475f60[_0x37a5a3(0x14a)](_0x37a5a3(0x14b))[_0x37a5a3(0x14d)]())throw CliErrors[_0x37a5a3(0x150)](_0x37a5a3(0x14b),'Pass\x20--name\x20<nickname|username>.');},async 'execute'(_0x25825f){const _0x133b27=a180_0x270dad,_0x1df0e7=_0x25825f[_0x133b27(0x14a)]('name')['trim'](),_0x20ba27=await resolveUserRef(_0x1df0e7);return{'ok':!![],'data':{'user':{'userId':_0x20ba27[_0x133b27(0x155)],'username':_0x20ba27[_0x133b27(0x15a)],'nickname':_0x20ba27['nickname'],'matchedBy':_0x20ba27['matchedBy']}},'message':_0x133b27(0x153)+_0x1df0e7+_0x133b27(0x152)+_0x20ba27[_0x133b27(0x155)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a181_0x1db017=a181_0x58ea;(function(_0x4fe036,_0x4d9820){const _0x41e52c=a181_0x58ea,_0x829a12=_0x4fe036();while(!![]){try{const _0x4cda27=-parseInt(_0x41e52c(0x168))/0x1+-parseInt(_0x41e52c(0x16b))/0x2+parseInt(_0x41e52c(0x172))/0x3+parseInt(_0x41e52c(0x14a))/0x4*(parseInt(_0x41e52c(0x154))/0x5)+-parseInt(_0x41e52c(0x136))/0x6*(-parseInt(_0x41e52c(0x14d))/0x7)+parseInt(_0x41e52c(0x16f))/0x8*(-parseInt(_0x41e52c(0x159))/0x9)+parseInt(_0x41e52c(0x14e))/0xa;if(_0x4cda27===_0x4d9820)break;else _0x829a12['push'](_0x829a12['shift']());}catch(_0x1e3d8f){_0x829a12['push'](_0x829a12['shift']());}}}(a181_0x15a4,0x1e7a8));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a181_0x1db017(0x166),a181_0x1db017(0x14f)]);function readPackageScripts(_0x339a80){const _0x403ace=a181_0x1db017,_0x5715e4=resolve(_0x339a80,_0x403ace(0x148));if(!existsSync(_0x5715e4))return null;try{const _0x32ffee=JSON[_0x403ace(0x15d)](readFileSync(_0x5715e4,_0x403ace(0x170)));return _0x32ffee[_0x403ace(0x137)]??{};}catch{return null;}}function a181_0x15a4(){const _0x71d06e=['keys','start','vite\x20preview\x20exited\x20with\x20code\x20','239522nOMoAq','bun.lockb','\x20\x20\x20\x20','68020vAotmb','close','No\x20package.json\x20found\x20in\x20current\x20directory.','pnpm-lock.yaml','296bcsiDs','utf-8','yarn.lock','662628Tupxfq','No\x20scripts\x20defined\x20in\x20package.json.','Enable\x20watch\x20mode\x20for\x20preview','\x20\x20EXAMPLES','10806sgZurV','scripts','vite','belowMinimum','watch','join','node_modules','\x20run\x20','--watch','inherit','validation','yarn','\x20run\x20<script>\x0a','bun.lock','\x0a\x20\x20Usage:\x20','\x20run\x20start','\x0a\x20\x20Available\x20scripts:\x0a','cwd','package.json','script','125932VtnQPi','Script\x20\x22','(none)','777jbNWul','776040FXGwgT','dev','bun','bool','pnpm','error','10uxotEp','run','high-risk-write','.bin','Script\x20name\x20defined\x20in\x20package.json','39645FCwPZl','log','has','\x20run\x20preview\x20--watch','parse','boolean','needsUpgrade','push','slice','all','preview','build'];a181_0x15a4=function(){return _0x71d06e;};return a181_0x15a4();}function detectPackageManager(_0x45ea8a){const _0x247fb1=a181_0x1db017;if(existsSync(resolve(_0x45ea8a,_0x247fb1(0x169)))||existsSync(resolve(_0x45ea8a,_0x247fb1(0x143))))return _0x247fb1(0x150);if(existsSync(resolve(_0x45ea8a,_0x247fb1(0x16e))))return _0x247fb1(0x152);if(existsSync(resolve(_0x45ea8a,_0x247fb1(0x171))))return _0x247fb1(0x141);return'npm';}async function versionCheck(_0x56a657){const _0x222959=a181_0x1db017,_0x16cb8a=await checkCliVersion();(_0x16cb8a[_0x222959(0x15f)]||_0x16cb8a[_0x222959(0x139)])&&(printCliUpgradeWarning(_0x16cb8a),assertCliVersionSupported(_0x16cb8a));const _0x594800=await checkSdkVersion(_0x56a657);if(_0x594800['needsUpgrade'])printSdkUpgradeWarning(_0x594800);}function a181_0x58ea(_0x2db54e,_0x4f3260){_0x2db54e=_0x2db54e-0x135;const _0x15a4fa=a181_0x15a4();let _0x58eabf=_0x15a4fa[_0x2db54e];return _0x58eabf;}function spawnScript(_0x3a846a,_0x3379e5,_0xe35498,_0x29bee1){return new Promise((_0x5f434a,_0x312df3)=>{const _0x4c3e5c=a181_0x58ea,_0x241254=[_0x4c3e5c(0x155),_0x3379e5,..._0xe35498],_0x282f35=spawn(_0x3a846a,_0x241254,{'cwd':_0x29bee1,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x29bee1,_0x4c3e5c(0x13c),_0x4c3e5c(0x157))+delimiter+process.env.PATH}});_0x282f35['on'](_0x4c3e5c(0x16c),_0x8dc3a5=>{const _0x4837a6=_0x4c3e5c;if(_0x8dc3a5===0x0||_0x8dc3a5===null)_0x5f434a();else _0x312df3(new Error(_0x3a846a+_0x4837a6(0x13d)+_0x3379e5+'\x20exited\x20with\x20code\x20'+_0x8dc3a5));}),_0x282f35['on']('error',_0x312df3);});}function spawnViteBuildWatch(_0x30109b){return new Promise((_0x5365f0,_0x1fef69)=>{const _0x505dbe=a181_0x58ea,_0x32ea11=spawn(_0x505dbe(0x138),[_0x505dbe(0x164),_0x505dbe(0x13e)],{'cwd':_0x30109b,'stdio':_0x505dbe(0x13f),'shell':!![],'env':{...process.env,'PATH':''+join(_0x30109b,'node_modules',_0x505dbe(0x157))+delimiter+process.env.PATH}});_0x32ea11['on'](_0x505dbe(0x16c),_0x1acef8=>{if(_0x1acef8===0x0||_0x1acef8===null)_0x5365f0();else _0x1fef69(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x1acef8));}),_0x32ea11['on']('error',_0x1fef69);});}function spawnVitePreview(_0x5adf56){return new Promise((_0x421ca3,_0x2d43e2)=>{const _0x2327c9=a181_0x58ea,_0x1fae1c=spawn(_0x2327c9(0x138),['preview'],{'cwd':_0x5adf56,'stdio':_0x2327c9(0x13f),'shell':!![],'env':{...process.env,'PATH':''+join(_0x5adf56,_0x2327c9(0x13c),_0x2327c9(0x157))+delimiter+process.env.PATH}});_0x1fae1c['on'](_0x2327c9(0x16c),_0x3367be=>{const _0x5dc646=_0x2327c9;if(_0x3367be===0x0||_0x3367be===null)_0x421ca3();else _0x2d43e2(new Error(_0x5dc646(0x167)+_0x3367be));}),_0x1fae1c['on'](_0x2327c9(0x153),_0x2d43e2);});}const runFlags=[{'name':a181_0x1db017(0x13a),'type':a181_0x1db017(0x15e),'description':a181_0x1db017(0x174),'default':![]}];export const runDefinition={'service':a181_0x1db017(0x155),'command':'run','description':'Run\x20a\x20package.json\x20script','risk':a181_0x1db017(0x156),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a181_0x1db017(0x149),'description':a181_0x1db017(0x158),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x47a172=a181_0x1db017,_0x926c14=[];return _0x926c14[_0x47a172(0x160)](_0x47a172(0x135)),_0x926c14[_0x47a172(0x160)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x47a172(0x145)),_0x926c14[_0x47a172(0x160)](_0x47a172(0x16a)+CLI_BIN_NAME+'\x20run\x20build'),_0x926c14[_0x47a172(0x160)](_0x47a172(0x16a)+CLI_BIN_NAME+'\x20run\x20preview'),_0x926c14[_0x47a172(0x160)](_0x47a172(0x16a)+CLI_BIN_NAME+_0x47a172(0x15c)),_0x926c14[_0x47a172(0x13b)]('\x0a');},async 'execute'(_0x2b8169){const _0x478590=a181_0x1db017,_0x54d471=process[_0x478590(0x147)](),_0x33e0ef=_0x2b8169['args'][0x0],_0x4b4d68=_0x2b8169['args'][_0x478590(0x161)](0x1),_0x9f34ba=readPackageScripts(_0x54d471);if(!_0x9f34ba)throw CliErrors[_0x478590(0x140)](_0x478590(0x16d));if(!_0x33e0ef){const _0xc1a62b=Object[_0x478590(0x165)](_0x9f34ba);if(_0xc1a62b['length']===0x0)console[_0x478590(0x15a)](_0x478590(0x173));else{console[_0x478590(0x15a)](_0x478590(0x146));for(const _0x280049 of _0xc1a62b){console[_0x478590(0x15a)]('\x20\x20\x20\x20'+_0x280049);}console['log'](_0x478590(0x144)+CLI_BIN_NAME+_0x478590(0x142));}return{'ok':!![]};}if(!_0x9f34ba[_0x33e0ef])throw CliErrors['validation'](_0x478590(0x14b)+_0x33e0ef+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object['keys'](_0x9f34ba)[_0x478590(0x13b)](',\x20')||_0x478590(0x14c)));const _0x3cc799=detectPackageManager(_0x54d471);VERSION_CHECK_SCRIPTS[_0x478590(0x15b)](_0x33e0ef)&&await versionCheck(_0x54d471);if(_0x33e0ef===_0x478590(0x163)&&_0x2b8169[_0x478590(0x151)](_0x478590(0x13a)))return await Promise[_0x478590(0x162)]([spawnViteBuildWatch(_0x54d471),spawnVitePreview(_0x54d471)]),{'ok':!![]};return await spawnScript(_0x3cc799,_0x33e0ef,_0x4b4d68,_0x54d471),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a182_0x250eb8=a182_0x3f0a;(function(_0x18c4e4,_0x22ffff){const _0x7495d9=a182_0x3f0a,_0xc290ee=_0x18c4e4();while(!![]){try{const _0x42329d=parseInt(_0x7495d9(0xdc))/0x1+parseInt(_0x7495d9(0xde))/0x2*(-parseInt(_0x7495d9(0xda))/0x3)+-parseInt(_0x7495d9(0xd6))/0x4+-parseInt(_0x7495d9(0xdb))/0x5+-parseInt(_0x7495d9(0xd9))/0x6*(parseInt(_0x7495d9(0xd8))/0x7)+parseInt(_0x7495d9(0xe1))/0x8+-parseInt(_0x7495d9(0xe0))/0x9*(-parseInt(_0x7495d9(0xdd))/0xa);if(_0x42329d===_0x22ffff)break;else _0xc290ee['push'](_0xc290ee['shift']());}catch(_0x1005e4){_0xc290ee['push'](_0xc290ee['shift']());}}}(a182_0x2fdb,0x2a6d1));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x4a5789){const _0x33bdbf=await buildSchemaPayload();return{'ok':!![],'data':_0x33bdbf};}export const schemaDefinition={'service':'schema','command':a182_0x250eb8(0xd5),'description':a182_0x250eb8(0xdf),'risk':a182_0x250eb8(0xe2),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a182_0x250eb8(0xd7),'flags':[],'execute':execute};function a182_0x3f0a(_0x35d8ef,_0x5cb478){_0x35d8ef=_0x35d8ef-0xd5;const _0x2fdb21=a182_0x2fdb();let _0x3f0af2=_0x2fdb21[_0x35d8ef];return _0x3f0af2;}function a182_0x2fdb(){const _0x2f33a5=['1282680zgiZbX','read','export','1273736WdFnPr','json','14bTfdXh','571674hDdmrk','1030482UKmaoj','583030uKnIjX','82859OsRIGA','70VBuSIv','2tDlkta','Export\x20machine-readable\x20command\x20schema\x20(JSON)','1156725eQiUNB'];a182_0x2fdb=function(){return _0x2f33a5;};return a182_0x2fdb();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a183_0x367620=a183_0xc3d5;(function(_0xb9f59b,_0xee2c0d){const _0x57e2a6=a183_0xc3d5,_0x5b609c=_0xb9f59b();while(!![]){try{const _0x1e109b=-parseInt(_0x57e2a6(0x88))/0x1*(-parseInt(_0x57e2a6(0x87))/0x2)+-parseInt(_0x57e2a6(0x7a))/0x3*(-parseInt(_0x57e2a6(0x90))/0x4)+-parseInt(_0x57e2a6(0x74))/0x5*(-parseInt(_0x57e2a6(0x6c))/0x6)+-parseInt(_0x57e2a6(0x6e))/0x7*(parseInt(_0x57e2a6(0x68))/0x8)+-parseInt(_0x57e2a6(0x89))/0x9*(parseInt(_0x57e2a6(0xa7))/0xa)+-parseInt(_0x57e2a6(0x80))/0xb+-parseInt(_0x57e2a6(0xa6))/0xc*(parseInt(_0x57e2a6(0x76))/0xd);if(_0x1e109b===_0xee2c0d)break;else _0x5b609c['push'](_0x5b609c['shift']());}catch(_0x42382e){_0x5b609c['push'](_0x5b609c['shift']());}}}(a183_0x19ca,0x5ad34));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a183_0x19ca(){const _0x2baf13=['dbName','create','SQL\x20query\x20display\x20name','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','isFinite','12GQnmIj','530JESplr','db-id','dbId','string','dbId\x20必须为正整数','1240uApxxn','nonInteractive','MyBatis\x20XML(mybatisXml)','number','18gYYFcY','Created\x20SQL\x20query\x20','22645PdniES','toISOString','sqlRoot','lockFilePath','trim','mode','1127125cPqiiq','new','1671995TJNMhr','str','SQL\x20名称不能为空','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','540411PXZLUW','sqls','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','\x20\x20SELECT\x201\x20AS\x20id','__manual__','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','3368849JKzJXQ','name','length','Invalid\x20database\x20selection\x20payload:\x20','flag','map','Target\x20database\x20ID','32974BuegTh','23Kmcrxb','18243LQKxgo','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','mybatisXml','appCode','stringify','join','sqlRootDir','8FIrfGx','description','适合带动态标签的\x20MyBatis\x20XML\x20SQL','</select>','sqlCode','sql','sqlName','✎\x20手动输入\x20dbId','/smartapi/custom/saveUserCustomSql','isInteger','flagMissing','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','Local\x20SQL\x20file\x20mode','parse','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','catch','lastSync'];a183_0x19ca=function(){return _0x2baf13;};return a183_0x19ca();}import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function a183_0xc3d5(_0x5d0985,_0x222c03){_0x5d0985=_0x5d0985-0x68;const _0x19ca32=a183_0x19ca();let _0xc3d545=_0x19ca32[_0x5d0985];return _0xc3d545;}function generateSqlTemplate(_0x471da6){const _0x43f7b9=a183_0xc3d5;if(_0x471da6===_0x43f7b9(0x8b))return[_0x43f7b9(0x79),_0x43f7b9(0x7d),_0x43f7b9(0x93),''][_0x43f7b9(0x8e)]('\x0a');return['SELECT\x201\x20AS\x20id;','']['join']('\x0a');}export const sqlCreate={'service':'sql','command':a183_0x367620(0xa2),'description':a183_0x367620(0x9e),'risk':'write','flags':[{'name':a183_0x367620(0x81),'type':a183_0x367620(0xaa),'description':a183_0x367620(0xa3)},{'name':'db-id','type':a183_0x367620(0x6b),'description':a183_0x367620(0x86)},{'name':a183_0x367620(0x73),'type':'string','enum':[a183_0x367620(0x95),'mybatisXml'],'description':a183_0x367620(0x9c)}],async 'validate'(_0x2a0a7e){const _0x5c0f3e=a183_0x367620;if(!_0x2a0a7e[_0x5c0f3e(0x69)])return;if(!_0x2a0a7e[_0x5c0f3e(0x77)](_0x5c0f3e(0x81))['trim']())throw CliErrors['flagMissing'](_0x5c0f3e(0x81),_0x5c0f3e(0x7f));const _0x397738=resolveProvidedDbId(_0x2a0a7e);if(typeof _0x397738!=='number'||!Number['isFinite'](_0x397738)||_0x397738<=0x0)throw CliErrors[_0x5c0f3e(0x9a)](_0x5c0f3e(0xa8),_0x5c0f3e(0x9b));if(!_0x2a0a7e[_0x5c0f3e(0x77)]('mode')[_0x5c0f3e(0x72)]())throw CliErrors['flagMissing'](_0x5c0f3e(0x73),_0x5c0f3e(0x7c));},async 'dryRun'(_0x595d82){const _0x4a0df5=a183_0x367620,_0x1271df=loadSqlProjectConfig(_0x595d82[_0x4a0df5(0x8c)]),{sqlName:_0x1091b9,dbId:_0x1767db,dbName:_0x240574,mode:_0x4adfff}=await resolveSqlNewInputs(_0x595d82),_0x13f627=buildSqlRelativePath('<server-generated-sqlCode>',_0x1091b9,_0x240574,_0x4adfff,_0x1767db),_0x3f678a=_0x1271df[_0x4a0df5(0x8f)]+'/'+_0x13f627;return{'method':'POST','url':_0x4a0df5(0x98),'body':{'appCode':_0x595d82[_0x4a0df5(0x8c)],'sqlName':_0x1091b9,'dbId':_0x1767db,'mode':_0x4adfff,'localPath':_0x3f678a},'description':_0x4a0df5(0xa4)+_0x1271df[_0x4a0df5(0x8f)]};},async 'execute'(_0x20c62b){const _0x30df47=a183_0x367620,_0x153785=loadSqlProjectConfig(_0x20c62b[_0x30df47(0x8c)]),{sqlName:_0x31f6dd,dbId:_0x55e727,dbName:_0x56726d,mode:_0x2cd004}=await resolveSqlNewInputs(_0x20c62b),_0x4e51c9=generateSqlTemplate(_0x2cd004),_0x281c36=await createSqlQuery({'appCode':_0x20c62b['appCode'],'sqlName':_0x31f6dd,'dbId':_0x55e727,'sqlContent':_0x4e51c9}),_0x4ffa33=ensureRemoteSqlContent(_0x281c36),_0x1fe5f6=_0x56726d||await getDbName(_0x20c62b[_0x30df47(0x8c)],_0x55e727)[_0x30df47(0x9f)](()=>undefined),_0x44f9b4=buildSqlRelativePath(_0x281c36[_0x30df47(0x94)],_0x281c36[_0x30df47(0x96)],_0x1fe5f6,_0x2cd004,_0x55e727),_0x149350=_0x153785[_0x30df47(0x8f)]+'/'+_0x44f9b4,_0x157fb1=buildLocalSqlFileContent({'sqlCode':_0x281c36[_0x30df47(0x94)],'sqlName':_0x281c36['sqlName'],'dbId':_0x281c36[_0x30df47(0xa9)]},_0x4ffa33,{'dbName':_0x1fe5f6,'mode':_0x2cd004,'syncedAt':new Date()['toISOString'](),'description':_0x281c36[_0x30df47(0x91)]});if(await fileExists(_0x149350))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x149350);await ensureParentDirectory(_0x149350),await writeFile(_0x149350,_0x157fb1,'utf8');const _0x216e6c=await readSqlLockFile(_0x153785[_0x30df47(0x71)]),{lockData:_0x20d731,appLock:_0x392612}=ensureSqlLockScope(_0x216e6c??createEmptySqlLock(),_0x153785[_0x30df47(0x8c)],_0x153785[_0x30df47(0x70)],_0x30df47(0x75));return _0x392612[_0x30df47(0x7b)][_0x281c36[_0x30df47(0x94)]]={...buildSqlLockEntry(_0x281c36,_0x4ffa33,computeSqlContentHash(_0x157fb1),{'dbName':_0x1fe5f6}),'path':_0x44f9b4,'mode':_0x2cd004},_0x392612[_0x30df47(0xa0)]=new Date()[_0x30df47(0x6f)](),await writeSqlLockFile(_0x153785[_0x30df47(0x71)],_0x20d731),{'ok':!![],'data':{'id':_0x281c36['id'],'sqlCode':_0x281c36[_0x30df47(0x94)],'sqlName':_0x281c36[_0x30df47(0x96)],'dbId':_0x281c36[_0x30df47(0xa9)],'path':_0x149350,'mode':_0x2cd004},'message':_0x30df47(0x6d)+_0x281c36['sqlCode']};}};async function resolveSqlNewInputs(_0xf7cc71){const _0x2d3369=await resolveSqlNameInput(_0xf7cc71),{dbId:_0x4228bb,dbName:_0x12f86b}=await resolveDbSelection(_0xf7cc71),_0x18341d=await resolveSqlModeInput(_0xf7cc71);return{'sqlName':_0x2d3369,'dbId':_0x4228bb,'dbName':_0x12f86b,'mode':_0x18341d};}async function resolveSqlNameInput(_0x590cfe){const _0x7b3953=a183_0x367620,_0x3fc230=_0x590cfe[_0x7b3953(0x77)]('name')['trim']();if(_0x3fc230)return _0x3fc230;if(_0x590cfe[_0x7b3953(0x69)])throw CliErrors[_0x7b3953(0x9a)](_0x7b3953(0x81),_0x7b3953(0x7f));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x43fdbe=>_0x43fdbe[_0x7b3953(0x72)]()?!![]:_0x7b3953(0x78)}))[_0x7b3953(0x72)]();}async function resolveDbSelection(_0x2646ab){const _0x1c418c=a183_0x367620,_0x4f0757=resolveProvidedDbId(_0x2646ab);if(typeof _0x4f0757===_0x1c418c(0x6b)&&Number[_0x1c418c(0xa5)](_0x4f0757)&&_0x4f0757>0x0)return{'dbId':_0x4f0757,'dbName':await getDbName(_0x2646ab[_0x1c418c(0x8c)],_0x4f0757)['catch'](()=>undefined)};if(_0x2646ab['nonInteractive'])throw CliErrors[_0x1c418c(0x9a)](_0x1c418c(0xa8),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x407167=await listDatabases(_0x2646ab['appCode'])[_0x1c418c(0x9f)](()=>[]);if(_0x407167[_0x1c418c(0x82)]===0x1)return{'dbId':_0x407167[0x0]['dbId'],'dbName':_0x407167[0x0]['dbName']};if(_0x407167[_0x1c418c(0x82)]>0x1){const _0x20f2fc=await select({'message':'请选择目标数据库:','choices':[..._0x407167[_0x1c418c(0x85)](_0x272dff=>({'name':_0x272dff['dbName']+'\x20('+_0x272dff['dbId']+')','value':serializeDbSelection(_0x272dff)})),{'name':_0x1c418c(0x97),'value':'__manual__'}]});if(_0x20f2fc!==_0x1c418c(0x7e))return deserializeDbSelection(_0x20f2fc);}const _0x58d56c=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x5ba932=>{const _0x4b4601=_0x1c418c,_0x22afda=_0x5ba932[_0x4b4601(0x72)]();if(!_0x22afda)return'dbId\x20不能为空';const _0x5b5572=Number(_0x22afda);if(!Number[_0x4b4601(0x99)](_0x5b5572)||_0x5b5572<=0x0)return _0x4b4601(0xab);return!![];}});return{'dbId':Number(_0x58d56c['trim']())};}async function resolveSqlModeInput(_0x1f74ba){const _0x24bc72=a183_0x367620,_0xecaf71=_0x1f74ba[_0x24bc72(0x77)](_0x24bc72(0x73))['trim']();if(_0xecaf71===_0x24bc72(0x95)||_0xecaf71===_0x24bc72(0x8b))return _0xecaf71;if(_0x1f74ba[_0x24bc72(0x69)])throw CliErrors[_0x24bc72(0x9a)](_0x24bc72(0x73),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':'普通\x20SQL(sql)','value':_0x24bc72(0x95),'description':_0x24bc72(0x8a)},{'name':_0x24bc72(0x6a),'value':_0x24bc72(0x8b),'description':_0x24bc72(0x92)}]});}function serializeDbSelection(_0x4dc60b){const _0x1b1214=a183_0x367620;return JSON[_0x1b1214(0x8d)]({'dbId':_0x4dc60b['dbId'],'dbName':_0x4dc60b[_0x1b1214(0xa1)]});}function deserializeDbSelection(_0x34534b){const _0x1aa7f5=a183_0x367620;try{const _0x34c3fb=JSON[_0x1aa7f5(0x9d)](_0x34534b);if(typeof _0x34c3fb['dbId']===_0x1aa7f5(0x6b)&&Number[_0x1aa7f5(0xa5)](_0x34c3fb[_0x1aa7f5(0xa9)]))return{'dbId':_0x34c3fb[_0x1aa7f5(0xa9)],'dbName':_0x34c3fb[_0x1aa7f5(0xa1)]};}catch{}throw CliErrors['validation'](_0x1aa7f5(0x83)+_0x34534b);}function resolveProvidedDbId(_0x87877){const _0x3056c0=a183_0x367620,_0x23e83d=_0x87877[_0x3056c0(0x84)](_0x3056c0(0xa8));if(typeof _0x23e83d==='number'&&Number[_0x3056c0(0xa5)](_0x23e83d))return _0x23e83d;return undefined;}
|
|
1
|
+
const a183_0x5858a8=a183_0xf945;(function(_0x466a1f,_0x34272a){const _0x243de1=a183_0xf945,_0x4c3aa6=_0x466a1f();while(!![]){try{const _0x247e5e=parseInt(_0x243de1(0x17f))/0x1*(parseInt(_0x243de1(0x15e))/0x2)+parseInt(_0x243de1(0x17b))/0x3*(-parseInt(_0x243de1(0x15a))/0x4)+-parseInt(_0x243de1(0x16e))/0x5*(-parseInt(_0x243de1(0x167))/0x6)+parseInt(_0x243de1(0x181))/0x7+-parseInt(_0x243de1(0x194))/0x8+parseInt(_0x243de1(0x170))/0x9*(parseInt(_0x243de1(0x19d))/0xa)+-parseInt(_0x243de1(0x197))/0xb*(parseInt(_0x243de1(0x189))/0xc);if(_0x247e5e===_0x34272a)break;else _0x4c3aa6['push'](_0x4c3aa6['shift']());}catch(_0xea3715){_0x4c3aa6['push'](_0x4c3aa6['shift']());}}}(a183_0x1bf3,0x6d150));function a183_0xf945(_0x312dd0,_0x4856a7){_0x312dd0=_0x312dd0-0x15a;const _0x1bf3b9=a183_0x1bf3();let _0xf94588=_0x1bf3b9[_0x312dd0];return _0xf94588;}import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x40148a){const _0x2d1e79=a183_0xf945;if(_0x40148a===_0x2d1e79(0x19b))return[_0x2d1e79(0x15b),_0x2d1e79(0x187),_0x2d1e79(0x168),''][_0x2d1e79(0x177)]('\x0a');return[_0x2d1e79(0x15c),''][_0x2d1e79(0x177)]('\x0a');}function a183_0x1bf3(){const _0x22959c=['string','sqlName','db-id','dbId','appCode','trim','flag','str','File\x20already\x20exists:\x20','4283760mGlaTv','mode','nonInteractive','242BOBGdr','map','lockFilePath','sqlCode','mybatisXml','请选择目标数据库:','110EItSZE','SQL\x20query\x20display\x20name','<server-generated-sqlCode>','/smartapi/custom/saveUserCustomSql','sqls','new','168voSHkt','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','SELECT\x201\x20AS\x20id;','lastSync','26LUccOd','dbId\x20必须为正整数','isInteger','toISOString','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','validation','length','Invalid\x20database\x20selection\x20payload:\x20','21570xmLksC','</select>','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','description','适合带动态标签的\x20MyBatis\x20XML\x20SQL','isFinite','stringify','915mNlCvW','create','449892fYubga','请输入\x20SQL\x20名称:','普通\x20SQL(sql)','sqlRoot','flagMissing','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','✎\x20手动输入\x20dbId','join','请输入目标数据库\x20dbId:','dbName','POST','35571EOkQUE','sql','dbId\x20不能为空','sqlRootDir','44045FZrivY','Created\x20SQL\x20query\x20','3954300uieYJu','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','number','parse','name','catch','\x20\x20SELECT\x201\x20AS\x20id','__manual__','471804AIxeDK','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally'];a183_0x1bf3=function(){return _0x22959c;};return a183_0x1bf3();}export const sqlCreate={'service':'sql','command':a183_0x5858a8(0x16f),'description':a183_0x5858a8(0x18a),'risk':'write','flags':[{'name':a183_0x5858a8(0x185),'type':a183_0x5858a8(0x18b),'description':a183_0x5858a8(0x19e)},{'name':a183_0x5858a8(0x18d),'type':a183_0x5858a8(0x183),'description':'Target\x20database\x20ID'},{'name':a183_0x5858a8(0x195),'type':a183_0x5858a8(0x18b),'enum':[a183_0x5858a8(0x17c),a183_0x5858a8(0x19b)],'description':'Local\x20SQL\x20file\x20mode'}],async 'validate'(_0x1c3f09){const _0x364acd=a183_0x5858a8;if(!_0x1c3f09[_0x364acd(0x196)])return;if(!_0x1c3f09[_0x364acd(0x192)](_0x364acd(0x185))[_0x364acd(0x190)]())throw CliErrors[_0x364acd(0x174)](_0x364acd(0x185),_0x364acd(0x175));const _0x1979ff=resolveProvidedDbId(_0x1c3f09);if(typeof _0x1979ff!==_0x364acd(0x183)||!Number[_0x364acd(0x16c)](_0x1979ff)||_0x1979ff<=0x0)throw CliErrors['flagMissing'](_0x364acd(0x18d),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');if(!_0x1c3f09['str'](_0x364acd(0x195))[_0x364acd(0x190)]())throw CliErrors['flagMissing'](_0x364acd(0x195),_0x364acd(0x163));},async 'dryRun'(_0x418b02){const _0x151112=a183_0x5858a8,_0x369ab1=loadSqlProjectConfig(_0x418b02[_0x151112(0x18f)]),{sqlName:_0x4b742c,dbId:_0x2afac9,dbName:_0x24c17c,mode:_0x104d05}=await resolveSqlNewInputs(_0x418b02),_0x5e80be=buildSqlRelativePath(_0x151112(0x19f),_0x4b742c,_0x24c17c,_0x104d05,_0x2afac9),_0x2514f9=_0x369ab1[_0x151112(0x17e)]+'/'+_0x5e80be;return{'method':_0x151112(0x17a),'url':_0x151112(0x1a0),'body':{'appCode':_0x418b02['appCode'],'sqlName':_0x4b742c,'dbId':_0x2afac9,'mode':_0x104d05,'localPath':_0x2514f9},'description':_0x151112(0x162)+_0x369ab1[_0x151112(0x17e)]};},async 'execute'(_0x27630a){const _0x5a3ab6=a183_0x5858a8,_0x1164f5=loadSqlProjectConfig(_0x27630a[_0x5a3ab6(0x18f)]),{sqlName:_0x175ba6,dbId:_0x513232,dbName:_0x4fc8b6,mode:_0x41cfbf}=await resolveSqlNewInputs(_0x27630a),_0x3fc8a5=generateSqlTemplate(_0x41cfbf),_0x2ab7b2=await createSqlQuery({'appCode':_0x27630a[_0x5a3ab6(0x18f)],'sqlName':_0x175ba6,'dbId':_0x513232,'sqlContent':_0x3fc8a5}),_0x490565=ensureRemoteSqlContent(_0x2ab7b2),_0x39d8fe=_0x4fc8b6||await getDbName(_0x27630a[_0x5a3ab6(0x18f)],_0x513232)[_0x5a3ab6(0x186)](()=>undefined),_0x2d70ba=buildSqlRelativePath(_0x2ab7b2[_0x5a3ab6(0x19a)],_0x2ab7b2[_0x5a3ab6(0x18c)],_0x39d8fe,_0x41cfbf,_0x513232),_0x282bcd=_0x1164f5[_0x5a3ab6(0x17e)]+'/'+_0x2d70ba,_0x2a0077=buildLocalSqlFileContent({'sqlCode':_0x2ab7b2['sqlCode'],'sqlName':_0x2ab7b2[_0x5a3ab6(0x18c)],'dbId':_0x2ab7b2[_0x5a3ab6(0x18e)]},_0x490565,{'dbName':_0x39d8fe,'mode':_0x41cfbf,'syncedAt':new Date()[_0x5a3ab6(0x161)](),'description':_0x2ab7b2[_0x5a3ab6(0x16a)]});if(await fileExists(_0x282bcd))throw CliErrors[_0x5a3ab6(0x164)](_0x5a3ab6(0x193)+_0x282bcd);await ensureParentDirectory(_0x282bcd),await writeFile(_0x282bcd,_0x2a0077,'utf8');const _0x4e7142=await readSqlLockFile(_0x1164f5[_0x5a3ab6(0x199)]),{lockData:_0x3bbed8,appLock:_0x5ac157}=ensureSqlLockScope(_0x4e7142??createEmptySqlLock(),_0x1164f5[_0x5a3ab6(0x18f)],_0x1164f5[_0x5a3ab6(0x173)],_0x5a3ab6(0x1a2));return _0x5ac157[_0x5a3ab6(0x1a1)][_0x2ab7b2[_0x5a3ab6(0x19a)]]={...buildSqlLockEntry(_0x2ab7b2,_0x490565,computeSqlContentHash(_0x2a0077),{'dbName':_0x39d8fe}),'path':_0x2d70ba,'mode':_0x41cfbf},_0x5ac157[_0x5a3ab6(0x15d)]=new Date()[_0x5a3ab6(0x161)](),await writeSqlLockFile(_0x1164f5['lockFilePath'],_0x3bbed8),{'ok':!![],'data':{'id':_0x2ab7b2['id'],'sqlCode':_0x2ab7b2[_0x5a3ab6(0x19a)],'sqlName':_0x2ab7b2[_0x5a3ab6(0x18c)],'dbId':_0x2ab7b2['dbId'],'path':_0x282bcd,'mode':_0x41cfbf},'message':_0x5a3ab6(0x180)+_0x2ab7b2[_0x5a3ab6(0x19a)]};}};async function resolveSqlNewInputs(_0x53a6c4){const _0x46bfa9=await resolveSqlNameInput(_0x53a6c4),{dbId:_0x2f8c6f,dbName:_0x4aa093}=await resolveDbSelection(_0x53a6c4),_0x233b98=await resolveSqlModeInput(_0x53a6c4);return{'sqlName':_0x46bfa9,'dbId':_0x2f8c6f,'dbName':_0x4aa093,'mode':_0x233b98};}async function resolveSqlNameInput(_0x46cbf8){const _0x305ce8=a183_0x5858a8,_0x4231ce=_0x46cbf8[_0x305ce8(0x192)](_0x305ce8(0x185))[_0x305ce8(0x190)]();if(_0x4231ce)return _0x4231ce;if(_0x46cbf8['nonInteractive'])throw CliErrors['flagMissing']('name',_0x305ce8(0x175));return(await input({'message':_0x305ce8(0x171),'validate':_0x3c5890=>_0x3c5890[_0x305ce8(0x190)]()?!![]:'SQL\x20名称不能为空'}))[_0x305ce8(0x190)]();}async function resolveDbSelection(_0x207435){const _0x300258=a183_0x5858a8,_0x4cebc2=resolveProvidedDbId(_0x207435);if(typeof _0x4cebc2===_0x300258(0x183)&&Number[_0x300258(0x16c)](_0x4cebc2)&&_0x4cebc2>0x0)return{'dbId':_0x4cebc2,'dbName':await getDbName(_0x207435[_0x300258(0x18f)],_0x4cebc2)[_0x300258(0x186)](()=>undefined)};if(_0x207435['nonInteractive'])throw CliErrors[_0x300258(0x174)](_0x300258(0x18d),_0x300258(0x182));const _0x4e036b=await listDatabases(_0x207435[_0x300258(0x18f)])['catch'](()=>[]);if(_0x4e036b[_0x300258(0x165)]===0x1)return{'dbId':_0x4e036b[0x0][_0x300258(0x18e)],'dbName':_0x4e036b[0x0][_0x300258(0x179)]};if(_0x4e036b['length']>0x1){const _0x510846=await select({'message':_0x300258(0x19c),'choices':[..._0x4e036b[_0x300258(0x198)](_0x57dab4=>({'name':_0x57dab4['dbName']+'\x20('+_0x57dab4['dbId']+')','value':serializeDbSelection(_0x57dab4)})),{'name':_0x300258(0x176),'value':'__manual__'}]});if(_0x510846!==_0x300258(0x188))return deserializeDbSelection(_0x510846);}const _0x37ffca=await input({'message':_0x300258(0x178),'validate':_0x242137=>{const _0x5b0e26=_0x300258,_0x58090b=_0x242137[_0x5b0e26(0x190)]();if(!_0x58090b)return _0x5b0e26(0x17d);const _0x2f6a55=Number(_0x58090b);if(!Number[_0x5b0e26(0x160)](_0x2f6a55)||_0x2f6a55<=0x0)return _0x5b0e26(0x15f);return!![];}});return{'dbId':Number(_0x37ffca['trim']())};}async function resolveSqlModeInput(_0x2436af){const _0x2f7580=a183_0x5858a8,_0x5c4413=_0x2436af['str'](_0x2f7580(0x195))[_0x2f7580(0x190)]();if(_0x5c4413===_0x2f7580(0x17c)||_0x5c4413===_0x2f7580(0x19b))return _0x5c4413;if(_0x2436af[_0x2f7580(0x196)])throw CliErrors[_0x2f7580(0x174)](_0x2f7580(0x195),_0x2f7580(0x163));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x2f7580(0x172),'value':_0x2f7580(0x17c),'description':_0x2f7580(0x169)},{'name':'MyBatis\x20XML(mybatisXml)','value':'mybatisXml','description':_0x2f7580(0x16b)}]});}function serializeDbSelection(_0x286bd7){const _0xe69482=a183_0x5858a8;return JSON[_0xe69482(0x16d)]({'dbId':_0x286bd7[_0xe69482(0x18e)],'dbName':_0x286bd7[_0xe69482(0x179)]});}function deserializeDbSelection(_0x433106){const _0x27232f=a183_0x5858a8;try{const _0x5061f4=JSON[_0x27232f(0x184)](_0x433106);if(typeof _0x5061f4[_0x27232f(0x18e)]===_0x27232f(0x183)&&Number['isFinite'](_0x5061f4[_0x27232f(0x18e)]))return{'dbId':_0x5061f4[_0x27232f(0x18e)],'dbName':_0x5061f4['dbName']};}catch{}throw CliErrors[_0x27232f(0x164)](_0x27232f(0x166)+_0x433106);}function resolveProvidedDbId(_0x41005f){const _0x1f7f78=a183_0x5858a8,_0x58119b=_0x41005f[_0x1f7f78(0x191)](_0x1f7f78(0x18d));if(typeof _0x58119b===_0x1f7f78(0x183)&&Number['isFinite'](_0x58119b))return _0x58119b;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a184_0x52093b=a184_0x5ce8;(function(_0x591c5f,_0x320999){const _0x4f6f2c=a184_0x5ce8,_0x5dc756=_0x591c5f();while(!![]){try{const _0x4f5e88=parseInt(_0x4f6f2c(0x163))/0x1+-parseInt(_0x4f6f2c(0x150))/0x2*(parseInt(_0x4f6f2c(0x15f))/0x3)+parseInt(_0x4f6f2c(0x15b))/0x4+parseInt(_0x4f6f2c(0x166))/0x5+-parseInt(_0x4f6f2c(0x169))/0x6*(-parseInt(_0x4f6f2c(0x151))/0x7)+-parseInt(_0x4f6f2c(0x15e))/0x8+-parseInt(_0x4f6f2c(0x162))/0x9*(parseInt(_0x4f6f2c(0x15a))/0xa);if(_0x4f5e88===_0x320999)break;else _0x5dc756['push'](_0x5dc756['shift']());}catch(_0x4022e9){_0x5dc756['push'](_0x5dc756['shift']());}}}(a184_0x4826,0x6952c));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a184_0x5ce8(_0x2bf7f2,_0x50901c){_0x2bf7f2=_0x2bf7f2-0x14a;const _0x4826a7=a184_0x4826();let _0x5ce8b1=_0x4826a7[_0x2bf7f2];return _0x5ce8b1;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a184_0x52093b(0x14e),'command':'delete','description':a184_0x52093b(0x159),'risk':a184_0x52093b(0x16e),'flags':[SQLCODE_FLAG],async 'validate'(_0x5216a4){const _0x493547=a184_0x52093b,_0x5a5808=loadSqlProjectConfig(_0x5216a4[_0x493547(0x152)]),_0x7dd726=await readSqlLockFile(_0x5a5808[_0x493547(0x16b)]);if(!_0x7dd726)throw CliErrors['validation'](_0x493547(0x14a));},async 'dryRun'(_0x2d7367){const _0x4d4200=a184_0x52093b,_0x50a722=loadSqlProjectConfig(_0x2d7367['appCode']),_0x5d8386=await readSqlLockFile(_0x50a722['lockFilePath']);if(!_0x5d8386)throw CliErrors[_0x4d4200(0x14d)](_0x4d4200(0x14a));const {appLock:_0x2e1131}=ensureSqlLockScope(_0x5d8386,_0x2d7367['appCode'],_0x50a722[_0x4d4200(0x158)],'delete'),_0x59bcca=_0x2d7367[_0x4d4200(0x14c)](_0x4d4200(0x164)),_0x37cd13=_0x2e1131[_0x4d4200(0x153)][_0x59bcca];if(!_0x37cd13)throw CliErrors[_0x4d4200(0x14d)](_0x4d4200(0x14f)+_0x59bcca+'\x22.');return{'method':_0x4d4200(0x15c),'url':_0x4d4200(0x157),'body':{'sqlCode':_0x59bcca,'id':_0x37cd13[_0x4d4200(0x156)],'localPath':resolveLocalSqlFilePath(_0x50a722,_0x59bcca,_0x37cd13)},'description':'Would\x20delete\x20SQL\x20'+_0x59bcca+_0x4d4200(0x161)+_0x50a722[_0x4d4200(0x167)]};},async 'execute'(_0x40d6c1){const _0x1a56e8=a184_0x52093b,_0x111dcd=loadSqlProjectConfig(_0x40d6c1[_0x1a56e8(0x152)]),_0x14b26e=await readSqlLockFile(_0x111dcd[_0x1a56e8(0x16b)]);if(!_0x14b26e)throw CliErrors['validation'](_0x1a56e8(0x15d));const {lockData:_0x50992c,appLock:_0x117398}=ensureSqlLockScope(_0x14b26e,_0x40d6c1[_0x1a56e8(0x152)],_0x111dcd[_0x1a56e8(0x158)],'delete'),_0x2b099c=_0x40d6c1[_0x1a56e8(0x14c)]('sqlcode'),_0x53ff93=_0x117398[_0x1a56e8(0x153)][_0x2b099c];if(!_0x53ff93)throw CliErrors[_0x1a56e8(0x14d)](_0x1a56e8(0x14f)+_0x2b099c+'\x22.');await deleteSqlQuery({'id':_0x53ff93[_0x1a56e8(0x156)],'sqlCode':_0x2b099c}),_0x117398[_0x1a56e8(0x153)]=Object['fromEntries'](Object[_0x1a56e8(0x168)](_0x117398[_0x1a56e8(0x153)])[_0x1a56e8(0x165)](([_0x586c93])=>_0x586c93!==_0x2b099c)),_0x117398['lastSync']=new Date()[_0x1a56e8(0x14b)](),await writeSqlLockFile(_0x111dcd[_0x1a56e8(0x16b)],_0x50992c);const _0x1bb3af=resolveLocalSqlFilePath(_0x111dcd,_0x2b099c,_0x53ff93);let _0x18440d;await fileExists(_0x1bb3af)&&(_0x18440d=await moveToTrash(_0x111dcd[_0x1a56e8(0x155)],_0x111dcd['trashDir'],_0x1bb3af),await cleanupEmptyDirectories(dirname(_0x1bb3af),_0x111dcd[_0x1a56e8(0x16c)]));const _0x371ac0={'deleted':_0x2b099c,'remoteId':_0x53ff93['remoteId']};if(_0x18440d)_0x371ac0[_0x1a56e8(0x16a)]=_0x18440d;return{'ok':!![],'data':_0x371ac0,'message':'Deleted\x20'+_0x2b099c+(_0x18440d?_0x1a56e8(0x154):'')};}};async function moveToTrash(_0x3454d9,_0x4f99b7,_0x5478d2){const _0x41409b=a184_0x52093b,_0x139964=new Date()['toISOString']()[_0x41409b(0x160)](/[:.]/g,'-'),_0x2b0daa=relative(_0x3454d9,_0x5478d2),_0x2dda4f=join(_0x4f99b7,_0x139964,_0x2b0daa);return await mkdir(dirname(_0x2dda4f),{'recursive':!![]}),await rename(_0x5478d2,_0x2dda4f),_0x2dda4f;}function a184_0x4826(){const _0x2f7ab3=['trashDir','entries','7530zQUVeT','trashedTo','lockFilePath','sqlRootDir','startsWith','high-risk-write','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','toISOString','str','validation','sql','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','915892DBpybd','2891HDvLAN','appCode','sqls','\x20(local\x20file\x20moved\x20to\x20trash)','projectRoot','remoteId','/smartapi/custom/deleteUserCustomSql','sqlRoot','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','91300fnDyOv','1174536qNyfiV','POST','SQL\x20lock\x20file\x20not\x20found.','1916200uKLcgT','3xHENQY','replace','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','117rsGzDr','355850ZZgRIs','sqlcode','filter','398830zmGzuC'];a184_0x4826=function(){return _0x2f7ab3;};return a184_0x4826();}async function cleanupEmptyDirectories(_0x4d2843,_0x5862f7){const _0x4d7616=a184_0x52093b;let _0x55c9ea=resolve(_0x4d2843);const _0x43fc8b=resolve(_0x5862f7);while(_0x55c9ea[_0x4d7616(0x16d)](''+_0x43fc8b+sep)||_0x55c9ea===_0x43fc8b){if(_0x55c9ea===_0x43fc8b)return;try{const _0x35870e=await readdir(_0x55c9ea);if(_0x35870e['length']>0x0)return;await rmdir(_0x55c9ea);}catch{return;}_0x55c9ea=dirname(_0x55c9ea);}}
|