@lovrabet/rabetbase-cli 2.5.4-beta.4 → 2.5.4
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 +8 -2
- package/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/detail.d.ts +2 -0
- package/lib/commands/app/detail.js +1 -0
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.d.ts +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.d.ts +3 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/path.d.ts +2 -0
- package/lib/commands/menu/shared/path.js +1 -0
- package/lib/commands/menu/shared/service.d.ts +6 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/subapp-assets.d.ts +28 -0
- package/lib/commands/menu/shared/subapp-assets.js +1 -0
- package/lib/commands/menu/shared/sync-core.d.ts +2 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/types.d.ts +14 -4
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/subapp-assets-status.d.ts +2 -0
- package/lib/commands/menu/subapp-assets-status.js +1 -0
- package/lib/commands/menu/subapp-assets-update.d.ts +2 -0
- package/lib/commands/menu/subapp-assets-update.js +1 -0
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/feishu-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +15 -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/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/page/lr-smart-jsx.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +21 -12
- package/skills/rabetbase/guides/backend-function.md +2 -7
- package/skills/rabetbase/guides/bff-creation-workflow.md +24 -23
- package/skills/rabetbase/guides/host-frontend-integration.md +62 -0
- package/skills/rabetbase/guides/independent-deployment.md +45 -0
- package/skills/rabetbase/guides/troubleshooting.md +9 -1
- package/skills/rabetbase/references/rabetbase-app-detail.md +31 -0
- package/skills/rabetbase/references/rabetbase-bff-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-bff-push.md +2 -2
- package/skills/rabetbase/references/rabetbase-data-list-status.md +1 -0
- package/skills/rabetbase/references/rabetbase-deployment-sync-all.md +5 -1
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -7
- package/skills/rabetbase/references/rabetbase-menu-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-menu-subapp-assets-status.md +19 -0
- package/skills/rabetbase/references/rabetbase-menu-subapp-assets-update.md +27 -0
- package/skills/rabetbase/references/rabetbase-menu-sync.md +40 -14
- package/skills/rabetbase/references/rabetbase-page-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-generate-start.md +5 -3
- package/skills/rabetbase/references/rabetbase-page-generate-status.md +1 -0
- package/skills/rabetbase.manifest.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a151_0x404691=a151_0x3ca9;(function(_0x5e69d3,_0x2f8ddb){const _0x34a538=a151_0x3ca9,_0x15e6ea=_0x5e69d3();while(!![]){try{const _0x552407=parseInt(_0x34a538(0x139))/0x1*(parseInt(_0x34a538(0x13a))/0x2)+parseInt(_0x34a538(0x140))/0x3*(parseInt(_0x34a538(0xe8))/0x4)+-parseInt(_0x34a538(0x148))/0x5*(parseInt(_0x34a538(0x137))/0x6)+parseInt(_0x34a538(0xe9))/0x7+-parseInt(_0x34a538(0x101))/0x8+-parseInt(_0x34a538(0x153))/0x9+-parseInt(_0x34a538(0x14b))/0xa*(-parseInt(_0x34a538(0x111))/0xb);if(_0x552407===_0x2f8ddb)break;else _0x15e6ea['push'](_0x15e6ea['shift']());}catch(_0x179992){_0x15e6ea['push'](_0x15e6ea['shift']());}}}(a151_0x1d29,0x75f30));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a151_0x404691(0x129),'path':a151_0x404691(0x10c)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a151_0x404691(0x12a)},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a151_0x404691(0x107),'description':a151_0x404691(0xfd)},MENU_DELETE_PLAN_OUT_FLAG={'name':a151_0x404691(0xf8),'type':a151_0x404691(0xe1),'description':a151_0x404691(0x120)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a151_0x404691(0xe1),'description':a151_0x404691(0xf3)};export const menuDelete={'service':a151_0x404691(0x127),'command':a151_0x404691(0xe2),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x415238){const _0x4c74d1=a151_0x404691;_0x415238['bool'](_0x4c74d1(0x134))?validateDeleteDryRunInput(_0x415238):validateDeleteExecuteInput(_0x415238),requireExplicitYes(_0x415238);},async 'dryRun'(_0x33f672){const _0x387d43=a151_0x404691;validateDeleteDryRunInput(_0x33f672);const _0x414375=await buildDeletePlan(_0x33f672),_0x1f9c9d=createMenuDeletePlanFile(_0x33f672[_0x387d43(0x145)],_0x414375),_0x32d20c=await writeMenuDeletePlan(_0x33f672['str']('plan-out'),_0x1f9c9d),_0x3a979f=mutationResult({..._0x414375,'planFile':{'path':_0x32d20c,'createdAt':_0x1f9c9d[_0x387d43(0x136)],'expiresAt':_0x1f9c9d['expiresAt']}});return menuDryRunResult(_0x3a979f,{'method':_0x387d43(0x129),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x3a979f[_0x387d43(0x157)]},'description':'Would\x20batch\x20delete\x20'+(_0x3a979f[_0x387d43(0x157)]?.[_0x387d43(0xe3)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x3a979f[_0x387d43(0xe7)]['id']+_0x387d43(0x110)+_0x32d20c+'.'});},async 'execute'(_0x37dcc5){const _0x25696b=a151_0x404691;requireExplicitYes(_0x37dcc5),validateDeleteExecuteInput(_0x37dcc5);const _0x4e23cb=await readMenuDeletePlan(_0x37dcc5[_0x25696b(0x154)](_0x25696b(0xed))),_0x29a4f9=mutationPlanFromDeleteFile(_0x4e23cb[_0x25696b(0xed)],_0x4e23cb[_0x25696b(0x156)]),_0x4b1c3b=_0x4e23cb[_0x25696b(0xed)][_0x25696b(0x119)]['id'];try{assertMenuDeletePlanExecutable(_0x4e23cb[_0x25696b(0xed)],_0x37dcc5[_0x25696b(0x145)]);}catch(_0x21fb4d){throw menuFailure(asMenuError(_0x21fb4d),_0x29a4f9,{'stage':'plan-validation','failed':{'id':_0x4b1c3b}});}let _0x3738d7,_0x27a274;try{_0x3738d7=await fetchMutationSnapshot(_0x37dcc5,_0x25696b(0x100),_0x4b1c3b),_0x27a274=assertMenuDeletePlanCurrent(_0x4e23cb[_0x25696b(0xed)],_0x37dcc5[_0x25696b(0x145)],_0x3738d7),assertDeleteTargetsComplete(_0x4e23cb['plan'],_0x3738d7),_0x27a274[_0x25696b(0x14e)](_0xf5f07a=>assertDeleteSafety(_0xf5f07a,_0x4e23cb[_0x25696b(0xed)][_0x25696b(0x12e)])),assertNoSharedPages(_0x3738d7,_0x27a274),assertCascadeMatchesPlan(_0x29a4f9,_0x27a274);}catch(_0x12d586){throw menuFailure(asMenuError(_0x12d586),_0x29a4f9,{'stage':'pre-write-plan-validation','failed':{'id':_0x4b1c3b}});}const _0x3f8824=_0x4e23cb['plan'][_0x25696b(0x157)];let _0xbab302;try{_0xbab302=await batchDeleteMenuEntities(_0x37dcc5[_0x25696b(0x13e)],_0x3f8824);}catch(_0x24f6f6){const _0x1fb619=mapMenuApiError(_0x24f6f6,_0x25696b(0xf9)),_0x2064ba=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0xb50f1e;try{_0xb50f1e=await readDeleteOutcome(_0x37dcc5,_0x3f8824);}catch(_0x127336){const _0x287171=describeMenuErrorCause(_0x127336,_0x25696b(0xfa),_0x4b1c3b);_0x2064ba[_0x25696b(0x118)](_0x25696b(0xf7)+_0x287171[_0x25696b(0xde)]+_0x25696b(0xea)+_0x287171[_0x25696b(0xec)]);throw menuFailure(_0x1fb619,_0x29a4f9,{'stage':'batch-delete','failed':{'targetIds':_0x3f8824,'targetIdsAbsent':_0x25696b(0x123),..._0x287171},'warnings':_0x2064ba,'verification':{'status':_0x25696b(0xd9),'lookupCommand':_0x25696b(0x10d),'targetIds':_0x3f8824}});}throw menuFailure(_0x1fb619,_0x29a4f9,{'stage':_0x25696b(0xda),'succeeded':_0xb50f1e['absentIds'][_0x25696b(0x14a)](_0x41094e=>({'id':_0x41094e,'deleted':!![]})),'failed':{'targetIds':_0x3f8824,'absentIds':_0xb50f1e[_0x25696b(0xdf)],'remainingIds':_0xb50f1e[_0x25696b(0xd8)]},'warnings':_0x2064ba,'verification':verificationFromOutcome(_0xb50f1e)});}if(_0xbab302!==_0x3f8824[_0x25696b(0xe3)]){const _0x121b94=menuError(_0x25696b(0x12d),_0x25696b(0x10a)+_0xbab302+'\x20deleted\x20menus;\x20expected\x20'+_0x3f8824[_0x25696b(0xe3)]+'.',_0x25696b(0x10f)),_0x4e018c=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x12d9fb;try{_0x12d9fb=await readDeleteOutcome(_0x37dcc5,_0x3f8824);}catch(_0x1e50bf){const _0x5e5559=describeMenuErrorCause(_0x1e50bf,_0x25696b(0xfe),_0x4b1c3b);_0x4e018c['push'](_0x25696b(0xdd)+_0x5e5559[_0x25696b(0xde)]+_0x25696b(0xea)+_0x5e5559[_0x25696b(0xec)]);throw menuFailure(_0x121b94,_0x29a4f9,{'stage':_0x25696b(0xda),'failed':{'targetIds':_0x3f8824,'expectedCount':_0x3f8824['length'],'reportedDeletedCount':_0xbab302,'targetIdsAbsent':'unconfirmed',..._0x5e5559},'warnings':_0x4e018c,'verification':{'status':_0x25696b(0xd9),'lookupCommand':_0x25696b(0x10d),'targetIds':_0x3f8824}});}throw menuFailure(_0x121b94,_0x29a4f9,{'stage':_0x25696b(0xda),'succeeded':_0x12d9fb[_0x25696b(0xdf)][_0x25696b(0x14a)](_0x301a47=>({'id':_0x301a47,'deleted':!![]})),'failed':{'targetIds':_0x3f8824,'expectedCount':_0x3f8824[_0x25696b(0xe3)],'reportedDeletedCount':_0xbab302,'absentIds':_0x12d9fb[_0x25696b(0xdf)],'remainingIds':_0x12d9fb[_0x25696b(0xd8)]},'warnings':_0x4e018c,'verification':verificationFromOutcome(_0x12d9fb)});}let _0x310e70;try{_0x310e70=await readDeleteOutcome(_0x37dcc5,_0x3f8824);}catch(_0x481cd9){const _0x4e3233=describeMenuErrorCause(_0x481cd9,_0x25696b(0xf5),_0x4b1c3b),_0x24b438=asVerificationError(_0x481cd9,_0x25696b(0x121)+_0x4b1c3b+_0x25696b(0xe4));throw menuFailure(_0x24b438,_0x29a4f9,{'stage':_0x25696b(0x103),'succeeded':_0x3f8824[_0x25696b(0x14a)](_0x34c56a=>({'id':_0x34c56a,'deleteRequested':!![]})),'failed':{'id':_0x4b1c3b,'targetIds':_0x3f8824,'targetIdsAbsent':_0x25696b(0x123),..._0x4e3233},'warnings':[_0x25696b(0xe0)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x3f8824}});}if(_0x310e70['remainingIds']['length']>0x0){const _0x1c24ef=menuError(_0x25696b(0x14d),_0x25696b(0x138)+_0x310e70[_0x25696b(0xd8)]['join'](',\x20')+'.',_0x25696b(0x10f));throw menuFailure(_0x1c24ef,_0x29a4f9,{'stage':'verification','succeeded':_0x3f8824[_0x25696b(0x14a)](_0x27678b=>({'id':_0x27678b,'deleteRequested':!![]})),'failed':{'id':_0x4b1c3b,'targetIds':_0x3f8824,'absentIds':_0x310e70[_0x25696b(0xdf)],'remainingIds':_0x310e70['remainingIds']},'warnings':[_0x25696b(0x132)],'verification':verificationFromOutcome(_0x310e70)});}const _0x47b308=_0x3f8824[_0x25696b(0x14a)](_0x4042f7=>({'id':_0x4042f7,'deleted':!![]})),_0x509f4f=mutationResult({..._0x29a4f9,'dryRun':![],'succeeded':_0x47b308,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x29a4f9[_0x25696b(0x11e)],'finalSnapshotHash':_0x310e70[_0x25696b(0x10e)]['hash'],'reportedDeletedCount':_0xbab302,'targetAbsent':!_0x310e70[_0x25696b(0x10e)][_0x25696b(0x125)][_0x25696b(0x14f)](_0x4b1c3b),'allTargetsAbsent':!![],'targetIds':_0x3f8824}});return{'ok':!![],'data':_0x509f4f,'message':_0x25696b(0xe5)+_0x47b308[_0x25696b(0xe3)]+_0x25696b(0xfc)+_0x4b1c3b+'.'};}};async function readDeleteOutcome(_0xb30045,_0x3dfa27){const _0x3583a4=a151_0x404691,_0x7c0a09=await fetchMenuSnapshot(_0xb30045[_0x3583a4(0x145)],_0xb30045[_0x3583a4(0x13e)]);return{'snapshot':_0x7c0a09,'absentIds':_0x3dfa27[_0x3583a4(0x115)](_0x7a80f0=>!_0x7c0a09[_0x3583a4(0x125)][_0x3583a4(0x14f)](_0x7a80f0)),'remainingIds':_0x3dfa27['filter'](_0x206f90=>_0x7c0a09[_0x3583a4(0x125)][_0x3583a4(0x14f)](_0x206f90))};}function verificationFromOutcome(_0x5abac7){const _0x28cbae=a151_0x404691;return{'checkedBy':_0x28cbae(0x13f),'absentIds':_0x5abac7['absentIds'],'remainingIds':_0x5abac7[_0x28cbae(0xd8)]};}function validateDeleteDryRunInput(_0x3d82b8){const _0x35851d=a151_0x404691;validateExactId(_0x3d82b8);if(!hasFlag(_0x3d82b8,_0x35851d(0xf8))||!_0x3d82b8[_0x35851d(0x154)](_0x35851d(0xf8))[_0x35851d(0x11c)]())throw CliErrors[_0x35851d(0x147)](_0x35851d(0xf8),'--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x3d82b8,_0x35851d(0xed)))throw CliErrors[_0x35851d(0x109)](_0x35851d(0x14c));}function validateDeleteExecuteInput(_0x52c543){const _0x9b92eb=a151_0x404691;if(!hasFlag(_0x52c543,_0x9b92eb(0xed))||!_0x52c543[_0x9b92eb(0x154)](_0x9b92eb(0xed))[_0x9b92eb(0x11c)]())throw CliErrors[_0x9b92eb(0x147)]('plan',_0x9b92eb(0x158));const _0x41a331=['id',_0x9b92eb(0x12e),_0x9b92eb(0xf8),'expect-parent-id',_0x9b92eb(0x144),_0x9b92eb(0x112)][_0x9b92eb(0x115)](_0x34aded=>hasFlag(_0x52c543,_0x34aded));if(_0x41a331[_0x9b92eb(0xe3)]>0x0)throw CliErrors[_0x9b92eb(0x109)](_0x9b92eb(0x12f)+_0x41a331['map'](_0x302e15=>'--'+_0x302e15)[_0x9b92eb(0x151)](',\x20')+'.');}async function buildDeletePlan(_0x4fb7aa){const _0x7a51ef=a151_0x404691,_0xe0ad9a=validateExactId(_0x4fb7aa),_0x56512a=await fetchMutationSnapshot(_0x4fb7aa,_0x7a51ef(0x12c),_0xe0ad9a),_0x4586eb=requireMenu(_0x56512a,_0xe0ad9a);assertExpectedState(_0x4fb7aa,_0x4586eb);const _0x2fe050=_0x4fb7aa[_0x7a51ef(0x155)](_0x7a51ef(0x12e));let _0x5961fe;if(_0x2fe050){if(_0x4586eb[_0x7a51ef(0x131)][_0x7a51ef(0x11c)]()[_0x7a51ef(0xf1)]()!==_0x7a51ef(0x105))throw menuError(_0x7a51ef(0xdc),_0x7a51ef(0x102)+_0x4586eb['id']+_0x7a51ef(0xf6)+(_0x4586eb[_0x7a51ef(0x131)]||'unknown')+_0x7a51ef(0x117));_0x5961fe=collectDeleteTargets(_0x56512a,_0x4586eb),_0x5961fe[_0x7a51ef(0x14e)](_0x2844b0=>assertDeleteSafety(_0x2844b0,!![]));}else assertDeleteSafety(_0x4586eb),_0x5961fe=[_0x4586eb];assertNoSharedPages(_0x56512a,_0x5961fe);const _0xf3c83d=_0x5961fe['map'](_0x3f3512=>_0x3f3512['id']),_0x34adec=cascadeForTargets(_0x5961fe),_0x339629=_0x34adec[_0x7a51ef(0x10b)][_0x7a51ef(0xe3)]>0x0?[_0x7a51ef(0x13c)]:[];return mutationResult({'operation':_0x7a51ef(0xe2),'selector':{'id':_0xe0ad9a,'recursive':_0x2fe050},'before':_0x4586eb,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x7a51ef(0x11b),'method':_0x7a51ef(0x129),'path':_0x7a51ef(0x10c),'body':{'idList':_0xf3c83d}}],'targets':_0x5961fe,'deleteOrder':_0xf3c83d,'snapshotHash':_0x56512a[_0x7a51ef(0x146)],'cascade':_0x34adec,'warnings':_0x339629});}function assertDeleteSafety(_0x49e908,_0x206955=![]){const _0xc2aa50=a151_0x404691,_0x2a148f=_0x49e908[_0xc2aa50(0x131)][_0xc2aa50(0x11c)]()[_0xc2aa50(0xf1)]()==='folder';if(_0x49e908[_0xc2aa50(0x116)]>0x0&&(!_0x206955||!_0x2a148f))throw menuError(_0xc2aa50(0x152),_0xc2aa50(0x102)+_0x49e908['id']+'\x20has\x20'+_0x49e908[_0xc2aa50(0x116)]+_0xc2aa50(0xfb),_0xc2aa50(0x150)+_0x49e908[_0xc2aa50(0x11a)][_0xc2aa50(0x151)](',\x20'));if(_0x2a148f&&_0x49e908[_0xc2aa50(0x11d)]!=null)throw menuError(_0xc2aa50(0xf2),'Folder\x20'+_0x49e908['id']+_0xc2aa50(0xf4)+_0x49e908[_0xc2aa50(0x11d)]+_0xc2aa50(0x13b),_0xc2aa50(0x11f));if(!_0x2a148f)return;if(!_0x49e908[_0xc2aa50(0x108)])throw menuError(_0xc2aa50(0xee),'Folder\x20'+_0x49e908['id']+_0xc2aa50(0x124),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x49e908['resources']['length']>0x0)throw menuError(_0xc2aa50(0x12b),_0xc2aa50(0x113)+_0x49e908['id']+_0xc2aa50(0x141)+_0x49e908['resources'][_0xc2aa50(0xe3)]+_0xc2aa50(0x142),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x27b924,_0x163da4){const _0xb91be8=[],_0x272326=new Set(),_0x4d900b=new Set(),_0x4c0f41=_0x5a1436=>{const _0x3f0377=a151_0x3ca9;if(_0x272326[_0x3f0377(0x14f)](_0x5a1436['id']))throw menuError('menu_tree_invalid',_0x3f0377(0x143)+_0x5a1436['id']+'.');if(_0x4d900b[_0x3f0377(0x14f)](_0x5a1436['id']))return;_0x272326[_0x3f0377(0x122)](_0x5a1436['id']);for(const _0x10a2cc of _0x5a1436[_0x3f0377(0x11a)]){const _0x2d2d55=_0x27b924[_0x3f0377(0x125)][_0x3f0377(0xdb)](_0x10a2cc);if(!_0x2d2d55)throw menuError(_0x3f0377(0xf0),_0x3f0377(0x102)+_0x5a1436['id']+_0x3f0377(0xef)+_0x10a2cc+'.');_0x4c0f41(_0x2d2d55);}_0x272326['delete'](_0x5a1436['id']),_0x4d900b['add'](_0x5a1436['id']),_0xb91be8[_0x3f0377(0x118)](_0x5a1436);};return _0x4c0f41(_0x163da4),_0xb91be8;}function assertDeleteTargetsComplete(_0xc8e937,_0x1317ec){const _0x57cb34=a151_0x404691,_0x46f3df=requireMenu(_0x1317ec,_0xc8e937[_0x57cb34(0x119)]['id']);if(_0xc8e937['recursive']&&_0x46f3df[_0x57cb34(0x131)][_0x57cb34(0x11c)]()[_0x57cb34(0xf1)]()!==_0x57cb34(0x105))throw menuError(_0x57cb34(0x13d),_0x57cb34(0xeb)+_0x46f3df['id']+_0x57cb34(0x135));const _0x1adcec=_0xc8e937[_0x57cb34(0x12e)]?collectDeleteTargets(_0x1317ec,_0x46f3df)['map'](_0x53dd3e=>_0x53dd3e['id']):[_0x46f3df['id']];if(JSON[_0x57cb34(0x114)](_0xc8e937[_0x57cb34(0x157)])!==JSON[_0x57cb34(0x114)](_0x1adcec))throw menuError('menu_plan_invalid',_0x57cb34(0x104),_0x57cb34(0x106));}function a151_0x3ca9(_0x4657fc,_0x46019e){_0x4657fc=_0x4657fc-0xd8;const _0x1d294b=a151_0x1d29();let _0x3ca915=_0x1d294b[_0x4657fc];return _0x3ca915;}function a151_0x1d29(){const _0x1a3c89=['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','dry-run','\x20is\x20not\x20a\x20folder.','createdAt','1218jglYKr','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','97849Yzvedp','14xzgiPO','\x20and\x20cannot\x20be\x20deleted\x20safely.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','menu_plan_invalid','cookie','menu\x20list','326082XDSsQE','\x20still\x20references\x20','\x20resource\x20URL(s).','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','expect-path','appCode','hash','flagMissing','5570dFzhkA','indexOf','map','10xJrIVe','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','menu_verification_failed','forEach','has','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','join','menu_non_empty','1367271pbmuEX','str','bool','path','deleteOrder','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','remainingIds','failed','batch-delete','get','menu_recursive_requires_folder','Post-mismatch\x20menu\x20readback\x20failed\x20(','causeCode','absentIds','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','string','delete','length','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Deleted\x20','size','selector','4rweAkS','4546038XWPDto','):\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','causeMessage','plan','menu_folder_resources_invalid','\x20references\x20missing\x20child\x20','menu_tree_invalid','toLowerCase','menu_delete_page_bound','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','verify\x20batch\x20delete','\x20is\x20type\x20\x22','Post-failure\x20menu\x20readback\x20failed\x20(','plan-out','batch\x20delete','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','\x20menu(s)\x20under\x20exact\x20id\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','cascade','execute\x20reviewed\x20delete\x20plan','7387848MesXaS','Menu\x20','verification','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','folder','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','boolean','resourcesValid','validation','Backend\x20reported\x20','pages','/smartapi/menu/batchDelete','rabetbase\x20menu\x20list\x20--format\x20json','snapshot','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.',';\x20execution\x20must\x20consume\x20','3757501Mazkmf','expected-children-count','Folder\x20','stringify','filter','childrenCount','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','push','target','childrenIds','batch-delete-menu','trim','pageId','snapshotHash','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Batch\x20delete\x20request\x20for\x20menu\x20','add','unconfirmed','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','byId','\x20->\x20menu\x20','menu','message','POST','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','menu_folder_has_resources','plan\x20delete','menu_batch_delete_count_mismatch','recursive','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','menus','type'];a151_0x1d29=function(){return _0x1a3c89;};return a151_0x1d29();}function assertNoSharedPages(_0x2dd37a,_0x2fa572){const _0x241d84=a151_0x404691,_0x336443=new Set(_0x2fa572[_0x241d84(0x14a)](_0xc6b14=>_0xc6b14['id'])),_0xddb0c6=new Set(_0x2fa572[_0x241d84(0x14a)](_0x2c81d5=>_0x2c81d5[_0x241d84(0x11d)])[_0x241d84(0x115)](_0x330bc3=>_0x330bc3!=null));if(_0xddb0c6[_0x241d84(0xe6)]===0x0)return;const _0x43ba2b=_0x2dd37a[_0x241d84(0x130)][_0x241d84(0x115)](_0x4b345f=>!_0x336443['has'](_0x4b345f['id'])&&_0x4b345f[_0x241d84(0x11d)]!=null&&_0xddb0c6[_0x241d84(0x14f)](_0x4b345f[_0x241d84(0x11d)]));if(_0x43ba2b[_0x241d84(0xe3)]===0x0)return;const _0x3f9086=_0x43ba2b['map'](_0x3786c5=>'page\x20'+_0x3786c5['pageId']+_0x241d84(0x126)+_0x3786c5['id'])[_0x241d84(0x151)](',\x20');throw menuError('menu_page_shared','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x3f9086+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x225e56,_0x401ce8){const _0x3a9ec8=a151_0x404691,_0x139ef1=cascadeForTargets(_0x401ce8);if(JSON[_0x3a9ec8(0x114)](_0x225e56[_0x3a9ec8(0xff)])!==JSON[_0x3a9ec8(0x114)](_0x139ef1))throw menuError(_0x3a9ec8(0x13d),_0x3a9ec8(0x133));}function cascadeForTargets(_0x2e3773){const _0x3d97a0=a151_0x404691,_0x4e0970=_0x2e3773['map'](_0x2a2902=>_0x2a2902[_0x3d97a0(0x11d)])[_0x3d97a0(0x115)](_0x325cd6=>_0x325cd6!=null)['filter']((_0x506378,_0x1d6f09,_0x266bc1)=>_0x266bc1[_0x3d97a0(0x149)](_0x506378)===_0x1d6f09);return{'pages':_0x4e0970,'pageSchemaAffected':_0x4e0970[_0x3d97a0(0xe3)]>0x0};}function asMenuError(_0x2252fc){const _0xd8e487=a151_0x404691;return _0x2252fc instanceof CliError?_0x2252fc:menuError(_0xd8e487(0x13d),_0x2252fc instanceof Error?_0x2252fc[_0xd8e487(0x128)]:String(_0x2252fc));}
|
|
1
|
+
const a152_0x293dd9=a152_0x1513;(function(_0x1a8c03,_0x37a096){const _0x4cd8f8=a152_0x1513,_0x471572=_0x1a8c03();while(!![]){try{const _0x4d68dc=-parseInt(_0x4cd8f8(0x1e7))/0x1+-parseInt(_0x4cd8f8(0x1d2))/0x2+parseInt(_0x4cd8f8(0x207))/0x3+parseInt(_0x4cd8f8(0x1be))/0x4*(-parseInt(_0x4cd8f8(0x1cf))/0x5)+parseInt(_0x4cd8f8(0x1e2))/0x6*(parseInt(_0x4cd8f8(0x1c3))/0x7)+-parseInt(_0x4cd8f8(0x1e1))/0x8*(parseInt(_0x4cd8f8(0x1f6))/0x9)+parseInt(_0x4cd8f8(0x1ba))/0xa*(parseInt(_0x4cd8f8(0x1f9))/0xb);if(_0x4d68dc===_0x37a096)break;else _0x471572['push'](_0x471572['shift']());}catch(_0x44ec3c){_0x471572['push'](_0x471572['shift']());}}}(a152_0x19d2,0xe71e3));function a152_0x1513(_0x1a24b6,_0x3373b2){_0x1a24b6=_0x1a24b6-0x19f;const _0x19d255=a152_0x19d2();let _0x151352=_0x19d255[_0x1a24b6];return _0x151352;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a152_0x293dd9(0x1ef)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a152_0x293dd9(0x1ae)},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a152_0x293dd9(0x1d8),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a152_0x293dd9(0x1a0),'type':a152_0x293dd9(0x1ca),'description':a152_0x293dd9(0x19f)},MENU_DELETE_PLAN_FLAG={'name':a152_0x293dd9(0x1da),'type':a152_0x293dd9(0x1ca),'description':a152_0x293dd9(0x1f5)};export const menuDelete={'service':a152_0x293dd9(0x1f0),'command':a152_0x293dd9(0x1bf),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':a152_0x293dd9(0x1bb),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x16b6e8){const _0x2a6a8b=a152_0x293dd9;_0x16b6e8[_0x2a6a8b(0x1c2)]('dry-run')?validateDeleteDryRunInput(_0x16b6e8):validateDeleteExecuteInput(_0x16b6e8),requireExplicitYes(_0x16b6e8);},async 'dryRun'(_0x5b8a78){const _0x15512a=a152_0x293dd9;validateDeleteDryRunInput(_0x5b8a78);const _0x5ecbbf=await buildDeletePlan(_0x5b8a78),_0x313502=createMenuDeletePlanFile(_0x5b8a78[_0x15512a(0x1dd)],_0x5ecbbf),_0x4855b1=await writeMenuDeletePlan(_0x5b8a78[_0x15512a(0x1d4)](_0x15512a(0x1a0)),_0x313502),_0x4b342d=mutationResult({..._0x5ecbbf,'planFile':{'path':_0x4855b1,'createdAt':_0x313502[_0x15512a(0x1a9)],'expiresAt':_0x313502['expiresAt']}});return menuDryRunResult(_0x4b342d,{'method':_0x15512a(0x20b),'url':_0x15512a(0x1ef),'body':{'idList':_0x4b342d[_0x15512a(0x1de)]},'description':_0x15512a(0x1c0)+(_0x4b342d[_0x15512a(0x1de)]?.[_0x15512a(0x217)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x4b342d['selector']['id']+';\x20execution\x20must\x20consume\x20'+_0x4855b1+'.'});},async 'execute'(_0x594365){const _0x822ab5=a152_0x293dd9;requireExplicitYes(_0x594365),validateDeleteExecuteInput(_0x594365);const _0x36c561=await readMenuDeletePlan(_0x594365['str'](_0x822ab5(0x1da))),_0x46634b=mutationPlanFromDeleteFile(_0x36c561['plan'],_0x36c561[_0x822ab5(0x1e8)]),_0x4c4cae=_0x36c561[_0x822ab5(0x1da)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x36c561[_0x822ab5(0x1da)],_0x594365[_0x822ab5(0x1dd)]);}catch(_0x2dcf3c){throw menuFailure(asMenuError(_0x2dcf3c),_0x46634b,{'stage':_0x822ab5(0x1ee),'failed':{'id':_0x4c4cae}});}let _0x1b8fd2,_0x2f1092;try{_0x1b8fd2=await fetchMutationSnapshot(_0x594365,_0x822ab5(0x1e3),_0x4c4cae),_0x2f1092=assertMenuDeletePlanCurrent(_0x36c561[_0x822ab5(0x1da)],_0x594365[_0x822ab5(0x1dd)],_0x1b8fd2),assertDeleteTargetsComplete(_0x36c561[_0x822ab5(0x1da)],_0x1b8fd2),_0x2f1092[_0x822ab5(0x1f7)](_0x9b0881=>assertDeleteSafety(_0x9b0881,_0x36c561[_0x822ab5(0x1da)]['recursive'])),assertNoSharedPages(_0x1b8fd2,_0x2f1092),assertCascadeMatchesPlan(_0x46634b,_0x2f1092);}catch(_0x294bd8){throw menuFailure(asMenuError(_0x294bd8),_0x46634b,{'stage':_0x822ab5(0x1cd),'failed':{'id':_0x4c4cae}});}const _0x3a1660=_0x36c561[_0x822ab5(0x1da)]['deleteOrder'];let _0x46ad0a;try{_0x46ad0a=await batchDeleteMenuEntities(_0x594365[_0x822ab5(0x1d9)],_0x3a1660);}catch(_0x6ae82c){const _0x5ec5c8=mapMenuApiError(_0x6ae82c,_0x822ab5(0x214)),_0xd76b29=[_0x822ab5(0x1d0)];let _0x3abb83;try{_0x3abb83=await readDeleteOutcome(_0x594365,_0x3a1660);}catch(_0x1b6020){const _0x4afdf2=describeMenuErrorCause(_0x1b6020,_0x822ab5(0x1c6),_0x4c4cae);_0xd76b29[_0x822ab5(0x211)](_0x822ab5(0x1a2)+_0x4afdf2[_0x822ab5(0x1fe)]+_0x822ab5(0x1e4)+_0x4afdf2[_0x822ab5(0x1b6)]);throw menuFailure(_0x5ec5c8,_0x46634b,{'stage':_0x822ab5(0x1e9),'failed':{'targetIds':_0x3a1660,'targetIdsAbsent':_0x822ab5(0x20a),..._0x4afdf2},'warnings':_0xd76b29,'verification':{'status':_0x822ab5(0x1bd),'lookupCommand':_0x822ab5(0x1df),'targetIds':_0x3a1660}});}throw menuFailure(_0x5ec5c8,_0x46634b,{'stage':_0x822ab5(0x1e9),'succeeded':_0x3abb83[_0x822ab5(0x1b3)][_0x822ab5(0x1e6)](_0x3db025=>({'id':_0x3db025,'deleted':!![]})),'failed':{'targetIds':_0x3a1660,'absentIds':_0x3abb83[_0x822ab5(0x1b3)],'remainingIds':_0x3abb83['remainingIds']},'warnings':_0xd76b29,'verification':verificationFromOutcome(_0x3abb83)});}if(_0x46ad0a!==_0x3a1660['length']){const _0x363190=menuError(_0x822ab5(0x1e5),_0x822ab5(0x20e)+_0x46ad0a+'\x20deleted\x20menus;\x20expected\x20'+_0x3a1660[_0x822ab5(0x217)]+'.',_0x822ab5(0x1ad)),_0x3256cb=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x22bcf9;try{_0x22bcf9=await readDeleteOutcome(_0x594365,_0x3a1660);}catch(_0x16915f){const _0x34f41a=describeMenuErrorCause(_0x16915f,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x4c4cae);_0x3256cb[_0x822ab5(0x211)](_0x822ab5(0x1a6)+_0x34f41a['causeCode']+_0x822ab5(0x1e4)+_0x34f41a['causeMessage']);throw menuFailure(_0x363190,_0x46634b,{'stage':_0x822ab5(0x1e9),'failed':{'targetIds':_0x3a1660,'expectedCount':_0x3a1660[_0x822ab5(0x217)],'reportedDeletedCount':_0x46ad0a,'targetIdsAbsent':'unconfirmed',..._0x34f41a},'warnings':_0x3256cb,'verification':{'status':_0x822ab5(0x1bd),'lookupCommand':_0x822ab5(0x1df),'targetIds':_0x3a1660}});}throw menuFailure(_0x363190,_0x46634b,{'stage':_0x822ab5(0x1e9),'succeeded':_0x22bcf9[_0x822ab5(0x1b3)][_0x822ab5(0x1e6)](_0x56f32b=>({'id':_0x56f32b,'deleted':!![]})),'failed':{'targetIds':_0x3a1660,'expectedCount':_0x3a1660[_0x822ab5(0x217)],'reportedDeletedCount':_0x46ad0a,'absentIds':_0x22bcf9[_0x822ab5(0x1b3)],'remainingIds':_0x22bcf9[_0x822ab5(0x1d1)]},'warnings':_0x3256cb,'verification':verificationFromOutcome(_0x22bcf9)});}let _0x3358b8;try{_0x3358b8=await readDeleteOutcome(_0x594365,_0x3a1660);}catch(_0x52e25f){const _0x4a5d1b=describeMenuErrorCause(_0x52e25f,_0x822ab5(0x200),_0x4c4cae),_0x475680=asVerificationError(_0x52e25f,_0x822ab5(0x1c9)+_0x4c4cae+_0x822ab5(0x1ed));throw menuFailure(_0x475680,_0x46634b,{'stage':_0x822ab5(0x20d),'succeeded':_0x3a1660[_0x822ab5(0x1e6)](_0x3029a5=>({'id':_0x3029a5,'deleteRequested':!![]})),'failed':{'id':_0x4c4cae,'targetIds':_0x3a1660,'targetIdsAbsent':'unconfirmed',..._0x4a5d1b},'warnings':[_0x822ab5(0x206)],'verification':{'status':_0x822ab5(0x1bd),'lookupCommand':_0x822ab5(0x1df),'targetIds':_0x3a1660}});}if(_0x3358b8[_0x822ab5(0x1d1)][_0x822ab5(0x217)]>0x0){const _0x5229a5=menuError(_0x822ab5(0x1c8),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x3358b8[_0x822ab5(0x1d1)][_0x822ab5(0x1ce)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x5229a5,_0x46634b,{'stage':_0x822ab5(0x20d),'succeeded':_0x3a1660[_0x822ab5(0x1e6)](_0x277665=>({'id':_0x277665,'deleteRequested':!![]})),'failed':{'id':_0x4c4cae,'targetIds':_0x3a1660,'absentIds':_0x3358b8[_0x822ab5(0x1b3)],'remainingIds':_0x3358b8['remainingIds']},'warnings':[_0x822ab5(0x1b4)],'verification':verificationFromOutcome(_0x3358b8)});}const _0x450136=_0x3a1660[_0x822ab5(0x1e6)](_0xe3302c=>({'id':_0xe3302c,'deleted':!![]})),_0x478d9d=mutationResult({..._0x46634b,'dryRun':![],'succeeded':_0x450136,'verification':{'checkedBy':_0x822ab5(0x1ff),'plannedSnapshotHash':_0x46634b[_0x822ab5(0x205)],'finalSnapshotHash':_0x3358b8[_0x822ab5(0x1db)]['hash'],'reportedDeletedCount':_0x46ad0a,'targetAbsent':!_0x3358b8[_0x822ab5(0x1db)][_0x822ab5(0x1b9)][_0x822ab5(0x1ab)](_0x4c4cae),'allTargetsAbsent':!![],'targetIds':_0x3a1660}});return{'ok':!![],'data':_0x478d9d,'message':_0x822ab5(0x1a3)+_0x450136[_0x822ab5(0x217)]+_0x822ab5(0x218)+_0x4c4cae+'.'};}};async function readDeleteOutcome(_0x363def,_0xb26c15){const _0x1b5fc2=a152_0x293dd9,_0x1a99ec=await fetchMenuSnapshot(_0x363def[_0x1b5fc2(0x1dd)],_0x363def['cookie']);return{'snapshot':_0x1a99ec,'absentIds':_0xb26c15['filter'](_0x159845=>!_0x1a99ec[_0x1b5fc2(0x1b9)]['has'](_0x159845)),'remainingIds':_0xb26c15[_0x1b5fc2(0x20c)](_0x5c8fef=>_0x1a99ec[_0x1b5fc2(0x1b9)]['has'](_0x5c8fef))};}function a152_0x19d2(){const _0x416be1=['45JMaekz','forEach','menu_plan_invalid','319wIRrqA','size','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','hash','causeCode','menu\x20list','verify\x20batch\x20delete','validation','get','\x20is\x20not\x20a\x20folder.','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','snapshotHash','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','111663vipDzy','\x20has\x20','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','unconfirmed','POST','filter','verification','Backend\x20reported\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','recursive','push','Menu\x20','add','batch\x20delete','resources','menu_delete_page_bound','length','\x20menu(s)\x20under\x20exact\x20id\x20','page\x20','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','\x20is\x20type\x20\x22','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','plan-out','unknown','Post-failure\x20menu\x20readback\x20failed\x20(','Deleted\x20','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','stringify','Post-mismatch\x20menu\x20readback\x20failed\x20(','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','menu_folder_resources_invalid','createdAt','batch-delete-menu','has','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','Folder\x20','childrenCount','type','\x20and\x20cannot\x20be\x20deleted\x20safely.','absentIds','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','menu_recursive_requires_folder','causeMessage','trim','folder','byId','1130230TURHpV','high-risk-write','resourcesValid','failed','54964LVTJvv','delete','Would\x20batch\x20delete\x20','expect-path','bool','218610qPiNvQ','menu_page_shared','expected-children-count','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','menu_verification_failed','Batch\x20delete\x20request\x20for\x20menu\x20','string','cascade','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','pre-write-plan-validation','join','15DDfRqJ','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','remainingIds','3398334ZHNFPf','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','str','expect-parent-id','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','pageId','boolean','cookie','plan','snapshot','pages','appCode','deleteOrder','rabetbase\x20menu\x20list\x20--format\x20json','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','2992552NpCPUy','282odXGSP','execute\x20reviewed\x20delete\x20plan','):\x20','menu_batch_delete_count_mismatch','map','225304OzCLEs','path','batch-delete','\x20resource\x20URL(s).','flagMissing','childrenIds','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','plan-validation','/smartapi/menu/batchDelete','menu','target','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','menu_tree_invalid','toLowerCase','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'];a152_0x19d2=function(){return _0x416be1;};return a152_0x19d2();}function verificationFromOutcome(_0x4e65da){const _0x2d790e=a152_0x293dd9;return{'checkedBy':_0x2d790e(0x1ff),'absentIds':_0x4e65da[_0x2d790e(0x1b3)],'remainingIds':_0x4e65da[_0x2d790e(0x1d1)]};}function validateDeleteDryRunInput(_0x2fb2e1){const _0x52f4a7=a152_0x293dd9;validateExactId(_0x2fb2e1);if(!hasFlag(_0x2fb2e1,_0x52f4a7(0x1a0))||!_0x2fb2e1[_0x52f4a7(0x1d4)](_0x52f4a7(0x1a0))[_0x52f4a7(0x1b7)]())throw CliErrors[_0x52f4a7(0x1eb)](_0x52f4a7(0x1a0),_0x52f4a7(0x20f));if(hasFlag(_0x2fb2e1,'plan'))throw CliErrors[_0x52f4a7(0x201)](_0x52f4a7(0x1d3));}function validateDeleteExecuteInput(_0x375f52){const _0x4afef3=a152_0x293dd9;if(!hasFlag(_0x375f52,_0x4afef3(0x1da))||!_0x375f52[_0x4afef3(0x1d4)](_0x4afef3(0x1da))[_0x4afef3(0x1b7)]())throw CliErrors['flagMissing'](_0x4afef3(0x1da),_0x4afef3(0x21a));const _0xcda8ff=['id',_0x4afef3(0x210),_0x4afef3(0x1a0),_0x4afef3(0x1d5),_0x4afef3(0x1c1),_0x4afef3(0x1c5)]['filter'](_0x30b054=>hasFlag(_0x375f52,_0x30b054));if(_0xcda8ff[_0x4afef3(0x217)]>0x0)throw CliErrors[_0x4afef3(0x201)](_0x4afef3(0x1f2)+_0xcda8ff['map'](_0xc170f9=>'--'+_0xc170f9)['join'](',\x20')+'.');}async function buildDeletePlan(_0x3c3527){const _0x1bac96=a152_0x293dd9,_0x3732d4=validateExactId(_0x3c3527),_0x392f37=await fetchMutationSnapshot(_0x3c3527,'plan\x20delete',_0x3732d4),_0x25371c=requireMenu(_0x392f37,_0x3732d4);assertExpectedState(_0x3c3527,_0x25371c);const _0x1a66f2=_0x3c3527[_0x1bac96(0x1c2)](_0x1bac96(0x210));let _0x4f0793;if(_0x1a66f2){if(_0x25371c['type'][_0x1bac96(0x1b7)]()['toLowerCase']()!==_0x1bac96(0x1b8))throw menuError(_0x1bac96(0x1b5),'Menu\x20'+_0x25371c['id']+_0x1bac96(0x21b)+(_0x25371c['type']||_0x1bac96(0x1a1))+_0x1bac96(0x1a7));_0x4f0793=collectDeleteTargets(_0x392f37,_0x25371c),_0x4f0793[_0x1bac96(0x1f7)](_0x1abbfb=>assertDeleteSafety(_0x1abbfb,!![]));}else assertDeleteSafety(_0x25371c),_0x4f0793=[_0x25371c];assertNoSharedPages(_0x392f37,_0x4f0793);const _0x1168c1=_0x4f0793[_0x1bac96(0x1e6)](_0x132d6c=>_0x132d6c['id']),_0x24e08c=cascadeForTargets(_0x4f0793),_0x203d5f=_0x24e08c[_0x1bac96(0x1dc)][_0x1bac96(0x217)]>0x0?[_0x1bac96(0x1cc)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x3732d4,'recursive':_0x1a66f2},'before':_0x25371c,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x1bac96(0x1aa),'method':_0x1bac96(0x20b),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x1168c1}}],'targets':_0x4f0793,'deleteOrder':_0x1168c1,'snapshotHash':_0x392f37[_0x1bac96(0x1fd)],'cascade':_0x24e08c,'warnings':_0x203d5f});}function assertDeleteSafety(_0xb8aea1,_0x7cfa2e=![]){const _0x2a1fe2=a152_0x293dd9,_0x141181=_0xb8aea1['type']['trim']()[_0x2a1fe2(0x1f4)]()===_0x2a1fe2(0x1b8);if(_0xb8aea1[_0x2a1fe2(0x1b0)]>0x0&&(!_0x7cfa2e||!_0x141181))throw menuError('menu_non_empty',_0x2a1fe2(0x212)+_0xb8aea1['id']+_0x2a1fe2(0x208)+_0xb8aea1['childrenCount']+_0x2a1fe2(0x1a4),_0x2a1fe2(0x1fc)+_0xb8aea1[_0x2a1fe2(0x1ec)][_0x2a1fe2(0x1ce)](',\x20'));if(_0x141181&&_0xb8aea1[_0x2a1fe2(0x1d7)]!=null)throw menuError(_0x2a1fe2(0x216),_0x2a1fe2(0x1af)+_0xb8aea1['id']+_0x2a1fe2(0x1fb)+_0xb8aea1['pageId']+_0x2a1fe2(0x1b2),_0x2a1fe2(0x1e0));if(!_0x141181)return;if(!_0xb8aea1[_0x2a1fe2(0x1bc)])throw menuError(_0x2a1fe2(0x1a8),_0x2a1fe2(0x1af)+_0xb8aea1['id']+_0x2a1fe2(0x1c7),_0x2a1fe2(0x209));if(_0xb8aea1[_0x2a1fe2(0x215)][_0x2a1fe2(0x217)]>0x0)throw menuError('menu_folder_has_resources',_0x2a1fe2(0x1af)+_0xb8aea1['id']+'\x20still\x20references\x20'+_0xb8aea1[_0x2a1fe2(0x215)]['length']+_0x2a1fe2(0x1ea),_0x2a1fe2(0x1d6));}function collectDeleteTargets(_0xb2a9af,_0x236835){const _0x303536=[],_0x510c69=new Set(),_0x4db29b=new Set(),_0x3b5bf6=_0x5e856a=>{const _0x5eaf46=a152_0x1513;if(_0x510c69[_0x5eaf46(0x1ab)](_0x5e856a['id']))throw menuError('menu_tree_invalid',_0x5eaf46(0x1ac)+_0x5e856a['id']+'.');if(_0x4db29b[_0x5eaf46(0x1ab)](_0x5e856a['id']))return;_0x510c69[_0x5eaf46(0x213)](_0x5e856a['id']);for(const _0x3d9583 of _0x5e856a[_0x5eaf46(0x1ec)]){const _0x49ac93=_0xb2a9af[_0x5eaf46(0x1b9)][_0x5eaf46(0x202)](_0x3d9583);if(!_0x49ac93)throw menuError(_0x5eaf46(0x1f3),'Menu\x20'+_0x5e856a['id']+'\x20references\x20missing\x20child\x20'+_0x3d9583+'.');_0x3b5bf6(_0x49ac93);}_0x510c69[_0x5eaf46(0x1bf)](_0x5e856a['id']),_0x4db29b[_0x5eaf46(0x213)](_0x5e856a['id']),_0x303536[_0x5eaf46(0x211)](_0x5e856a);};return _0x3b5bf6(_0x236835),_0x303536;}function assertDeleteTargetsComplete(_0xb893bc,_0x1d713e){const _0x4c81e8=a152_0x293dd9,_0x197e63=requireMenu(_0x1d713e,_0xb893bc[_0x4c81e8(0x1f1)]['id']);if(_0xb893bc['recursive']&&_0x197e63[_0x4c81e8(0x1b1)][_0x4c81e8(0x1b7)]()[_0x4c81e8(0x1f4)]()!==_0x4c81e8(0x1b8))throw menuError(_0x4c81e8(0x1f8),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x197e63['id']+_0x4c81e8(0x203));const _0x364b46=_0xb893bc[_0x4c81e8(0x210)]?collectDeleteTargets(_0x1d713e,_0x197e63)[_0x4c81e8(0x1e6)](_0x9b8cd0=>_0x9b8cd0['id']):[_0x197e63['id']];if(JSON['stringify'](_0xb893bc[_0x4c81e8(0x1de)])!==JSON[_0x4c81e8(0x1a5)](_0x364b46))throw menuError(_0x4c81e8(0x1f8),'Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0xdd6a0f,_0x12c0b0){const _0x6cdf22=a152_0x293dd9,_0x456d5b=new Set(_0x12c0b0['map'](_0x30c169=>_0x30c169['id'])),_0x1089e5=new Set(_0x12c0b0[_0x6cdf22(0x1e6)](_0x12e1ba=>_0x12e1ba[_0x6cdf22(0x1d7)])['filter'](_0x483c93=>_0x483c93!=null));if(_0x1089e5[_0x6cdf22(0x1fa)]===0x0)return;const _0x3fe2d4=_0xdd6a0f['menus'][_0x6cdf22(0x20c)](_0x526672=>!_0x456d5b[_0x6cdf22(0x1ab)](_0x526672['id'])&&_0x526672[_0x6cdf22(0x1d7)]!=null&&_0x1089e5['has'](_0x526672[_0x6cdf22(0x1d7)]));if(_0x3fe2d4[_0x6cdf22(0x217)]===0x0)return;const _0x3fe2dd=_0x3fe2d4['map'](_0x3ff4c1=>_0x6cdf22(0x219)+_0x3ff4c1[_0x6cdf22(0x1d7)]+'\x20->\x20menu\x20'+_0x3ff4c1['id'])[_0x6cdf22(0x1ce)](',\x20');throw menuError(_0x6cdf22(0x1c4),_0x6cdf22(0x204)+_0x3fe2dd+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x343dd4,_0x3d23d5){const _0x329ca8=a152_0x293dd9,_0x501f9a=cascadeForTargets(_0x3d23d5);if(JSON[_0x329ca8(0x1a5)](_0x343dd4[_0x329ca8(0x1cb)])!==JSON[_0x329ca8(0x1a5)](_0x501f9a))throw menuError(_0x329ca8(0x1f8),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0xcd2b14){const _0x358f8c=a152_0x293dd9,_0x4c5057=_0xcd2b14['map'](_0x2b0aeb=>_0x2b0aeb[_0x358f8c(0x1d7)])['filter'](_0x5667ec=>_0x5667ec!=null)[_0x358f8c(0x20c)]((_0x5b2464,_0x24d917,_0x219e4b)=>_0x219e4b['indexOf'](_0x5b2464)===_0x24d917);return{'pages':_0x4c5057,'pageSchemaAffected':_0x4c5057[_0x358f8c(0x217)]>0x0};}function asMenuError(_0x545e19){return _0x545e19 instanceof CliError?_0x545e19:menuError('menu_plan_invalid',_0x545e19 instanceof Error?_0x545e19['message']:String(_0x545e19));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a152_0x2ca6cb=a152_0x3c07;(function(_0x3d1b39,_0x2513c){const _0x1ce584=a152_0x3c07,_0x46afee=_0x3d1b39();while(!![]){try{const _0x33ce28=-parseInt(_0x1ce584(0x12e))/0x1*(-parseInt(_0x1ce584(0xf6))/0x2)+-parseInt(_0x1ce584(0xce))/0x3*(-parseInt(_0x1ce584(0xcc))/0x4)+parseInt(_0x1ce584(0xf8))/0x5*(parseInt(_0x1ce584(0xb0))/0x6)+-parseInt(_0x1ce584(0x130))/0x7*(parseInt(_0x1ce584(0xd5))/0x8)+parseInt(_0x1ce584(0x118))/0x9*(-parseInt(_0x1ce584(0xc4))/0xa)+parseInt(_0x1ce584(0x10c))/0xb+-parseInt(_0x1ce584(0xee))/0xc*(parseInt(_0x1ce584(0xe4))/0xd);if(_0x33ce28===_0x2513c)break;else _0x46afee['push'](_0x46afee['shift']());}catch(_0x4ea1b8){_0x46afee['push'](_0x46afee['shift']());}}}(a152_0x1a79,0x7227f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a152_0x2ca6cb(0xb4)};export function validateExternalMenuUrl(_0xf3b726){const _0x215fde=a152_0x2ca6cb,_0x4e2d66=_0xf3b726[_0x215fde(0x133)]();let _0x3584ec;try{_0x3584ec=new URL(_0x4e2d66);}catch{throw menuError(_0x215fde(0xf7),_0x215fde(0x10b),_0x215fde(0xc2));}if(_0x3584ec[_0x215fde(0xf4)]!=='https:')throw menuError(_0x215fde(0x135),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x215fde(0xdf));if(_0x3584ec[_0x215fde(0x10f)]||_0x3584ec[_0x215fde(0x104)])throw menuError(_0x215fde(0x100),_0x215fde(0xd3),_0x215fde(0xf3));return _0x4e2d66;}export const menuExternalLinkCreate={'service':a152_0x2ca6cb(0xc8),'command':a152_0x2ca6cb(0xca),'description':a152_0x2ca6cb(0x13a),'risk':a152_0x2ca6cb(0xe5),'structuredErrors':!![],'flags':[{'name':a152_0x2ca6cb(0xcf),'type':a152_0x2ca6cb(0x10e),'required':!![],'description':a152_0x2ca6cb(0xd0)},{'name':a152_0x2ca6cb(0x106),'type':a152_0x2ca6cb(0x10e),'required':!![],'enum':[a152_0x2ca6cb(0x138),a152_0x2ca6cb(0x10d)],'description':a152_0x2ca6cb(0xf9)},{'name':a152_0x2ca6cb(0x128),'type':a152_0x2ca6cb(0x10e),'required':!![],'description':a152_0x2ca6cb(0x127)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a152_0x2ca6cb(0x131),'type':a152_0x2ca6cb(0xb5),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5c7c0f){validateAddInput(_0x5c7c0f);},async 'dryRun'(_0x29853a){const _0x45a43e=a152_0x2ca6cb;validateAddInput(_0x29853a);const {plan:_0x31da93}=await buildSafeAddPlan(_0x29853a,!![]),_0x3393ff=_0x31da93[_0x45a43e(0xcd)],_0x50235f=createBody(_0x3393ff);return menuDryRunResult(_0x31da93,{'method':_0x45a43e(0xf5),'url':'/smartapi/menu/create','body':_0x50235f,'description':_0x45a43e(0x11f)+JSON['stringify'](_0x3393ff[_0x45a43e(0xcf)])+_0x45a43e(0xf0)+_0x29853a[_0x45a43e(0x11e)](_0x45a43e(0x106))+_0x45a43e(0x105)});},async 'execute'(_0xfb42e6){const _0x3857dd=a152_0x2ca6cb;validateAddInput(_0xfb42e6);const _0x19216b=await buildSafeAddPlan(_0xfb42e6,![]),{plan:_0x165033,snapshot:_0x5e9585}=_0x19216b,_0x17df78=_0x165033[_0x3857dd(0xcd)],_0x3b866e=buildMenuLookupCommand(_0xfb42e6[_0x3857dd(0xd2)]);await recheckAddSnapshot(_0xfb42e6,_0x165033);let _0x19e370;try{_0x19e370=await createMenuEntity(_0xfb42e6[_0x3857dd(0xd2)],_0xfb42e6['cookie'],createBody(_0x17df78));}catch(_0x192768){const _0x59baec=mapMenuApiError(_0x192768,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x192768)||_0x59baec['code']===_0x3857dd(0xc0))throw externalLinkCreateFailure(_0x59baec,_0x165033,{'stage':_0x3857dd(0xe3),'failed':{},'verification':{'status':_0x3857dd(0xc6),'lookupCommand':_0x3b866e}});return recoverAfterResponseLoss(_0xfb42e6,_0x19216b,_0x3b866e);}const _0x265850=Number(_0x19e370?.['id']),_0x2240ff=typeof _0x19e370?.['path']==='string'?_0x19e370[_0x3857dd(0xba)]:'';if(!Number[_0x3857dd(0x126)](_0x265850)||_0x265850<=0x0||!_0x2240ff[_0x3857dd(0x133)]()){const _0x2b8f00=menuError(_0x3857dd(0xfb),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Run\x20'+_0x3b866e+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x2b8f00,_0x165033,{'stage':'create-response-validation','succeeded':Number[_0x3857dd(0x126)](_0x265850)&&_0x265850>0x0?[{'id':_0x265850,'created':!![]}]:[],'failed':{'createdId':Number[_0x3857dd(0x126)](_0x265850)?_0x265850:null,'generatedPathConfirmed':Boolean(_0x2240ff[_0x3857dd(0x133)]())},'warnings':[_0x3857dd(0x125)],'after':Number[_0x3857dd(0x126)](_0x265850)&&_0x265850>0x0?{..._0x17df78,'id':_0x265850,'path':_0x2240ff}:_0x17df78,'verification':{'status':_0x3857dd(0xc6),'lookupCommand':_0x3b866e,...Number['isSafeInteger'](_0x265850)&&_0x265850>0x0?{'targetId':_0x265850}:{}}});}const _0x55323c=await readAndVerifyCreatedMenu({'appCode':_0xfb42e6['appCode'],'cookie':_0xfb42e6['cookie'],'plan':_0x165033,'afterPlan':_0x17df78,'createdId':_0x265850,'expectedPath':_0x2240ff,'lookupCommand':_0x3b866e,'recovered':![]});return creationSuccess(_0x165033,_0x55323c[_0x3857dd(0xc7)],_0x55323c[_0x3857dd(0x108)],![]);}};function validateAddInput(_0x557059){const _0x23f66f=a152_0x2ca6cb;if(!_0x557059[_0x23f66f(0x11e)](_0x23f66f(0xcf))[_0x23f66f(0x133)]())throw CliErrors[_0x23f66f(0x13e)](_0x23f66f(0xcf));resolveExternalMenuType(_0x557059),validateExternalMenuUrl(_0x557059['str']('url')),parseParentId(_0x557059,_0x23f66f(0xed)),validateSort(_0x557059);}function resolveExternalMenuType(_0x4dea57){const _0x382235=a152_0x2ca6cb,_0x19ee02=_0x4dea57[_0x382235(0x11e)]('open-mode')[_0x382235(0x133)]();if(!_0x19ee02)throw CliErrors[_0x382235(0x13e)](_0x382235(0x106));const _0x482b32=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x19ee02];if(!_0x482b32)throw menuError(_0x382235(0x12c),_0x382235(0x102),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x482b32;}async function buildAddPlan(_0x421165,_0x3715b7){const _0x3b4a44=a152_0x2ca6cb,_0x5df277=await fetchMutationSnapshot(_0x421165,_0x3b4a44(0xfa)),_0x6bcee1=parseParentId(_0x421165,_0x3b4a44(0xed))??null;if(_0x6bcee1!=null)requireFolder(_0x5df277,_0x6bcee1);const _0x4171cf=validateSort(_0x421165),_0x350b15=_0x4171cf??nextSiblingSort(_0x5df277,_0x6bcee1,_0x3b4a44(0xc8)),_0x42db60=_0x421165['str'](_0x3b4a44(0xcf))[_0x3b4a44(0x133)](),_0x76e326=resolveExternalMenuType(_0x421165),_0x3f31c9=validateExternalMenuUrl(_0x421165['str'](_0x3b4a44(0x128))),_0x13ae51=Object[_0x3b4a44(0xdd)]['hasOwnProperty'][_0x3b4a44(0x13c)](_0x421165[_0x3b4a44(0xb1)],'visible')?_0x421165['bool'](_0x3b4a44(0x131)):!![],_0xff5853={'id':null,'parentId':_0x6bcee1,'label':_0x42db60,'path':_0x3b4a44(0xd1),'url':_0x3f31c9,'type':_0x76e326,'visible':_0x13ae51,'sort':_0x350b15},_0x133e26=buildMenuLookupCommand(_0x421165[_0x3b4a44(0xd2)]),_0x4e6359=mutationResult({'operation':'add','selector':{'parentId':_0x6bcee1,'type':_0x76e326,'label':_0x42db60,'url':_0x3f31c9},'before':null,'after':_0xff5853,'dryRun':_0x3715b7,'backend':[{'method':_0x3b4a44(0xf5),'path':_0x3b4a44(0x129)}],'plannedActions':[{'stage':_0x3b4a44(0x103),'method':_0x3b4a44(0xf5),'path':'/smartapi/menu/create','body':createBody(_0xff5853)}],'snapshotHash':_0x5df277['hash'],'warnings':[_0x3b4a44(0xe8)],'verification':{'lookupCommand':_0x133e26}});return{'plan':_0x4e6359,'snapshot':_0x5df277};}async function buildSafeAddPlan(_0x25fffb,_0x3fcdcc){try{return await buildAddPlan(_0x25fffb,_0x3fcdcc);}catch(_0x590af5){throw safeMenuAddError(_0x590af5);}}async function recheckAddSnapshot(_0x554bd8,_0x39f7d4){const _0x51495b=a152_0x2ca6cb;try{await recheckMutationSnapshot(_0x554bd8,_0x39f7d4,_0x51495b(0xfa));}catch(_0x5e7444){const _0x2286db=getFailureRecord(_0x5e7444);throw externalLinkCreateFailure(_0x5e7444,_0x39f7d4,{'stage':_0x51495b(0x12b),'failed':{..._0x2286db?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x2286db[_0x51495b(0xeb)]}:{},..._0x2286db?.['currentSnapshotHash']?{'currentSnapshotHash':_0x2286db[_0x51495b(0x116)]}:{}}});}}function createBody(_0x5d1d82){const _0x18a349=a152_0x2ca6cb;return{'parentId':toApiParentId(_0x5d1d82[_0x18a349(0x112)]),'label':String(_0x5d1d82[_0x18a349(0xcf)]),'type':String(_0x5d1d82[_0x18a349(0xd7)]),'url':String(_0x5d1d82[_0x18a349(0x128)]),'visible':Boolean(_0x5d1d82[_0x18a349(0x131)]),'sort':Number(_0x5d1d82[_0x18a349(0xb6)]),'extend':{}};}function buildMenuLookupCommand(_0x2d58bb){const _0x523e92=a152_0x2ca6cb,_0x18174a='\x27'+_0x2d58bb[_0x523e92(0xd6)](/'/g,_0x523e92(0x11a))+'\x27';return _0x523e92(0xe7)+_0x18174a+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x50b467,_0x1ac9b8,_0x118705){const _0x56aaf=a152_0x2ca6cb,{plan:_0x1ff7d3,snapshot:_0x3959ed}=_0x1ac9b8,_0x47d391=_0x1ff7d3['after'];let _0x333a18;try{_0x333a18=await fetchMenuSnapshot(_0x50b467[_0x56aaf(0xd2)],_0x50b467[_0x56aaf(0x11b)]);}catch(_0x55c231){throw recoveryRequiredFailure(_0x1ff7d3,_0x118705,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x28f469=_0x333a18[_0x56aaf(0x12f)][_0x56aaf(0x110)](_0x33d8d0=>_0x33d8d0[_0x56aaf(0x112)]===_0x47d391[_0x56aaf(0x112)]&&_0x33d8d0['type']===_0x47d391['type']&&_0x33d8d0['label']===_0x47d391[_0x56aaf(0xcf)]&&_0x33d8d0[_0x56aaf(0x128)]===_0x47d391[_0x56aaf(0x128)]),_0x5d0a54=_0x28f469['filter'](_0x42569e=>!_0x3959ed[_0x56aaf(0xc9)][_0x56aaf(0xef)](_0x42569e['id'])),_0x21aced=_0x28f469['filter'](_0xfd9150=>_0x3959ed[_0x56aaf(0xc9)][_0x56aaf(0xef)](_0xfd9150['id']));if(_0x28f469[_0x56aaf(0x12d)]!==0x1||_0x5d0a54[_0x56aaf(0x12d)]!==0x1)throw recoveryRequiredFailure(_0x1ff7d3,_0x118705,{'matchCount':_0x28f469['length'],'newMatchCount':_0x5d0a54[_0x56aaf(0x12d)],'preexistingMatchCount':_0x21aced[_0x56aaf(0x12d)]});const _0x4c93dd=_0x5d0a54[0x0];try{verifyCreatedFact(_0x4c93dd,_0x4c93dd['id'],_0x47d391,null);}catch(_0x2458b4){const _0x15ceef=_0x2458b4 instanceof Error&&_0x56aaf(0xfc)in _0x2458b4?_0x2458b4:menuError(_0x56aaf(0xde),_0x56aaf(0x121)+_0x4c93dd['id']+_0x56aaf(0xe6),_0x56aaf(0x13f)+_0x118705+_0x56aaf(0xe9));throw externalLinkCreateFailure(_0x15ceef,_0x1ff7d3,{'stage':_0x56aaf(0x107),'succeeded':[{'id':_0x4c93dd['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4c93dd['id'],'finalFactsConfirmed':![]},'after':_0x4c93dd,'warnings':[_0x56aaf(0x109)+_0x4c93dd['id']+_0x56aaf(0xec)],'verification':{'status':_0x56aaf(0xc6),'targetId':_0x4c93dd['id'],'recovered':!![],'lookupCommand':_0x118705}});}return creationSuccess(_0x1ff7d3,_0x333a18,_0x4c93dd,!![]);}function recoveryRequiredFailure(_0x159151,_0x550d01,_0x532c33){const _0x501101=a152_0x2ca6cb,_0x7d5f35=menuError(_0x501101(0x13b),_0x501101(0xe2),_0x501101(0x13f)+_0x550d01+_0x501101(0xf2));return externalLinkCreateFailure(_0x7d5f35,_0x159151,{'stage':_0x501101(0xaf),'failed':_0x532c33,'warnings':[_0x501101(0xb7)],'verification':{'status':_0x501101(0xc6),..._0x532c33,'lookupCommand':_0x550d01}});}async function readAndVerifyCreatedMenu(_0x5199d6){const _0x3b15e8=a152_0x2ca6cb;let _0x16cffa;try{_0x16cffa=await fetchMenuSnapshot(_0x5199d6[_0x3b15e8(0xd2)],_0x5199d6[_0x3b15e8(0x11b)]);}catch(_0x26634b){const _0x542565=menuError(_0x3b15e8(0xde),_0x3b15e8(0x109)+_0x5199d6[_0x3b15e8(0xc1)]+_0x3b15e8(0x139),_0x3b15e8(0x13f)+_0x5199d6[_0x3b15e8(0xe0)]+_0x3b15e8(0x11d));throw externalLinkCreateFailure(_0x542565,_0x5199d6[_0x3b15e8(0xb8)],{'stage':_0x3b15e8(0x107),'succeeded':[{'id':_0x5199d6[_0x3b15e8(0xc1)],'created':!![]}],'failed':{'id':_0x5199d6[_0x3b15e8(0xc1)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x5199d6[_0x3b15e8(0xd4)],'id':_0x5199d6[_0x3b15e8(0xc1)],'path':_0x5199d6[_0x3b15e8(0xe1)]},'warnings':[_0x3b15e8(0x109)+_0x5199d6[_0x3b15e8(0xc1)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x3b15e8(0xc6),'targetId':_0x5199d6[_0x3b15e8(0xc1)],'lookupCommand':_0x5199d6[_0x3b15e8(0xe0)]}});}const _0x5e44f7=_0x16cffa[_0x3b15e8(0xc9)][_0x3b15e8(0x124)](_0x5199d6['createdId']);try{if(!_0x5e44f7)throw menuError(_0x3b15e8(0xde),_0x3b15e8(0xd8)+_0x5199d6[_0x3b15e8(0xc1)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x3b15e8(0x13f)+_0x5199d6[_0x3b15e8(0xe0)]+_0x3b15e8(0x11d));verifyCreatedFact(_0x5e44f7,_0x5199d6[_0x3b15e8(0xc1)],_0x5199d6['afterPlan'],_0x5199d6[_0x3b15e8(0xe1)]);}catch(_0x178fc5){const _0x4231c2=_0x178fc5 instanceof Error&&'code'in _0x178fc5?_0x178fc5:menuError(_0x3b15e8(0xde),'Created\x20menu\x20'+_0x5199d6[_0x3b15e8(0xc1)]+_0x3b15e8(0xdb),_0x3b15e8(0x13f)+_0x5199d6[_0x3b15e8(0xe0)]+_0x3b15e8(0x11d));throw externalLinkCreateFailure(_0x4231c2,_0x5199d6['plan'],{'stage':_0x3b15e8(0x107),'succeeded':[{'id':_0x5199d6[_0x3b15e8(0xc1)],'created':!![]}],'failed':{'id':_0x5199d6[_0x3b15e8(0xc1)],'finalFactsConfirmed':![]},'after':_0x5e44f7??{..._0x5199d6[_0x3b15e8(0xd4)],'id':_0x5199d6[_0x3b15e8(0xc1)],'path':_0x5199d6[_0x3b15e8(0xe1)]},'warnings':[_0x3b15e8(0x109)+_0x5199d6['createdId']+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x3b15e8(0xc6),'targetId':_0x5199d6['createdId'],'recovered':_0x5199d6[_0x3b15e8(0x136)],'lookupCommand':_0x5199d6['lookupCommand']}});}return{'snapshot':_0x16cffa,'fact':_0x5e44f7};}function verifyCreatedFact(_0x2e9dfe,_0x354515,_0x3eabd3,_0x51a129){const _0x10a5a6=a152_0x2ca6cb;if(!Number['isSafeInteger'](_0x2e9dfe['id'])||_0x2e9dfe['id']<=0x0||_0x2e9dfe['id']!==_0x354515)throw menuError(_0x10a5a6(0xde),_0x10a5a6(0xdc),_0x10a5a6(0x137));const _0x2cea5f=[[_0x10a5a6(0x101),_0x2e9dfe['parentId'],_0x3eabd3[_0x10a5a6(0x112)]],[_0x10a5a6(0xd7),_0x2e9dfe[_0x10a5a6(0xd7)],_0x3eabd3[_0x10a5a6(0xd7)]],[_0x10a5a6(0xcf),_0x2e9dfe[_0x10a5a6(0xcf)],_0x3eabd3[_0x10a5a6(0xcf)]],[_0x10a5a6(0x10a),_0x2e9dfe['url'],_0x3eabd3[_0x10a5a6(0x128)]],[_0x10a5a6(0x123),_0x2e9dfe[_0x10a5a6(0x131)],_0x3eabd3[_0x10a5a6(0x131)]],[_0x10a5a6(0xb6),_0x2e9dfe[_0x10a5a6(0xb6)],_0x3eabd3[_0x10a5a6(0xb6)]]];for(const [_0x2312f8,_0xcd51b5,_0x10bee8]of _0x2cea5f){if(_0xcd51b5!==_0x10bee8)throw menuError(_0x10a5a6(0xde),_0x10a5a6(0xd8)+_0x2e9dfe['id']+_0x10a5a6(0x115)+_0x2312f8+'.',_0x10a5a6(0x120));}if(!_0x2e9dfe['path'][_0x10a5a6(0x133)]()||_0x51a129!==null&&_0x2e9dfe['path']!==_0x51a129)throw menuError(_0x10a5a6(0xde),_0x10a5a6(0xd8)+_0x2e9dfe['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x10a5a6(0x120));}function creationSuccess(_0x175536,_0x3de025,_0x52059c,_0x27f224){const _0x1d8bdd=a152_0x2ca6cb,_0x5b5a45=mutationResult({..._0x175536,'after':_0x52059c,'dryRun':![],'succeeded':[{'id':_0x52059c['id'],'created':!![],'recovered':_0x27f224}],'verification':{'checkedBy':_0x1d8bdd(0xfd),'snapshotHash':_0x3de025[_0x1d8bdd(0x132)],'targetId':_0x52059c['id'],'recovered':_0x27f224,'path':_0x52059c[_0x1d8bdd(0xba)]}});return{'ok':!![],'message':_0x27f224?_0x1d8bdd(0xda)+_0x52059c['id']+'\x20after\x20response\x20loss.':_0x1d8bdd(0xbe)+_0x52059c['id']+'.','data':{..._0x5b5a45,'recovered':_0x27f224}};}function externalLinkCreateFailure(_0x5b815d,_0x5e3e67,_0x2a1378){const _0x28fee2=a152_0x2ca6cb;return menuFailure(safeMenuAddError(_0x5b815d),redactFailurePlan(_0x5e3e67),{..._0x2a1378,'succeeded':_0x2a1378[_0x28fee2(0x134)]?.[_0x28fee2(0xbf)](redactFailureRecord),'failed':_0x2a1378['failed']?redactFailureRecord(_0x2a1378[_0x28fee2(0xc6)]):undefined,'verification':_0x2a1378[_0x28fee2(0x107)]?redactFailureRecord(_0x2a1378[_0x28fee2(0x107)]):undefined,'after':_0x2a1378[_0x28fee2(0xcd)]===undefined?undefined:redactFailureValue(_0x2a1378['after'])});}function a152_0x1a79(){const _0x548deb=['readbackerror','\x20has\x20an\x20unexpected\x20','currentSnapshotHash','rawerror','3960vJwXrD','entries','\x27\x5c\x27\x27','cookie','toLowerCase','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','str','Would\x20create\x20external\x20website\x20link\x20menu\x20','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Recovered\x20menu\x20','<redacted>','visibility','get','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','isSafeInteger','External\x20HTTPS\x20URL','url','/smartapi/menu/create','body','pre-write-recheck','menu_open_mode_invalid','length','14RSKizm','menus','16779tgzecC','visible','hash','trim','succeeded','menu_url_https_required','recovered','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','embedded','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Create\x20an\x20external\x20website\x20link\x20menu','menu_create_recovery_required','call','isArray','flagMissing','Run\x20','data','create-recovery','108330xMtFRk','rawFlags','menu_state_drift','plannedActions','link','boolean','sort','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','plan','object','path','External\x20menu\x20creation\x20failed.','menu_parent_not_folder','before','Created\x20external\x20menu\x20','map','menu_permission_denied','createdId','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','menu_sort_invalid','10850XnaNVU','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','failed','snapshot','menu','byId','external-link-create','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','4csfvMp','after','1296723PleMPv','label','Menu\x20label','<platform-generated>','appCode','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','afterPlan','2984jmbpAS','replace','type','Created\x20menu\x20','causemessage','Recovered\x20created\x20external\x20menu\x20','\x20failed\x20final\x20verification.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','prototype','menu_verification_failed','Provide\x20an\x20HTTPS\x20URL.','lookupCommand','expectedPath','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','create','190541eVRHON','write','\x20could\x20not\x20be\x20verified.','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','includes','expectedSnapshotHash','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','parent-id','60GiikkE','has','\x20with\x20','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','protocol','POST','129242QlMrKJ','menu_url_invalid','125ojXvWW','How\x20to\x20open\x20the\x20external\x20website','create\x20external\x20menu','menu_create_response_invalid','code','menu\x20list','selector','menu_mutation_failed','menu_url_credentials_forbidden','parent','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','create-menu','password','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','open-mode','verification','fact','Menu\x20','URL','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','1364429rCBMpO','new-window','string','username','filter','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','parentId','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.'];a152_0x1a79=function(){return _0x548deb;};return a152_0x1a79();}function redactFailurePlan(_0x86a0c1){const _0x12b80f=a152_0x2ca6cb;return{..._0x86a0c1,'selector':redactFailureRecord(_0x86a0c1[_0x12b80f(0xfe)]),'before':redactFailureValue(_0x86a0c1[_0x12b80f(0xbd)]),'after':redactFailureValue(_0x86a0c1[_0x12b80f(0xcd)]),'plannedActions':_0x86a0c1[_0x12b80f(0xb3)]?.['map'](_0x287a9b=>({..._0x287a9b,'body':redactFailureRecord(_0x287a9b[_0x12b80f(0x12a)])})),'succeeded':_0x86a0c1[_0x12b80f(0x134)]['map'](redactFailureRecord),'failed':_0x86a0c1[_0x12b80f(0xc6)][_0x12b80f(0xbf)](redactFailureRecord),'verification':_0x86a0c1[_0x12b80f(0x107)]?redactFailureRecord(_0x86a0c1[_0x12b80f(0x107)]):undefined};}function redactFailureRecord(_0x243de3){return redactFailureValue(_0x243de3);}function redactFailureValue(_0x28fa10,_0x51b71f=''){const _0x28fef2=a152_0x2ca6cb,_0x4bb98d=_0x51b71f[_0x28fef2(0x11c)]()[_0x28fef2(0xd6)](/[^a-z0-9]/g,'');if(['cause',_0x28fef2(0xd9),_0x28fef2(0x114),_0x28fef2(0x117)][_0x28fef2(0xea)](_0x4bb98d))return _0x28fef2(0x122);if(Array[_0x28fef2(0x13d)](_0x28fa10))return _0x28fa10['map'](_0x40e591=>redactFailureValue(_0x40e591));if(_0x28fa10&&typeof _0x28fa10===_0x28fef2(0xb9))return Object['fromEntries'](Object[_0x28fef2(0x119)](_0x28fa10)[_0x28fef2(0xbf)](([_0x56bc0f,_0xe10d4d])=>[_0x56bc0f,redactFailureValue(_0xe10d4d,_0x56bc0f)]));return _0x28fa10;}function a152_0x3c07(_0x25c4ac,_0x45c5b9){_0x25c4ac=_0x25c4ac-0xaf;const _0x1a7934=a152_0x1a79();let _0x3c0737=_0x1a7934[_0x25c4ac];return _0x3c0737;}function safeMenuAddError(_0x19df7b){const _0x267a8f=a152_0x2ca6cb,_0x44c9e5=_0x19df7b instanceof CliError?_0x19df7b[_0x267a8f(0xfc)]:_0x267a8f(0xff);switch(_0x44c9e5){case _0x267a8f(0xb2):return menuError(_0x44c9e5,_0x267a8f(0xf1),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case _0x267a8f(0xc0):return menuError(_0x44c9e5,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x267a8f(0xcb));case'menu_create_response_invalid':return menuError(_0x44c9e5,_0x267a8f(0x111),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x267a8f(0xde):return menuError(_0x44c9e5,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x44c9e5,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x267a8f(0xc5));case'menu_mutation_failed':case'menu_not_found':case _0x267a8f(0xbc):case _0x267a8f(0xc3):case'menu_sort_overflow':return menuError(_0x44c9e5,_0x267a8f(0xbb),_0x267a8f(0x113));default:return menuError(_0x267a8f(0xff),_0x267a8f(0xbb),_0x267a8f(0x113));}}function getFailureRecord(_0x35072a){const _0x31614b=a152_0x2ca6cb;if(!(_0x35072a instanceof Error)||!(_0x31614b(0x140)in _0x35072a))return undefined;const _0x771522=_0x35072a[_0x31614b(0x140)];if(!_0x771522||typeof _0x771522!==_0x31614b(0xb9))return undefined;const _0x444e71=_0x771522[_0x31614b(0xc6)];if(!Array['isArray'](_0x444e71)||!_0x444e71[0x0]||typeof _0x444e71[0x0]!==_0x31614b(0xb9))return undefined;return _0x444e71[0x0];}
|
|
1
|
+
const a153_0x2d7240=a153_0x1bf5;(function(_0x2751e8,_0x5d7c41){const _0x114a43=a153_0x1bf5,_0x4469e8=_0x2751e8();while(!![]){try{const _0x6cbc38=parseInt(_0x114a43(0x1a6))/0x1+parseInt(_0x114a43(0x1b6))/0x2*(parseInt(_0x114a43(0x1da))/0x3)+-parseInt(_0x114a43(0x193))/0x4*(-parseInt(_0x114a43(0x217))/0x5)+-parseInt(_0x114a43(0x1b9))/0x6*(-parseInt(_0x114a43(0x1bf))/0x7)+parseInt(_0x114a43(0x201))/0x8*(-parseInt(_0x114a43(0x1f2))/0x9)+parseInt(_0x114a43(0x1de))/0xa+-parseInt(_0x114a43(0x1f8))/0xb;if(_0x6cbc38===_0x5d7c41)break;else _0x4469e8['push'](_0x4469e8['shift']());}catch(_0x3c4249){_0x4469e8['push'](_0x4469e8['shift']());}}}(a153_0x5a17,0xc7836));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';function a153_0x1bf5(_0x2cad9d,_0x1bedc1){_0x2cad9d=_0x2cad9d-0x185;const _0x5a1795=a153_0x5a17();let _0x1bf529=_0x5a1795[_0x2cad9d];return _0x1bf529;}function a153_0x5a17(){const _0x463624=['recovered','entries','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','fact','currentSnapshotHash','37560314kxvshy','menu_open_mode_invalid','protocol','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','parent-id','readbackerror','isArray','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','pre-write-recheck','103688ByAgWT','menu_not_found','\x20after\x20response\x20loss.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','length','menu_sort_invalid','menu_state_drift','create-menu','\x20has\x20an\x20unexpected\x20generated\x20path.','cookie','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','https:','rawFlags','create\x20external\x20menu','parentId','expectedPath','Provide\x20an\x20HTTPS\x20URL.','type','expectedSnapshotHash','trim','password','5zzheyy','<platform-generated>','\x20--format\x20compress','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','menu_create_recovery_required','\x20could\x20not\x20be\x20verified.','Created\x20menu\x20','code','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','create','stringify','map','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','fromEntries','\x20with\x20','6487528GDXJwl','string','open-mode','POST','Whether\x20the\x20menu\x20is\x20visible','parent','rawerror','<redacted>','embedded','lookupCommand','includes','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','filter','External\x20HTTPS\x20URL','before','menu_permission_denied','menu','byId','plan','903485ijOPva','Menu\x20','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','hasOwnProperty','\x20has\x20an\x20unexpected\x20','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','write','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','has','str','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','visibility','verification','sort','appCode','toLowerCase','233866ArWFIF','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','iframe','6nHDPkf','external-link-create','afterPlan','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','menu_mutation_failed','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','10011267FZiQYE','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','/smartapi/menu/create','after','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','data','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','flagMissing','Menu\x20label','label','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','menus','createdId','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','Would\x20create\x20external\x20website\x20link\x20menu\x20','menu_url_credentials_forbidden','create-response-validation','url','menu_verification_failed','Run\x20','isSafeInteger','menu_sort_overflow','menu_create_response_invalid','username','failed','3SSROaU','How\x20to\x20open\x20the\x20external\x20website','Recovered\x20menu\x20','get','3925970BlyEQF','URL','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','bool','External\x20menu\x20creation\x20failed.','path','replace','hash','call','visible','object','prototype','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','body','rabetbase\x20menu\x20list\x20--appcode\x20','selector','menu_url_https_required','succeeded','Recovered\x20created\x20external\x20menu\x20','162rJziGa'];a153_0x5a17=function(){return _0x463624;};return a153_0x5a17();}const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a153_0x2d7240(0x1b8),'new-window':'link'};export function validateExternalMenuUrl(_0x19ee64){const _0x214ae8=a153_0x2d7240,_0x129d99=_0x19ee64[_0x214ae8(0x215)]();let _0x4f187b;try{_0x4f187b=new URL(_0x129d99);}catch{throw menuError('menu_url_invalid',_0x214ae8(0x1a8),_0x214ae8(0x1bc));}if(_0x4f187b[_0x214ae8(0x1fa)]!==_0x214ae8(0x20d))throw menuError(_0x214ae8(0x1ef),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x214ae8(0x212));if(_0x4f187b[_0x214ae8(0x1d8)]||_0x4f187b[_0x214ae8(0x216)])throw menuError(_0x214ae8(0x1d0),_0x214ae8(0x204),_0x214ae8(0x187));return _0x129d99;}export const menuExternalLinkCreate={'service':a153_0x2d7240(0x1a3),'command':a153_0x2d7240(0x1ba),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a153_0x2d7240(0x1ac),'structuredErrors':!![],'flags':[{'name':a153_0x2d7240(0x1c9),'type':a153_0x2d7240(0x194),'required':!![],'description':a153_0x2d7240(0x1c8)},{'name':a153_0x2d7240(0x195),'type':a153_0x2d7240(0x194),'required':!![],'enum':[a153_0x2d7240(0x19b),'new-window'],'description':a153_0x2d7240(0x1db)},{'name':a153_0x2d7240(0x1d2),'type':a153_0x2d7240(0x194),'required':!![],'description':a153_0x2d7240(0x1a0)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a153_0x2d7240(0x1e7),'type':'boolean','default':!![],'description':a153_0x2d7240(0x197)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1e1ae5){validateAddInput(_0x1e1ae5);},async 'dryRun'(_0x409a7d){const _0x3e63e3=a153_0x2d7240;validateAddInput(_0x409a7d);const {plan:_0x4975bc}=await buildSafeAddPlan(_0x409a7d,!![]),_0x27a94a=_0x4975bc['after'],_0x13edf8=createBody(_0x27a94a);return menuDryRunResult(_0x4975bc,{'method':_0x3e63e3(0x196),'url':'/smartapi/menu/create','body':_0x13edf8,'description':_0x3e63e3(0x1cf)+JSON[_0x3e63e3(0x18e)](_0x27a94a[_0x3e63e3(0x1c9)])+_0x3e63e3(0x192)+_0x409a7d[_0x3e63e3(0x1af)](_0x3e63e3(0x195))+_0x3e63e3(0x18c)});},async 'execute'(_0x59cfe0){const _0x2ee33b=a153_0x2d7240;validateAddInput(_0x59cfe0);const _0x48f371=await buildSafeAddPlan(_0x59cfe0,![]),{plan:_0xb8e0aa,snapshot:_0x1c278a}=_0x48f371,_0x573e9a=_0xb8e0aa[_0x2ee33b(0x1c3)],_0x42df6e=buildMenuLookupCommand(_0x59cfe0[_0x2ee33b(0x1b4)]);await recheckAddSnapshot(_0x59cfe0,_0xb8e0aa);let _0x1698a9;try{_0x1698a9=await createMenuEntity(_0x59cfe0[_0x2ee33b(0x1b4)],_0x59cfe0[_0x2ee33b(0x20a)],createBody(_0x573e9a));}catch(_0x1c8996){const _0x3dd43e=mapMenuApiError(_0x1c8996,_0x2ee33b(0x20f));if(!isMenuResponseLoss(_0x1c8996)||_0x3dd43e[_0x2ee33b(0x18b)]===_0x2ee33b(0x1a2))throw externalLinkCreateFailure(_0x3dd43e,_0xb8e0aa,{'stage':_0x2ee33b(0x18d),'failed':{},'verification':{'status':_0x2ee33b(0x1d9),'lookupCommand':_0x42df6e}});return recoverAfterResponseLoss(_0x59cfe0,_0x48f371,_0x42df6e);}const _0x38d914=Number(_0x1698a9?.['id']),_0x1750e9=typeof _0x1698a9?.[_0x2ee33b(0x1e3)]==='string'?_0x1698a9[_0x2ee33b(0x1e3)]:'';if(!Number[_0x2ee33b(0x1d5)](_0x38d914)||_0x38d914<=0x0||!_0x1750e9[_0x2ee33b(0x215)]()){const _0x6a3da2=menuError(_0x2ee33b(0x1d7),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x2ee33b(0x1d4)+_0x42df6e+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x6a3da2,_0xb8e0aa,{'stage':_0x2ee33b(0x1d1),'succeeded':Number[_0x2ee33b(0x1d5)](_0x38d914)&&_0x38d914>0x0?[{'id':_0x38d914,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x38d914)?_0x38d914:null,'generatedPathConfirmed':Boolean(_0x1750e9[_0x2ee33b(0x215)]())},'warnings':[_0x2ee33b(0x1fb)],'after':Number[_0x2ee33b(0x1d5)](_0x38d914)&&_0x38d914>0x0?{..._0x573e9a,'id':_0x38d914,'path':_0x1750e9}:_0x573e9a,'verification':{'status':_0x2ee33b(0x1d9),'lookupCommand':_0x42df6e,...Number[_0x2ee33b(0x1d5)](_0x38d914)&&_0x38d914>0x0?{'targetId':_0x38d914}:{}}});}const _0x76d95=await readAndVerifyCreatedMenu({'appCode':_0x59cfe0[_0x2ee33b(0x1b4)],'cookie':_0x59cfe0[_0x2ee33b(0x20a)],'plan':_0xb8e0aa,'afterPlan':_0x573e9a,'createdId':_0x38d914,'expectedPath':_0x1750e9,'lookupCommand':_0x42df6e,'recovered':![]});return creationSuccess(_0xb8e0aa,_0x76d95['snapshot'],_0x76d95[_0x2ee33b(0x1f6)],![]);}};function validateAddInput(_0x754825){const _0x5c0141=a153_0x2d7240;if(!_0x754825['str'](_0x5c0141(0x1c9))[_0x5c0141(0x215)]())throw CliErrors[_0x5c0141(0x1c7)](_0x5c0141(0x1c9));resolveExternalMenuType(_0x754825),validateExternalMenuUrl(_0x754825[_0x5c0141(0x1af)](_0x5c0141(0x1d2))),parseParentId(_0x754825,_0x5c0141(0x1fc)),validateSort(_0x754825);}function resolveExternalMenuType(_0x1bd01c){const _0x4dbd33=a153_0x2d7240,_0x2dbd26=_0x1bd01c[_0x4dbd33(0x1af)](_0x4dbd33(0x195))[_0x4dbd33(0x215)]();if(!_0x2dbd26)throw CliErrors[_0x4dbd33(0x1c7)](_0x4dbd33(0x195));const _0x11b38a=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2dbd26];if(!_0x11b38a)throw menuError(_0x4dbd33(0x1f9),_0x4dbd33(0x20b),_0x4dbd33(0x1ea));return _0x11b38a;}async function buildAddPlan(_0x3ce48e,_0xc47996){const _0x44e35d=a153_0x2d7240,_0x2098f8=await fetchMutationSnapshot(_0x3ce48e,_0x44e35d(0x20f)),_0x479a5d=parseParentId(_0x3ce48e,_0x44e35d(0x1fc))??null;if(_0x479a5d!=null)requireFolder(_0x2098f8,_0x479a5d);const _0xf6856f=validateSort(_0x3ce48e),_0x5ee720=_0xf6856f??nextSiblingSort(_0x2098f8,_0x479a5d,_0x44e35d(0x1a3)),_0x1871f7=_0x3ce48e['str'](_0x44e35d(0x1c9))[_0x44e35d(0x215)](),_0x333911=resolveExternalMenuType(_0x3ce48e),_0x2f1d36=validateExternalMenuUrl(_0x3ce48e[_0x44e35d(0x1af)]('url')),_0x6f8aa7=Object[_0x44e35d(0x1e9)][_0x44e35d(0x1a9)][_0x44e35d(0x1e6)](_0x3ce48e[_0x44e35d(0x20e)],_0x44e35d(0x1e7))?_0x3ce48e[_0x44e35d(0x1e1)](_0x44e35d(0x1e7)):!![],_0x1145c3={'id':null,'parentId':_0x479a5d,'label':_0x1871f7,'path':_0x44e35d(0x218),'url':_0x2f1d36,'type':_0x333911,'visible':_0x6f8aa7,'sort':_0x5ee720},_0x3a84ae=buildMenuLookupCommand(_0x3ce48e[_0x44e35d(0x1b4)]),_0x4e9940=mutationResult({'operation':'add','selector':{'parentId':_0x479a5d,'type':_0x333911,'label':_0x1871f7,'url':_0x2f1d36},'before':null,'after':_0x1145c3,'dryRun':_0xc47996,'backend':[{'method':_0x44e35d(0x196),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x44e35d(0x208),'method':_0x44e35d(0x196),'path':_0x44e35d(0x1c2),'body':createBody(_0x1145c3)}],'snapshotHash':_0x2098f8[_0x44e35d(0x1e5)],'warnings':[_0x44e35d(0x20c)],'verification':{'lookupCommand':_0x3a84ae}});return{'plan':_0x4e9940,'snapshot':_0x2098f8};}async function buildSafeAddPlan(_0x4770c5,_0x212d4b){try{return await buildAddPlan(_0x4770c5,_0x212d4b);}catch(_0x1aec30){throw safeMenuAddError(_0x1aec30);}}async function recheckAddSnapshot(_0x229271,_0x4230f2){const _0x44c24e=a153_0x2d7240;try{await recheckMutationSnapshot(_0x229271,_0x4230f2,_0x44c24e(0x20f));}catch(_0x49e5ed){const _0x5640c6=getFailureRecord(_0x49e5ed);throw externalLinkCreateFailure(_0x49e5ed,_0x4230f2,{'stage':_0x44c24e(0x200),'failed':{..._0x5640c6?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x5640c6[_0x44c24e(0x214)]}:{},..._0x5640c6?.[_0x44c24e(0x1f7)]?{'currentSnapshotHash':_0x5640c6['currentSnapshotHash']}:{}}});}}function createBody(_0xef6ae0){const _0x490f14=a153_0x2d7240;return{'parentId':toApiParentId(_0xef6ae0[_0x490f14(0x210)]),'label':String(_0xef6ae0[_0x490f14(0x1c9)]),'type':String(_0xef6ae0['type']),'url':String(_0xef6ae0[_0x490f14(0x1d2)]),'visible':Boolean(_0xef6ae0[_0x490f14(0x1e7)]),'sort':Number(_0xef6ae0['sort']),'extend':{}};}function buildMenuLookupCommand(_0x4b3ee5){const _0x559024=a153_0x2d7240,_0x56d15b='\x27'+_0x4b3ee5[_0x559024(0x1e4)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x559024(0x1ed)+_0x56d15b+_0x559024(0x185);}async function recoverAfterResponseLoss(_0x22a8e3,_0x1c8ec7,_0x2d3736){const _0x4c11bd=a153_0x2d7240,{plan:_0x5efee0,snapshot:_0x1112cd}=_0x1c8ec7,_0xbc1b4=_0x5efee0['after'];let _0x30f8a7;try{_0x30f8a7=await fetchMenuSnapshot(_0x22a8e3[_0x4c11bd(0x1b4)],_0x22a8e3[_0x4c11bd(0x20a)]);}catch(_0x58447f){throw recoveryRequiredFailure(_0x5efee0,_0x2d3736,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x13e44e=_0x30f8a7[_0x4c11bd(0x1cc)]['filter'](_0xba6438=>_0xba6438[_0x4c11bd(0x210)]===_0xbc1b4[_0x4c11bd(0x210)]&&_0xba6438['type']===_0xbc1b4['type']&&_0xba6438['label']===_0xbc1b4['label']&&_0xba6438['url']===_0xbc1b4[_0x4c11bd(0x1d2)]),_0x1e875c=_0x13e44e['filter'](_0xcf2144=>!_0x1112cd[_0x4c11bd(0x1a4)][_0x4c11bd(0x1ae)](_0xcf2144['id'])),_0x424a7d=_0x13e44e[_0x4c11bd(0x19f)](_0x4d4809=>_0x1112cd[_0x4c11bd(0x1a4)][_0x4c11bd(0x1ae)](_0x4d4809['id']));if(_0x13e44e['length']!==0x1||_0x1e875c[_0x4c11bd(0x205)]!==0x1)throw recoveryRequiredFailure(_0x5efee0,_0x2d3736,{'matchCount':_0x13e44e[_0x4c11bd(0x205)],'newMatchCount':_0x1e875c['length'],'preexistingMatchCount':_0x424a7d[_0x4c11bd(0x205)]});const _0x4103cd=_0x1e875c[0x0];try{verifyCreatedFact(_0x4103cd,_0x4103cd['id'],_0xbc1b4,null);}catch(_0x347f2f){const _0x29aa07=_0x347f2f instanceof Error&&_0x4c11bd(0x18b)in _0x347f2f?_0x347f2f:menuError('menu_verification_failed',_0x4c11bd(0x1dc)+_0x4103cd['id']+_0x4c11bd(0x189),_0x4c11bd(0x1d4)+_0x2d3736+_0x4c11bd(0x1e0));throw externalLinkCreateFailure(_0x29aa07,_0x5efee0,{'stage':_0x4c11bd(0x1b2),'succeeded':[{'id':_0x4103cd['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4103cd['id'],'finalFactsConfirmed':![]},'after':_0x4103cd,'warnings':[_0x4c11bd(0x1a7)+_0x4103cd['id']+_0x4c11bd(0x1c4)],'verification':{'status':_0x4c11bd(0x1d9),'targetId':_0x4103cd['id'],'recovered':!![],'lookupCommand':_0x2d3736}});}return creationSuccess(_0x5efee0,_0x30f8a7,_0x4103cd,!![]);}function recoveryRequiredFailure(_0x4e28aa,_0x247d70,_0x466c2c){const _0x125a8e=a153_0x2d7240,_0x25ce06=menuError(_0x125a8e(0x188),_0x125a8e(0x19e),_0x125a8e(0x1d4)+_0x247d70+_0x125a8e(0x1c1));return externalLinkCreateFailure(_0x25ce06,_0x4e28aa,{'stage':'create-recovery','failed':_0x466c2c,'warnings':[_0x125a8e(0x1b7)],'verification':{'status':_0x125a8e(0x1d9),..._0x466c2c,'lookupCommand':_0x247d70}});}async function readAndVerifyCreatedMenu(_0x3f830a){const _0x1976be=a153_0x2d7240;let _0x1fb349;try{_0x1fb349=await fetchMenuSnapshot(_0x3f830a[_0x1976be(0x1b4)],_0x3f830a['cookie']);}catch(_0x530dff){const _0x3e2c61=menuError(_0x1976be(0x1d3),_0x1976be(0x1a7)+_0x3f830a[_0x1976be(0x1cd)]+'\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.',_0x1976be(0x1d4)+_0x3f830a[_0x1976be(0x19c)]+_0x1976be(0x190));throw externalLinkCreateFailure(_0x3e2c61,_0x3f830a['plan'],{'stage':_0x1976be(0x1b2),'succeeded':[{'id':_0x3f830a[_0x1976be(0x1cd)],'created':!![]}],'failed':{'id':_0x3f830a[_0x1976be(0x1cd)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x3f830a[_0x1976be(0x1bb)],'id':_0x3f830a[_0x1976be(0x1cd)],'path':_0x3f830a[_0x1976be(0x211)]},'warnings':['Menu\x20'+_0x3f830a[_0x1976be(0x1cd)]+_0x1976be(0x1c6)],'verification':{'status':_0x1976be(0x1d9),'targetId':_0x3f830a[_0x1976be(0x1cd)],'lookupCommand':_0x3f830a['lookupCommand']}});}const _0x56aa04=_0x1fb349[_0x1976be(0x1a4)][_0x1976be(0x1dd)](_0x3f830a[_0x1976be(0x1cd)]);try{if(!_0x56aa04)throw menuError(_0x1976be(0x1d3),_0x1976be(0x18a)+_0x3f830a[_0x1976be(0x1cd)]+_0x1976be(0x1ca),_0x1976be(0x1d4)+_0x3f830a[_0x1976be(0x19c)]+_0x1976be(0x190));verifyCreatedFact(_0x56aa04,_0x3f830a['createdId'],_0x3f830a[_0x1976be(0x1bb)],_0x3f830a[_0x1976be(0x211)]);}catch(_0x3109d9){const _0x1cf870=_0x3109d9 instanceof Error&&_0x1976be(0x18b)in _0x3109d9?_0x3109d9:menuError('menu_verification_failed',_0x1976be(0x18a)+_0x3f830a[_0x1976be(0x1cd)]+'\x20failed\x20final\x20verification.',_0x1976be(0x1d4)+_0x3f830a[_0x1976be(0x19c)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x1cf870,_0x3f830a[_0x1976be(0x1a5)],{'stage':'verification','succeeded':[{'id':_0x3f830a[_0x1976be(0x1cd)],'created':!![]}],'failed':{'id':_0x3f830a[_0x1976be(0x1cd)],'finalFactsConfirmed':![]},'after':_0x56aa04??{..._0x3f830a[_0x1976be(0x1bb)],'id':_0x3f830a[_0x1976be(0x1cd)],'path':_0x3f830a['expectedPath']},'warnings':[_0x1976be(0x1a7)+_0x3f830a[_0x1976be(0x1cd)]+_0x1976be(0x1ce)],'verification':{'status':_0x1976be(0x1d9),'targetId':_0x3f830a[_0x1976be(0x1cd)],'recovered':_0x3f830a[_0x1976be(0x1f3)],'lookupCommand':_0x3f830a[_0x1976be(0x19c)]}});}return{'snapshot':_0x1fb349,'fact':_0x56aa04};}function verifyCreatedFact(_0x44d30e,_0x5e1e08,_0x51471b,_0x5be77d){const _0x34d973=a153_0x2d7240;if(!Number['isSafeInteger'](_0x44d30e['id'])||_0x44d30e['id']<=0x0||_0x44d30e['id']!==_0x5e1e08)throw menuError(_0x34d973(0x1d3),_0x34d973(0x1ad),_0x34d973(0x1c0));const _0x45ccd4=[[_0x34d973(0x198),_0x44d30e[_0x34d973(0x210)],_0x51471b[_0x34d973(0x210)]],[_0x34d973(0x213),_0x44d30e[_0x34d973(0x213)],_0x51471b[_0x34d973(0x213)]],[_0x34d973(0x1c9),_0x44d30e['label'],_0x51471b[_0x34d973(0x1c9)]],[_0x34d973(0x1df),_0x44d30e[_0x34d973(0x1d2)],_0x51471b[_0x34d973(0x1d2)]],[_0x34d973(0x1b1),_0x44d30e[_0x34d973(0x1e7)],_0x51471b[_0x34d973(0x1e7)]],[_0x34d973(0x1b3),_0x44d30e[_0x34d973(0x1b3)],_0x51471b[_0x34d973(0x1b3)]]];for(const [_0x1cc1e1,_0x328871,_0x172aef]of _0x45ccd4){if(_0x328871!==_0x172aef)throw menuError(_0x34d973(0x1d3),_0x34d973(0x18a)+_0x44d30e['id']+_0x34d973(0x1aa)+_0x1cc1e1+'.',_0x34d973(0x1b0));}if(!_0x44d30e['path'][_0x34d973(0x215)]()||_0x5be77d!==null&&_0x44d30e[_0x34d973(0x1e3)]!==_0x5be77d)throw menuError(_0x34d973(0x1d3),'Created\x20menu\x20'+_0x44d30e['id']+_0x34d973(0x209),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x2d381b,_0x5d2f9a,_0x361fa9,_0xafd10d){const _0x3b1379=a153_0x2d7240,_0x11bfc2=mutationResult({..._0x2d381b,'after':_0x361fa9,'dryRun':![],'succeeded':[{'id':_0x361fa9['id'],'created':!![],'recovered':_0xafd10d}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x5d2f9a[_0x3b1379(0x1e5)],'targetId':_0x361fa9['id'],'recovered':_0xafd10d,'path':_0x361fa9[_0x3b1379(0x1e3)]}});return{'ok':!![],'message':_0xafd10d?_0x3b1379(0x1f1)+_0x361fa9['id']+_0x3b1379(0x203):'Created\x20external\x20menu\x20'+_0x361fa9['id']+'.','data':{..._0x11bfc2,'recovered':_0xafd10d}};}function externalLinkCreateFailure(_0x20cfc5,_0x8c186a,_0x2f822d){const _0x419684=a153_0x2d7240;return menuFailure(safeMenuAddError(_0x20cfc5),redactFailurePlan(_0x8c186a),{..._0x2f822d,'succeeded':_0x2f822d['succeeded']?.[_0x419684(0x18f)](redactFailureRecord),'failed':_0x2f822d[_0x419684(0x1d9)]?redactFailureRecord(_0x2f822d['failed']):undefined,'verification':_0x2f822d[_0x419684(0x1b2)]?redactFailureRecord(_0x2f822d['verification']):undefined,'after':_0x2f822d[_0x419684(0x1c3)]===undefined?undefined:redactFailureValue(_0x2f822d[_0x419684(0x1c3)])});}function redactFailurePlan(_0x52709e){const _0x2dd029=a153_0x2d7240;return{..._0x52709e,'selector':redactFailureRecord(_0x52709e[_0x2dd029(0x1ee)]),'before':redactFailureValue(_0x52709e[_0x2dd029(0x1a1)]),'after':redactFailureValue(_0x52709e[_0x2dd029(0x1c3)]),'plannedActions':_0x52709e['plannedActions']?.[_0x2dd029(0x18f)](_0x5956ea=>({..._0x5956ea,'body':redactFailureRecord(_0x5956ea[_0x2dd029(0x1ec)])})),'succeeded':_0x52709e[_0x2dd029(0x1f0)][_0x2dd029(0x18f)](redactFailureRecord),'failed':_0x52709e[_0x2dd029(0x1d9)][_0x2dd029(0x18f)](redactFailureRecord),'verification':_0x52709e['verification']?redactFailureRecord(_0x52709e[_0x2dd029(0x1b2)]):undefined};}function redactFailureRecord(_0x4ca582){return redactFailureValue(_0x4ca582);}function redactFailureValue(_0x4fbc2c,_0x7b27f7=''){const _0x1452a1=a153_0x2d7240,_0x4535a6=_0x7b27f7[_0x1452a1(0x1b5)]()[_0x1452a1(0x1e4)](/[^a-z0-9]/g,'');if(['cause','causemessage',_0x1452a1(0x1fd),_0x1452a1(0x199)][_0x1452a1(0x19d)](_0x4535a6))return _0x1452a1(0x19a);if(Array[_0x1452a1(0x1fe)](_0x4fbc2c))return _0x4fbc2c[_0x1452a1(0x18f)](_0x5a4637=>redactFailureValue(_0x5a4637));if(_0x4fbc2c&&typeof _0x4fbc2c===_0x1452a1(0x1e8))return Object[_0x1452a1(0x191)](Object[_0x1452a1(0x1f4)](_0x4fbc2c)[_0x1452a1(0x18f)](([_0x274836,_0x2d6ab7])=>[_0x274836,redactFailureValue(_0x2d6ab7,_0x274836)]));return _0x4fbc2c;}function safeMenuAddError(_0x13bc16){const _0x2c3b2b=a153_0x2d7240,_0x1bd596=_0x13bc16 instanceof CliError?_0x13bc16[_0x2c3b2b(0x18b)]:_0x2c3b2b(0x1bd);switch(_0x1bd596){case _0x2c3b2b(0x207):return menuError(_0x1bd596,_0x2c3b2b(0x1ff),_0x2c3b2b(0x1eb));case _0x2c3b2b(0x1a2):return menuError(_0x1bd596,_0x2c3b2b(0x1cb),_0x2c3b2b(0x1ab));case'menu_create_response_invalid':return menuError(_0x1bd596,_0x2c3b2b(0x1f5),_0x2c3b2b(0x186));case _0x2c3b2b(0x1d3):return menuError(_0x1bd596,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0x2c3b2b(0x186));case'menu_create_recovery_required':return menuError(_0x1bd596,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case'menu_mutation_failed':case _0x2c3b2b(0x202):case'menu_parent_not_folder':case _0x2c3b2b(0x206):case _0x2c3b2b(0x1d6):return menuError(_0x1bd596,_0x2c3b2b(0x1e2),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x2c3b2b(0x1bd),_0x2c3b2b(0x1e2),_0x2c3b2b(0x1be));}}function getFailureRecord(_0x6d276b){const _0x91f5ec=a153_0x2d7240;if(!(_0x6d276b instanceof Error)||!(_0x91f5ec(0x1c5)in _0x6d276b))return undefined;const _0x3248fa=_0x6d276b[_0x91f5ec(0x1c5)];if(!_0x3248fa||typeof _0x3248fa!==_0x91f5ec(0x1e8))return undefined;const _0xbe2b35=_0x3248fa[_0x91f5ec(0x1d9)];if(!Array[_0x91f5ec(0x1fe)](_0xbe2b35)||!_0xbe2b35[0x0]||typeof _0xbe2b35[0x0]!==_0x91f5ec(0x1e8))return undefined;return _0xbe2b35[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a153_0x3e7a6e=a153_0x3715;(function(_0xe23a7,_0xc04db5){const _0x5f57d1=a153_0x3715,_0x4eec70=_0xe23a7();while(!![]){try{const _0x3c0a52=parseInt(_0x5f57d1(0x119))/0x1*(parseInt(_0x5f57d1(0x104))/0x2)+-parseInt(_0x5f57d1(0x11a))/0x3+-parseInt(_0x5f57d1(0x118))/0x4+parseInt(_0x5f57d1(0x110))/0x5*(-parseInt(_0x5f57d1(0x10a))/0x6)+-parseInt(_0x5f57d1(0x143))/0x7+-parseInt(_0x5f57d1(0x124))/0x8+parseInt(_0x5f57d1(0x13c))/0x9*(parseInt(_0x5f57d1(0x123))/0xa);if(_0x3c0a52===_0xc04db5)break;else _0x4eec70['push'](_0x4eec70['shift']());}catch(_0x1e42ae){_0x4eec70['push'](_0x4eec70['shift']());}}}(a153_0x6bad,0xc8630));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a153_0x6bad(){const _0x3208b2=['menu_external_link_path_missing','Update\x20request\x20for\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','7618163miYUjO','parentId',',\x20current\x20','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','visible','requestedUrlObserved','type','Run\x20','cookie','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','28492NDWDgw','failed','menu','flagMissing','unknown','write','30gymvXQ','trim','replace','string','menu_update_recovery_required','\x20URL\x20update\x20did\x20not\x20take\x20effect.','203995PkplKp','/smartapi/menu/update','expect-parent-id','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20direct\x20child\x20menu(s).','snapshot','\x20has\x20','\x20already\x20matches\x20the\x20requested\x20URL.','6298028wWoNEx','114UeAHVy','4866474edLgtz','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','update\x20external\x20menu\x20URL','body','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','POST','link','185570hzQPsz','8222152ZFbaKj','Response\x20was\x20lost\x20and\x20menu\x20','childrenCount','\x20has\x20an\x20empty\x20platform\x20path.','label','menu_external_link_type_required','url','Menu\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','Updated\x20external\x20URL\x20for\x20menu\x20','\x20is\x20type\x20\x22','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','expect-url','rabetbase\x20menu\x20list\x20--appcode\x20','update-recovery','get','verification','path','sort','hash','readbackFailed','menu_state_drift','str','2286VHfAMm','\x20--format\x20compress','appCode','update-external-link-url'];a153_0x6bad=function(){return _0x3208b2;};return a153_0x6bad();}const BACKEND=[{'method':'POST','path':a153_0x3e7a6e(0x111)}];export const menuExternalLinkUpdate={'service':a153_0x3e7a6e(0x106),'command':a153_0x3e7a6e(0x11c),'description':a153_0x3e7a6e(0x142),'risk':a153_0x3e7a6e(0x109),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a153_0x3e7a6e(0x10d),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a153_0x3e7a6e(0x131),'type':a153_0x3e7a6e(0x10d),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1ce669){validateInput(_0x1ce669);},async 'dryRun'(_0x103a20){const _0x17dacb=a153_0x3e7a6e;validateInput(_0x103a20);const _0x5d27e1=await buildPlan(_0x103a20,!![]);return menuDryRunResult(_0x5d27e1['plan'],{'method':_0x17dacb(0x121),'url':_0x17dacb(0x111),'body':_0x5d27e1[_0x17dacb(0x11f)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x5d27e1[_0x17dacb(0x11f)]['id']+'.'});},async 'execute'(_0x424f42){const _0x300b1b=a153_0x3e7a6e;validateInput(_0x424f42);const _0x584dc4=await buildPlan(_0x424f42,![]),{plan:_0xa5146,body:_0x7d0cd0,before:_0x220159,noChanges:_0x3fbcc6}=_0x584dc4,_0x2297eb=_0x7d0cd0['id'];if(_0x3fbcc6)return updateSuccess(_0xa5146,_0x584dc4[_0x300b1b(0x115)],_0x220159,!![],![]);await recheckMutationSnapshot(_0x424f42,_0xa5146,'update\x20external\x20menu\x20URL',_0x2297eb);try{await updateMenuEntity(_0x424f42[_0x300b1b(0x13e)],_0x424f42[_0x300b1b(0x102)],{'id':_0x7d0cd0['id'],'url':_0x7d0cd0[_0x300b1b(0x12a)]});}catch(_0x84451d){const _0x1e99ec=mapMenuApiError(_0x84451d,_0x300b1b(0x11e),_0x2297eb);if(isMenuResponseLoss(_0x84451d)&&_0x1e99ec['code']!=='menu_permission_denied')return recoverAfterResponseLoss(_0x424f42,_0x584dc4);throw menuFailure(_0x1e99ec,_0xa5146,{'stage':'update','failed':{'id':_0x2297eb},'warnings':[_0x300b1b(0x130)],'verification':{'status':'failed','targetId':_0x2297eb,'lookupCommand':buildLookupCommand(_0x424f42[_0x300b1b(0x13e)])}});}let _0x4300d3,_0x334456;try{_0x4300d3=await fetchMenuSnapshot(_0x424f42[_0x300b1b(0x13e)],_0x424f42[_0x300b1b(0x102)]),_0x334456=requireMenu(_0x4300d3,_0x2297eb),verifyUpdatedFact(_0x220159,_0x334456,_0x7d0cd0[_0x300b1b(0x12a)]);}catch(_0x38de29){const _0x27059b=describeMenuErrorCause(_0x38de29,'verify\x20external\x20menu\x20URL\x20update',_0x2297eb),_0x595494=asVerificationError(_0x38de29,_0x300b1b(0x141)+_0x2297eb+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x595494,_0xa5146,{'stage':_0x300b1b(0x135),'succeeded':[{'id':_0x2297eb,'updateRequested':!![]}],'failed':{'id':_0x2297eb,'requestedStateConfirmed':![],..._0x27059b},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x300b1b(0x105),'targetId':_0x2297eb,'lookupCommand':buildLookupCommand(_0x424f42['appCode'])}});}return updateSuccess(_0xa5146,_0x4300d3,_0x334456,![],![]);}};function validateInput(_0x243396){const _0x1448a7=a153_0x3e7a6e;validateExactId(_0x243396),requiredUrl(_0x243396,'url'),requiredExpectedUrl(_0x243396),parseParentId(_0x243396,_0x1448a7(0x112),{'required':!![]});}function requiredUrl(_0xf78884,_0x5373b4){const _0x2a01d0=a153_0x3e7a6e;if(!hasFlag(_0xf78884,_0x5373b4)||!_0xf78884[_0x2a01d0(0x13b)](_0x5373b4)[_0x2a01d0(0x10b)]())throw CliErrors[_0x2a01d0(0x107)](_0x5373b4);return validateExternalMenuUrl(_0xf78884[_0x2a01d0(0x13b)](_0x5373b4));}function requiredExpectedUrl(_0x29368f){const _0x33f2f8=a153_0x3e7a6e;if(!hasFlag(_0x29368f,'expect-url')||!_0x29368f[_0x33f2f8(0x13b)](_0x33f2f8(0x131))[_0x33f2f8(0x10b)]())throw CliErrors[_0x33f2f8(0x107)](_0x33f2f8(0x131));return _0x29368f[_0x33f2f8(0x13b)](_0x33f2f8(0x131))[_0x33f2f8(0x10b)]();}async function buildPlan(_0x45d7fd,_0x1fdae1){const _0x309f5d=a153_0x3e7a6e,_0x8af984=validateExactId(_0x45d7fd),_0x37e2fd=requiredUrl(_0x45d7fd,_0x309f5d(0x12a)),_0x4995e7=requiredExpectedUrl(_0x45d7fd),_0x3c4ffa=parseParentId(_0x45d7fd,'expect-parent-id',{'required':!![]}),_0xf782d0=await fetchMutationSnapshot(_0x45d7fd,'update\x20external\x20menu\x20URL',_0x8af984),_0x9b63e0=requireMenu(_0xf782d0,_0x8af984);assertExternalLinkLeaf(_0x9b63e0);if(_0x9b63e0[_0x309f5d(0xfb)]!==_0x3c4ffa)throw menuError('menu_state_drift',_0x309f5d(0x12b)+_0x8af984+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x3c4ffa)+_0x309f5d(0xfc)+formatParent(_0x9b63e0[_0x309f5d(0xfb)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x3c8a1e=_0x9b63e0['url']===_0x37e2fd;if(!_0x3c8a1e&&_0x9b63e0['url']!==_0x4995e7)throw menuError(_0x309f5d(0x13a),_0x309f5d(0x12b)+_0x8af984+_0x309f5d(0x103),_0x309f5d(0x120));const _0x49e549={'id':_0x8af984,'appCode':_0x45d7fd['appCode'],'url':_0x37e2fd},_0x2ef9d4={..._0x9b63e0,'url':_0x37e2fd};return{'body':_0x49e549,'before':_0x9b63e0,'noChanges':_0x3c8a1e,'snapshot':_0xf782d0,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x8af984},'before':_0x9b63e0,'after':_0x2ef9d4,'dryRun':_0x1fdae1,'backend':[...BACKEND],'plannedActions':_0x3c8a1e?[]:[{'stage':_0x309f5d(0x13f),'method':_0x309f5d(0x121),'path':_0x309f5d(0x111),'body':_0x49e549}],'snapshotHash':_0xf782d0[_0x309f5d(0x138)],'warnings':_0x3c8a1e?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function a153_0x3715(_0x53a5a1,_0x4d5c5e){_0x53a5a1=_0x53a5a1-0xfb;const _0x6badf9=a153_0x6bad();let _0x3715eb=_0x6badf9[_0x53a5a1];return _0x3715eb;}function assertExternalLinkLeaf(_0x34e696){const _0x1d5c13=a153_0x3e7a6e;if(_0x34e696['type']!=='iframe'&&_0x34e696['type']!==_0x1d5c13(0x122))throw menuError(_0x1d5c13(0x129),_0x1d5c13(0x12b)+_0x34e696['id']+_0x1d5c13(0x12e)+(_0x34e696[_0x1d5c13(0x100)]||_0x1d5c13(0x108))+'\x22,\x20not\x20iframe\x20or\x20link.',_0x1d5c13(0x11b));if(_0x34e696[_0x1d5c13(0x126)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x1d5c13(0x12b)+_0x34e696['id']+_0x1d5c13(0x116)+_0x34e696[_0x1d5c13(0x126)]+_0x1d5c13(0x114),_0x1d5c13(0xfd));if(!_0x34e696[_0x1d5c13(0x136)]['trim']())throw menuError(_0x1d5c13(0x140),_0x1d5c13(0x12b)+_0x34e696['id']+_0x1d5c13(0x127),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x3aacb6,_0x3357f1,_0x7558e3){const _0x2f4c31=a153_0x3e7a6e;assertExternalLinkLeaf(_0x3357f1);const _0x6bc72c=[['id',_0x3357f1['id'],_0x3aacb6['id']],[_0x2f4c31(0x128),_0x3357f1[_0x2f4c31(0x128)],_0x3aacb6[_0x2f4c31(0x128)]],[_0x2f4c31(0x100),_0x3357f1['type'],_0x3aacb6[_0x2f4c31(0x100)]],[_0x2f4c31(0x136),_0x3357f1[_0x2f4c31(0x136)],_0x3aacb6[_0x2f4c31(0x136)]],[_0x2f4c31(0xfb),_0x3357f1[_0x2f4c31(0xfb)],_0x3aacb6['parentId']],[_0x2f4c31(0x137),_0x3357f1[_0x2f4c31(0x137)],_0x3aacb6[_0x2f4c31(0x137)]],[_0x2f4c31(0xfe),_0x3357f1['visible'],_0x3aacb6[_0x2f4c31(0xfe)]]];for(const [_0x434f1d,_0x4c743c,_0x3f7ee5]of _0x6bc72c){assertVerified(_0x4c743c===_0x3f7ee5,_0x2f4c31(0x12b)+_0x3aacb6['id']+'\x20'+_0x434f1d+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x3357f1['url']===_0x7558e3,_0x2f4c31(0x12b)+_0x3aacb6['id']+_0x2f4c31(0x10f));}function updateSuccess(_0x34261e,_0x3ee602,_0x1dcdb1,_0x4fdf95,_0x2e6c95){const _0x7dcb4f=a153_0x3e7a6e,_0x5c14ff=_0x1dcdb1['id'],_0x27a498=mutationResult({..._0x34261e,'after':_0x1dcdb1,'dryRun':![],'succeeded':[{'id':_0x5c14ff,'updated':!_0x4fdf95,'skipped':_0x4fdf95,'recovered':_0x2e6c95}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x3ee602['hash'],'targetId':_0x5c14ff,'matchesRequestedState':!![],'recovered':_0x2e6c95}});return{'ok':!![],'message':_0x2e6c95?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x5c14ff+'.':_0x4fdf95?_0x7dcb4f(0x12b)+_0x5c14ff+_0x7dcb4f(0x117):_0x7dcb4f(0x12d)+_0x5c14ff+'.','data':{..._0x27a498,'recovered':_0x2e6c95}};}async function recoverAfterResponseLoss(_0x1990e7,_0x1cce19){const _0x2d679f=a153_0x3e7a6e,{plan:_0x82c9f1,before:_0x15a898,body:_0x27f624}=_0x1cce19;let _0x24b44f;try{_0x24b44f=await fetchMenuSnapshot(_0x1990e7[_0x2d679f(0x13e)],_0x1990e7[_0x2d679f(0x102)]);}catch{throw recoveryRequired(_0x82c9f1,_0x1990e7[_0x2d679f(0x13e)],{'id':_0x27f624['id'],'readbackFailed':!![]});}const _0x4c0b2=_0x24b44f['byId'][_0x2d679f(0x134)](_0x27f624['id']);if(!_0x4c0b2||_0x4c0b2[_0x2d679f(0x12a)]!==_0x27f624[_0x2d679f(0x12a)])throw recoveryRequired(_0x82c9f1,_0x1990e7[_0x2d679f(0x13e)],{'id':_0x27f624['id'],'requestedUrlObserved':![],'after':_0x4c0b2??null});try{verifyUpdatedFact(_0x15a898,_0x4c0b2,_0x27f624[_0x2d679f(0x12a)]);}catch(_0xbb2c3f){const _0xa24701=asVerificationError(_0xbb2c3f,_0x2d679f(0x125)+_0x27f624['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0xa24701,_0x82c9f1,{'stage':'update-recovery','succeeded':[{'id':_0x27f624['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x27f624['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4c0b2,'warnings':[_0x2d679f(0x113)],'verification':{'status':'failed','targetId':_0x27f624['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1990e7[_0x2d679f(0x13e)])}});}return updateSuccess(_0x82c9f1,_0x24b44f,_0x4c0b2,![],!![]);}function recoveryRequired(_0x51081d,_0x21621a,_0x4acc08){const _0x2f7121=a153_0x3e7a6e,_0x40d736=menuError(_0x2f7121(0x10e),_0x2f7121(0x12f),_0x2f7121(0x101)+buildLookupCommand(_0x21621a)+_0x2f7121(0x11d));return menuFailure(_0x40d736,_0x51081d,{'stage':_0x2f7121(0x133),'failed':{'id':_0x4acc08['id'],..._0x4acc08['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x4acc08[_0x2f7121(0xff)]},..._0x4acc08['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4acc08['after'],'warnings':[_0x2f7121(0x12c)],'verification':{'status':'failed','targetId':_0x4acc08['id'],..._0x4acc08[_0x2f7121(0xff)]===undefined?{}:{'requestedUrlObserved':_0x4acc08['requestedUrlObserved']},..._0x4acc08[_0x2f7121(0x139)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x21621a)}});}function buildLookupCommand(_0x36c9f6){const _0x2747cc=a153_0x3e7a6e,_0x4c5a68='\x27'+_0x36c9f6[_0x2747cc(0x10c)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x2747cc(0x132)+_0x4c5a68+_0x2747cc(0x13d);}
|
|
1
|
+
const a154_0x38b2e3=a154_0x2e42;(function(_0x467f3c,_0x10137b){const _0x319234=a154_0x2e42,_0x36d028=_0x467f3c();while(!![]){try{const _0x1bfc7f=-parseInt(_0x319234(0xcf))/0x1+-parseInt(_0x319234(0xdc))/0x2*(parseInt(_0x319234(0xc2))/0x3)+-parseInt(_0x319234(0xec))/0x4+-parseInt(_0x319234(0xb8))/0x5+-parseInt(_0x319234(0xe9))/0x6*(-parseInt(_0x319234(0xae))/0x7)+-parseInt(_0x319234(0xeb))/0x8*(-parseInt(_0x319234(0xce))/0x9)+-parseInt(_0x319234(0xf0))/0xa*(-parseInt(_0x319234(0xa6))/0xb);if(_0x1bfc7f===_0x10137b)break;else _0x36d028['push'](_0x36d028['shift']());}catch(_0x413176){_0x36d028['push'](_0x36d028['shift']());}}}(a154_0x32fa,0x609e2));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a154_0x2e42(_0x27dc7d,_0x21e2f5){_0x27dc7d=_0x27dc7d-0xa1;const _0x32fab1=a154_0x32fa();let _0x2e4285=_0x32fab1[_0x27dc7d];return _0x2e4285;}import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,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':a154_0x38b2e3(0xf3),'path':a154_0x38b2e3(0xe2)}];export const menuExternalLinkUpdate={'service':'menu','command':a154_0x38b2e3(0xb6),'description':a154_0x38b2e3(0xbf),'risk':a154_0x38b2e3(0xee),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a154_0x38b2e3(0xe5),'required':!![],'description':a154_0x38b2e3(0xd8)},{'name':a154_0x38b2e3(0xa4),'type':a154_0x38b2e3(0xe5),'required':!![],'description':a154_0x38b2e3(0xa3)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5cc2ba){validateInput(_0x5cc2ba);},async 'dryRun'(_0x10345a){const _0x2172a7=a154_0x38b2e3;validateInput(_0x10345a);const _0x5a6bff=await buildPlan(_0x10345a,!![]);return menuDryRunResult(_0x5a6bff[_0x2172a7(0xe1)],{'method':_0x2172a7(0xf3),'url':'/smartapi/menu/update','body':_0x5a6bff['body'],'description':_0x2172a7(0xe0)+_0x5a6bff[_0x2172a7(0xaa)]['id']+'.'});},async 'execute'(_0xef1aac){const _0x1806e2=a154_0x38b2e3;validateInput(_0xef1aac);const _0x137cb4=await buildPlan(_0xef1aac,![]),{plan:_0x1f0888,body:_0x5517a6,before:_0x5c8be4,noChanges:_0x474b57}=_0x137cb4,_0x448272=_0x5517a6['id'];if(_0x474b57)return updateSuccess(_0x1f0888,_0x137cb4[_0x1806e2(0xe7)],_0x5c8be4,!![],![]);await recheckMutationSnapshot(_0xef1aac,_0x1f0888,_0x1806e2(0xcc),_0x448272);try{await updateMenuEntity(_0xef1aac['appCode'],_0xef1aac[_0x1806e2(0xb3)],{'id':_0x5517a6['id'],'url':_0x5517a6['url']});}catch(_0x356cf7){const _0x3a482c=mapMenuApiError(_0x356cf7,_0x1806e2(0xcc),_0x448272);if(isMenuResponseLoss(_0x356cf7)&&_0x3a482c[_0x1806e2(0xb1)]!==_0x1806e2(0xdf))return recoverAfterResponseLoss(_0xef1aac,_0x137cb4);throw menuFailure(_0x3a482c,_0x1f0888,{'stage':_0x1806e2(0xe6),'failed':{'id':_0x448272},'warnings':[_0x1806e2(0xde)],'verification':{'status':_0x1806e2(0xd1),'targetId':_0x448272,'lookupCommand':buildLookupCommand(_0xef1aac[_0x1806e2(0xba)])}});}let _0x44c253,_0x4d1bf2;try{_0x44c253=await fetchMenuSnapshot(_0xef1aac[_0x1806e2(0xba)],_0xef1aac[_0x1806e2(0xb3)]),_0x4d1bf2=requireMenu(_0x44c253,_0x448272),verifyUpdatedFact(_0x5c8be4,_0x4d1bf2,_0x5517a6[_0x1806e2(0xa1)]);}catch(_0x2cda1f){const _0x3e465e=describeMenuErrorCause(_0x2cda1f,_0x1806e2(0xa5),_0x448272),_0x37a0eb=asVerificationError(_0x2cda1f,_0x1806e2(0xda)+_0x448272+_0x1806e2(0xdd));throw menuFailure(_0x37a0eb,_0x1f0888,{'stage':_0x1806e2(0xe8),'succeeded':[{'id':_0x448272,'updateRequested':!![]}],'failed':{'id':_0x448272,'requestedStateConfirmed':![],..._0x3e465e},'warnings':[_0x1806e2(0xc9)],'verification':{'status':_0x1806e2(0xd1),'targetId':_0x448272,'lookupCommand':buildLookupCommand(_0xef1aac['appCode'])}});}return updateSuccess(_0x1f0888,_0x44c253,_0x4d1bf2,![],![]);}};function validateInput(_0x29aed4){const _0x11191c=a154_0x38b2e3;validateExactId(_0x29aed4),requiredUrl(_0x29aed4,_0x11191c(0xa1)),requiredExpectedUrl(_0x29aed4),parseParentId(_0x29aed4,_0x11191c(0xf1),{'required':!![]});}function requiredUrl(_0x46fa1c,_0x5aaed9){const _0x4b43e9=a154_0x38b2e3;if(!hasFlag(_0x46fa1c,_0x5aaed9)||!_0x46fa1c[_0x4b43e9(0xf2)](_0x5aaed9)[_0x4b43e9(0xd4)]())throw CliErrors['flagMissing'](_0x5aaed9);return validateExternalMenuUrl(_0x46fa1c[_0x4b43e9(0xf2)](_0x5aaed9));}function requiredExpectedUrl(_0x488f9c){const _0x50bcf8=a154_0x38b2e3;if(!hasFlag(_0x488f9c,_0x50bcf8(0xa4))||!_0x488f9c['str']('expect-url')[_0x50bcf8(0xd4)]())throw CliErrors[_0x50bcf8(0xb4)](_0x50bcf8(0xa4));return _0x488f9c[_0x50bcf8(0xf2)](_0x50bcf8(0xa4))[_0x50bcf8(0xd4)]();}async function buildPlan(_0x13fbf2,_0x32875b){const _0x34193b=a154_0x38b2e3,_0x50cbea=validateExactId(_0x13fbf2),_0x59fcfa=requiredUrl(_0x13fbf2,_0x34193b(0xa1)),_0xd98cb1=requiredExpectedUrl(_0x13fbf2),_0x2bec87=parseParentId(_0x13fbf2,_0x34193b(0xf1),{'required':!![]}),_0x425673=await fetchMutationSnapshot(_0x13fbf2,_0x34193b(0xcc),_0x50cbea),_0xe23e06=requireMenu(_0x425673,_0x50cbea);assertExternalLinkLeaf(_0xe23e06);if(_0xe23e06[_0x34193b(0xea)]!==_0x2bec87)throw menuError(_0x34193b(0xb7),_0x34193b(0xb5)+_0x50cbea+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x2bec87)+',\x20current\x20'+formatParent(_0xe23e06[_0x34193b(0xea)])+'.',_0x34193b(0xc0));const _0x59547=_0xe23e06['url']===_0x59fcfa;if(!_0x59547&&_0xe23e06['url']!==_0xd98cb1)throw menuError(_0x34193b(0xb7),_0x34193b(0xb5)+_0x50cbea+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x34193b(0xed));const _0x59b1b4={'id':_0x50cbea,'appCode':_0x13fbf2['appCode'],'url':_0x59fcfa},_0x3ff15c={..._0xe23e06,'url':_0x59fcfa};return{'body':_0x59b1b4,'before':_0xe23e06,'noChanges':_0x59547,'snapshot':_0x425673,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x50cbea},'before':_0xe23e06,'after':_0x3ff15c,'dryRun':_0x32875b,'backend':[...BACKEND],'plannedActions':_0x59547?[]:[{'stage':'update-external-link-url','method':_0x34193b(0xf3),'path':_0x34193b(0xe2),'body':_0x59b1b4}],'snapshotHash':_0x425673['hash'],'warnings':_0x59547?[_0x34193b(0xd3)]:[]})};}function a154_0x32fa(){const _0x3fffad=['body','\x20URL\x20update\x20did\x20not\x20take\x20effect.','requestedUrlObserved','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','154cvMROd','menu_external_link_type_required','replace','code','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','cookie','flagMissing','Menu\x20','external-link-update','menu_state_drift','2148345DvJvMR','after','appCode','menu_external_link_not_leaf','byId','\x20already\x20matches\x20the\x20requested\x20URL.','\x22,\x20not\x20iframe\x20or\x20link.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','rabetbase\x20menu\x20list\x20--appcode\x20','6lUBcmm','Updated\x20external\x20URL\x20for\x20menu\x20','\x20changed\x20during\x20the\x20URL-only\x20update.','menu\x20list','label','readbackFailed','\x20has\x20','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','path','update\x20external\x20menu\x20URL','childrenCount','1452942oeAFIg','432552hxQQXn','Run\x20','failed','iframe','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','trim','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','sort','type','New\x20external\x20HTTPS\x20URL','menu_external_link_path_missing','Update\x20request\x20for\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','266346ZEBKWh','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_permission_denied','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','plan','/smartapi/menu/update','get','\x20is\x20type\x20\x22','string','update','snapshot','verification','166422fMrfoW','parentId','16aqQfrD','537272CsgrIo','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','write','menu_update_recovery_required','2418470xDiyGB','expect-parent-id','str','POST','\x20could\x20not\x20be\x20verified\x20safely','Response\x20was\x20lost\x20and\x20menu\x20','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','update-recovery','url','\x27\x5c\x27\x27','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','expect-url','verify\x20external\x20menu\x20URL\x20update','33LggtgJ','\x20has\x20an\x20empty\x20platform\x20path.','visible','hash'];a154_0x32fa=function(){return _0x3fffad;};return a154_0x32fa();}function assertExternalLinkLeaf(_0x20a98e){const _0x1e1621=a154_0x38b2e3;if(_0x20a98e[_0x1e1621(0xd7)]!==_0x1e1621(0xd2)&&_0x20a98e[_0x1e1621(0xd7)]!=='link')throw menuError(_0x1e1621(0xaf),'Menu\x20'+_0x20a98e['id']+_0x1e1621(0xe4)+(_0x20a98e[_0x1e1621(0xd7)]||'unknown')+_0x1e1621(0xbe),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x20a98e[_0x1e1621(0xcd)]!==0x0)throw menuError(_0x1e1621(0xbb),_0x1e1621(0xb5)+_0x20a98e['id']+_0x1e1621(0xc8)+_0x20a98e['childrenCount']+'\x20direct\x20child\x20menu(s).',_0x1e1621(0xad));if(!_0x20a98e[_0x1e1621(0xcb)][_0x1e1621(0xd4)]())throw menuError(_0x1e1621(0xd9),_0x1e1621(0xb5)+_0x20a98e['id']+_0x1e1621(0xa7),_0x1e1621(0xf6));}function verifyUpdatedFact(_0x53dbe6,_0x18b848,_0x127245){const _0x1b2bc3=a154_0x38b2e3;assertExternalLinkLeaf(_0x18b848);const _0x313eab=[['id',_0x18b848['id'],_0x53dbe6['id']],[_0x1b2bc3(0xc6),_0x18b848[_0x1b2bc3(0xc6)],_0x53dbe6[_0x1b2bc3(0xc6)]],['type',_0x18b848[_0x1b2bc3(0xd7)],_0x53dbe6[_0x1b2bc3(0xd7)]],[_0x1b2bc3(0xcb),_0x18b848[_0x1b2bc3(0xcb)],_0x53dbe6[_0x1b2bc3(0xcb)]],[_0x1b2bc3(0xea),_0x18b848[_0x1b2bc3(0xea)],_0x53dbe6[_0x1b2bc3(0xea)]],[_0x1b2bc3(0xd6),_0x18b848[_0x1b2bc3(0xd6)],_0x53dbe6[_0x1b2bc3(0xd6)]],['visible',_0x18b848[_0x1b2bc3(0xa8)],_0x53dbe6[_0x1b2bc3(0xa8)]]];for(const [_0x58e3ac,_0x3c3596,_0x3219dc]of _0x313eab){assertVerified(_0x3c3596===_0x3219dc,'Menu\x20'+_0x53dbe6['id']+'\x20'+_0x58e3ac+_0x1b2bc3(0xc4));}assertVerified(_0x18b848['url']===_0x127245,_0x1b2bc3(0xb5)+_0x53dbe6['id']+_0x1b2bc3(0xab));}function updateSuccess(_0x165dfc,_0x70ae63,_0x2c53a7,_0x1659fe,_0x17c5cc){const _0x1fc6b8=a154_0x38b2e3,_0x3415f5=_0x2c53a7['id'],_0x411f9e=mutationResult({..._0x165dfc,'after':_0x2c53a7,'dryRun':![],'succeeded':[{'id':_0x3415f5,'updated':!_0x1659fe,'skipped':_0x1659fe,'recovered':_0x17c5cc}],'verification':{'checkedBy':_0x1fc6b8(0xc5),'snapshotHash':_0x70ae63[_0x1fc6b8(0xa9)],'targetId':_0x3415f5,'matchesRequestedState':!![],'recovered':_0x17c5cc}});return{'ok':!![],'message':_0x17c5cc?_0x1fc6b8(0xb2)+_0x3415f5+'.':_0x1659fe?_0x1fc6b8(0xb5)+_0x3415f5+_0x1fc6b8(0xbd):_0x1fc6b8(0xc3)+_0x3415f5+'.','data':{..._0x411f9e,'recovered':_0x17c5cc}};}async function recoverAfterResponseLoss(_0x32de75,_0x2e4b85){const _0x5b3ecc=a154_0x38b2e3,{plan:_0x178be7,before:_0x9fbaf9,body:_0x4a6459}=_0x2e4b85;let _0x72891d;try{_0x72891d=await fetchMenuSnapshot(_0x32de75[_0x5b3ecc(0xba)],_0x32de75[_0x5b3ecc(0xb3)]);}catch{throw recoveryRequired(_0x178be7,_0x32de75[_0x5b3ecc(0xba)],{'id':_0x4a6459['id'],'readbackFailed':!![]});}const _0x4da8d6=_0x72891d[_0x5b3ecc(0xbc)][_0x5b3ecc(0xe3)](_0x4a6459['id']);if(!_0x4da8d6||_0x4da8d6[_0x5b3ecc(0xa1)]!==_0x4a6459['url'])throw recoveryRequired(_0x178be7,_0x32de75[_0x5b3ecc(0xba)],{'id':_0x4a6459['id'],'requestedUrlObserved':![],'after':_0x4da8d6??null});try{verifyUpdatedFact(_0x9fbaf9,_0x4da8d6,_0x4a6459[_0x5b3ecc(0xa1)]);}catch(_0x6df920){const _0x8740a0=asVerificationError(_0x6df920,_0x5b3ecc(0xf5)+_0x4a6459['id']+_0x5b3ecc(0xf4));throw menuFailure(_0x8740a0,_0x178be7,{'stage':'update-recovery','succeeded':[{'id':_0x4a6459['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x4a6459['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4da8d6,'warnings':[_0x5b3ecc(0xd5)],'verification':{'status':_0x5b3ecc(0xd1),'targetId':_0x4a6459['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x32de75[_0x5b3ecc(0xba)])}});}return updateSuccess(_0x178be7,_0x72891d,_0x4da8d6,![],!![]);}function recoveryRequired(_0x2e8602,_0x48e436,_0x52dc38){const _0x182b25=a154_0x38b2e3,_0x4bb667=menuError(_0x182b25(0xef),_0x182b25(0xca),_0x182b25(0xd0)+buildLookupCommand(_0x48e436)+_0x182b25(0xdb));return menuFailure(_0x4bb667,_0x2e8602,{'stage':_0x182b25(0xf7),'failed':{'id':_0x52dc38['id'],..._0x52dc38['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x52dc38[_0x182b25(0xac)]},..._0x52dc38[_0x182b25(0xc7)]?{'readbackFailed':!![]}:{}},'after':_0x52dc38[_0x182b25(0xb9)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x182b25(0xd1),'targetId':_0x52dc38['id'],..._0x52dc38[_0x182b25(0xac)]===undefined?{}:{'requestedUrlObserved':_0x52dc38[_0x182b25(0xac)]},..._0x52dc38['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x48e436)}});}function buildLookupCommand(_0xe7bf01){const _0x25009a=a154_0x38b2e3,_0x1a467f='\x27'+_0xe7bf01[_0x25009a(0xb0)](/'/g,_0x25009a(0xa2))+'\x27';return _0x25009a(0xc1)+_0x1a467f+'\x20--format\x20compress';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a154_0x593c4b=a154_0x4fd1;(function(_0x23c91c,_0x33c096){const _0x2b36b0=a154_0x4fd1,_0x266f13=_0x23c91c();while(!![]){try{const _0x147b40=-parseInt(_0x2b36b0(0xe9))/0x1*(-parseInt(_0x2b36b0(0xcb))/0x2)+parseInt(_0x2b36b0(0xe4))/0x3*(parseInt(_0x2b36b0(0xee))/0x4)+parseInt(_0x2b36b0(0xc5))/0x5*(-parseInt(_0x2b36b0(0xf8))/0x6)+-parseInt(_0x2b36b0(0xbe))/0x7+-parseInt(_0x2b36b0(0xfc))/0x8*(parseInt(_0x2b36b0(0xcd))/0x9)+parseInt(_0x2b36b0(0xdb))/0xa+parseInt(_0x2b36b0(0xf7))/0xb*(parseInt(_0x2b36b0(0xd6))/0xc);if(_0x147b40===_0x33c096)break;else _0x266f13['push'](_0x266f13['shift']());}catch(_0x3d9e68){_0x266f13['push'](_0x266f13['shift']());}}}(a154_0x4f6f,0x79911));function a154_0x4f6f(){const _0x2d6a64=['Created\x20menu\x20','\x20is\x20not\x20visible.','parentId','sort','Created\x20menu\x20folder\x20','72168Xhowlu','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','Folder\x20','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','string','2368870qnYHZt','\x22\x20with\x20a\x20platform-generated\x20path.','create-response-validation','isSafeInteger','menu_create_response_invalid','type','create-folder','Would\x20create\x20empty\x20folder\x20\x22','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','363yndyNK','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','flagMissing','Created\x20folder\x20','verification','1AVuzyS','create\x20folder','trim','childrenCount','rabetbase\x20menu\x20list\x20--format\x20json','10956YGewIP','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parent-id','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','\x20is\x20missing\x20from\x20menu\x20list.','\x20has\x20an\x20unexpected\x20sort.','label','root','\x20has\x20unexpected\x20parent\x20','616PPqGIQ','6888zZLjYM','menu','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20type\x20folder.','1864lsLCGe','hash','\x20unexpectedly\x20owns\x20a\x20page.','path','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20is\x20not\x20empty.','Menu\x20create\x20response\x20for\x20folder\x20','\x20has\x20resources.','resources','<platform-generated>','depth','2990505PovSGA','failed','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','POST','cookie',';\x20verify\x20it\x20before\x20retrying.','write','1325JfqrvT','stringify','\x20has\x20an\x20unexpected\x20label.','after','get','/smartapi/menu/create','872710exNdwm','Folder\x20label','4329VarQIE','\x20may\x20exist\x20online\x20at\x20path\x20','folder','verify\x20folder\x20creation'];a154_0x4f6f=function(){return _0x2d6a64;};return a154_0x4f6f();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a154_0x4fd1(_0x598548,_0x24f16c){_0x598548=_0x598548-0xb5;const _0x4f6f89=a154_0x4f6f();let _0x4fd17e=_0x4f6f89[_0x598548];return _0x4fd17e;}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a154_0x593c4b(0xc1),'path':'/smartapi/menu/create'}];export const menuGroupCreate={'service':a154_0x593c4b(0xf9),'command':'group-create','description':a154_0x593c4b(0xef),'risk':a154_0x593c4b(0xc4),'structuredErrors':!![],'flags':[{'name':a154_0x593c4b(0xf4),'type':a154_0x593c4b(0xda),'required':!![],'description':a154_0x593c4b(0xcc)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x492704){validateCreateInput(_0x492704);},async 'dryRun'(_0x362316){const _0x34c25e=a154_0x593c4b,_0x238036=await buildCreatePlan(_0x362316,!![]),_0xebe4bf=_0x238036[_0x34c25e(0xc8)];return menuDryRunResult(_0x238036,{'method':_0x34c25e(0xc1),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0xebe4bf[_0x34c25e(0xd3)]),'label':_0xebe4bf[_0x34c25e(0xf4)],'type':_0x34c25e(0xcf),'visible':!![],'sort':_0xebe4bf[_0x34c25e(0xd4)],'extend':{}},'description':_0x34c25e(0xe2)+String(_0xebe4bf[_0x34c25e(0xf4)])+_0x34c25e(0xdc)});},async 'execute'(_0x33fa18){const _0x18fa5c=a154_0x593c4b;validateCreateInput(_0x33fa18);const _0x253ed7=await buildCreatePlan(_0x33fa18,![]),_0xc1a286=_0x253ed7['after'];await recheckMutationSnapshot(_0x33fa18,_0x253ed7,'create\x20folder');let _0x4946fc;try{_0x4946fc=await createMenuEntity(_0x33fa18['appCode'],_0x33fa18[_0x18fa5c(0xc2)],{'parentId':toApiParentId(_0xc1a286[_0x18fa5c(0xd3)]),'label':String(_0xc1a286[_0x18fa5c(0xf4)]),'type':_0x18fa5c(0xcf),'visible':!![],'sort':Number(_0xc1a286[_0x18fa5c(0xd4)]),'extend':{}});}catch(_0x38d015){const _0x314e8e=mapMenuApiError(_0x38d015,_0x18fa5c(0xea));throw menuFailure(_0x314e8e,_0x253ed7,{'stage':'create','failed':{}});}const _0x4d3167=Number(_0x4946fc['id']);if(!Number[_0x18fa5c(0xde)](_0x4d3167)||_0x4d3167<=0x0){const _0x3d1dc9=menuError(_0x18fa5c(0xdf),_0x18fa5c(0xe3),_0x18fa5c(0xfa));throw menuFailure(_0x3d1dc9,_0x253ed7,{'stage':_0x18fa5c(0xdd),'failed':{'createdId':_0x4946fc['id']??null},'warnings':[_0x18fa5c(0xf1)],'verification':{'status':_0x18fa5c(0xbf),'lookupCommand':_0x18fa5c(0xed)}});}const _0x5a4a6d=typeof _0x4946fc[_0x18fa5c(0xb6)]===_0x18fa5c(0xda)?_0x4946fc[_0x18fa5c(0xb6)]:'';if(!_0x5a4a6d[_0x18fa5c(0xeb)]()){const _0x5c55bf=menuError(_0x18fa5c(0xdf),_0x18fa5c(0xb9)+_0x4d3167+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.',_0x18fa5c(0xe5));throw menuFailure(_0x5c55bf,_0x253ed7,{'stage':_0x18fa5c(0xdd),'succeeded':[{'id':_0x4d3167,'created':!![]}],'failed':{'id':_0x4d3167,'generatedPathConfirmed':![]},'warnings':[_0x18fa5c(0xd8)+_0x4d3167+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0xc1a286,'id':_0x4d3167,'path':_0x5a4a6d},'verification':{'status':_0x18fa5c(0xbf),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x4d3167}});}let _0x15907d;try{_0x15907d=await fetchMenuSnapshot(_0x33fa18['appCode'],_0x33fa18[_0x18fa5c(0xc2)]);}catch(_0x4c97da){const _0x42d6ed=describeMenuErrorCause(_0x4c97da,_0x18fa5c(0xd0),_0x4d3167),_0x384fa0=asVerificationError(_0x4c97da,_0x18fa5c(0xd8)+_0x4d3167+_0x18fa5c(0xc0));throw menuFailure(_0x384fa0,_0x253ed7,{'stage':'verification','succeeded':[{'id':_0x4d3167,'created':!![],'path':_0x5a4a6d}],'failed':{'id':_0x4d3167,'finalFactsConfirmed':![],..._0x42d6ed},'warnings':[_0x18fa5c(0xd8)+_0x4d3167+_0x18fa5c(0xce)+JSON[_0x18fa5c(0xc6)](_0x5a4a6d)+_0x18fa5c(0xc3)],'after':{..._0xc1a286,'id':_0x4d3167,'path':_0x5a4a6d},'verification':{'status':_0x18fa5c(0xbf),'lookupCommand':_0x18fa5c(0xed),'targetId':_0x4d3167}});}const _0x5b086e=_0x15907d['byId'][_0x18fa5c(0xc9)](_0x4d3167);let _0x2da8a4;try{assertVerified(Boolean(_0x5b086e),_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xf2)),_0x2da8a4=_0x5b086e,assertVerified(_0x2da8a4[_0x18fa5c(0xe0)]===_0x18fa5c(0xcf),_0x18fa5c(0xd1)+_0x4d3167+_0x18fa5c(0xfb)),assertVerified(_0x2da8a4[_0x18fa5c(0xf4)]===_0xc1a286['label'],'Created\x20folder\x20'+_0x4d3167+_0x18fa5c(0xc7)),assertVerified(_0x2da8a4[_0x18fa5c(0xb6)]===_0x5a4a6d&&Boolean(_0x2da8a4[_0x18fa5c(0xb6)][_0x18fa5c(0xeb)]()),_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xb7)),assertVerified(_0x2da8a4['visible']===!![],_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xd2)),assertVerified(_0x2da8a4[_0x18fa5c(0xbb)]['length']===0x0,_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xba)),assertVerified(_0x2da8a4[_0x18fa5c(0xec)]===0x0,_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xb8)),assertVerified(_0x2da8a4[_0x18fa5c(0xd4)]===_0xc1a286[_0x18fa5c(0xd4)],'Created\x20folder\x20'+_0x4d3167+_0x18fa5c(0xf3)),assertVerified(_0x2da8a4[_0x18fa5c(0xd3)]===_0xc1a286[_0x18fa5c(0xd3)],_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xf6)+(_0x2da8a4[_0x18fa5c(0xd3)]??_0x18fa5c(0xf5))+'.'),assertVerified(_0x2da8a4['pageId']==null,'Created\x20folder\x20'+_0x4d3167+_0x18fa5c(0xb5));const _0xd8e65d=_0x2da8a4[_0x18fa5c(0xd3)]==null?undefined:requireFolder(_0x15907d,_0x2da8a4[_0x18fa5c(0xd3)]);assertVerified(_0x2da8a4[_0x18fa5c(0xbd)]===(_0xd8e65d?_0xd8e65d[_0x18fa5c(0xbd)]+0x1:0x0),_0x18fa5c(0xe7)+_0x4d3167+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x98f88){const _0x5d6b37=describeMenuErrorCause(_0x98f88,'verify\x20folder\x20creation',_0x4d3167),_0x41484e=asVerificationError(_0x98f88,_0x18fa5c(0xd8)+_0x4d3167+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x41484e,_0x253ed7,{'stage':_0x18fa5c(0xe8),'succeeded':[{'id':_0x4d3167,'created':!![],'path':_0x5a4a6d}],'failed':{'id':_0x4d3167,'finalFactsConfirmed':![],..._0x5d6b37},'warnings':['Folder\x20'+_0x4d3167+_0x18fa5c(0xd7)],'after':_0x5b086e??{..._0xc1a286,'id':_0x4d3167,'path':_0x5a4a6d},'verification':{'status':'failed','lookupCommand':_0x18fa5c(0xed),'targetId':_0x4d3167}});}const _0x7fa7a1=mutationResult({..._0x253ed7,'after':_0x2da8a4,'dryRun':![],'succeeded':[{'id':_0x4d3167,'type':_0x18fa5c(0xcf),'path':_0x5a4a6d}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x15907d['hash'],'folder':!![],'path':_0x5a4a6d,'emptyResources':!![]}});return{'ok':!![],'data':_0x7fa7a1,'message':_0x18fa5c(0xd5)+_0x4d3167+'.'};}};function validateCreateInput(_0x1b9bf1){const _0x13cb63=a154_0x593c4b,_0x45a366=_0x1b9bf1['str'](_0x13cb63(0xf4))['trim']();if(!_0x45a366)throw CliErrors[_0x13cb63(0xe6)]('label');parseParentId(_0x1b9bf1,_0x13cb63(0xf0)),validateSort(_0x1b9bf1);}async function buildCreatePlan(_0x244d15,_0x649ec2){const _0x3454bc=a154_0x593c4b,_0x48ab9e=await fetchMutationSnapshot(_0x244d15,_0x3454bc(0xea)),_0x547990=parseParentId(_0x244d15,_0x3454bc(0xf0))??null;if(_0x547990!=null)requireFolder(_0x48ab9e,_0x547990);const _0x48ef3f=validateSort(_0x244d15),_0x216e94=_0x48ef3f??nextSiblingSort(_0x48ab9e,_0x547990,_0x3454bc(0xcf)),_0x3433ae=_0x244d15['str'](_0x3454bc(0xf4))[_0x3454bc(0xeb)]();return mutationResult({'operation':'group-create','selector':{'label':_0x3433ae,'parentId':_0x547990},'before':null,'after':{'id':null,'parentId':_0x547990,'label':_0x3433ae,'path':_0x3454bc(0xbc),'type':_0x3454bc(0xcf),'visible':!![],'sort':_0x216e94,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x649ec2,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3454bc(0xe1),'method':_0x3454bc(0xc1),'path':_0x3454bc(0xca),'body':{'parentId':toApiParentId(_0x547990),'label':_0x3433ae,'type':'folder','visible':!![],'sort':_0x216e94,'extend':{}}}],'snapshotHash':_0x48ab9e[_0x3454bc(0xfd)],'warnings':[_0x3454bc(0xd9)]});}
|
|
1
|
+
const a155_0x46c24a=a155_0x5613;function a155_0x5613(_0x167a8d,_0x198e9c){_0x167a8d=_0x167a8d-0xfd;const _0x5dcda2=a155_0x5dcd();let _0x56132f=_0x5dcda2[_0x167a8d];return _0x56132f;}(function(_0x50d412,_0x2c70e1){const _0x1f3fa5=a155_0x5613,_0x344e8d=_0x50d412();while(!![]){try{const _0x35b757=parseInt(_0x1f3fa5(0x110))/0x1*(parseInt(_0x1f3fa5(0x11d))/0x2)+-parseInt(_0x1f3fa5(0x125))/0x3*(parseInt(_0x1f3fa5(0x10a))/0x4)+parseInt(_0x1f3fa5(0x138))/0x5*(-parseInt(_0x1f3fa5(0x12e))/0x6)+parseInt(_0x1f3fa5(0x11f))/0x7*(parseInt(_0x1f3fa5(0x119))/0x8)+parseInt(_0x1f3fa5(0x11b))/0x9+-parseInt(_0x1f3fa5(0x116))/0xa*(-parseInt(_0x1f3fa5(0x10b))/0xb)+-parseInt(_0x1f3fa5(0x145))/0xc;if(_0x35b757===_0x2c70e1)break;else _0x344e8d['push'](_0x344e8d['shift']());}catch(_0x3b776a){_0x344e8d['push'](_0x344e8d['shift']());}}}(a155_0x5dcd,0x97452));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';function a155_0x5dcd(){const _0x27b1f5=['\x20may\x20exist\x20online\x20at\x20path\x20','pageId','create\x20folder','Created\x20menu\x20folder\x20','14348244UOTTqD','Menu\x20create\x20response\x20for\x20folder\x20','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','label','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','cookie','byId','rabetbase\x20menu\x20list\x20--format\x20json','hash','POST','appCode','after','resources','\x20is\x20not\x20empty.','menu\x20list','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','8grIDUw','11vbVHNJ',';\x20verify\x20it\x20before\x20retrying.','Folder\x20label','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','depth','1MCZwvs','create-folder','\x20has\x20resources.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','Created\x20menu\x20','\x20has\x20an\x20unexpected\x20label.','5419910HLIrEk','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','length','1698584zCwXDE','Would\x20create\x20empty\x20folder\x20\x22','6683778tfvRHs','root','1679276ADYcDu','\x20is\x20not\x20visible.','21SoOFCo','menu','string','parent-id','menu_create_response_invalid','\x20has\x20unexpected\x20parent\x20','1036029PZXlMQ','childrenCount','verify\x20folder\x20creation','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','verification','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Created\x20folder\x20','parentId','\x20is\x20missing\x20from\x20menu\x20list.','306318WaQvLb','/smartapi/menu/create','str','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','sort','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','group-create','path','\x20has\x20an\x20unexpected\x20sort.','failed','25ThnPTv','Folder\x20','folder','write','\x20unexpectedly\x20owns\x20a\x20page.','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','trim','\x22\x20with\x20a\x20platform-generated\x20path.','create'];a155_0x5dcd=function(){return _0x27b1f5;};return a155_0x5dcd();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a155_0x46c24a(0x103),'path':a155_0x46c24a(0x12f)}];export const menuGroupCreate={'service':a155_0x46c24a(0x120),'command':'group-create','description':a155_0x46c24a(0xfe),'risk':a155_0x46c24a(0x13b),'structuredErrors':!![],'flags':[{'name':a155_0x46c24a(0xfd),'type':a155_0x46c24a(0x121),'required':!![],'description':a155_0x46c24a(0x10d)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1677d0){validateCreateInput(_0x1677d0);},async 'dryRun'(_0x3ffa6d){const _0x49f9d6=a155_0x46c24a,_0x516b4d=await buildCreatePlan(_0x3ffa6d,!![]),_0x3ae16a=_0x516b4d[_0x49f9d6(0x105)];return menuDryRunResult(_0x516b4d,{'method':_0x49f9d6(0x103),'url':_0x49f9d6(0x12f),'body':{'parentId':toApiParentId(_0x3ae16a[_0x49f9d6(0x12c)]),'label':_0x3ae16a[_0x49f9d6(0xfd)],'type':_0x49f9d6(0x13a),'visible':!![],'sort':_0x3ae16a['sort'],'extend':{}},'description':_0x49f9d6(0x11a)+String(_0x3ae16a[_0x49f9d6(0xfd)])+_0x49f9d6(0x13f)});},async 'execute'(_0x1f7314){const _0x3031a6=a155_0x46c24a;validateCreateInput(_0x1f7314);const _0x3f4d39=await buildCreatePlan(_0x1f7314,![]),_0x5de855=_0x3f4d39[_0x3031a6(0x105)];await recheckMutationSnapshot(_0x1f7314,_0x3f4d39,_0x3031a6(0x143));let _0x313f2f;try{_0x313f2f=await createMenuEntity(_0x1f7314[_0x3031a6(0x104)],_0x1f7314[_0x3031a6(0xff)],{'parentId':toApiParentId(_0x5de855['parentId']),'label':String(_0x5de855['label']),'type':'folder','visible':!![],'sort':Number(_0x5de855['sort']),'extend':{}});}catch(_0x549e28){const _0x2439d9=mapMenuApiError(_0x549e28,_0x3031a6(0x143));throw menuFailure(_0x2439d9,_0x3f4d39,{'stage':_0x3031a6(0x140),'failed':{}});}const _0x478014=Number(_0x313f2f['id']);if(!Number['isSafeInteger'](_0x478014)||_0x478014<=0x0){const _0x25ca8c=menuError(_0x3031a6(0x123),_0x3031a6(0x113),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x25ca8c,_0x3f4d39,{'stage':'create-response-validation','failed':{'createdId':_0x313f2f['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x3031a6(0x137),'lookupCommand':_0x3031a6(0x101)}});}const _0x170e52=typeof _0x313f2f[_0x3031a6(0x135)]===_0x3031a6(0x121)?_0x313f2f[_0x3031a6(0x135)]:'';if(!_0x170e52[_0x3031a6(0x13e)]()){const _0x3bb240=menuError('menu_create_response_invalid',_0x3031a6(0x146)+_0x478014+_0x3031a6(0x133),_0x3031a6(0x117));throw menuFailure(_0x3bb240,_0x3f4d39,{'stage':'create-response-validation','succeeded':[{'id':_0x478014,'created':!![]}],'failed':{'id':_0x478014,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x478014+_0x3031a6(0x13d)],'after':{..._0x5de855,'id':_0x478014,'path':_0x170e52},'verification':{'status':_0x3031a6(0x137),'lookupCommand':_0x3031a6(0x101),'targetId':_0x478014}});}let _0x496b5a;try{_0x496b5a=await fetchMenuSnapshot(_0x1f7314[_0x3031a6(0x104)],_0x1f7314[_0x3031a6(0xff)]);}catch(_0x6bb16b){const _0x1b2ca7=describeMenuErrorCause(_0x6bb16b,_0x3031a6(0x127),_0x478014),_0x40af34=asVerificationError(_0x6bb16b,'Folder\x20'+_0x478014+_0x3031a6(0x10e));throw menuFailure(_0x40af34,_0x3f4d39,{'stage':'verification','succeeded':[{'id':_0x478014,'created':!![],'path':_0x170e52}],'failed':{'id':_0x478014,'finalFactsConfirmed':![],..._0x1b2ca7},'warnings':[_0x3031a6(0x139)+_0x478014+_0x3031a6(0x141)+JSON['stringify'](_0x170e52)+_0x3031a6(0x10c)],'after':{..._0x5de855,'id':_0x478014,'path':_0x170e52},'verification':{'status':_0x3031a6(0x137),'lookupCommand':_0x3031a6(0x101),'targetId':_0x478014}});}const _0x9ed73f=_0x496b5a[_0x3031a6(0x100)]['get'](_0x478014);let _0xb5046d;try{assertVerified(Boolean(_0x9ed73f),'Created\x20folder\x20'+_0x478014+_0x3031a6(0x12d)),_0xb5046d=_0x9ed73f,assertVerified(_0xb5046d['type']===_0x3031a6(0x13a),_0x3031a6(0x114)+_0x478014+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0xb5046d[_0x3031a6(0xfd)]===_0x5de855[_0x3031a6(0xfd)],'Created\x20folder\x20'+_0x478014+_0x3031a6(0x115)),assertVerified(_0xb5046d[_0x3031a6(0x135)]===_0x170e52&&Boolean(_0xb5046d[_0x3031a6(0x135)][_0x3031a6(0x13e)]()),_0x3031a6(0x12b)+_0x478014+_0x3031a6(0x128)),assertVerified(_0xb5046d['visible']===!![],_0x3031a6(0x12b)+_0x478014+_0x3031a6(0x11e)),assertVerified(_0xb5046d[_0x3031a6(0x106)][_0x3031a6(0x118)]===0x0,_0x3031a6(0x12b)+_0x478014+_0x3031a6(0x112)),assertVerified(_0xb5046d[_0x3031a6(0x126)]===0x0,_0x3031a6(0x12b)+_0x478014+_0x3031a6(0x107)),assertVerified(_0xb5046d[_0x3031a6(0x132)]===_0x5de855['sort'],_0x3031a6(0x12b)+_0x478014+_0x3031a6(0x136)),assertVerified(_0xb5046d[_0x3031a6(0x12c)]===_0x5de855['parentId'],_0x3031a6(0x12b)+_0x478014+_0x3031a6(0x124)+(_0xb5046d[_0x3031a6(0x12c)]??_0x3031a6(0x11c))+'.'),assertVerified(_0xb5046d[_0x3031a6(0x142)]==null,_0x3031a6(0x12b)+_0x478014+_0x3031a6(0x13c));const _0x27d925=_0xb5046d['parentId']==null?undefined:requireFolder(_0x496b5a,_0xb5046d['parentId']);assertVerified(_0xb5046d[_0x3031a6(0x10f)]===(_0x27d925?_0x27d925[_0x3031a6(0x10f)]+0x1:0x0),'Created\x20folder\x20'+_0x478014+_0x3031a6(0x109));}catch(_0x3ba6ef){const _0x4685c5=describeMenuErrorCause(_0x3ba6ef,_0x3031a6(0x127),_0x478014),_0x85e537=asVerificationError(_0x3ba6ef,'Folder\x20'+_0x478014+_0x3031a6(0x131));throw menuFailure(_0x85e537,_0x3f4d39,{'stage':_0x3031a6(0x129),'succeeded':[{'id':_0x478014,'created':!![],'path':_0x170e52}],'failed':{'id':_0x478014,'finalFactsConfirmed':![],..._0x4685c5},'warnings':['Folder\x20'+_0x478014+_0x3031a6(0x147)],'after':_0x9ed73f??{..._0x5de855,'id':_0x478014,'path':_0x170e52},'verification':{'status':_0x3031a6(0x137),'lookupCommand':_0x3031a6(0x101),'targetId':_0x478014}});}const _0x1f58b7=mutationResult({..._0x3f4d39,'after':_0xb5046d,'dryRun':![],'succeeded':[{'id':_0x478014,'type':_0x3031a6(0x13a),'path':_0x170e52}],'verification':{'checkedBy':_0x3031a6(0x108),'snapshotHash':_0x496b5a[_0x3031a6(0x102)],'folder':!![],'path':_0x170e52,'emptyResources':!![]}});return{'ok':!![],'data':_0x1f58b7,'message':_0x3031a6(0x144)+_0x478014+'.'};}};function validateCreateInput(_0x1c8673){const _0x26d6c8=a155_0x46c24a,_0x3e6453=_0x1c8673[_0x26d6c8(0x130)]('label')[_0x26d6c8(0x13e)]();if(!_0x3e6453)throw CliErrors['flagMissing'](_0x26d6c8(0xfd));parseParentId(_0x1c8673,_0x26d6c8(0x122)),validateSort(_0x1c8673);}async function buildCreatePlan(_0x4ff5c0,_0x5ed939){const _0x2d0f8b=a155_0x46c24a,_0x5849a3=await fetchMutationSnapshot(_0x4ff5c0,_0x2d0f8b(0x143)),_0x59122e=parseParentId(_0x4ff5c0,'parent-id')??null;if(_0x59122e!=null)requireFolder(_0x5849a3,_0x59122e);const _0x513c1f=validateSort(_0x4ff5c0),_0x59d97e=_0x513c1f??nextSiblingSort(_0x5849a3,_0x59122e,_0x2d0f8b(0x13a)),_0x593937=_0x4ff5c0[_0x2d0f8b(0x130)](_0x2d0f8b(0xfd))[_0x2d0f8b(0x13e)]();return mutationResult({'operation':_0x2d0f8b(0x134),'selector':{'label':_0x593937,'parentId':_0x59122e},'before':null,'after':{'id':null,'parentId':_0x59122e,'label':_0x593937,'path':'<platform-generated>','type':_0x2d0f8b(0x13a),'visible':!![],'sort':_0x59d97e,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5ed939,'backend':[...BACKEND],'plannedActions':[{'stage':_0x2d0f8b(0x111),'method':_0x2d0f8b(0x103),'path':_0x2d0f8b(0x12f),'body':{'parentId':toApiParentId(_0x59122e),'label':_0x593937,'type':'folder','visible':!![],'sort':_0x59d97e,'extend':{}}}],'snapshotHash':_0x5849a3[_0x2d0f8b(0x102)],'warnings':[_0x2d0f8b(0x12a)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a156_0x5978db=a156_0x19e7;(function(_0x89b9b1,_0x1fd5ee){const _0x38403d=a156_0x19e7,_0x34293b=_0x89b9b1();while(!![]){try{const _0x350a42=-parseInt(_0x38403d(0xe8))/0x1+parseInt(_0x38403d(0xe5))/0x2+parseInt(_0x38403d(0x10f))/0x3*(parseInt(_0x38403d(0xf1))/0x4)+parseInt(_0x38403d(0xf4))/0x5+-parseInt(_0x38403d(0xed))/0x6+parseInt(_0x38403d(0xef))/0x7*(parseInt(_0x38403d(0x107))/0x8)+parseInt(_0x38403d(0x10b))/0x9*(-parseInt(_0x38403d(0xfd))/0xa);if(_0x350a42===_0x1fd5ee)break;else _0x34293b['push'](_0x34293b['shift']());}catch(_0x433342){_0x34293b['push'](_0x34293b['shift']());}}}(a156_0x55a9,0xb9f9e));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';function a156_0x19e7(_0x3e5931,_0x452062){_0x3e5931=_0x3e5931-0xe1;const _0x55a9ff=a156_0x55a9();let _0x19e733=_0x55a9ff[_0x3e5931];return _0x19e733;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a156_0x5978db(0x110),'path':a156_0x5978db(0xe7)}];export const menuGroupUpdate={'service':a156_0x5978db(0xe4),'command':a156_0x5978db(0xe9),'description':a156_0x5978db(0x103),'risk':a156_0x5978db(0x108),'structuredErrors':!![],'rejectedFlags':[{'name':a156_0x5978db(0x10a),'message':'Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':'label','type':a156_0x5978db(0x10c),'description':a156_0x5978db(0x109)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x24d873){validateUpdateInput(_0x24d873);},async 'dryRun'(_0x209b0b){const _0x58150b=a156_0x5978db;validateUpdateInput(_0x209b0b);const {plan:_0x3658f7,patch:_0x37d8cb}=await buildUpdatePlan(_0x209b0b,!![]);return menuDryRunResult(_0x3658f7,{'method':'POST','url':_0x58150b(0xe7),'body':_0x37d8cb,'description':_0x58150b(0xee)+_0x3658f7[_0x58150b(0xf9)]['id']+'.'});},async 'execute'(_0x4c3a92){const _0x31d2bc=a156_0x5978db;validateUpdateInput(_0x4c3a92);const {plan:_0x29b84d,patch:_0x21996e,noChanges:_0x33e0eb}=await buildUpdatePlan(_0x4c3a92,![]),_0x1d8b7c=Number(_0x29b84d[_0x31d2bc(0xf9)]['id']),_0x14fd09=await recheckMutationSnapshot(_0x4c3a92,_0x29b84d,'update\x20folder',_0x1d8b7c);if(!_0x33e0eb)try{await updateMenuEntity(_0x4c3a92['appCode'],_0x4c3a92[_0x31d2bc(0x10d)],_0x21996e);}catch(_0x4ed369){const _0x422c6e=mapMenuApiError(_0x4ed369,_0x31d2bc(0xf7),_0x1d8b7c);throw menuFailure(_0x422c6e,_0x29b84d,{'stage':_0x31d2bc(0xf8),'failed':{'id':_0x1d8b7c}});}let _0xf00aaf=_0x14fd09,_0x4cf15d;try{!_0x33e0eb&&(_0xf00aaf=await fetchMenuSnapshot(_0x4c3a92[_0x31d2bc(0xff)],_0x4c3a92[_0x31d2bc(0x10d)])),_0x4cf15d=requireMenu(_0xf00aaf,_0x1d8b7c),verifyPatch(_0x4cf15d,_0x21996e),_0x4cf15d[_0x31d2bc(0xf0)]!=null&&requireFolder(_0xf00aaf,_0x4cf15d['parentId']);}catch(_0x10a128){const _0x54aedb=describeMenuErrorCause(_0x10a128,_0x31d2bc(0x105),_0x1d8b7c),_0xe8f23f=asVerificationError(_0x10a128,_0x31d2bc(0x111)+_0x1d8b7c+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0xe8f23f,_0x29b84d,{'stage':_0x31d2bc(0x112),'succeeded':[{'id':_0x1d8b7c,'updateRequested':!_0x33e0eb,'skipped':_0x33e0eb}],'failed':{'id':_0x1d8b7c,'requestedStateConfirmed':![],..._0x54aedb},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x31d2bc(0xe6),'lookupCommand':_0x31d2bc(0xf6),'targetId':_0x1d8b7c}});}const _0x54076c=mutationResult({..._0x29b84d,'after':_0x4cf15d,'dryRun':![],'succeeded':[{'id':_0x1d8b7c,'updated':!_0x33e0eb,'skipped':_0x33e0eb}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0xf00aaf[_0x31d2bc(0xea)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x54076c,'message':_0x33e0eb?_0x31d2bc(0x101)+_0x1d8b7c+'\x20already\x20matches\x20the\x20requested\x20state.':'Updated\x20folder\x20'+_0x1d8b7c+'.'};}};function validateUpdateInput(_0x4eef12){const _0x495650=a156_0x5978db;validateExactId(_0x4eef12);if(hasFlag(_0x4eef12,_0x495650(0x10a)))throw CliErrors[_0x495650(0xfe)](_0x495650(0xeb),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x4eef12,_0x495650(0xfb))&&!hasFlag(_0x4eef12,_0x495650(0xf2)))throw CliErrors[_0x495650(0xfe)](_0x495650(0xe3));if(hasFlag(_0x4eef12,_0x495650(0xfb))&&!_0x4eef12[_0x495650(0xfc)]('label')[_0x495650(0x104)]())throw CliErrors['validation'](_0x495650(0xec));validateSort(_0x4eef12);}function a156_0x55a9(){const _0x35b58b=['failed','/smartapi/menu/update','39552gsOzjE','group-update','hash','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','--label\x20cannot\x20be\x20empty.','7532004iaLKDu','Would\x20update\x20folder\x20','6797wDCNLA','parentId','4AZlJwv','sort','\x20is\x20type\x20\x22','7535370caEobW','type','rabetbase\x20menu\x20list\x20--format\x20json','update\x20folder','update','selector','\x20is\x20no\x20longer\x20type\x20folder.','label','str','60lzZoEh','validation','appCode','menu_not_folder','Folder\x20','No\x20online\x20fields\x20would\x20change.','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','trim','verify\x20folder\x20update','\x20label\x20update\x20did\x20not\x20take\x20effect.','8312zAIgXH','write','New\x20folder\x20label','parent-id','1882575lJlwoe','string','cookie','\x20sort\x20update\x20did\x20not\x20take\x20effect.','96411HBafFV','POST','Update\x20request\x20for\x20folder\x20','verification','folder','unknown','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','menu','1527228aoVVlG'];a156_0x55a9=function(){return _0x35b58b;};return a156_0x55a9();}async function buildUpdatePlan(_0x27534c,_0x185257){const _0x310f8c=a156_0x5978db,_0xcb6d32=validateExactId(_0x27534c),_0x119d4d=await fetchMutationSnapshot(_0x27534c,_0x310f8c(0xf7),_0xcb6d32),_0x5c6f1f=requireMenu(_0x119d4d,_0xcb6d32);if(_0x5c6f1f[_0x310f8c(0xf5)]!==_0x310f8c(0xe1))throw menuError(_0x310f8c(0x100),'Menu\x20'+_0xcb6d32+_0x310f8c(0xf3)+(_0x5c6f1f[_0x310f8c(0xf5)]||_0x310f8c(0xe2))+'\x22,\x20not\x20folder.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x27534c,_0x5c6f1f);const _0x5b0627={'id':_0xcb6d32},_0xc466ad={..._0x5c6f1f};if(hasFlag(_0x27534c,_0x310f8c(0xfb))){const _0x4a99ee=_0x27534c[_0x310f8c(0xfc)](_0x310f8c(0xfb))['trim']();_0x5b0627[_0x310f8c(0xfb)]=_0x4a99ee,_0xc466ad[_0x310f8c(0xfb)]=_0x4a99ee;}if(hasFlag(_0x27534c,_0x310f8c(0xf2))){const _0x390b60=validateSort(_0x27534c);_0x5b0627[_0x310f8c(0xf2)]=_0x390b60,_0xc466ad[_0x310f8c(0xf2)]=_0x390b60;}const _0x23446=sameRequestedState(_0x5c6f1f,_0xc466ad),_0x21c243=_0x23446?[_0x310f8c(0x102)]:[];return{'patch':_0x5b0627,'noChanges':_0x23446,'plan':mutationResult({'operation':_0x310f8c(0xe9),'selector':{'id':_0xcb6d32},'before':_0x5c6f1f,'after':_0xc466ad,'dryRun':_0x185257,'backend':[...BACKEND],'snapshotHash':_0x119d4d[_0x310f8c(0xea)],'warnings':_0x21c243})};}function sameRequestedState(_0x4b41ae,_0x204d22){const _0x4e390b=a156_0x5978db;return _0x4b41ae['label']===_0x204d22['label']&&_0x4b41ae['sort']===_0x204d22[_0x4e390b(0xf2)];}function verifyPatch(_0x2e41ef,_0xc4111f){const _0x3db26f=a156_0x5978db;assertVerified(_0x2e41ef[_0x3db26f(0xf5)]===_0x3db26f(0xe1),'Menu\x20'+_0x2e41ef['id']+_0x3db26f(0xfa)),_0xc4111f[_0x3db26f(0xfb)]!==undefined&&assertVerified(_0x2e41ef['label']===_0xc4111f[_0x3db26f(0xfb)],'Folder\x20'+_0x2e41ef['id']+_0x3db26f(0x106)),_0xc4111f[_0x3db26f(0xf2)]!==undefined&&assertVerified(_0x2e41ef[_0x3db26f(0xf2)]===_0xc4111f['sort'],_0x3db26f(0x101)+_0x2e41ef['id']+_0x3db26f(0x10e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x25a3cb,_0x19a627){const _0x1b0ea5=a157_0x1abf,_0x1fb7fb=_0x25a3cb();while(!![]){try{const _0x224266=parseInt(_0x1b0ea5(0x182))/0x1+parseInt(_0x1b0ea5(0x188))/0x2*(-parseInt(_0x1b0ea5(0x181))/0x3)+parseInt(_0x1b0ea5(0x186))/0x4+-parseInt(_0x1b0ea5(0x183))/0x5*(parseInt(_0x1b0ea5(0x189))/0x6)+parseInt(_0x1b0ea5(0x185))/0x7+parseInt(_0x1b0ea5(0x187))/0x8+-parseInt(_0x1b0ea5(0x184))/0x9*(parseInt(_0x1b0ea5(0x180))/0xa);if(_0x224266===_0x19a627)break;else _0x1fb7fb['push'](_0x1fb7fb['shift']());}catch(_0x25b321){_0x1fb7fb['push'](_0x1fb7fb['shift']());}}}(a157_0x2c15,0x205d6));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';function a157_0x1abf(_0x2123dc,_0x5d53b8){_0x2123dc=_0x2123dc-0x180;const _0x2c15bd=a157_0x2c15();let _0x1abf4d=_0x2c15bd[_0x2123dc];return _0x1abf4d;}import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';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';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';import{menuSubappAssetsStatus}from'../../commands/menu/subapp-assets-status.js';import{menuSubappAssetsUpdate}from'../../commands/menu/subapp-assets-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuSubappAssetsStatus,menuSubappAssetsUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];function a157_0x2c15(){const _0x4e5af3=['189896iEbwqK','527384fKVYCL','22GYVQvJ','30rnQZMW','70vrjjHD','17781RQEKNx','219421FhizxL','147905PpTOpr','317943FzUWHY','1820973VorvdM'];a157_0x2c15=function(){return _0x4e5af3;};return a157_0x2c15();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a158_0x7d370b=a158_0x3a34;(function(_0x29a637,_0x139586){const _0x5448e3=a158_0x3a34,_0x44dbf5=_0x29a637();while(!![]){try{const _0x530859=parseInt(_0x5448e3(0x12e))/0x1+parseInt(_0x5448e3(0x133))/0x2+-parseInt(_0x5448e3(0x123))/0x3*(parseInt(_0x5448e3(0x125))/0x4)+parseInt(_0x5448e3(0x122))/0x5*(parseInt(_0x5448e3(0x121))/0x6)+parseInt(_0x5448e3(0x12a))/0x7+-parseInt(_0x5448e3(0x127))/0x8+-parseInt(_0x5448e3(0x132))/0x9;if(_0x530859===_0x139586)break;else _0x44dbf5['push'](_0x44dbf5['shift']());}catch(_0x1016e3){_0x44dbf5['push'](_0x44dbf5['shift']());}}}(a158_0x301c,0xc13bb));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a158_0x301c(){const _0x1f3dca=['menus','hash','9451089yHkNcZ','1909506IIaemD','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','map','menu','37194MmwqsI','1205ckRdgl','49227yRoaJe','read','244GlJkNN','Found\x20','12251960ivdweI','bool','\x20menu(s)','8703898mLtlJI','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','total','verbose','681922ttQlzV','boolean'];a158_0x301c=function(){return _0x1f3dca;};return a158_0x301c();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a158_0x3a34(_0x31f489,_0x3e7dfa){_0x31f489=_0x31f489-0x11e;const _0x301c82=a158_0x301c();let _0x3a34c8=_0x301c82[_0x31f489];return _0x3a34c8;}export const menuList={'service':a158_0x7d370b(0x120),'command':'list','description':a158_0x7d370b(0x11e),'risk':a158_0x7d370b(0x124),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'verbose','type':a158_0x7d370b(0x12f),'description':a158_0x7d370b(0x12b)}],async 'execute'(_0x535cba){const _0x2de875=a158_0x7d370b,_0x1942c9=_0x535cba[_0x2de875(0x128)](_0x2de875(0x12d)),_0x1ab80e=await fetchMenuSnapshot(_0x535cba['appCode'],_0x535cba['cookie'],{'verbose':_0x1942c9});return{'ok':!![],'data':{'total':_0x1ab80e['total'],'snapshotHash':_0x1ab80e[_0x2de875(0x131)],'menus':_0x1ab80e[_0x2de875(0x130)][_0x2de875(0x11f)](toMenuListItem)},'message':_0x1ab80e[_0x2de875(0x12c)]===0x0?'No\x20menus\x20found.':_0x2de875(0x126)+_0x1ab80e[_0x2de875(0x12c)]+_0x2de875(0x129)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a159_0x59979e=a159_0x40d4;(function(_0x596fac,_0x2df8dc){const _0x4eabc5=a159_0x40d4,_0x178ebf=_0x596fac();while(!![]){try{const _0x2e95ec=parseInt(_0x4eabc5(0x1c5))/0x1+parseInt(_0x4eabc5(0x1dd))/0x2+-parseInt(_0x4eabc5(0x1ca))/0x3*(parseInt(_0x4eabc5(0x1e5))/0x4)+-parseInt(_0x4eabc5(0x1bc))/0x5*(-parseInt(_0x4eabc5(0x1b8))/0x6)+-parseInt(_0x4eabc5(0x1c0))/0x7+-parseInt(_0x4eabc5(0x1eb))/0x8*(-parseInt(_0x4eabc5(0x1c1))/0x9)+-parseInt(_0x4eabc5(0x1c6))/0xa*(-parseInt(_0x4eabc5(0x1d2))/0xb);if(_0x2e95ec===_0x2df8dc)break;else _0x178ebf['push'](_0x178ebf['shift']());}catch(_0x1400a4){_0x178ebf['push'](_0x178ebf['shift']());}}}(a159_0x1273,0x70bd7));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';function a159_0x40d4(_0x348c6b,_0x3bd621){_0x348c6b=_0x348c6b-0x1b8;const _0x127386=a159_0x1273();let _0x40d419=_0x127386[_0x348c6b];return _0x40d419;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a159_0x59979e(0x1d4),'path':'/smartapi/menu/update'}];export const menuMove={'service':a159_0x59979e(0x1dc),'command':'move','description':a159_0x59979e(0x1d6),'risk':a159_0x59979e(0x1ea),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2d20c1){validateMoveInput(_0x2d20c1);},async 'dryRun'(_0x19330a){const _0x2b71a2=a159_0x59979e,{plan:_0x15cdbd,patch:_0x28baf2}=await buildMovePlan(_0x19330a,!![]);return menuDryRunResult(_0x15cdbd,{'method':'POST','url':'/smartapi/menu/update','body':{..._0x28baf2,'appCode':_0x19330a[_0x2b71a2(0x1d0)]},'description':_0x2b71a2(0x1cc)+_0x28baf2['id']+'.'});},async 'execute'(_0x19673b){const _0x17a3f1=a159_0x59979e;validateMoveInput(_0x19673b);const {plan:_0x64dc4d,patch:_0x4a55be,noChanges:_0x1e8f35,snapshot:_0x46889c}=await buildMovePlan(_0x19673b,![]),_0xc51c5=_0x4a55be['id'];if(!_0x1e8f35)try{await updateMenuEntity(_0x19673b['appCode'],_0x19673b[_0x17a3f1(0x1e3)],_0x4a55be);}catch(_0x23ba6e){const _0x3f3615=mapMenuApiError(_0x23ba6e,_0x17a3f1(0x1e2),_0xc51c5);throw menuFailure(_0x3f3615,_0x64dc4d,{'stage':_0x17a3f1(0x1c4),'failed':{'id':_0xc51c5},'warnings':[_0x17a3f1(0x1c7)],'verification':{'status':_0x17a3f1(0x1cf),'targetId':_0xc51c5,'lookupCommand':_0x17a3f1(0x1d3)}});}let _0x3340e0,_0x519210;try{_0x3340e0=_0x1e8f35?_0x46889c:await fetchMenuSnapshot(_0x19673b[_0x17a3f1(0x1d0)],_0x19673b[_0x17a3f1(0x1e3)]),_0x519210=requireMenu(_0x3340e0,_0xc51c5),verifyMove(_0x519210,_0x64dc4d[_0x17a3f1(0x1d1)]),_0x519210[_0x17a3f1(0x1ba)]!==null&&requireFolder(_0x3340e0,_0x519210[_0x17a3f1(0x1ba)]);}catch(_0xa96fcf){const _0xe9837=describeMenuErrorCause(_0xa96fcf,_0x17a3f1(0x1e1),_0xc51c5),_0x17f161=asVerificationError(_0xa96fcf,_0x17a3f1(0x1c9)+_0xc51c5+_0x17a3f1(0x1d9));throw menuFailure(_0x17f161,_0x64dc4d,{'stage':_0x17a3f1(0x1bb),'succeeded':[{'id':_0xc51c5,'updateRequested':!_0x1e8f35,'skipped':_0x1e8f35}],'failed':{'id':_0xc51c5,'requestedStateConfirmed':![],..._0xe9837},'warnings':[_0x17a3f1(0x1cb)],'verification':{'status':_0x17a3f1(0x1cf),'targetId':_0xc51c5,'lookupCommand':_0x17a3f1(0x1d3)}});}const _0x56d488=mutationResult({..._0x64dc4d,'after':_0x519210,'dryRun':![],'succeeded':[{'id':_0xc51c5,'updated':!_0x1e8f35,'skipped':_0x1e8f35}],'verification':{'checkedBy':_0x17a3f1(0x1e7),'snapshotHash':_0x3340e0[_0x17a3f1(0x1c3)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x56d488,'message':_0x1e8f35?_0x17a3f1(0x1cd)+_0xc51c5+_0x17a3f1(0x1e4):_0x17a3f1(0x1bf)+_0xc51c5+'.'};}};function validateMoveInput(_0x538313){const _0x478e27=a159_0x59979e;validateExactId(_0x538313),parseParentId(_0x538313,_0x478e27(0x1d7),{'required':!![]}),parseParentId(_0x538313,_0x478e27(0x1e9),{'required':!![]}),validateSort(_0x538313);}async function buildMovePlan(_0x4a2037,_0x10a03e){const _0x1ed446=a159_0x59979e,_0x3c503=validateExactId(_0x4a2037),_0x3480c7=parseParentId(_0x4a2037,_0x1ed446(0x1d7),{'required':!![]}),_0x24277e=parseParentId(_0x4a2037,_0x1ed446(0x1e9),{'required':!![]}),_0x5d667b=validateSort(_0x4a2037),_0x49980e=await fetchMutationSnapshot(_0x4a2037,_0x1ed446(0x1da),_0x3c503),_0x7b1e26=requireMenu(_0x49980e,_0x3c503);if(_0x7b1e26[_0x1ed446(0x1df)]===_0x1ed446(0x1ce)||_0x7b1e26[_0x1ed446(0x1e6)]!==0x0)throw menuError('menu_move_source_not_leaf',_0x1ed446(0x1cd)+_0x3c503+_0x1ed446(0x1c8),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x7b1e26[_0x1ed446(0x1ba)]!==_0x24277e)throw menuError(_0x1ed446(0x1d8),'Menu\x20'+_0x3c503+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x24277e)+_0x1ed446(0x1bd)+formatParent(_0x7b1e26['parentId'])+'.',_0x1ed446(0x1db));_0x3480c7!==null&&requireFolder(_0x49980e,_0x3480c7);const _0x41b131=_0x5d667b??(_0x7b1e26[_0x1ed446(0x1ba)]===_0x3480c7?_0x7b1e26[_0x1ed446(0x1e0)]??0x0:nextSiblingSort(_0x49980e,_0x3480c7,_0x1ed446(0x1dc))),_0x496333={..._0x7b1e26,'parentId':_0x3480c7,'sort':_0x41b131},_0x5993a5={'id':_0x3c503,'parentId':toApiParentId(_0x3480c7),'sort':_0x41b131},_0x3e0329=_0x7b1e26[_0x1ed446(0x1ba)]===_0x3480c7&&_0x7b1e26['sort']===_0x41b131;return{'patch':_0x5993a5,'noChanges':_0x3e0329,'snapshot':_0x49980e,'plan':mutationResult({'operation':'move','selector':{'id':_0x3c503,'parentId':_0x3480c7},'before':_0x7b1e26,'after':_0x496333,'dryRun':_0x10a03e,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1ed446(0x1d5),'method':_0x1ed446(0x1d4),'path':_0x1ed446(0x1c2),'body':{..._0x5993a5,'appCode':_0x4a2037['appCode']}}],'snapshotHash':_0x49980e[_0x1ed446(0x1c3)],'warnings':_0x3e0329?[_0x1ed446(0x1e8)]:[]})};}function verifyMove(_0x24d231,_0x53cb7f){const _0x46b43a=a159_0x59979e;assertVerified(_0x24d231[_0x46b43a(0x1df)]!==_0x46b43a(0x1ce),_0x46b43a(0x1cd)+_0x24d231['id']+_0x46b43a(0x1be)),assertVerified(_0x24d231[_0x46b43a(0x1e6)]===0x0,_0x46b43a(0x1cd)+_0x24d231['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x24d231[_0x46b43a(0x1ba)]===_0x53cb7f['parentId'],_0x46b43a(0x1cd)+_0x24d231['id']+_0x46b43a(0x1b9)),assertVerified(_0x24d231[_0x46b43a(0x1e0)]===_0x53cb7f[_0x46b43a(0x1e0)],'Menu\x20'+_0x24d231['id']+_0x46b43a(0x1de));}function a159_0x1273(){const _0x53c885=['\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','parentId','verification','1415bAQUAz',',\x20current\x20','\x20is\x20now\x20type\x20folder.','Moved\x20menu\x20','3174871WaydLB','225MAZiLA','/smartapi/menu/update','hash','update','444621LJJbye','110jEKJlZ','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','Move\x20request\x20for\x20menu\x20','300UzRPiW','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','Would\x20move\x20menu\x20','Menu\x20','folder','failed','appCode','after','152812YtOCuh','rabetbase\x20menu\x20list\x20--format\x20compress','POST','move-menu','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','parent-id','menu_state_drift','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','move\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','menu','799040uJjghm','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','type','sort','verify\x20menu\x20move','move','cookie','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','23708ZiJiOY','childrenCount','menu\x20list','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','expect-parent-id','write','154400bGwrZf','606LGRtLv'];a159_0x1273=function(){return _0x53c885;};return a159_0x1273();}
|