@lovrabet/rabetbase-cli 2.5.5-beta.2 → 2.5.5
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/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.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/detail.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/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.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-restore.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/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/path.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/subapp-assets.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/subapp-assets-status.js +1 -1
- package/lib/commands/menu/subapp-assets-update.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.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/feishu-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.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/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.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/page/lr-smart-jsx.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/supported-flags.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/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +3 -3
- package/skills/rabetbase/guides/independent-deployment.md +11 -1
- package/skills/rabetbase/references/rabetbase-config.md +16 -19
- package/skills/rabetbase/references/rabetbase-menu-visibility-update.md +5 -4
- package/skills/rabetbase/references/rabetbase-workspace.md +3 -1
- package/skills/rabetbase-page-generation/SKILL.md +1 -1
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a224_0x50c7b6=a224_0x19d9;(function(_0x3b37b4,_0x55986a){const _0x4f3e7f=a224_0x19d9,_0x431276=_0x3b37b4();while(!![]){try{const _0x11eac2=-parseInt(_0x4f3e7f(0xce))/0x1+parseInt(_0x4f3e7f(0xf9))/0x2*(-parseInt(_0x4f3e7f(0xd4))/0x3)+parseInt(_0x4f3e7f(0xcd))/0x4*(parseInt(_0x4f3e7f(0xfb))/0x5)+parseInt(_0x4f3e7f(0xf3))/0x6+parseInt(_0x4f3e7f(0xdd))/0x7+-parseInt(_0x4f3e7f(0xb1))/0x8+parseInt(_0x4f3e7f(0xf1))/0x9*(parseInt(_0x4f3e7f(0xdb))/0xa);if(_0x11eac2===_0x55986a)break;else _0x431276['push'](_0x431276['shift']());}catch(_0x42d487){_0x431276['push'](_0x431276['shift']());}}}(a224_0x446f,0x9c87e));import{getTenantMembers,listDevUserRoleRelations,listAppRoles}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':a224_0x50c7b6(0xf8),'required':!![],'description':a224_0x50c7b6(0xf7)};export const ROLE_REF_FLAG={'name':a224_0x50c7b6(0xbb),'type':a224_0x50c7b6(0xd1),'required':!![],'description':a224_0x50c7b6(0xf6)};export const USER_REF_FLAG={'name':a224_0x50c7b6(0xd3),'type':'string','required':!![],'description':a224_0x50c7b6(0xf5)};function a224_0x19d9(_0x2d8918,_0x3de1de){_0x2d8918=_0x2d8918-0xb1;const _0x446f79=a224_0x446f();let _0x19d9ec=_0x446f79[_0x2d8918];return _0x19d9ec;}export const NAME_FLAG={'name':a224_0x50c7b6(0xc8),'type':a224_0x50c7b6(0xd1),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a224_0x50c7b6(0xc8),'type':a224_0x50c7b6(0xd1),'required':!![],'description':a224_0x50c7b6(0xc0)};export const REMARK_FLAG={'name':a224_0x50c7b6(0xed),'type':a224_0x50c7b6(0xd1),'required':![],'description':a224_0x50c7b6(0xd5)};export const EXPECT_USER_COUNT_FLAG={'name':a224_0x50c7b6(0xb7),'type':a224_0x50c7b6(0xf8),'required':![],'description':a224_0x50c7b6(0xfa)};export const BUILTIN_ROLE_TYPES=[a224_0x50c7b6(0xfd),'DEV',a224_0x50c7b6(0xe2)];export function isBuiltinRole(_0x1a379c){return BUILTIN_ROLE_TYPES['includes'](_0x1a379c);}export function assertCustomRole(_0x2c488e,_0x42b27e){const _0x4c5258=a224_0x50c7b6;if(_0x2c488e['roleType']!=='CUSTOM')throw CliErrors[_0x4c5258(0xe5)](_0x4c5258(0xdc)+_0x42b27e+_0x4c5258(0xd9)+_0x2c488e[_0x4c5258(0xb3)]+'\x20('+_0x2c488e['roleType']+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRole(_0x22f2a2){const _0x3dbd60=a224_0x50c7b6;return{'id':_0x22f2a2['id'],'roleName':_0x22f2a2['roleName'],'roleType':_0x22f2a2[_0x3dbd60(0xea)],'remark':_0x22f2a2[_0x3dbd60(0xed)],'userCount':_0x22f2a2['userCount'],'permitCount':_0x22f2a2[_0x3dbd60(0xc2)],'builtin':isBuiltinRole(_0x22f2a2[_0x3dbd60(0xea)])};}export async function resolveRoleRef(_0x241567,_0x473bfa){const _0x4077b6=a224_0x50c7b6,_0xdcaf59=_0x473bfa[_0x4077b6(0xc5)]();if(!_0xdcaf59)throw CliErrors[_0x4077b6(0xe5)]('Missing\x20role\x20reference.',_0x4077b6(0xf4));if(/^\d+$/[_0x4077b6(0xd8)](_0xdcaf59))return getRoleById(_0x241567,Number(_0xdcaf59));const _0x512a37=await listAllAppRoles(_0x241567),_0x2f906e=_0x512a37['filter'](_0x8be6aa=>_0x8be6aa['roleName']===_0xdcaf59);if(_0x2f906e[_0x4077b6(0xbc)]===0x0)throw CliErrors[_0x4077b6(0xe5)](_0x4077b6(0xe7)+_0xdcaf59+_0x4077b6(0xee)+_0x241567+'.',_0x4077b6(0xb4));if(_0x2f906e[_0x4077b6(0xbc)]>0x1){const _0x438f09=_0x2f906e[_0x4077b6(0xdf)](_0x7fc79f=>_0x7fc79f['id'])[_0x4077b6(0xf2)](',\x20');throw CliErrors['validation'](_0x4077b6(0xe7)+_0xdcaf59+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x438f09+').',_0x4077b6(0xcc));}return _0x2f906e[0x0];}export async function getRoleById(_0x36c622,_0x3a4961){const _0x507605=a224_0x50c7b6,_0x2dd75c=await listAllAppRoles(_0x36c622),_0x27f641=_0x2dd75c[_0x507605(0xef)](_0x3039ce=>_0x3039ce['id']===_0x3a4961&&(!_0x3039ce[_0x507605(0xda)]||_0x3039ce['appCode']===_0x36c622));if(_0x27f641[_0x507605(0xbc)]!==0x1)throw CliErrors['validation']('Role\x20id\x20'+_0x3a4961+_0x507605(0xd0)+_0x36c622+'.',_0x507605(0xe1));return _0x27f641[0x0];}async function listAllAppRoles(_0x54da40){const _0x5ee92d=a224_0x50c7b6,_0x1c78ac=0x64,_0x171c98=[];for(let _0x686489=0x1;;_0x686489+=0x1){const {items:_0x2f761c,paging:_0x548ede}=await listAppRoles(_0x54da40,{'currentPage':_0x686489,'pageSize':_0x1c78ac});_0x171c98[_0x5ee92d(0xf0)](..._0x2f761c);if(_0x2f761c[_0x5ee92d(0xbc)]<_0x1c78ac||_0x548ede&&_0x171c98['length']>=_0x548ede[_0x5ee92d(0xc4)])return _0x171c98;}}export async function resolveTenantCode(){const _0x43faed=a224_0x50c7b6,_0x25362e=await getSessionUserInfo(),_0xec094b=_0x25362e?.['user']?.['tenant']?.[_0x43faed(0xb6)];if(!_0xec094b)throw CliErrors[_0x43faed(0xbf)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0xec094b;}function matchMember(_0x2fcde6,_0x394b89){const _0x5ba77b=a224_0x50c7b6,_0x5d20bd=_0x394b89[_0x5ba77b(0xc5)]()[_0x5ba77b(0xe6)]();return(_0x2fcde6[_0x5ba77b(0xb9)]??'')['toLowerCase']()===_0x5d20bd||(_0x2fcde6[_0x5ba77b(0xc3)]??'')[_0x5ba77b(0xe6)]()===_0x5d20bd;}export async function resolveUserRef(_0x2cd59d,_0x58a366=a224_0x50c7b6(0xe8)){const _0x254365=a224_0x50c7b6,_0xd8fcd6=_0x2cd59d['trim']();if(!_0xd8fcd6)throw CliErrors[_0x254365(0xe5)]('Missing\x20user\x20reference.',_0x254365(0xba));const _0x5f121b=await resolveTenantCode(),_0x514b01=await getTenantMembers(_0x5f121b);if(/^\d+$/[_0x254365(0xd8)](_0xd8fcd6)){const _0x31439b=Number(_0xd8fcd6),_0x54acea=_0x514b01[_0x254365(0xde)](_0xb3d89e=>_0xb3d89e[_0x254365(0xfe)]===_0x31439b);return{'userId':_0x31439b,'username':_0x54acea?.[_0x254365(0xc3)]??String(_0x31439b),'nickname':_0x54acea?.['nickname'],'matchedBy':'id'};}const _0x2c115f=_0x514b01[_0x254365(0xef)](_0x5e680c=>matchMember(_0x5e680c,_0xd8fcd6));if(_0x2c115f[_0x254365(0xbc)]===0x0)throw CliErrors[_0x254365(0xe5)](_0x254365(0xe9)+_0xd8fcd6+'\x22.',_0x254365(0xb8)+_0x58a366);if(_0x2c115f['length']>0x1){const _0x148a32=_0x2c115f['map'](_0x16bb50=>(_0x16bb50[_0x254365(0xb9)]??_0x16bb50[_0x254365(0xc3)]??'?')+'('+_0x16bb50[_0x254365(0xfe)]+')')[_0x254365(0xf2)](',\x20');throw CliErrors[_0x254365(0xe5)](_0x254365(0xe4)+_0xd8fcd6+_0x254365(0xbe)+_0x148a32+'.',_0x58a366);}const _0x74d0a4=_0x2c115f[0x0];return{'userId':_0x74d0a4[_0x254365(0xfe)],'username':_0x74d0a4[_0x254365(0xc3)]??String(_0x74d0a4[_0x254365(0xfe)]),'nickname':_0x74d0a4[_0x254365(0xb9)],'matchedBy':_0x254365(0xc8)};}export const CREATE_USER_ROLE_PATH=a224_0x50c7b6(0xc6);export const DELETE_USER_ROLE_PATH=a224_0x50c7b6(0xc7);export function computeRoleUserMutation(_0x4e074f){const _0x2458c9=a224_0x50c7b6,{operation:_0x9eb2df,appCode:_0x178813,role:_0x4598f6,relations:_0x860bf7,user:_0x5c7db3}=_0x4e074f,_0x261115=[...new Set(_0x860bf7['map'](_0x3516b4=>_0x3516b4[_0x2458c9(0xfe)]))],_0x248813=[];if(_0x4e074f[_0x2458c9(0xe0)]!==undefined&&_0x4e074f['expectUserCount']!==_0x261115[_0x2458c9(0xbc)])throw CliErrors[_0x2458c9(0xe5)](_0x2458c9(0xd6)+_0x4e074f['expectUserCount']+_0x2458c9(0xcb)+_0x261115['length']+'.',_0x2458c9(0xcf));const _0x278e08=_0x261115[_0x2458c9(0xff)](_0x5c7db3[_0x2458c9(0xfe)]),_0x33aafe=_0x860bf7[_0x2458c9(0xef)](_0x5dc532=>_0x5dc532[_0x2458c9(0xfe)]===_0x5c7db3[_0x2458c9(0xfe)])[_0x2458c9(0xdf)](_0x1d67c5=>_0x1d67c5['id']),_0x1a0af2=_0x9eb2df===_0x2458c9(0xec)?!_0x278e08:_0x278e08;let _0x3be15e=_0x261115;_0x9eb2df===_0x2458c9(0xec)?_0x278e08?_0x248813[_0x2458c9(0xf0)](_0x2458c9(0xeb)+_0x5c7db3[_0x2458c9(0xfe)]+_0x2458c9(0xb5)+_0x4598f6[_0x2458c9(0xb3)]+_0x2458c9(0xfc)):_0x3be15e=[..._0x261115,_0x5c7db3['userId']]:!_0x278e08?_0x248813[_0x2458c9(0xf0)](_0x2458c9(0xeb)+_0x5c7db3[_0x2458c9(0xfe)]+_0x2458c9(0xd2)+_0x4598f6[_0x2458c9(0xb3)]+_0x2458c9(0xfc)):(_0x3be15e=_0x261115[_0x2458c9(0xef)](_0x3abd36=>_0x3abd36!==_0x5c7db3[_0x2458c9(0xfe)]),_0x33aafe['length']>0x1&&_0x248813[_0x2458c9(0xf0)](_0x2458c9(0xc1)+_0x33aafe['length']+_0x2458c9(0xb2)+_0x5c7db3[_0x2458c9(0xfe)]+'.'));const _0x299897={'scope':_0x2458c9(0xca),'operation':_0x9eb2df,'selector':{'appCode':_0x178813,'roleId':_0x4598f6['id'],'roleName':_0x4598f6[_0x2458c9(0xb3)],'userId':_0x5c7db3[_0x2458c9(0xfe)]},'before':{'userIds':_0x261115},'after':{'userIds':_0x3be15e},'dryRun':_0x4e074f['dryRun'],'backend':{'method':'POST','path':_0x9eb2df===_0x2458c9(0xec)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x248813};return{'mutation':_0x299897,'changed':_0x1a0af2,'matchingRelationIds':_0x33aafe};}export async function loadDevRoleRelations(_0x1e8db5,_0x16c89a){const _0x1f31e1=a224_0x50c7b6,_0x155fbc=0x64,_0x579678=[];for(let _0x3ad49d=0x1;;_0x3ad49d+=0x1){const {items:_0x371ff7,paging:_0x2c9be5}=await listDevUserRoleRelations(_0x1e8db5,{'roleId':_0x16c89a,'currentPage':_0x3ad49d,'pageSize':_0x155fbc});_0x579678['push'](..._0x371ff7);if(_0x371ff7[_0x1f31e1(0xbc)]<_0x155fbc||_0x2c9be5&&_0x579678[_0x1f31e1(0xbc)]>=_0x2c9be5[_0x1f31e1(0xc4)])return _0x579678;}}export function readRoleRef(_0x547f5f){const _0xbf1ed=a224_0x50c7b6,_0x535b0d=_0x547f5f['str'](_0xbf1ed(0xbb))['trim']();if(!_0x535b0d)throw CliErrors[_0xbf1ed(0xc9)](_0xbf1ed(0xbb),_0xbf1ed(0xf4));return _0x535b0d;}export async function prepareUserMutation(_0x1613bb,_0x50b3ad,_0x175534){const _0x4640b7=a224_0x50c7b6,_0x302f6a=readRoleRef(_0x1613bb),_0x50c945=_0x1613bb[_0x4640b7(0xbd)](_0x4640b7(0xd3))[_0x4640b7(0xc5)]();if(!_0x50c945)throw CliErrors[_0x4640b7(0xc9)]('user',_0x4640b7(0xba));const _0x20e083=_0x1613bb[_0x4640b7(0xe3)](_0x4640b7(0xb7)),_0x16bbdb=_0x20e083===undefined||_0x20e083===null?undefined:Number(_0x20e083),_0x616991=await resolveRoleRef(_0x1613bb[_0x4640b7(0xda)],_0x302f6a);if(_0x616991['roleType']==='OWNER')throw CliErrors['validation'](_0x4640b7(0xdc)+_0x50b3ad+_0x4640b7(0xd7),'Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.');const _0x572cf3=await resolveUserRef(_0x50c945),_0x3acc53=await loadDevRoleRelations(_0x1613bb[_0x4640b7(0xda)],_0x616991['id']);return{...computeRoleUserMutation({'operation':_0x50b3ad,'appCode':_0x1613bb['appCode'],'role':_0x616991,'relations':_0x3acc53,'user':{'userId':_0x572cf3['userId'],'username':_0x572cf3[_0x4640b7(0xc3)],'nickname':_0x572cf3[_0x4640b7(0xb9)]},'dryRun':_0x175534,..._0x16bbdb!==undefined?{'expectUserCount':_0x16bbdb}:{}}),'role':_0x616991,'user':_0x572cf3};}function a224_0x446f(){const _0x4debe4=['nickname','Pass\x20--user\x20<id|name>.','role','length','str','\x22:\x20','authRequired','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','Removed\x20','permitCount','username','totalCount','trim','/smartapi/permit/user-role/create','/smartapi/permit/user-role/delete','name','flagMissing','dev','\x20member(s)\x20but\x20role\x20has\x20','Disambiguate\x20with\x20--role\x20<id>.','14756JXFpuS','349327DtOTJt','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','\x20not\x20found\x20in\x20app\x20','string','\x20is\x20not\x20a\x20member\x20of\x20role\x20','user','3807267MURSrd','Optional\x20role\x20remark/description','Anti-drift\x20check\x20failed:\x20expected\x20','\x20members\x20of\x20the\x20OWNER\x20role.','test','\x20built-in\x20role\x20','appCode','13862170KwgHdQ','Cannot\x20','3619658KXTzXj','find','map','expectUserCount','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','OWNER','flag','Multiple\x20tenant\x20members\x20match\x20\x22','validation','toLowerCase','Role\x20name\x20\x22','Pass\x20--user\x20<id>.','No\x20tenant\x20member\x20matches\x20\x22','roleType','User\x20','user-add','remark','\x22\x20not\x20found\x20in\x20app\x20','filter','push','9cFBykf','join','377262fLRKwY','Pass\x20--role\x20<id|name>.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Role\x20id\x20or\x20exact\x20role\x20name','Role\x20id\x20(from\x20`role\x20list`)','number','2kKwnUd','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','1270SbFNwR',';\x20no\x20change.','ADMIN','userId','includes','5149024hEdqzH','\x20duplicate\x20memberships\x20for\x20user\x20','roleName','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','\x20is\x20already\x20a\x20member\x20of\x20role\x20','tenant_code','expect-user-count','Check\x20the\x20nickname/username.\x20'];a224_0x446f=function(){return _0x4debe4;};return a224_0x446f();}
|
|
1
|
+
const a224_0x314369=a224_0x3c1a;(function(_0x221a31,_0x545676){const _0x50a87a=a224_0x3c1a,_0x49a127=_0x221a31();while(!![]){try{const _0x8377bc=parseInt(_0x50a87a(0x196))/0x1+parseInt(_0x50a87a(0x1bb))/0x2*(parseInt(_0x50a87a(0x1b2))/0x3)+parseInt(_0x50a87a(0x1a0))/0x4+-parseInt(_0x50a87a(0x17a))/0x5+parseInt(_0x50a87a(0x1a9))/0x6*(parseInt(_0x50a87a(0x1c9))/0x7)+-parseInt(_0x50a87a(0x1cc))/0x8*(parseInt(_0x50a87a(0x1c4))/0x9)+-parseInt(_0x50a87a(0x1b4))/0xa;if(_0x8377bc===_0x545676)break;else _0x49a127['push'](_0x49a127['shift']());}catch(_0x55fa05){_0x49a127['push'](_0x49a127['shift']());}}}(a224_0x361c,0xeb5d7));import{getTenantMembers,listDevUserRoleRelations,listAppRoles}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':a224_0x314369(0x18b),'required':!![],'description':a224_0x314369(0x192)};export const ROLE_REF_FLAG={'name':a224_0x314369(0x1a3),'type':'string','required':!![],'description':a224_0x314369(0x1a8)};export const USER_REF_FLAG={'name':a224_0x314369(0x1c7),'type':a224_0x314369(0x1c0),'required':!![],'description':a224_0x314369(0x19b)};function a224_0x3c1a(_0x5dbec3,_0xaf89d9){_0x5dbec3=_0x5dbec3-0x179;const _0x361c38=a224_0x361c();let _0x3c1ad6=_0x361c38[_0x5dbec3];return _0x3c1ad6;}export const NAME_FLAG={'name':a224_0x314369(0x1a7),'type':a224_0x314369(0x1c0),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a224_0x314369(0x1a7),'type':a224_0x314369(0x1c0),'required':!![],'description':a224_0x314369(0x1c1)};export const REMARK_FLAG={'name':a224_0x314369(0x18d),'type':a224_0x314369(0x1c0),'required':![],'description':a224_0x314369(0x1b7)};export const EXPECT_USER_COUNT_FLAG={'name':a224_0x314369(0x1c3),'type':a224_0x314369(0x18b),'required':![],'description':a224_0x314369(0x1cb)};export const BUILTIN_ROLE_TYPES=['ADMIN',a224_0x314369(0x19c),a224_0x314369(0x18a)];export function isBuiltinRole(_0x532822){const _0x5edf42=a224_0x314369;return BUILTIN_ROLE_TYPES[_0x5edf42(0x1bd)](_0x532822);}export function assertCustomRole(_0x3e20a4,_0x9f4ff2){const _0x46924c=a224_0x314369;if(_0x3e20a4[_0x46924c(0x18e)]!==_0x46924c(0x195))throw CliErrors[_0x46924c(0x1ae)](_0x46924c(0x17f)+_0x9f4ff2+'\x20built-in\x20role\x20'+_0x3e20a4[_0x46924c(0x180)]+'\x20('+_0x3e20a4['roleType']+').',_0x46924c(0x19a));}export function projectRole(_0x5d1fd9){const _0x971948=a224_0x314369;return{'id':_0x5d1fd9['id'],'roleName':_0x5d1fd9['roleName'],'roleType':_0x5d1fd9[_0x971948(0x18e)],'remark':_0x5d1fd9['remark'],'userCount':_0x5d1fd9[_0x971948(0x197)],'permitCount':_0x5d1fd9[_0x971948(0x1aa)],'builtin':isBuiltinRole(_0x5d1fd9[_0x971948(0x18e)])};}export async function resolveRoleRef(_0x3544b9,_0x322d36){const _0x3d2bba=a224_0x314369,_0x281c5b=_0x322d36[_0x3d2bba(0x1ca)]();if(!_0x281c5b)throw CliErrors[_0x3d2bba(0x1ae)](_0x3d2bba(0x199),_0x3d2bba(0x1a2));if(/^\d+$/[_0x3d2bba(0x1b9)](_0x281c5b))return getRoleById(_0x3544b9,Number(_0x281c5b));const _0x331441=await listAllAppRoles(_0x3544b9),_0x2468a1=_0x331441[_0x3d2bba(0x1b3)](_0x4aad1f=>_0x4aad1f[_0x3d2bba(0x180)]===_0x281c5b);if(_0x2468a1[_0x3d2bba(0x188)]===0x0)throw CliErrors[_0x3d2bba(0x1ae)](_0x3d2bba(0x184)+_0x281c5b+'\x22\x20not\x20found\x20in\x20app\x20'+_0x3544b9+'.',_0x3d2bba(0x1c5));if(_0x2468a1[_0x3d2bba(0x188)]>0x1){const _0x3220d7=_0x2468a1[_0x3d2bba(0x1c2)](_0x2d6936=>_0x2d6936['id'])[_0x3d2bba(0x1b8)](',\x20');throw CliErrors[_0x3d2bba(0x1ae)](_0x3d2bba(0x184)+_0x281c5b+_0x3d2bba(0x1be)+_0x3220d7+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x2468a1[0x0];}export async function getRoleById(_0x55a2dc,_0x335bfb){const _0x19f410=a224_0x314369,_0x438fc6=await listAllAppRoles(_0x55a2dc),_0x38c365=_0x438fc6[_0x19f410(0x1b3)](_0x5c3376=>_0x5c3376['id']===_0x335bfb&&(!_0x5c3376[_0x19f410(0x194)]||_0x5c3376[_0x19f410(0x194)]===_0x55a2dc));if(_0x38c365[_0x19f410(0x188)]!==0x1)throw CliErrors[_0x19f410(0x1ae)](_0x19f410(0x183)+_0x335bfb+'\x20not\x20found\x20in\x20app\x20'+_0x55a2dc+'.',_0x19f410(0x1b5));return _0x38c365[0x0];}async function listAllAppRoles(_0x51aebe){const _0x34571f=a224_0x314369,_0x337c1e=0x64,_0x3a7047=[];for(let _0xafac27=0x1;;_0xafac27+=0x1){const {items:_0x67b9b2,paging:_0x40655f}=await listAppRoles(_0x51aebe,{'currentPage':_0xafac27,'pageSize':_0x337c1e});_0x3a7047[_0x34571f(0x1ba)](..._0x67b9b2);if(_0x67b9b2['length']<_0x337c1e||_0x40655f&&_0x3a7047[_0x34571f(0x188)]>=_0x40655f['totalCount'])return _0x3a7047;}}export async function resolveTenantCode(){const _0xaf8f3c=a224_0x314369,_0x51a90c=await getSessionUserInfo(),_0x16a8d5=_0x51a90c?.[_0xaf8f3c(0x1c7)]?.[_0xaf8f3c(0x1a1)]?.[_0xaf8f3c(0x1a6)];if(!_0x16a8d5)throw CliErrors[_0xaf8f3c(0x1ad)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x16a8d5;}function matchMember(_0x50265e,_0x1e886a){const _0x2198a8=a224_0x314369,_0x47ceb6=_0x1e886a[_0x2198a8(0x1ca)]()[_0x2198a8(0x1a4)]();return(_0x50265e[_0x2198a8(0x182)]??'')[_0x2198a8(0x1a4)]()===_0x47ceb6||(_0x50265e[_0x2198a8(0x191)]??'')[_0x2198a8(0x1a4)]()===_0x47ceb6;}function a224_0x361c(){const _0x33dbcf=['includes','\x22\x20is\x20ambiguous\x20(ids:\x20','Missing\x20user\x20reference.','string','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','map','expect-user-count','225FvCbDd','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','dev','user','Pass\x20--user\x20<id|name>.','63EaYQjD','trim','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','287032iDohro','flagMissing','4723145mcamZE','Pass\x20--user\x20<id>.','\x20member(s)\x20but\x20role\x20has\x20','User\x20','Removed\x20','Cannot\x20','roleName','POST','nickname','Role\x20id\x20','Role\x20name\x20\x22','/smartapi/permit/user-role/create','Anti-drift\x20check\x20failed:\x20expected\x20',';\x20no\x20change.','length','/smartapi/permit/user-role/delete','OWNER','number','Check\x20the\x20nickname/username.\x20','remark','roleType','\x20is\x20already\x20a\x20member\x20of\x20role\x20','\x22:\x20','username','Role\x20id\x20(from\x20`role\x20list`)','str','appCode','CUSTOM','1577732BRHeNh','userCount','\x20duplicate\x20memberships\x20for\x20user\x20','Missing\x20role\x20reference.','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','DEV','find','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','No\x20tenant\x20member\x20matches\x20\x22','224132grlURt','tenant','Pass\x20--role\x20<id|name>.','role','toLowerCase','userId','tenant_code','name','Role\x20id\x20or\x20exact\x20role\x20name','949398AdgjdV','permitCount','\x20is\x20not\x20a\x20member\x20of\x20role\x20','\x20members\x20of\x20the\x20OWNER\x20role.','authRequired','validation','user-add','dryRun','expectUserCount','6ruNBtP','filter','10050010RgkdWW','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','flag','Optional\x20role\x20remark/description','join','test','push','752798xRGlKO','Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.'];a224_0x361c=function(){return _0x33dbcf;};return a224_0x361c();}export async function resolveUserRef(_0x154e17,_0x2641a0=a224_0x314369(0x17b)){const _0x25c70d=a224_0x314369,_0x5ff0c1=_0x154e17[_0x25c70d(0x1ca)]();if(!_0x5ff0c1)throw CliErrors[_0x25c70d(0x1ae)](_0x25c70d(0x1bf),_0x25c70d(0x1c8));const _0x512c9b=await resolveTenantCode(),_0x424c79=await getTenantMembers(_0x512c9b);if(/^\d+$/['test'](_0x5ff0c1)){const _0x5c9dd3=Number(_0x5ff0c1),_0x875bf=_0x424c79[_0x25c70d(0x19d)](_0x4c8b48=>_0x4c8b48[_0x25c70d(0x1a5)]===_0x5c9dd3);return{'userId':_0x5c9dd3,'username':_0x875bf?.[_0x25c70d(0x191)]??String(_0x5c9dd3),'nickname':_0x875bf?.[_0x25c70d(0x182)],'matchedBy':'id'};}const _0x3cd4b4=_0x424c79[_0x25c70d(0x1b3)](_0x2b50f4=>matchMember(_0x2b50f4,_0x5ff0c1));if(_0x3cd4b4[_0x25c70d(0x188)]===0x0)throw CliErrors[_0x25c70d(0x1ae)](_0x25c70d(0x19f)+_0x5ff0c1+'\x22.',_0x25c70d(0x18c)+_0x2641a0);if(_0x3cd4b4[_0x25c70d(0x188)]>0x1){const _0x21649d=_0x3cd4b4[_0x25c70d(0x1c2)](_0x1be8b9=>(_0x1be8b9[_0x25c70d(0x182)]??_0x1be8b9[_0x25c70d(0x191)]??'?')+'('+_0x1be8b9['userId']+')')[_0x25c70d(0x1b8)](',\x20');throw CliErrors[_0x25c70d(0x1ae)]('Multiple\x20tenant\x20members\x20match\x20\x22'+_0x5ff0c1+_0x25c70d(0x190)+_0x21649d+'.',_0x2641a0);}const _0x58cb46=_0x3cd4b4[0x0];return{'userId':_0x58cb46[_0x25c70d(0x1a5)],'username':_0x58cb46[_0x25c70d(0x191)]??String(_0x58cb46['userId']),'nickname':_0x58cb46[_0x25c70d(0x182)],'matchedBy':_0x25c70d(0x1a7)};}export const CREATE_USER_ROLE_PATH=a224_0x314369(0x185);export const DELETE_USER_ROLE_PATH=a224_0x314369(0x189);export function computeRoleUserMutation(_0x4a0f67){const _0x23a621=a224_0x314369,{operation:_0x3632de,appCode:_0x2efa59,role:_0x1d90ae,relations:_0xb19970,user:_0xfca295}=_0x4a0f67,_0x19fc12=[...new Set(_0xb19970[_0x23a621(0x1c2)](_0x310d68=>_0x310d68[_0x23a621(0x1a5)]))],_0x561434=[];if(_0x4a0f67[_0x23a621(0x1b1)]!==undefined&&_0x4a0f67[_0x23a621(0x1b1)]!==_0x19fc12[_0x23a621(0x188)])throw CliErrors[_0x23a621(0x1ae)](_0x23a621(0x186)+_0x4a0f67[_0x23a621(0x1b1)]+_0x23a621(0x17c)+_0x19fc12[_0x23a621(0x188)]+'.',_0x23a621(0x19e));const _0x207183=_0x19fc12[_0x23a621(0x1bd)](_0xfca295[_0x23a621(0x1a5)]),_0x4dca49=_0xb19970['filter'](_0x43e0de=>_0x43e0de[_0x23a621(0x1a5)]===_0xfca295['userId'])['map'](_0x39c64d=>_0x39c64d['id']),_0x12592a=_0x3632de===_0x23a621(0x1af)?!_0x207183:_0x207183;let _0x40dc5e=_0x19fc12;_0x3632de===_0x23a621(0x1af)?_0x207183?_0x561434[_0x23a621(0x1ba)]('User\x20'+_0xfca295[_0x23a621(0x1a5)]+_0x23a621(0x18f)+_0x1d90ae[_0x23a621(0x180)]+';\x20no\x20change.'):_0x40dc5e=[..._0x19fc12,_0xfca295[_0x23a621(0x1a5)]]:!_0x207183?_0x561434['push'](_0x23a621(0x17d)+_0xfca295[_0x23a621(0x1a5)]+_0x23a621(0x1ab)+_0x1d90ae[_0x23a621(0x180)]+_0x23a621(0x187)):(_0x40dc5e=_0x19fc12[_0x23a621(0x1b3)](_0xd8d068=>_0xd8d068!==_0xfca295[_0x23a621(0x1a5)]),_0x4dca49['length']>0x1&&_0x561434[_0x23a621(0x1ba)](_0x23a621(0x17e)+_0x4dca49[_0x23a621(0x188)]+_0x23a621(0x198)+_0xfca295[_0x23a621(0x1a5)]+'.'));const _0x3d2fb6={'scope':_0x23a621(0x1c6),'operation':_0x3632de,'selector':{'appCode':_0x2efa59,'roleId':_0x1d90ae['id'],'roleName':_0x1d90ae[_0x23a621(0x180)],'userId':_0xfca295[_0x23a621(0x1a5)]},'before':{'userIds':_0x19fc12},'after':{'userIds':_0x40dc5e},'dryRun':_0x4a0f67[_0x23a621(0x1b0)],'backend':{'method':_0x23a621(0x181),'path':_0x3632de===_0x23a621(0x1af)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x561434};return{'mutation':_0x3d2fb6,'changed':_0x12592a,'matchingRelationIds':_0x4dca49};}export async function loadDevRoleRelations(_0x1c06a0,_0x4f207a){const _0x50c774=a224_0x314369,_0x32175a=0x64,_0x2ae3aa=[];for(let _0x54620f=0x1;;_0x54620f+=0x1){const {items:_0x27aa30,paging:_0x25606d}=await listDevUserRoleRelations(_0x1c06a0,{'roleId':_0x4f207a,'currentPage':_0x54620f,'pageSize':_0x32175a});_0x2ae3aa[_0x50c774(0x1ba)](..._0x27aa30);if(_0x27aa30[_0x50c774(0x188)]<_0x32175a||_0x25606d&&_0x2ae3aa['length']>=_0x25606d['totalCount'])return _0x2ae3aa;}}export function readRoleRef(_0x5256eb){const _0x56a5bb=a224_0x314369,_0x51c31b=_0x5256eb[_0x56a5bb(0x193)]('role')['trim']();if(!_0x51c31b)throw CliErrors['flagMissing'](_0x56a5bb(0x1a3),_0x56a5bb(0x1a2));return _0x51c31b;}export async function prepareUserMutation(_0x8bf617,_0x508361,_0x493379){const _0x967343=a224_0x314369,_0x1171aa=readRoleRef(_0x8bf617),_0x5ecf64=_0x8bf617[_0x967343(0x193)]('user')[_0x967343(0x1ca)]();if(!_0x5ecf64)throw CliErrors[_0x967343(0x179)](_0x967343(0x1c7),'Pass\x20--user\x20<id|name>.');const _0x1be740=_0x8bf617[_0x967343(0x1b6)](_0x967343(0x1c3)),_0x44d2c9=_0x1be740===undefined||_0x1be740===null?undefined:Number(_0x1be740),_0x4ed9c6=await resolveRoleRef(_0x8bf617[_0x967343(0x194)],_0x1171aa);if(_0x4ed9c6[_0x967343(0x18e)]===_0x967343(0x18a))throw CliErrors[_0x967343(0x1ae)](_0x967343(0x17f)+_0x508361+_0x967343(0x1ac),_0x967343(0x1bc));const _0x3c39f7=await resolveUserRef(_0x5ecf64),_0x2db926=await loadDevRoleRelations(_0x8bf617['appCode'],_0x4ed9c6['id']);return{...computeRoleUserMutation({'operation':_0x508361,'appCode':_0x8bf617[_0x967343(0x194)],'role':_0x4ed9c6,'relations':_0x2db926,'user':{'userId':_0x3c39f7[_0x967343(0x1a5)],'username':_0x3c39f7['username'],'nickname':_0x3c39f7[_0x967343(0x182)]},'dryRun':_0x493379,..._0x44d2c9!==undefined?{'expectUserCount':_0x44d2c9}:{}}),'role':_0x4ed9c6,'user':_0x3c39f7};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a225_0x2917f1=a225_0x3db1;(function(_0x4367fe,_0x2801a8){const _0x24cc05=a225_0x3db1,_0x2d4d09=_0x4367fe();while(!![]){try{const _0x36520d=parseInt(_0x24cc05(0x13e))/0x1*(-parseInt(_0x24cc05(0x151))/0x2)+parseInt(_0x24cc05(0x150))/0x3*(-parseInt(_0x24cc05(0x15c))/0x4)+parseInt(_0x24cc05(0x158))/0x5*(-parseInt(_0x24cc05(0x13d))/0x6)+parseInt(_0x24cc05(0x153))/0x7*(parseInt(_0x24cc05(0x13c))/0x8)+-parseInt(_0x24cc05(0x149))/0x9+-parseInt(_0x24cc05(0x157))/0xa*(parseInt(_0x24cc05(0x14a))/0xb)+parseInt(_0x24cc05(0x15b))/0xc*(parseInt(_0x24cc05(0x144))/0xd);if(_0x36520d===_0x2801a8)break;else _0x2d4d09['push'](_0x2d4d09['shift']());}catch(_0x3f829f){_0x2d4d09['push'](_0x2d4d09['shift']());}}}(a225_0x20df,0x6babe));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a225_0x3db1(_0x89e7b6,_0x5457fd){_0x89e7b6=_0x89e7b6-0x13c;const _0x20df1f=a225_0x20df();let _0x3db188=_0x20df1f[_0x89e7b6];return _0x3db188;}const UPDATE_PATH=a225_0x2917f1(0x156);function readPatch(_0x2478fd){const _0x17853d=a225_0x2917f1,_0x4c3db8=_0x2478fd[_0x17853d(0x14b)](_0x17853d(0x141)),_0x59ee2d=_0x2478fd[_0x17853d(0x14b)](_0x17853d(0x142)),_0x2ce251={};if(_0x4c3db8!==undefined&&_0x4c3db8!==null){const _0x513fbc=String(_0x4c3db8)[_0x17853d(0x145)]();if(!_0x513fbc)throw CliErrors[_0x17853d(0x14e)]('--name\x20cannot\x20be\x20empty.');if(_0x513fbc[_0x17853d(0x152)]>0x40)throw CliErrors[_0x17853d(0x14e)](_0x17853d(0x146));_0x2ce251[_0x17853d(0x159)]=_0x513fbc;}_0x59ee2d!==undefined&&_0x59ee2d!==null&&(_0x2ce251[_0x17853d(0x142)]=String(_0x59ee2d));if(_0x2ce251[_0x17853d(0x159)]===undefined&&_0x2ce251[_0x17853d(0x142)]===undefined)throw CliErrors[_0x17853d(0x14e)](_0x17853d(0x155),_0x17853d(0x148));return _0x2ce251;}function a225_0x20df(){const _0x12cbf4=['roleName','num','1200FuaLMR','1360196RxfYsq','24408IiRDSQ','3439050dlXORn','16711IpKgkj','string','update','name','remark','appCode','419263PmpbvZ','trim','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','dev','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','4213872AVybgx','495TULPYy','flag','New\x20role\x20name','role','validation','Updated\x20role\x20','3WNiYeF','76PXdifT','length','14ehggLm','POST','Nothing\x20to\x20update.','/smartapi/permit/role/update','171940Ksrkuk','5MsUMhA'];a225_0x20df=function(){return _0x12cbf4;};return a225_0x20df();}export const roleUpdate={'service':a225_0x2917f1(0x14d),'command':'update','description':'Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a225_0x2917f1(0x141),'type':a225_0x2917f1(0x13f),'required':![],'description':a225_0x2917f1(0x14c)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x45189a){readPatch(_0x45189a);},async 'dryRun'(_0x2f09a6){const _0x2a1f06=a225_0x2917f1,_0x293fdf=_0x2f09a6[_0x2a1f06(0x15a)]('id'),_0x40313c=readPatch(_0x2f09a6),_0x36fa94=await getRoleById(_0x2f09a6['appCode'],_0x293fdf);return assertCustomRole(_0x36fa94,_0x2a1f06(0x140)),asDryRunResult({'scope':_0x2a1f06(0x147),'operation':_0x2a1f06(0x140),'selector':{'appCode':_0x2f09a6[_0x2a1f06(0x143)],'roleId':_0x293fdf,'roleName':_0x36fa94[_0x2a1f06(0x159)]},'before':projectRole(_0x36fa94),'after':projectRole({..._0x36fa94,..._0x40313c[_0x2a1f06(0x159)]!==undefined?{'roleName':_0x40313c[_0x2a1f06(0x159)]}:{},..._0x40313c[_0x2a1f06(0x142)]!==undefined?{'remark':_0x40313c[_0x2a1f06(0x142)]}:{}}),'dryRun':!![],'backend':{'method':_0x2a1f06(0x154),'path':UPDATE_PATH},'warnings':[]},{'method':_0x2a1f06(0x154),'url':UPDATE_PATH});},async 'execute'(_0x1fb266){const _0x197e40=a225_0x2917f1,_0xa5a206=_0x1fb266[_0x197e40(0x15a)]('id'),_0x2a75c5=readPatch(_0x1fb266),_0x72b4ca=await getRoleById(_0x1fb266[_0x197e40(0x143)],_0xa5a206);assertCustomRole(_0x72b4ca,'update'),await updateAppRole({'id':_0xa5a206,'appCode':_0x1fb266[_0x197e40(0x143)],..._0x2a75c5[_0x197e40(0x159)]!==undefined?{'roleName':_0x2a75c5[_0x197e40(0x159)]}:{},..._0x2a75c5[_0x197e40(0x142)]!==undefined?{'remark':_0x2a75c5[_0x197e40(0x142)]}:{}});const _0x4ce87d=await getRoleById(_0x1fb266[_0x197e40(0x143)],_0xa5a206);return{'ok':!![],'data':{'scope':_0x197e40(0x147),'operation':_0x197e40(0x140),'selector':{'appCode':_0x1fb266[_0x197e40(0x143)],'roleId':_0xa5a206,'roleName':_0x4ce87d[_0x197e40(0x159)]},'before':projectRole(_0x72b4ca),'after':projectRole(_0x4ce87d),'dryRun':![],'backend':{'method':_0x197e40(0x154),'path':UPDATE_PATH},'warnings':[]},'message':_0x197e40(0x14f)+_0x4ce87d[_0x197e40(0x159)]+'\x20(id='+_0xa5a206+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a226_0x27b12c=a226_0x43c0;(function(_0x550377,_0x111366){const _0x58fef0=a226_0x43c0,_0x2a9819=_0x550377();while(!![]){try{const _0xa8b3a7=-parseInt(_0x58fef0(0x17d))/0x1+parseInt(_0x58fef0(0x173))/0x2*(-parseInt(_0x58fef0(0x172))/0x3)+parseInt(_0x58fef0(0x17a))/0x4+-parseInt(_0x58fef0(0x183))/0x5+-parseInt(_0x58fef0(0x176))/0x6*(-parseInt(_0x58fef0(0x171))/0x7)+parseInt(_0x58fef0(0x182))/0x8+parseInt(_0x58fef0(0x17c))/0x9;if(_0xa8b3a7===_0x111366)break;else _0x2a9819['push'](_0x2a9819['shift']());}catch(_0x29d7af){_0x2a9819['push'](_0x2a9819['shift']());}}}(a226_0x4258,0xa2be6));import{createDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a226_0x4258(){const _0xea6e4a=['high-risk-write','roleType','roleName','147tQXJCA','2453133bwPbgF','2tBHuNC','\x20to\x20role\x20','POST','12162RJxcTE','userId','appCode','username','1231544YpWmAL','user-add','23912892RwIBnq','525810YJKCbr','No\x20change:\x20user\x20','role','selector','roleId','1797080ZaJkWJ','6109785skwDJL'];a226_0x4258=function(){return _0xea6e4a;};return a226_0x4258();}function a226_0x43c0(_0x52ae3c,_0x4d13ba){_0x52ae3c=_0x52ae3c-0x171;const _0x4258a9=a226_0x4258();let _0x43c0d2=_0x4258a9[_0x52ae3c];return _0x43c0d2;}import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,CREATE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a226_0x27b12c(0x17f),'command':a226_0x27b12c(0x17b),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','risk':a226_0x27b12c(0x184),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4549f7){const _0x568a9a=a226_0x27b12c,{mutation:_0x4b544b}=await prepareUserMutation(_0x4549f7,'user-add',!![]);return asDryRunResult(_0x4b544b,{'method':_0x568a9a(0x175),'url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x4a2e05){const _0x218192=a226_0x27b12c,{mutation:_0x569ffa,changed:_0x499255,role:_0x2a735f,user:_0x3bddfa}=await prepareUserMutation(_0x4a2e05,'user-add',![]);return _0x499255&&await createDevUserRole({'appCode':_0x4a2e05[_0x218192(0x178)],'userId':_0x3bddfa[_0x218192(0x177)],'username':_0x3bddfa[_0x218192(0x179)],'roleType':_0x2a735f[_0x218192(0x185)],'roleId':_0x569ffa[_0x218192(0x180)][_0x218192(0x181)]}),{'ok':!![],'data':_0x569ffa,'message':_0x499255?'Added\x20user\x20'+_0x569ffa['selector'][_0x218192(0x177)]+_0x218192(0x174)+_0x569ffa['selector'][_0x218192(0x186)]:_0x218192(0x17e)+_0x569ffa['selector'][_0x218192(0x177)]+'\x20already\x20in\x20role\x20'+_0x569ffa[_0x218192(0x180)][_0x218192(0x186)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a227_0x2458(_0x2c9076,_0x52d5fc){_0x2c9076=_0x2c9076-0x167;const _0x37895c=a227_0x3789();let _0x245814=_0x37895c[_0x2c9076];return _0x245814;}const a227_0x35d3e8=a227_0x2458;(function(_0x5a1d54,_0x1ffbec){const _0x2862e5=a227_0x2458,_0x43d44c=_0x5a1d54();while(!![]){try{const _0x25fe3d=parseInt(_0x2862e5(0x169))/0x1+-parseInt(_0x2862e5(0x16a))/0x2+parseInt(_0x2862e5(0x175))/0x3+parseInt(_0x2862e5(0x16f))/0x4+-parseInt(_0x2862e5(0x174))/0x5*(-parseInt(_0x2862e5(0x16e))/0x6)+parseInt(_0x2862e5(0x179))/0x7*(parseInt(_0x2862e5(0x17a))/0x8)+-parseInt(_0x2862e5(0x172))/0x9*(parseInt(_0x2862e5(0x173))/0xa);if(_0x25fe3d===_0x1ffbec)break;else _0x43d44c['push'](_0x43d44c['shift']());}catch(_0x303192){_0x43d44c['push'](_0x43d44c['shift']());}}}(a227_0x3789,0x2811a));import{deleteDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,DELETE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';function a227_0x3789(){const _0x5c8add=['roleName','66vjYGoE','175216mYDPYw','POST','No\x20change:\x20user\x20','99XnbGQr','633110bmvBzf','144080bLnmge','812445TiaaBs','role','\x20from\x20role\x20','userId','91uZKpMM','94456atFUAE','selector','\x20not\x20in\x20role\x20','125237ltJPHm','99560VBpCxE','Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','user-remove'];a227_0x3789=function(){return _0x5c8add;};return a227_0x3789();}export const roleUserRemove={'service':a227_0x35d3e8(0x176),'command':'user-remove','description':a227_0x35d3e8(0x16b),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x39b1f0){const _0x3ffc4c=a227_0x35d3e8,{mutation:_0x23cf13}=await prepareUserMutation(_0x39b1f0,'user-remove',!![]);return asDryRunResult(_0x23cf13,{'method':_0x3ffc4c(0x170),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x462cbe){const _0x3d3124=a227_0x35d3e8,{matchingRelationIds:_0x3b0c75,mutation:_0x68d1e2,changed:_0x3812c0}=await prepareUserMutation(_0x462cbe,_0x3d3124(0x16c),![]);if(_0x3812c0)for(const _0x490931 of _0x3b0c75){await deleteDevUserRole(_0x490931);}return{'ok':!![],'data':_0x68d1e2,'message':_0x3812c0?'Removed\x20user\x20'+_0x68d1e2[_0x3d3124(0x167)][_0x3d3124(0x178)]+_0x3d3124(0x177)+_0x68d1e2[_0x3d3124(0x167)][_0x3d3124(0x16d)]:_0x3d3124(0x171)+_0x68d1e2[_0x3d3124(0x167)][_0x3d3124(0x178)]+_0x3d3124(0x168)+_0x68d1e2['selector'][_0x3d3124(0x16d)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a228_0x5838b5=a228_0x3eb5;function a228_0xc94f(){const _0x37f755=['flagMissing','3120293XYAfNs','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','7555taTdSD','3090IrsUog','username','userId','trim','12KDggrD','name','27WotKrX','22inbqOV','670904oAgveZ','role','Pass\x20--name\x20<nickname|username>.','7cvLiZP','75407gmCZqT','user-resolve','\x22\x20→\x20userId\x20','read','1814330ZPmnPo','Resolved\x20\x22','matchedBy','1425288nNFGSj','2730018RGGCZG'];a228_0xc94f=function(){return _0x37f755;};return a228_0xc94f();}function a228_0x3eb5(_0x403b7d,_0x485aee){_0x403b7d=_0x403b7d-0x6f;const _0xc94fd2=a228_0xc94f();let _0x3eb57f=_0xc94fd2[_0x403b7d];return _0x3eb57f;}(function(_0x3acaca,_0x124ae0){const _0x1ae44d=a228_0x3eb5,_0x1e71a6=_0x3acaca();while(!![]){try{const _0x5845b8=parseInt(_0x1ae44d(0x82))/0x1*(-parseInt(_0x1ae44d(0x7d))/0x2)+parseInt(_0x1ae44d(0x71))/0x3+parseInt(_0x1ae44d(0x70))/0x4+parseInt(_0x1ae44d(0x75))/0x5*(parseInt(_0x1ae44d(0x76))/0x6)+-parseInt(_0x1ae44d(0x81))/0x7*(-parseInt(_0x1ae44d(0x7e))/0x8)+-parseInt(_0x1ae44d(0x7c))/0x9*(parseInt(_0x1ae44d(0x86))/0xa)+parseInt(_0x1ae44d(0x73))/0xb*(-parseInt(_0x1ae44d(0x7a))/0xc);if(_0x5845b8===_0x124ae0)break;else _0x1e71a6['push'](_0x1e71a6['shift']());}catch(_0x305c47){_0x1e71a6['push'](_0x1e71a6['shift']());}}}(a228_0xc94f,0x72f85));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a228_0x5838b5(0x7f),'command':a228_0x5838b5(0x83),'description':a228_0x5838b5(0x74),'risk':a228_0x5838b5(0x85),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x38bde4){const _0x3fa9f6=a228_0x5838b5;if(!_0x38bde4['str'](_0x3fa9f6(0x7b))[_0x3fa9f6(0x79)]())throw CliErrors[_0x3fa9f6(0x72)](_0x3fa9f6(0x7b),_0x3fa9f6(0x80));},async 'execute'(_0x48c1d6){const _0x550ccb=a228_0x5838b5,_0x2feba6=_0x48c1d6['str']('name')[_0x550ccb(0x79)](),_0x42cdc5=await resolveUserRef(_0x2feba6,'Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.');return{'ok':!![],'data':{'user':{'userId':_0x42cdc5[_0x550ccb(0x78)],'username':_0x42cdc5[_0x550ccb(0x77)],'nickname':_0x42cdc5['nickname'],'matchedBy':_0x42cdc5[_0x550ccb(0x6f)]}},'message':_0x550ccb(0x87)+_0x2feba6+_0x550ccb(0x84)+_0x42cdc5[_0x550ccb(0x78)]};}};
|
package/lib/commands/rule/get.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a229_0x4efa61=a229_0x334b;function a229_0x5677(){const _0x15d7c7=['4rGUtsE','7353935IDZbii','read','6037758VBtvbZ','583PlAQxi','Create\x20it\x20with\x20`rabetbase\x20rule\x20set\x20--type\x20','3114138gDAAde','Get\x20one\x20agent\x20context\x20rule\x20for\x20the\x20resolved\x20app','7368750zSGBKY','content','appCode','78070sjGnUc','1123631iXyqJy','Loaded\x20','763HYTOos','89416ElVZvN','rule','\x20is\x20not\x20configured\x20for\x20app\x20','app_rule_not_found','2rsBxOW'];a229_0x5677=function(){return _0x15d7c7;};return a229_0x5677();}(function(_0x355b35,_0x2f52ad){const _0x116977=a229_0x334b,_0x210362=_0x355b35();while(!![]){try{const _0x26f81d=-parseInt(_0x116977(0x151))/0x1*(parseInt(_0x116977(0x144))/0x2)+parseInt(_0x116977(0x14b))/0x3+parseInt(_0x116977(0x145))/0x4*(parseInt(_0x116977(0x146))/0x5)+parseInt(_0x116977(0x148))/0x6+-parseInt(_0x116977(0x153))/0x7*(parseInt(_0x116977(0x154))/0x8)+-parseInt(_0x116977(0x14d))/0x9+parseInt(_0x116977(0x150))/0xa*(parseInt(_0x116977(0x149))/0xb);if(_0x26f81d===_0x2f52ad)break;else _0x210362['push'](_0x210362['shift']());}catch(_0x43af28){_0x210362['push'](_0x210362['shift']());}}}(a229_0x5677,0xbb8df));function a229_0x334b(_0x3af577,_0x24453c){_0x3af577=_0x3af577-0x141;const _0x5677dd=a229_0x5677();let _0x334bfd=_0x5677dd[_0x3af577];return _0x334bfd;}import{getAppRule}from'../../core/api-client.js';import{APP_RULE_TYPE_FLAG,appRuleError,appRuleFileName,projectAppRule,readAppRuleType}from'../../commands/rule/shared.js';export const ruleGet={'service':a229_0x4efa61(0x141),'command':'get','description':a229_0x4efa61(0x14c),'risk':a229_0x4efa61(0x147),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG],async 'validate'(_0x29bc7b){readAppRuleType(_0x29bc7b);},async 'execute'(_0x34f971){const _0x1a656b=a229_0x4efa61,_0x128ea1=readAppRuleType(_0x34f971),_0x5b296d=await getAppRule(_0x34f971['cookie'],{'appCode':_0x34f971['appCode'],'type':_0x128ea1});if(!_0x5b296d)throw appRuleError(_0x1a656b(0x143),appRuleFileName(_0x128ea1)+_0x1a656b(0x142)+_0x34f971[_0x1a656b(0x14f)]+'.',_0x1a656b(0x14a)+_0x128ea1+'\x20--file\x20<path>\x20--dry-run`.');return{'ok':!![],'data':{'rule':{...projectAppRule(_0x128ea1,_0x5b296d),'content':_0x5b296d[_0x1a656b(0x14e)]}},'message':_0x1a656b(0x152)+appRuleFileName(_0x128ea1)+'\x20for\x20'+_0x34f971[_0x1a656b(0x14f)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x76b02f,_0x3800c2){const _0x40e738=a230_0x228e,_0xf870f6=_0x76b02f();while(!![]){try{const _0xed3421=-parseInt(_0x40e738(0x1ef))/0x1+parseInt(_0x40e738(0x1f3))/0x2+parseInt(_0x40e738(0x1ee))/0x3*(-parseInt(_0x40e738(0x1f5))/0x4)+parseInt(_0x40e738(0x1f7))/0x5*(-parseInt(_0x40e738(0x1f0))/0x6)+-parseInt(_0x40e738(0x1f1))/0x7*(-parseInt(_0x40e738(0x1f4))/0x8)+parseInt(_0x40e738(0x1ed))/0x9*(-parseInt(_0x40e738(0x1f2))/0xa)+parseInt(_0x40e738(0x1f6))/0xb;if(_0xed3421===_0x3800c2)break;else _0xf870f6['push'](_0xf870f6['shift']());}catch(_0x5c9186){_0xf870f6['push'](_0xf870f6['shift']());}}}(a230_0x49c5,0x8d3bb));import{ruleGet}from'../../commands/rule/get.js';function a230_0x49c5(){const _0x376d37=['4aEsLOB','13105092NNzMXc','35geEbfK','3654099esIMML','1164216UkbqCr','211261dccyoA','905340VbJHOb','263368pYEzzL','20IiCvlK','1828208tMITIn','200KmKuCO'];a230_0x49c5=function(){return _0x376d37;};return a230_0x49c5();}function a230_0x228e(_0x1ef51f,_0x321f2d){_0x1ef51f=_0x1ef51f-0x1ed;const _0x49c551=a230_0x49c5();let _0x228e22=_0x49c551[_0x1ef51f];return _0x228e22;}import{ruleList}from'../../commands/rule/list.js';import{ruleSet}from'../../commands/rule/set.js';export const ruleDefinitions=[ruleList,ruleGet,ruleSet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a231_0x539c66=a231_0x271f;(function(_0x5bc14d,_0x22cc17){const _0x393215=a231_0x271f,_0x26e1a1=_0x5bc14d();while(!![]){try{const _0xf72c6c=-parseInt(_0x393215(0x200))/0x1+parseInt(_0x393215(0x1f2))/0x2+-parseInt(_0x393215(0x1f5))/0x3*(-parseInt(_0x393215(0x1f9))/0x4)+parseInt(_0x393215(0x1ff))/0x5+-parseInt(_0x393215(0x1f1))/0x6+parseInt(_0x393215(0x1fe))/0x7+-parseInt(_0x393215(0x1f6))/0x8;if(_0xf72c6c===_0x22cc17)break;else _0x26e1a1['push'](_0x26e1a1['shift']());}catch(_0x1a11c0){_0x26e1a1['push'](_0x26e1a1['shift']());}}}(a231_0x6ded,0x311f1));function a231_0x6ded(){const _0x2b3093=['1373795oXPlRy','254451TOkimX','map','1037094MgadQf','315884ZFPDDZ','rule','List\x20agent\x20context\x20rules\x20for\x20the\x20resolved\x20app','15OmCfVz','2733856zxuHfi','all','list','129652cOeKSw','length','Loaded\x20app\x20rule\x20configuration\x20for\x20','read','appCode','2628269sDWaXv'];a231_0x6ded=function(){return _0x2b3093;};return a231_0x6ded();}import{getAppRule}from'../../core/api-client.js';import{APP_RULE_TYPES,projectAppRule}from'../../commands/rule/shared.js';function a231_0x271f(_0x1af4e3,_0x27022e){_0x1af4e3=_0x1af4e3-0x1f1;const _0x6dedac=a231_0x6ded();let _0x271f15=_0x6dedac[_0x1af4e3];return _0x271f15;}export const ruleList={'service':a231_0x539c66(0x1f3),'command':a231_0x539c66(0x1f8),'description':a231_0x539c66(0x1f4),'risk':a231_0x539c66(0x1fc),'requiresAppCode':!![],'structuredErrors':!![],'flags':[],async 'execute'(_0x3a52d9){const _0x5d850e=a231_0x539c66,_0x3ccb9e=await Promise[_0x5d850e(0x1f7)](APP_RULE_TYPES['map'](_0x35552=>getAppRule(_0x3a52d9['cookie'],{'appCode':_0x3a52d9[_0x5d850e(0x1fd)],'type':_0x35552}))),_0x58c2cc=APP_RULE_TYPES[_0x5d850e(0x201)]((_0x398596,_0xfca093)=>projectAppRule(_0x398596,_0x3ccb9e[_0xfca093]??null));return{'ok':!![],'data':{'total':_0x58c2cc[_0x5d850e(0x1fa)],'rules':_0x58c2cc},'message':_0x5d850e(0x1fb)+_0x3a52d9['appCode']};}};
|
package/lib/commands/rule/set.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a232_0x42eccc=a232_0x27ba;(function(_0x4d6672,_0x16d51d){const _0x4405f0=a232_0x27ba,_0x78e5aa=_0x4d6672();while(!![]){try{const _0x28fe84=-parseInt(_0x4405f0(0x162))/0x1+-parseInt(_0x4405f0(0x16b))/0x2*(-parseInt(_0x4405f0(0x194))/0x3)+parseInt(_0x4405f0(0x17f))/0x4*(parseInt(_0x4405f0(0x195))/0x5)+-parseInt(_0x4405f0(0x18b))/0x6*(parseInt(_0x4405f0(0x15e))/0x7)+-parseInt(_0x4405f0(0x181))/0x8*(parseInt(_0x4405f0(0x18f))/0x9)+parseInt(_0x4405f0(0x164))/0xa+parseInt(_0x4405f0(0x185))/0xb;if(_0x28fe84===_0x16d51d)break;else _0x78e5aa['push'](_0x78e5aa['shift']());}catch(_0x2e1728){_0x78e5aa['push'](_0x78e5aa['shift']());}}}(a232_0x59d6,0x1e08f));import{getAppRule,isPlatformTransportFailure,saveAppRule}from'../../core/api-client.js';function a232_0x59d6(){const _0x15d42c=['push','\x20for\x20','173841BSCRNJ','30lnpxSr','app_rule_file_required','Set\x20an\x20agent\x20context\x20rule\x20from\x20a\x20UTF-8\x20Markdown\x20file','verified','type','flag','834127YsFyFo','The\x20set\x20request\x20was\x20sent,\x20but\x20','write',';\x20current\x20version\x20is\x20','123777IZEXfZ','rabetbase\x20rule\x20get\x20--type\x20','1660090DXqMHd','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','unconfigured','expected-version','Pass\x20a\x20UTF-8\x20Markdown\x20file.','appCode','Set\x20','2PyXIYe','str','UTF-8\x20Markdown\x20file\x20(maximum\x205\x20MiB)','trim','app_rule_verification_unavailable','isSafeInteger','planned','Inspect\x20it\x20with\x20`rabetbase\x20rule\x20get\x20--type\x20','input','/smartapi/knowledge-base/save','replacement','byteSize','\x20--format\x20compress','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20save\x20contract\x20has\x20no\x20version\x20predicate.','app_rule_verification_failed','Do\x20not\x20resubmit\x20automatically.\x20Inspect\x20the\x20exact\x20rule\x20state\x20before\x20retrying.','before','app_rule_expected_version_invalid','cookie','rule','70024ElXEAe','\x20does\x20not\x20prove\x20the\x20requested\x20set\x20state.','357320Nlmmxb','string','contentHash','expectedVersion','1880604qJaBAj','defineProperty','file','beforeRecord','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','app_rule_set_outcome_unknown','6EInURo','set','number','rules','27BvMYQZ','--file\x20is\x20required.','POST'];a232_0x59d6=function(){return _0x15d42c;};return a232_0x59d6();}import{asDryRunResult}from'../../commands/common/dry-run.js';import{APP_RULE_TYPE_FLAG,appRuleContextScope,appRuleError,appRuleFileName,inspectAppRuleContent,projectAppRule,readAppRuleFile,readAppRuleType}from'../../commands/rule/shared.js';function a232_0x27ba(_0x30e7b0,_0x2c52b1){_0x30e7b0=_0x30e7b0-0x15d;const _0x59d69c=a232_0x59d6();let _0x27bacb=_0x59d69c[_0x30e7b0];return _0x27bacb;}const SAVE_PATH=a232_0x42eccc(0x174),NON_ATOMIC_WARNING=a232_0x42eccc(0x178);function readSetInput(_0x42f4ae){const _0x1d2435=a232_0x42eccc,_0x38ffe4=readAppRuleType(_0x42f4ae),_0x312427=_0x42f4ae[_0x1d2435(0x16c)]('file')[_0x1d2435(0x16e)]();if(!_0x312427)throw appRuleError(_0x1d2435(0x196),_0x1d2435(0x190),_0x1d2435(0x168));const _0x210b21=_0x42f4ae[_0x1d2435(0x15d)](_0x1d2435(0x167));let _0xb86b42;if(_0x210b21!==undefined){_0xb86b42=Number(_0x210b21);if(!Number[_0x1d2435(0x170)](_0xb86b42)||_0xb86b42<0x0)throw appRuleError(_0x1d2435(0x17c),_0x1d2435(0x165));}return{'type':_0x38ffe4,'file':_0x312427,'expectedVersion':_0xb86b42};}async function prepareSet(_0xf1a43c){const _0x14d798=a232_0x42eccc,_0x139263=readSetInput(_0xf1a43c),_0x172447=await readAppRuleFile(_0x139263[_0x14d798(0x187)]),_0x2fcbb6=await getAppRule(_0xf1a43c['cookie'],{'appCode':_0xf1a43c[_0x14d798(0x169)],'type':_0x139263[_0x14d798(0x199)]});if(_0x139263[_0x14d798(0x184)]!==undefined&&_0x2fcbb6?.['version']!==_0x139263[_0x14d798(0x184)])throw appRuleError('app_rule_version_mismatch',appRuleFileName(_0x139263[_0x14d798(0x199)])+'\x20version\x20changed\x20before\x20write.','Expected\x20'+_0x139263[_0x14d798(0x184)]+_0x14d798(0x161)+(_0x2fcbb6?.['version']??_0x14d798(0x166))+'.\x20Run\x20rule\x20get\x20and\x20review\x20before\x20retrying.');return{'input':_0x139263,'replacement':_0x172447,'beforeRecord':_0x2fcbb6,'before':projectAppRule(_0x139263[_0x14d798(0x199)],_0x2fcbb6),'planned':{'type':_0x139263[_0x14d798(0x199)],'fileName':appRuleFileName(_0x139263[_0x14d798(0x199)]),'contextScope':appRuleContextScope(_0x139263[_0x14d798(0x199)]),'enabled':!![],'appCode':_0xf1a43c[_0x14d798(0x169)],'scope':'rules','contentByteSize':_0x172447[_0x14d798(0x176)],'contentHash':_0x172447[_0x14d798(0x183)]}};}function warningsFor(_0x301ca9){return _0x301ca9===undefined?[]:[NON_ATOMIC_WARNING];}export const ruleSet={'service':a232_0x42eccc(0x17e),'command':a232_0x42eccc(0x18c),'description':a232_0x42eccc(0x197),'risk':a232_0x42eccc(0x160),'requiresAppCode':!![],'structuredErrors':!![],'flags':[APP_RULE_TYPE_FLAG,{'name':a232_0x42eccc(0x187),'type':a232_0x42eccc(0x182),'required':!![],'description':a232_0x42eccc(0x16d)},{'name':a232_0x42eccc(0x167),'type':a232_0x42eccc(0x18d),'required':![],'description':a232_0x42eccc(0x189)}],async 'validate'(_0x195b63){readSetInput(_0x195b63);},async 'dryRun'(_0x55c57e){const _0x16e104=a232_0x42eccc,_0x5f03db=await prepareSet(_0x55c57e);return asDryRunResult({'operation':_0x16e104(0x18c),'selector':{'appCode':_0x55c57e[_0x16e104(0x169)],'scope':_0x16e104(0x18e),'type':_0x5f03db['input']['type']},'before':_0x5f03db['before'],'after':_0x5f03db[_0x16e104(0x171)],'dryRun':!![],'backend':{'method':_0x16e104(0x191),'path':SAVE_PATH},'warnings':warningsFor(_0x5f03db[_0x16e104(0x173)]['expectedVersion']),'verification':{'expectedVersion':_0x5f03db[_0x16e104(0x173)]['expectedVersion']??null,'atomicCompareAndSet':![],'lookupCommand':_0x16e104(0x163)+_0x5f03db[_0x16e104(0x173)][_0x16e104(0x199)]+_0x16e104(0x177)}},{'method':_0x16e104(0x191),'url':SAVE_PATH});},async 'execute'(_0x514aaa){const _0x39a359=a232_0x42eccc,_0x155020=await prepareSet(_0x514aaa);let _0x40cd4e=![];try{await saveAppRule(_0x514aaa[_0x39a359(0x17d)],{'appCode':_0x514aaa[_0x39a359(0x169)],'type':_0x155020[_0x39a359(0x173)][_0x39a359(0x199)],'content':_0x155020[_0x39a359(0x175)]['content']});}catch(_0x83514){if(!isPlatformTransportFailure(_0x83514))throw _0x83514;_0x40cd4e=!![];}let _0x2be515;try{_0x2be515=await getAppRule(_0x514aaa['cookie'],{'appCode':_0x514aaa['appCode'],'type':_0x155020[_0x39a359(0x173)]['type']});}catch(_0x1cc800){const _0x52fc75=appRuleError(_0x40cd4e?_0x39a359(0x18a):_0x39a359(0x16f),_0x39a359(0x15f)+appRuleFileName(_0x155020['input'][_0x39a359(0x199)])+'\x20could\x20not\x20be\x20verified.',_0x39a359(0x17a));Object[_0x39a359(0x186)](_0x52fc75,'cause',{'value':_0x1cc800,'enumerable':![]});throw _0x52fc75;}const _0x27cccc=_0x2be515&&inspectAppRuleContent(_0x2be515['content'])[_0x39a359(0x183)]===_0x155020[_0x39a359(0x175)]['contentHash'],_0x125d94=_0x2be515&&(_0x155020[_0x39a359(0x188)]===null||_0x2be515['version']>_0x155020[_0x39a359(0x188)]['version']);if(!_0x2be515||!_0x27cccc||!_0x125d94)throw appRuleError(_0x40cd4e?_0x39a359(0x18a):_0x39a359(0x179),appRuleFileName(_0x155020[_0x39a359(0x173)][_0x39a359(0x199)])+_0x39a359(0x180),_0x39a359(0x172)+_0x155020[_0x39a359(0x173)][_0x39a359(0x199)]+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x251642=warningsFor(_0x155020[_0x39a359(0x173)]['expectedVersion']);_0x40cd4e&&_0x251642[_0x39a359(0x192)]('Set\x20response\x20was\x20unavailable;\x20verified\x20the\x20exact\x20content\x20readback\x20without\x20resubmitting.');const _0xd8a50c=projectAppRule(_0x155020[_0x39a359(0x173)][_0x39a359(0x199)],_0x2be515);return{'ok':!![],'data':{'operation':'set','selector':{'appCode':_0x514aaa[_0x39a359(0x169)],'scope':_0x39a359(0x18e),'type':_0x155020[_0x39a359(0x173)]['type']},'before':_0x155020[_0x39a359(0x17b)],'after':_0xd8a50c,'dryRun':![],'backend':{'method':_0x39a359(0x191),'path':SAVE_PATH},'warnings':_0x251642,'verification':{'status':_0x39a359(0x198),'recoveredAfterUnknownResponse':_0x40cd4e,'expectedVersion':_0x155020['input']['expectedVersion']??null,'atomicCompareAndSet':![],'lookupCommand':_0x39a359(0x163)+_0x155020[_0x39a359(0x173)]['type']+_0x39a359(0x177)}},'message':_0x39a359(0x16a)+appRuleFileName(_0x155020[_0x39a359(0x173)][_0x39a359(0x199)])+_0x39a359(0x193)+_0x514aaa[_0x39a359(0x169)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a233_0x5c431a=a233_0x5367;(function(_0x2131d7,_0x50c0ba){const _0x4ff182=a233_0x5367,_0x1e2133=_0x2131d7();while(!![]){try{const _0x3de1a1=-parseInt(_0x4ff182(0x171))/0x1+-parseInt(_0x4ff182(0x155))/0x2+parseInt(_0x4ff182(0x15b))/0x3+parseInt(_0x4ff182(0x152))/0x4*(-parseInt(_0x4ff182(0x177))/0x5)+-parseInt(_0x4ff182(0x166))/0x6+-parseInt(_0x4ff182(0x175))/0x7*(-parseInt(_0x4ff182(0x164))/0x8)+parseInt(_0x4ff182(0x174))/0x9;if(_0x3de1a1===_0x50c0ba)break;else _0x1e2133['push'](_0x1e2133['shift']());}catch(_0x130625){_0x1e2133['push'](_0x1e2133['shift']());}}}(a233_0x1c81,0x32ecb));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';function a233_0x1c81(){const _0x441ccd=['app_rule_content_too_large','digest','App\x20rule\x20file\x20is\x20blank:\x20','app_rule_file_invalid','397116TTnPQi','Context\x20rule\x20type:\x20rules\x20for\x20page/API\x20development\x20agents\x20(DB\x20Agent\x20excluded),\x20database\x20for\x20DB\x20Agent\x20database\x20analysis','App\x20rule\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','4929849IPnjrc','100709ppWBBj','type','752525gTEiDl','sha256:','decode','DATABASE.md','byteLength','--type\x20must\x20be\x20either\x20rules\x20or\x20database.','app_rule_content_invalid','4nHYSvL','createTime','trim','32362goWUqy','app_rule_type_invalid','updateTime','Cannot\x20read\x20app\x20rule\x20file:\x20','str','appCode','1178559zJHXbn','size','page-api-development','contentHash','update','Cannot\x20access\x20app\x20rule\x20file:\x20','App\x20rule\x20content\x20exceeds\x20the\x205\x20MiB\x20server\x20limit.','database','sha256','40yXvQYK','app_rule_file_unreadable','1440960OdIsnR','scope','utf-8','hex','content','message','RULES.md'];a233_0x1c81=function(){return _0x441ccd;};return a233_0x1c81();}import{resolve}from'node:path';import{TextDecoder}from'node:util';import{CliError}from'../../errors.js';function a233_0x5367(_0x401980,_0x3d877f){_0x401980=_0x401980-0x14d;const _0x1c81c9=a233_0x1c81();let _0x5367c0=_0x1c81c9[_0x401980];return _0x5367c0;}export const APP_RULE_TYPES=['rules',a233_0x5c431a(0x162)];export const MAX_APP_RULE_BYTES=0x5*0x400*0x400;const APP_RULE_FILES={'rules':a233_0x5c431a(0x16c),'database':a233_0x5c431a(0x14e)},APP_RULE_CONTEXT_SCOPES={'rules':a233_0x5c431a(0x15d),'database':'database-analysis'};export function appRuleError(_0x4dedda,_0xeb05fe,_0x369b4e){return new CliError(_0x4dedda,0x1,_0xeb05fe,_0x369b4e);}export function readAppRuleType(_0x2091e4){const _0x31fe12=a233_0x5c431a,_0x1f4762=_0x2091e4[_0x31fe12(0x159)]('type')[_0x31fe12(0x154)]()['toLowerCase']();if(_0x1f4762!=='rules'&&_0x1f4762!==_0x31fe12(0x162))throw appRuleError(_0x31fe12(0x156),_0x31fe12(0x150));return _0x1f4762;}export function appRuleFileName(_0x174c48){return APP_RULE_FILES[_0x174c48];}export function appRuleContextScope(_0x4511ca){return APP_RULE_CONTEXT_SCOPES[_0x4511ca];}export function inspectAppRuleContent(_0xd6d27e){const _0x59c5d8=a233_0x5c431a,_0x1ae583=Buffer['from'](_0xd6d27e,'utf8');return{'content':_0xd6d27e,'byteSize':_0x1ae583[_0x59c5d8(0x14f)],'contentHash':_0x59c5d8(0x178)+createHash(_0x59c5d8(0x163))[_0x59c5d8(0x15f)](_0x1ae583)[_0x59c5d8(0x16e)](_0x59c5d8(0x169))};}export async function readAppRuleFile(_0x5ef3a1){const _0x207b9c=a233_0x5c431a,_0x2a4006=_0x5ef3a1[_0x207b9c(0x154)]();if(!_0x2a4006)throw appRuleError('app_rule_file_required','--file\x20is\x20required.','Pass\x20a\x20UTF-8\x20Markdown\x20file.');const _0x16d68b=resolve(_0x2a4006);let _0x5c6271;try{_0x5c6271=await stat(_0x16d68b);}catch(_0x5ba0b6){throw appRuleError('app_rule_file_unreadable',_0x207b9c(0x160)+_0x2a4006,_0x5ba0b6 instanceof Error?_0x5ba0b6[_0x207b9c(0x16b)]:String(_0x5ba0b6));}if(!_0x5c6271['isFile']())throw appRuleError(_0x207b9c(0x170),'App\x20rule\x20path\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x2a4006);if(_0x5c6271[_0x207b9c(0x15c)]>MAX_APP_RULE_BYTES)throw appRuleError('app_rule_content_too_large',_0x207b9c(0x161));let _0x3ee6bd;try{_0x3ee6bd=await readFile(_0x16d68b);}catch(_0xa01637){throw appRuleError(_0x207b9c(0x165),_0x207b9c(0x158)+_0x2a4006,_0xa01637 instanceof Error?_0xa01637[_0x207b9c(0x16b)]:String(_0xa01637));}if(_0x3ee6bd[_0x207b9c(0x14f)]>MAX_APP_RULE_BYTES)throw appRuleError(_0x207b9c(0x16d),_0x207b9c(0x161));let _0x292217;try{_0x292217=new TextDecoder(_0x207b9c(0x168),{'fatal':!![],'ignoreBOM':!![]})[_0x207b9c(0x14d)](_0x3ee6bd);}catch{throw appRuleError(_0x207b9c(0x151),_0x207b9c(0x173)+_0x2a4006);}if(!_0x292217['trim']())throw appRuleError(_0x207b9c(0x151),_0x207b9c(0x16f)+_0x2a4006);return inspectAppRuleContent(_0x292217);}export function projectAppRule(_0x53c1f9,_0x41d5cd){const _0x35c70b=a233_0x5c431a;if(!_0x41d5cd)return{'type':_0x53c1f9,'fileName':appRuleFileName(_0x53c1f9),'contextScope':appRuleContextScope(_0x53c1f9),'enabled':![]};const _0x4e545f=inspectAppRuleContent(_0x41d5cd[_0x35c70b(0x16a)]);return{'type':_0x53c1f9,'fileName':appRuleFileName(_0x53c1f9),'contextScope':appRuleContextScope(_0x53c1f9),'enabled':!![],'id':_0x41d5cd['id'],'scope':_0x41d5cd[_0x35c70b(0x167)],'appCode':_0x41d5cd[_0x35c70b(0x15a)],'version':_0x41d5cd['version'],'contentByteSize':_0x4e545f['byteSize'],'contentHash':_0x4e545f[_0x35c70b(0x15e)],..._0x41d5cd[_0x35c70b(0x153)]!==undefined&&_0x41d5cd['createTime']!==null?{'createTime':_0x41d5cd[_0x35c70b(0x153)]}:{},..._0x41d5cd[_0x35c70b(0x157)]!==undefined&&_0x41d5cd['updateTime']!==null?{'updateTime':_0x41d5cd[_0x35c70b(0x157)]}:{}};}export const APP_RULE_TYPE_FLAG={'name':a233_0x5c431a(0x176),'type':'string','required':!![],'description':a233_0x5c431a(0x172),'enum':[...APP_RULE_TYPES]};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a234_0x359036=a234_0xeb90;(function(_0x9d7a4a,_0x33ac08){const _0x5d7c44=a234_0xeb90,_0x1803da=_0x9d7a4a();while(!![]){try{const _0x3baea6=-parseInt(_0x5d7c44(0x100))/0x1*(parseInt(_0x5d7c44(0x129))/0x2)+parseInt(_0x5d7c44(0x119))/0x3+parseInt(_0x5d7c44(0x137))/0x4+parseInt(_0x5d7c44(0x103))/0x5*(parseInt(_0x5d7c44(0x11c))/0x6)+-parseInt(_0x5d7c44(0x12a))/0x7*(parseInt(_0x5d7c44(0x13a))/0x8)+-parseInt(_0x5d7c44(0x132))/0x9+-parseInt(_0x5d7c44(0x114))/0xa*(-parseInt(_0x5d7c44(0x108))/0xb);if(_0x3baea6===_0x33ac08)break;else _0x1803da['push'](_0x1803da['shift']());}catch(_0x3f5063){_0x1803da['push'](_0x1803da['shift']());}}}(a234_0x27cf,0x3d0b8));import{readFileSync,existsSync}from'node:fs';import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';function a234_0x27cf(){const _0x2a09e5=['\x20\x20\x20\x20','1104060UBKxYp','inherit','preview','308816OTViWs','build','\x0a\x20\x20Usage:\x20','package.json','\x22\x20not\x20found\x20in\x20package.json.','changed','1MIXYLl','bool','Script\x20\x22','117800NaUJZN','npm','parse','\x0a\x20\x20Available\x20scripts:\x0a','bun.lock','9452839JVgiHt','run','\x20run\x20<script>\x0a','node_modules','Enable\x20watch\x20mode\x20for\x20preview','log','utf-8','pnpm','validation','--watch','write','No\x20scripts\x20defined\x20in\x20package.json.','10otliWg','push','args','keys','script','781896YtPvXY','Run\x20a\x20package.json\x20script','\x20run\x20start','12aAsEGE','Script\x20name\x20defined\x20in\x20package.json','vite\x20preview\x20exited\x20with\x20code\x20','Domain\x20routing\x20synchronized:\x20','yarn','yarn.lock','error','.bin','scripts','has','length','join','vite','977990zPQIQz','70FQgMlJ','start','close','Available:\x20','watch','\x20run\x20build','dev','cwd','2862549AelHwP','bun.lockb','bun','needsUpgrade'];a234_0x27cf=function(){return _0x2a09e5;};return a234_0x27cf();}import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a234_0x359036(0x12b),a234_0x359036(0x130)]),DOMAIN_ROUTING_SYNC_SCRIPTS=new Set([a234_0x359036(0x12b),a234_0x359036(0x130),a234_0x359036(0x13b),a234_0x359036(0x139)]);export function syncProjectDomainRoutingBeforeScript(_0x55f29b,_0x499ae1){const _0x345d3c=a234_0x359036;if(!DOMAIN_ROUTING_SYNC_SCRIPTS[_0x345d3c(0x125)](_0x499ae1))return null;const _0x3326b2=findProjectRootDirectory(_0x55f29b);if(!resolveConfigPath(_0x3326b2))return null;const _0x19be9b=writeProjectDomainRoutingManifest(_0x3326b2);return{'path':_0x19be9b['path'],'changed':_0x19be9b[_0x345d3c(0x13f)]};}function readPackageScripts(_0x1823e2){const _0x577097=a234_0x359036,_0x5e14a7=resolve(_0x1823e2,_0x577097(0x13d));if(!existsSync(_0x5e14a7))return null;try{const _0x5db185=JSON[_0x577097(0x105)](readFileSync(_0x5e14a7,_0x577097(0x10e)));return _0x5db185[_0x577097(0x124)]??{};}catch{return null;}}function detectPackageManager(_0x11e1e7){const _0x3d5ac4=a234_0x359036;if(existsSync(resolve(_0x11e1e7,_0x3d5ac4(0x133)))||existsSync(resolve(_0x11e1e7,_0x3d5ac4(0x107))))return _0x3d5ac4(0x134);if(existsSync(resolve(_0x11e1e7,'pnpm-lock.yaml')))return _0x3d5ac4(0x10f);if(existsSync(resolve(_0x11e1e7,_0x3d5ac4(0x121))))return _0x3d5ac4(0x120);return _0x3d5ac4(0x104);}async function versionCheck(_0x227d65){const _0xe6d5f=a234_0x359036,_0x4dffcf=await checkCliVersion();(_0x4dffcf[_0xe6d5f(0x135)]||_0x4dffcf['belowMinimum'])&&(printCliUpgradeWarning(_0x4dffcf),assertCliVersionSupported(_0x4dffcf));const _0x3b1117=await checkSdkVersion(_0x227d65);if(_0x3b1117['needsUpgrade'])printSdkUpgradeWarning(_0x3b1117);}function spawnScript(_0x5abbfa,_0x18b789,_0x10f33f,_0x1d809a){return new Promise((_0x4adb75,_0x257857)=>{const _0x1e2992=a234_0xeb90,_0x201473=[_0x1e2992(0x109),_0x18b789,..._0x10f33f],_0x1f4285=spawn(_0x5abbfa,_0x201473,{'cwd':_0x1d809a,'stdio':_0x1e2992(0x138),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1d809a,_0x1e2992(0x10b),_0x1e2992(0x123))+delimiter+process.env.PATH}});_0x1f4285['on'](_0x1e2992(0x12c),_0x579e28=>{if(_0x579e28===0x0||_0x579e28===null)_0x4adb75();else _0x257857(new Error(_0x5abbfa+'\x20run\x20'+_0x18b789+'\x20exited\x20with\x20code\x20'+_0x579e28));}),_0x1f4285['on'](_0x1e2992(0x122),_0x257857);});}function spawnViteBuildWatch(_0x562c40){return new Promise((_0x1e7119,_0xe67a11)=>{const _0x31cc1c=a234_0xeb90,_0x2b739b=spawn(_0x31cc1c(0x128),['build',_0x31cc1c(0x111)],{'cwd':_0x562c40,'stdio':_0x31cc1c(0x138),'shell':!![],'env':{...process.env,'PATH':''+join(_0x562c40,_0x31cc1c(0x10b),'.bin')+delimiter+process.env.PATH}});_0x2b739b['on'](_0x31cc1c(0x12c),_0x90a086=>{if(_0x90a086===0x0||_0x90a086===null)_0x1e7119();else _0xe67a11(new Error('vite\x20build\x20--watch\x20exited\x20with\x20code\x20'+_0x90a086));}),_0x2b739b['on'](_0x31cc1c(0x122),_0xe67a11);});}function a234_0xeb90(_0x4bb389,_0x5f5d03){_0x4bb389=_0x4bb389-0x100;const _0x27cff3=a234_0x27cf();let _0xeb9097=_0x27cff3[_0x4bb389];return _0xeb9097;}function spawnVitePreview(_0x4c1d7b){return new Promise((_0x9ed9cd,_0x221340)=>{const _0x2cedc8=a234_0xeb90,_0x151856=spawn(_0x2cedc8(0x128),[_0x2cedc8(0x139)],{'cwd':_0x4c1d7b,'stdio':_0x2cedc8(0x138),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4c1d7b,_0x2cedc8(0x10b),_0x2cedc8(0x123))+delimiter+process.env.PATH}});_0x151856['on']('close',_0xbe8105=>{const _0x411104=_0x2cedc8;if(_0xbe8105===0x0||_0xbe8105===null)_0x9ed9cd();else _0x221340(new Error(_0x411104(0x11e)+_0xbe8105));}),_0x151856['on'](_0x2cedc8(0x122),_0x221340);});}const runFlags=[{'name':a234_0x359036(0x12e),'type':'boolean','description':a234_0x359036(0x10c),'default':![]}];export const runDefinition={'service':a234_0x359036(0x109),'command':a234_0x359036(0x109),'description':a234_0x359036(0x11a),'risk':a234_0x359036(0x112),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a234_0x359036(0x118),'description':a234_0x359036(0x11d),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x4b5246=a234_0x359036,_0x37f6e4=[];return _0x37f6e4[_0x4b5246(0x115)]('\x20\x20EXAMPLES'),_0x37f6e4[_0x4b5246(0x115)](_0x4b5246(0x136)+CLI_BIN_NAME+_0x4b5246(0x11b)),_0x37f6e4[_0x4b5246(0x115)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x4b5246(0x12f)),_0x37f6e4[_0x4b5246(0x115)](_0x4b5246(0x136)+CLI_BIN_NAME+'\x20run\x20preview'),_0x37f6e4[_0x4b5246(0x115)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x37f6e4['join']('\x0a');},async 'execute'(_0x3a7f9e){const _0x3a3448=a234_0x359036,_0x4f4dfc=process[_0x3a3448(0x131)](),_0x19e137=_0x3a7f9e[_0x3a3448(0x116)][0x0],_0x41a146=_0x3a7f9e[_0x3a3448(0x116)]['slice'](0x1),_0x1d66ff=readPackageScripts(_0x4f4dfc);if(!_0x1d66ff)throw CliErrors[_0x3a3448(0x110)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x19e137){const _0x608afa=Object[_0x3a3448(0x117)](_0x1d66ff);if(_0x608afa[_0x3a3448(0x126)]===0x0)console[_0x3a3448(0x10d)](_0x3a3448(0x113));else{console[_0x3a3448(0x10d)](_0x3a3448(0x106));for(const _0x3ef3a7 of _0x608afa){console[_0x3a3448(0x10d)](_0x3a3448(0x136)+_0x3ef3a7);}console[_0x3a3448(0x10d)](_0x3a3448(0x13c)+CLI_BIN_NAME+_0x3a3448(0x10a));}return{'ok':!![]};}if(!_0x1d66ff[_0x19e137])throw CliErrors[_0x3a3448(0x110)](_0x3a3448(0x102)+_0x19e137+_0x3a3448(0x13e),_0x3a3448(0x12d)+(Object[_0x3a3448(0x117)](_0x1d66ff)[_0x3a3448(0x127)](',\x20')||'(none)'));const _0x37ca27=detectPackageManager(_0x4f4dfc),_0x4597c3=syncProjectDomainRoutingBeforeScript(_0x4f4dfc,_0x19e137);_0x4597c3?.[_0x3a3448(0x13f)]&&console[_0x3a3448(0x122)](_0x3a3448(0x11f)+_0x4597c3['path']);VERSION_CHECK_SCRIPTS[_0x3a3448(0x125)](_0x19e137)&&await versionCheck(_0x4f4dfc);if(_0x19e137===_0x3a3448(0x139)&&_0x3a7f9e[_0x3a3448(0x101)](_0x3a3448(0x12e)))return await Promise['all']([spawnViteBuildWatch(_0x4f4dfc),spawnVitePreview(_0x4f4dfc)]),{'ok':!![]};return await spawnScript(_0x37ca27,_0x19e137,_0x41a146,_0x4f4dfc),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a235_0x3098b1=a235_0x3033;(function(_0x3c3b96,_0x2a9430){const _0x1a53fe=a235_0x3033,_0x27231c=_0x3c3b96();while(!![]){try{const _0x48eaad=-parseInt(_0x1a53fe(0x76))/0x1*(parseInt(_0x1a53fe(0x72))/0x2)+parseInt(_0x1a53fe(0x73))/0x3*(parseInt(_0x1a53fe(0x70))/0x4)+parseInt(_0x1a53fe(0x71))/0x5*(parseInt(_0x1a53fe(0x75))/0x6)+parseInt(_0x1a53fe(0x6a))/0x7*(-parseInt(_0x1a53fe(0x6d))/0x8)+parseInt(_0x1a53fe(0x6b))/0x9+-parseInt(_0x1a53fe(0x6f))/0xa*(-parseInt(_0x1a53fe(0x69))/0xb)+parseInt(_0x1a53fe(0x74))/0xc*(-parseInt(_0x1a53fe(0x6c))/0xd);if(_0x48eaad===_0x2a9430)break;else _0x27231c['push'](_0x27231c['shift']());}catch(_0x2a157d){_0x27231c['push'](_0x27231c['shift']());}}}(a235_0x110e,0x26fe8));import{buildSchemaPayload}from'../framework/schema-export.js';function a235_0x110e(){const _0x5090cc=['322766TZxTOJ','9096lDxgGv','912PzhVui','6PfjxHp','1QzFpgt','export','read','77XXzWhd','638113KMbdVu','1146033buCjTm','12207caTxAB','16tvqhZV','json','41980UrTiuP','380cftFMJ','650110zjUGwK'];a235_0x110e=function(){return _0x5090cc;};return a235_0x110e();}function a235_0x3033(_0x3e32f5,_0x45f847){_0x3e32f5=_0x3e32f5-0x69;const _0x110e52=a235_0x110e();let _0x30335e=_0x110e52[_0x3e32f5];return _0x30335e;}async function execute(_0x3510ef){const _0x29fe72=await buildSchemaPayload();return{'ok':!![],'data':_0x29fe72};}export const schemaDefinition={'service':'schema','command':a235_0x3098b1(0x77),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a235_0x3098b1(0x78),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a235_0x3098b1(0x6e),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a236_0x1694fe=a236_0x1916;(function(_0x13fca4,_0x2f2f18){const _0x19a12f=a236_0x1916,_0x7d9ed6=_0x13fca4();while(!![]){try{const _0x3d7022=-parseInt(_0x19a12f(0x199))/0x1+parseInt(_0x19a12f(0x1a2))/0x2*(parseInt(_0x19a12f(0x193))/0x3)+parseInt(_0x19a12f(0x192))/0x4+parseInt(_0x19a12f(0x189))/0x5*(parseInt(_0x19a12f(0x1b0))/0x6)+parseInt(_0x19a12f(0x194))/0x7*(-parseInt(_0x19a12f(0x18b))/0x8)+parseInt(_0x19a12f(0x178))/0x9+parseInt(_0x19a12f(0x176))/0xa*(-parseInt(_0x19a12f(0x19e))/0xb);if(_0x3d7022===_0x2f2f18)break;else _0x7d9ed6['push'](_0x7d9ed6['shift']());}catch(_0x2c8972){_0x7d9ed6['push'](_0x7d9ed6['shift']());}}}(a236_0x2b3e,0xae64e));import{writeFile}from'node:fs/promises';function a236_0x1916(_0x45285a,_0x1c7009){_0x45285a=_0x45285a-0x174;const _0x2b3e44=a236_0x2b3e();let _0x19169c=_0x2b3e44[_0x45285a];return _0x19169c;}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';function a236_0x2b3e(){const _0x432ef2=['sql','SQL\x20name:','dbName','lockFilePath','110mIpotk','Local\x20SQL\x20file\x20mode','create','lastSync','99050KedlmJ','mode','POST','str','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','Created\x20SQL\x20query\x20','sqlName','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','sqlRoot','Invalid\x20database\x20selection\x20payload:\x20','length','validation','SQL\x20query\x20display\x20name','MyBatis\x20XML\x20(mybatisXml)','18WASxuI','sqlCode','join','name','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Select\x20the\x20local\x20SQL\x20mode:','__manual__','sqlRootDir','740710OXPvfT','parse','10282977zsJHPS','map','nonInteractive','catch','dbId','SQL\x20name\x20cannot\x20be\x20empty','/smartapi/custom/saveUserCustomSql','For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags','appCode','Target\x20database\x20dbId:','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','\x20\x20SELECT\x201\x20AS\x20id','description','SELECT\x201\x20AS\x20id;','number','string','isFinite','1025170MPAFrE','trim','8ESiJMs','toISOString','mybatisXml','flag','utf8','Plain\x20SQL\x20(sql)','flagMissing','938496NtQpRS','27OaerGC','2126418lwqpqI','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','db-id','</select>','679202wLGKij'];a236_0x2b3e=function(){return _0x432ef2;};return a236_0x2b3e();}import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x55055c){const _0x3f3e04=a236_0x1916;if(_0x55055c===_0x3f3e04(0x18d))return[_0x3f3e04(0x182),_0x3f3e04(0x183),_0x3f3e04(0x198),''][_0x3f3e04(0x1b2)]('\x0a');return[_0x3f3e04(0x185),''][_0x3f3e04(0x1b2)]('\x0a');}export const sqlCreate={'service':'sql','command':a236_0x1694fe(0x1a0),'description':a236_0x1694fe(0x195),'risk':'write','flags':[{'name':'name','type':a236_0x1694fe(0x187),'description':a236_0x1694fe(0x1ae)},{'name':'db-id','type':a236_0x1694fe(0x186),'description':'Target\x20database\x20ID'},{'name':'mode','type':a236_0x1694fe(0x187),'enum':[a236_0x1694fe(0x19a),a236_0x1694fe(0x18d)],'description':a236_0x1694fe(0x19f)}],async 'validate'(_0x545bb7){const _0x5aaab6=a236_0x1694fe;if(!_0x545bb7[_0x5aaab6(0x17a)])return;if(!_0x545bb7[_0x5aaab6(0x1a5)]('name')[_0x5aaab6(0x18a)]())throw CliErrors['flagMissing'](_0x5aaab6(0x1b3),_0x5aaab6(0x1a6));const _0x2a4985=resolveProvidedDbId(_0x545bb7);if(typeof _0x2a4985!=='number'||!Number['isFinite'](_0x2a4985)||_0x2a4985<=0x0)throw CliErrors['flagMissing'](_0x5aaab6(0x197),_0x5aaab6(0x196));if(!_0x545bb7[_0x5aaab6(0x1a5)](_0x5aaab6(0x1a3))[_0x5aaab6(0x18a)]())throw CliErrors[_0x5aaab6(0x191)](_0x5aaab6(0x1a3),_0x5aaab6(0x1b4));},async 'dryRun'(_0x4cebf4){const _0x39727c=a236_0x1694fe,_0x187934=loadSqlProjectConfig(_0x4cebf4['appCode']),{sqlName:_0x5f2da6,dbId:_0x5a9f49,dbName:_0x4c9810,mode:_0x93c48a}=await resolveSqlNewInputs(_0x4cebf4),_0x3e8dac=buildSqlRelativePath('<server-generated-sqlCode>',_0x5f2da6,_0x4c9810,_0x93c48a,_0x5a9f49),_0xed7e4e=_0x187934[_0x39727c(0x175)]+'/'+_0x3e8dac;return{'method':_0x39727c(0x1a4),'url':_0x39727c(0x17e),'body':{'appCode':_0x4cebf4[_0x39727c(0x180)],'sqlName':_0x5f2da6,'dbId':_0x5a9f49,'mode':_0x93c48a,'localPath':_0xed7e4e},'description':_0x39727c(0x1a9)+_0x187934['sqlRootDir']};},async 'execute'(_0x422b4d){const _0x3299fc=a236_0x1694fe,_0x4e431e=loadSqlProjectConfig(_0x422b4d[_0x3299fc(0x180)]),{sqlName:_0x276d54,dbId:_0x5f464d,dbName:_0x1df5ed,mode:_0x526ca9}=await resolveSqlNewInputs(_0x422b4d),_0x58e6f3=generateSqlTemplate(_0x526ca9),_0x2f58ac=await createSqlQuery({'appCode':_0x422b4d['appCode'],'sqlName':_0x276d54,'dbId':_0x5f464d,'sqlContent':_0x58e6f3}),_0x5249f2=ensureRemoteSqlContent(_0x2f58ac),_0x2a7221=_0x1df5ed||await getDbName(_0x422b4d['appCode'],_0x5f464d)[_0x3299fc(0x17b)](()=>undefined),_0x543d85=buildSqlRelativePath(_0x2f58ac[_0x3299fc(0x1b1)],_0x2f58ac['sqlName'],_0x2a7221,_0x526ca9,_0x5f464d),_0x20c3f2=_0x4e431e[_0x3299fc(0x175)]+'/'+_0x543d85,_0x549b68=buildLocalSqlFileContent({'sqlCode':_0x2f58ac['sqlCode'],'sqlName':_0x2f58ac[_0x3299fc(0x1a8)],'dbId':_0x2f58ac['dbId']},_0x5249f2,{'dbName':_0x2a7221,'mode':_0x526ca9,'syncedAt':new Date()['toISOString'](),'description':_0x2f58ac[_0x3299fc(0x184)]});if(await fileExists(_0x20c3f2))throw CliErrors[_0x3299fc(0x1ad)]('File\x20already\x20exists:\x20'+_0x20c3f2);await ensureParentDirectory(_0x20c3f2),await writeFile(_0x20c3f2,_0x549b68,_0x3299fc(0x18f));const _0x23c931=await readSqlLockFile(_0x4e431e[_0x3299fc(0x19d)]),{lockData:_0x2f3cbb,appLock:_0x1fa5eb}=ensureSqlLockScope(_0x23c931??createEmptySqlLock(),_0x4e431e[_0x3299fc(0x180)],_0x4e431e[_0x3299fc(0x1aa)],'new');return _0x1fa5eb['sqls'][_0x2f58ac[_0x3299fc(0x1b1)]]={...buildSqlLockEntry(_0x2f58ac,_0x5249f2,computeSqlContentHash(_0x549b68),{'dbName':_0x2a7221}),'path':_0x543d85,'mode':_0x526ca9},_0x1fa5eb[_0x3299fc(0x1a1)]=new Date()[_0x3299fc(0x18c)](),await writeSqlLockFile(_0x4e431e[_0x3299fc(0x19d)],_0x2f3cbb),{'ok':!![],'data':{'id':_0x2f58ac['id'],'sqlCode':_0x2f58ac[_0x3299fc(0x1b1)],'sqlName':_0x2f58ac['sqlName'],'dbId':_0x2f58ac[_0x3299fc(0x17c)],'path':_0x20c3f2,'mode':_0x526ca9},'message':_0x3299fc(0x1a7)+_0x2f58ac[_0x3299fc(0x1b1)]};}};async function resolveSqlNewInputs(_0x3a1a57){const _0x58a7c3=await resolveSqlNameInput(_0x3a1a57),{dbId:_0x3569ae,dbName:_0x329274}=await resolveDbSelection(_0x3a1a57),_0xee71d0=await resolveSqlModeInput(_0x3a1a57);return{'sqlName':_0x58a7c3,'dbId':_0x3569ae,'dbName':_0x329274,'mode':_0xee71d0};}async function resolveSqlNameInput(_0x2c332a){const _0x5b61a4=a236_0x1694fe,_0x9a714a=_0x2c332a[_0x5b61a4(0x1a5)](_0x5b61a4(0x1b3))['trim']();if(_0x9a714a)return _0x9a714a;if(_0x2c332a[_0x5b61a4(0x17a)])throw CliErrors[_0x5b61a4(0x191)](_0x5b61a4(0x1b3),_0x5b61a4(0x1a6));return(await input({'message':_0x5b61a4(0x19b),'validate':_0x170d1b=>_0x170d1b['trim']()?!![]:_0x5b61a4(0x17d)}))['trim']();}async function resolveDbSelection(_0x589a65){const _0x5bc9e7=a236_0x1694fe,_0x575987=resolveProvidedDbId(_0x589a65);if(typeof _0x575987===_0x5bc9e7(0x186)&&Number[_0x5bc9e7(0x188)](_0x575987)&&_0x575987>0x0)return{'dbId':_0x575987,'dbName':await getDbName(_0x589a65['appCode'],_0x575987)['catch'](()=>undefined)};if(_0x589a65[_0x5bc9e7(0x17a)])throw CliErrors[_0x5bc9e7(0x191)](_0x5bc9e7(0x197),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0xeef8d1=await listDatabases(_0x589a65[_0x5bc9e7(0x180)])[_0x5bc9e7(0x17b)](()=>[]);if(_0xeef8d1[_0x5bc9e7(0x1ac)]===0x1)return{'dbId':_0xeef8d1[0x0]['dbId'],'dbName':_0xeef8d1[0x0][_0x5bc9e7(0x19c)]};if(_0xeef8d1['length']>0x1){const _0xeda06a=await select({'message':'Select\x20the\x20target\x20database:','choices':[..._0xeef8d1[_0x5bc9e7(0x179)](_0x1c4652=>({'name':_0x1c4652[_0x5bc9e7(0x19c)]+'\x20('+_0x1c4652[_0x5bc9e7(0x17c)]+')','value':serializeDbSelection(_0x1c4652)})),{'name':'✎\x20Enter\x20dbId\x20manually','value':_0x5bc9e7(0x174)}]});if(_0xeda06a!=='__manual__')return deserializeDbSelection(_0xeda06a);}const _0xf074a=await input({'message':_0x5bc9e7(0x181),'validate':_0x54f78f=>{const _0x1b2fa2=_0x54f78f['trim']();if(!_0x1b2fa2)return'dbId\x20cannot\x20be\x20empty';const _0x435d99=Number(_0x1b2fa2);if(!Number['isInteger'](_0x435d99)||_0x435d99<=0x0)return'dbId\x20must\x20be\x20a\x20positive\x20integer';return!![];}});return{'dbId':Number(_0xf074a['trim']())};}async function resolveSqlModeInput(_0x3d88ca){const _0x229edc=a236_0x1694fe,_0x314471=_0x3d88ca['str']('mode')[_0x229edc(0x18a)]();if(_0x314471===_0x229edc(0x19a)||_0x314471===_0x229edc(0x18d))return _0x314471;if(_0x3d88ca[_0x229edc(0x17a)])throw CliErrors[_0x229edc(0x191)](_0x229edc(0x1a3),_0x229edc(0x1b4));return await select({'message':_0x229edc(0x1b5),'choices':[{'name':_0x229edc(0x190),'value':_0x229edc(0x19a),'description':'For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly'},{'name':_0x229edc(0x1af),'value':_0x229edc(0x18d),'description':_0x229edc(0x17f)}]});}function serializeDbSelection(_0x50378d){const _0x2f3bdb=a236_0x1694fe;return JSON['stringify']({'dbId':_0x50378d[_0x2f3bdb(0x17c)],'dbName':_0x50378d['dbName']});}function deserializeDbSelection(_0x3ae1b9){const _0x4d76eb=a236_0x1694fe;try{const _0x17918d=JSON[_0x4d76eb(0x177)](_0x3ae1b9);if(typeof _0x17918d[_0x4d76eb(0x17c)]===_0x4d76eb(0x186)&&Number['isFinite'](_0x17918d[_0x4d76eb(0x17c)]))return{'dbId':_0x17918d[_0x4d76eb(0x17c)],'dbName':_0x17918d['dbName']};}catch{}throw CliErrors[_0x4d76eb(0x1ad)](_0x4d76eb(0x1ab)+_0x3ae1b9);}function resolveProvidedDbId(_0x48e622){const _0x38d721=a236_0x1694fe,_0x42c393=_0x48e622[_0x38d721(0x18e)](_0x38d721(0x197));if(typeof _0x42c393===_0x38d721(0x186)&&Number[_0x38d721(0x188)](_0x42c393))return _0x42c393;return undefined;}
|
|
1
|
+
const a236_0x503215=a236_0x580e;(function(_0x42494b,_0x4d6461){const _0x39b85c=a236_0x580e,_0x3c61a5=_0x42494b();while(!![]){try{const _0x535eac=-parseInt(_0x39b85c(0x15c))/0x1*(parseInt(_0x39b85c(0x14c))/0x2)+parseInt(_0x39b85c(0x18a))/0x3*(-parseInt(_0x39b85c(0x183))/0x4)+-parseInt(_0x39b85c(0x18b))/0x5+parseInt(_0x39b85c(0x17f))/0x6+parseInt(_0x39b85c(0x16a))/0x7+parseInt(_0x39b85c(0x178))/0x8*(parseInt(_0x39b85c(0x184))/0x9)+parseInt(_0x39b85c(0x175))/0xa;if(_0x535eac===_0x4d6461)break;else _0x3c61a5['push'](_0x3c61a5['shift']());}catch(_0x5bff5e){_0x3c61a5['push'](_0x3c61a5['shift']());}}}(a236_0x1475,0x26c82));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';function a236_0x1475(){const _0x4090cf=['name','dbName','validation','db-id','Target\x20database\x20dbId:','953190RxlTRJ','Created\x20SQL\x20query\x20','Select\x20the\x20local\x20SQL\x20mode:','number','Local\x20SQL\x20file\x20mode','SQL\x20name:','nonInteractive','toISOString','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','SELECT\x201\x20AS\x20id;','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','1115500BQmtwr','<server-generated-sqlCode>','flagMissing','32KSnSNq','Target\x20database\x20ID','isFinite','trim','string','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','str','956922TDLUZq','sql','length','flag','48HtQkSy','65241PWoTjY','sqlName','lockFilePath','Invalid\x20database\x20selection\x20payload:\x20','write','File\x20already\x20exists:\x20','4185yXZtoN','913080nvUCWH','dbId\x20cannot\x20be\x20empty','sqlCode','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','sqlRoot','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','2TBpaYq','mybatisXml','sqlRootDir','new','For\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20statements\x20that\x20run\x20directly','dbId','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','lastSync','SQL\x20query\x20display\x20name','appCode','map','__manual__','SQL\x20name\x20cannot\x20be\x20empty','MyBatis\x20XML\x20(mybatisXml)','sqls','catch','77997EJgGTE','isInteger','POST','join','utf8','Plain\x20SQL\x20(sql)','\x20\x20SELECT\x201\x20AS\x20id','parse','mode'];a236_0x1475=function(){return _0x4090cf;};return a236_0x1475();}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(_0x1fce98){const _0x41234d=a236_0x580e;if(_0x1fce98===_0x41234d(0x14d))return[_0x41234d(0x174),_0x41234d(0x162),'</select>',''][_0x41234d(0x15f)]('\x0a');return[_0x41234d(0x173),''][_0x41234d(0x15f)]('\x0a');}export const sqlCreate={'service':a236_0x503215(0x180),'command':'create','description':a236_0x503215(0x152),'risk':a236_0x503215(0x188),'flags':[{'name':a236_0x503215(0x165),'type':a236_0x503215(0x17c),'description':a236_0x503215(0x154)},{'name':a236_0x503215(0x168),'type':'number','description':a236_0x503215(0x179)},{'name':a236_0x503215(0x164),'type':a236_0x503215(0x17c),'enum':[a236_0x503215(0x180),a236_0x503215(0x14d)],'description':a236_0x503215(0x16e)}],async 'validate'(_0x4d55bb){const _0x17824c=a236_0x503215;if(!_0x4d55bb[_0x17824c(0x170)])return;if(!_0x4d55bb['str'](_0x17824c(0x165))['trim']())throw CliErrors[_0x17824c(0x177)]('name',_0x17824c(0x14b));const _0xe55fe7=resolveProvidedDbId(_0x4d55bb);if(typeof _0xe55fe7!==_0x17824c(0x16d)||!Number[_0x17824c(0x17a)](_0xe55fe7)||_0xe55fe7<=0x0)throw CliErrors[_0x17824c(0x177)](_0x17824c(0x168),_0x17824c(0x18e));if(!_0x4d55bb['str']('mode')['trim']())throw CliErrors['flagMissing']('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x3e0a5c){const _0x277e26=a236_0x503215,_0x583ce3=loadSqlProjectConfig(_0x3e0a5c[_0x277e26(0x155)]),{sqlName:_0xe89624,dbId:_0x28966e,dbName:_0x87d74a,mode:_0x316ef8}=await resolveSqlNewInputs(_0x3e0a5c),_0x174e6a=buildSqlRelativePath(_0x277e26(0x176),_0xe89624,_0x87d74a,_0x316ef8,_0x28966e),_0x21e81d=_0x583ce3['sqlRootDir']+'/'+_0x174e6a;return{'method':_0x277e26(0x15e),'url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x3e0a5c[_0x277e26(0x155)],'sqlName':_0xe89624,'dbId':_0x28966e,'mode':_0x316ef8,'localPath':_0x21e81d},'description':_0x277e26(0x172)+_0x583ce3[_0x277e26(0x14e)]};},async 'execute'(_0x585eb9){const _0x30612e=a236_0x503215,_0x57566c=loadSqlProjectConfig(_0x585eb9[_0x30612e(0x155)]),{sqlName:_0x3f676d,dbId:_0x2a1690,dbName:_0x2b45a1,mode:_0x350a44}=await resolveSqlNewInputs(_0x585eb9),_0x173efa=generateSqlTemplate(_0x350a44),_0x522083=await createSqlQuery({'appCode':_0x585eb9[_0x30612e(0x155)],'sqlName':_0x3f676d,'dbId':_0x2a1690,'sqlContent':_0x173efa}),_0x5e9ad0=ensureRemoteSqlContent(_0x522083),_0x2f290d=_0x2b45a1||await getDbName(_0x585eb9[_0x30612e(0x155)],_0x2a1690)['catch'](()=>undefined),_0x518480=buildSqlRelativePath(_0x522083[_0x30612e(0x18d)],_0x522083[_0x30612e(0x185)],_0x2f290d,_0x350a44,_0x2a1690),_0xbbd1d0=_0x57566c[_0x30612e(0x14e)]+'/'+_0x518480,_0x3ea4c2=buildLocalSqlFileContent({'sqlCode':_0x522083[_0x30612e(0x18d)],'sqlName':_0x522083[_0x30612e(0x185)],'dbId':_0x522083[_0x30612e(0x151)]},_0x5e9ad0,{'dbName':_0x2f290d,'mode':_0x350a44,'syncedAt':new Date()[_0x30612e(0x171)](),'description':_0x522083['description']});if(await fileExists(_0xbbd1d0))throw CliErrors[_0x30612e(0x167)](_0x30612e(0x189)+_0xbbd1d0);await ensureParentDirectory(_0xbbd1d0),await writeFile(_0xbbd1d0,_0x3ea4c2,_0x30612e(0x160));const _0x576c29=await readSqlLockFile(_0x57566c['lockFilePath']),{lockData:_0x1ae636,appLock:_0x3152db}=ensureSqlLockScope(_0x576c29??createEmptySqlLock(),_0x57566c[_0x30612e(0x155)],_0x57566c[_0x30612e(0x14a)],_0x30612e(0x14f));return _0x3152db[_0x30612e(0x15a)][_0x522083[_0x30612e(0x18d)]]={...buildSqlLockEntry(_0x522083,_0x5e9ad0,computeSqlContentHash(_0x3ea4c2),{'dbName':_0x2f290d}),'path':_0x518480,'mode':_0x350a44},_0x3152db[_0x30612e(0x153)]=new Date()[_0x30612e(0x171)](),await writeSqlLockFile(_0x57566c[_0x30612e(0x186)],_0x1ae636),{'ok':!![],'data':{'id':_0x522083['id'],'sqlCode':_0x522083['sqlCode'],'sqlName':_0x522083[_0x30612e(0x185)],'dbId':_0x522083[_0x30612e(0x151)],'path':_0xbbd1d0,'mode':_0x350a44},'message':_0x30612e(0x16b)+_0x522083[_0x30612e(0x18d)]};}};async function resolveSqlNewInputs(_0x3a8ffb){const _0x1472ef=await resolveSqlNameInput(_0x3a8ffb),{dbId:_0x377fe1,dbName:_0x3330c8}=await resolveDbSelection(_0x3a8ffb),_0x4b0d2a=await resolveSqlModeInput(_0x3a8ffb);return{'sqlName':_0x1472ef,'dbId':_0x377fe1,'dbName':_0x3330c8,'mode':_0x4b0d2a};}async function resolveSqlNameInput(_0x110881){const _0xf83124=a236_0x503215,_0x4d6a80=_0x110881[_0xf83124(0x17e)](_0xf83124(0x165))[_0xf83124(0x17b)]();if(_0x4d6a80)return _0x4d6a80;if(_0x110881[_0xf83124(0x170)])throw CliErrors['flagMissing']('name','--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0xf83124(0x16f),'validate':_0x1f4ded=>_0x1f4ded[_0xf83124(0x17b)]()?!![]:_0xf83124(0x158)}))['trim']();}async function resolveDbSelection(_0x20babe){const _0x2e6091=a236_0x503215,_0x5f174f=resolveProvidedDbId(_0x20babe);if(typeof _0x5f174f===_0x2e6091(0x16d)&&Number['isFinite'](_0x5f174f)&&_0x5f174f>0x0)return{'dbId':_0x5f174f,'dbName':await getDbName(_0x20babe[_0x2e6091(0x155)],_0x5f174f)[_0x2e6091(0x15b)](()=>undefined)};if(_0x20babe[_0x2e6091(0x170)])throw CliErrors['flagMissing'](_0x2e6091(0x168),'--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x4f84c3=await listDatabases(_0x20babe[_0x2e6091(0x155)])[_0x2e6091(0x15b)](()=>[]);if(_0x4f84c3[_0x2e6091(0x181)]===0x1)return{'dbId':_0x4f84c3[0x0][_0x2e6091(0x151)],'dbName':_0x4f84c3[0x0]['dbName']};if(_0x4f84c3['length']>0x1){const _0x474b22=await select({'message':'Select\x20the\x20target\x20database:','choices':[..._0x4f84c3[_0x2e6091(0x156)](_0x162358=>({'name':_0x162358[_0x2e6091(0x166)]+'\x20('+_0x162358[_0x2e6091(0x151)]+')','value':serializeDbSelection(_0x162358)})),{'name':'✎\x20Enter\x20dbId\x20manually','value':_0x2e6091(0x157)}]});if(_0x474b22!=='__manual__')return deserializeDbSelection(_0x474b22);}const _0x3ce336=await input({'message':_0x2e6091(0x169),'validate':_0x151c62=>{const _0x59a8ac=_0x2e6091,_0x2f6c45=_0x151c62[_0x59a8ac(0x17b)]();if(!_0x2f6c45)return _0x59a8ac(0x18c);const _0x5b6c2d=Number(_0x2f6c45);if(!Number[_0x59a8ac(0x15d)](_0x5b6c2d)||_0x5b6c2d<=0x0)return'dbId\x20must\x20be\x20a\x20positive\x20integer';return!![];}});return{'dbId':Number(_0x3ce336[_0x2e6091(0x17b)]())};}function a236_0x580e(_0x3f38f9,_0x2ee7f2){_0x3f38f9=_0x3f38f9-0x14a;const _0x1475b6=a236_0x1475();let _0x580eca=_0x1475b6[_0x3f38f9];return _0x580eca;}async function resolveSqlModeInput(_0x5953be){const _0x2f34bd=a236_0x503215,_0x2b2c59=_0x5953be[_0x2f34bd(0x17e)](_0x2f34bd(0x164))['trim']();if(_0x2b2c59===_0x2f34bd(0x180)||_0x2b2c59==='mybatisXml')return _0x2b2c59;if(_0x5953be[_0x2f34bd(0x170)])throw CliErrors[_0x2f34bd(0x177)]('mode',_0x2f34bd(0x17d));return await select({'message':_0x2f34bd(0x16c),'choices':[{'name':_0x2f34bd(0x161),'value':_0x2f34bd(0x180),'description':_0x2f34bd(0x150)},{'name':_0x2f34bd(0x159),'value':_0x2f34bd(0x14d),'description':'For\x20MyBatis\x20XML\x20SQL\x20with\x20dynamic\x20tags'}]});}function serializeDbSelection(_0x29b3fd){const _0x1856e4=a236_0x503215;return JSON['stringify']({'dbId':_0x29b3fd[_0x1856e4(0x151)],'dbName':_0x29b3fd['dbName']});}function deserializeDbSelection(_0x4a4183){const _0x283156=a236_0x503215;try{const _0xa1df50=JSON[_0x283156(0x163)](_0x4a4183);if(typeof _0xa1df50[_0x283156(0x151)]===_0x283156(0x16d)&&Number[_0x283156(0x17a)](_0xa1df50['dbId']))return{'dbId':_0xa1df50['dbId'],'dbName':_0xa1df50[_0x283156(0x166)]};}catch{}throw CliErrors[_0x283156(0x167)](_0x283156(0x187)+_0x4a4183);}function resolveProvidedDbId(_0x5b645c){const _0x4de8c4=a236_0x503215,_0xe5b92=_0x5b645c[_0x4de8c4(0x182)](_0x4de8c4(0x168));if(typeof _0xe5b92==='number'&&Number[_0x4de8c4(0x17a)](_0xe5b92))return _0xe5b92;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a237_0x6c55b8=a237_0x3389;(function(_0x3b5dca,_0x36281c){const _0x3b8323=a237_0x3389,_0x533e11=_0x3b5dca();while(!![]){try{const _0x5a8a78=parseInt(_0x3b8323(0xa1))/0x1*(-parseInt(_0x3b8323(0xa0))/0x2)+-parseInt(_0x3b8323(0xa9))/0x3*(parseInt(_0x3b8323(0x93))/0x4)+-parseInt(_0x3b8323(0xa8))/0x5*(parseInt(_0x3b8323(0xaa))/0x6)+parseInt(_0x3b8323(0x94))/0x7*(parseInt(_0x3b8323(0x9d))/0x8)+-parseInt(_0x3b8323(0xad))/0x9*(parseInt(_0x3b8323(0x95))/0xa)+-parseInt(_0x3b8323(0xb0))/0xb*(parseInt(_0x3b8323(0xa2))/0xc)+parseInt(_0x3b8323(0xae))/0xd*(parseInt(_0x3b8323(0xb1))/0xe);if(_0x5a8a78===_0x36281c)break;else _0x533e11['push'](_0x533e11['shift']());}catch(_0x80ad82){_0x533e11['push'](_0x533e11['shift']());}}}(a237_0x11c0,0x2636a));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';function a237_0x3389(_0x32fb23,_0x37cc30){_0x32fb23=_0x32fb23-0x8e;const _0x11c0fd=a237_0x11c0();let _0x3389ff=_0x11c0fd[_0x32fb23];return _0x3389ff;}function a237_0x11c0(){const _0x577bf1=['36ujJSVi','1126572nHAJOL','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','high-risk-write','entries','validation','delete','1180dOqijV','414dTwIGr','3948ORdiCL','Would\x20delete\x20SQL\x20','remoteId','1098819bNHUha','962mUmfMN','sql','22SNAunY','130382mjgSvm','toISOString','sqlRoot','filter','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','trashDir','appCode','sqlRootDir','/smartapi/custom/deleteUserCustomSql','startsWith','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','POST','length','str','2952uGdGcw','906703amrGQr','10hvZvJv','sqlcode','\x20(local\x20file\x20moved\x20to\x20trash)','projectRoot','lockFilePath','SQL\x20lock\x20file\x20not\x20found.','sqls','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','8UUFGLh','trashedTo','lastSync','5288fSFYQZ'];a237_0x11c0=function(){return _0x577bf1;};return a237_0x11c0();}import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a237_0x6c55b8(0xaf),'command':a237_0x6c55b8(0xa7),'description':a237_0x6c55b8(0xa3),'risk':a237_0x6c55b8(0xa4),'flags':[SQLCODE_FLAG],async 'validate'(_0x239e58){const _0xd8df2e=a237_0x6c55b8,_0x37ca41=loadSqlProjectConfig(_0x239e58[_0xd8df2e(0xb7)]),_0x94bbaf=await readSqlLockFile(_0x37ca41[_0xd8df2e(0x99)]);if(!_0x94bbaf)throw CliErrors['validation'](_0xd8df2e(0x8f));},async 'dryRun'(_0x1e2a32){const _0x5b3577=a237_0x6c55b8,_0x3eb12c=loadSqlProjectConfig(_0x1e2a32[_0x5b3577(0xb7)]),_0xeeb92f=await readSqlLockFile(_0x3eb12c[_0x5b3577(0x99)]);if(!_0xeeb92f)throw CliErrors[_0x5b3577(0xa6)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');const {appLock:_0x464902}=ensureSqlLockScope(_0xeeb92f,_0x1e2a32[_0x5b3577(0xb7)],_0x3eb12c[_0x5b3577(0xb3)],_0x5b3577(0xa7)),_0x5acc08=_0x1e2a32[_0x5b3577(0x92)]('sqlcode'),_0x53cef3=_0x464902[_0x5b3577(0x9b)][_0x5acc08];if(!_0x53cef3)throw CliErrors['validation'](_0x5b3577(0x9c)+_0x5acc08+'\x22.');return{'method':_0x5b3577(0x90),'url':_0x5b3577(0xb9),'body':{'sqlCode':_0x5acc08,'id':_0x53cef3[_0x5b3577(0xac)],'localPath':resolveLocalSqlFilePath(_0x3eb12c,_0x5acc08,_0x53cef3)},'description':_0x5b3577(0xab)+_0x5acc08+_0x5b3577(0xb5)+_0x3eb12c[_0x5b3577(0xb6)]};},async 'execute'(_0x2036e6){const _0x2e0fe0=a237_0x6c55b8,_0x31aee4=loadSqlProjectConfig(_0x2036e6[_0x2e0fe0(0xb7)]),_0x5eb410=await readSqlLockFile(_0x31aee4[_0x2e0fe0(0x99)]);if(!_0x5eb410)throw CliErrors[_0x2e0fe0(0xa6)](_0x2e0fe0(0x9a));const {lockData:_0x3a5c42,appLock:_0x5a0435}=ensureSqlLockScope(_0x5eb410,_0x2036e6['appCode'],_0x31aee4[_0x2e0fe0(0xb3)],'delete'),_0x2c8c90=_0x2036e6[_0x2e0fe0(0x92)](_0x2e0fe0(0x96)),_0x5c15d1=_0x5a0435[_0x2e0fe0(0x9b)][_0x2c8c90];if(!_0x5c15d1)throw CliErrors[_0x2e0fe0(0xa6)](_0x2e0fe0(0x9c)+_0x2c8c90+'\x22.');await deleteSqlQuery({'id':_0x5c15d1[_0x2e0fe0(0xac)],'sqlCode':_0x2c8c90}),_0x5a0435[_0x2e0fe0(0x9b)]=Object['fromEntries'](Object[_0x2e0fe0(0xa5)](_0x5a0435[_0x2e0fe0(0x9b)])[_0x2e0fe0(0xb4)](([_0x330688])=>_0x330688!==_0x2c8c90)),_0x5a0435[_0x2e0fe0(0x9f)]=new Date()[_0x2e0fe0(0xb2)](),await writeSqlLockFile(_0x31aee4['lockFilePath'],_0x3a5c42);const _0x56ca50=resolveLocalSqlFilePath(_0x31aee4,_0x2c8c90,_0x5c15d1);let _0x272ddd;await fileExists(_0x56ca50)&&(_0x272ddd=await moveToTrash(_0x31aee4[_0x2e0fe0(0x98)],_0x31aee4[_0x2e0fe0(0xb6)],_0x56ca50),await cleanupEmptyDirectories(dirname(_0x56ca50),_0x31aee4[_0x2e0fe0(0xb8)]));const _0x45e5d7={'deleted':_0x2c8c90,'remoteId':_0x5c15d1[_0x2e0fe0(0xac)]};if(_0x272ddd)_0x45e5d7[_0x2e0fe0(0x9e)]=_0x272ddd;return{'ok':!![],'data':_0x45e5d7,'message':'Deleted\x20'+_0x2c8c90+(_0x272ddd?_0x2e0fe0(0x97):'')};}};async function moveToTrash(_0x22f5df,_0x5a1c34,_0x28a259){const _0x14e7d0=a237_0x6c55b8,_0x1e1639=new Date()[_0x14e7d0(0xb2)]()['replace'](/[:.]/g,'-'),_0x4ad602=relative(_0x22f5df,_0x28a259),_0x13d21c=join(_0x5a1c34,_0x1e1639,_0x4ad602);return await mkdir(dirname(_0x13d21c),{'recursive':!![]}),await rename(_0x28a259,_0x13d21c),_0x13d21c;}async function cleanupEmptyDirectories(_0x910143,_0x54add0){const _0x2d1cb2=a237_0x6c55b8;let _0x2af519=resolve(_0x910143);const _0x1d2998=resolve(_0x54add0);while(_0x2af519[_0x2d1cb2(0x8e)](''+_0x1d2998+sep)||_0x2af519===_0x1d2998){if(_0x2af519===_0x1d2998)return;try{const _0x19617d=await readdir(_0x2af519);if(_0x19617d[_0x2d1cb2(0x91)]>0x0)return;await rmdir(_0x2af519);}catch{return;}_0x2af519=dirname(_0x2af519);}}
|