@lovrabet/rabetbase-cli 2.4.1 → 2.4.3-beta.1
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 +8 -4
- 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_0xf2d6f1=a170_0xa71e;(function(_0x84f389,_0x117a05){const _0x4d88c3=a170_0xa71e,_0x56ec43=_0x84f389();while(!![]){try{const _0x3cdc5b=-parseInt(_0x4d88c3(0x222))/0x1*(parseInt(_0x4d88c3(0x238))/0x2)+-parseInt(_0x4d88c3(0x202))/0x3+-parseInt(_0x4d88c3(0x21f))/0x4+-parseInt(_0x4d88c3(0x249))/0x5+-parseInt(_0x4d88c3(0x240))/0x6*(-parseInt(_0x4d88c3(0x23c))/0x7)+-parseInt(_0x4d88c3(0x21e))/0x8*(-parseInt(_0x4d88c3(0x216))/0x9)+-parseInt(_0x4d88c3(0x245))/0xa*(-parseInt(_0x4d88c3(0x1f5))/0xb);if(_0x3cdc5b===_0x117a05)break;else _0x56ec43['push'](_0x56ec43['shift']());}catch(_0x178e1f){_0x56ec43['push'](_0x56ec43['shift']());}}}(a170_0x1861,0x287a3));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';function a170_0xa71e(_0x296db9,_0x1e4d88){_0x296db9=_0x296db9-0x1ed;const _0x1861ec=a170_0x1861();let _0xa71ec9=_0x1861ec[_0x296db9];return _0xa71ec9;}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';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';function a170_0x1861(){const _0x20e984=['Async\x20Tasks','skill:install','command','Platform\x20Issue','knowledge-base:update','show','File','app:remove','menu:update','rabetbase\x20workspace\x20use\x20--app\x20<name>','map','bff:new','app:remote','rabetbase\x20workspace\x20remove\x20<name>','knowledge-base:detail','skills:','Self\x20Update','27ENOUdX','rabetbase\x20cli-skill\x20install','Instant\x20API','knowledge-base:delete','Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages','User\x20Accounts','OCR','Roles','678488QyJauY','487304gpQrPq','from','length','228082VgdTzR','App\x20Management','\x20\x20[high-risk-write]','\x20\x20[write]','`rabetbase\x20','wildcardDef','run','skills:install','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','rabetbase\x20kb\x20detail','read','description','Project','Notification\x20Configuration','API\x20Development','Runtime\x20App\x20Config\x20Management','CLI\x20Built-in\x20Skill','has','Run\x20Scripts','logout','project:init','rabetbase\x20menu\x20asset-update','2BYqiFI','install','rabetbase\x20kb\x20delete','app:use','98vvudfn','rabetbase\x20run\x20start','app:add','Workspace','22146ssnPyM','build','Run\x20any\x20package.json\x20script','rabetbase\x20auth\x20logout','rabetbase\x20project\x20create\x20<project-name>','10GiIbPF','service','rabetbase\x20run\x20build','knowledge-base:create','854715mStgKs','Configuration','Schema','write','set','rabetbase\x20kb\x20create','risk','Dataset\x20&\x20Operations','isSingleCommand','4954114USiavA','hidden','rabetbase\x20bff\x20create','get','Menu','rabetbase\x20app\x20list\x20--remote','values','Quick\x20Start','Company\x20Knowledge\x20Base','\x20\x20[','defaultCommand','`\x20has\x20been\x20removed.','login','209505iGzgAI','Database\x20Connections','create'];a170_0x1861=function(){return _0x20e984;};return a170_0x1861();}export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x491406){const _0x1be160=a170_0xa71e;for(const _0x160524 of _0x491406){definitions[_0x1be160(0x1f0)](_0x160524[_0x1be160(0x246)]+':'+_0x160524[_0x1be160(0x207)],_0x160524);let _0x290d60=serviceGroups[_0x1be160(0x1f8)](_0x160524[_0x1be160(0x246)]);!_0x290d60&&(_0x290d60=[],serviceGroups[_0x1be160(0x1f0)](_0x160524['service'],_0x290d60)),_0x290d60['push'](_0x160524);}}function registerDeclarativeService(_0x187e25,_0xe77c72,_0x310031){const _0x34a425=a170_0xa71e;registerDefinitions(_0xe77c72);_0x310031?.['wildcardDef']&®isterDefinitions([_0x310031[_0x34a425(0x227)]]);const _0x42423a=_0x450d82=>_0x450d82===_0x34a425(0x22c)?'':_0x450d82===_0x34a425(0x1ef)?_0x34a425(0x225):_0x34a425(0x224),_0x3aae92={'service':_0xe77c72[0x0][_0x34a425(0x246)],'label':_0x187e25,'commands':_0xe77c72['filter'](_0x48e882=>!_0x48e882[_0x34a425(0x1f6)])[_0x34a425(0x20f)](_0x4fc751=>({'command':_0x4fc751['command'],'description':_0x4fc751[_0x34a425(0x22d)],'tag':_0x42423a(_0x4fc751[_0x34a425(0x1f2)])})),'declarative':!![],'defaultCommand':_0x310031?.[_0x34a425(0x1ff)]??(_0x310031?.[_0x34a425(0x1f4)]?_0xe77c72[0x0][_0x34a425(0x207)]:undefined),'wildcardDef':_0x310031?.[_0x34a425(0x227)],'isSingleCommand':_0x310031?.['isSingleCommand']};serviceRegistry['push'](_0x3aae92),serviceByName[_0x34a425(0x1f0)](_0x3aae92[_0x34a425(0x246)],_0x3aae92);}registerDeclarativeService(a170_0xf2d6f1(0x1fc),initDefinitions,{'defaultCommand':a170_0xf2d6f1(0x228),'isSingleCommand':!![]}),registerDeclarativeService(a170_0xf2d6f1(0x22e),projectDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x23f),workspaceDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x223),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a170_0xf2d6f1(0x201)}),registerDeclarativeService('Tenant\x20Members',tenantDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x21b),userAccountDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x1f3),datasetDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x21a),pageDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x230),apiDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x218),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x22f),notificationDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x203),dbDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x1f9),menuDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x205),taskDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x21d),roleDefinitions),registerDeclarativeService('Permissions',permitDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x231),appConfigDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x1fd),kbDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x208),issueDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x20b),fileDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x21c),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a170_0xf2d6f1(0x1ed),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0xf2d6f1(0x1ee),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0xf2d6f1(0x215),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a170_0xf2d6f1(0x232),cliSkillDefinitions,{'defaultCommand':a170_0xf2d6f1(0x239)}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':a170_0xf2d6f1(0x20a)}),registerDeclarativeService(a170_0xf2d6f1(0x234),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a170_0xf2d6f1(0x221)]-0x1];last['commands']=[{'command':'<script>','description':a170_0xf2d6f1(0x242),'tag':a170_0xf2d6f1(0x1fe)+runDefinition[a170_0xf2d6f1(0x1f2)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([['sql:save','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml'],[a170_0xf2d6f1(0x210),a170_0xf2d6f1(0x1f7)],['sql:new','rabetbase\x20sql\x20create'],[a170_0xf2d6f1(0x20d),a170_0xf2d6f1(0x237)],[a170_0xf2d6f1(0x236),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],['skill:',a170_0xf2d6f1(0x217)],[a170_0xf2d6f1(0x206),a170_0xf2d6f1(0x217)],[a170_0xf2d6f1(0x214),'rabetbase\x20cli-skill\x20install'],[a170_0xf2d6f1(0x229),a170_0xf2d6f1(0x217)],[a170_0xf2d6f1(0x211),a170_0xf2d6f1(0x1fa)],[a170_0xf2d6f1(0x23b),a170_0xf2d6f1(0x20e)],[a170_0xf2d6f1(0x23e),a170_0xf2d6f1(0x22a)],[a170_0xf2d6f1(0x20c),a170_0xf2d6f1(0x212)],['knowledge-base:list','rabetbase\x20kb\x20list'],[a170_0xf2d6f1(0x213),a170_0xf2d6f1(0x22b)],[a170_0xf2d6f1(0x248),a170_0xf2d6f1(0x1f1)],[a170_0xf2d6f1(0x209),'rabetbase\x20kb\x20update'],[a170_0xf2d6f1(0x219),a170_0xf2d6f1(0x23a)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a170_0xf2d6f1(0x204),a170_0xf2d6f1(0x244)],['start',a170_0xf2d6f1(0x23d)],[a170_0xf2d6f1(0x241),a170_0xf2d6f1(0x247)],['preview','rabetbase\x20run\x20preview'],[a170_0xf2d6f1(0x235),a170_0xf2d6f1(0x243)]]);export function resolveRemovedCommand(_0x4a9c65,_0x42403a){const _0x4ffb09=a170_0xf2d6f1;if(!_0x4a9c65)return undefined;const _0x4816c7=REMOVED_COMMAND_REPLACEMENTS['get'](_0x4a9c65+':'+(_0x42403a??'')),_0x4c1bcf=REMOVED_FLAT_COMMAND_REPLACEMENTS['get'](_0x4a9c65),_0x38560e=_0x4816c7??_0x4c1bcf;if(!_0x38560e)return undefined;const _0x287341=_0x4c1bcf?_0x4a9c65:_0x42403a?_0x4a9c65+'\x20'+_0x42403a:_0x4a9c65;return{'command':_0x287341,'message':_0x4ffb09(0x226)+_0x287341+_0x4ffb09(0x200),'hint':'Use\x20`'+_0x38560e+'`\x20instead.'};}export function findDefinition(_0x156811,_0x193975){return definitions['get'](_0x156811+':'+_0x193975);}export function isKnownService(_0x3c1f6a){const _0x344b29=a170_0xf2d6f1;return serviceByName[_0x344b29(0x233)](_0x3c1f6a);}export function isDeclarativeService(_0x1ff3e1){const _0x50a552=a170_0xf2d6f1;return serviceGroups[_0x50a552(0x233)](_0x1ff3e1)||serviceByName[_0x50a552(0x1f8)](_0x1ff3e1)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x47b79d){const _0x17193a=a170_0xf2d6f1;return serviceByName[_0x17193a(0x1f8)](_0x47b79d);}export function getLegacyHandler(_0x3dc00d,_0x4c3d25){return undefined;}export function getAllDefinitions(){const _0x11e2e3=a170_0xf2d6f1;return Array[_0x11e2e3(0x220)](definitions[_0x11e2e3(0x1fb)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a171_0x15855a=a171_0x3213;(function(_0x3d0310,_0x2f5249){const _0x3e43a3=a171_0x3213,_0x357d23=_0x3d0310();while(!![]){try{const _0x48f4f7=-parseInt(_0x3e43a3(0x1bd))/0x1*(parseInt(_0x3e43a3(0x1b9))/0x2)+-parseInt(_0x3e43a3(0x1be))/0x3*(-parseInt(_0x3e43a3(0x1c8))/0x4)+parseInt(_0x3e43a3(0x1c5))/0x5+-parseInt(_0x3e43a3(0x1b7))/0x6*(parseInt(_0x3e43a3(0x1c7))/0x7)+parseInt(_0x3e43a3(0x1ba))/0x8+-parseInt(_0x3e43a3(0x1b8))/0x9+parseInt(_0x3e43a3(0x1cb))/0xa*(parseInt(_0x3e43a3(0x1b6))/0xb);if(_0x48f4f7===_0x2f5249)break;else _0x357d23['push'](_0x357d23['shift']());}catch(_0x213420){_0x357d23['push'](_0x357d23['shift']());}}}(a171_0x4d27,0x587f7));function a171_0x3213(_0x25feeb,_0x575aa4){_0x25feeb=_0x25feeb-0x1b5;const _0x4d272f=a171_0x4d27();let _0x32133d=_0x4d272f[_0x25feeb];return _0x32133d;}function a171_0x4d27(){const _0x9ab40d=['1570383seABQi','1042lvQwHf','168464wBltpC','str','remark','34RQbzVy','9JfXBXe','CUSTOM','name','role','create','flagMissing','trim','1990815rMdgWU','POST','576254mJGjgJ','91388PyQGGx','Created\x20role\x20','\x20(id=','20YBjTfL','/smartapi/permit/role/create','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','length','write','820864LqFOTT','6XizXUz'];a171_0x4d27=function(){return _0x9ab40d;};return a171_0x4d27();}import{createAppRole}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{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a171_0x15855a(0x1cc);function readName(_0x14de24){const _0x10f1a0=a171_0x15855a,_0x4335f5=_0x14de24[_0x10f1a0(0x1bb)](_0x10f1a0(0x1c0))[_0x10f1a0(0x1c4)]();if(!_0x4335f5)throw CliErrors[_0x10f1a0(0x1c3)](_0x10f1a0(0x1c0),'Pass\x20--name\x20<roleName>.');if(_0x4335f5[_0x10f1a0(0x1ce)]>0x40)throw CliErrors['validation'](_0x10f1a0(0x1cd));return _0x4335f5;}export const roleCreate={'service':a171_0x15855a(0x1c1),'command':a171_0x15855a(0x1c2),'description':'Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','risk':a171_0x15855a(0x1b5),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x222145){readName(_0x222145);},async 'dryRun'(_0x5a10ab){const _0x260b1a=a171_0x15855a,_0x47c693=readName(_0x5a10ab),_0x18f714=_0x5a10ab[_0x260b1a(0x1bb)](_0x260b1a(0x1bc))[_0x260b1a(0x1c4)]()||undefined;return asDryRunResult({'operation':_0x260b1a(0x1c2),'selector':{'appCode':_0x5a10ab['appCode'],'roleName':_0x47c693},'before':null,'after':{'roleName':_0x47c693,'roleType':_0x260b1a(0x1bf),'remark':_0x18f714},'dryRun':!![],'backend':{'method':_0x260b1a(0x1c6),'path':CREATE_PATH},'warnings':[]},{'method':_0x260b1a(0x1c6),'url':CREATE_PATH});},async 'execute'(_0x3b5125){const _0x3f91de=a171_0x15855a,_0xabc87e=readName(_0x3b5125),_0x5e6d15=_0x3b5125[_0x3f91de(0x1bb)]('remark')[_0x3f91de(0x1c4)]()||undefined,_0x32bd57=await createAppRole({'appCode':_0x3b5125['appCode'],'roleName':_0xabc87e,..._0x5e6d15?{'remark':_0x5e6d15}:{}});return{'ok':!![],'data':{'operation':_0x3f91de(0x1c2),'selector':{'appCode':_0x3b5125['appCode'],'roleId':_0x32bd57['id'],'roleName':_0xabc87e},'before':null,'after':projectRole(_0x32bd57),'dryRun':![],'backend':{'method':_0x3f91de(0x1c6),'path':CREATE_PATH},'warnings':[]},'message':_0x3f91de(0x1c9)+_0x32bd57['roleName']+_0x3f91de(0x1ca)+_0x32bd57['id']+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a172_0x1855f8=a172_0x9dc7;(function(_0x5b81a0,_0x5770c1){const _0x13f425=a172_0x9dc7,_0x354c7a=_0x5b81a0();while(!![]){try{const _0x803f81=-parseInt(_0x13f425(0x10d))/0x1+-parseInt(_0x13f425(0x10e))/0x2+-parseInt(_0x13f425(0x106))/0x3*(parseInt(_0x13f425(0x111))/0x4)+-parseInt(_0x13f425(0x108))/0x5+-parseInt(_0x13f425(0x113))/0x6*(parseInt(_0x13f425(0x114))/0x7)+-parseInt(_0x13f425(0x101))/0x8+parseInt(_0x13f425(0x10a))/0x9;if(_0x803f81===_0x5770c1)break;else _0x354c7a['push'](_0x354c7a['shift']());}catch(_0x150374){_0x354c7a['push'](_0x354c7a['shift']());}}}(a172_0x2c78,0x1a32b));import{deleteAppRole}from'../../core/api-client.js';function a172_0x9dc7(_0x41eb51,_0x38df3b){_0x41eb51=_0x41eb51-0x100;const _0x2c78e8=a172_0x2c78();let _0x9dc7ae=_0x2c78e8[_0x41eb51];return _0x9dc7ae;}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_0x2c78(){const _0x3e31c5=['6470757DClfog','roleName','high-risk-write','47596HGgHCG','353144cqPgMy','appCode','POST','4UKWgxS','\x20(id=','87168jsStnT','77JqJurI','num','370648wXNPVm','role','delete','userCount','/smartapi/permit/role/delete','103839Llbbbr','Role\x20still\x20has\x20','733730mruhlT','Deleted\x20role\x20'];a172_0x2c78=function(){return _0x3e31c5;};return a172_0x2c78();}const DELETE_PATH=a172_0x1855f8(0x105);export const roleDelete={'service':a172_0x1855f8(0x102),'command':a172_0x1855f8(0x103),'description':'Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','risk':a172_0x1855f8(0x10c),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4f84c3){const _0x3250b8=a172_0x1855f8,_0x5128d5=_0x4f84c3[_0x3250b8(0x100)]('id'),_0x4f51c6=await getRoleById(_0x4f84c3['appCode'],_0x5128d5);return assertCustomRole(_0x4f51c6,_0x3250b8(0x103)),asDryRunResult({'operation':_0x3250b8(0x103),'selector':{'appCode':_0x4f84c3[_0x3250b8(0x10f)],'roleId':_0x5128d5,'roleName':_0x4f51c6[_0x3250b8(0x10b)]},'before':projectRole(_0x4f51c6),'after':null,'dryRun':!![],'backend':{'method':_0x3250b8(0x110),'path':DELETE_PATH},'warnings':_0x4f51c6[_0x3250b8(0x104)]>0x0?[_0x3250b8(0x107)+_0x4f51c6[_0x3250b8(0x104)]+'\x20member(s);\x20they\x20will\x20lose\x20this\x20group.']:[]},{'method':_0x3250b8(0x110),'url':DELETE_PATH});},async 'execute'(_0x82426d){const _0x4c4d87=a172_0x1855f8,_0x2dac5e=_0x82426d[_0x4c4d87(0x100)]('id'),_0xe0a8ef=await getRoleById(_0x82426d['appCode'],_0x2dac5e);return assertCustomRole(_0xe0a8ef,_0x4c4d87(0x103)),await deleteAppRole(_0x2dac5e),{'ok':!![],'data':{'operation':_0x4c4d87(0x103),'selector':{'appCode':_0x82426d[_0x4c4d87(0x10f)],'roleId':_0x2dac5e,'roleName':_0xe0a8ef[_0x4c4d87(0x10b)]},'before':projectRole(_0xe0a8ef),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':_0x4c4d87(0x109)+_0xe0a8ef['roleName']+_0x4c4d87(0x112)+_0x2dac5e+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a173_0x155907=a173_0x5ebe;function a173_0x2143(){const _0x1ac0e6=['1645HfnkGy','3075loKhUv','Role\x20','roleType','3178080nwuGvu','7812850eQkIYQ','47997NnFlPZ','appCode','num','detail','5656140BCegHE','9cjegbb','24864wjvIiZ','119320mkGxwn','read','436arvNMR'];a173_0x2143=function(){return _0x1ac0e6;};return a173_0x2143();}(function(_0x557fd7,_0x5798d6){const _0x13bd7d=a173_0x5ebe,_0x5390a7=_0x557fd7();while(!![]){try{const _0x3cda96=parseInt(_0x13bd7d(0x1a5))/0x1*(-parseInt(_0x13bd7d(0x1a7))/0x2)+-parseInt(_0x13bd7d(0x1a0))/0x3+-parseInt(_0x13bd7d(0x199))/0x4*(parseInt(_0x13bd7d(0x19b))/0x5)+parseInt(_0x13bd7d(0x19e))/0x6+parseInt(_0x13bd7d(0x19a))/0x7*(parseInt(_0x13bd7d(0x1a6))/0x8)+parseInt(_0x13bd7d(0x1a4))/0x9+-parseInt(_0x13bd7d(0x19f))/0xa;if(_0x3cda96===_0x5798d6)break;else _0x5390a7['push'](_0x5390a7['shift']());}catch(_0x18e516){_0x5390a7['push'](_0x5390a7['shift']());}}}(a173_0x2143,0x76f5d));function a173_0x5ebe(_0x12ee64,_0x1cfc06){_0x12ee64=_0x12ee64-0x199;const _0x21439e=a173_0x2143();let _0x5ebee9=_0x21439e[_0x12ee64];return _0x5ebee9;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':'role','command':a173_0x155907(0x1a3),'description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a173_0x155907(0x1a8),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0xdc7f3b){const _0xde3f2a=a173_0x155907,_0x2fdc2d=_0xdc7f3b[_0xde3f2a(0x1a2)]('id'),_0x30650c=await getRoleById(_0xdc7f3b[_0xde3f2a(0x1a1)],_0x2fdc2d);return{'ok':!![],'data':{'role':projectRole(_0x30650c)},'message':_0xde3f2a(0x19c)+_0x30650c['roleName']+'\x20('+_0x30650c[_0xde3f2a(0x19d)]+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3c1de3,_0x4d3398){const _0x5c1287=a174_0x44e6,_0x387eca=_0x3c1de3();while(!![]){try{const _0xd3b8=parseInt(_0x5c1287(0xeb))/0x1*(parseInt(_0x5c1287(0xea))/0x2)+parseInt(_0x5c1287(0xef))/0x3*(parseInt(_0x5c1287(0xee))/0x4)+-parseInt(_0x5c1287(0xe8))/0x5*(parseInt(_0x5c1287(0xed))/0x6)+parseInt(_0x5c1287(0xe5))/0x7*(-parseInt(_0x5c1287(0xe9))/0x8)+-parseInt(_0x5c1287(0xe6))/0x9*(-parseInt(_0x5c1287(0xe4))/0xa)+parseInt(_0x5c1287(0xec))/0xb*(parseInt(_0x5c1287(0xe7))/0xc)+parseInt(_0x5c1287(0xe3))/0xd;if(_0xd3b8===_0x4d3398)break;else _0x387eca['push'](_0x387eca['shift']());}catch(_0x376259){_0x387eca['push'](_0x387eca['shift']());}}}(a174_0x54e5,0xa26a4));function a174_0x54e5(){const _0x1e03f7=['10zExYYl','48DdOuQu','749174NfKDFz','1bWpuaD','550uOdTmR','3575298lXZuWJ','1599604zoqGIM','6kkATlP','16875664aZLINp','782090LLtHUX','1226722vAGLxJ','27rMaBwu','48324SzsFUE'];a174_0x54e5=function(){return _0x1e03f7;};return a174_0x54e5();}import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';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';function a174_0x44e6(_0x2b07a1,_0x4b3c85){_0x2b07a1=_0x2b07a1-0xe3;const _0x54e5f5=a174_0x54e5();let _0x44e6fc=_0x54e5f5[_0x2b07a1];return _0x44e6fc;}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_0x15ea57=a175_0x7fa9;(function(_0x4f3fc0,_0x20ec77){const _0x3a483f=a175_0x7fa9,_0x868ec1=_0x4f3fc0();while(!![]){try{const _0x28f1ab=parseInt(_0x3a483f(0xb0))/0x1+-parseInt(_0x3a483f(0xb1))/0x2*(-parseInt(_0x3a483f(0xc4))/0x3)+parseInt(_0x3a483f(0xb6))/0x4*(-parseInt(_0x3a483f(0xa5))/0x5)+-parseInt(_0x3a483f(0xc6))/0x6+parseInt(_0x3a483f(0xc5))/0x7+parseInt(_0x3a483f(0xa9))/0x8*(parseInt(_0x3a483f(0xae))/0x9)+parseInt(_0x3a483f(0xa8))/0xa*(-parseInt(_0x3a483f(0xc1))/0xb);if(_0x28f1ab===_0x20ec77)break;else _0x868ec1['push'](_0x868ec1['shift']());}catch(_0x1449af){_0x868ec1['push'](_0x868ec1['shift']());}}}(a175_0x4521,0x3a778));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a175_0x4521(){const _0x291f92=['Use\x20one\x20of:\x20','USER','Filter\x20by\x20role\x20type','711xEVbHe','Invalid\x20--type\x20\x22','388386HxYUTP','4PSKwDo','num','validation','toUpperCase','str','844OKskab','map','read','DEV','string','number','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','Page\x20size\x20(1-100)','list','type','role','1287WuyPqm','includes','page','311805NvsshX','2507498scnIgR','2572434EPDoYw','CUSTOM','trim','filter','6535bGXzCD','pagesize','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','31030EdoIjf','35704XOaDzZ','Page\x20index\x20(1-based)'];a175_0x4521=function(){return _0x291f92;};return a175_0x4521();}import{projectRole}from'../../commands/role/shared.js';function a175_0x7fa9(_0x133e83,_0x1d54f9){_0x133e83=_0x133e83-0xa4;const _0x452146=a175_0x4521();let _0x7fa9d7=_0x452146[_0x133e83];return _0x7fa9d7;}const ROLE_TYPES=['ADMIN',a175_0x15ea57(0xb9),a175_0x15ea57(0xac),a175_0x15ea57(0xc7)];export const roleList={'service':a175_0x15ea57(0xc0),'command':a175_0x15ea57(0xbe),'description':'List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','risk':a175_0x15ea57(0xb8),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a175_0x15ea57(0xbf),'type':a175_0x15ea57(0xba),'required':![],'description':a175_0x15ea57(0xad),'enum':ROLE_TYPES},{'name':a175_0x15ea57(0xc3),'type':a175_0x15ea57(0xbb),'description':a175_0x15ea57(0xaa),'default':0x1},{'name':a175_0x15ea57(0xa6),'type':a175_0x15ea57(0xbb),'description':a175_0x15ea57(0xbd),'default':0x64}],async 'validate'(_0x48fa09){const _0x479325=a175_0x15ea57,_0x5771a5=_0x48fa09[_0x479325(0xb5)]('type')[_0x479325(0xc8)]();if(_0x5771a5&&!ROLE_TYPES[_0x479325(0xc2)](_0x5771a5[_0x479325(0xb4)]()))throw CliErrors['validation'](_0x479325(0xaf)+_0x5771a5+'\x22.',_0x479325(0xab)+ROLE_TYPES['join'](',\x20')+'.');const _0x3f2d85=_0x48fa09[_0x479325(0xb2)]('page',0x1),_0x21352c=_0x48fa09[_0x479325(0xb2)](_0x479325(0xa6),0x64);if(_0x3f2d85<0x1)throw CliErrors[_0x479325(0xb3)](_0x479325(0xa7));if(_0x21352c<0x1||_0x21352c>0x64)throw CliErrors[_0x479325(0xb3)](_0x479325(0xbc));},async 'execute'(_0xd352d7){const _0x3a0abc=a175_0x15ea57,_0x5641a2=_0xd352d7[_0x3a0abc(0xb2)](_0x3a0abc(0xc3),0x1)||0x1,_0x5370b1=_0xd352d7[_0x3a0abc(0xb2)](_0x3a0abc(0xa6),0x64)||0x64,_0x5705cf=_0xd352d7['str']('type')[_0x3a0abc(0xc8)]()[_0x3a0abc(0xb4)](),{items:_0x991ee2,paging:_0x2d548e}=await listAppRoles(_0xd352d7['appCode'],{'currentPage':_0x5641a2,'pageSize':_0x5370b1}),_0x513690=_0x5705cf?_0x991ee2[_0x3a0abc(0xa4)](_0x3ed1bf=>_0x3ed1bf['roleType']===_0x5705cf):_0x991ee2,_0x46cfb0=_0x513690[_0x3a0abc(0xb7)](projectRole);return{'ok':!![],'data':{'roles':_0x46cfb0,'paging':_0x2d548e},'message':'Found\x20'+_0x46cfb0['length']+'\x20role(s)'};}};
|
|
@@ -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_0x4d4394=a176_0x4098;(function(_0x52ef5f,_0x3ef86d){const _0x1e829a=a176_0x4098,_0x11e841=_0x52ef5f();while(!![]){try{const _0x53902b=parseInt(_0x1e829a(0x1c7))/0x1+-parseInt(_0x1e829a(0x1b9))/0x2*(-parseInt(_0x1e829a(0x1b7))/0x3)+-parseInt(_0x1e829a(0x1a9))/0x4+parseInt(_0x1e829a(0x1bb))/0x5*(parseInt(_0x1e829a(0x199))/0x6)+-parseInt(_0x1e829a(0x1d1))/0x7*(-parseInt(_0x1e829a(0x1b0))/0x8)+-parseInt(_0x1e829a(0x1b2))/0x9*(-parseInt(_0x1e829a(0x1d9))/0xa)+-parseInt(_0x1e829a(0x19f))/0xb;if(_0x53902b===_0x3ef86d)break;else _0x11e841['push'](_0x11e841['shift']());}catch(_0x146c74){_0x11e841['push'](_0x11e841['shift']());}}}(a176_0x3159,0x2f1f2));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_0x4d4394(0x1ca),'required':!![],'description':'Role\x20id\x20(from\x20`role\x20list`)'};function a176_0x3159(){const _0x105b23=['authRequired','find','Disambiguate\x20with\x20--role\x20<id>.','tenant_code','Role\x20name','No\x20tenant\x20member\x20matches\x20\x22','nickname','\x20not\x20found\x20in\x20app\x20','118805TluyXH','user-add','string','number','str','Missing\x20role\x20reference.','Missing\x20user\x20reference.','join','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','user','2515261ZyjxbY','roleName','\x22\x20is\x20ambiguous\x20(ids:\x20','splice','Cannot\x20','Role\x20name\x20\x22','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','50WxKSCv','Optional\x20role\x20remark/description','dryRun','findIndex','role','remark','Role\x20id\x20','POST','\x22\x20not\x20found\x20in\x20app\x20','\x20built-in\x20role\x20','toLowerCase','expectUserCount','\x20not\x20found\x20in\x20the\x20user-role\x20list.','Pass\x20--role\x20<id|name>.','/smartapi/permit/user-role/update-user-list','CUSTOM','tenant','push','DEV','36780BhCFXI','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','expect-user-count','Multiple\x20tenant\x20members\x20match\x20\x22','appCode','Pass\x20--user\x20<id|name>.','8416518qaFnzc','filter','permitCount','flagMissing','userCount','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','ADMIN','length','trim','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','3476rCJfwb','username','\x20is\x20already\x20a\x20member\x20of\x20role\x20','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','\x20is\x20not\x20a\x20member\x20of\x20role\x20','map','roleType','8xxcEJo','validation','544878msxkft','\x20member(s)\x20but\x20role\x20has\x20','Disambiguate\x20with\x20--user\x20<id>.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','name','516147ZWjJGM',';\x20no\x20change.','2lytZfN','userId','5SNxFwe','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','User\x20','USER'];a176_0x3159=function(){return _0x105b23;};return a176_0x3159();}export const ROLE_REF_FLAG={'name':'role','type':a176_0x4d4394(0x1c9),'required':!![],'description':a176_0x4d4394(0x1d8)};export const USER_REF_FLAG={'name':a176_0x4d4394(0x1d0),'type':a176_0x4d4394(0x1c9),'required':!![],'description':a176_0x4d4394(0x1a4)};export const NAME_FLAG={'name':a176_0x4d4394(0x1b6),'type':a176_0x4d4394(0x1c9),'required':!![],'description':a176_0x4d4394(0x1c3)};export const USER_NAME_FLAG={'name':'name','type':a176_0x4d4394(0x1c9),'required':!![],'description':a176_0x4d4394(0x1d7)};export const REMARK_FLAG={'name':a176_0x4d4394(0x1de),'type':a176_0x4d4394(0x1c9),'required':![],'description':a176_0x4d4394(0x1da)};export const EXPECT_USER_COUNT_FLAG={'name':a176_0x4d4394(0x19b),'type':a176_0x4d4394(0x1ca),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=['ADMIN',a176_0x4d4394(0x198),a176_0x4d4394(0x1be)];export function isBuiltinRole(_0x346d87){return BUILTIN_ROLE_TYPES['includes'](_0x346d87);}export function assertCustomRole(_0x49ea1e,_0x4622c7){const _0x4879be=a176_0x4d4394;if(_0x49ea1e[_0x4879be(0x1af)]!==_0x4879be(0x195))throw CliErrors[_0x4879be(0x1b1)](_0x4879be(0x1d5)+_0x4622c7+_0x4879be(0x1e2)+_0x49ea1e[_0x4879be(0x1d2)]+'\x20('+_0x49ea1e[_0x4879be(0x1af)]+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function assertPermConfigurable(_0x17f08b){const _0x30077a=a176_0x4d4394;if(_0x17f08b[_0x30077a(0x1af)]===_0x30077a(0x198)||_0x17f08b[_0x30077a(0x1af)]===_0x30077a(0x1a5))throw CliErrors[_0x30077a(0x1b1)](_0x30077a(0x1ac)+_0x17f08b['roleName']+'\x20('+_0x17f08b[_0x30077a(0x1af)]+').',_0x30077a(0x1bc));}export function projectRole(_0x1ec8d1){const _0x3839f9=a176_0x4d4394;return{'id':_0x1ec8d1['id'],'roleName':_0x1ec8d1[_0x3839f9(0x1d2)],'roleType':_0x1ec8d1[_0x3839f9(0x1af)],'remark':_0x1ec8d1['remark'],'userCount':_0x1ec8d1[_0x3839f9(0x1a3)],'permitCount':_0x1ec8d1[_0x3839f9(0x1a1)],'builtin':isBuiltinRole(_0x1ec8d1[_0x3839f9(0x1af)])};}function a176_0x4098(_0x4f2860,_0x1a78c9){_0x4f2860=_0x4f2860-0x195;const _0x315978=a176_0x3159();let _0x4098a9=_0x315978[_0x4f2860];return _0x4098a9;}export async function resolveRoleRef(_0x12eb12,_0x42860c){const _0x44d50c=a176_0x4d4394,_0x36ffaa=_0x42860c[_0x44d50c(0x1a7)]();if(!_0x36ffaa)throw CliErrors['validation'](_0x44d50c(0x1cc),_0x44d50c(0x1e6));if(/^\d+$/['test'](_0x36ffaa))return getRoleById(_0x12eb12,Number(_0x36ffaa));const _0x33a573=await listAllAppRoles(_0x12eb12),_0x2ee2d0=_0x33a573[_0x44d50c(0x1a0)](_0x4deef4=>_0x4deef4[_0x44d50c(0x1d2)]===_0x36ffaa);if(_0x2ee2d0['length']===0x0)throw CliErrors['validation'](_0x44d50c(0x1d6)+_0x36ffaa+_0x44d50c(0x1e1)+_0x12eb12+'.',_0x44d50c(0x19a));if(_0x2ee2d0[_0x44d50c(0x1a6)]>0x1){const _0x5707ac=_0x2ee2d0[_0x44d50c(0x1ae)](_0xfa8898=>_0xfa8898['id'])[_0x44d50c(0x1ce)](',\x20');throw CliErrors[_0x44d50c(0x1b1)](_0x44d50c(0x1d6)+_0x36ffaa+_0x44d50c(0x1d3)+_0x5707ac+').',_0x44d50c(0x1c1));}return _0x2ee2d0[0x0];}export async function getRoleById(_0x48782a,_0x424cb1){const _0x3b0cd9=a176_0x4d4394,_0x5e6f8a=await getAppRole(_0x424cb1);if(!_0x5e6f8a)throw CliErrors[_0x3b0cd9(0x1b1)]('Role\x20id\x20'+_0x424cb1+_0x3b0cd9(0x1c6)+_0x48782a+'.',_0x3b0cd9(0x1b5));return _0x5e6f8a;}async function listAllAppRoles(_0x1d595b){const _0x5f0e9a=a176_0x4d4394,_0x364a52=0x64,_0x60a4d4=[];for(let _0x11e89a=0x1;;_0x11e89a+=0x1){const {items:_0x3e4269,paging:_0x21ba22}=await listAppRoles(_0x1d595b,{'currentPage':_0x11e89a,'pageSize':_0x364a52});_0x60a4d4[_0x5f0e9a(0x197)](..._0x3e4269);if(_0x3e4269[_0x5f0e9a(0x1a6)]<_0x364a52||_0x21ba22&&_0x60a4d4[_0x5f0e9a(0x1a6)]>=_0x21ba22['totalCount'])return _0x60a4d4;}}export async function resolveTenantCode(){const _0x1fd0e2=a176_0x4d4394,_0x20583e=await getSessionUserInfo(),_0x5217bb=_0x20583e?.[_0x1fd0e2(0x1d0)]?.[_0x1fd0e2(0x196)]?.[_0x1fd0e2(0x1c2)];if(!_0x5217bb)throw CliErrors[_0x1fd0e2(0x1bf)](_0x1fd0e2(0x1cf));return _0x5217bb;}function matchMember(_0x30ccd4,_0x4268b){const _0x34e9c4=a176_0x4d4394,_0x331466=_0x4268b[_0x34e9c4(0x1a7)]()['toLowerCase']();return(_0x30ccd4[_0x34e9c4(0x1c5)]??'')[_0x34e9c4(0x1e3)]()===_0x331466||(_0x30ccd4[_0x34e9c4(0x1aa)]??'')[_0x34e9c4(0x1e3)]()===_0x331466;}export async function resolveUserRef(_0x2b0933){const _0x173757=a176_0x4d4394,_0x5e21d6=_0x2b0933[_0x173757(0x1a7)]();if(!_0x5e21d6)throw CliErrors[_0x173757(0x1b1)](_0x173757(0x1cd),_0x173757(0x19e));const _0x45e2ca=await resolveTenantCode(),_0x191bbd=await getTenantMembers(_0x45e2ca);if(/^\d+$/['test'](_0x5e21d6)){const _0x4e418d=Number(_0x5e21d6),_0x5892ab=_0x191bbd[_0x173757(0x1c0)](_0x3d6401=>_0x3d6401[_0x173757(0x1ba)]===_0x4e418d);return{'userId':_0x4e418d,'username':_0x5892ab?.['username']??String(_0x4e418d),'nickname':_0x5892ab?.[_0x173757(0x1c5)],'matchedBy':'id'};}const _0x2063c6=_0x191bbd[_0x173757(0x1a0)](_0x5805b0=>matchMember(_0x5805b0,_0x5e21d6));if(_0x2063c6[_0x173757(0x1a6)]===0x0)throw CliErrors[_0x173757(0x1b1)](_0x173757(0x1c4)+_0x5e21d6+'\x22.',_0x173757(0x1a8));if(_0x2063c6[_0x173757(0x1a6)]>0x1){const _0x49b71c=_0x2063c6[_0x173757(0x1ae)](_0x15bc71=>(_0x15bc71['nickname']??_0x15bc71[_0x173757(0x1aa)]??'?')+'('+_0x15bc71[_0x173757(0x1ba)]+')')[_0x173757(0x1ce)](',\x20');throw CliErrors[_0x173757(0x1b1)](_0x173757(0x19c)+_0x5e21d6+'\x22:\x20'+_0x49b71c+'.',_0x173757(0x1b4));}const _0x503e26=_0x2063c6[0x0];return{'userId':_0x503e26[_0x173757(0x1ba)],'username':_0x503e26[_0x173757(0x1aa)]??String(_0x503e26[_0x173757(0x1ba)]),'nickname':_0x503e26[_0x173757(0x1c5)],'matchedBy':_0x173757(0x1b6)};}export const UPDATE_USER_LIST_PATH=a176_0x4d4394(0x1e7);function userIdsOf(_0x4e7a2b){const _0x3434d0=a176_0x4d4394;return(_0x4e7a2b?.['userList']??[])[_0x3434d0(0x1ae)](_0x287e17=>_0x287e17[_0x3434d0(0x1ba)]);}export function computeRoleUserMutation(_0x266292){const _0x4eb2fb=a176_0x4d4394,{operation:_0x7aade9,appCode:_0x272b35,roleUsers:_0x21a481,targetRoleId:_0x4d5ab3,user:_0xde7e41}=_0x266292,_0x80eb82=_0x21a481[_0x4eb2fb(0x1c0)](_0x3f2b5c=>_0x3f2b5c['id']===_0x4d5ab3);if(!_0x80eb82)throw CliErrors[_0x4eb2fb(0x1b1)](_0x4eb2fb(0x1df)+_0x4d5ab3+_0x4eb2fb(0x1e5),_0x4eb2fb(0x1b5));const _0x13d5a9=userIdsOf(_0x80eb82),_0x314313=[];if(_0x266292[_0x4eb2fb(0x1e4)]!==undefined&&_0x266292[_0x4eb2fb(0x1e4)]!==_0x13d5a9[_0x4eb2fb(0x1a6)])throw CliErrors['validation']('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x266292['expectUserCount']+_0x4eb2fb(0x1b3)+_0x13d5a9[_0x4eb2fb(0x1a6)]+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x37370f=_0x13d5a9['includes'](_0xde7e41[_0x4eb2fb(0x1ba)]);let _0x3d49aa=![];const _0x1f459f=[..._0x80eb82['userList']];if(_0x7aade9===_0x4eb2fb(0x1c8))_0x37370f?_0x314313[_0x4eb2fb(0x197)](_0x4eb2fb(0x1bd)+_0xde7e41[_0x4eb2fb(0x1ba)]+_0x4eb2fb(0x1ab)+_0x80eb82[_0x4eb2fb(0x1d2)]+_0x4eb2fb(0x1b8)):(_0x1f459f[_0x4eb2fb(0x197)]({'userId':_0xde7e41[_0x4eb2fb(0x1ba)],'username':_0xde7e41[_0x4eb2fb(0x1aa)],..._0xde7e41[_0x4eb2fb(0x1c5)]?{'nickname':_0xde7e41['nickname']}:{}}),_0x3d49aa=!![]);else{if(!_0x37370f)_0x314313[_0x4eb2fb(0x197)]('User\x20'+_0xde7e41['userId']+_0x4eb2fb(0x1ad)+_0x80eb82[_0x4eb2fb(0x1d2)]+_0x4eb2fb(0x1b8));else{const _0x44f9fd=_0x1f459f[_0x4eb2fb(0x1dc)](_0x1920d3=>_0x1920d3['userId']===_0xde7e41[_0x4eb2fb(0x1ba)]);if(_0x44f9fd>=0x0)_0x1f459f[_0x4eb2fb(0x1d4)](_0x44f9fd,0x1);_0x3d49aa=!![];}}const _0xdd7a94=_0x21a481[_0x4eb2fb(0x1ae)](_0x445a0a=>_0x445a0a['id']===_0x4d5ab3?{..._0x445a0a,'userList':_0x1f459f}:_0x445a0a),_0x155d62=_0x1f459f[_0x4eb2fb(0x1ae)](_0x4fca0f=>_0x4fca0f[_0x4eb2fb(0x1ba)]),_0x480ba1={'operation':_0x7aade9,'selector':{'appCode':_0x272b35,'roleId':_0x4d5ab3,'roleName':_0x80eb82[_0x4eb2fb(0x1d2)],'userId':_0xde7e41[_0x4eb2fb(0x1ba)]},'before':{'userIds':_0x13d5a9},'after':{'userIds':_0x155d62},'dryRun':_0x266292[_0x4eb2fb(0x1db)],'backend':{'method':_0x4eb2fb(0x1e0),'path':UPDATE_USER_LIST_PATH},'warnings':_0x314313};return{'roleList':_0xdd7a94,'mutation':_0x480ba1,'changed':_0x3d49aa};}export async function loadRoleUsers(_0x461e9f){return listRoleUsers(_0x461e9f);}export function readRoleRef(_0x3a0c33){const _0x1d186f=a176_0x4d4394,_0x4e7631=_0x3a0c33[_0x1d186f(0x1cb)](_0x1d186f(0x1dd))[_0x1d186f(0x1a7)]();if(!_0x4e7631)throw CliErrors[_0x1d186f(0x1a2)](_0x1d186f(0x1dd),_0x1d186f(0x1e6));return _0x4e7631;}export async function prepareUserMutation(_0x2e6e63,_0x23a66b,_0x207b62){const _0x4c1950=a176_0x4d4394,_0x5f4c37=readRoleRef(_0x2e6e63),_0x156d97=_0x2e6e63[_0x4c1950(0x1cb)](_0x4c1950(0x1d0))[_0x4c1950(0x1a7)]();if(!_0x156d97)throw CliErrors[_0x4c1950(0x1a2)]('user',_0x4c1950(0x19e));const _0x4adacb=_0x2e6e63['flag']('expect-user-count'),_0x38879e=_0x4adacb===undefined||_0x4adacb===null?undefined:Number(_0x4adacb),_0x8f1877=await resolveRoleRef(_0x2e6e63[_0x4c1950(0x19d)],_0x5f4c37),_0xe23c48=await resolveUserRef(_0x156d97),_0x40655a=await loadRoleUsers(_0x2e6e63[_0x4c1950(0x19d)]);return computeRoleUserMutation({'operation':_0x23a66b,'appCode':_0x2e6e63[_0x4c1950(0x19d)],'roleUsers':_0x40655a,'targetRoleId':_0x8f1877['id'],'user':{'userId':_0xe23c48[_0x4c1950(0x1ba)],'username':_0xe23c48['username'],'nickname':_0xe23c48[_0x4c1950(0x1c5)]},'dryRun':_0x207b62,..._0x38879e!==undefined?{'expectUserCount':_0x38879e}:{}});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a177_0x3270fc=a177_0x35aa;function a177_0x8a44(){const _0x1d9fcb=['--name\x20cannot\x20be\x20empty.','appCode','2216995VdhvAW','120yaEbGk','3239384kErFsO','1EOUBlh','Nothing\x20to\x20update.','2993730coWyoX','\x20(id=','84172lrCsvR','287756diHpQd','validation','string','9hULaDt','POST','flag','remark','update','num','length','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','roleName','219GXYvKR','1096172jOLnwS','write','913132PJMBFk','name'];a177_0x8a44=function(){return _0x1d9fcb;};return a177_0x8a44();}(function(_0x4afe9b,_0xffcee9){const _0x3f7a0c=a177_0x35aa,_0x2f4c7b=_0x4afe9b();while(!![]){try{const _0x5a072a=parseInt(_0x3f7a0c(0x115))/0x1*(-parseInt(_0x3f7a0c(0xff))/0x2)+-parseInt(_0x3f7a0c(0x10b))/0x3*(-parseInt(_0x3f7a0c(0x119))/0x4)+parseInt(_0x3f7a0c(0x112))/0x5+-parseInt(_0x3f7a0c(0x117))/0x6+parseInt(_0x3f7a0c(0x10c))/0x7+-parseInt(_0x3f7a0c(0x114))/0x8*(-parseInt(_0x3f7a0c(0x102))/0x9)+-parseInt(_0x3f7a0c(0x113))/0xa*(parseInt(_0x3f7a0c(0x10e))/0xb);if(_0x5a072a===_0xffcee9)break;else _0x2f4c7b['push'](_0x2f4c7b['shift']());}catch(_0x1d6d00){_0x2f4c7b['push'](_0x2f4c7b['shift']());}}}(a177_0x8a44,0xdc3c0));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';function a177_0x35aa(_0x5d7ac5,_0x37cfad){_0x5d7ac5=_0x5d7ac5-0xff;const _0x8a443e=a177_0x8a44();let _0x35aa96=_0x8a443e[_0x5d7ac5];return _0x35aa96;}import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function readPatch(_0x1be33f){const _0xeff0c0=a177_0x35aa,_0x11e073=_0x1be33f[_0xeff0c0(0x104)](_0xeff0c0(0x10f)),_0xac00a7=_0x1be33f[_0xeff0c0(0x104)](_0xeff0c0(0x105)),_0x5a7876={};if(_0x11e073!==undefined&&_0x11e073!==null){const _0x42f765=String(_0x11e073)['trim']();if(!_0x42f765)throw CliErrors[_0xeff0c0(0x100)](_0xeff0c0(0x110));if(_0x42f765[_0xeff0c0(0x108)]>0x40)throw CliErrors[_0xeff0c0(0x100)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0x5a7876[_0xeff0c0(0x10a)]=_0x42f765;}_0xac00a7!==undefined&&_0xac00a7!==null&&(_0x5a7876[_0xeff0c0(0x105)]=String(_0xac00a7));if(_0x5a7876[_0xeff0c0(0x10a)]===undefined&&_0x5a7876['remark']===undefined)throw CliErrors['validation'](_0xeff0c0(0x116),'Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x5a7876;}export const roleUpdate={'service':'role','command':a177_0x3270fc(0x106),'description':a177_0x3270fc(0x109),'risk':a177_0x3270fc(0x10d),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':'name','type':a177_0x3270fc(0x101),'required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x55664f){readPatch(_0x55664f);},async 'dryRun'(_0x10ab80){const _0x4e370d=a177_0x3270fc,_0x419f65=_0x10ab80[_0x4e370d(0x107)]('id'),_0x5817f4=readPatch(_0x10ab80),_0x4e3655=await getRoleById(_0x10ab80[_0x4e370d(0x111)],_0x419f65);return assertCustomRole(_0x4e3655,_0x4e370d(0x106)),asDryRunResult({'operation':_0x4e370d(0x106),'selector':{'appCode':_0x10ab80[_0x4e370d(0x111)],'roleId':_0x419f65,'roleName':_0x4e3655[_0x4e370d(0x10a)]},'before':projectRole(_0x4e3655),'after':projectRole({..._0x4e3655,..._0x5817f4[_0x4e370d(0x10a)]!==undefined?{'roleName':_0x5817f4[_0x4e370d(0x10a)]}:{},..._0x5817f4[_0x4e370d(0x105)]!==undefined?{'remark':_0x5817f4['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x4e370d(0x103),'path':UPDATE_PATH},'warnings':[]},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x15caa7){const _0x3dc8e2=a177_0x3270fc,_0x2d61fd=_0x15caa7[_0x3dc8e2(0x107)]('id'),_0x5a8aa2=readPatch(_0x15caa7),_0x903a00=await getRoleById(_0x15caa7[_0x3dc8e2(0x111)],_0x2d61fd);assertCustomRole(_0x903a00,'update'),await updateAppRole({'id':_0x2d61fd,'appCode':_0x15caa7[_0x3dc8e2(0x111)],..._0x5a8aa2[_0x3dc8e2(0x10a)]!==undefined?{'roleName':_0x5a8aa2[_0x3dc8e2(0x10a)]}:{},..._0x5a8aa2[_0x3dc8e2(0x105)]!==undefined?{'remark':_0x5a8aa2[_0x3dc8e2(0x105)]}:{}});const _0x5028f0=await getRoleById(_0x15caa7[_0x3dc8e2(0x111)],_0x2d61fd);return{'ok':!![],'data':{'operation':_0x3dc8e2(0x106),'selector':{'appCode':_0x15caa7[_0x3dc8e2(0x111)],'roleId':_0x2d61fd,'roleName':_0x5028f0[_0x3dc8e2(0x10a)]},'before':projectRole(_0x903a00),'after':projectRole(_0x5028f0),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':'Updated\x20role\x20'+_0x5028f0[_0x3dc8e2(0x10a)]+_0x3dc8e2(0x118)+_0x2d61fd+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a178_0x2ca72f=a178_0x2ae8;(function(_0x340e73,_0x4e9f47){const _0x291f2b=a178_0x2ae8,_0x10faeb=_0x340e73();while(!![]){try{const _0x28da5c=-parseInt(_0x291f2b(0x1e9))/0x1*(parseInt(_0x291f2b(0x1f0))/0x2)+-parseInt(_0x291f2b(0x1f1))/0x3*(-parseInt(_0x291f2b(0x1ed))/0x4)+-parseInt(_0x291f2b(0x1f5))/0x5+-parseInt(_0x291f2b(0x1f3))/0x6+parseInt(_0x291f2b(0x1e1))/0x7*(parseInt(_0x291f2b(0x1e4))/0x8)+-parseInt(_0x291f2b(0x1e2))/0x9*(-parseInt(_0x291f2b(0x1ec))/0xa)+parseInt(_0x291f2b(0x1e6))/0xb;if(_0x28da5c===_0x4e9f47)break;else _0x10faeb['push'](_0x10faeb['shift']());}catch(_0x3d6204){_0x10faeb['push'](_0x10faeb['shift']());}}}(a178_0x291f,0x4771f));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a178_0x291f(){const _0x1bcea8=['POST','2404098kbuWvk','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','2800625DBBVwt','1330QHeCfi','9iXqKCV','selector','2008OLzjKV','high-risk-write','14461095TZHTcY','\x20to\x20role\x20','role','15983xpXcJm','roleName','user-add','1199230jvEogQ','810920kuKKfb','appCode','\x20already\x20in\x20role\x20','54suLYHf','3AXSKQh'];a178_0x291f=function(){return _0x1bcea8;};return a178_0x291f();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a178_0x2ae8(_0x534b89,_0xbeadb5){_0x534b89=_0x534b89-0x1e1;const _0x291f1f=a178_0x291f();let _0x2ae86f=_0x291f1f[_0x534b89];return _0x2ae86f;}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_0x2ca72f(0x1e8),'command':'user-add','description':a178_0x2ca72f(0x1f4),'risk':a178_0x2ca72f(0x1e5),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0xee6fa0){const _0x29654c=a178_0x2ca72f,{mutation:_0x1c4773}=await prepareUserMutation(_0xee6fa0,_0x29654c(0x1eb),!![]);return asDryRunResult(_0x1c4773,{'method':_0x29654c(0x1f2),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x17d922){const _0x41978f=a178_0x2ca72f,{roleList:_0x1cbef1,mutation:_0x59f998,changed:_0x3a36fc}=await prepareUserMutation(_0x17d922,_0x41978f(0x1eb),![]);return _0x3a36fc&&await updateRoleUsers(_0x17d922[_0x41978f(0x1ee)],_0x1cbef1),{'ok':!![],'data':_0x59f998,'message':_0x3a36fc?'Added\x20user\x20'+_0x59f998[_0x41978f(0x1e3)]['userId']+_0x41978f(0x1e7)+_0x59f998[_0x41978f(0x1e3)]['roleName']:'No\x20change:\x20user\x20'+_0x59f998[_0x41978f(0x1e3)]['userId']+_0x41978f(0x1ef)+_0x59f998[_0x41978f(0x1e3)][_0x41978f(0x1ea)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a179_0x4b82d0=a179_0x3835;(function(_0x13b659,_0x286a20){const _0x2cbd46=a179_0x3835,_0x288624=_0x13b659();while(!![]){try{const _0xf2027a=parseInt(_0x2cbd46(0x1c1))/0x1*(parseInt(_0x2cbd46(0x1bf))/0x2)+parseInt(_0x2cbd46(0x1b1))/0x3+parseInt(_0x2cbd46(0x1b0))/0x4+-parseInt(_0x2cbd46(0x1b5))/0x5+-parseInt(_0x2cbd46(0x1ba))/0x6+-parseInt(_0x2cbd46(0x1b6))/0x7*(-parseInt(_0x2cbd46(0x1b9))/0x8)+-parseInt(_0x2cbd46(0x1bc))/0x9;if(_0xf2027a===_0x286a20)break;else _0x288624['push'](_0x288624['shift']());}catch(_0x2a307e){_0x288624['push'](_0x288624['shift']());}}}(a179_0x30e7,0x7a8fc));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 a179_0x3835(_0x32cd6e,_0x1d4bae){_0x32cd6e=_0x32cd6e-0x1af;const _0x30e7d8=a179_0x30e7();let _0x3835d9=_0x30e7d8[_0x32cd6e];return _0x3835d9;}function a179_0x30e7(){const _0x30e0c4=['15549948liwayq','POST','roleName','2cfrYzG','role','557477LTNdxe','No\x20change:\x20user\x20','appCode','high-risk-write','3471164VCuNRB','2207373lLCabx','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','selector','\x20from\x20role\x20','1338050bJYWyj','168fdhbfy','Removed\x20user\x20','userId','166456Vknrsi','978198RhCxiq','user-remove'];a179_0x30e7=function(){return _0x30e0c4;};return a179_0x30e7();}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_0x4b82d0(0x1c0),'command':a179_0x4b82d0(0x1bb),'description':a179_0x4b82d0(0x1b2),'risk':a179_0x4b82d0(0x1af),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x495e85){const _0x535414=a179_0x4b82d0,{mutation:_0x44ab9c}=await prepareUserMutation(_0x495e85,_0x535414(0x1bb),!![]);return asDryRunResult(_0x44ab9c,{'method':_0x535414(0x1bd),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x2a7a9c){const _0x5ceb8e=a179_0x4b82d0,{roleList:_0x342155,mutation:_0x3844ad,changed:_0x2de083}=await prepareUserMutation(_0x2a7a9c,'user-remove',![]);return _0x2de083&&await updateRoleUsers(_0x2a7a9c[_0x5ceb8e(0x1c3)],_0x342155),{'ok':!![],'data':_0x3844ad,'message':_0x2de083?_0x5ceb8e(0x1b7)+_0x3844ad[_0x5ceb8e(0x1b3)][_0x5ceb8e(0x1b8)]+_0x5ceb8e(0x1b4)+_0x3844ad[_0x5ceb8e(0x1b3)][_0x5ceb8e(0x1be)]:_0x5ceb8e(0x1c2)+_0x3844ad[_0x5ceb8e(0x1b3)][_0x5ceb8e(0x1b8)]+'\x20not\x20in\x20role\x20'+_0x3844ad[_0x5ceb8e(0x1b3)][_0x5ceb8e(0x1be)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a180_0x470140=a180_0xafab;(function(_0xad8f8,_0x430113){const _0x5c24eb=a180_0xafab,_0x348b28=_0xad8f8();while(!![]){try{const _0x36bc86=-parseInt(_0x5c24eb(0x192))/0x1*(-parseInt(_0x5c24eb(0x194))/0x2)+parseInt(_0x5c24eb(0x19b))/0x3+parseInt(_0x5c24eb(0x196))/0x4*(-parseInt(_0x5c24eb(0x189))/0x5)+parseInt(_0x5c24eb(0x18d))/0x6*(-parseInt(_0x5c24eb(0x19a))/0x7)+parseInt(_0x5c24eb(0x191))/0x8*(-parseInt(_0x5c24eb(0x188))/0x9)+-parseInt(_0x5c24eb(0x197))/0xa+parseInt(_0x5c24eb(0x19f))/0xb;if(_0x36bc86===_0x430113)break;else _0x348b28['push'](_0x348b28['shift']());}catch(_0x42478d){_0x348b28['push'](_0x348b28['shift']());}}}(a180_0x3cb1,0x93e68));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a180_0xafab(_0x299117,_0x2dfa10){_0x299117=_0x299117-0x188;const _0x3cb135=a180_0x3cb1();let _0xafab3=_0x3cb135[_0x299117];return _0xafab3;}import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':a180_0x470140(0x19d),'description':a180_0x470140(0x18b),'risk':a180_0x470140(0x18e),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53c23d){const _0x54a8c7=a180_0x470140;if(!_0x53c23d[_0x54a8c7(0x18f)](_0x54a8c7(0x193))[_0x54a8c7(0x195)]())throw CliErrors[_0x54a8c7(0x18c)](_0x54a8c7(0x193),_0x54a8c7(0x199));},async 'execute'(_0x4254ae){const _0x53627a=a180_0x470140,_0x6b4757=_0x4254ae[_0x53627a(0x18f)]('name')[_0x53627a(0x195)](),_0x45bbfc=await resolveUserRef(_0x6b4757);return{'ok':!![],'data':{'user':{'userId':_0x45bbfc[_0x53627a(0x19e)],'username':_0x45bbfc[_0x53627a(0x198)],'nickname':_0x45bbfc[_0x53627a(0x19c)],'matchedBy':_0x45bbfc[_0x53627a(0x18a)]}},'message':_0x53627a(0x190)+_0x6b4757+'\x22\x20→\x20userId\x20'+_0x45bbfc['userId']};}};function a180_0x3cb1(){const _0xe1e100=['flagMissing','4110222wBnprf','read','str','Resolved\x20\x22','136QAMhxE','10615sJozzg','name','2VIWZUR','trim','8508OFXnis','10495990EPcInG','username','Pass\x20--name\x20<nickname|username>.','7YLddtH','1550703kaZwuF','nickname','user-resolve','userId','27759248YKTtiy','157770AIOZGq','970uPzOWg','matchedBy','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)'];a180_0x3cb1=function(){return _0xe1e100;};return a180_0x3cb1();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a181_0x3ebf9b=a181_0x2aa4;(function(_0x3d4ec5,_0x2464b2){const _0x119d50=a181_0x2aa4,_0x19f32b=_0x3d4ec5();while(!![]){try{const _0x5a179c=parseInt(_0x119d50(0x141))/0x1*(-parseInt(_0x119d50(0x178))/0x2)+-parseInt(_0x119d50(0x16b))/0x3+-parseInt(_0x119d50(0x13d))/0x4*(parseInt(_0x119d50(0x171))/0x5)+-parseInt(_0x119d50(0x16e))/0x6+-parseInt(_0x119d50(0x15c))/0x7*(-parseInt(_0x119d50(0x13a))/0x8)+parseInt(_0x119d50(0x147))/0x9*(-parseInt(_0x119d50(0x15a))/0xa)+-parseInt(_0x119d50(0x164))/0xb*(-parseInt(_0x119d50(0x157))/0xc);if(_0x5a179c===_0x2464b2)break;else _0x19f32b['push'](_0x19f32b['shift']());}catch(_0x3fe8b0){_0x19f32b['push'](_0x19f32b['shift']());}}}(a181_0x4bc8,0xa91e2));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';function a181_0x4bc8(){const _0x56db61=['args','45573AspHvq','\x20run\x20preview\x20--watch','Available:\x20','belowMinimum','\x20run\x20start','vite','boolean','3294654NdBLHb','pnpm-lock.yaml','all','5834550CpeCxT','run','Enable\x20watch\x20mode\x20for\x20preview','105hDDeCO','join','parse','package.json','\x20run\x20build','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','\x20run\x20preview','2276698WNWOKr','--watch','320408jReOYt','watch','\x0a\x20\x20Available\x20scripts:\x0a','261024OiIAkx','\x20run\x20<script>\x0a','error','\x0a\x20\x20Usage:\x20','1wZoHfa','start','close','high-risk-write','preview','build','267147fErfUW','inherit','\x22\x20not\x20found\x20in\x20package.json.','bun','node_modules','log','keys','validation','dev','\x20\x20\x20\x20','pnpm','npm','Script\x20name\x20defined\x20in\x20package.json','\x20exited\x20with\x20code\x20','.bin','(none)','14304eJwEZe','script','utf-8','90uYimpj','bool','105hBGlAV','scripts','No\x20package.json\x20found\x20in\x20current\x20directory.','needsUpgrade','\x20run\x20','push','has'];a181_0x4bc8=function(){return _0x56db61;};return a181_0x4bc8();}import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';function a181_0x2aa4(_0x3458cf,_0x521966){_0x3458cf=_0x3458cf-0x139;const _0x4bc86b=a181_0x4bc8();let _0x2aa4ef=_0x4bc86b[_0x3458cf];return _0x2aa4ef;}import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a181_0x3ebf9b(0x142),a181_0x3ebf9b(0x14f)]);function readPackageScripts(_0x47f415){const _0x4bb84a=a181_0x3ebf9b,_0x381266=resolve(_0x47f415,_0x4bb84a(0x174));if(!existsSync(_0x381266))return null;try{const _0x4d6ca7=JSON[_0x4bb84a(0x173)](readFileSync(_0x381266,_0x4bb84a(0x159)));return _0x4d6ca7[_0x4bb84a(0x15d)]??{};}catch{return null;}}function detectPackageManager(_0x152870){const _0x32db3c=a181_0x3ebf9b;if(existsSync(resolve(_0x152870,'bun.lockb'))||existsSync(resolve(_0x152870,'bun.lock')))return _0x32db3c(0x14a);if(existsSync(resolve(_0x152870,_0x32db3c(0x16c))))return _0x32db3c(0x151);if(existsSync(resolve(_0x152870,'yarn.lock')))return'yarn';return _0x32db3c(0x152);}async function versionCheck(_0xf6b0){const _0x5cfc4d=a181_0x3ebf9b,_0x1e3e48=await checkCliVersion();(_0x1e3e48[_0x5cfc4d(0x15f)]||_0x1e3e48[_0x5cfc4d(0x167)])&&(printCliUpgradeWarning(_0x1e3e48),assertCliVersionSupported(_0x1e3e48));const _0xba305b=await checkSdkVersion(_0xf6b0);if(_0xba305b[_0x5cfc4d(0x15f)])printSdkUpgradeWarning(_0xba305b);}function spawnScript(_0x137e81,_0x20efc1,_0x23e39a,_0x3cb56c){return new Promise((_0x12648f,_0x5d2b9c)=>{const _0x12177b=a181_0x2aa4,_0x3bc8a1=[_0x12177b(0x16f),_0x20efc1,..._0x23e39a],_0x4a1264=spawn(_0x137e81,_0x3bc8a1,{'cwd':_0x3cb56c,'stdio':_0x12177b(0x148),'shell':!![],'env':{...process.env,'PATH':''+join(_0x3cb56c,_0x12177b(0x14b),_0x12177b(0x155))+delimiter+process.env.PATH}});_0x4a1264['on']('close',_0x103df8=>{const _0x3e95eb=_0x12177b;if(_0x103df8===0x0||_0x103df8===null)_0x12648f();else _0x5d2b9c(new Error(_0x137e81+_0x3e95eb(0x160)+_0x20efc1+_0x3e95eb(0x154)+_0x103df8));}),_0x4a1264['on'](_0x12177b(0x13f),_0x5d2b9c);});}function spawnViteBuildWatch(_0xd709f5){return new Promise((_0x5e08ab,_0x3af811)=>{const _0x505a10=a181_0x2aa4,_0x178e1d=spawn(_0x505a10(0x169),[_0x505a10(0x146),_0x505a10(0x139)],{'cwd':_0xd709f5,'stdio':_0x505a10(0x148),'shell':!![],'env':{...process.env,'PATH':''+join(_0xd709f5,_0x505a10(0x14b),'.bin')+delimiter+process.env.PATH}});_0x178e1d['on'](_0x505a10(0x143),_0x54bd5d=>{const _0x19cba9=_0x505a10;if(_0x54bd5d===0x0||_0x54bd5d===null)_0x5e08ab();else _0x3af811(new Error(_0x19cba9(0x176)+_0x54bd5d));}),_0x178e1d['on'](_0x505a10(0x13f),_0x3af811);});}function spawnVitePreview(_0x1c55f5){return new Promise((_0x9e5ae8,_0x54b982)=>{const _0x57aba2=a181_0x2aa4,_0x1c13b9=spawn(_0x57aba2(0x169),[_0x57aba2(0x145)],{'cwd':_0x1c55f5,'stdio':_0x57aba2(0x148),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1c55f5,'node_modules',_0x57aba2(0x155))+delimiter+process.env.PATH}});_0x1c13b9['on'](_0x57aba2(0x143),_0x53e12d=>{if(_0x53e12d===0x0||_0x53e12d===null)_0x9e5ae8();else _0x54b982(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x53e12d));}),_0x1c13b9['on'](_0x57aba2(0x13f),_0x54b982);});}const runFlags=[{'name':a181_0x3ebf9b(0x13b),'type':a181_0x3ebf9b(0x16a),'description':a181_0x3ebf9b(0x170),'default':![]}];export const runDefinition={'service':a181_0x3ebf9b(0x16f),'command':a181_0x3ebf9b(0x16f),'description':'Run\x20a\x20package.json\x20script','risk':a181_0x3ebf9b(0x144),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a181_0x3ebf9b(0x158),'description':a181_0x3ebf9b(0x153),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x13c50d=a181_0x3ebf9b,_0x286431=[];return _0x286431[_0x13c50d(0x161)]('\x20\x20EXAMPLES'),_0x286431['push'](_0x13c50d(0x150)+CLI_BIN_NAME+_0x13c50d(0x168)),_0x286431[_0x13c50d(0x161)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x13c50d(0x175)),_0x286431[_0x13c50d(0x161)](_0x13c50d(0x150)+CLI_BIN_NAME+_0x13c50d(0x177)),_0x286431[_0x13c50d(0x161)](_0x13c50d(0x150)+CLI_BIN_NAME+_0x13c50d(0x165)),_0x286431[_0x13c50d(0x172)]('\x0a');},async 'execute'(_0x5e09fd){const _0x92c5bb=a181_0x3ebf9b,_0x22cec0=process['cwd'](),_0x21c9be=_0x5e09fd[_0x92c5bb(0x163)][0x0],_0x216f90=_0x5e09fd[_0x92c5bb(0x163)]['slice'](0x1),_0xc9935b=readPackageScripts(_0x22cec0);if(!_0xc9935b)throw CliErrors[_0x92c5bb(0x14e)](_0x92c5bb(0x15e));if(!_0x21c9be){const _0x13ad64=Object[_0x92c5bb(0x14d)](_0xc9935b);if(_0x13ad64['length']===0x0)console[_0x92c5bb(0x14c)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console['log'](_0x92c5bb(0x13c));for(const _0x82e96a of _0x13ad64){console[_0x92c5bb(0x14c)](_0x92c5bb(0x150)+_0x82e96a);}console[_0x92c5bb(0x14c)](_0x92c5bb(0x140)+CLI_BIN_NAME+_0x92c5bb(0x13e));}return{'ok':!![]};}if(!_0xc9935b[_0x21c9be])throw CliErrors[_0x92c5bb(0x14e)]('Script\x20\x22'+_0x21c9be+_0x92c5bb(0x149),_0x92c5bb(0x166)+(Object[_0x92c5bb(0x14d)](_0xc9935b)[_0x92c5bb(0x172)](',\x20')||_0x92c5bb(0x156)));const _0x2725a2=detectPackageManager(_0x22cec0);VERSION_CHECK_SCRIPTS[_0x92c5bb(0x162)](_0x21c9be)&&await versionCheck(_0x22cec0);if(_0x21c9be==='preview'&&_0x5e09fd[_0x92c5bb(0x15b)]('watch'))return await Promise[_0x92c5bb(0x16d)]([spawnViteBuildWatch(_0x22cec0),spawnVitePreview(_0x22cec0)]),{'ok':!![]};return await spawnScript(_0x2725a2,_0x21c9be,_0x216f90,_0x22cec0),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a182_0x3d4308=a182_0x2161;(function(_0x24ba7a,_0x667bdc){const _0x1ad8fc=a182_0x2161,_0x484bf8=_0x24ba7a();while(!![]){try{const _0x203013=parseInt(_0x1ad8fc(0x1e3))/0x1*(parseInt(_0x1ad8fc(0x1d7))/0x2)+parseInt(_0x1ad8fc(0x1de))/0x3*(-parseInt(_0x1ad8fc(0x1e2))/0x4)+parseInt(_0x1ad8fc(0x1d6))/0x5+parseInt(_0x1ad8fc(0x1d8))/0x6+parseInt(_0x1ad8fc(0x1dc))/0x7+parseInt(_0x1ad8fc(0x1e4))/0x8*(-parseInt(_0x1ad8fc(0x1dd))/0x9)+parseInt(_0x1ad8fc(0x1db))/0xa*(-parseInt(_0x1ad8fc(0x1da))/0xb);if(_0x203013===_0x667bdc)break;else _0x484bf8['push'](_0x484bf8['shift']());}catch(_0x8a3cfe){_0x484bf8['push'](_0x484bf8['shift']());}}}(a182_0x1599,0x89366));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x360333){const _0x4534ad=await buildSchemaPayload();return{'ok':!![],'data':_0x4534ad};}function a182_0x2161(_0x5a54e0,_0x5b5baa){_0x5a54e0=_0x5a54e0-0x1d5;const _0x1599d4=a182_0x1599();let _0x216187=_0x1599d4[_0x5a54e0];return _0x216187;}export const schemaDefinition={'service':a182_0x3d4308(0x1e0),'command':a182_0x3d4308(0x1d5),'description':a182_0x3d4308(0x1e1),'risk':a182_0x3d4308(0x1df),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a182_0x3d4308(0x1d9),'flags':[],'execute':execute};function a182_0x1599(){const _0x13ce09=['487614vLsrLq','read','schema','Export\x20machine-readable\x20command\x20schema\x20(JSON)','12azgOVa','6397Pwfbrj','40GHLgdL','export','3785340nFcADg','82mSLTjj','3266184vqtzQd','json','9180886khFGXv','10UuXdlg','6039131dClTwx','975924DWukau'];a182_0x1599=function(){return _0x13ce09;};return a182_0x1599();}
|
|
@@ -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_0x2d4931=a183_0x5729;(function(_0x11da34,_0x2cb730){const _0x2d22c8=a183_0x5729,_0x498f7f=_0x11da34();while(!![]){try{const _0x439e07=-parseInt(_0x2d22c8(0x1dc))/0x1*(parseInt(_0x2d22c8(0x1fd))/0x2)+parseInt(_0x2d22c8(0x1cb))/0x3*(-parseInt(_0x2d22c8(0x1f4))/0x4)+parseInt(_0x2d22c8(0x208))/0x5*(-parseInt(_0x2d22c8(0x205))/0x6)+-parseInt(_0x2d22c8(0x206))/0x7+parseInt(_0x2d22c8(0x1da))/0x8*(parseInt(_0x2d22c8(0x1e7))/0x9)+parseInt(_0x2d22c8(0x1e2))/0xa*(-parseInt(_0x2d22c8(0x1cf))/0xb)+parseInt(_0x2d22c8(0x1d3))/0xc;if(_0x439e07===_0x2cb730)break;else _0x498f7f['push'](_0x498f7f['shift']());}catch(_0x3aaf04){_0x498f7f['push'](_0x498f7f['shift']());}}}(a183_0x2f1b,0xa61d6));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(_0x697af1){const _0x1bb9fd=a183_0x5729;if(_0x697af1===_0x1bb9fd(0x204))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x1bb9fd(0x1ef),_0x1bb9fd(0x20b),''][_0x1bb9fd(0x1f7)]('\x0a');return[_0x1bb9fd(0x1d0),''][_0x1bb9fd(0x1f7)]('\x0a');}function a183_0x5729(_0x1d04c5,_0x1585c5){_0x1d04c5=_0x1d04c5-0x1c8;const _0x2f1bfe=a183_0x2f1b();let _0x572938=_0x2f1bfe[_0x1d04c5];return _0x572938;}export const sqlCreate={'service':a183_0x2d4931(0x1cc),'command':a183_0x2d4931(0x1fe),'description':a183_0x2d4931(0x1d2),'risk':a183_0x2d4931(0x1d5),'flags':[{'name':a183_0x2d4931(0x20a),'type':a183_0x2d4931(0x1c8),'description':a183_0x2d4931(0x200)},{'name':a183_0x2d4931(0x1e0),'type':'number','description':a183_0x2d4931(0x1dd)},{'name':a183_0x2d4931(0x201),'type':'string','enum':[a183_0x2d4931(0x1cc),a183_0x2d4931(0x204)],'description':a183_0x2d4931(0x1d6)}],async 'validate'(_0x5e07eb){const _0x37499e=a183_0x2d4931;if(!_0x5e07eb[_0x37499e(0x1de)])return;if(!_0x5e07eb['str']('name')[_0x37499e(0x1e8)]())throw CliErrors[_0x37499e(0x1fa)](_0x37499e(0x20a),_0x37499e(0x1f5));const _0x18ae13=resolveProvidedDbId(_0x5e07eb);if(typeof _0x18ae13!==_0x37499e(0x1d7)||!Number[_0x37499e(0x1e4)](_0x18ae13)||_0x18ae13<=0x0)throw CliErrors[_0x37499e(0x1fa)](_0x37499e(0x1e0),_0x37499e(0x1f8));if(!_0x5e07eb[_0x37499e(0x1f6)]('mode')[_0x37499e(0x1e8)]())throw CliErrors['flagMissing']('mode',_0x37499e(0x1cd));},async 'dryRun'(_0x488fa6){const _0x4a2192=a183_0x2d4931,_0x5272ad=loadSqlProjectConfig(_0x488fa6[_0x4a2192(0x1d9)]),{sqlName:_0xb3a4d0,dbId:_0x107a54,dbName:_0x2afa2e,mode:_0x306d2f}=await resolveSqlNewInputs(_0x488fa6),_0xc860b8=buildSqlRelativePath('<server-generated-sqlCode>',_0xb3a4d0,_0x2afa2e,_0x306d2f,_0x107a54),_0x3cf391=_0x5272ad[_0x4a2192(0x1f1)]+'/'+_0xc860b8;return{'method':_0x4a2192(0x1ea),'url':_0x4a2192(0x1ee),'body':{'appCode':_0x488fa6[_0x4a2192(0x1d9)],'sqlName':_0xb3a4d0,'dbId':_0x107a54,'mode':_0x306d2f,'localPath':_0x3cf391},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x5272ad['sqlRootDir']};},async 'execute'(_0x21fda9){const _0x19c420=a183_0x2d4931,_0x14b17c=loadSqlProjectConfig(_0x21fda9['appCode']),{sqlName:_0x4de795,dbId:_0x196554,dbName:_0x52debb,mode:_0x1051ea}=await resolveSqlNewInputs(_0x21fda9),_0xb208a9=generateSqlTemplate(_0x1051ea),_0x2f4723=await createSqlQuery({'appCode':_0x21fda9['appCode'],'sqlName':_0x4de795,'dbId':_0x196554,'sqlContent':_0xb208a9}),_0x573e20=ensureRemoteSqlContent(_0x2f4723),_0x4715ea=_0x52debb||await getDbName(_0x21fda9[_0x19c420(0x1d9)],_0x196554)[_0x19c420(0x1ed)](()=>undefined),_0x4628ff=buildSqlRelativePath(_0x2f4723[_0x19c420(0x1d4)],_0x2f4723['sqlName'],_0x4715ea,_0x1051ea,_0x196554),_0x4f458c=_0x14b17c[_0x19c420(0x1f1)]+'/'+_0x4628ff,_0xfa1a7e=buildLocalSqlFileContent({'sqlCode':_0x2f4723['sqlCode'],'sqlName':_0x2f4723[_0x19c420(0x1c9)],'dbId':_0x2f4723['dbId']},_0x573e20,{'dbName':_0x4715ea,'mode':_0x1051ea,'syncedAt':new Date()[_0x19c420(0x1eb)](),'description':_0x2f4723[_0x19c420(0x1f2)]});if(await fileExists(_0x4f458c))throw CliErrors[_0x19c420(0x1e3)](_0x19c420(0x1e5)+_0x4f458c);await ensureParentDirectory(_0x4f458c),await writeFile(_0x4f458c,_0xfa1a7e,_0x19c420(0x1f0));const _0x41b81a=await readSqlLockFile(_0x14b17c['lockFilePath']),{lockData:_0x1318e4,appLock:_0x14ea85}=ensureSqlLockScope(_0x41b81a??createEmptySqlLock(),_0x14b17c[_0x19c420(0x1d9)],_0x14b17c[_0x19c420(0x207)],_0x19c420(0x20d));return _0x14ea85['sqls'][_0x2f4723[_0x19c420(0x1d4)]]={...buildSqlLockEntry(_0x2f4723,_0x573e20,computeSqlContentHash(_0xfa1a7e),{'dbName':_0x4715ea}),'path':_0x4628ff,'mode':_0x1051ea},_0x14ea85[_0x19c420(0x1e1)]=new Date()['toISOString'](),await writeSqlLockFile(_0x14b17c[_0x19c420(0x1f9)],_0x1318e4),{'ok':!![],'data':{'id':_0x2f4723['id'],'sqlCode':_0x2f4723[_0x19c420(0x1d4)],'sqlName':_0x2f4723[_0x19c420(0x1c9)],'dbId':_0x2f4723[_0x19c420(0x1fb)],'path':_0x4f458c,'mode':_0x1051ea},'message':'Created\x20SQL\x20query\x20'+_0x2f4723[_0x19c420(0x1d4)]};}};async function resolveSqlNewInputs(_0x5ec232){const _0x22309c=await resolveSqlNameInput(_0x5ec232),{dbId:_0x28287c,dbName:_0x3af80a}=await resolveDbSelection(_0x5ec232),_0x11fbaf=await resolveSqlModeInput(_0x5ec232);return{'sqlName':_0x22309c,'dbId':_0x28287c,'dbName':_0x3af80a,'mode':_0x11fbaf};}async function resolveSqlNameInput(_0x14fb02){const _0x4afec5=a183_0x2d4931,_0x590705=_0x14fb02[_0x4afec5(0x1f6)](_0x4afec5(0x20a))[_0x4afec5(0x1e8)]();if(_0x590705)return _0x590705;if(_0x14fb02['nonInteractive'])throw CliErrors[_0x4afec5(0x1fa)](_0x4afec5(0x20a),_0x4afec5(0x1f5));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x4eb17d=>_0x4eb17d[_0x4afec5(0x1e8)]()?!![]:_0x4afec5(0x1ec)}))[_0x4afec5(0x1e8)]();}async function resolveDbSelection(_0x1a0636){const _0x187050=a183_0x2d4931,_0x2da4a4=resolveProvidedDbId(_0x1a0636);if(typeof _0x2da4a4==='number'&&Number[_0x187050(0x1e4)](_0x2da4a4)&&_0x2da4a4>0x0)return{'dbId':_0x2da4a4,'dbName':await getDbName(_0x1a0636[_0x187050(0x1d9)],_0x2da4a4)[_0x187050(0x1ed)](()=>undefined)};if(_0x1a0636[_0x187050(0x1de)])throw CliErrors[_0x187050(0x1fa)]('db-id',_0x187050(0x1f8));const _0x36b377=await listDatabases(_0x1a0636[_0x187050(0x1d9)])[_0x187050(0x1ed)](()=>[]);if(_0x36b377[_0x187050(0x1f3)]===0x1)return{'dbId':_0x36b377[0x0][_0x187050(0x1fb)],'dbName':_0x36b377[0x0][_0x187050(0x1d8)]};if(_0x36b377[_0x187050(0x1f3)]>0x1){const _0x1760f4=await select({'message':_0x187050(0x1fc),'choices':[..._0x36b377['map'](_0x599e0b=>({'name':_0x599e0b[_0x187050(0x1d8)]+'\x20('+_0x599e0b[_0x187050(0x1fb)]+')','value':serializeDbSelection(_0x599e0b)})),{'name':_0x187050(0x1db),'value':_0x187050(0x203)}]});if(_0x1760f4!==_0x187050(0x203))return deserializeDbSelection(_0x1760f4);}const _0x4ceff6=await input({'message':_0x187050(0x1ff),'validate':_0x3929ec=>{const _0x4d624e=_0x187050,_0x2aa335=_0x3929ec[_0x4d624e(0x1e8)]();if(!_0x2aa335)return _0x4d624e(0x209);const _0x72114f=Number(_0x2aa335);if(!Number[_0x4d624e(0x1e9)](_0x72114f)||_0x72114f<=0x0)return _0x4d624e(0x1df);return!![];}});return{'dbId':Number(_0x4ceff6['trim']())};}async function resolveSqlModeInput(_0x388420){const _0x1e4423=a183_0x2d4931,_0x4e87d5=_0x388420['str'](_0x1e4423(0x201))[_0x1e4423(0x1e8)]();if(_0x4e87d5===_0x1e4423(0x1cc)||_0x4e87d5===_0x1e4423(0x204))return _0x4e87d5;if(_0x388420[_0x1e4423(0x1de)])throw CliErrors[_0x1e4423(0x1fa)](_0x1e4423(0x201),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x1e4423(0x20c),'value':_0x1e4423(0x1cc),'description':_0x1e4423(0x202)},{'name':_0x1e4423(0x1e6),'value':'mybatisXml','description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x19df51){const _0x3f5222=a183_0x2d4931;return JSON[_0x3f5222(0x1d1)]({'dbId':_0x19df51[_0x3f5222(0x1fb)],'dbName':_0x19df51[_0x3f5222(0x1d8)]});}function deserializeDbSelection(_0x357409){const _0x57b0be=a183_0x2d4931;try{const _0x331433=JSON[_0x57b0be(0x1ce)](_0x357409);if(typeof _0x331433[_0x57b0be(0x1fb)]===_0x57b0be(0x1d7)&&Number[_0x57b0be(0x1e4)](_0x331433['dbId']))return{'dbId':_0x331433['dbId'],'dbName':_0x331433[_0x57b0be(0x1d8)]};}catch{}throw CliErrors[_0x57b0be(0x1e3)](_0x57b0be(0x1ca)+_0x357409);}function resolveProvidedDbId(_0x425f96){const _0x286aba=a183_0x2d4931,_0x58b893=_0x425f96['flag'](_0x286aba(0x1e0));if(typeof _0x58b893==='number'&&Number[_0x286aba(0x1e4)](_0x58b893))return _0x58b893;return undefined;}function a183_0x2f1b(){const _0xddcbeb=['普通\x20SQL(sql)','new','string','sqlName','Invalid\x20database\x20selection\x20payload:\x20','1083252eozMXl','sql','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','parse','9611481CNEAeK','SELECT\x201\x20AS\x20id;','stringify','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','45325296OzAByB','sqlCode','write','Local\x20SQL\x20file\x20mode','number','dbName','appCode','416YQZRtV','✎\x20手动输入\x20dbId','5433QUPfWB','Target\x20database\x20ID','nonInteractive','dbId\x20必须为正整数','db-id','lastSync','10dnBFZp','validation','isFinite','File\x20already\x20exists:\x20','MyBatis\x20XML(mybatisXml)','216CgaBwd','trim','isInteger','POST','toISOString','SQL\x20名称不能为空','catch','/smartapi/custom/saveUserCustomSql','\x20\x20SELECT\x201\x20AS\x20id','utf8','sqlRootDir','description','length','4pziBDO','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','str','join','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','lockFilePath','flagMissing','dbId','请选择目标数据库:','54HdnLqR','create','请输入目标数据库\x20dbId:','SQL\x20query\x20display\x20name','mode','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','__manual__','mybatisXml','1726242JRqMnV','5972981JDveWK','sqlRoot','15uiLwMo','dbId\x20不能为空','name','</select>'];a183_0x2f1b=function(){return _0xddcbeb;};return a183_0x2f1b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a184_0x11db02=a184_0x5760;(function(_0x4bf2c2,_0x483718){const _0x10fe6e=a184_0x5760,_0x49e8c8=_0x4bf2c2();while(!![]){try{const _0x5c0181=-parseInt(_0x10fe6e(0x163))/0x1+-parseInt(_0x10fe6e(0x165))/0x2*(-parseInt(_0x10fe6e(0x172))/0x3)+parseInt(_0x10fe6e(0x184))/0x4+parseInt(_0x10fe6e(0x166))/0x5*(-parseInt(_0x10fe6e(0x16a))/0x6)+-parseInt(_0x10fe6e(0x183))/0x7+-parseInt(_0x10fe6e(0x162))/0x8+parseInt(_0x10fe6e(0x167))/0x9*(-parseInt(_0x10fe6e(0x160))/0xa);if(_0x5c0181===_0x483718)break;else _0x49e8c8['push'](_0x49e8c8['shift']());}catch(_0x5284c3){_0x49e8c8['push'](_0x49e8c8['shift']());}}}(a184_0xee5a,0x23273));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';function a184_0xee5a(){const _0x2821bf=['743164ifPsiK','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','length','660290fPTaXL','remoteId','919920hsIRQu','49575NGQnPy','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','569744AFPlpq','71885ubGIdp','9DtEAxl','lastSync','sqlcode','12EXgthT','toISOString','delete','sqls','str','fromEntries','Would\x20delete\x20SQL\x20','sqlRoot','3VQvRnE','trashDir','/smartapi/custom/deleteUserCustomSql','SQL\x20lock\x20file\x20not\x20found.','Deleted\x20','sql','lockFilePath','filter','appCode','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','high-risk-write','\x20(local\x20file\x20moved\x20to\x20trash)','entries','validation','sqlRootDir','projectRoot','startsWith','471296yReKLz'];a184_0xee5a=function(){return _0x2821bf;};return a184_0xee5a();}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';function a184_0x5760(_0x21e834,_0x2a7384){_0x21e834=_0x21e834-0x15f;const _0xee5a47=a184_0xee5a();let _0x5760eb=_0xee5a47[_0x21e834];return _0x5760eb;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a184_0x11db02(0x177),'command':a184_0x11db02(0x16c),'description':'Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','risk':a184_0x11db02(0x17c),'flags':[SQLCODE_FLAG],async 'validate'(_0x493ead){const _0x22218f=a184_0x11db02,_0x49a9b9=loadSqlProjectConfig(_0x493ead[_0x22218f(0x17a)]),_0x2ec55b=await readSqlLockFile(_0x49a9b9[_0x22218f(0x178)]);if(!_0x2ec55b)throw CliErrors[_0x22218f(0x17f)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x442bfa){const _0x2d8069=a184_0x11db02,_0x421ab9=loadSqlProjectConfig(_0x442bfa['appCode']),_0x442f6e=await readSqlLockFile(_0x421ab9[_0x2d8069(0x178)]);if(!_0x442f6e)throw CliErrors[_0x2d8069(0x17f)](_0x2d8069(0x17b));const {appLock:_0x515486}=ensureSqlLockScope(_0x442f6e,_0x442bfa[_0x2d8069(0x17a)],_0x421ab9[_0x2d8069(0x171)],_0x2d8069(0x16c)),_0x5b6ca0=_0x442bfa['str'](_0x2d8069(0x169)),_0x439ec5=_0x515486[_0x2d8069(0x16d)][_0x5b6ca0];if(!_0x439ec5)throw CliErrors['validation'](_0x2d8069(0x164)+_0x5b6ca0+'\x22.');return{'method':'POST','url':_0x2d8069(0x174),'body':{'sqlCode':_0x5b6ca0,'id':_0x439ec5['remoteId'],'localPath':resolveLocalSqlFilePath(_0x421ab9,_0x5b6ca0,_0x439ec5)},'description':_0x2d8069(0x170)+_0x5b6ca0+_0x2d8069(0x185)+_0x421ab9[_0x2d8069(0x173)]};},async 'execute'(_0x3b7e48){const _0xcd6629=a184_0x11db02,_0x5724e6=loadSqlProjectConfig(_0x3b7e48[_0xcd6629(0x17a)]),_0x39b9de=await readSqlLockFile(_0x5724e6['lockFilePath']);if(!_0x39b9de)throw CliErrors[_0xcd6629(0x17f)](_0xcd6629(0x175));const {lockData:_0x4b8d8c,appLock:_0x52705f}=ensureSqlLockScope(_0x39b9de,_0x3b7e48[_0xcd6629(0x17a)],_0x5724e6[_0xcd6629(0x171)],_0xcd6629(0x16c)),_0x9ed9fb=_0x3b7e48[_0xcd6629(0x16e)](_0xcd6629(0x169)),_0x55562e=_0x52705f[_0xcd6629(0x16d)][_0x9ed9fb];if(!_0x55562e)throw CliErrors[_0xcd6629(0x17f)](_0xcd6629(0x164)+_0x9ed9fb+'\x22.');await deleteSqlQuery({'id':_0x55562e[_0xcd6629(0x161)],'sqlCode':_0x9ed9fb}),_0x52705f['sqls']=Object[_0xcd6629(0x16f)](Object[_0xcd6629(0x17e)](_0x52705f[_0xcd6629(0x16d)])[_0xcd6629(0x179)](([_0x127f13])=>_0x127f13!==_0x9ed9fb)),_0x52705f[_0xcd6629(0x168)]=new Date()[_0xcd6629(0x16b)](),await writeSqlLockFile(_0x5724e6[_0xcd6629(0x178)],_0x4b8d8c);const _0x3a3a50=resolveLocalSqlFilePath(_0x5724e6,_0x9ed9fb,_0x55562e);let _0xf3d05d;await fileExists(_0x3a3a50)&&(_0xf3d05d=await moveToTrash(_0x5724e6[_0xcd6629(0x181)],_0x5724e6['trashDir'],_0x3a3a50),await cleanupEmptyDirectories(dirname(_0x3a3a50),_0x5724e6[_0xcd6629(0x180)]));const _0x57e63c={'deleted':_0x9ed9fb,'remoteId':_0x55562e[_0xcd6629(0x161)]};if(_0xf3d05d)_0x57e63c['trashedTo']=_0xf3d05d;return{'ok':!![],'data':_0x57e63c,'message':_0xcd6629(0x176)+_0x9ed9fb+(_0xf3d05d?_0xcd6629(0x17d):'')};}};async function moveToTrash(_0x5f4147,_0x54d4ce,_0x42454c){const _0x3ef095=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0xf1ea08=relative(_0x5f4147,_0x42454c),_0x55a40b=join(_0x54d4ce,_0x3ef095,_0xf1ea08);return await mkdir(dirname(_0x55a40b),{'recursive':!![]}),await rename(_0x42454c,_0x55a40b),_0x55a40b;}async function cleanupEmptyDirectories(_0x26c123,_0x1b42f7){const _0xf355d1=a184_0x11db02;let _0x158fa5=resolve(_0x26c123);const _0x1f0b19=resolve(_0x1b42f7);while(_0x158fa5[_0xf355d1(0x182)](''+_0x1f0b19+sep)||_0x158fa5===_0x1f0b19){if(_0x158fa5===_0x1f0b19)return;try{const _0x5d5757=await readdir(_0x158fa5);if(_0x5d5757[_0xf355d1(0x15f)]>0x0)return;await rmdir(_0x158fa5);}catch{return;}_0x158fa5=dirname(_0x158fa5);}}
|