@lovrabet/rabetbase-cli 2.3.16-beta.6 → 2.4.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -10
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/react/create.d.ts +2 -0
- package/lib/commands/page/react/create.js +1 -0
- package/lib/commands/page/react/detail.d.ts +2 -0
- package/lib/commands/page/react/detail.js +1 -0
- package/lib/commands/page/react/list.d.ts +2 -0
- package/lib/commands/page/react/list.js +1 -0
- package/lib/commands/page/react/publish.d.ts +2 -0
- package/lib/commands/page/react/publish.js +1 -0
- package/lib/commands/page/react/shared.d.ts +78 -0
- package/lib/commands/page/react/shared.js +1 -0
- package/lib/commands/page/react/syntax.d.ts +18 -0
- package/lib/commands/page/react/syntax.js +1 -0
- package/lib/commands/page/react/template.d.ts +8 -0
- package/lib/commands/page/react/template.js +1 -0
- package/lib/commands/page/react/update.d.ts +2 -0
- package/lib/commands/page/react/update.js +1 -0
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.d.ts +1 -0
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.d.ts +2 -0
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -0
- package/lib/commands/user-account/index.d.ts +2 -0
- package/lib/commands/user-account/index.js +1 -0
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +117 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.d.ts +3 -0
- package/lib/postinstall.js +1 -0
- 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.d.ts +37 -0
- package/lib/skills/builtin-skill.js +1 -0
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +4 -2
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +9 -3
- package/scripts/postinstall.mjs +24 -0
- package/skills/rabetbase/SKILL.md +493 -0
- package/skills/rabetbase/guides/backend-function.md +835 -0
- package/skills/rabetbase/guides/best-practices.md +137 -0
- package/skills/rabetbase/guides/bff-creation-workflow.md +148 -0
- package/skills/rabetbase/guides/conflict-detection.md +119 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +414 -0
- package/skills/rabetbase/guides/database-connection-workflow.md +169 -0
- package/skills/rabetbase/guides/frontend-development.md +179 -0
- package/skills/rabetbase/guides/legacy-application-blueprint-workflow.md +495 -0
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +137 -0
- package/skills/rabetbase/guides/page-development-workflow.md +187 -0
- package/skills/rabetbase/guides/react-custom-page-workflow.md +184 -0
- package/skills/rabetbase/guides/role-permit-workflow.md +127 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +173 -0
- package/skills/rabetbase/guides/sql-mybatis.md +126 -0
- package/skills/rabetbase/guides/troubleshooting.md +67 -0
- package/skills/rabetbase/guides/typescript-sdk.md +227 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartCreate.md +367 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartDetail.md +153 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +291 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartFilter.md +478 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +119 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +223 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +632 -0
- package/skills/rabetbase/knowledge/page-schema/YtPage.md +172 -0
- package/skills/rabetbase/knowledge/page-schema/dataset-relations.md +126 -0
- package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +232 -0
- package/skills/rabetbase/knowledge/page-schema/field-components.md +312 -0
- package/skills/rabetbase/knowledge/page-schema/syntax-reference.md +278 -0
- package/skills/rabetbase/knowledge/react-page/components.md +225 -0
- package/skills/rabetbase/knowledge/react-page/generation-standards.md +385 -0
- package/skills/rabetbase/references/rabetbase-api-list.md +58 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +82 -0
- package/skills/rabetbase/references/rabetbase-app-config.md +95 -0
- package/skills/rabetbase/references/rabetbase-app-list.md +79 -0
- package/skills/rabetbase/references/rabetbase-app-members-list.md +64 -0
- package/skills/rabetbase/references/rabetbase-auth-login.md +53 -0
- package/skills/rabetbase/references/rabetbase-auth-logout.md +29 -0
- package/skills/rabetbase/references/rabetbase-bff-create.md +59 -0
- package/skills/rabetbase/references/rabetbase-bff-delete.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-detail.md +38 -0
- package/skills/rabetbase/references/rabetbase-bff-list.md +61 -0
- package/skills/rabetbase/references/rabetbase-bff-pull.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-push.md +65 -0
- package/skills/rabetbase/references/rabetbase-bff-save.md +63 -0
- package/skills/rabetbase/references/rabetbase-bff-status.md +37 -0
- package/skills/rabetbase/references/rabetbase-cli-skill-install.md +42 -0
- package/skills/rabetbase/references/rabetbase-codegen-sdk.md +35 -0
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +33 -0
- package/skills/rabetbase/references/rabetbase-config.md +296 -0
- package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +84 -0
- package/skills/rabetbase/references/rabetbase-dataset-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +106 -0
- package/skills/rabetbase/references/rabetbase-dataset-extend-update.md +70 -0
- package/skills/rabetbase/references/rabetbase-dataset-field-update.md +117 -0
- package/skills/rabetbase/references/rabetbase-dataset-generate.md +206 -0
- package/skills/rabetbase/references/rabetbase-dataset-list.md +42 -0
- package/skills/rabetbase/references/rabetbase-dataset-operations.md +34 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-audit.md +63 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +141 -0
- package/skills/rabetbase/references/rabetbase-dataset-relations.md +71 -0
- package/skills/rabetbase/references/rabetbase-dataset-rename.md +107 -0
- package/skills/rabetbase/references/rabetbase-dataset-restore.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-analyze.md +135 -0
- package/skills/rabetbase/references/rabetbase-db-create.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-delete.md +26 -0
- package/skills/rabetbase/references/rabetbase-db-detail.md +27 -0
- package/skills/rabetbase/references/rabetbase-db-diff.md +57 -0
- package/skills/rabetbase/references/rabetbase-db-list.md +37 -0
- package/skills/rabetbase/references/rabetbase-db-tables.md +25 -0
- package/skills/rabetbase/references/rabetbase-db-test.md +29 -0
- package/skills/rabetbase/references/rabetbase-db-update.md +29 -0
- package/skills/rabetbase/references/rabetbase-doctor.md +62 -0
- package/skills/rabetbase/references/rabetbase-file.md +35 -0
- package/skills/rabetbase/references/rabetbase-init.md +70 -0
- package/skills/rabetbase/references/rabetbase-issue-report.md +132 -0
- package/skills/rabetbase/references/rabetbase-kb.md +62 -0
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +135 -0
- package/skills/rabetbase/references/rabetbase-menu-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-create.md +63 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +74 -0
- package/skills/rabetbase/references/rabetbase-menu-group-create.md +33 -0
- package/skills/rabetbase/references/rabetbase-menu-group-update.md +38 -0
- package/skills/rabetbase/references/rabetbase-menu-list.md +144 -0
- package/skills/rabetbase/references/rabetbase-menu-move.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +45 -0
- package/skills/rabetbase/references/rabetbase-menu-rename.md +48 -0
- package/skills/rabetbase/references/rabetbase-menu-sync.md +60 -0
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +80 -0
- package/skills/rabetbase/references/rabetbase-ocr.md +86 -0
- package/skills/rabetbase/references/rabetbase-page-generate-start.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-generate-status.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-pull.md +47 -0
- package/skills/rabetbase/references/rabetbase-page-push.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-react-create.md +29 -0
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +26 -0
- package/skills/rabetbase/references/rabetbase-page-react-list.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-publish.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-update.md +24 -0
- package/skills/rabetbase/references/rabetbase-page-relation-binding.md +72 -0
- package/skills/rabetbase/references/rabetbase-page-restore.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-sync.md +36 -0
- package/skills/rabetbase/references/rabetbase-permit-page-set.md +69 -0
- package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +53 -0
- package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +57 -0
- package/skills/rabetbase/references/rabetbase-project-create.md +46 -0
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +57 -0
- package/skills/rabetbase/references/rabetbase-role-list.md +68 -0
- package/skills/rabetbase/references/rabetbase-role-user-add.md +54 -0
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +27 -0
- package/skills/rabetbase/references/rabetbase-run.md +53 -0
- package/skills/rabetbase/references/rabetbase-schema.md +22 -0
- package/skills/rabetbase/references/rabetbase-sql-create.md +41 -0
- package/skills/rabetbase/references/rabetbase-sql-delete.md +37 -0
- package/skills/rabetbase/references/rabetbase-sql-detail.md +32 -0
- package/skills/rabetbase/references/rabetbase-sql-exec.md +34 -0
- package/skills/rabetbase/references/rabetbase-sql-list.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-pull.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-push.md +46 -0
- package/skills/rabetbase/references/rabetbase-sql-status.md +39 -0
- package/skills/rabetbase/references/rabetbase-sql-validate.md +73 -0
- package/skills/rabetbase/references/rabetbase-standard-page-status.md +31 -0
- package/skills/rabetbase/references/rabetbase-task-status.md +40 -0
- package/skills/rabetbase/references/rabetbase-tenant-members-list.md +69 -0
- package/skills/rabetbase/references/rabetbase-update.md +56 -0
- package/skills/rabetbase/references/rabetbase-user-account.md +45 -0
- package/skills/rabetbase/references/rabetbase-workspace.md +60 -0
- package/skills/rabetbase.manifest.json +137 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a112_0xfde8c6=a112_0x27c0;(function(_0x8deb47,_0x527f31){const _0x4cf472=a112_0x27c0,_0x143014=_0x8deb47();while(!![]){try{const _0x2aeb8e=-parseInt(_0x4cf472(0x141))/0x1*(parseInt(_0x4cf472(0x13f))/0x2)+parseInt(_0x4cf472(0x134))/0x3*(parseInt(_0x4cf472(0x14a))/0x4)+parseInt(_0x4cf472(0x15f))/0x5*(-parseInt(_0x4cf472(0x146))/0x6)+parseInt(_0x4cf472(0x138))/0x7+-parseInt(_0x4cf472(0x166))/0x8*(-parseInt(_0x4cf472(0x164))/0x9)+-parseInt(_0x4cf472(0x15e))/0xa+parseInt(_0x4cf472(0x165))/0xb;if(_0x2aeb8e===_0x527f31)break;else _0x143014['push'](_0x143014['shift']());}catch(_0x310bea){_0x143014['push'](_0x143014['shift']());}}}(a112_0x5b5c,0x6dd83));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0xfde8c6(0x167),'path':a112_0xfde8c6(0x161)}];function a112_0x5b5c(){const _0x5e4c17=['write','No\x20online\x20fields\x20would\x20change.','662788KpRCzE','trim','unknown','Folder\x20','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','rabetbase\x20menu\x20list\x20--format\x20json','72238ErxlDE','update','3iqVKWC','string','sort','selector','label','246LGUyTW','str','\x22,\x20not\x20folder.','Update\x20request\x20for\x20folder\x20','116QrfHit','validation','\x20is\x20no\x20longer\x20type\x20folder.','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','\x20label\x20update\x20did\x20not\x20take\x20effect.','hash','parentId','group-update','menu','\x20is\x20type\x20\x22','type','New\x20folder\x20label','\x20sort\x20update\x20did\x20not\x20take\x20effect.','menu\x20list','cookie','Menu\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Updated\x20folder\x20','appCode','menu_not_folder','3670020zWdmxl','5870pkaIWr','update\x20folder','/smartapi/menu/update','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','parent-id','8532VIhQtS','3666839FCZfgM','3704DNRKZm','POST','Would\x20update\x20folder\x20','11013AGQFdQ','--label\x20cannot\x20be\x20empty.'];a112_0x5b5c=function(){return _0x5e4c17;};return a112_0x5b5c();}export const menuGroupUpdate={'service':a112_0xfde8c6(0x152),'command':a112_0xfde8c6(0x151),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a112_0xfde8c6(0x136),'structuredErrors':!![],'rejectedFlags':[{'name':a112_0xfde8c6(0x163),'message':a112_0xfde8c6(0x13d),'hint':a112_0xfde8c6(0x13c)}],'flags':[MENU_ID_FLAG,{'name':a112_0xfde8c6(0x145),'type':a112_0xfde8c6(0x142),'description':a112_0xfde8c6(0x155)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x363020){validateUpdateInput(_0x363020);},async 'dryRun'(_0x3a9b10){const _0x5a1d0f=a112_0xfde8c6;validateUpdateInput(_0x3a9b10);const {plan:_0x5b7602,patch:_0x2cc9b5}=await buildUpdatePlan(_0x3a9b10,!![]);return menuDryRunResult(_0x5b7602,{'method':_0x5a1d0f(0x167),'url':'/smartapi/menu/update','body':_0x2cc9b5,'description':_0x5a1d0f(0x168)+_0x5b7602['selector']['id']+'.'});},async 'execute'(_0x27542b){const _0x2757c6=a112_0xfde8c6;validateUpdateInput(_0x27542b);const {plan:_0x2aa901,patch:_0x417a5f,noChanges:_0x471184}=await buildUpdatePlan(_0x27542b,![]),_0x35ea1a=Number(_0x2aa901[_0x2757c6(0x144)]['id']),_0x49e68e=await recheckMutationSnapshot(_0x27542b,_0x2aa901,'update\x20folder',_0x35ea1a);if(!_0x471184)try{await updateMenuEntity(_0x27542b[_0x2757c6(0x15c)],_0x27542b[_0x2757c6(0x158)],_0x417a5f);}catch(_0x2a0591){const _0x173b92=mapMenuApiError(_0x2a0591,'update\x20folder',_0x35ea1a);throw menuFailure(_0x173b92,_0x2aa901,{'stage':_0x2757c6(0x140),'failed':{'id':_0x35ea1a}});}let _0x39b63e=_0x49e68e,_0x237389;try{!_0x471184&&(_0x39b63e=await fetchMenuSnapshot(_0x27542b['appCode'],_0x27542b['cookie'])),_0x237389=requireMenu(_0x39b63e,_0x35ea1a),verifyPatch(_0x237389,_0x417a5f),_0x237389[_0x2757c6(0x150)]!=null&&requireFolder(_0x39b63e,_0x237389[_0x2757c6(0x150)]);}catch(_0x4dd1db){const _0x4165f1=describeMenuErrorCause(_0x4dd1db,'verify\x20folder\x20update',_0x35ea1a),_0x4e0d0b=asVerificationError(_0x4dd1db,_0x2757c6(0x149)+_0x35ea1a+_0x2757c6(0x15a));throw menuFailure(_0x4e0d0b,_0x2aa901,{'stage':'verification','succeeded':[{'id':_0x35ea1a,'updateRequested':!_0x471184,'skipped':_0x471184}],'failed':{'id':_0x35ea1a,'requestedStateConfirmed':![],..._0x4165f1},'warnings':[_0x2757c6(0x14d)],'verification':{'status':'failed','lookupCommand':_0x2757c6(0x13e),'targetId':_0x35ea1a}});}const _0x328db1=mutationResult({..._0x2aa901,'after':_0x237389,'dryRun':![],'succeeded':[{'id':_0x35ea1a,'updated':!_0x471184,'skipped':_0x471184}],'verification':{'checkedBy':_0x2757c6(0x157),'snapshotHash':_0x39b63e[_0x2757c6(0x14f)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x328db1,'message':_0x471184?_0x2757c6(0x13b)+_0x35ea1a+'\x20already\x20matches\x20the\x20requested\x20state.':_0x2757c6(0x15b)+_0x35ea1a+'.'};}};function validateUpdateInput(_0x47cf55){const _0x574c3d=a112_0xfde8c6;validateExactId(_0x47cf55);if(hasFlag(_0x47cf55,_0x574c3d(0x163)))throw CliErrors[_0x574c3d(0x14b)](_0x574c3d(0x13d),_0x574c3d(0x13c));if(!hasFlag(_0x47cf55,_0x574c3d(0x145))&&!hasFlag(_0x47cf55,'sort'))throw CliErrors[_0x574c3d(0x14b)](_0x574c3d(0x162));if(hasFlag(_0x47cf55,_0x574c3d(0x145))&&!_0x47cf55[_0x574c3d(0x147)](_0x574c3d(0x145))['trim']())throw CliErrors[_0x574c3d(0x14b)](_0x574c3d(0x135));validateSort(_0x47cf55);}async function buildUpdatePlan(_0x1e155c,_0x3d59cd){const _0x188db8=a112_0xfde8c6,_0x44c182=validateExactId(_0x1e155c),_0x29aadd=await fetchMutationSnapshot(_0x1e155c,_0x188db8(0x160),_0x44c182),_0x13a570=requireMenu(_0x29aadd,_0x44c182);if(_0x13a570['type']!=='folder')throw menuError(_0x188db8(0x15d),'Menu\x20'+_0x44c182+_0x188db8(0x153)+(_0x13a570[_0x188db8(0x154)]||_0x188db8(0x13a))+_0x188db8(0x148),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x1e155c,_0x13a570);const _0x4d3bbe={'id':_0x44c182},_0x490413={..._0x13a570};if(hasFlag(_0x1e155c,'label')){const _0x513d86=_0x1e155c[_0x188db8(0x147)](_0x188db8(0x145))[_0x188db8(0x139)]();_0x4d3bbe[_0x188db8(0x145)]=_0x513d86,_0x490413['label']=_0x513d86;}if(hasFlag(_0x1e155c,'sort')){const _0xb8869=validateSort(_0x1e155c);_0x4d3bbe['sort']=_0xb8869,_0x490413['sort']=_0xb8869;}const _0xb141f6=sameRequestedState(_0x13a570,_0x490413),_0xca8bdb=_0xb141f6?[_0x188db8(0x137)]:[];return{'patch':_0x4d3bbe,'noChanges':_0xb141f6,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x44c182},'before':_0x13a570,'after':_0x490413,'dryRun':_0x3d59cd,'backend':[...BACKEND],'snapshotHash':_0x29aadd['hash'],'warnings':_0xca8bdb})};}function sameRequestedState(_0x534eba,_0x30dd02){const _0xd2dd29=a112_0xfde8c6;return _0x534eba[_0xd2dd29(0x145)]===_0x30dd02[_0xd2dd29(0x145)]&&_0x534eba['sort']===_0x30dd02[_0xd2dd29(0x143)];}function a112_0x27c0(_0x5f17d4,_0x42bb6c){_0x5f17d4=_0x5f17d4-0x134;const _0x5b5cdd=a112_0x5b5c();let _0x27c0fe=_0x5b5cdd[_0x5f17d4];return _0x27c0fe;}function verifyPatch(_0x305ed4,_0x2cf961){const _0x3fc3a5=a112_0xfde8c6;assertVerified(_0x305ed4[_0x3fc3a5(0x154)]==='folder',_0x3fc3a5(0x159)+_0x305ed4['id']+_0x3fc3a5(0x14c)),_0x2cf961[_0x3fc3a5(0x145)]!==undefined&&assertVerified(_0x305ed4[_0x3fc3a5(0x145)]===_0x2cf961[_0x3fc3a5(0x145)],'Folder\x20'+_0x305ed4['id']+_0x3fc3a5(0x14e)),_0x2cf961[_0x3fc3a5(0x143)]!==undefined&&assertVerified(_0x305ed4[_0x3fc3a5(0x143)]===_0x2cf961[_0x3fc3a5(0x143)],_0x3fc3a5(0x13b)+_0x305ed4['id']+_0x3fc3a5(0x156));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x555178,_0x5955d0){const _0x5dd2bf=a113_0xe091,_0x422ead=_0x555178();while(!![]){try{const _0x1e6c25=-parseInt(_0x5dd2bf(0x105))/0x1*(parseInt(_0x5dd2bf(0x10a))/0x2)+parseInt(_0x5dd2bf(0x103))/0x3+parseInt(_0x5dd2bf(0x10b))/0x4+-parseInt(_0x5dd2bf(0x109))/0x5+-parseInt(_0x5dd2bf(0x104))/0x6*(parseInt(_0x5dd2bf(0x108))/0x7)+parseInt(_0x5dd2bf(0x106))/0x8+-parseInt(_0x5dd2bf(0x107))/0x9;if(_0x1e6c25===_0x5955d0)break;else _0x422ead['push'](_0x422ead['shift']());}catch(_0x50cdf6){_0x422ead['push'](_0x422ead['shift']());}}}(a113_0x458c,0xf3b2c));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';function a113_0xe091(_0x4bdafa,_0x212e97){_0x4bdafa=_0x4bdafa-0x103;const _0x458c1d=a113_0x458c();let _0xe09143=_0x458c1d[_0x4bdafa];return _0xe09143;}import{menuMove}from'../../commands/menu/move.js';function a113_0x458c(){const _0x1397e4=['2609397zOGepc','7OAYylQ','9085170RrERts','6HAhZeP','5986968XnDjFy','3540258yBHSnc','1287222ZaUYQa','402463qleuze','14802024PtegPI'];a113_0x458c=function(){return _0x1397e4;};return a113_0x458c();}import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a114_0x522e(){const _0x5bc32a=['493242TPuBBl','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','\x20menu(s)','582568GUgKbQ','list','1046988PCCMwh','menu','total','boolean','verbose','84145FPVFnq','87696ofiCYt','hash','appCode','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','Found\x20','read','1043692jEdsYW','map','cookie','2621288TjKskE','2qDEOtm','No\x20menus\x20found.','bool','30CaIvpg'];a114_0x522e=function(){return _0x5bc32a;};return a114_0x522e();}const a114_0x3f790d=a114_0x2498;(function(_0x2b3791,_0x3a6187){const _0x544e9d=a114_0x2498,_0x75b0ad=_0x2b3791();while(!![]){try{const _0x120cf8=parseInt(_0x544e9d(0xbc))/0x1+parseInt(_0x544e9d(0xc6))/0x2*(parseInt(_0x544e9d(0xca))/0x3)+-parseInt(_0x544e9d(0xc2))/0x4+parseInt(_0x544e9d(0xbb))/0x5*(-parseInt(_0x544e9d(0xc9))/0x6)+parseInt(_0x544e9d(0xb4))/0x7+parseInt(_0x544e9d(0xc5))/0x8+-parseInt(_0x544e9d(0xb6))/0x9;if(_0x120cf8===_0x3a6187)break;else _0x75b0ad['push'](_0x75b0ad['shift']());}catch(_0x5080ca){_0x75b0ad['push'](_0x75b0ad['shift']());}}}(a114_0x522e,0x3137b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a114_0x2498(_0x122bd6,_0x4a90a8){_0x122bd6=_0x122bd6-0xb2;const _0x522ea2=a114_0x522e();let _0x249845=_0x522ea2[_0x122bd6];return _0x249845;}export const menuList={'service':a114_0x3f790d(0xb7),'command':a114_0x3f790d(0xb5),'description':a114_0x3f790d(0xb2),'risk':a114_0x3f790d(0xc1),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'verbose','type':a114_0x3f790d(0xb9),'description':a114_0x3f790d(0xbf)}],async 'execute'(_0x5d2b30){const _0x1f4c02=a114_0x3f790d,_0x385df5=_0x5d2b30[_0x1f4c02(0xc8)](_0x1f4c02(0xba)),_0x35c7fa=await fetchMenuSnapshot(_0x5d2b30[_0x1f4c02(0xbe)],_0x5d2b30[_0x1f4c02(0xc4)],{'verbose':_0x385df5});return{'ok':!![],'data':{'total':_0x35c7fa[_0x1f4c02(0xb8)],'snapshotHash':_0x35c7fa[_0x1f4c02(0xbd)],'menus':_0x35c7fa['menus'][_0x1f4c02(0xc3)](toMenuListItem)},'message':_0x35c7fa['total']===0x0?_0x1f4c02(0xc7):_0x1f4c02(0xc0)+_0x35c7fa[_0x1f4c02(0xb8)]+_0x1f4c02(0xb3)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0xf75fc9=a115_0x1651;(function(_0x2ba245,_0x3d4fe0){const _0x58edf6=a115_0x1651,_0x5ab0b6=_0x2ba245();while(!![]){try{const _0xb2df25=-parseInt(_0x58edf6(0x1a4))/0x1+parseInt(_0x58edf6(0x197))/0x2*(parseInt(_0x58edf6(0x1a5))/0x3)+-parseInt(_0x58edf6(0x190))/0x4+-parseInt(_0x58edf6(0x1a8))/0x5+parseInt(_0x58edf6(0x19f))/0x6+parseInt(_0x58edf6(0x181))/0x7+-parseInt(_0x58edf6(0x18d))/0x8*(-parseInt(_0x58edf6(0x189))/0x9);if(_0xb2df25===_0x3d4fe0)break;else _0x5ab0b6['push'](_0x5ab0b6['shift']());}catch(_0x11d9d1){_0x5ab0b6['push'](_0x5ab0b6['shift']());}}}(a115_0x32af,0x5df63));function a115_0x1651(_0x38dc35,_0x490e93){_0x38dc35=_0x38dc35-0x178;const _0x32af3c=a115_0x32af();let _0x165127=_0x32af3c[_0x38dc35];return _0x165127;}function a115_0x32af(){const _0x259edd=['menu_state_drift','3405300rwwIRt','move','type','\x20is\x20no\x20longer\x20a\x20leaf.','move-menu','496615jZsnIc','15774bknJBC','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','2971195TothKh','cookie','Move\x20request\x20for\x20menu\x20','expect-parent-id','parentId','menu','/smartapi/menu/update','menu_move_source_not_leaf','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','folder','182609qVYPKz','Moved\x20menu\x20','\x20parent\x20changed:\x20expected\x20','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Would\x20move\x20menu\x20','parent-id','Menu\x20','update','4131rqWBTb','write','failed','sort','16552eDFtXE','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','childrenCount','1427108ldBWmp','move\x20menu','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','hash',',\x20current\x20','menu\x20list','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','110PNaKNv','appCode','verify\x20menu\x20move','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','POST','\x20is\x20now\x20type\x20folder.','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root'];a115_0x32af=function(){return _0x259edd;};return a115_0x32af();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a115_0xf75fc9(0x19b),'path':a115_0xf75fc9(0x17d)}];export const menuMove={'service':a115_0xf75fc9(0x17c),'command':a115_0xf75fc9(0x1a0),'description':a115_0xf75fc9(0x19d),'risk':a115_0xf75fc9(0x18a),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x38389d){validateMoveInput(_0x38389d);},async 'dryRun'(_0x11331e){const _0x4481c3=a115_0xf75fc9,{plan:_0x1e742d,patch:_0x54b9f2}=await buildMovePlan(_0x11331e,!![]);return menuDryRunResult(_0x1e742d,{'method':_0x4481c3(0x19b),'url':'/smartapi/menu/update','body':{..._0x54b9f2,'appCode':_0x11331e[_0x4481c3(0x198)]},'description':_0x4481c3(0x185)+_0x54b9f2['id']+'.'});},async 'execute'(_0x5ff42e){const _0x24cb1e=a115_0xf75fc9;validateMoveInput(_0x5ff42e);const {plan:_0x6b1c21,patch:_0x36f1fa,noChanges:_0x4adbd6,snapshot:_0x5f434f}=await buildMovePlan(_0x5ff42e,![]),_0x5815c7=_0x36f1fa['id'];if(!_0x4adbd6)try{await updateMenuEntity(_0x5ff42e[_0x24cb1e(0x198)],_0x5ff42e[_0x24cb1e(0x178)],_0x36f1fa);}catch(_0x2f2be5){const _0x3b8a65=mapMenuApiError(_0x2f2be5,'move',_0x5815c7);throw menuFailure(_0x3b8a65,_0x6b1c21,{'stage':_0x24cb1e(0x188),'failed':{'id':_0x5815c7},'warnings':[_0x24cb1e(0x184)],'verification':{'status':_0x24cb1e(0x18b),'targetId':_0x5815c7,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}let _0x38d882,_0x355574;try{_0x38d882=_0x4adbd6?_0x5f434f:await fetchMenuSnapshot(_0x5ff42e[_0x24cb1e(0x198)],_0x5ff42e[_0x24cb1e(0x178)]),_0x355574=requireMenu(_0x38d882,_0x5815c7),verifyMove(_0x355574,_0x6b1c21['after']),_0x355574['parentId']!==null&&requireFolder(_0x38d882,_0x355574[_0x24cb1e(0x17b)]);}catch(_0x3e97bd){const _0x2abcec=describeMenuErrorCause(_0x3e97bd,_0x24cb1e(0x199),_0x5815c7),_0x1a91b0=asVerificationError(_0x3e97bd,_0x24cb1e(0x179)+_0x5815c7+_0x24cb1e(0x18e));throw menuFailure(_0x1a91b0,_0x6b1c21,{'stage':'verification','succeeded':[{'id':_0x5815c7,'updateRequested':!_0x4adbd6,'skipped':_0x4adbd6}],'failed':{'id':_0x5815c7,'requestedStateConfirmed':![],..._0x2abcec},'warnings':[_0x24cb1e(0x192)],'verification':{'status':_0x24cb1e(0x18b),'targetId':_0x5815c7,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x2ce050=mutationResult({..._0x6b1c21,'after':_0x355574,'dryRun':![],'succeeded':[{'id':_0x5815c7,'updated':!_0x4adbd6,'skipped':_0x4adbd6}],'verification':{'checkedBy':_0x24cb1e(0x195),'snapshotHash':_0x38d882[_0x24cb1e(0x193)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2ce050,'message':_0x4adbd6?_0x24cb1e(0x187)+_0x5815c7+_0x24cb1e(0x1a6):_0x24cb1e(0x182)+_0x5815c7+'.'};}};function validateMoveInput(_0x1b2863){const _0x277b5e=a115_0xf75fc9;validateExactId(_0x1b2863),parseParentId(_0x1b2863,_0x277b5e(0x186),{'required':!![]}),parseParentId(_0x1b2863,_0x277b5e(0x17a),{'required':!![]}),validateSort(_0x1b2863);}async function buildMovePlan(_0xa5c87a,_0x2f91fb){const _0x2d42ab=a115_0xf75fc9,_0x1477e8=validateExactId(_0xa5c87a),_0x5b584f=parseParentId(_0xa5c87a,_0x2d42ab(0x186),{'required':!![]}),_0x444922=parseParentId(_0xa5c87a,'expect-parent-id',{'required':!![]}),_0x181661=validateSort(_0xa5c87a),_0x69d24=await fetchMutationSnapshot(_0xa5c87a,_0x2d42ab(0x191),_0x1477e8),_0x970e5d=requireMenu(_0x69d24,_0x1477e8);if(_0x970e5d[_0x2d42ab(0x1a1)]==='folder'||_0x970e5d['childrenCount']!==0x0)throw menuError(_0x2d42ab(0x17e),'Menu\x20'+_0x1477e8+_0x2d42ab(0x19a),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x970e5d['parentId']!==_0x444922)throw menuError(_0x2d42ab(0x19e),_0x2d42ab(0x187)+_0x1477e8+_0x2d42ab(0x183)+formatParent(_0x444922)+_0x2d42ab(0x194)+formatParent(_0x970e5d['parentId'])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x5b584f!==null&&requireFolder(_0x69d24,_0x5b584f);const _0x5630e3=_0x181661??(_0x970e5d[_0x2d42ab(0x17b)]===_0x5b584f?_0x970e5d[_0x2d42ab(0x18c)]??0x0:nextSiblingSort(_0x69d24,_0x5b584f,'menu')),_0x249639={..._0x970e5d,'parentId':_0x5b584f,'sort':_0x5630e3},_0x57cd91={'id':_0x1477e8,'parentId':toApiParentId(_0x5b584f),'sort':_0x5630e3},_0xd6bda7=_0x970e5d[_0x2d42ab(0x17b)]===_0x5b584f&&_0x970e5d[_0x2d42ab(0x18c)]===_0x5630e3;return{'patch':_0x57cd91,'noChanges':_0xd6bda7,'snapshot':_0x69d24,'plan':mutationResult({'operation':_0x2d42ab(0x1a0),'selector':{'id':_0x1477e8,'parentId':_0x5b584f},'before':_0x970e5d,'after':_0x249639,'dryRun':_0x2f91fb,'backend':[...BACKEND],'plannedActions':[{'stage':_0x2d42ab(0x1a3),'method':'POST','path':_0x2d42ab(0x17d),'body':{..._0x57cd91,'appCode':_0xa5c87a['appCode']}}],'snapshotHash':_0x69d24[_0x2d42ab(0x193)],'warnings':_0xd6bda7?[_0x2d42ab(0x17f)]:[]})};}function verifyMove(_0x3058c7,_0x22cdda){const _0x33e50b=a115_0xf75fc9;assertVerified(_0x3058c7[_0x33e50b(0x1a1)]!==_0x33e50b(0x180),'Menu\x20'+_0x3058c7['id']+_0x33e50b(0x19c)),assertVerified(_0x3058c7[_0x33e50b(0x18f)]===0x0,_0x33e50b(0x187)+_0x3058c7['id']+_0x33e50b(0x1a2)),assertVerified(_0x3058c7[_0x33e50b(0x17b)]===_0x22cdda[_0x33e50b(0x17b)],_0x33e50b(0x187)+_0x3058c7['id']+_0x33e50b(0x1a7)),assertVerified(_0x3058c7[_0x33e50b(0x18c)]===_0x22cdda['sort'],_0x33e50b(0x187)+_0x3058c7['id']+_0x33e50b(0x196));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a116_0x1477ef=a116_0x17fd;(function(_0x2d04a0,_0x54eef9){const _0x3b74e7=a116_0x17fd,_0x5b1e6c=_0x2d04a0();while(!![]){try{const _0x4479b6=parseInt(_0x3b74e7(0x1c8))/0x1+parseInt(_0x3b74e7(0x1d3))/0x2+-parseInt(_0x3b74e7(0x1df))/0x3+parseInt(_0x3b74e7(0x1a3))/0x4*(parseInt(_0x3b74e7(0x19a))/0x5)+parseInt(_0x3b74e7(0x1e4))/0x6+-parseInt(_0x3b74e7(0x1a6))/0x7*(parseInt(_0x3b74e7(0x1b4))/0x8)+parseInt(_0x3b74e7(0x1a1))/0x9*(-parseInt(_0x3b74e7(0x192))/0xa);if(_0x4479b6===_0x54eef9)break;else _0x5b1e6c['push'](_0x5b1e6c['shift']());}catch(_0x5771d5){_0x5b1e6c['push'](_0x5b1e6c['shift']());}}}(a116_0x457d,0x8a76f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a116_0x457d(){const _0x1a512e=['warnings','17385fFkkAi','submit-regroup-task','length',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','menus','unconfirmed','validation','158616ZdgbGl','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','992EkCaVg','appCode','size','535773YUIqQL','split','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','some','/smartapi/menu/regroup','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','join','regroup-start','regroup-submit','\x27\x5c\x27\x27','Regroup\x20task\x20','menu\x20list','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','24COwjSS','filter','<platform-generated>','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','status','label','byId','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','input','menu-ids','Menu\x20','Regroup\x20readback\x20also\x20failed:\x20','trim','\x20menu\x20list\x20--appcode\x20','sort','menu_regroup_label_conflict','folder','parentId','menu','468495vMsKws','group','stringify','Label\x20of\x20the\x20new\x20root\x20folder','taskId','childrenCount','type','Root\x20folder\x20label\x20','isSafeInteger','replace','start\x20regroup','1663810cFguyi','message','toLowerCase','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','plan','menu_regroup_already_applied','menuIds','str','cookie','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','applied','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','2476833MYemva','\x20menus\x20per\x20regroup\x20request.','\x20--format\x20compress','hash','high-risk-write','2362530cCpEwG','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','isTerminal','get','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','SUCCESS','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','readbackError','Regroup\x20readback\x20failed:\x20','string','test','530DEFNCS','--menu-ids\x20supports\x20at\x20most\x20','POST','Menus\x20','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','map','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'];a116_0x457d=function(){return _0x1a512e;};return a116_0x457d();}import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a116_0x1477ef(0x1c7),'command':a116_0x1477ef(0x1ae),'description':'Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','risk':a116_0x1477ef(0x1e3),'structuredErrors':!![],'flags':[{'name':'label','type':a116_0x1477ef(0x190),'required':!![],'description':a116_0x1477ef(0x1cb)},{'name':a116_0x1477ef(0x1be),'type':a116_0x1477ef(0x190),'required':!![],'description':a116_0x1477ef(0x196)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3741d7){validateRegroupInput(_0x3741d7),requireExplicitYes(_0x3741d7);},async 'dryRun'(_0x2bc351){const _0x2edccf=a116_0x1477ef;validateRegroupInput(_0x2bc351);const _0x47e070=await buildRegroupPlan(_0x2bc351,!![]);return menuDryRunResult(_0x47e070[_0x2edccf(0x1d7)],{'method':'POST','url':_0x2edccf(0x1aa),'body':_0x47e070[_0x2edccf(0x1bd)],'description':_0x2edccf(0x198)+JSON['stringify'](_0x47e070['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x47e070[_0x2edccf(0x1d9)][_0x2edccf(0x1ad)](',\x20')+_0x2edccf(0x19d)});},async 'execute'(_0x5adfc3){const _0x44a064=a116_0x1477ef;validateRegroupInput(_0x5adfc3),requireExplicitYes(_0x5adfc3);const _0x4cce63=await buildRegroupPlan(_0x5adfc3,![]);await recheckMutationSnapshot(_0x5adfc3,_0x4cce63[_0x44a064(0x1d7)],_0x44a064(0x1d2));const _0x192dbf=buildMenuLookupCommand(_0x5adfc3[_0x44a064(0x1a4)]);let _0x4c6a66,_0x50b55b;try{_0x4c6a66=await startMenuRegroup(_0x5adfc3['cookie'],_0x4cce63[_0x44a064(0x1bd)]),_0x50b55b=normalizeAsyncTask(_0x4c6a66);}catch(_0x5cea88){const _0x5519a0=await inspectRegroupAfterFailure(_0x5adfc3[_0x44a064(0x1a4)],_0x5adfc3[_0x44a064(0x1db)],_0x4cce63[_0x44a064(0x1ba)],_0x4cce63[_0x44a064(0x1d9)]),_0xe8bc19=typeof _0x4c6a66?.[_0x44a064(0x1cc)]===_0x44a064(0x190)&&_0x4c6a66[_0x44a064(0x1cc)][_0x44a064(0x1c1)]()?_0x4c6a66[_0x44a064(0x1cc)][_0x44a064(0x1c1)]():null,_0x162024=_0xe8bc19?{'command':buildAsyncTaskStatusCommand(_0xe8bc19,_0x5adfc3[_0x44a064(0x1a4)])}:null,_0x418ab9=mapMenuApiError(_0x5cea88,'start\x20menu\x20regroup');throw menuFailure(_0x418ab9,_0x4cce63['plan'],{'stage':_0x44a064(0x1af),'failed':{'menuIds':_0x4cce63[_0x44a064(0x1d9)],'taskId':_0xe8bc19,'groupingApplied':_0x5519a0[_0x44a064(0x1dd)]?!![]:'unconfirmed'},'after':_0x5519a0['applied']??null,'warnings':[_0x44a064(0x1a8),..._0x5519a0[_0x44a064(0x1eb)]?[_0x44a064(0x1c0)+_0x5519a0['readbackError']]:[],..._0xe8bc19?[_0x44a064(0x1ab)]:[]],'verification':{'status':'failed','groupingApplied':_0x5519a0[_0x44a064(0x1dd)]?!![]:_0x44a064(0x19f),'taskId':_0xe8bc19,'query':_0x162024,'lookupCommand':_0x192dbf}});}const _0x4b58ba=buildAsyncTaskStatusCommand(_0x50b55b['taskId'],_0x5adfc3[_0x44a064(0x1a4)]);let _0xbe4dff=null,_0x233da9=null,_0x2f7959=null;try{_0xbe4dff=await fetchMenuSnapshot(_0x5adfc3[_0x44a064(0x1a4)],_0x5adfc3[_0x44a064(0x1db)]),_0x233da9=findAppliedRegroup(_0xbe4dff,_0x4cce63[_0x44a064(0x1ba)],_0x4cce63[_0x44a064(0x1d9)]);}catch(_0x21fc4a){_0x2f7959=_0x21fc4a instanceof Error?_0x21fc4a[_0x44a064(0x1d4)]:String(_0x21fc4a);}const _0x108c01=mutationResult({..._0x4cce63[_0x44a064(0x1d7)],'after':_0x233da9??null,'dryRun':![],'succeeded':[{'groupId':_0x233da9?.[_0x44a064(0x1c9)]['id']??null,'menuIds':_0x4cce63[_0x44a064(0x1d9)],'taskId':_0x50b55b['taskId'],'status':_0x50b55b[_0x44a064(0x1b9)],'groupingApplied':_0x233da9?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x44a064(0x1b2),'snapshotHash':_0xbe4dff?.[_0x44a064(0x1e2)]??null,'groupId':_0x233da9?.[_0x44a064(0x1c9)]['id']??null,'groupingApplied':_0x233da9?!![]:_0x44a064(0x19f),'readbackError':_0x2f7959,'lookupCommand':_0x192dbf},'warnings':[..._0x4cce63[_0x44a064(0x1d7)][_0x44a064(0x199)],...!_0x233da9?[unconfirmedRegroupWarning(_0x50b55b)]:[],..._0x2f7959?[_0x44a064(0x1ec)+_0x2f7959]:[]]}),_0x3e34e6=_0x50b55b[_0x44a064(0x1b9)]===_0x44a064(0x1e9)&&!_0x233da9?_0x44a064(0x1b1)+_0x50b55b[_0x44a064(0x1cc)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0x50b55b);return{'ok':!![],'message':_0x3e34e6,'data':{..._0x108c01,'task':_0x50b55b,'query':_0x50b55b[_0x44a064(0x1e6)]?null:{'command':_0x4b58ba}}};}};function validateRegroupInput(_0x27012c){const _0x9bec86=a116_0x1477ef;if(!_0x27012c[_0x9bec86(0x1da)](_0x9bec86(0x1ba))[_0x9bec86(0x1c1)]())throw CliErrors['flagMissing'](_0x9bec86(0x1ba));parseMenuIds(_0x27012c[_0x9bec86(0x1da)](_0x9bec86(0x1be)));}function parseMenuIds(_0x295e76){const _0xcfdf8e=a116_0x1477ef,_0x5e2f51=_0x295e76[_0xcfdf8e(0x1a7)](',')[_0xcfdf8e(0x197)](_0x462c21=>_0x462c21[_0xcfdf8e(0x1c1)]());if(_0x5e2f51[_0xcfdf8e(0x19c)]===0x0||_0x5e2f51[_0xcfdf8e(0x1a9)](_0x5313a6=>!_0x5313a6))throw CliErrors[_0xcfdf8e(0x1a0)](_0xcfdf8e(0x1b8));const _0x52df14=_0x5e2f51['map'](_0x772d7a=>{const _0x362bb5=_0xcfdf8e;if(!/^\d+$/[_0x362bb5(0x191)](_0x772d7a))throw CliErrors[_0x362bb5(0x1a0)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x3f5961=Number(_0x772d7a);if(!Number[_0x362bb5(0x1d0)](_0x3f5961)||_0x3f5961<=0x0)throw CliErrors[_0x362bb5(0x1a0)](_0x362bb5(0x1b8));return _0x3f5961;});if(new Set(_0x52df14)[_0xcfdf8e(0x1a5)]!==_0x52df14[_0xcfdf8e(0x19c)])throw CliErrors['validation'](_0xcfdf8e(0x1de));if(_0x52df14[_0xcfdf8e(0x19c)]>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0xcfdf8e(0x193)+MAX_REGROUP_MENU_COUNT+_0xcfdf8e(0x1e0));return _0x52df14;}function buildMenuLookupCommand(_0x1bcaa2){const _0x5ccdf3=a116_0x1477ef,_0x185e3a='\x27'+_0x1bcaa2[_0x5ccdf3(0x1d1)](/'/g,_0x5ccdf3(0x1b0))+'\x27';return CLI_BIN_NAME+_0x5ccdf3(0x1c2)+_0x185e3a+_0x5ccdf3(0x1e1);}function a116_0x17fd(_0x4888aa,_0xb158c7){_0x4888aa=_0x4888aa-0x190;const _0x457d0d=a116_0x457d();let _0x17fdb4=_0x457d0d[_0x4888aa];return _0x17fdb4;}function unconfirmedRegroupWarning(_0x333e58){const _0x393a4b=a116_0x1477ef;if(_0x333e58[_0x393a4b(0x1b9)]===_0x393a4b(0x1e9))return _0x393a4b(0x1e8);if(_0x333e58[_0x393a4b(0x1b9)]==='FAILED')return _0x393a4b(0x1ac);if(_0x333e58['knownStatus'])return _0x393a4b(0x1ea);return _0x393a4b(0x1a2);}async function buildRegroupPlan(_0x2d1c5e,_0x45645d){const _0x5ca33e=a116_0x1477ef,_0x5343a8=_0x2d1c5e[_0x5ca33e(0x1da)]('label')[_0x5ca33e(0x1c1)](),_0x5d59ce=parseMenuIds(_0x2d1c5e[_0x5ca33e(0x1da)]('menu-ids')),_0x167a10=await fetchMutationSnapshot(_0x2d1c5e,'plan\x20regroup'),_0x54c8a5=_0x5d59ce[_0x5ca33e(0x197)](_0x57537b=>requireMenu(_0x167a10,_0x57537b));for(const _0x4d99f8 of _0x54c8a5){if(_0x4d99f8[_0x5ca33e(0x1ce)]['trim']()['toLowerCase']()===_0x5ca33e(0x1c5)||_0x4d99f8[_0x5ca33e(0x1cd)]>0x0)throw menuError('menu_regroup_target_not_leaf',_0x5ca33e(0x1bf)+_0x4d99f8['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0x5ca33e(0x1dc));if(!_0x4d99f8[_0x5ca33e(0x1ba)][_0x5ca33e(0x1c1)]())throw menuError('menu_regroup_target_label_missing','Menu\x20'+_0x4d99f8['id']+'\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.',_0x5ca33e(0x1b3));}const _0x599a61=findAppliedRegroup(_0x167a10,_0x5343a8,_0x5d59ce);if(_0x599a61)throw menuError(_0x5ca33e(0x1d8),_0x5ca33e(0x195)+_0x5d59ce[_0x5ca33e(0x1ad)](',\x20')+_0x5ca33e(0x1bc)+_0x599a61['group']['id']+'\x20('+JSON[_0x5ca33e(0x1ca)](_0x5343a8)+').',_0x5ca33e(0x1d6));const _0x4aab89=_0x167a10[_0x5ca33e(0x19e)]['filter'](_0x551b94=>_0x551b94[_0x5ca33e(0x1c6)]==null&&_0x551b94[_0x5ca33e(0x1ce)]['trim']()[_0x5ca33e(0x1d5)]()===_0x5ca33e(0x1c5)&&_0x551b94[_0x5ca33e(0x1ba)]===_0x5343a8);if(_0x4aab89[_0x5ca33e(0x19c)]>0x0)throw menuError(_0x5ca33e(0x1c4),_0x5ca33e(0x1cf)+JSON[_0x5ca33e(0x1ca)](_0x5343a8)+_0x5ca33e(0x1b7)+_0x4aab89[_0x5ca33e(0x197)](_0x3c6eb3=>_0x3c6eb3['id'])[_0x5ca33e(0x1ad)](',\x20')+'.',_0x5ca33e(0x1e5));const _0x209824={'appCode':_0x2d1c5e['appCode'],'menuGroups':[{'label':_0x5343a8,'type':_0x5ca33e(0x1c5),'children':_0x54c8a5['map'](_0x41195a=>({'id':_0x41195a['id'],'label':_0x41195a['label']}))}]},_0x22108b=mutationResult({'operation':_0x5ca33e(0x1ae),'selector':{'label':_0x5343a8,'menuIds':_0x5d59ce},'before':{'menus':_0x54c8a5},'after':{'group':{'id':null,'parentId':null,'label':_0x5343a8,'path':_0x5ca33e(0x1b6),'type':_0x5ca33e(0x1c5),'childrenIds':_0x5d59ce},'children':_0x54c8a5['map'](_0xbf8852=>({'id':_0xbf8852['id'],'label':_0xbf8852[_0x5ca33e(0x1ba)],'beforeParentId':_0xbf8852['parentId'],'afterParentId':'<new-group-id>'}))},'dryRun':_0x45645d,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5ca33e(0x19b),'method':_0x5ca33e(0x194),'path':'/smartapi/menu/regroup','body':_0x209824}],'snapshotHash':_0x167a10[_0x5ca33e(0x1e2)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.']});return{'label':_0x5343a8,'menuIds':_0x5d59ce,'input':_0x209824,'plan':_0x22108b};}function findAppliedRegroup(_0x94899e,_0x3013ce,_0x259630){const _0x4f606f=a116_0x1477ef,_0xb5665a=_0x259630[_0x4f606f(0x197)](_0x313135=>_0x94899e[_0x4f606f(0x1bb)][_0x4f606f(0x1e7)](_0x313135))[_0x4f606f(0x1b5)](_0x2e789f=>Boolean(_0x2e789f));if(_0xb5665a[_0x4f606f(0x19c)]!==_0x259630[_0x4f606f(0x19c)])return null;const _0x58746d=_0xb5665a[0x0]?.[_0x4f606f(0x1c6)];if(_0x58746d==null||_0xb5665a['some'](_0x7f94a4=>_0x7f94a4['parentId']!==_0x58746d))return null;const _0x5475da=_0x94899e[_0x4f606f(0x1bb)][_0x4f606f(0x1e7)](_0x58746d);if(!_0x5475da||_0x5475da['parentId']!=null||_0x5475da[_0x4f606f(0x1ce)][_0x4f606f(0x1c1)]()[_0x4f606f(0x1d5)]()!=='folder'||_0x5475da[_0x4f606f(0x1ba)]!==_0x3013ce)return null;const _0x54626e=[..._0x259630][_0x4f606f(0x1c3)]((_0x5262fb,_0x3f8af4)=>_0x5262fb-_0x3f8af4),_0x41c5df=[..._0x5475da['childrenIds']]['sort']((_0x158764,_0x498a59)=>_0x158764-_0x498a59);if(JSON[_0x4f606f(0x1ca)](_0x41c5df)!==JSON[_0x4f606f(0x1ca)](_0x54626e))return null;return{'group':_0x5475da,'children':_0xb5665a};}async function inspectRegroupAfterFailure(_0x159353,_0x48f177,_0x29df85,_0x21a5c6){const _0x193dec=a116_0x1477ef;try{const _0x55332d=await fetchMenuSnapshot(_0x159353,_0x48f177);return{'applied':findAppliedRegroup(_0x55332d,_0x29df85,_0x21a5c6),'readbackError':null};}catch(_0x15c2bf){return{'applied':null,'readbackError':_0x15c2bf instanceof Error?_0x15c2bf[_0x193dec(0x1d4)]:String(_0x15c2bf)};}}
|
|
1
|
+
const a116_0x4ca9dc=a116_0x12f7;(function(_0x1e5b1f,_0x4abf12){const _0x185cdb=a116_0x12f7,_0x24fafd=_0x1e5b1f();while(!![]){try{const _0x399f63=parseInt(_0x185cdb(0x227))/0x1*(-parseInt(_0x185cdb(0x1f3))/0x2)+parseInt(_0x185cdb(0x23a))/0x3+parseInt(_0x185cdb(0x22e))/0x4+parseInt(_0x185cdb(0x1fd))/0x5+-parseInt(_0x185cdb(0x1ef))/0x6*(parseInt(_0x185cdb(0x228))/0x7)+-parseInt(_0x185cdb(0x230))/0x8+-parseInt(_0x185cdb(0x1e6))/0x9*(-parseInt(_0x185cdb(0x217))/0xa);if(_0x399f63===_0x4abf12)break;else _0x24fafd['push'](_0x24fafd['shift']());}catch(_0x54ef6d){_0x24fafd['push'](_0x24fafd['shift']());}}}(a116_0x3d6d,0x3bec8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';function a116_0x12f7(_0x27acb2,_0x1ef412){_0x27acb2=_0x27acb2-0x1d8;const _0x3d6d2a=a116_0x3d6d();let _0x12f78a=_0x3d6d2a[_0x27acb2];return _0x12f78a;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a116_0x4ca9dc(0x229),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a116_0x4ca9dc(0x214),'command':'regroup-start','description':a116_0x4ca9dc(0x232),'risk':'high-risk-write','structuredErrors':!![],'flags':[{'name':a116_0x4ca9dc(0x1fa),'type':a116_0x4ca9dc(0x1f6),'required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a116_0x4ca9dc(0x1df),'type':a116_0x4ca9dc(0x1f6),'required':!![],'description':a116_0x4ca9dc(0x1ff)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1ebf6d){validateRegroupInput(_0x1ebf6d),requireExplicitYes(_0x1ebf6d);},async 'dryRun'(_0x4acf0e){const _0x24f03b=a116_0x4ca9dc;validateRegroupInput(_0x4acf0e);const _0x3ea82e=await buildRegroupPlan(_0x4acf0e,!![]);return menuDryRunResult(_0x3ea82e[_0x24f03b(0x20e)],{'method':_0x24f03b(0x229),'url':_0x24f03b(0x20f),'body':_0x3ea82e[_0x24f03b(0x22d)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON['stringify'](_0x3ea82e[_0x24f03b(0x1fa)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x3ea82e[_0x24f03b(0x1e3)][_0x24f03b(0x239)](',\x20')+_0x24f03b(0x207)});},async 'execute'(_0x183ad6){const _0x35a5ce=a116_0x4ca9dc;validateRegroupInput(_0x183ad6),requireExplicitYes(_0x183ad6);const _0x2ea2f9=await buildRegroupPlan(_0x183ad6,![]);await recheckMutationSnapshot(_0x183ad6,_0x2ea2f9[_0x35a5ce(0x20e)],_0x35a5ce(0x233));const _0x45b431=buildMenuLookupCommand(_0x183ad6['appCode']);let _0x274416,_0x12ad4b;try{_0x274416=await startMenuRegroup(_0x183ad6['cookie'],_0x2ea2f9['input']),_0x12ad4b=normalizeAsyncTask(_0x274416);}catch(_0x4586c6){const _0x56f21c=await inspectRegroupAfterFailure(_0x183ad6[_0x35a5ce(0x22b)],_0x183ad6[_0x35a5ce(0x20c)],_0x2ea2f9[_0x35a5ce(0x1fa)],_0x2ea2f9[_0x35a5ce(0x1e3)]),_0x2a07d5=typeof _0x274416?.[_0x35a5ce(0x1fb)]===_0x35a5ce(0x1f6)&&_0x274416[_0x35a5ce(0x1fb)]['trim']()?_0x274416['taskId'][_0x35a5ce(0x1eb)]():null,_0x40a83a=_0x2a07d5?{'command':buildAsyncTaskStatusCommand(_0x2a07d5,_0x183ad6[_0x35a5ce(0x22b)])}:null,_0x4cc30c=mapMenuApiError(_0x4586c6,_0x35a5ce(0x221));throw menuFailure(_0x4cc30c,_0x2ea2f9[_0x35a5ce(0x20e)],{'stage':_0x35a5ce(0x206),'failed':{'menuIds':_0x2ea2f9[_0x35a5ce(0x1e3)],'taskId':_0x2a07d5,'groupingApplied':_0x56f21c[_0x35a5ce(0x1fe)]?!![]:_0x35a5ce(0x1f7)},'after':_0x56f21c[_0x35a5ce(0x1fe)]??null,'warnings':[_0x35a5ce(0x21f),..._0x56f21c[_0x35a5ce(0x21a)]?[_0x35a5ce(0x235)+_0x56f21c['readbackError']]:[],..._0x2a07d5?[_0x35a5ce(0x226)]:[]],'verification':{'status':_0x35a5ce(0x1e5),'groupingApplied':_0x56f21c[_0x35a5ce(0x1fe)]?!![]:_0x35a5ce(0x1f7),'taskId':_0x2a07d5,'query':_0x40a83a,'lookupCommand':_0x45b431}});}const _0xe6b2d9=buildAsyncTaskStatusCommand(_0x12ad4b['taskId'],_0x183ad6[_0x35a5ce(0x22b)]);let _0x405bea=null,_0x3b39b2=null,_0x4c855d=null;try{_0x405bea=await fetchMenuSnapshot(_0x183ad6['appCode'],_0x183ad6['cookie']),_0x3b39b2=findAppliedRegroup(_0x405bea,_0x2ea2f9[_0x35a5ce(0x1fa)],_0x2ea2f9[_0x35a5ce(0x1e3)]);}catch(_0x3c588d){_0x4c855d=_0x3c588d instanceof Error?_0x3c588d[_0x35a5ce(0x1f8)]:String(_0x3c588d);}const _0x4467e1=mutationResult({..._0x2ea2f9['plan'],'after':_0x3b39b2??null,'dryRun':![],'succeeded':[{'groupId':_0x3b39b2?.['group']['id']??null,'menuIds':_0x2ea2f9[_0x35a5ce(0x1e3)],'taskId':_0x12ad4b[_0x35a5ce(0x1fb)],'status':_0x12ad4b['status'],'groupingApplied':_0x3b39b2?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x35a5ce(0x1f5),'snapshotHash':_0x405bea?.['hash']??null,'groupId':_0x3b39b2?.[_0x35a5ce(0x1f1)]['id']??null,'groupingApplied':_0x3b39b2?!![]:_0x35a5ce(0x1f7),'readbackError':_0x4c855d,'lookupCommand':_0x45b431},'warnings':[..._0x2ea2f9[_0x35a5ce(0x20e)][_0x35a5ce(0x1e8)],...!_0x3b39b2?[unconfirmedRegroupWarning(_0x12ad4b)]:[],..._0x4c855d?['Regroup\x20readback\x20failed:\x20'+_0x4c855d]:[]]}),_0x46c383=_0x12ad4b['status']==='SUCCESS'&&!_0x3b39b2?_0x35a5ce(0x218)+_0x12ad4b[_0x35a5ce(0x1fb)]+_0x35a5ce(0x1ea):'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0x12ad4b);return{'ok':!![],'message':_0x46c383,'data':{..._0x4467e1,'task':_0x12ad4b,'query':_0x12ad4b[_0x35a5ce(0x1e4)]?null:{'command':_0xe6b2d9}}};}};function validateRegroupInput(_0x1b2e8c){const _0x3a74bb=a116_0x4ca9dc;if(!_0x1b2e8c['str'](_0x3a74bb(0x1fa))[_0x3a74bb(0x1eb)]())throw CliErrors[_0x3a74bb(0x202)](_0x3a74bb(0x1fa));parseMenuIds(_0x1b2e8c['str'](_0x3a74bb(0x1df)));}function parseMenuIds(_0x1f5eff){const _0x36f3f4=a116_0x4ca9dc,_0x3086d5=_0x1f5eff[_0x36f3f4(0x208)](',')['map'](_0x671997=>_0x671997[_0x36f3f4(0x1eb)]());if(_0x3086d5[_0x36f3f4(0x1e2)]===0x0||_0x3086d5['some'](_0x504f7e=>!_0x504f7e))throw CliErrors[_0x36f3f4(0x216)](_0x36f3f4(0x223));const _0x407ee0=_0x3086d5[_0x36f3f4(0x20d)](_0x4a380f=>{const _0x4d5f4b=_0x36f3f4;if(!/^\d+$/[_0x4d5f4b(0x21b)](_0x4a380f))throw CliErrors[_0x4d5f4b(0x216)](_0x4d5f4b(0x223));const _0x25c1de=Number(_0x4a380f);if(!Number[_0x4d5f4b(0x204)](_0x25c1de)||_0x25c1de<=0x0)throw CliErrors['validation'](_0x4d5f4b(0x223));return _0x25c1de;});if(new Set(_0x407ee0)[_0x36f3f4(0x1e1)]!==_0x407ee0[_0x36f3f4(0x1e2)])throw CliErrors[_0x36f3f4(0x216)](_0x36f3f4(0x209));if(_0x407ee0[_0x36f3f4(0x1e2)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x36f3f4(0x216)](_0x36f3f4(0x20a)+MAX_REGROUP_MENU_COUNT+_0x36f3f4(0x1e7));return _0x407ee0;}function buildMenuLookupCommand(_0x1d7009){const _0x211928=a116_0x4ca9dc,_0x996cc8='\x27'+_0x1d7009[_0x211928(0x213)](/'/g,'\x27\x5c\x27\x27')+'\x27';return CLI_BIN_NAME+_0x211928(0x1f0)+_0x996cc8+'\x20--format\x20compress';}function a116_0x3d6d(){const _0x2346b7=['cookie','map','plan','/smartapi/menu/regroup','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','replace','menu','Menus\x20','validation','22450dmWXFm','Regroup\x20task\x20','Root\x20folder\x20label\x20','readbackError','test','menu_regroup_target_label_missing','menu_regroup_label_conflict','stringify','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','menus','start\x20menu\x20regroup','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','FAILED','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','80bwzyuj','7lRTJST','POST','submit-regroup-task','appCode','status','input','640576JvJYuY','hash','3876016RUwoAD','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','start\x20regroup','regroup-start','Regroup\x20readback\x20also\x20failed:\x20','menu_regroup_already_applied','type','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','join','2220dvFagr','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','byId','parentId','filter','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','childrenIds','menu-ids','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','size','length','menuIds','isTerminal','failed','4401NLFlTh','\x20menus\x20per\x20regroup\x20request.','warnings','<new-group-id>','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','trim','sort','some','folder','1100058txCWCP','\x20menu\x20list\x20--appcode\x20','group','SUCCESS','11056cOPNDY','menu_regroup_target_not_leaf','menu\x20list','string','unconfirmed','message','childrenCount','label','taskId','Menu\x20','484220MYUhEe','applied','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','toLowerCase','str','flagMissing','<platform-generated>','isSafeInteger','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','regroup-submit',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','split','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','--menu-ids\x20supports\x20at\x20most\x20','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.'];a116_0x3d6d=function(){return _0x2346b7;};return a116_0x3d6d();}function unconfirmedRegroupWarning(_0xbd586e){const _0x37c16c=a116_0x4ca9dc;if(_0xbd586e[_0x37c16c(0x22c)]===_0x37c16c(0x1f2))return _0x37c16c(0x1e0);if(_0xbd586e['status']===_0x37c16c(0x224))return _0x37c16c(0x225);if(_0xbd586e['knownStatus'])return _0x37c16c(0x1dc);return _0x37c16c(0x238);}async function buildRegroupPlan(_0x4a6352,_0x29234e){const _0xfe1d97=a116_0x4ca9dc,_0x38a19f=_0x4a6352['str'](_0xfe1d97(0x1fa))[_0xfe1d97(0x1eb)](),_0x9bd506=parseMenuIds(_0x4a6352[_0xfe1d97(0x201)]('menu-ids')),_0xdfcd96=await fetchMutationSnapshot(_0x4a6352,'plan\x20regroup'),_0x423cb3=_0x9bd506[_0xfe1d97(0x20d)](_0x2d5f09=>requireMenu(_0xdfcd96,_0x2d5f09));for(const _0x55aed5 of _0x423cb3){if(_0x55aed5[_0xfe1d97(0x237)][_0xfe1d97(0x1eb)]()['toLowerCase']()==='folder'||_0x55aed5[_0xfe1d97(0x1f9)]>0x0)throw menuError(_0xfe1d97(0x1f4),_0xfe1d97(0x1fc)+_0x55aed5['id']+_0xfe1d97(0x222),_0xfe1d97(0x20b));if(!_0x55aed5['label'][_0xfe1d97(0x1eb)]())throw menuError(_0xfe1d97(0x21c),_0xfe1d97(0x1fc)+_0x55aed5['id']+_0xfe1d97(0x205),_0xfe1d97(0x1d8));}const _0xf3f83a=findAppliedRegroup(_0xdfcd96,_0x38a19f,_0x9bd506);if(_0xf3f83a)throw menuError(_0xfe1d97(0x236),_0xfe1d97(0x215)+_0x9bd506[_0xfe1d97(0x239)](',\x20')+_0xfe1d97(0x231)+_0xf3f83a['group']['id']+'\x20('+JSON[_0xfe1d97(0x21e)](_0x38a19f)+').',_0xfe1d97(0x1dd));const _0x2ab449=_0xdfcd96[_0xfe1d97(0x220)][_0xfe1d97(0x1db)](_0x231f7d=>_0x231f7d[_0xfe1d97(0x1da)]==null&&_0x231f7d[_0xfe1d97(0x237)][_0xfe1d97(0x1eb)]()[_0xfe1d97(0x200)]()===_0xfe1d97(0x1ee)&&_0x231f7d[_0xfe1d97(0x1fa)]===_0x38a19f);if(_0x2ab449[_0xfe1d97(0x1e2)]>0x0)throw menuError(_0xfe1d97(0x21d),_0xfe1d97(0x219)+JSON[_0xfe1d97(0x21e)](_0x38a19f)+_0xfe1d97(0x212)+_0x2ab449[_0xfe1d97(0x20d)](_0x4aac9c=>_0x4aac9c['id'])[_0xfe1d97(0x239)](',\x20')+'.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.');const _0x1e894e={'appCode':_0x4a6352[_0xfe1d97(0x22b)],'menuGroups':[{'label':_0x38a19f,'type':_0xfe1d97(0x1ee),'children':_0x423cb3[_0xfe1d97(0x20d)](_0xc78420=>({'id':_0xc78420['id'],'label':_0xc78420['label']}))}]},_0x42224f=mutationResult({'operation':_0xfe1d97(0x234),'selector':{'label':_0x38a19f,'menuIds':_0x9bd506},'before':{'menus':_0x423cb3},'after':{'group':{'id':null,'parentId':null,'label':_0x38a19f,'path':_0xfe1d97(0x203),'type':_0xfe1d97(0x1ee),'childrenIds':_0x9bd506},'children':_0x423cb3[_0xfe1d97(0x20d)](_0x287492=>({'id':_0x287492['id'],'label':_0x287492[_0xfe1d97(0x1fa)],'beforeParentId':_0x287492[_0xfe1d97(0x1da)],'afterParentId':_0xfe1d97(0x1e9)}))},'dryRun':_0x29234e,'backend':[...BACKEND],'plannedActions':[{'stage':_0xfe1d97(0x22a),'method':'POST','path':_0xfe1d97(0x20f),'body':_0x1e894e}],'snapshotHash':_0xdfcd96[_0xfe1d97(0x22f)],'warnings':[_0xfe1d97(0x211),_0xfe1d97(0x210)]});return{'label':_0x38a19f,'menuIds':_0x9bd506,'input':_0x1e894e,'plan':_0x42224f};}function findAppliedRegroup(_0x6c1ecf,_0x3bed95,_0x177a3a){const _0x51e6ba=a116_0x4ca9dc,_0x58920f=_0x177a3a[_0x51e6ba(0x20d)](_0x532ed1=>_0x6c1ecf[_0x51e6ba(0x1d9)]['get'](_0x532ed1))[_0x51e6ba(0x1db)](_0xd4f05e=>Boolean(_0xd4f05e));if(_0x58920f[_0x51e6ba(0x1e2)]!==_0x177a3a['length'])return null;const _0x42307b=_0x58920f[0x0]?.['parentId'];if(_0x42307b==null||_0x58920f[_0x51e6ba(0x1ed)](_0x5a56b6=>_0x5a56b6[_0x51e6ba(0x1da)]!==_0x42307b))return null;const _0x21ff30=_0x6c1ecf[_0x51e6ba(0x1d9)]['get'](_0x42307b);if(!_0x21ff30||_0x21ff30[_0x51e6ba(0x1da)]!=null||_0x21ff30[_0x51e6ba(0x237)][_0x51e6ba(0x1eb)]()[_0x51e6ba(0x200)]()!=='folder'||_0x21ff30[_0x51e6ba(0x1fa)]!==_0x3bed95)return null;const _0x53454e=[..._0x177a3a][_0x51e6ba(0x1ec)]((_0x42abea,_0x249ba1)=>_0x42abea-_0x249ba1),_0x5e027c=[..._0x21ff30[_0x51e6ba(0x1de)]]['sort']((_0x12f440,_0x3c16bf)=>_0x12f440-_0x3c16bf);if(JSON[_0x51e6ba(0x21e)](_0x5e027c)!==JSON[_0x51e6ba(0x21e)](_0x53454e))return null;return{'group':_0x21ff30,'children':_0x58920f};}async function inspectRegroupAfterFailure(_0x179eae,_0x25f491,_0x5d8887,_0x380047){try{const _0x2c9ec1=await fetchMenuSnapshot(_0x179eae,_0x25f491);return{'applied':findAppliedRegroup(_0x2c9ec1,_0x5d8887,_0x380047),'readbackError':null};}catch(_0x1eef2f){return{'applied':null,'readbackError':_0x1eef2f instanceof Error?_0x1eef2f['message']:String(_0x1eef2f)};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a117_0x3d82fc=a117_0x3376;(function(_0x305d42,_0x27e0ff){const _0x4771cc=a117_0x3376,_0x653f15=_0x305d42();while(!![]){try{const _0x42096e=-parseInt(_0x4771cc(0x105))/0x1*(parseInt(_0x4771cc(0xea))/0x2)+-parseInt(_0x4771cc(0xd7))/0x3*(parseInt(_0x4771cc(0x10a))/0x4)+-parseInt(_0x4771cc(0xcf))/0x5*(-parseInt(_0x4771cc(0xe1))/0x6)+-parseInt(_0x4771cc(0x10d))/0x7*(-parseInt(_0x4771cc(0xf8))/0x8)+parseInt(_0x4771cc(0xee))/0x9*(-parseInt(_0x4771cc(0xf5))/0xa)+-parseInt(_0x4771cc(0x108))/0xb*(parseInt(_0x4771cc(0xf6))/0xc)+parseInt(_0x4771cc(0xc6))/0xd;if(_0x42096e===_0x27e0ff)break;else _0x653f15['push'](_0x653f15['shift']());}catch(_0x54830e){_0x653f15['push'](_0x653f15['shift']());}}}(a117_0xf747,0xdd4fe));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a117_0x3d82fc(0x103),'path':a117_0x3d82fc(0xe9)}];export const menuRename={'service':a117_0x3d82fc(0x109),'command':a117_0x3d82fc(0xf1),'description':'Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','risk':a117_0x3d82fc(0xd6),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a117_0x3d82fc(0x101),'type':a117_0x3d82fc(0xf0),'required':!![],'description':'New\x20menu\x20label'},{'name':a117_0x3d82fc(0xcb),'type':a117_0x3d82fc(0xf0),'required':!![],'description':a117_0x3d82fc(0xbf)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x105c08){validateInput(_0x105c08);},async 'dryRun'(_0x386af4){const _0x5f0369=a117_0x3d82fc;validateInput(_0x386af4);const _0xe91013=await buildPlan(_0x386af4,!![]);return menuDryRunResult(_0xe91013['plan'],{'method':_0x5f0369(0x103),'url':'/smartapi/menu/update','body':_0xe91013[_0x5f0369(0xbe)],'description':_0x5f0369(0xd9)+_0xe91013[_0x5f0369(0xbe)]['id']+'.'});},async 'execute'(_0x84fca0){const _0x5329a0=a117_0x3d82fc;validateInput(_0x84fca0);const _0x4d32a6=await buildPlan(_0x84fca0,![]),{plan:_0x41f903,body:_0x2c057f,before:_0x17012e,noChanges:_0xcc655d}=_0x4d32a6,_0x3549c7=_0x2c057f['id'];if(_0xcc655d)return renameSuccess(_0x41f903,_0x4d32a6[_0x5329a0(0xe5)],_0x17012e,!![],![]);await recheckMutationSnapshot(_0x84fca0,_0x41f903,_0x5329a0(0xe7),_0x3549c7);try{await updateMenuEntity(_0x84fca0[_0x5329a0(0xd0)],_0x84fca0[_0x5329a0(0xec)],{'id':_0x3549c7,'label':_0x2c057f[_0x5329a0(0x101)]});}catch(_0x19b7e1){const _0x1a10bf=mapMenuApiError(_0x19b7e1,_0x5329a0(0xf1),_0x3549c7);if(isMenuResponseLoss(_0x19b7e1)&&_0x1a10bf[_0x5329a0(0xc5)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x84fca0,_0x4d32a6);throw menuFailure(_0x1a10bf,_0x41f903,{'stage':'update','failed':{'id':_0x3549c7},'warnings':[_0x5329a0(0xda)],'verification':{'status':'failed','targetId':_0x3549c7,'lookupCommand':buildLookupCommand(_0x84fca0[_0x5329a0(0xd0)])}});}let _0x4085fe,_0x174ad1;try{_0x4085fe=await fetchMenuSnapshot(_0x84fca0['appCode'],_0x84fca0['cookie']),_0x174ad1=requireMenu(_0x4085fe,_0x3549c7),verifyRenamedFact(_0x17012e,_0x174ad1,_0x2c057f['label']);}catch(_0x4fe8c5){const _0x244d80=describeMenuErrorCause(_0x4fe8c5,'verify\x20menu\x20rename',_0x3549c7),_0x3daeb2=asVerificationError(_0x4fe8c5,_0x5329a0(0x10b)+_0x3549c7+_0x5329a0(0xe3));throw menuFailure(_0x3daeb2,_0x41f903,{'stage':_0x5329a0(0xd5),'succeeded':[{'id':_0x3549c7,'updateRequested':!![]}],'failed':{'id':_0x3549c7,'requestedStateConfirmed':![],..._0x244d80},'warnings':[_0x5329a0(0xe0)],'verification':{'status':_0x5329a0(0xc0),'targetId':_0x3549c7,'lookupCommand':buildLookupCommand(_0x84fca0[_0x5329a0(0xd0)])}});}return renameSuccess(_0x41f903,_0x4085fe,_0x174ad1,![],![]);}};function validateInput(_0x316bf1){const _0xcc0fc1=a117_0x3d82fc;validateExactId(_0x316bf1);if(!_0x316bf1[_0xcc0fc1(0xdf)](_0xcc0fc1(0x101))[_0xcc0fc1(0xfe)]())throw CliErrors[_0xcc0fc1(0xc7)]('--label\x20cannot\x20be\x20empty.');if(!_0x316bf1[_0xcc0fc1(0xdf)](_0xcc0fc1(0xcb))[_0xcc0fc1(0xfe)]())throw CliErrors[_0xcc0fc1(0xf7)](_0xcc0fc1(0xcb));}async function buildPlan(_0x257c1f,_0x292614){const _0x312214=a117_0x3d82fc,_0xd95bb1=validateExactId(_0x257c1f),_0x2c6e94=_0x257c1f[_0x312214(0xdf)]('label')[_0x312214(0xfe)](),_0x45a290=_0x257c1f[_0x312214(0xdf)](_0x312214(0xcb)),_0x129aee=await fetchMutationSnapshot(_0x257c1f,_0x312214(0xe7),_0xd95bb1),_0x5a77da=requireMenu(_0x129aee,_0xd95bb1);if(_0x5a77da[_0x312214(0x101)]!==_0x45a290)throw menuError('menu_state_drift','Menu\x20'+_0xd95bb1+_0x312214(0xf4)+JSON[_0x312214(0xe4)](_0x45a290)+_0x312214(0xc8)+JSON[_0x312214(0xe4)](_0x5a77da['label'])+'.',_0x312214(0xe8));const _0x1beeac={'id':_0xd95bb1,'appCode':_0x257c1f[_0x312214(0xd0)],'label':_0x2c6e94},_0x1a0702={..._0x5a77da,'label':_0x2c6e94},_0x28e833=_0x5a77da['label']===_0x2c6e94,_0x316830=_0x28e833?[]:[{'stage':'rename-menu','method':_0x312214(0x103),'path':_0x312214(0xe9),'body':_0x1beeac}];return{'snapshot':_0x129aee,'before':_0x5a77da,'body':_0x1beeac,'noChanges':_0x28e833,'plan':mutationResult({'operation':'rename','selector':{'id':_0xd95bb1},'before':_0x5a77da,'after':_0x1a0702,'dryRun':_0x292614,'backend':[...BACKEND],'plannedActions':_0x316830,'snapshotHash':_0x129aee[_0x312214(0x10e)],'warnings':_0x28e833?[_0x312214(0xfb)]:[]})};}function verifyRenamedFact(_0x3ae7e7,_0x18e8d3,_0x380fc3){const _0x2fbca2=a117_0x3d82fc,_0x404022=[['id',_0x18e8d3['id'],_0x3ae7e7['id']],[_0x2fbca2(0xf2),_0x18e8d3[_0x2fbca2(0xf2)],_0x3ae7e7[_0x2fbca2(0xf2)]],[_0x2fbca2(0xf9),_0x18e8d3[_0x2fbca2(0xf9)],_0x3ae7e7['depth']],[_0x2fbca2(0xed),_0x18e8d3['path'],_0x3ae7e7[_0x2fbca2(0xed)]],[_0x2fbca2(0xce),_0x18e8d3[_0x2fbca2(0xce)],_0x3ae7e7[_0x2fbca2(0xce)]],['type',_0x18e8d3[_0x2fbca2(0xeb)],_0x3ae7e7[_0x2fbca2(0xeb)]],[_0x2fbca2(0x10c),_0x18e8d3[_0x2fbca2(0x10c)],_0x3ae7e7['visible']],[_0x2fbca2(0xff),_0x18e8d3['sort'],_0x3ae7e7['sort']],['resources',_0x18e8d3[_0x2fbca2(0xcc)],_0x3ae7e7[_0x2fbca2(0xcc)]],['resourcesValid',_0x18e8d3[_0x2fbca2(0xca)],_0x3ae7e7['resourcesValid']],[_0x2fbca2(0xd2),_0x18e8d3['childrenIds'],_0x3ae7e7[_0x2fbca2(0xd2)]],['childrenCount',_0x18e8d3['childrenCount'],_0x3ae7e7[_0x2fbca2(0xdc)]],[_0x2fbca2(0x106),_0x18e8d3['pageId'],_0x3ae7e7[_0x2fbca2(0x106)]],[_0x2fbca2(0xfc),_0x18e8d3[_0x2fbca2(0xfc)],_0x3ae7e7['pageType']],['modelType',_0x18e8d3[_0x2fbca2(0xd3)],_0x3ae7e7[_0x2fbca2(0xd3)]],[_0x2fbca2(0xd8),_0x18e8d3[_0x2fbca2(0xd8)],_0x3ae7e7[_0x2fbca2(0xd8)]],['datasetCode',_0x18e8d3[_0x2fbca2(0xef)],_0x3ae7e7[_0x2fbca2(0xef)]]];for(const [_0x5853c1,_0x32c90e,_0x19f56f]of _0x404022){assertVerified(sameValue(_0x32c90e,_0x19f56f),_0x2fbca2(0xf3)+_0x3ae7e7['id']+'\x20'+_0x5853c1+_0x2fbca2(0xc4));}assertVerified(_0x18e8d3['label']===_0x380fc3,'Menu\x20'+_0x3ae7e7['id']+_0x2fbca2(0xc9));}function sameValue(_0x2eb33f,_0x4212e4){const _0xe73417=a117_0x3d82fc;if(Array['isArray'](_0x2eb33f)||Array['isArray'](_0x4212e4))return JSON['stringify'](_0x2eb33f)===JSON[_0xe73417(0xe4)](_0x4212e4);return _0x2eb33f===_0x4212e4;}function renameSuccess(_0x41258e,_0x46f6dc,_0x22dddc,_0x56e890,_0x58455d){const _0x1e7026=a117_0x3d82fc,_0x3d4329=_0x22dddc['id'],_0x59d0ab=mutationResult({..._0x41258e,'after':_0x22dddc,'dryRun':![],'succeeded':[{'id':_0x3d4329,'updated':!_0x56e890,'skipped':_0x56e890,'recovered':_0x58455d}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x46f6dc['hash'],'targetId':_0x3d4329,'matchesRequestedState':!![],'recovered':_0x58455d}});return{'ok':!![],'message':_0x58455d?'Recovered\x20confirmed\x20rename\x20for\x20menu\x20'+_0x3d4329+'.':_0x56e890?_0x1e7026(0xf3)+_0x3d4329+_0x1e7026(0xdd):_0x1e7026(0xc3)+_0x3d4329+'.','data':{..._0x59d0ab,'recovered':_0x58455d}};}async function recoverAfterResponseLoss(_0x274328,_0x2f5912){const _0x36abe2=a117_0x3d82fc,{plan:_0x2b21d0,before:_0xac0dd2,body:_0x5b9621}=_0x2f5912;let _0x9452a7;try{_0x9452a7=await fetchMenuSnapshot(_0x274328[_0x36abe2(0xd0)],_0x274328['cookie']);}catch{throw recoveryRequired(_0x2b21d0,_0x274328[_0x36abe2(0xd0)],{'id':_0x5b9621['id'],'readbackFailed':!![]});}const _0x2cf0ee=_0x9452a7['byId'][_0x36abe2(0xde)](_0x5b9621['id']);if(!_0x2cf0ee||_0x2cf0ee[_0x36abe2(0x101)]!==_0x5b9621['label'])throw recoveryRequired(_0x2b21d0,_0x274328['appCode'],{'id':_0x5b9621['id'],'requestedLabelObserved':![],'after':_0x2cf0ee??null});try{verifyRenamedFact(_0xac0dd2,_0x2cf0ee,_0x5b9621['label']);}catch(_0x3e4a0e){const _0x42674f=asVerificationError(_0x3e4a0e,_0x36abe2(0xdb)+_0x5b9621['id']+_0x36abe2(0xcd));throw menuFailure(_0x42674f,_0x2b21d0,{'stage':_0x36abe2(0x107),'succeeded':[{'id':_0x5b9621['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5b9621['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x2cf0ee,'warnings':['The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x36abe2(0xc0),'targetId':_0x5b9621['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x274328[_0x36abe2(0xd0)])}});}return renameSuccess(_0x2b21d0,_0x9452a7,_0x2cf0ee,![],!![]);}function a117_0x3376(_0x89ef0d,_0x169158){_0x89ef0d=_0x89ef0d-0xbe;const _0xf747de=a117_0xf747();let _0x3376c3=_0xf747de[_0x89ef0d];return _0x3376c3;}function recoveryRequired(_0x5ed26d,_0x5345f3,_0x348bfa){const _0x14c0a0=a117_0x3d82fc,_0x4557fc=menuError(_0x14c0a0(0xd1),_0x14c0a0(0xfd),'Run\x20'+buildLookupCommand(_0x5345f3)+_0x14c0a0(0xc1));return menuFailure(_0x4557fc,_0x5ed26d,{'stage':_0x14c0a0(0x107),'failed':{'id':_0x348bfa['id'],..._0x348bfa[_0x14c0a0(0xfa)]===undefined?{}:{'requestedLabelObserved':_0x348bfa[_0x14c0a0(0xfa)]},..._0x348bfa[_0x14c0a0(0x102)]?{'readbackFailed':!![]}:{}},'after':_0x348bfa[_0x14c0a0(0x100)],'warnings':[_0x14c0a0(0x104)],'verification':{'status':_0x14c0a0(0xc0),'targetId':_0x348bfa['id'],..._0x348bfa['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x348bfa[_0x14c0a0(0xfa)]},..._0x348bfa[_0x14c0a0(0x102)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x5345f3)}});}function a117_0xf747(){const _0x271ce1=['flagMissing','46088JtMMuD','depth','requestedLabelObserved','The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.','pageType','The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.','trim','sort','after','label','readbackFailed','POST','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','600130jjUUyi','pageId','update-recovery','6765FVJrQn','menu','1131124hjMQJG','Rename\x20request\x20for\x20menu\x20','visible','1183aiTort','hash','body','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','failed','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','\x27\x5c\x27\x27','Renamed\x20menu\x20','\x20changed\x20during\x20the\x20label-only\x20rename.','code','9158214wiQMnS','validation',',\x20current\x20','\x20label\x20update\x20did\x20not\x20take\x20effect.','resourcesValid','expect-label','resources','\x20could\x20not\x20be\x20verified\x20safely','url','5wttAYJ','appCode','menu_update_recovery_required','childrenIds','modelType','\x20--format\x20compress','verification','write','3ZVhkMv','datasetId','Would\x20rename\x20menu\x20','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Response\x20was\x20lost\x20and\x20menu\x20','childrenCount','\x20already\x20has\x20the\x20requested\x20label.','get','str','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','8497242QxbwGT','replace','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','stringify','snapshot','rabetbase\x20menu\x20list\x20--appcode\x20','rename\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','/smartapi/menu/update','2aHNGFr','type','cookie','path','9186831duHmfo','datasetCode','string','rename','parentId','Menu\x20','\x20label\x20changed:\x20expected\x20','10ovMSyu','5544lpuBIE'];a117_0xf747=function(){return _0x271ce1;};return a117_0xf747();}function buildLookupCommand(_0x36e58b){const _0x293257=a117_0x3d82fc,_0x553843='\x27'+_0x36e58b[_0x293257(0xe2)](/'/g,_0x293257(0xc2))+'\x27';return _0x293257(0xe6)+_0x553843+_0x293257(0xd4);}
|
|
1
|
+
function a117_0x42f6(_0x497201,_0x58b6ce){_0x497201=_0x497201-0x1ca;const _0x46e02b=a117_0x46e0();let _0x42f67f=_0x46e02b[_0x497201];return _0x42f67f;}const a117_0x47e04c=a117_0x42f6;(function(_0x3aebfd,_0x4d7a08){const _0x4c93d8=a117_0x42f6,_0x535a63=_0x3aebfd();while(!![]){try{const _0x12ec42=parseInt(_0x4c93d8(0x1d8))/0x1*(parseInt(_0x4c93d8(0x21c))/0x2)+parseInt(_0x4c93d8(0x1eb))/0x3*(parseInt(_0x4c93d8(0x203))/0x4)+parseInt(_0x4c93d8(0x20e))/0x5*(parseInt(_0x4c93d8(0x1de))/0x6)+-parseInt(_0x4c93d8(0x217))/0x7*(parseInt(_0x4c93d8(0x1d6))/0x8)+parseInt(_0x4c93d8(0x1f5))/0x9+parseInt(_0x4c93d8(0x210))/0xa*(parseInt(_0x4c93d8(0x1d4))/0xb)+-parseInt(_0x4c93d8(0x1ca))/0xc;if(_0x12ec42===_0x4d7a08)break;else _0x535a63['push'](_0x535a63['shift']());}catch(_0x15f081){_0x535a63['push'](_0x535a63['shift']());}}}(a117_0x46e0,0x463b7));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a117_0x47e04c(0x204),'path':a117_0x47e04c(0x212)}];export const menuRename={'service':'menu','command':'rename','description':a117_0x47e04c(0x211),'risk':a117_0x47e04c(0x218),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a117_0x47e04c(0x1ea),'type':a117_0x47e04c(0x1f3),'required':!![],'description':a117_0x47e04c(0x1d1)},{'name':'expect-label','type':'string','required':!![],'description':'Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x430541){validateInput(_0x430541);},async 'dryRun'(_0xb824ad){const _0x5e7877=a117_0x47e04c;validateInput(_0xb824ad);const _0x10e18b=await buildPlan(_0xb824ad,!![]);return menuDryRunResult(_0x10e18b[_0x5e7877(0x21e)],{'method':_0x5e7877(0x204),'url':'/smartapi/menu/update','body':_0x10e18b[_0x5e7877(0x215)],'description':_0x5e7877(0x1d2)+_0x10e18b[_0x5e7877(0x215)]['id']+'.'});},async 'execute'(_0x2acc43){const _0x5b33ae=a117_0x47e04c;validateInput(_0x2acc43);const _0x3a5859=await buildPlan(_0x2acc43,![]),{plan:_0x1ba1a8,body:_0x3c09fc,before:_0x4000c8,noChanges:_0x36df5a}=_0x3a5859,_0xaabef1=_0x3c09fc['id'];if(_0x36df5a)return renameSuccess(_0x1ba1a8,_0x3a5859['snapshot'],_0x4000c8,!![],![]);await recheckMutationSnapshot(_0x2acc43,_0x1ba1a8,_0x5b33ae(0x1ff),_0xaabef1);try{await updateMenuEntity(_0x2acc43[_0x5b33ae(0x1f0)],_0x2acc43[_0x5b33ae(0x1cd)],{'id':_0xaabef1,'label':_0x3c09fc[_0x5b33ae(0x1ea)]});}catch(_0x176138){const _0x5f349a=mapMenuApiError(_0x176138,_0x5b33ae(0x1e3),_0xaabef1);if(isMenuResponseLoss(_0x176138)&&_0x5f349a[_0x5b33ae(0x1f1)]!==_0x5b33ae(0x1e6))return recoverAfterResponseLoss(_0x2acc43,_0x3a5859);throw menuFailure(_0x5f349a,_0x1ba1a8,{'stage':'update','failed':{'id':_0xaabef1},'warnings':[_0x5b33ae(0x206)],'verification':{'status':_0x5b33ae(0x1fc),'targetId':_0xaabef1,'lookupCommand':buildLookupCommand(_0x2acc43['appCode'])}});}let _0x4bc86b,_0x171717;try{_0x4bc86b=await fetchMenuSnapshot(_0x2acc43[_0x5b33ae(0x1f0)],_0x2acc43[_0x5b33ae(0x1cd)]),_0x171717=requireMenu(_0x4bc86b,_0xaabef1),verifyRenamedFact(_0x4000c8,_0x171717,_0x3c09fc[_0x5b33ae(0x1ea)]);}catch(_0x2e5e8c){const _0xc54d9d=describeMenuErrorCause(_0x2e5e8c,_0x5b33ae(0x20f),_0xaabef1),_0x431209=asVerificationError(_0x2e5e8c,_0x5b33ae(0x1ef)+_0xaabef1+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x431209,_0x1ba1a8,{'stage':_0x5b33ae(0x1d9),'succeeded':[{'id':_0xaabef1,'updateRequested':!![]}],'failed':{'id':_0xaabef1,'requestedStateConfirmed':![],..._0xc54d9d},'warnings':[_0x5b33ae(0x1cb)],'verification':{'status':_0x5b33ae(0x1fc),'targetId':_0xaabef1,'lookupCommand':buildLookupCommand(_0x2acc43[_0x5b33ae(0x1f0)])}});}return renameSuccess(_0x1ba1a8,_0x4bc86b,_0x171717,![],![]);}};function validateInput(_0x53101c){const _0x3bfab0=a117_0x47e04c;validateExactId(_0x53101c);if(!_0x53101c['str'](_0x3bfab0(0x1ea))['trim']())throw CliErrors[_0x3bfab0(0x1e9)](_0x3bfab0(0x1f8));if(!_0x53101c[_0x3bfab0(0x1e4)](_0x3bfab0(0x1dc))[_0x3bfab0(0x20c)]())throw CliErrors[_0x3bfab0(0x20b)](_0x3bfab0(0x1dc));}async function buildPlan(_0x5f7ce1,_0x513f67){const _0x199695=a117_0x47e04c,_0x334417=validateExactId(_0x5f7ce1),_0x4af833=_0x5f7ce1[_0x199695(0x1e4)](_0x199695(0x1ea))[_0x199695(0x20c)](),_0x2a116d=_0x5f7ce1[_0x199695(0x1e4)](_0x199695(0x1dc)),_0x59a898=await fetchMutationSnapshot(_0x5f7ce1,_0x199695(0x1ff),_0x334417),_0x473eed=requireMenu(_0x59a898,_0x334417);if(_0x473eed[_0x199695(0x1ea)]!==_0x2a116d)throw menuError(_0x199695(0x207),'Menu\x20'+_0x334417+_0x199695(0x1ee)+JSON[_0x199695(0x21f)](_0x2a116d)+_0x199695(0x205)+JSON[_0x199695(0x21f)](_0x473eed[_0x199695(0x1ea)])+'.',_0x199695(0x219));const _0x24103b={'id':_0x334417,'appCode':_0x5f7ce1['appCode'],'label':_0x4af833},_0x3433d2={..._0x473eed,'label':_0x4af833},_0x3ca197=_0x473eed[_0x199695(0x1ea)]===_0x4af833,_0x4e5abf=_0x3ca197?[]:[{'stage':'rename-menu','method':'POST','path':_0x199695(0x212),'body':_0x24103b}];return{'snapshot':_0x59a898,'before':_0x473eed,'body':_0x24103b,'noChanges':_0x3ca197,'plan':mutationResult({'operation':'rename','selector':{'id':_0x334417},'before':_0x473eed,'after':_0x3433d2,'dryRun':_0x513f67,'backend':[...BACKEND],'plannedActions':_0x4e5abf,'snapshotHash':_0x59a898[_0x199695(0x21d)],'warnings':_0x3ca197?[_0x199695(0x1fa)]:[]})};}function verifyRenamedFact(_0x412033,_0x11e143,_0x25df83){const _0x380305=a117_0x47e04c,_0x25f271=[['id',_0x11e143['id'],_0x412033['id']],[_0x380305(0x1d7),_0x11e143[_0x380305(0x1d7)],_0x412033[_0x380305(0x1d7)]],[_0x380305(0x1d5),_0x11e143[_0x380305(0x1d5)],_0x412033[_0x380305(0x1d5)]],['path',_0x11e143[_0x380305(0x1e8)],_0x412033[_0x380305(0x1e8)]],['url',_0x11e143[_0x380305(0x21a)],_0x412033[_0x380305(0x21a)]],[_0x380305(0x1f4),_0x11e143[_0x380305(0x1f4)],_0x412033[_0x380305(0x1f4)]],[_0x380305(0x1e0),_0x11e143[_0x380305(0x1e0)],_0x412033[_0x380305(0x1e0)]],['sort',_0x11e143[_0x380305(0x1ed)],_0x412033[_0x380305(0x1ed)]],[_0x380305(0x214),_0x11e143[_0x380305(0x214)],_0x412033[_0x380305(0x214)]],[_0x380305(0x20d),_0x11e143['resourcesValid'],_0x412033['resourcesValid']],[_0x380305(0x1d0),_0x11e143['childrenIds'],_0x412033[_0x380305(0x1d0)]],[_0x380305(0x1d3),_0x11e143[_0x380305(0x1d3)],_0x412033[_0x380305(0x1d3)]],['pageId',_0x11e143[_0x380305(0x1e1)],_0x412033[_0x380305(0x1e1)]],['pageType',_0x11e143[_0x380305(0x213)],_0x412033[_0x380305(0x213)]],['modelType',_0x11e143['modelType'],_0x412033[_0x380305(0x1cf)]],[_0x380305(0x202),_0x11e143[_0x380305(0x202)],_0x412033[_0x380305(0x202)]],['datasetCode',_0x11e143[_0x380305(0x1e2)],_0x412033[_0x380305(0x1e2)]]];for(const [_0x15e28e,_0x22dc09,_0x4d8377]of _0x25f271){assertVerified(sameValue(_0x22dc09,_0x4d8377),_0x380305(0x1ce)+_0x412033['id']+'\x20'+_0x15e28e+_0x380305(0x1fd));}assertVerified(_0x11e143[_0x380305(0x1ea)]===_0x25df83,_0x380305(0x1ce)+_0x412033['id']+_0x380305(0x1f2));}function sameValue(_0x57304e,_0x43f665){const _0x32a47b=a117_0x47e04c;if(Array['isArray'](_0x57304e)||Array['isArray'](_0x43f665))return JSON[_0x32a47b(0x21f)](_0x57304e)===JSON[_0x32a47b(0x21f)](_0x43f665);return _0x57304e===_0x43f665;}function renameSuccess(_0xb0edbe,_0x87d6f6,_0x46d8bd,_0x2cce96,_0x224ff1){const _0x16ca47=a117_0x47e04c,_0x12ee89=_0x46d8bd['id'],_0x1bbd0f=mutationResult({..._0xb0edbe,'after':_0x46d8bd,'dryRun':![],'succeeded':[{'id':_0x12ee89,'updated':!_0x2cce96,'skipped':_0x2cce96,'recovered':_0x224ff1}],'verification':{'checkedBy':_0x16ca47(0x1e7),'snapshotHash':_0x87d6f6['hash'],'targetId':_0x12ee89,'matchesRequestedState':!![],'recovered':_0x224ff1}});return{'ok':!![],'message':_0x224ff1?_0x16ca47(0x209)+_0x12ee89+'.':_0x2cce96?_0x16ca47(0x1ce)+_0x12ee89+_0x16ca47(0x1f9):_0x16ca47(0x216)+_0x12ee89+'.','data':{..._0x1bbd0f,'recovered':_0x224ff1}};}async function recoverAfterResponseLoss(_0x12deca,_0x136132){const _0x1b6deb=a117_0x47e04c,{plan:_0x26e0b9,before:_0x507ec3,body:_0x50f00c}=_0x136132;let _0x560929;try{_0x560929=await fetchMenuSnapshot(_0x12deca[_0x1b6deb(0x1f0)],_0x12deca[_0x1b6deb(0x1cd)]);}catch{throw recoveryRequired(_0x26e0b9,_0x12deca[_0x1b6deb(0x1f0)],{'id':_0x50f00c['id'],'readbackFailed':!![]});}const _0x59517c=_0x560929[_0x1b6deb(0x1e5)][_0x1b6deb(0x1cc)](_0x50f00c['id']);if(!_0x59517c||_0x59517c[_0x1b6deb(0x1ea)]!==_0x50f00c[_0x1b6deb(0x1ea)])throw recoveryRequired(_0x26e0b9,_0x12deca[_0x1b6deb(0x1f0)],{'id':_0x50f00c['id'],'requestedLabelObserved':![],'after':_0x59517c??null});try{verifyRenamedFact(_0x507ec3,_0x59517c,_0x50f00c[_0x1b6deb(0x1ea)]);}catch(_0x338e28){const _0xc42a86=asVerificationError(_0x338e28,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x50f00c['id']+_0x1b6deb(0x200));throw menuFailure(_0xc42a86,_0x26e0b9,{'stage':_0x1b6deb(0x1dd),'succeeded':[{'id':_0x50f00c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x50f00c['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x59517c,'warnings':['The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x1b6deb(0x1fc),'targetId':_0x50f00c['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x12deca['appCode'])}});}return renameSuccess(_0x26e0b9,_0x560929,_0x59517c,![],!![]);}function recoveryRequired(_0x25014d,_0x40223e,_0x10fb5e){const _0x290bef=a117_0x47e04c,_0x478934=menuError(_0x290bef(0x1ec),_0x290bef(0x1fe),_0x290bef(0x1db)+buildLookupCommand(_0x40223e)+_0x290bef(0x208));return menuFailure(_0x478934,_0x25014d,{'stage':_0x290bef(0x1dd),'failed':{'id':_0x10fb5e['id'],..._0x10fb5e[_0x290bef(0x1fb)]===undefined?{}:{'requestedLabelObserved':_0x10fb5e[_0x290bef(0x1fb)]},..._0x10fb5e[_0x290bef(0x20a)]?{'readbackFailed':!![]}:{}},'after':_0x10fb5e[_0x290bef(0x1da)],'warnings':[_0x290bef(0x21b)],'verification':{'status':_0x290bef(0x1fc),'targetId':_0x10fb5e['id'],..._0x10fb5e['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x10fb5e[_0x290bef(0x1fb)]},..._0x10fb5e[_0x290bef(0x20a)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x40223e)}});}function a117_0x46e0(){const _0x4beddc=['byId','menu_permission_denied','menu\x20list','path','validation','label','3OyCCkc','menu_update_recovery_required','sort','\x20label\x20changed:\x20expected\x20','Rename\x20request\x20for\x20menu\x20','appCode','code','\x20label\x20update\x20did\x20not\x20take\x20effect.','string','type','2167146ZGBltN','\x27\x5c\x27\x27','\x20--format\x20compress','--label\x20cannot\x20be\x20empty.','\x20already\x20has\x20the\x20requested\x20label.','The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.','requestedLabelObserved','failed','\x20changed\x20during\x20the\x20label-only\x20rename.','The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.','rename\x20menu','\x20could\x20not\x20be\x20verified\x20safely','replace','datasetId','806948NwwohR','POST',',\x20current\x20','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_state_drift','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','readbackFailed','flagMissing','trim','resourcesValid','5VvWUOX','verify\x20menu\x20rename','10SkeCvj','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','/smartapi/menu/update','pageType','resources','body','Renamed\x20menu\x20','1644524eoFLFm','write','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','url','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','202478lWfrvF','hash','plan','stringify','7883424rkUIOl','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','get','cookie','Menu\x20','modelType','childrenIds','New\x20menu\x20label','Would\x20rename\x20menu\x20','childrenCount','4726469AwdcfB','depth','16iGOfal','parentId','2yvGjsT','verification','after','Run\x20','expect-label','update-recovery','2038794oyzYGw','rabetbase\x20menu\x20list\x20--appcode\x20','visible','pageId','datasetCode','rename','str'];a117_0x46e0=function(){return _0x4beddc;};return a117_0x46e0();}function buildLookupCommand(_0x75538b){const _0x41fc4f=a117_0x47e04c,_0x35c1e6='\x27'+_0x75538b[_0x41fc4f(0x201)](/'/g,_0x41fc4f(0x1f6))+'\x27';return _0x41fc4f(0x1df)+_0x35c1e6+_0x41fc4f(0x1f7);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x401a25,_0x85890e){const _0xf31ba6=a118_0x2bb4,_0x360f7c=_0x401a25();while(!![]){try{const _0x1dc8e1=parseInt(_0xf31ba6(0x13d))/0x1*(parseInt(_0xf31ba6(0x136))/0x2)+parseInt(_0xf31ba6(0x143))/0x3+-parseInt(_0xf31ba6(0x13a))/0x4+-parseInt(_0xf31ba6(0x132))/0x5+-parseInt(_0xf31ba6(0x149))/0x6+-parseInt(_0xf31ba6(0x13e))/0x7*(-parseInt(_0xf31ba6(0x13f))/0x8)+parseInt(_0xf31ba6(0x140))/0x9*(parseInt(_0xf31ba6(0x142))/0xa);if(_0x1dc8e1===_0x85890e)break;else _0x360f7c['push'](_0x360f7c['shift']());}catch(_0x2afa5f){_0x360f7c['push'](_0x360f7c['shift']());}}}(a118_0x1d0c,0x953e7));function strWidth(_0x4453a1){let _0x4efc85=0x0;for(const _0x35d97e of _0x4453a1){_0x4efc85+=/[\u4e00-\u9fa5]/['test'](_0x35d97e)?0x2:0x1;}return _0x4efc85;}function padRight(_0x2db6e5,_0x53fdd7){const _0x2e7cb8=a118_0x2bb4,_0x480c33=strWidth(_0x2db6e5);return _0x2db6e5+'\x20'[_0x2e7cb8(0x133)](Math[_0x2e7cb8(0x130)](0x0,_0x53fdd7-_0x480c33));}function a118_0x2bb4(_0x35fd60,_0x1433a3){_0x35fd60=_0x35fd60-0x12e;const _0x1d0cde=a118_0x1d0c();let _0x2bb4d6=_0x1d0cde[_0x35fd60];return _0x2bb4d6;}function a118_0x1d0c(){const _0x469522=['\x20page(s)\x20will\x20be\x20created\x20on\x20platform:','8jCnddS','100772MBopdZ','72ywofTT','11862DwIoQe','\x20menu(s)\x20will\x20be\x20updated\x20with\x20new\x20assets:','2270UKUxJy','2196585MNuoNN','(unchanged)','\x20\x20All\x20local\x20pages\x20are\x20already\x20on\x20platform.','label','map','path','1936134rzfTVB','\x20\x20\x20\x20•\x20','Menu\x20Name','join','push','\x20\x20No\x20pages\x20to\x20sync.','max','\x20\x20No\x20menus\x20with\x20existing\x20resources\x20found.','5564965posKIu','repeat','\x20\x20Affected\x20menus:\x20','showOnline','226972rtxyKS','Path','length','online','87392nrcrzD','local'];a118_0x1d0c=function(){return _0x469522;};return a118_0x1d0c();}export function renderCompareTable(_0x4ff403,_0x10a9f8={}){const _0x498b91=a118_0x2bb4;if(_0x4ff403[_0x498b91(0x138)]===0x0)return'';const _0x273545=_0x10a9f8[_0x498b91(0x135)]??!![],_0x33a01e=Math['max'](0x1e,..._0x4ff403[_0x498b91(0x147)](_0x31d0a5=>strWidth(_0x31d0a5[_0x498b91(0x146)]))),_0x49319d=Math['max'](0x18,..._0x4ff403[_0x498b91(0x147)](_0x1e987b=>strWidth(_0x1e987b[_0x498b91(0x148)]))),_0x1690b2=0x4,_0x34b4e7=[],_0x8fc860='\x20\x20'+padRight(_0x498b91(0x14b),_0x33a01e),_0x2c790d=padRight(_0x498b91(0x137),_0x49319d),_0x4d122c=padRight('Local',_0x1690b2),_0x319b7e=_0x273545?'\x20\x20'+padRight('Platform',_0x1690b2):'';_0x34b4e7[_0x498b91(0x12e)](_0x8fc860+'\x20\x20'+_0x2c790d+'\x20\x20'+_0x4d122c+(_0x273545?_0x319b7e:'')),_0x34b4e7[_0x498b91(0x12e)]('\x20\x20'+'─'[_0x498b91(0x133)](_0x33a01e)+'\x20\x20'+'─'[_0x498b91(0x133)](_0x49319d)+'\x20\x20'+'─'[_0x498b91(0x133)](_0x1690b2)+(_0x273545?'\x20\x20'+'─'[_0x498b91(0x133)](_0x1690b2):''));for(const _0x1cf179 of _0x4ff403){const _0x101acd=padRight(_0x1cf179[_0x498b91(0x146)],_0x33a01e),_0x309a55=padRight(_0x1cf179['path'],_0x49319d),_0x9735bd=_0x1cf179[_0x498b91(0x13b)]?'✓':'✗',_0x5132e3=padRight(_0x9735bd,_0x1690b2);let _0x280731='\x20\x20'+_0x101acd+'\x20\x20'+_0x309a55+'\x20\x20'+_0x5132e3;if(_0x273545){const _0x43235e=_0x1cf179[_0x498b91(0x139)]?'✓':'✗';_0x280731+='\x20\x20'+padRight(_0x43235e,_0x1690b2);}_0x34b4e7[_0x498b91(0x12e)](_0x280731);}return _0x34b4e7[_0x498b91(0x14c)]('\x0a');}export function renderSyncSummary(_0x5b9d41,_0x45ebce){const _0x234cd4=a118_0x2bb4;if(_0x5b9d41[_0x234cd4(0x138)]===0x0)return _0x45ebce?_0x234cd4(0x145):_0x234cd4(0x12f);const _0x39f143=['\x20\x20'+_0x5b9d41[_0x234cd4(0x138)]+_0x234cd4(0x13c)];for(const _0x1e07d1 of _0x5b9d41){_0x39f143[_0x234cd4(0x12e)](_0x234cd4(0x14a)+_0x1e07d1['label']+'\x20('+_0x1e07d1['path']+')');}return _0x39f143[_0x234cd4(0x14c)]('\x0a');}export function renderUpdateSummary(_0x2eea33,_0x3f6bac){const _0x373c08=a118_0x2bb4;if(_0x2eea33[_0x373c08(0x138)]===0x0)return _0x373c08(0x131);const _0x383eab=['\x20\x20'+_0x2eea33[_0x373c08(0x138)]+_0x373c08(0x141),'\x20\x20\x20\x20JS:\x20\x20'+(_0x3f6bac[0x0]??_0x373c08(0x144)),'\x20\x20\x20\x20CSS:\x20'+(_0x3f6bac[0x1]??_0x373c08(0x144)),'',_0x373c08(0x134)+_0x2eea33[_0x373c08(0x14c)](',\x20')];return _0x383eab[_0x373c08(0x14c)]('\x0a');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a119_0x2d1d48=a119_0x5811;(function(_0x3480ea,_0x36cf1b){const _0x6560bd=a119_0x5811,_0x33b159=_0x3480ea();while(!![]){try{const _0x10822f=parseInt(_0x6560bd(0x20b))/0x1*(parseInt(_0x6560bd(0x1e0))/0x2)+parseInt(_0x6560bd(0x1d6))/0x3*(parseInt(_0x6560bd(0x217))/0x4)+-parseInt(_0x6560bd(0x211))/0x5*(parseInt(_0x6560bd(0x1de))/0x6)+parseInt(_0x6560bd(0x200))/0x7*(parseInt(_0x6560bd(0x20e))/0x8)+parseInt(_0x6560bd(0x213))/0x9*(parseInt(_0x6560bd(0x22d))/0xa)+parseInt(_0x6560bd(0x205))/0xb+-parseInt(_0x6560bd(0x1ff))/0xc;if(_0x10822f===_0x36cf1b)break;else _0x33b159['push'](_0x33b159['shift']());}catch(_0x4c543b){_0x33b159['push'](_0x33b159['shift']());}}}(a119_0x5ba4,0x835e9));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a119_0x2d1d48(0x1d0),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0xe20c92,_0x37409d,_0x4541f7=new Date()){const _0x1f962c=a119_0x2d1d48;if(!_0x37409d['before']||!isMenuFact(_0x37409d[_0x1f962c(0x1ca)]))throw menuError('menu_plan_invalid',_0x1f962c(0x1f1));const _0x14a853=_0x37409d['targets']?.[_0x1f962c(0x1f9)]?_0x37409d['targets']:[_0x37409d['before']],_0x3fb57a=_0x37409d[_0x1f962c(0x20c)]?.[_0x1f962c(0x1f9)]?_0x37409d[_0x1f962c(0x20c)]:_0x14a853[_0x1f962c(0x21a)](_0x27c594=>_0x27c594['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0xe20c92,'createdAt':_0x4541f7[_0x1f962c(0x1e5)](),'expiresAt':new Date(_0x4541f7[_0x1f962c(0x1ee)]()+PLAN_TTL_MS)[_0x1f962c(0x1e5)](),'snapshotHash':_0x37409d[_0x1f962c(0x1cc)],'recursive':_0x37409d[_0x1f962c(0x1d5)]['recursive']===!![],'target':_0x37409d[_0x1f962c(0x1ca)],'targetFingerprint':fingerprint(_0x37409d['before']),'targets':_0x14a853,'targetFingerprints':_0x14a853['map'](fingerprint),'deleteOrder':_0x3fb57a,'cascade':_0x37409d[_0x1f962c(0x202)]??{'pages':_0x37409d[_0x1f962c(0x1ca)][_0x1f962c(0x225)]==null?[]:[_0x37409d[_0x1f962c(0x1ca)][_0x1f962c(0x225)]],'pageSchemaAffected':_0x37409d['before'][_0x1f962c(0x225)]!=null},'warnings':[..._0x37409d[_0x1f962c(0x220)]]};}export async function writeMenuDeletePlan(_0x6a925c,_0x530637){const _0x334760=a119_0x2d1d48,_0x35ed83=resolvePlanPath(_0x6a925c,_0x334760(0x209));await mkdir(dirname(_0x35ed83),{'recursive':!![]});try{await writeFile(_0x35ed83,JSON[_0x334760(0x1ce)](_0x530637,null,0x2)+'\x0a',{'encoding':_0x334760(0x1fc),'flag':'wx'});}catch(_0x1e76ac){if(_0x1e76ac[_0x334760(0x1e8)]===_0x334760(0x1f5))throw menuError(_0x334760(0x221),_0x334760(0x1da)+_0x35ed83,_0x334760(0x1fd));throw menuError(_0x334760(0x1dc),'Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x35ed83+':\x20'+errorMessage(_0x1e76ac));}return _0x35ed83;}export async function readMenuDeletePlan(_0x57ef03){const _0x35090c=a119_0x2d1d48,_0x258a2d=resolvePlanPath(_0x57ef03,_0x35090c(0x226));let _0x44a310;try{_0x44a310=(await stat(_0x258a2d))[_0x35090c(0x1cd)];}catch(_0x31365){throw menuError(_0x35090c(0x1fe),'Cannot\x20read\x20menu\x20delete\x20plan\x20'+_0x258a2d+':\x20'+errorMessage(_0x31365));}if(_0x44a310>MAX_PLAN_BYTES)throw menuError(_0x35090c(0x1fe),_0x35090c(0x223)+_0x44a310+'\x20bytes.');let _0x287930;try{_0x287930=JSON[_0x35090c(0x1e7)](await readFile(_0x258a2d,'utf8'));}catch(_0x2801d0){throw menuError('menu_plan_invalid',_0x35090c(0x22f)+errorMessage(_0x2801d0));}if(!isMenuDeletePlanFile(_0x287930))throw menuError(_0x35090c(0x1fe),_0x35090c(0x212)+PLAN_VERSION+_0x35090c(0x218)+PLAN_COMMAND+_0x35090c(0x1d2));if(!sameFingerprint(_0x287930['targetFingerprint'],fingerprint(_0x287930[_0x35090c(0x21c)])))throw menuError('menu_plan_invalid',_0x35090c(0x214),_0x35090c(0x22e));if(!_0x287930['targets']['every']((_0x33c742,_0x34e4d7)=>sameFingerprint(_0x287930[_0x35090c(0x23a)][_0x34e4d7],fingerprint(_0x33c742)))||!sameFingerprint(_0x287930[_0x35090c(0x22b)],fingerprint(_0x287930[_0x35090c(0x1df)][_0x287930[_0x35090c(0x1df)][_0x35090c(0x1f9)]-0x1])))throw menuError(_0x35090c(0x1fe),_0x35090c(0x204),_0x35090c(0x22e));return{'path':_0x258a2d,'plan':_0x287930};}export function mutationPlanFromDeleteFile(_0xe75fd4,_0x272021){const _0x38cdc3=a119_0x2d1d48;return mutationResult({'operation':_0x38cdc3(0x1db),'selector':{'id':_0xe75fd4['target']['id'],'recursive':_0xe75fd4[_0x38cdc3(0x233)]},'before':_0xe75fd4[_0x38cdc3(0x21c)],'after':null,'dryRun':![],'backend':[{'method':_0x38cdc3(0x1e4),'path':_0x38cdc3(0x1d3)}],'plannedActions':[{'stage':_0x38cdc3(0x20d),'method':_0x38cdc3(0x1e4),'path':_0x38cdc3(0x1d3),'body':{'idList':_0xe75fd4[_0x38cdc3(0x20c)]}}],'targets':_0xe75fd4[_0x38cdc3(0x1df)],'deleteOrder':_0xe75fd4[_0x38cdc3(0x20c)],'snapshotHash':_0xe75fd4[_0x38cdc3(0x1cc)],'cascade':_0xe75fd4[_0x38cdc3(0x202)],'planFile':{'path':_0x272021,'createdAt':_0xe75fd4[_0x38cdc3(0x1d9)],'expiresAt':_0xe75fd4[_0x38cdc3(0x235)]},'warnings':_0xe75fd4['warnings']});}export function assertMenuDeletePlanCurrent(_0x20ab6f,_0x520c12,_0x59a951,_0x5c9b18=new Date()){const _0x2f3c45=a119_0x2d1d48;assertMenuDeletePlanExecutable(_0x20ab6f,_0x520c12,_0x5c9b18);if(_0x59a951[_0x2f3c45(0x1e9)]!==_0x20ab6f['snapshotHash'])throw menuError(_0x2f3c45(0x1f8),_0x2f3c45(0x21e),_0x2f3c45(0x1f3));return _0x20ab6f[_0x2f3c45(0x1df)][_0x2f3c45(0x21a)]((_0x529a22,_0x33d38e)=>{const _0x304ff9=_0x2f3c45,_0x571a77=_0x59a951['byId'][_0x304ff9(0x231)](_0x529a22['id']);if(!_0x571a77)throw menuError(_0x304ff9(0x1f8),_0x304ff9(0x21f)+_0x529a22['id']+_0x304ff9(0x22a));if(!sameFingerprint(_0x20ab6f['targetFingerprints'][_0x33d38e],fingerprint(_0x571a77)))throw menuError(_0x304ff9(0x1f8),_0x304ff9(0x21f)+_0x529a22['id']+_0x304ff9(0x216),_0x304ff9(0x1f7));return _0x571a77;});}function a119_0x5ba4(){const _0x100f05=['trim','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','every','pageId','plan','digest','Menu\x20delete\x20plan\x20creation\x20time\x20','type','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','targetFingerprint','parentId','10DfyhYv','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','update','get','childrenIds','recursive','boolean','expiresAt','menu_plan_app_mismatch','extendHash','isArray','visible','targetFingerprints','depth','before','pages','snapshotHash','size','stringify','pageSchemaAffected','menu\x20delete','path','\x20contract.','/smartapi/menu/batchDelete','\x20is\x20in\x20the\x20future.','selector','15qonnQO','string','menu_plan_expired','createdAt','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','delete','menu_plan_write_failed','updateUserId','18OVzlaL','targets','3548aLDRAb','updateUserName','label','modelType','POST','toISOString','isInteger','parse','code','hash','isFinite','number','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','message','getTime','sort','test','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','isSafeInteger','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','childrenCount','EEXIST',',\x20current\x20app\x20is\x20','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','menu_state_drift','length','appCode','Menu\x20delete\x20plan\x20expired\x20at\x20','utf8','Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.','menu_plan_invalid','26319108BGxBYH','5411dgLPJK','command','cascade','sha256','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','7088180iIrAZX','resources','pageType','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','plan-out','\x20requires\x20a\x20non-empty\x20file\x20path.','536OiTBFr','deleteOrder','batch-delete-menu','6120YBDfbl','extend','datasetCode','1182905CovVCQ','Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20','7845228qJrJDD','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','resourcesValid','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','306248yERFtE','\x20of\x20the\x20','resourcesHash','map','updateTime','target','datasetId','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','Planned\x20menu\x20','warnings','menu_plan_file_exists'];a119_0x5ba4=function(){return _0x100f05;};return a119_0x5ba4();}export function assertMenuDeletePlanExecutable(_0x27626d,_0x267ec5,_0x9c6a97=new Date()){const _0x271e01=a119_0x2d1d48;if(_0x27626d['appCode']!==_0x267ec5)throw menuError(_0x271e01(0x236),'Menu\x20delete\x20plan\x20targets\x20app\x20'+JSON['stringify'](_0x27626d[_0x271e01(0x1fa)])+_0x271e01(0x1f6)+JSON[_0x271e01(0x1ce)](_0x267ec5)+'.');const _0x59d64d=Date[_0x271e01(0x1e7)](_0x27626d[_0x271e01(0x1d9)]),_0x547d83=Date[_0x271e01(0x1e7)](_0x27626d['expiresAt']);if(!Number[_0x271e01(0x1ea)](_0x59d64d)||!Number['isFinite'](_0x547d83)||_0x547d83-_0x59d64d!==PLAN_TTL_MS)throw menuError('menu_plan_invalid',_0x271e01(0x208));if(_0x59d64d>_0x9c6a97['getTime']())throw menuError('menu_plan_invalid',_0x271e01(0x228)+_0x27626d[_0x271e01(0x1d9)]+_0x271e01(0x1d4),_0x271e01(0x1ec));if(_0x9c6a97['getTime']()>_0x547d83)throw menuError(_0x271e01(0x1d8),_0x271e01(0x1fb)+_0x27626d[_0x271e01(0x235)]+'.','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.');}function fingerprint(_0x367615){const _0x20bc28=a119_0x2d1d48;return{'id':_0x367615['id'],'parentId':_0x367615[_0x20bc28(0x22c)],'depth':_0x367615[_0x20bc28(0x23b)],'label':_0x367615[_0x20bc28(0x1e2)],'path':_0x367615[_0x20bc28(0x1d1)],'type':_0x367615[_0x20bc28(0x229)],'visible':_0x367615[_0x20bc28(0x239)],'sort':_0x367615[_0x20bc28(0x1ef)],'pageId':_0x367615[_0x20bc28(0x225)],'pageType':_0x367615[_0x20bc28(0x207)],'modelType':_0x367615['modelType'],'datasetId':_0x367615[_0x20bc28(0x21d)],'datasetCode':_0x367615[_0x20bc28(0x210)],'childrenIds':[..._0x367615[_0x20bc28(0x232)]],'childrenCount':_0x367615[_0x20bc28(0x1f4)],'resourcesValid':_0x367615[_0x20bc28(0x215)],'resourcesHash':hashValue(_0x367615[_0x20bc28(0x206)]),'extendHash':hashValue(_0x367615[_0x20bc28(0x20f)]??null),'updateTime':_0x367615[_0x20bc28(0x21b)]};}function hashValue(_0x29fba4){const _0x1143a3=a119_0x2d1d48;return createHash(_0x1143a3(0x203))[_0x1143a3(0x230)](JSON['stringify'](_0x29fba4))[_0x1143a3(0x227)]('hex');}function sameFingerprint(_0x22acb8,_0x3d3371){const _0x896ab4=a119_0x2d1d48;return JSON['stringify'](_0x22acb8)===JSON[_0x896ab4(0x1ce)](_0x3d3371);}function resolvePlanPath(_0x292df9,_0x34524e){const _0x415c5d=a119_0x2d1d48,_0x30059e=_0x292df9[_0x415c5d(0x222)]();if(!_0x30059e)throw menuError('menu_plan_invalid','--'+_0x34524e+_0x415c5d(0x20a));return resolve(_0x30059e);}function isMenuDeletePlanFile(_0x5e2f57){const _0x1d32f0=a119_0x2d1d48;if(!isRecord(_0x5e2f57))return![];return _0x5e2f57['version']===PLAN_VERSION&&_0x5e2f57[_0x1d32f0(0x201)]===PLAN_COMMAND&&typeof _0x5e2f57['appCode']===_0x1d32f0(0x1d7)&&_0x5e2f57[_0x1d32f0(0x1fa)][_0x1d32f0(0x1f9)]>0x0&&typeof _0x5e2f57[_0x1d32f0(0x1d9)]==='string'&&typeof _0x5e2f57['expiresAt']===_0x1d32f0(0x1d7)&&typeof _0x5e2f57[_0x1d32f0(0x1cc)]===_0x1d32f0(0x1d7)&&/^sha256:[a-f0-9]{64}$/[_0x1d32f0(0x1f0)](_0x5e2f57[_0x1d32f0(0x1cc)])&&typeof _0x5e2f57[_0x1d32f0(0x233)]===_0x1d32f0(0x234)&&isMenuFact(_0x5e2f57['target'])&&isTargetFingerprint(_0x5e2f57['targetFingerprint'])&&Array['isArray'](_0x5e2f57[_0x1d32f0(0x1df)])&&_0x5e2f57[_0x1d32f0(0x1df)][_0x1d32f0(0x1f9)]>0x0&&_0x5e2f57[_0x1d32f0(0x1df)][_0x1d32f0(0x224)](isMenuFact)&&Array['isArray'](_0x5e2f57[_0x1d32f0(0x23a)])&&_0x5e2f57[_0x1d32f0(0x23a)]['length']===_0x5e2f57['targets'][_0x1d32f0(0x1f9)]&&_0x5e2f57[_0x1d32f0(0x23a)]['every'](isTargetFingerprint)&&Array[_0x1d32f0(0x238)](_0x5e2f57[_0x1d32f0(0x20c)])&&_0x5e2f57[_0x1d32f0(0x20c)][_0x1d32f0(0x1f9)]===_0x5e2f57[_0x1d32f0(0x1df)]['length']&&_0x5e2f57['deleteOrder'][_0x1d32f0(0x224)](isPositiveInteger)&&new Set(_0x5e2f57[_0x1d32f0(0x20c)])[_0x1d32f0(0x1cd)]===_0x5e2f57['deleteOrder'][_0x1d32f0(0x1f9)]&&_0x5e2f57[_0x1d32f0(0x1df)][_0x1d32f0(0x224)]((_0x2a165a,_0x59dcd7)=>_0x2a165a['id']===_0x5e2f57['deleteOrder'][_0x59dcd7])&&_0x5e2f57['targets'][_0x5e2f57[_0x1d32f0(0x1df)][_0x1d32f0(0x1f9)]-0x1]?.['id']===_0x5e2f57['target']['id']&&isRecord(_0x5e2f57[_0x1d32f0(0x202)])&&Array[_0x1d32f0(0x238)](_0x5e2f57[_0x1d32f0(0x202)][_0x1d32f0(0x1cb)])&&_0x5e2f57['cascade']['pages'][_0x1d32f0(0x224)](isPositiveInteger)&&typeof _0x5e2f57['cascade'][_0x1d32f0(0x1cf)]===_0x1d32f0(0x234)&&Array[_0x1d32f0(0x238)](_0x5e2f57[_0x1d32f0(0x220)])&&_0x5e2f57[_0x1d32f0(0x220)]['every'](_0x1e1ee8=>typeof _0x1e1ee8==='string');}function isMenuFact(_0x539a3a){const _0x390f78=a119_0x2d1d48;if(!isRecord(_0x539a3a))return![];return isPositiveInteger(_0x539a3a['id'])&&(_0x539a3a[_0x390f78(0x22c)]===null||isPositiveInteger(_0x539a3a[_0x390f78(0x22c)]))&&Number[_0x390f78(0x1e6)](_0x539a3a[_0x390f78(0x23b)])&&_0x539a3a[_0x390f78(0x23b)]>=0x0&&typeof _0x539a3a[_0x390f78(0x1e2)]===_0x390f78(0x1d7)&&typeof _0x539a3a[_0x390f78(0x1d1)]===_0x390f78(0x1d7)&&typeof _0x539a3a[_0x390f78(0x229)]===_0x390f78(0x1d7)&&(_0x539a3a[_0x390f78(0x239)]===null||typeof _0x539a3a[_0x390f78(0x239)]===_0x390f78(0x234))&&(_0x539a3a['sort']===null||Number[_0x390f78(0x1e6)](_0x539a3a[_0x390f78(0x1ef)]))&&Array[_0x390f78(0x238)](_0x539a3a[_0x390f78(0x206)])&&_0x539a3a[_0x390f78(0x206)][_0x390f78(0x224)](_0x4445a5=>typeof _0x4445a5===_0x390f78(0x1d7))&&typeof _0x539a3a[_0x390f78(0x215)]===_0x390f78(0x234)&&Array[_0x390f78(0x238)](_0x539a3a[_0x390f78(0x232)])&&_0x539a3a['childrenIds']['every'](isPositiveInteger)&&Number[_0x390f78(0x1e6)](_0x539a3a[_0x390f78(0x1f4)])&&_0x539a3a[_0x390f78(0x1f4)]>=0x0&&(_0x539a3a[_0x390f78(0x225)]===null||isPositiveInteger(_0x539a3a['pageId']))&&typeof _0x539a3a['pageType']===_0x390f78(0x1d7)&&typeof _0x539a3a[_0x390f78(0x1e3)]===_0x390f78(0x1d7)&&(_0x539a3a[_0x390f78(0x21d)]===null||isPositiveInteger(_0x539a3a[_0x390f78(0x21d)]))&&typeof _0x539a3a[_0x390f78(0x210)]===_0x390f78(0x1d7)&&(_0x539a3a['updateUserId']===null||typeof _0x539a3a[_0x390f78(0x1dd)]==='string')&&(_0x539a3a[_0x390f78(0x1e1)]===null||typeof _0x539a3a[_0x390f78(0x1e1)]===_0x390f78(0x1d7))&&(_0x539a3a['updateTime']===null||typeof _0x539a3a[_0x390f78(0x21b)]==='string'||typeof _0x539a3a[_0x390f78(0x21b)]===_0x390f78(0x1eb))&&(_0x539a3a[_0x390f78(0x20f)]===undefined||_0x539a3a[_0x390f78(0x20f)]===null||isRecord(_0x539a3a[_0x390f78(0x20f)]));}function isTargetFingerprint(_0x9c56c6){const _0x16f879=a119_0x2d1d48;if(!isRecord(_0x9c56c6))return![];return isPositiveInteger(_0x9c56c6['id'])&&(_0x9c56c6[_0x16f879(0x22c)]===null||isPositiveInteger(_0x9c56c6[_0x16f879(0x22c)]))&&Number['isInteger'](_0x9c56c6['depth'])&&_0x9c56c6['depth']>=0x0&&typeof _0x9c56c6['label']===_0x16f879(0x1d7)&&typeof _0x9c56c6[_0x16f879(0x1d1)]===_0x16f879(0x1d7)&&typeof _0x9c56c6[_0x16f879(0x229)]===_0x16f879(0x1d7)&&(_0x9c56c6[_0x16f879(0x239)]===null||typeof _0x9c56c6['visible']==='boolean')&&(_0x9c56c6[_0x16f879(0x1ef)]===null||Number[_0x16f879(0x1e6)](_0x9c56c6[_0x16f879(0x1ef)]))&&(_0x9c56c6[_0x16f879(0x225)]===null||isPositiveInteger(_0x9c56c6['pageId']))&&typeof _0x9c56c6[_0x16f879(0x207)]===_0x16f879(0x1d7)&&typeof _0x9c56c6[_0x16f879(0x1e3)]==='string'&&(_0x9c56c6['datasetId']===null||isPositiveInteger(_0x9c56c6['datasetId']))&&typeof _0x9c56c6[_0x16f879(0x210)]===_0x16f879(0x1d7)&&Array['isArray'](_0x9c56c6[_0x16f879(0x232)])&&_0x9c56c6[_0x16f879(0x232)][_0x16f879(0x224)](isPositiveInteger)&&Number[_0x16f879(0x1e6)](_0x9c56c6['childrenCount'])&&_0x9c56c6[_0x16f879(0x1f4)]>=0x0&&typeof _0x9c56c6['resourcesValid']===_0x16f879(0x234)&&typeof _0x9c56c6[_0x16f879(0x219)]===_0x16f879(0x1d7)&&/^[a-f0-9]{64}$/[_0x16f879(0x1f0)](_0x9c56c6['resourcesHash'])&&typeof _0x9c56c6[_0x16f879(0x237)]===_0x16f879(0x1d7)&&/^[a-f0-9]{64}$/[_0x16f879(0x1f0)](_0x9c56c6[_0x16f879(0x237)])&&(_0x9c56c6[_0x16f879(0x21b)]===null||typeof _0x9c56c6[_0x16f879(0x21b)]===_0x16f879(0x1d7)||typeof _0x9c56c6['updateTime']===_0x16f879(0x1eb));}function a119_0x5811(_0x189fd5,_0x10e355){_0x189fd5=_0x189fd5-0x1ca;const _0x5ba43d=a119_0x5ba4();let _0x581198=_0x5ba43d[_0x189fd5];return _0x581198;}function isRecord(_0x30a67f){const _0x22f055=a119_0x2d1d48;return typeof _0x30a67f==='object'&&_0x30a67f!==null&&!Array[_0x22f055(0x238)](_0x30a67f);}function isPositiveInteger(_0x4b62cc){const _0x295bcf=a119_0x2d1d48;return Number[_0x295bcf(0x1f2)](_0x4b62cc)&&Number(_0x4b62cc)>0x0;}function errorMessage(_0xad5f21){const _0x3016fc=a119_0x2d1d48;return _0xad5f21 instanceof Error?_0xad5f21[_0x3016fc(0x1ed)]:String(_0xad5f21);}
|
|
1
|
+
function a119_0x2e1f(_0x165d89,_0x2b61c0){_0x165d89=_0x165d89-0x90;const _0x4b6b30=a119_0x4b6b();let _0x2e1f88=_0x4b6b30[_0x165d89];return _0x2e1f88;}const a119_0x3414f8=a119_0x2e1f;(function(_0x4200de,_0xf8eb48){const _0x7f1329=a119_0x2e1f,_0x6d37d8=_0x4200de();while(!![]){try{const _0x21d103=-parseInt(_0x7f1329(0x92))/0x1+-parseInt(_0x7f1329(0xc5))/0x2*(-parseInt(_0x7f1329(0xb0))/0x3)+parseInt(_0x7f1329(0xb2))/0x4*(parseInt(_0x7f1329(0x95))/0x5)+-parseInt(_0x7f1329(0xd2))/0x6*(parseInt(_0x7f1329(0xf4))/0x7)+-parseInt(_0x7f1329(0xed))/0x8*(parseInt(_0x7f1329(0xa7))/0x9)+parseInt(_0x7f1329(0x91))/0xa+parseInt(_0x7f1329(0xbc))/0xb*(parseInt(_0x7f1329(0xd0))/0xc);if(_0x21d103===_0xf8eb48)break;else _0x6d37d8['push'](_0x6d37d8['shift']());}catch(_0x2af288){_0x6d37d8['push'](_0x6d37d8['shift']());}}}(a119_0x4b6b,0xdb89b));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a119_0x3414f8(0xbb),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x132840,_0x502449,_0x29a9b0=new Date()){const _0x231839=a119_0x3414f8;if(!_0x502449['before']||!isMenuFact(_0x502449['before']))throw menuError('menu_plan_invalid','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.');const _0x5aac32=_0x502449[_0x231839(0xbd)]?.[_0x231839(0xa6)]?_0x502449[_0x231839(0xbd)]:[_0x502449[_0x231839(0xae)]],_0x31ec1e=_0x502449['deleteOrder']?.[_0x231839(0xa6)]?_0x502449[_0x231839(0x96)]:_0x5aac32[_0x231839(0xdc)](_0x11a4a4=>_0x11a4a4['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x132840,'createdAt':_0x29a9b0[_0x231839(0xbf)](),'expiresAt':new Date(_0x29a9b0[_0x231839(0xad)]()+PLAN_TTL_MS)['toISOString'](),'snapshotHash':_0x502449['snapshotHash'],'recursive':_0x502449['selector'][_0x231839(0xeb)]===!![],'target':_0x502449[_0x231839(0xae)],'targetFingerprint':fingerprint(_0x502449['before']),'targets':_0x5aac32,'targetFingerprints':_0x5aac32['map'](fingerprint),'deleteOrder':_0x31ec1e,'cascade':_0x502449[_0x231839(0xde)]??{'pages':_0x502449[_0x231839(0xae)][_0x231839(0xa1)]==null?[]:[_0x502449[_0x231839(0xae)]['pageId']],'pageSchemaAffected':_0x502449[_0x231839(0xae)][_0x231839(0xa1)]!=null},'warnings':[..._0x502449[_0x231839(0xaf)]]};}export async function writeMenuDeletePlan(_0x48a63b,_0x55ea03){const _0x154dd6=a119_0x3414f8,_0x57aac3=resolvePlanPath(_0x48a63b,'plan-out');await mkdir(dirname(_0x57aac3),{'recursive':!![]});try{await writeFile(_0x57aac3,JSON[_0x154dd6(0xf1)](_0x55ea03,null,0x2)+'\x0a',{'encoding':_0x154dd6(0xa0),'flag':'wx'});}catch(_0x861815){if(_0x861815[_0x154dd6(0xa5)]===_0x154dd6(0x9b))throw menuError(_0x154dd6(0x9f),'Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20'+_0x57aac3,'Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.');throw menuError(_0x154dd6(0xd4),'Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x57aac3+':\x20'+errorMessage(_0x861815));}return _0x57aac3;}export async function readMenuDeletePlan(_0x409625){const _0x39fb38=a119_0x3414f8,_0x200b54=resolvePlanPath(_0x409625,_0x39fb38(0xd8));let _0x83ee4e;try{_0x83ee4e=(await stat(_0x200b54))['size'];}catch(_0x15cfa5){throw menuError(_0x39fb38(0x97),_0x39fb38(0xd9)+_0x200b54+':\x20'+errorMessage(_0x15cfa5));}if(_0x83ee4e>MAX_PLAN_BYTES)throw menuError(_0x39fb38(0x97),_0x39fb38(0xcb)+_0x83ee4e+_0x39fb38(0xf2));let _0x2942be;try{_0x2942be=JSON[_0x39fb38(0xe7)](await readFile(_0x200b54,'utf8'));}catch(_0x15c837){throw menuError(_0x39fb38(0x97),'Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20'+errorMessage(_0x15c837));}if(!isMenuDeletePlanFile(_0x2942be))throw menuError(_0x39fb38(0x97),_0x39fb38(0x9d)+PLAN_VERSION+'\x20of\x20the\x20'+PLAN_COMMAND+_0x39fb38(0xca));if(!sameFingerprint(_0x2942be[_0x39fb38(0xb7)],fingerprint(_0x2942be['target'])))throw menuError(_0x39fb38(0x97),_0x39fb38(0x93),_0x39fb38(0x94));if(!_0x2942be[_0x39fb38(0xbd)][_0x39fb38(0xe0)]((_0xb9ff96,_0x5a07b0)=>sameFingerprint(_0x2942be[_0x39fb38(0xcc)][_0x5a07b0],fingerprint(_0xb9ff96)))||!sameFingerprint(_0x2942be[_0x39fb38(0xb7)],fingerprint(_0x2942be[_0x39fb38(0xbd)][_0x2942be['targets'][_0x39fb38(0xa6)]-0x1])))throw menuError('menu_plan_invalid',_0x39fb38(0xa3),_0x39fb38(0x94));return{'path':_0x200b54,'plan':_0x2942be};}export function mutationPlanFromDeleteFile(_0x8febc4,_0x1c3779){const _0x270aed=a119_0x3414f8;return mutationResult({'operation':'delete','selector':{'id':_0x8febc4[_0x270aed(0xb6)]['id'],'recursive':_0x8febc4[_0x270aed(0xeb)]},'before':_0x8febc4[_0x270aed(0xb6)],'after':null,'dryRun':![],'backend':[{'method':_0x270aed(0xef),'path':'/smartapi/menu/batchDelete'}],'plannedActions':[{'stage':_0x270aed(0xb3),'method':_0x270aed(0xef),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x8febc4[_0x270aed(0x96)]}}],'targets':_0x8febc4['targets'],'deleteOrder':_0x8febc4[_0x270aed(0x96)],'snapshotHash':_0x8febc4['snapshotHash'],'cascade':_0x8febc4['cascade'],'planFile':{'path':_0x1c3779,'createdAt':_0x8febc4[_0x270aed(0xdb)],'expiresAt':_0x8febc4[_0x270aed(0x9a)]},'warnings':_0x8febc4['warnings']});}export function assertMenuDeletePlanCurrent(_0x28dae6,_0x1c94d3,_0x5ca77c,_0x584bac=new Date()){const _0x44e3bd=a119_0x3414f8;assertMenuDeletePlanExecutable(_0x28dae6,_0x1c94d3,_0x584bac);if(_0x5ca77c['hash']!==_0x28dae6[_0x44e3bd(0xc1)])throw menuError(_0x44e3bd(0xb8),_0x44e3bd(0xa4),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.');return _0x28dae6[_0x44e3bd(0xbd)]['map']((_0x2fc6a3,_0x242ec1)=>{const _0x2824cc=_0x44e3bd,_0x2189f1=_0x5ca77c['byId']['get'](_0x2fc6a3['id']);if(!_0x2189f1)throw menuError(_0x2824cc(0xb8),_0x2824cc(0xa9)+_0x2fc6a3['id']+'\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.');if(!sameFingerprint(_0x28dae6[_0x2824cc(0xcc)][_0x242ec1],fingerprint(_0x2189f1)))throw menuError(_0x2824cc(0xb8),'Planned\x20menu\x20'+_0x2fc6a3['id']+_0x2824cc(0xe1),_0x2824cc(0xe4));return _0x2189f1;});}export function assertMenuDeletePlanExecutable(_0x4b7f73,_0x305b8f,_0x2135f5=new Date()){const _0x562bec=a119_0x3414f8;if(_0x4b7f73[_0x562bec(0xe9)]!==_0x305b8f)throw menuError(_0x562bec(0x9c),_0x562bec(0xc2)+JSON[_0x562bec(0xf1)](_0x4b7f73['appCode'])+_0x562bec(0xea)+JSON[_0x562bec(0xf1)](_0x305b8f)+'.');const _0x2a266d=Date[_0x562bec(0xe7)](_0x4b7f73[_0x562bec(0xdb)]),_0x28bdcc=Date[_0x562bec(0xe7)](_0x4b7f73[_0x562bec(0x9a)]);if(!Number[_0x562bec(0xac)](_0x2a266d)||!Number[_0x562bec(0xac)](_0x28bdcc)||_0x28bdcc-_0x2a266d!==PLAN_TTL_MS)throw menuError(_0x562bec(0x97),_0x562bec(0xec));if(_0x2a266d>_0x2135f5[_0x562bec(0xad)]())throw menuError('menu_plan_invalid',_0x562bec(0xdf)+_0x4b7f73[_0x562bec(0xdb)]+_0x562bec(0xb4),_0x562bec(0xa2));if(_0x2135f5[_0x562bec(0xad)]()>_0x28bdcc)throw menuError(_0x562bec(0xda),_0x562bec(0xaa)+_0x4b7f73[_0x562bec(0x9a)]+'.',_0x562bec(0xc9));}function fingerprint(_0x3e0bb0){const _0x33357c=a119_0x3414f8;return{'id':_0x3e0bb0['id'],'parentId':_0x3e0bb0[_0x33357c(0xdd)],'depth':_0x3e0bb0['depth'],'label':_0x3e0bb0['label'],'path':_0x3e0bb0[_0x33357c(0xe2)],'type':_0x3e0bb0[_0x33357c(0x98)],'visible':_0x3e0bb0[_0x33357c(0xd7)],'sort':_0x3e0bb0[_0x33357c(0xf5)],'pageId':_0x3e0bb0['pageId'],'pageType':_0x3e0bb0[_0x33357c(0x90)],'modelType':_0x3e0bb0[_0x33357c(0xe8)],'datasetId':_0x3e0bb0[_0x33357c(0xe6)],'datasetCode':_0x3e0bb0[_0x33357c(0xb9)],'childrenIds':[..._0x3e0bb0[_0x33357c(0xc7)]],'childrenCount':_0x3e0bb0[_0x33357c(0xcf)],'resourcesValid':_0x3e0bb0['resourcesValid'],'resourcesHash':hashValue(_0x3e0bb0[_0x33357c(0xab)]),'extendHash':hashValue(_0x3e0bb0[_0x33357c(0xce)]??null),'updateTime':_0x3e0bb0[_0x33357c(0xd5)]};}function hashValue(_0x42752f){const _0x397c92=a119_0x3414f8;return createHash(_0x397c92(0xc0))[_0x397c92(0xc8)](JSON[_0x397c92(0xf1)](_0x42752f))[_0x397c92(0xf6)](_0x397c92(0xf3));}function sameFingerprint(_0x567efb,_0x1bed5b){const _0x459c90=a119_0x3414f8;return JSON[_0x459c90(0xf1)](_0x567efb)===JSON[_0x459c90(0xf1)](_0x1bed5b);}function resolvePlanPath(_0x207bef,_0x35687a){const _0x2f0ede=a119_0x3414f8,_0x52e100=_0x207bef[_0x2f0ede(0xe5)]();if(!_0x52e100)throw menuError(_0x2f0ede(0x97),'--'+_0x35687a+'\x20requires\x20a\x20non-empty\x20file\x20path.');return resolve(_0x52e100);}function isMenuDeletePlanFile(_0x5485a0){const _0x1723ae=a119_0x3414f8;if(!isRecord(_0x5485a0))return![];return _0x5485a0['version']===PLAN_VERSION&&_0x5485a0['command']===PLAN_COMMAND&&typeof _0x5485a0[_0x1723ae(0xe9)]==='string'&&_0x5485a0[_0x1723ae(0xe9)][_0x1723ae(0xa6)]>0x0&&typeof _0x5485a0[_0x1723ae(0xdb)]==='string'&&typeof _0x5485a0[_0x1723ae(0x9a)]===_0x1723ae(0xba)&&typeof _0x5485a0['snapshotHash']===_0x1723ae(0xba)&&/^sha256:[a-f0-9]{64}$/[_0x1723ae(0xc4)](_0x5485a0[_0x1723ae(0xc1)])&&typeof _0x5485a0['recursive']===_0x1723ae(0xd1)&&isMenuFact(_0x5485a0['target'])&&isTargetFingerprint(_0x5485a0[_0x1723ae(0xb7)])&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xbd)])&&_0x5485a0[_0x1723ae(0xbd)][_0x1723ae(0xa6)]>0x0&&_0x5485a0[_0x1723ae(0xbd)][_0x1723ae(0xe0)](isMenuFact)&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xcc)])&&_0x5485a0['targetFingerprints'][_0x1723ae(0xa6)]===_0x5485a0[_0x1723ae(0xbd)]['length']&&_0x5485a0[_0x1723ae(0xcc)][_0x1723ae(0xe0)](isTargetFingerprint)&&Array['isArray'](_0x5485a0[_0x1723ae(0x96)])&&_0x5485a0[_0x1723ae(0x96)]['length']===_0x5485a0[_0x1723ae(0xbd)]['length']&&_0x5485a0[_0x1723ae(0x96)][_0x1723ae(0xe0)](isPositiveInteger)&&new Set(_0x5485a0[_0x1723ae(0x96)])[_0x1723ae(0xf0)]===_0x5485a0[_0x1723ae(0x96)][_0x1723ae(0xa6)]&&_0x5485a0[_0x1723ae(0xbd)]['every']((_0x1f8560,_0x11d23f)=>_0x1f8560['id']===_0x5485a0['deleteOrder'][_0x11d23f])&&_0x5485a0[_0x1723ae(0xbd)][_0x5485a0[_0x1723ae(0xbd)][_0x1723ae(0xa6)]-0x1]?.['id']===_0x5485a0[_0x1723ae(0xb6)]['id']&&isRecord(_0x5485a0[_0x1723ae(0xde)])&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xde)][_0x1723ae(0xc6)])&&_0x5485a0['cascade']['pages']['every'](isPositiveInteger)&&typeof _0x5485a0['cascade'][_0x1723ae(0x9e)]===_0x1723ae(0xd1)&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xaf)])&&_0x5485a0['warnings'][_0x1723ae(0xe0)](_0x16caa6=>typeof _0x16caa6===_0x1723ae(0xba));}function isMenuFact(_0x18c156){const _0x1c0277=a119_0x3414f8;if(!isRecord(_0x18c156))return![];return isPositiveInteger(_0x18c156['id'])&&(_0x18c156[_0x1c0277(0xdd)]===null||isPositiveInteger(_0x18c156['parentId']))&&Number[_0x1c0277(0xa8)](_0x18c156[_0x1c0277(0xee)])&&_0x18c156[_0x1c0277(0xee)]>=0x0&&typeof _0x18c156[_0x1c0277(0xb5)]===_0x1c0277(0xba)&&typeof _0x18c156['path']==='string'&&typeof _0x18c156[_0x1c0277(0x98)]===_0x1c0277(0xba)&&(_0x18c156[_0x1c0277(0xd7)]===null||typeof _0x18c156[_0x1c0277(0xd7)]===_0x1c0277(0xd1))&&(_0x18c156[_0x1c0277(0xf5)]===null||Number[_0x1c0277(0xa8)](_0x18c156['sort']))&&Array[_0x1c0277(0x99)](_0x18c156[_0x1c0277(0xab)])&&_0x18c156[_0x1c0277(0xab)][_0x1c0277(0xe0)](_0x573e9e=>typeof _0x573e9e===_0x1c0277(0xba))&&typeof _0x18c156['resourcesValid']===_0x1c0277(0xd1)&&Array[_0x1c0277(0x99)](_0x18c156[_0x1c0277(0xc7)])&&_0x18c156[_0x1c0277(0xc7)][_0x1c0277(0xe0)](isPositiveInteger)&&Number['isInteger'](_0x18c156[_0x1c0277(0xcf)])&&_0x18c156[_0x1c0277(0xcf)]>=0x0&&(_0x18c156[_0x1c0277(0xa1)]===null||isPositiveInteger(_0x18c156[_0x1c0277(0xa1)]))&&typeof _0x18c156[_0x1c0277(0x90)]==='string'&&typeof _0x18c156[_0x1c0277(0xe8)]===_0x1c0277(0xba)&&(_0x18c156['datasetId']===null||isPositiveInteger(_0x18c156[_0x1c0277(0xe6)]))&&typeof _0x18c156['datasetCode']==='string'&&(_0x18c156['updateUserId']===null||typeof _0x18c156[_0x1c0277(0xd3)]===_0x1c0277(0xba))&&(_0x18c156['updateUserName']===null||typeof _0x18c156['updateUserName']===_0x1c0277(0xba))&&(_0x18c156['updateTime']===null||typeof _0x18c156[_0x1c0277(0xd5)]===_0x1c0277(0xba)||typeof _0x18c156[_0x1c0277(0xd5)]===_0x1c0277(0xcd))&&(_0x18c156[_0x1c0277(0xce)]===undefined||_0x18c156[_0x1c0277(0xce)]===null||isRecord(_0x18c156[_0x1c0277(0xce)]));}function a119_0x4b6b(){const _0x1bf375=['68cCdYIN','batch-delete-menu','\x20is\x20in\x20the\x20future.','label','target','targetFingerprint','menu_state_drift','datasetCode','string','menu\x20delete','11770957wIEVrY','targets','extendHash','toISOString','sha256','snapshotHash','Menu\x20delete\x20plan\x20targets\x20app\x20','resourcesHash','test','68bvhZzw','pages','childrenIds','update','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','\x20contract.','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','targetFingerprints','number','extend','childrenCount','12dlbLAm','boolean','36KoDpmj','updateUserId','menu_plan_write_failed','updateTime','resourcesValid','visible','plan','Cannot\x20read\x20menu\x20delete\x20plan\x20','menu_plan_expired','createdAt','map','parentId','cascade','Menu\x20delete\x20plan\x20creation\x20time\x20','every','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','path','message','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','trim','datasetId','parse','modelType','appCode',',\x20current\x20app\x20is\x20','recursive','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','117016bezRpW','depth','POST','size','stringify','\x20bytes.','hex','1214381QJBInJ','sort','digest','pageType','14486710aTyaYv','1315180JmNeOz','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','270935mYGkRn','deleteOrder','menu_plan_invalid','type','isArray','expiresAt','EEXIST','menu_plan_app_mismatch','Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20','pageSchemaAffected','menu_plan_file_exists','utf8','pageId','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','code','length','234cmHJHM','isInteger','Planned\x20menu\x20','Menu\x20delete\x20plan\x20expired\x20at\x20','resources','isFinite','getTime','before','warnings','17265QRtfse','object'];a119_0x4b6b=function(){return _0x1bf375;};return a119_0x4b6b();}function isTargetFingerprint(_0x24e897){const _0x104d6a=a119_0x3414f8;if(!isRecord(_0x24e897))return![];return isPositiveInteger(_0x24e897['id'])&&(_0x24e897[_0x104d6a(0xdd)]===null||isPositiveInteger(_0x24e897[_0x104d6a(0xdd)]))&&Number[_0x104d6a(0xa8)](_0x24e897[_0x104d6a(0xee)])&&_0x24e897[_0x104d6a(0xee)]>=0x0&&typeof _0x24e897[_0x104d6a(0xb5)]===_0x104d6a(0xba)&&typeof _0x24e897['path']==='string'&&typeof _0x24e897[_0x104d6a(0x98)]===_0x104d6a(0xba)&&(_0x24e897['visible']===null||typeof _0x24e897[_0x104d6a(0xd7)]===_0x104d6a(0xd1))&&(_0x24e897['sort']===null||Number[_0x104d6a(0xa8)](_0x24e897[_0x104d6a(0xf5)]))&&(_0x24e897[_0x104d6a(0xa1)]===null||isPositiveInteger(_0x24e897[_0x104d6a(0xa1)]))&&typeof _0x24e897['pageType']===_0x104d6a(0xba)&&typeof _0x24e897['modelType']===_0x104d6a(0xba)&&(_0x24e897[_0x104d6a(0xe6)]===null||isPositiveInteger(_0x24e897[_0x104d6a(0xe6)]))&&typeof _0x24e897['datasetCode']===_0x104d6a(0xba)&&Array[_0x104d6a(0x99)](_0x24e897[_0x104d6a(0xc7)])&&_0x24e897[_0x104d6a(0xc7)][_0x104d6a(0xe0)](isPositiveInteger)&&Number['isInteger'](_0x24e897[_0x104d6a(0xcf)])&&_0x24e897[_0x104d6a(0xcf)]>=0x0&&typeof _0x24e897[_0x104d6a(0xd6)]===_0x104d6a(0xd1)&&typeof _0x24e897['resourcesHash']===_0x104d6a(0xba)&&/^[a-f0-9]{64}$/[_0x104d6a(0xc4)](_0x24e897[_0x104d6a(0xc3)])&&typeof _0x24e897[_0x104d6a(0xbe)]===_0x104d6a(0xba)&&/^[a-f0-9]{64}$/[_0x104d6a(0xc4)](_0x24e897[_0x104d6a(0xbe)])&&(_0x24e897[_0x104d6a(0xd5)]===null||typeof _0x24e897[_0x104d6a(0xd5)]==='string'||typeof _0x24e897[_0x104d6a(0xd5)]==='number');}function isRecord(_0x389d6d){const _0x637d98=a119_0x3414f8;return typeof _0x389d6d===_0x637d98(0xb1)&&_0x389d6d!==null&&!Array[_0x637d98(0x99)](_0x389d6d);}function isPositiveInteger(_0x45886d){return Number['isSafeInteger'](_0x45886d)&&Number(_0x45886d)>0x0;}function errorMessage(_0x31615a){const _0x429115=a119_0x3414f8;return _0x31615a instanceof Error?_0x31615a[_0x429115(0xe3)]:String(_0x31615a);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4b259a,_0x338a0a){const _0x52790b=a120_0x3492,_0x40048e=_0x4b259a();while(!![]){try{const _0x219906=-parseInt(_0x52790b(0x11e))/0x1*(-parseInt(_0x52790b(0x140))/0x2)+-parseInt(_0x52790b(0x148))/0x3+-parseInt(_0x52790b(0x147))/0x4*(-parseInt(_0x52790b(0x132))/0x5)+parseInt(_0x52790b(0x138))/0x6*(parseInt(_0x52790b(0x116))/0x7)+-parseInt(_0x52790b(0x11f))/0x8*(-parseInt(_0x52790b(0x145))/0x9)+parseInt(_0x52790b(0x11d))/0xa+-parseInt(_0x52790b(0x130))/0xb;if(_0x219906===_0x338a0a)break;else _0x40048e['push'](_0x40048e['shift']());}catch(_0x21864b){_0x40048e['push'](_0x40048e['shift']());}}}(a120_0x3ce5,0x8699e));import{createHash}from'node:crypto';import{getMenuTree}from'../../../core/api-client.js';export async function fetchMenuSnapshot(_0x1f1c3d,_0x5dacf2,_0x284ab3={}){const _0x4d42e7=a120_0x3492,_0x50c6a5=await getMenuTree(_0x1f1c3d,_0x5dacf2);return buildMenuSnapshot(Array[_0x4d42e7(0x13f)](_0x50c6a5)?_0x50c6a5:[],_0x284ab3);}export function buildMenuSnapshot(_0x1f1535,_0xe68ad8={}){const _0x64019c=a120_0x3492,_0x3cd001=flattenMenuItems(_0x1f1535,{'verbose':_0xe68ad8[_0x64019c(0x119)]===!![],'parentId':null,'depth':0x0}),_0x4effed=new Map(_0x3cd001['map'](_0x3e4661=>[_0x3e4661['id'],_0x3e4661])),_0x246a75=createHash(_0x64019c(0x12d))[_0x64019c(0x121)](JSON[_0x64019c(0x13d)](_0x3cd001[_0x64019c(0x11c)](toHashInput)))['digest'](_0x64019c(0x12a));return{'total':_0x3cd001[_0x64019c(0x12b)],'hash':_0x64019c(0x128)+_0x246a75,'menus':_0x3cd001,'byId':_0x4effed};}function a120_0x3ce5(){const _0x522b2d=['verbose','sort','type','map','9097110viwHXq','53FEyaAt','1971528gubvMi','url','update','modelType','filter','string','depth','label','updateUserId','sha256:','updateTime','hex','length','index','sha256','boolean','POSITIVE_INFINITY','32608686ZcByix','path','15PrTJYe','isFinite','children','resourcesValid','parse','parentId','41610yiRDpF','item','visible','push','pageType','stringify','extend','isArray','39502hoVtAI','menus','pageId','number','resources','27qwTVKV','values','988460rLhvGv','138780crlxAk','updateUserName','datasetCode','126Vfxdda','valid','datasetId'];a120_0x3ce5=function(){return _0x522b2d;};return a120_0x3ce5();}export function toProcessedMenuItem(_0x4f5257){const _0x150cb1=a120_0x3492;return{'id':_0x4f5257['id'],'path':_0x4f5257['path'],'label':_0x4f5257[_0x150cb1(0x126)],'resources':[..._0x4f5257['resources']],'extend':_0x4f5257[_0x150cb1(0x13e)]??null};}export function toMenuListItem(_0x4bcd89){const {modelType:_0x4d8676,datasetId:_0x1add77,datasetCode:_0x31ecd8,resourcesValid:_0x1c61db,..._0x1a3a35}=_0x4bcd89;return _0x1a3a35;}export function getChildren(_0x1e6b6e,_0x620ab1){const _0x578132=a120_0x3492;return _0x1e6b6e[_0x578132(0x141)][_0x578132(0x123)](_0x2c3494=>_0x2c3494[_0x578132(0x137)]===_0x620ab1);}function flattenMenuItems(_0x2948d1,_0x4d3af6){const _0x31bfff=a120_0x3492,_0x2f446a=sortMenuItems(_0x2948d1),_0x1b3338=[];for(const _0x393819 of _0x2f446a){const _0x97da56=sortMenuItems(Array[_0x31bfff(0x13f)](_0x393819[_0x31bfff(0x134)])?_0x393819[_0x31bfff(0x134)]:[]);_0x1b3338[_0x31bfff(0x13b)](toMenuFact(_0x393819,_0x97da56,_0x4d3af6)),_0x97da56[_0x31bfff(0x12b)]>0x0&&_0x1b3338[_0x31bfff(0x13b)](...flattenMenuItems(_0x97da56,{'verbose':_0x4d3af6[_0x31bfff(0x119)],'parentId':_0x393819['id'],'depth':_0x4d3af6[_0x31bfff(0x125)]+0x1}));}return _0x1b3338;}function sortMenuItems(_0x381700){const _0x3e7956=a120_0x3492;return _0x381700[_0x3e7956(0x11c)]((_0x176149,_0x461a5b)=>({'item':_0x176149,'index':_0x461a5b}))['sort']((_0x5a947d,_0x54a584)=>{const _0x2e37a4=_0x3e7956,_0x2f7145=normalizeSort(_0x5a947d[_0x2e37a4(0x139)][_0x2e37a4(0x11a)]),_0x504432=normalizeSort(_0x54a584['item']['sort']);if(_0x2f7145!==_0x504432)return _0x2f7145-_0x504432;return _0x5a947d[_0x2e37a4(0x12c)]-_0x54a584['index'];})['map'](({item:_0xef876c})=>_0xef876c);}function toMenuFact(_0x2f7aaf,_0x4472dc,_0x59fe65){const _0x20649e=a120_0x3492,_0x183a7b=normalizeResourceValue(_0x2f7aaf['extend']?.[_0x20649e(0x144)]),_0x1ccfe8={'id':_0x2f7aaf['id'],'parentId':_0x59fe65[_0x20649e(0x137)],'depth':_0x59fe65[_0x20649e(0x125)],'label':normalizeString(_0x2f7aaf[_0x20649e(0x126)]),'path':normalizeString(_0x2f7aaf[_0x20649e(0x131)]),'url':normalizeString(_0x2f7aaf[_0x20649e(0x120)]),'type':normalizeString(_0x2f7aaf[_0x20649e(0x11b)]),'visible':typeof _0x2f7aaf[_0x20649e(0x13a)]===_0x20649e(0x12e)?_0x2f7aaf[_0x20649e(0x13a)]:null,'sort':typeof _0x2f7aaf[_0x20649e(0x11a)]==='number'&&Number['isFinite'](_0x2f7aaf[_0x20649e(0x11a)])?_0x2f7aaf[_0x20649e(0x11a)]:null,'resources':_0x183a7b[_0x20649e(0x146)],'resourcesValid':_0x183a7b[_0x20649e(0x117)],'childrenIds':_0x4472dc['map'](_0x5f5aac=>_0x5f5aac['id']),'childrenCount':_0x4472dc[_0x20649e(0x12b)],'pageId':normalizeNullableNumber(_0x2f7aaf[_0x20649e(0x142)]),'pageType':normalizeString(_0x2f7aaf[_0x20649e(0x13c)]),'modelType':normalizeString(_0x2f7aaf['modelType']),'datasetId':normalizeNullableNumber(_0x2f7aaf[_0x20649e(0x118)]),'datasetCode':normalizeString(_0x2f7aaf[_0x20649e(0x115)]),'updateUserId':normalizeNullableString(_0x2f7aaf[_0x20649e(0x127)]),'updateUserName':normalizeNullableString(_0x2f7aaf[_0x20649e(0x114)]),'updateTime':normalizeNullableTimestamp(_0x2f7aaf['updateTime'])};return _0x59fe65[_0x20649e(0x119)]&&(_0x1ccfe8[_0x20649e(0x13e)]=_0x2f7aaf[_0x20649e(0x13e)]??null),_0x1ccfe8;}function toHashInput(_0x229c16){const _0x9857d0=a120_0x3492;return{'id':_0x229c16['id'],'parentId':_0x229c16[_0x9857d0(0x137)],'label':_0x229c16['label'],'path':_0x229c16['path'],'url':_0x229c16[_0x9857d0(0x120)],'type':_0x229c16[_0x9857d0(0x11b)],'visible':_0x229c16['visible'],'sort':_0x229c16[_0x9857d0(0x11a)],'resources':_0x229c16[_0x9857d0(0x144)],'resourcesValid':_0x229c16[_0x9857d0(0x135)],'childrenIds':_0x229c16['childrenIds'],'pageId':_0x229c16[_0x9857d0(0x142)],'pageType':_0x229c16['pageType'],'modelType':_0x229c16[_0x9857d0(0x122)],'datasetId':_0x229c16[_0x9857d0(0x118)],'datasetCode':_0x229c16['datasetCode'],'updateUserId':_0x229c16[_0x9857d0(0x127)],'updateUserName':_0x229c16[_0x9857d0(0x114)],'updateTime':_0x229c16[_0x9857d0(0x129)]};}function a120_0x3492(_0x317d9f,_0x4c5a1a){_0x317d9f=_0x317d9f-0x114;const _0x3ce5aa=a120_0x3ce5();let _0x34920a=_0x3ce5aa[_0x317d9f];return _0x34920a;}function normalizeSort(_0x428939){const _0x46d10c=a120_0x3492;return typeof _0x428939===_0x46d10c(0x143)&&Number[_0x46d10c(0x133)](_0x428939)?_0x428939:Number[_0x46d10c(0x12f)];}function normalizeString(_0x268f5d){const _0x4a16df=a120_0x3492;return typeof _0x268f5d===_0x4a16df(0x124)?_0x268f5d:'';}function normalizeNullableNumber(_0x5c2e71){const _0x2778c4=a120_0x3492;return typeof _0x5c2e71===_0x2778c4(0x143)&&Number['isFinite'](_0x5c2e71)?_0x5c2e71:null;}function normalizeNullableString(_0x2eb110){const _0x2500b0=a120_0x3492;return typeof _0x2eb110===_0x2500b0(0x124)&&_0x2eb110[_0x2500b0(0x12b)]>0x0?_0x2eb110:null;}function normalizeNullableTimestamp(_0xf41be5){const _0x9c5a9e=a120_0x3492;if(typeof _0xf41be5===_0x9c5a9e(0x124))return _0xf41be5[_0x9c5a9e(0x12b)]>0x0?_0xf41be5:null;return typeof _0xf41be5==='number'&&Number[_0x9c5a9e(0x133)](_0xf41be5)?_0xf41be5:null;}export function normalizeResources(_0x3e09a3){const _0x33cb0c=a120_0x3492;return normalizeResourceValue(_0x3e09a3)[_0x33cb0c(0x146)];}function normalizeResourceValue(_0x22a276){const _0x28aa3c=a120_0x3492;if(_0x22a276==null)return{'values':[],'valid':!![]};if(Array[_0x28aa3c(0x13f)](_0x22a276))return{'values':_0x22a276[_0x28aa3c(0x11c)](String),'valid':!![]};if(typeof _0x22a276!=='string')return{'values':[],'valid':![]};try{const _0x116d3c=JSON[_0x28aa3c(0x136)](_0x22a276);return Array['isArray'](_0x116d3c)?{'values':_0x116d3c['map'](String),'valid':!![]}:{'values':[],'valid':![]};}catch{return{'values':[],'valid':![]};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x319ce0,_0x11a3be){var _0x5158e0=a121_0x9f0c,_0x36807d=_0x319ce0();while(!![]){try{var _0x55d8fe=-parseInt(_0x5158e0(0x160))/0x1*(-parseInt(_0x5158e0(0x167))/0x2)+-parseInt(_0x5158e0(0x164))/0x3+-parseInt(_0x5158e0(0x168))/0x4*(parseInt(_0x5158e0(0x161))/0x5)+-parseInt(_0x5158e0(0x166))/0x6*(-parseInt(_0x5158e0(0x163))/0x7)+-parseInt(_0x5158e0(0x15e))/0x8+parseInt(_0x5158e0(0x165))/0x9+parseInt(_0x5158e0(0x15f))/0xa*(parseInt(_0x5158e0(0x162))/0xb);if(_0x55d8fe===_0x11a3be)break;else _0x36807d['push'](_0x36807d['shift']());}catch(_0x38fb45){_0x36807d['push'](_0x36807d['shift']());}}}(a121_0x5371,0xb0261));export*from'../../../commands/menu/shared/types.js';function a121_0x5371(){var _0x4ef0ff=['14144380ywGRFG','47oLBzGr','1075PeQpyR','11NnebXq','546MTaQBX','171993hrHVQV','3851523wTGUeZ','348coDCCg','48602nQiPmO','15956jOgHPu','10820680itgTRH'];a121_0x5371=function(){return _0x4ef0ff;};return a121_0x5371();}function a121_0x9f0c(_0x2a6262,_0x1d79f0){_0x2a6262=_0x2a6262-0x15e;var _0x537143=a121_0x5371();var _0x9f0c1c=_0x537143[_0x2a6262];return _0x9f0c1c;}export*from'../../../commands/menu/shared/logic.js';export*from'../../../commands/menu/shared/compare-table.js';export*from'../../../commands/menu/shared/inquirer.js';export*from'../../../commands/menu/shared/valid-url.js';export*from'../../../commands/menu/shared/local-pages.js';export*from'../../../commands/menu/shared/service.js';export*from'../../../commands/menu/shared/sync-core.js';export*from'../../../commands/menu/shared/update-core.js';
|