@lovrabet/rabetbase-cli 2.5.2-beta.2 → 2.5.2-beta.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 +2 -2
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.d.ts +1 -0
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/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/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/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/auto-sync.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/deployment/sync.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/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.d.ts +0 -8
- 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/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.d.ts +4 -0
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +3 -7
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.d.ts +5 -1
- package/lib/config/project-domain-routing.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 +1 -26
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.d.ts +43 -0
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/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.d.ts +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.d.ts +1 -3
- 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 +2 -1
- package/skills/rabetbase/SKILL.md +6 -6
- package/skills/rabetbase/guides/custom-page-workflow.md +35 -17
- package/skills/rabetbase/guides/page-development-workflow.md +1 -1
- package/skills/rabetbase/knowledge/components.md +292 -0
- package/skills/rabetbase/knowledge/custom-page/generation-standards.md +74 -4
- package/skills/rabetbase/knowledge/custom-page/page-templates.md +68 -0
- package/skills/rabetbase/references/rabetbase-app-members-list.md +2 -0
- package/skills/rabetbase/references/rabetbase-page-create.md +21 -9
- package/skills/rabetbase/references/rabetbase-page-custom-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-custom-update.md +13 -9
- package/skills/rabetbase/references/rabetbase-project-create.md +5 -2
- package/skills/rabetbase/references/rabetbase-project-domain-routing-sync.md +2 -2
- package/skills/rabetbase/references/rabetbase-run.md +1 -0
- package/skills/rabetbase.manifest.json +5 -4
- package/templates/README.md +10 -4
- package/templates/custom-pages/blank.json +5 -0
- package/templates/custom-pages/dashboard.json +5 -0
- package/templates/custom-pages/onepage.json +5 -0
- package/templates/generate-api/api.ts.tpl +1 -1
- package/lib/commands/page/custom/template.d.ts +0 -8
- package/lib/commands/page/custom/template.js +0 -1
- package/skills/rabetbase/knowledge/custom-page/components.md +0 -225
|
@@ -1 +1 @@
|
|
|
1
|
-
function a128_0x2c09(_0x4e2361,_0x236cb8){_0x4e2361=_0x4e2361-0x78;const _0x2b4b32=a128_0x2b4b();let _0x2c09b2=_0x2b4b32[_0x4e2361];return _0x2c09b2;}const a128_0x3ffc32=a128_0x2c09;(function(_0x830413,_0x439cff){const _0x22b431=a128_0x2c09,_0x30b774=_0x830413();while(!![]){try{const _0x41bac2=parseInt(_0x22b431(0xcc))/0x1+-parseInt(_0x22b431(0x83))/0x2+-parseInt(_0x22b431(0x7c))/0x3+-parseInt(_0x22b431(0xad))/0x4*(-parseInt(_0x22b431(0xc1))/0x5)+-parseInt(_0x22b431(0xbc))/0x6+parseInt(_0x22b431(0x89))/0x7+parseInt(_0x22b431(0x9d))/0x8;if(_0x41bac2===_0x439cff)break;else _0x30b774['push'](_0x30b774['shift']());}catch(_0x32830d){_0x30b774['push'](_0x30b774['shift']());}}}(a128_0x2b4b,0x657ac));import a128_0x1ba850 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';function a128_0x2b4b(){const _0x4a4cc5=['529343dTqMwj','POST','\x20menu(s)\x20failed','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','cookie','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','gray','validation','\x20\x20Update\x20','Updated\x20','paths','1655757WjOwVe','appcode','\x20\x20Cancelled.','asset-update','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','map','1206012OBhuJB','string','Menu\x20asset\x20update\x20skipped','failed','force','message','4800537jyOIWc','\x20menu(s)','parse','params','✓\x20Menu\x20asset\x20update\x20completed:\x20','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','write','\x20menu(s)\x20updated','isArray','bool','Failed\x20to\x20fetch\x20online\x20menu\x20list','patch','\x20updated.','\x20and\x20CSS:\x20','mode','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','skipped','jsUrl','Updating\x20','6710432pgvHyH','some','updated','filter','all','cssUrl','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','Fetching\x20online\x20menu\x20list...','length','replace','script','stringify','\x20updated,\x20','load-mode','label','92WDwyfR','appCode','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','str','Would\x20update\x20','trim','\x20failed.','Online\x20menu\x20list\x20fetched','fetch','Menu\x20asset\x20update\x20completed:\x20','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','selectedAppName','yellow','split','import','3072618SeNrSV','\x20menu\x20resource\x20set(s).','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','\x20menu(s)\x20with\x20JS:\x20','rawFlags','6250fJWeWt','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','Menu\x20asset\x20update\x20failed','\x20menu(s)\x20with\x20existing\x20resources','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','menu','menu-ids','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','boolean','isSafeInteger','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update'];a128_0x2b4b=function(){return _0x4a4cc5;};return a128_0x2b4b();}import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a128_0x3ffc32(0xc6),'command':a128_0x3ffc32(0x7f),'description':a128_0x3ffc32(0xc5),'risk':a128_0x3ffc32(0x90),'flags':[{'name':a128_0x3ffc32(0x8c),'type':a128_0x3ffc32(0x84),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+a128_0x3ffc32(0xcf)},{'name':a128_0x3ffc32(0x98),'type':a128_0x3ffc32(0x84),'description':a128_0x3ffc32(0xbe)+a128_0x3ffc32(0xb7),'enum':[a128_0x3ffc32(0xa7),'patch'],'default':'patch'},{'name':'force','type':'boolean','description':a128_0x3ffc32(0x99)},{'name':a128_0x3ffc32(0xc7),'type':a128_0x3ffc32(0x84),'description':a128_0x3ffc32(0xcb)},{'name':a128_0x3ffc32(0x7b),'type':a128_0x3ffc32(0x84),'description':a128_0x3ffc32(0x80)},{'name':'all','type':a128_0x3ffc32(0xc9),'description':a128_0x3ffc32(0xa4)},{'name':a128_0x3ffc32(0xab),'type':a128_0x3ffc32(0x84),'enum':['import',a128_0x3ffc32(0xa8),a128_0x3ffc32(0xb5)],'description':'Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode'}],async 'dryRun'(_0x2074da){const _0x14280a=a128_0x3ffc32;ensureRunnableContext(_0x2074da[_0x14280a(0xc0)],_0x2074da[_0x14280a(0xb8)]);const _0x1ea7cc=await runMenuUpdateCore(_0x2074da[_0x14280a(0xae)],_0x2074da['cookie'],_0x2074da[_0x14280a(0xb0)](_0x14280a(0x8c)),{'mode':parseMode(_0x2074da[_0x14280a(0xb0)](_0x14280a(0x98))),'dryRun':!![],'force':_0x2074da[_0x14280a(0x93)]('force'),'selection':parseSelection(_0x2074da),'loadScriptMode':parseLoadScriptMode(_0x2074da[_0x14280a(0xb0)](_0x14280a(0xab)))});return{'method':_0x14280a(0xcd),'url':'/smartapi/menu/update','body':_0x1ea7cc,'description':_0x1ea7cc[_0x14280a(0x9a)]?_0x14280a(0xd1):_0x14280a(0xb1)+(_0x1ea7cc['diffs']?.['length']??0x0)+_0x14280a(0xbd)};},async 'execute'(_0x5144a2){const _0x387cac=a128_0x3ffc32;ensureRunnableContext(_0x5144a2[_0x387cac(0xc0)],_0x5144a2[_0x387cac(0xb8)]);const _0xf63a73=_0x5144a2['str'](_0x387cac(0x8c)),_0x529200=parseMode(_0x5144a2[_0x387cac(0xb0)](_0x387cac(0x98))),_0x442956=_0x5144a2[_0x387cac(0x93)](_0x387cac(0x87)),_0x1ffdec=parseLoadScriptMode(_0x5144a2[_0x387cac(0xb0)]('load-mode')),_0x383bc5=parseParams(_0xf63a73),_0x22d452=!!(_0x383bc5[_0x387cac(0x9b)]||_0x383bc5[_0x387cac(0xa2)]);if(_0x22d452){const _0x148a09=await runMenuUpdateCore(_0x5144a2[_0x387cac(0xae)],_0x5144a2['cookie'],_0xf63a73,{'mode':_0x529200,'force':_0x442956,'selection':parseSelection(_0x5144a2),'loadScriptMode':_0x1ffdec});return _0x148a09[_0x387cac(0x9a)]?writeCliSideChannelLine(_0x387cac(0xa3)):(writeCliSideChannelLine(_0x387cac(0x8d)+_0x148a09[_0x387cac(0x9f)]+_0x387cac(0x91)),_0x148a09[_0x387cac(0x86)]>0x0&&writeCliSideChannelLine('!\x20'+_0x148a09['failed']+_0x387cac(0xce))),{'ok':_0x148a09[_0x387cac(0x86)]===0x0,'data':_0x148a09,'message':_0x148a09[_0x387cac(0x9a)]?_0x387cac(0x85):'Menu\x20asset\x20update\x20completed:\x20'+_0x148a09['updated']+_0x387cac(0xaa)+_0x148a09[_0x387cac(0x86)]+_0x387cac(0xb3)};}requireInteractive();const _0x789bb9=startSpinner(_0x387cac(0xa5));let _0x546620;try{_0x546620=await fetchOnlineMenuList(_0x5144a2[_0x387cac(0xae)],_0x5144a2[_0x387cac(0xd0)]),stopSpinner(_0x789bb9,_0x387cac(0xb4),!![]);}catch(_0x57be1a){stopSpinner(_0x789bb9,_0x387cac(0x94),![]);throw CliErrors[_0x387cac(0x78)](_0x57be1a instanceof Error?_0x57be1a[_0x387cac(0x88)]:_0x387cac(0x94));}const _0x4cabef=filterMenusWithResources(_0x546620),_0xcedad8=parseSelection(_0x5144a2,![]),_0x15aa9b=_0xcedad8?selectMenusForUpdate(_0x4cabef,_0xcedad8):_0x4cabef;if(_0x15aa9b[_0x387cac(0xa6)]===0x0)return writeCliSideChannelLine(a128_0x1ba850[_0x387cac(0xb9)](_0x387cac(0x8f))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a128_0x1ba850['cyan']('\x20\x20Found\x20'+_0x15aa9b[_0x387cac(0xa6)]+_0x387cac(0xc4))),writeCliSideChannelLine(renderUpdateSummary(_0x15aa9b[_0x387cac(0x82)](_0x183b8a=>_0x183b8a[_0x387cac(0xac)]),[_0x383bc5[_0x387cac(0x9b)],_0x383bc5[_0x387cac(0xa2)]])),writeCliSideChannelLine('');let _0x500637=_0x383bc5[_0x387cac(0x9b)],_0x2d8c5e=_0x383bc5['cssUrl'];!_0x500637&&(_0x500637=await askJsUrl());!_0x2d8c5e&&(_0x2d8c5e=await askCssUrl());const _0x37e375=await askConfirm(_0x387cac(0x79)+_0x15aa9b['length']+_0x387cac(0xbf)+_0x500637+_0x387cac(0x97)+_0x2d8c5e+'?');if(!_0x37e375)return writeCliSideChannelLine(a128_0x1ba850[_0x387cac(0xd2)](_0x387cac(0x7e))),{'ok':!![]};const _0x42865c=startSpinner(_0x387cac(0x9c)+_0x15aa9b['length']+'\x20menu(s)...');try{const _0x25b5d4=await runMenuUpdateCore(_0x5144a2[_0x387cac(0xae)],_0x5144a2[_0x387cac(0xd0)],JSON[_0x387cac(0xa9)]({'jsUrl':_0x500637,'cssUrl':_0x2d8c5e}),{'mode':_0x529200,'force':_0x442956,'selection':{'all':![],'menuIds':_0x15aa9b['map'](_0x56e067=>_0x56e067['id']),'paths':[]},'loadScriptMode':_0x1ffdec});return stopSpinner(_0x42865c,_0x387cac(0x7a)+_0x25b5d4['updated']+_0x387cac(0x8a),_0x25b5d4['failed']===0x0),{'ok':_0x25b5d4[_0x387cac(0x86)]===0x0,'data':_0x25b5d4,'message':_0x25b5d4[_0x387cac(0x86)]>0x0?_0x387cac(0xb6)+_0x25b5d4['updated']+'\x20updated,\x20'+_0x25b5d4['failed']+_0x387cac(0xb3):_0x387cac(0xb6)+_0x25b5d4[_0x387cac(0x9f)]+_0x387cac(0x96)};}catch(_0x58b517){stopSpinner(_0x42865c,'Menu\x20asset\x20update\x20failed',![]);throw CliErrors[_0x387cac(0x78)](_0x58b517 instanceof Error?_0x58b517[_0x387cac(0x88)]:_0x387cac(0xc3));}}};function ensureRunnableContext(_0x1f893f,_0x599c00){const _0x53ff8f=a128_0x3ffc32,_0x9a66fe=_0x1f893f[_0x53ff8f(0x7d)]?String(_0x1f893f[_0x53ff8f(0x7d)])[_0x53ff8f(0xb2)]():'';if(!isInProject()&&!_0x599c00&&!_0x9a66fe)throw CliErrors[_0x53ff8f(0x78)]('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+_0x53ff8f(0xc8));}function parseMode(_0x1a0106){const _0x2fae28=a128_0x3ffc32;if(!_0x1a0106)return _0x2fae28(0x95);if(_0x1a0106==='replace'||_0x1a0106==='patch')return _0x1a0106;throw CliErrors['validation'](_0x2fae28(0x81));}function parseSelection(_0x19df91,_0x58b921=!![]){const _0x46aeda=a128_0x3ffc32,_0x26e0c3=_0x19df91[_0x46aeda(0x93)](_0x46aeda(0xa1)),_0x2a420f=parseMenuIds(_0x19df91[_0x46aeda(0xb0)](_0x46aeda(0xc7))),_0x1b77dd=parseCsv(_0x19df91[_0x46aeda(0xb0)](_0x46aeda(0x7b))),_0x555e50=_0x2a420f[_0x46aeda(0xa6)]>0x0||_0x1b77dd[_0x46aeda(0xa6)]>0x0;if(_0x26e0c3&&_0x555e50)throw CliErrors[_0x46aeda(0x78)](_0x46aeda(0xc2));if(!_0x26e0c3&&!_0x555e50){if(!_0x58b921)return undefined;throw CliErrors['validation'](_0x46aeda(0xaf));}return{'all':_0x26e0c3,'menuIds':_0x2a420f,'paths':_0x1b77dd};}function parseMenuIds(_0x5dd215){const _0x1c493a=a128_0x3ffc32,_0x3ca158=parseCsv(_0x5dd215),_0x1abf57=_0x3ca158[_0x1c493a(0x82)](Number);if(_0x1abf57[_0x1c493a(0x9e)](_0x535184=>!Number[_0x1c493a(0xca)](_0x535184)||_0x535184<=0x0))throw CliErrors['validation']('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x1abf57)];}function parseCsv(_0x5936ef){const _0x28a933=a128_0x3ffc32;return[...new Set(_0x5936ef[_0x28a933(0xba)](',')[_0x28a933(0x82)](_0x2d84d8=>_0x2d84d8[_0x28a933(0xb2)]())[_0x28a933(0xa0)](Boolean))];}function parseLoadScriptMode(_0x295412){const _0x114b93=a128_0x3ffc32;if(!_0x295412)return undefined;if(_0x295412===_0x114b93(0xbb)||_0x295412==='script'||_0x295412===_0x114b93(0xb5))return _0x295412;throw CliErrors['validation'](_0x114b93(0x8e));}function parseParams(_0x2d1a5d){const _0x2ae5fd=a128_0x3ffc32;if(!_0x2d1a5d)return{};try{const _0xe30736=JSON[_0x2ae5fd(0x8b)](_0x2d1a5d);if(typeof _0xe30736!=='object'||_0xe30736===null||Array[_0x2ae5fd(0x92)](_0xe30736))return{};return{'jsUrl':typeof _0xe30736[_0x2ae5fd(0x9b)]===_0x2ae5fd(0x84)?_0xe30736[_0x2ae5fd(0x9b)]['trim']():undefined,'cssUrl':typeof _0xe30736[_0x2ae5fd(0xa2)]==='string'?_0xe30736[_0x2ae5fd(0xa2)]['trim']():undefined};}catch{return{};}}
|
|
1
|
+
const a128_0x1b9f54=a128_0x5217;function a128_0x5217(_0x3d520c,_0x837f48){_0x3d520c=_0x3d520c-0x138;const _0x21a607=a128_0x21a6();let _0x5217f1=_0x21a607[_0x3d520c];return _0x5217f1;}(function(_0x4a9562,_0x554a10){const _0x4b0900=a128_0x5217,_0x31d55d=_0x4a9562();while(!![]){try{const _0x542de7=-parseInt(_0x4b0900(0x155))/0x1*(-parseInt(_0x4b0900(0x156))/0x2)+parseInt(_0x4b0900(0x18f))/0x3*(-parseInt(_0x4b0900(0x15d))/0x4)+-parseInt(_0x4b0900(0x16b))/0x5+parseInt(_0x4b0900(0x182))/0x6*(parseInt(_0x4b0900(0x15f))/0x7)+parseInt(_0x4b0900(0x189))/0x8*(-parseInt(_0x4b0900(0x140))/0x9)+parseInt(_0x4b0900(0x163))/0xa*(-parseInt(_0x4b0900(0x17d))/0xb)+parseInt(_0x4b0900(0x16e))/0xc;if(_0x542de7===_0x554a10)break;else _0x31d55d['push'](_0x31d55d['shift']());}catch(_0x3ed7d9){_0x31d55d['push'](_0x31d55d['shift']());}}}(a128_0x21a6,0x78bcb));import a128_0x26e713 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';function a128_0x21a6(){const _0x493e46=['cyan','parse','appcode','mode','map','206748aSYiht','POST','Menu\x20asset\x20update\x20completed:\x20','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','Updated\x20','\x20menu\x20resource\x20set(s).','menu-ids','\x20menu(s)\x20updated','\x20and\x20CSS:\x20','filter','boolean','length','\x20menu(s)\x20with\x20existing\x20resources','asset-update','\x20\x20Found\x20','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','isSafeInteger','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','params','selectedAppName','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','3841wVGvzh','216dhVLpP','cssUrl','\x20updated,\x20','trim','string','Would\x20update\x20','all','40vPNjJB','label','49CtVjws','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','rawFlags','\x20menu(s)','220lIGKja','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','Failed\x20to\x20fetch\x20online\x20menu\x20list','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','bool','appCode','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','3167155fLYrsI','updated','jsUrl','25620972Dccvfl','skipped','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','\x20menu(s)\x20with\x20JS:\x20','str','cookie','script','some','validation','\x20menu(s)...','\x20failed.','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','Fetching\x20online\x20menu\x20list...','\x20\x20Update\x20','write','271854EDXxck','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','message','replace','68946LkDYsI','failed','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','patch','load-mode','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','72UnqSpe','force','object','menu','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','gray','225576oRqvHj','paths','isArray','Updating\x20','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','import'];a128_0x21a6=function(){return _0x493e46;};return a128_0x21a6();}import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a128_0x1b9f54(0x18c),'command':a128_0x1b9f54(0x14d),'description':a128_0x1b9f54(0x179),'risk':a128_0x1b9f54(0x17c),'flags':[{'name':a128_0x1b9f54(0x152),'type':'string','description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+a128_0x1b9f54(0x165)},{'name':a128_0x1b9f54(0x13e),'type':a128_0x1b9f54(0x15a),'description':a128_0x1b9f54(0x139)+a128_0x1b9f54(0x160),'enum':['replace','patch'],'default':a128_0x1b9f54(0x185)},{'name':a128_0x1b9f54(0x18a),'type':a128_0x1b9f54(0x14a),'description':a128_0x1b9f54(0x18d)},{'name':a128_0x1b9f54(0x146),'type':'string','description':a128_0x1b9f54(0x151)},{'name':a128_0x1b9f54(0x190),'type':'string','description':a128_0x1b9f54(0x184)},{'name':a128_0x1b9f54(0x15c),'type':a128_0x1b9f54(0x14a),'description':a128_0x1b9f54(0x167)},{'name':a128_0x1b9f54(0x186),'type':a128_0x1b9f54(0x15a),'enum':[a128_0x1b9f54(0x13a),'script','fetch'],'description':a128_0x1b9f54(0x143)}],async 'dryRun'(_0xc55b39){const _0x258847=a128_0x1b9f54;ensureRunnableContext(_0xc55b39[_0x258847(0x161)],_0xc55b39[_0x258847(0x153)]);const _0x2ac5dc=await runMenuUpdateCore(_0xc55b39[_0x258847(0x169)],_0xc55b39[_0x258847(0x173)],_0xc55b39[_0x258847(0x172)](_0x258847(0x152)),{'mode':parseMode(_0xc55b39[_0x258847(0x172)](_0x258847(0x13e))),'dryRun':!![],'force':_0xc55b39[_0x258847(0x168)](_0x258847(0x18a)),'selection':parseSelection(_0xc55b39),'loadScriptMode':parseLoadScriptMode(_0xc55b39[_0x258847(0x172)](_0x258847(0x186)))});return{'method':_0x258847(0x141),'url':'/smartapi/menu/update','body':_0x2ac5dc,'description':_0x2ac5dc[_0x258847(0x16f)]?_0x258847(0x164):_0x258847(0x15b)+(_0x2ac5dc['diffs']?.['length']??0x0)+_0x258847(0x145)};},async 'execute'(_0x552e07){const _0x57dc44=a128_0x1b9f54;ensureRunnableContext(_0x552e07[_0x57dc44(0x161)],_0x552e07[_0x57dc44(0x153)]);const _0x40fee8=_0x552e07['str'](_0x57dc44(0x152)),_0x4b4627=parseMode(_0x552e07[_0x57dc44(0x172)](_0x57dc44(0x13e))),_0xc7a254=_0x552e07[_0x57dc44(0x168)](_0x57dc44(0x18a)),_0x3ff458=parseLoadScriptMode(_0x552e07[_0x57dc44(0x172)](_0x57dc44(0x186))),_0x345b14=parseParams(_0x40fee8),_0x42e4c8=!!(_0x345b14[_0x57dc44(0x16d)]||_0x345b14[_0x57dc44(0x157)]);if(_0x42e4c8){const _0x19f25c=await runMenuUpdateCore(_0x552e07[_0x57dc44(0x169)],_0x552e07['cookie'],_0x40fee8,{'mode':_0x4b4627,'force':_0xc7a254,'selection':parseSelection(_0x552e07),'loadScriptMode':_0x3ff458});return _0x19f25c[_0x57dc44(0x16f)]?writeCliSideChannelLine(_0x57dc44(0x170)):(writeCliSideChannelLine('✓\x20Menu\x20asset\x20update\x20completed:\x20'+_0x19f25c[_0x57dc44(0x16c)]+_0x57dc44(0x147)),_0x19f25c[_0x57dc44(0x183)]>0x0&&writeCliSideChannelLine('!\x20'+_0x19f25c['failed']+'\x20menu(s)\x20failed')),{'ok':_0x19f25c['failed']===0x0,'data':_0x19f25c,'message':_0x19f25c['skipped']?'Menu\x20asset\x20update\x20skipped':_0x57dc44(0x142)+_0x19f25c[_0x57dc44(0x16c)]+'\x20updated,\x20'+_0x19f25c[_0x57dc44(0x183)]+'\x20failed.'};}requireInteractive();const _0x12c9db=startSpinner(_0x57dc44(0x17a));let _0x538478;try{_0x538478=await fetchOnlineMenuList(_0x552e07[_0x57dc44(0x169)],_0x552e07['cookie']),stopSpinner(_0x12c9db,'Online\x20menu\x20list\x20fetched',!![]);}catch(_0x5e3897){stopSpinner(_0x12c9db,_0x57dc44(0x166),![]);throw CliErrors[_0x57dc44(0x176)](_0x5e3897 instanceof Error?_0x5e3897[_0x57dc44(0x180)]:_0x57dc44(0x166));}const _0x45dade=filterMenusWithResources(_0x538478),_0x4ab257=parseSelection(_0x552e07,![]),_0x5cbda9=_0x4ab257?selectMenusForUpdate(_0x45dade,_0x4ab257):_0x45dade;if(_0x5cbda9[_0x57dc44(0x14b)]===0x0)return writeCliSideChannelLine(a128_0x26e713['yellow'](_0x57dc44(0x188))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a128_0x26e713[_0x57dc44(0x13b)](_0x57dc44(0x14e)+_0x5cbda9[_0x57dc44(0x14b)]+_0x57dc44(0x14c))),writeCliSideChannelLine(renderUpdateSummary(_0x5cbda9[_0x57dc44(0x13f)](_0x134b56=>_0x134b56[_0x57dc44(0x15e)]),[_0x345b14[_0x57dc44(0x16d)],_0x345b14[_0x57dc44(0x157)]])),writeCliSideChannelLine('');let _0x41d32f=_0x345b14[_0x57dc44(0x16d)],_0x1f1702=_0x345b14[_0x57dc44(0x157)];!_0x41d32f&&(_0x41d32f=await askJsUrl());!_0x1f1702&&(_0x1f1702=await askCssUrl());const _0x57baa0=await askConfirm(_0x57dc44(0x17b)+_0x5cbda9[_0x57dc44(0x14b)]+_0x57dc44(0x171)+_0x41d32f+_0x57dc44(0x148)+_0x1f1702+'?');if(!_0x57baa0)return writeCliSideChannelLine(a128_0x26e713[_0x57dc44(0x18e)]('\x20\x20Cancelled.')),{'ok':!![]};const _0x766306=startSpinner(_0x57dc44(0x138)+_0x5cbda9[_0x57dc44(0x14b)]+_0x57dc44(0x177));try{const _0x1f9d5e=await runMenuUpdateCore(_0x552e07['appCode'],_0x552e07['cookie'],JSON['stringify']({'jsUrl':_0x41d32f,'cssUrl':_0x1f1702}),{'mode':_0x4b4627,'force':_0xc7a254,'selection':{'all':![],'menuIds':_0x5cbda9['map'](_0x2aae67=>_0x2aae67['id']),'paths':[]},'loadScriptMode':_0x3ff458});return stopSpinner(_0x766306,_0x57dc44(0x144)+_0x1f9d5e[_0x57dc44(0x16c)]+_0x57dc44(0x162),_0x1f9d5e[_0x57dc44(0x183)]===0x0),{'ok':_0x1f9d5e[_0x57dc44(0x183)]===0x0,'data':_0x1f9d5e,'message':_0x1f9d5e[_0x57dc44(0x183)]>0x0?_0x57dc44(0x142)+_0x1f9d5e[_0x57dc44(0x16c)]+_0x57dc44(0x158)+_0x1f9d5e[_0x57dc44(0x183)]+_0x57dc44(0x178):_0x57dc44(0x142)+_0x1f9d5e[_0x57dc44(0x16c)]+'\x20updated.'};}catch(_0x40a13c){stopSpinner(_0x766306,'Menu\x20asset\x20update\x20failed',![]);throw CliErrors['validation'](_0x40a13c instanceof Error?_0x40a13c[_0x57dc44(0x180)]:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x261083,_0x53a79f){const _0x1960e1=a128_0x1b9f54,_0x5b4a59=_0x261083[_0x1960e1(0x13d)]?String(_0x261083['appcode'])[_0x1960e1(0x159)]():'';if(!isInProject()&&!_0x53a79f&&!_0x5b4a59)throw CliErrors['validation'](_0x1960e1(0x14f)+_0x1960e1(0x187));}function parseMode(_0x357474){const _0x828fce=a128_0x1b9f54;if(!_0x357474)return _0x828fce(0x185);if(_0x357474===_0x828fce(0x181)||_0x357474===_0x828fce(0x185))return _0x357474;throw CliErrors['validation'](_0x828fce(0x16a));}function parseSelection(_0x2d0d5c,_0x2dbb4f=!![]){const _0x28ca71=a128_0x1b9f54,_0x5be855=_0x2d0d5c[_0x28ca71(0x168)](_0x28ca71(0x15c)),_0x51f00b=parseMenuIds(_0x2d0d5c['str']('menu-ids')),_0x52e13f=parseCsv(_0x2d0d5c[_0x28ca71(0x172)]('paths')),_0x3a70d7=_0x51f00b[_0x28ca71(0x14b)]>0x0||_0x52e13f['length']>0x0;if(_0x5be855&&_0x3a70d7)throw CliErrors[_0x28ca71(0x176)](_0x28ca71(0x17f));if(!_0x5be855&&!_0x3a70d7){if(!_0x2dbb4f)return undefined;throw CliErrors['validation'](_0x28ca71(0x17e));}return{'all':_0x5be855,'menuIds':_0x51f00b,'paths':_0x52e13f};}function parseMenuIds(_0x4f60ab){const _0x16712f=a128_0x1b9f54,_0xb9e15d=parseCsv(_0x4f60ab),_0x521541=_0xb9e15d[_0x16712f(0x13f)](Number);if(_0x521541[_0x16712f(0x175)](_0x4a53a4=>!Number[_0x16712f(0x150)](_0x4a53a4)||_0x4a53a4<=0x0))throw CliErrors[_0x16712f(0x176)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x521541)];}function parseCsv(_0x31cbe0){const _0x5e3e76=a128_0x1b9f54;return[...new Set(_0x31cbe0['split'](',')['map'](_0x223d13=>_0x223d13[_0x5e3e76(0x159)]())[_0x5e3e76(0x149)](Boolean))];}function parseLoadScriptMode(_0x22e550){const _0x10fe9c=a128_0x1b9f54;if(!_0x22e550)return undefined;if(_0x22e550===_0x10fe9c(0x13a)||_0x22e550===_0x10fe9c(0x174)||_0x22e550==='fetch')return _0x22e550;throw CliErrors[_0x10fe9c(0x176)](_0x10fe9c(0x154));}function parseParams(_0x1bd0be){const _0x2b1517=a128_0x1b9f54;if(!_0x1bd0be)return{};try{const _0x5530c1=JSON[_0x2b1517(0x13c)](_0x1bd0be);if(typeof _0x5530c1!==_0x2b1517(0x18b)||_0x5530c1===null||Array[_0x2b1517(0x191)](_0x5530c1))return{};return{'jsUrl':typeof _0x5530c1['jsUrl']==='string'?_0x5530c1[_0x2b1517(0x16d)][_0x2b1517(0x159)]():undefined,'cssUrl':typeof _0x5530c1[_0x2b1517(0x157)]===_0x2b1517(0x15a)?_0x5530c1['cssUrl'][_0x2b1517(0x159)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a129_0x190cbc=a129_0x328e;(function(_0x47dc56,_0x468a93){const _0x24f2e7=a129_0x328e,_0xe54401=_0x47dc56();while(!![]){try{const _0x3671dd=-parseInt(_0x24f2e7(0x1c7))/0x1*(parseInt(_0x24f2e7(0x1ea))/0x2)+parseInt(_0x24f2e7(0x179))/0x3+parseInt(_0x24f2e7(0x17d))/0x4*(-parseInt(_0x24f2e7(0x18f))/0x5)+parseInt(_0x24f2e7(0x1c0))/0x6+-parseInt(_0x24f2e7(0x16f))/0x7+parseInt(_0x24f2e7(0x1b8))/0x8*(-parseInt(_0x24f2e7(0x1e2))/0x9)+-parseInt(_0x24f2e7(0x1b0))/0xa*(-parseInt(_0x24f2e7(0x1ab))/0xb);if(_0x3671dd===_0x468a93)break;else _0xe54401['push'](_0xe54401['shift']());}catch(_0x562c65){_0xe54401['push'](_0xe54401['shift']());}}}(a129_0x45c4,0x81d52));function a129_0x45c4(){const _0x1b7865=['Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','18704660BXShPK','causeCode','Batch\x20delete\x20request\x20for\x20menu\x20','has','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','cascade','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','32632fPlyUP','menu_plan_invalid','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','menu_delete_page_bound','delete','menu_folder_has_resources','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','\x20->\x20menu\x20','6378234cQNSZb','trim','verification','menu_folder_resources_invalid','absentIds','filter','POST','789jySIkf','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','failed',';\x20execution\x20must\x20consume\x20','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','expect-path','\x20still\x20references\x20','string','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','\x20deleted\x20menus;\x20expected\x20','stringify','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','resourcesValid','boolean','unknown','\x20references\x20missing\x20child\x20','page\x20','\x20and\x20cannot\x20be\x20deleted\x20safely.','batch-delete','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','createdAt','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','resources','message','appCode','batch\x20delete','1179QwfGuN','target','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','byId','plan','\x20is\x20type\x20\x22','unconfirmed','2254utidse','plan-out','pageId','2448355VSkmId','expect-parent-id','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','Post-failure\x20menu\x20readback\x20failed\x20(','Post-mismatch\x20menu\x20readback\x20failed\x20(','\x20menu(s)\x20under\x20exact\x20id\x20','add','flagMissing','push','remainingIds','588033UVmTkZ','folder','menu','Backend\x20reported\x20','20aXYYLr','selector','plan-validation','childrenIds','str','menu_verification_failed','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Folder\x20','map','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','rabetbase\x20menu\x20list\x20--format\x20json','hash','):\x20','childrenCount','causeMessage','size','path','validation','824405mmpNTp','get','toLowerCase','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','menu_tree_invalid','menu_batch_delete_count_mismatch','expected-children-count','menu_non_empty','menus','indexOf','snapshot','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','length','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','recursive','cookie','/smartapi/menu/batchDelete','type','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','menu\x20list','\x20has\x20','snapshotHash','deleteOrder','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','execute\x20reviewed\x20delete\x20plan','Menu\x20','verify\x20batch\x20delete','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','11NKMgNe','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','forEach','join'];a129_0x45c4=function(){return _0x1b7865;};return a129_0x45c4();}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';function a129_0x328e(_0x10a209,_0x4bc021){_0x10a209=_0x10a209-0x16f;const _0x45c422=a129_0x45c4();let _0x328e32=_0x45c422[_0x10a209];return _0x328e32;}import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a129_0x190cbc(0x1c6),'path':a129_0x190cbc(0x19f)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a129_0x190cbc(0x1d4),'description':a129_0x190cbc(0x1e5)},MENU_DELETE_PLAN_OUT_FLAG={'name':a129_0x190cbc(0x1eb),'type':'string','description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a129_0x190cbc(0x1ce),'description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':a129_0x190cbc(0x17b),'command':a129_0x190cbc(0x1bc),'description':a129_0x190cbc(0x1da),'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'(_0x40abd7){_0x40abd7['bool']('dry-run')?validateDeleteDryRunInput(_0x40abd7):validateDeleteExecuteInput(_0x40abd7),requireExplicitYes(_0x40abd7);},async 'dryRun'(_0x16d2e1){const _0x5b87a2=a129_0x190cbc;validateDeleteDryRunInput(_0x16d2e1);const _0x1a1047=await buildDeletePlan(_0x16d2e1),_0x2a396a=createMenuDeletePlanFile(_0x16d2e1[_0x5b87a2(0x1e0)],_0x1a1047),_0x222c20=await writeMenuDeletePlan(_0x16d2e1[_0x5b87a2(0x181)](_0x5b87a2(0x1eb)),_0x2a396a),_0x1eae0a=mutationResult({..._0x1a1047,'planFile':{'path':_0x222c20,'createdAt':_0x2a396a[_0x5b87a2(0x1db)],'expiresAt':_0x2a396a['expiresAt']}});return menuDryRunResult(_0x1eae0a,{'method':_0x5b87a2(0x1c6),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x1eae0a[_0x5b87a2(0x1a5)]},'description':'Would\x20batch\x20delete\x20'+(_0x1eae0a[_0x5b87a2(0x1a5)]?.[_0x5b87a2(0x19b)]??0x1)+_0x5b87a2(0x174)+_0x1eae0a[_0x5b87a2(0x17e)]['id']+_0x5b87a2(0x1ca)+_0x222c20+'.'});},async 'execute'(_0x40f2a3){const _0x2658f0=a129_0x190cbc;requireExplicitYes(_0x40f2a3),validateDeleteExecuteInput(_0x40f2a3);const _0x5839a5=await readMenuDeletePlan(_0x40f2a3[_0x2658f0(0x181)](_0x2658f0(0x1e7))),_0x5ed467=mutationPlanFromDeleteFile(_0x5839a5[_0x2658f0(0x1e7)],_0x5839a5[_0x2658f0(0x18d)]),_0x37ea52=_0x5839a5['plan'][_0x2658f0(0x1e3)]['id'];try{assertMenuDeletePlanExecutable(_0x5839a5[_0x2658f0(0x1e7)],_0x40f2a3[_0x2658f0(0x1e0)]);}catch(_0x2ace1c){throw menuFailure(asMenuError(_0x2ace1c),_0x5ed467,{'stage':_0x2658f0(0x17f),'failed':{'id':_0x37ea52}});}let _0x303f19,_0x538b57;try{_0x303f19=await fetchMutationSnapshot(_0x40f2a3,_0x2658f0(0x1a7),_0x37ea52),_0x538b57=assertMenuDeletePlanCurrent(_0x5839a5[_0x2658f0(0x1e7)],_0x40f2a3[_0x2658f0(0x1e0)],_0x303f19),assertDeleteTargetsComplete(_0x5839a5[_0x2658f0(0x1e7)],_0x303f19),_0x538b57[_0x2658f0(0x1ad)](_0x4f8235=>assertDeleteSafety(_0x4f8235,_0x5839a5[_0x2658f0(0x1e7)][_0x2658f0(0x19d)])),assertNoSharedPages(_0x303f19,_0x538b57),assertCascadeMatchesPlan(_0x5ed467,_0x538b57);}catch(_0x169daa){throw menuFailure(asMenuError(_0x169daa),_0x5ed467,{'stage':'pre-write-plan-validation','failed':{'id':_0x37ea52}});}const _0x295973=_0x5839a5[_0x2658f0(0x1e7)][_0x2658f0(0x1a5)];let _0x3d4c44;try{_0x3d4c44=await batchDeleteMenuEntities(_0x40f2a3[_0x2658f0(0x19e)],_0x295973);}catch(_0x106ce0){const _0x1ec087=mapMenuApiError(_0x106ce0,_0x2658f0(0x1e1)),_0x425c29=[_0x2658f0(0x1cb)];let _0x34c3d1;try{_0x34c3d1=await readDeleteOutcome(_0x40f2a3,_0x295973);}catch(_0x401cd2){const _0x182e0f=describeMenuErrorCause(_0x401cd2,_0x2658f0(0x1ac),_0x37ea52);_0x425c29['push'](_0x2658f0(0x172)+_0x182e0f['causeCode']+_0x2658f0(0x189)+_0x182e0f[_0x2658f0(0x18b)]);throw menuFailure(_0x1ec087,_0x5ed467,{'stage':_0x2658f0(0x1d9),'failed':{'targetIds':_0x295973,'targetIdsAbsent':_0x2658f0(0x1e9),..._0x182e0f},'warnings':_0x425c29,'verification':{'status':'failed','lookupCommand':_0x2658f0(0x187),'targetIds':_0x295973}});}throw menuFailure(_0x1ec087,_0x5ed467,{'stage':'batch-delete','succeeded':_0x34c3d1['absentIds'][_0x2658f0(0x185)](_0x570d81=>({'id':_0x570d81,'deleted':!![]})),'failed':{'targetIds':_0x295973,'absentIds':_0x34c3d1[_0x2658f0(0x1c4)],'remainingIds':_0x34c3d1[_0x2658f0(0x178)]},'warnings':_0x425c29,'verification':verificationFromOutcome(_0x34c3d1)});}if(_0x3d4c44!==_0x295973['length']){const _0x2bb599=menuError(_0x2658f0(0x194),_0x2658f0(0x17c)+_0x3d4c44+_0x2658f0(0x1d0)+_0x295973[_0x2658f0(0x19b)]+'.',_0x2658f0(0x171)),_0x5cb57b=[_0x2658f0(0x19a)];let _0xb61486;try{_0xb61486=await readDeleteOutcome(_0x40f2a3,_0x295973);}catch(_0x394421){const _0x440706=describeMenuErrorCause(_0x394421,_0x2658f0(0x183),_0x37ea52);_0x5cb57b['push'](_0x2658f0(0x173)+_0x440706[_0x2658f0(0x1b1)]+_0x2658f0(0x189)+_0x440706[_0x2658f0(0x18b)]);throw menuFailure(_0x2bb599,_0x5ed467,{'stage':'batch-delete','failed':{'targetIds':_0x295973,'expectedCount':_0x295973[_0x2658f0(0x19b)],'reportedDeletedCount':_0x3d4c44,'targetIdsAbsent':_0x2658f0(0x1e9),..._0x440706},'warnings':_0x5cb57b,'verification':{'status':_0x2658f0(0x1c9),'lookupCommand':_0x2658f0(0x187),'targetIds':_0x295973}});}throw menuFailure(_0x2bb599,_0x5ed467,{'stage':_0x2658f0(0x1d9),'succeeded':_0xb61486[_0x2658f0(0x1c4)][_0x2658f0(0x185)](_0x1e6b1f=>({'id':_0x1e6b1f,'deleted':!![]})),'failed':{'targetIds':_0x295973,'expectedCount':_0x295973['length'],'reportedDeletedCount':_0x3d4c44,'absentIds':_0xb61486[_0x2658f0(0x1c4)],'remainingIds':_0xb61486[_0x2658f0(0x178)]},'warnings':_0x5cb57b,'verification':verificationFromOutcome(_0xb61486)});}let _0x2cf7d4;try{_0x2cf7d4=await readDeleteOutcome(_0x40f2a3,_0x295973);}catch(_0x14a48a){const _0x3da11b=describeMenuErrorCause(_0x14a48a,_0x2658f0(0x1a9),_0x37ea52),_0x58d4bc=asVerificationError(_0x14a48a,_0x2658f0(0x1b2)+_0x37ea52+_0x2658f0(0x1dd));throw menuFailure(_0x58d4bc,_0x5ed467,{'stage':_0x2658f0(0x1c2),'succeeded':_0x295973['map'](_0x34f362=>({'id':_0x34f362,'deleteRequested':!![]})),'failed':{'id':_0x37ea52,'targetIds':_0x295973,'targetIdsAbsent':_0x2658f0(0x1e9),..._0x3da11b},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x2658f0(0x1c9),'lookupCommand':_0x2658f0(0x187),'targetIds':_0x295973}});}if(_0x2cf7d4[_0x2658f0(0x178)]['length']>0x0){const _0x4f85cc=menuError(_0x2658f0(0x182),_0x2658f0(0x1ba)+_0x2cf7d4[_0x2658f0(0x178)][_0x2658f0(0x1ae)](',\x20')+'.',_0x2658f0(0x171));throw menuFailure(_0x4f85cc,_0x5ed467,{'stage':'verification','succeeded':_0x295973[_0x2658f0(0x185)](_0x1928ef=>({'id':_0x1928ef,'deleteRequested':!![]})),'failed':{'id':_0x37ea52,'targetIds':_0x295973,'absentIds':_0x2cf7d4[_0x2658f0(0x1c4)],'remainingIds':_0x2cf7d4[_0x2658f0(0x178)]},'warnings':[_0x2658f0(0x19c)],'verification':verificationFromOutcome(_0x2cf7d4)});}const _0x5cb3b2=_0x295973[_0x2658f0(0x185)](_0x277b9f=>({'id':_0x277b9f,'deleted':!![]})),_0x24e13c=mutationResult({..._0x5ed467,'dryRun':![],'succeeded':_0x5cb3b2,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x5ed467[_0x2658f0(0x1a4)],'finalSnapshotHash':_0x2cf7d4[_0x2658f0(0x199)][_0x2658f0(0x188)],'reportedDeletedCount':_0x3d4c44,'targetAbsent':!_0x2cf7d4[_0x2658f0(0x199)][_0x2658f0(0x1e6)][_0x2658f0(0x1b3)](_0x37ea52),'allTargetsAbsent':!![],'targetIds':_0x295973}});return{'ok':!![],'data':_0x24e13c,'message':'Deleted\x20'+_0x5cb3b2[_0x2658f0(0x19b)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x37ea52+'.'};}};async function readDeleteOutcome(_0x31084f,_0x246b55){const _0x116e21=a129_0x190cbc,_0x179c20=await fetchMenuSnapshot(_0x31084f[_0x116e21(0x1e0)],_0x31084f['cookie']);return{'snapshot':_0x179c20,'absentIds':_0x246b55['filter'](_0x50096a=>!_0x179c20['byId'][_0x116e21(0x1b3)](_0x50096a)),'remainingIds':_0x246b55[_0x116e21(0x1c5)](_0x513d3c=>_0x179c20[_0x116e21(0x1e6)][_0x116e21(0x1b3)](_0x513d3c))};}function verificationFromOutcome(_0x36321c){const _0x104398=a129_0x190cbc;return{'checkedBy':_0x104398(0x1a2),'absentIds':_0x36321c[_0x104398(0x1c4)],'remainingIds':_0x36321c['remainingIds']};}function validateDeleteDryRunInput(_0x292313){const _0x4085fd=a129_0x190cbc;validateExactId(_0x292313);if(!hasFlag(_0x292313,_0x4085fd(0x1eb))||!_0x292313[_0x4085fd(0x181)](_0x4085fd(0x1eb))[_0x4085fd(0x1c1)]())throw CliErrors[_0x4085fd(0x176)](_0x4085fd(0x1eb),_0x4085fd(0x1b7));if(hasFlag(_0x292313,'plan'))throw CliErrors[_0x4085fd(0x18e)](_0x4085fd(0x1b4));}function validateDeleteExecuteInput(_0x52e6a2){const _0x2de6b8=a129_0x190cbc;if(!hasFlag(_0x52e6a2,_0x2de6b8(0x1e7))||!_0x52e6a2[_0x2de6b8(0x181)](_0x2de6b8(0x1e7))[_0x2de6b8(0x1c1)]())throw CliErrors[_0x2de6b8(0x176)](_0x2de6b8(0x1e7),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x330a08=['id',_0x2de6b8(0x19d),'plan-out',_0x2de6b8(0x170),_0x2de6b8(0x1cc),_0x2de6b8(0x195)][_0x2de6b8(0x1c5)](_0x21937f=>hasFlag(_0x52e6a2,_0x21937f));if(_0x330a08[_0x2de6b8(0x19b)]>0x0)throw CliErrors[_0x2de6b8(0x18e)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x330a08['map'](_0x2350fd=>'--'+_0x2350fd)[_0x2de6b8(0x1ae)](',\x20')+'.');}async function buildDeletePlan(_0x14c320){const _0x5192b3=a129_0x190cbc,_0x2afabc=validateExactId(_0x14c320),_0x1e4f1d=await fetchMutationSnapshot(_0x14c320,'plan\x20delete',_0x2afabc),_0x11086c=requireMenu(_0x1e4f1d,_0x2afabc);assertExpectedState(_0x14c320,_0x11086c);const _0x1399c9=_0x14c320['bool'](_0x5192b3(0x19d));let _0x325502;if(_0x1399c9){if(_0x11086c['type'][_0x5192b3(0x1c1)]()[_0x5192b3(0x191)]()!=='folder')throw menuError('menu_recursive_requires_folder',_0x5192b3(0x1a8)+_0x11086c['id']+_0x5192b3(0x1e8)+(_0x11086c[_0x5192b3(0x1a0)]||_0x5192b3(0x1d5))+_0x5192b3(0x192));_0x325502=collectDeleteTargets(_0x1e4f1d,_0x11086c),_0x325502[_0x5192b3(0x1ad)](_0x3b6262=>assertDeleteSafety(_0x3b6262,!![]));}else assertDeleteSafety(_0x11086c),_0x325502=[_0x11086c];assertNoSharedPages(_0x1e4f1d,_0x325502);const _0x5d2188=_0x325502[_0x5192b3(0x185)](_0x179cc0=>_0x179cc0['id']),_0xc13387=cascadeForTargets(_0x325502),_0xf4c727=_0xc13387['pages'][_0x5192b3(0x19b)]>0x0?[_0x5192b3(0x1b5)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x2afabc,'recursive':_0x1399c9},'before':_0x11086c,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x5192b3(0x1c6),'path':_0x5192b3(0x19f),'body':{'idList':_0x5d2188}}],'targets':_0x325502,'deleteOrder':_0x5d2188,'snapshotHash':_0x1e4f1d['hash'],'cascade':_0xc13387,'warnings':_0xf4c727});}function assertDeleteSafety(_0x115b3a,_0x4db145=![]){const _0x2a9748=a129_0x190cbc,_0x4fcdfd=_0x115b3a[_0x2a9748(0x1a0)][_0x2a9748(0x1c1)]()[_0x2a9748(0x191)]()===_0x2a9748(0x17a);if(_0x115b3a[_0x2a9748(0x18a)]>0x0&&(!_0x4db145||!_0x4fcdfd))throw menuError(_0x2a9748(0x196),'Menu\x20'+_0x115b3a['id']+_0x2a9748(0x1a3)+_0x115b3a[_0x2a9748(0x18a)]+_0x2a9748(0x1c8),_0x2a9748(0x1cf)+_0x115b3a[_0x2a9748(0x180)]['join'](',\x20'));if(_0x4fcdfd&&_0x115b3a[_0x2a9748(0x1ec)]!=null)throw menuError(_0x2a9748(0x1bb),_0x2a9748(0x184)+_0x115b3a['id']+_0x2a9748(0x1be)+_0x115b3a[_0x2a9748(0x1ec)]+_0x2a9748(0x1d8),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x4fcdfd)return;if(!_0x115b3a[_0x2a9748(0x1d3)])throw menuError(_0x2a9748(0x1c3),'Folder\x20'+_0x115b3a['id']+_0x2a9748(0x1e4),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x115b3a[_0x2a9748(0x1de)]['length']>0x0)throw menuError(_0x2a9748(0x1bd),_0x2a9748(0x184)+_0x115b3a['id']+_0x2a9748(0x1cd)+_0x115b3a[_0x2a9748(0x1de)][_0x2a9748(0x19b)]+'\x20resource\x20URL(s).',_0x2a9748(0x1aa));}function collectDeleteTargets(_0x23ca39,_0x540e8e){const _0x8ab73f=[],_0x2b08ef=new Set(),_0x1c384d=new Set(),_0x1d844f=_0x4ecf31=>{const _0x2e11fe=a129_0x328e;if(_0x2b08ef[_0x2e11fe(0x1b3)](_0x4ecf31['id']))throw menuError(_0x2e11fe(0x193),_0x2e11fe(0x1a1)+_0x4ecf31['id']+'.');if(_0x1c384d['has'](_0x4ecf31['id']))return;_0x2b08ef[_0x2e11fe(0x175)](_0x4ecf31['id']);for(const _0x533d11 of _0x4ecf31['childrenIds']){const _0x4bf7e8=_0x23ca39['byId'][_0x2e11fe(0x190)](_0x533d11);if(!_0x4bf7e8)throw menuError(_0x2e11fe(0x193),_0x2e11fe(0x1a8)+_0x4ecf31['id']+_0x2e11fe(0x1d6)+_0x533d11+'.');_0x1d844f(_0x4bf7e8);}_0x2b08ef['delete'](_0x4ecf31['id']),_0x1c384d[_0x2e11fe(0x175)](_0x4ecf31['id']),_0x8ab73f[_0x2e11fe(0x177)](_0x4ecf31);};return _0x1d844f(_0x540e8e),_0x8ab73f;}function assertDeleteTargetsComplete(_0x44e5f4,_0x140816){const _0x1c4a73=a129_0x190cbc,_0x56eb9d=requireMenu(_0x140816,_0x44e5f4[_0x1c4a73(0x1e3)]['id']);if(_0x44e5f4[_0x1c4a73(0x19d)]&&_0x56eb9d[_0x1c4a73(0x1a0)]['trim']()[_0x1c4a73(0x191)]()!==_0x1c4a73(0x17a))throw menuError(_0x1c4a73(0x1b9),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x56eb9d['id']+'\x20is\x20not\x20a\x20folder.');const _0x48384b=_0x44e5f4[_0x1c4a73(0x19d)]?collectDeleteTargets(_0x140816,_0x56eb9d)['map'](_0x547f66=>_0x547f66['id']):[_0x56eb9d['id']];if(JSON[_0x1c4a73(0x1d1)](_0x44e5f4[_0x1c4a73(0x1a5)])!==JSON[_0x1c4a73(0x1d1)](_0x48384b))throw menuError(_0x1c4a73(0x1b9),_0x1c4a73(0x1d2),_0x1c4a73(0x1dc));}function assertNoSharedPages(_0x4eb9dc,_0x3fca90){const _0x39b0f1=a129_0x190cbc,_0x39e9aa=new Set(_0x3fca90[_0x39b0f1(0x185)](_0xed8302=>_0xed8302['id'])),_0x5a9841=new Set(_0x3fca90[_0x39b0f1(0x185)](_0x5bcb93=>_0x5bcb93[_0x39b0f1(0x1ec)])[_0x39b0f1(0x1c5)](_0x59e750=>_0x59e750!=null));if(_0x5a9841[_0x39b0f1(0x18c)]===0x0)return;const _0x2cd3ed=_0x4eb9dc[_0x39b0f1(0x197)]['filter'](_0x2c0482=>!_0x39e9aa[_0x39b0f1(0x1b3)](_0x2c0482['id'])&&_0x2c0482[_0x39b0f1(0x1ec)]!=null&&_0x5a9841['has'](_0x2c0482['pageId']));if(_0x2cd3ed['length']===0x0)return;const _0x157ca2=_0x2cd3ed[_0x39b0f1(0x185)](_0x288a93=>_0x39b0f1(0x1d7)+_0x288a93[_0x39b0f1(0x1ec)]+_0x39b0f1(0x1bf)+_0x288a93['id'])[_0x39b0f1(0x1ae)](',\x20');throw menuError('menu_page_shared',_0x39b0f1(0x186)+_0x157ca2+'.',_0x39b0f1(0x1af));}function assertCascadeMatchesPlan(_0x275690,_0x1f00ff){const _0x436adb=a129_0x190cbc,_0x227364=cascadeForTargets(_0x1f00ff);if(JSON[_0x436adb(0x1d1)](_0x275690[_0x436adb(0x1b6)])!==JSON[_0x436adb(0x1d1)](_0x227364))throw menuError(_0x436adb(0x1b9),_0x436adb(0x1a6));}function cascadeForTargets(_0x3b6602){const _0x2d5e26=a129_0x190cbc,_0x461b65=_0x3b6602[_0x2d5e26(0x185)](_0x180e5f=>_0x180e5f[_0x2d5e26(0x1ec)])[_0x2d5e26(0x1c5)](_0x4e0acc=>_0x4e0acc!=null)[_0x2d5e26(0x1c5)]((_0x48cfe8,_0x425714,_0xf56018)=>_0xf56018[_0x2d5e26(0x198)](_0x48cfe8)===_0x425714);return{'pages':_0x461b65,'pageSchemaAffected':_0x461b65[_0x2d5e26(0x19b)]>0x0};}function asMenuError(_0x2014e4){const _0x2a0d00=a129_0x190cbc;return _0x2014e4 instanceof CliError?_0x2014e4:menuError(_0x2a0d00(0x1b9),_0x2014e4 instanceof Error?_0x2014e4[_0x2a0d00(0x1df)]:String(_0x2014e4));}
|
|
1
|
+
const a129_0x268982=a129_0x22eb;(function(_0x380b7f,_0x59d23b){const _0x2b2b86=a129_0x22eb,_0x1b3385=_0x380b7f();while(!![]){try{const _0x4958f6=parseInt(_0x2b2b86(0xdb))/0x1+parseInt(_0x2b2b86(0x117))/0x2+parseInt(_0x2b2b86(0xe1))/0x3*(parseInt(_0x2b2b86(0x119))/0x4)+parseInt(_0x2b2b86(0xba))/0x5*(-parseInt(_0x2b2b86(0x112))/0x6)+-parseInt(_0x2b2b86(0xac))/0x7+-parseInt(_0x2b2b86(0xde))/0x8*(parseInt(_0x2b2b86(0xb2))/0x9)+parseInt(_0x2b2b86(0xfc))/0xa;if(_0x4958f6===_0x59d23b)break;else _0x1b3385['push'](_0x1b3385['shift']());}catch(_0x2c7521){_0x1b3385['push'](_0x1b3385['shift']());}}}(a129_0x1844,0x21403));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':a129_0x268982(0xb5),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':a129_0x268982(0xb8),'type':a129_0x268982(0xc1),'description':a129_0x268982(0xc4)},MENU_DELETE_PLAN_OUT_FLAG={'name':a129_0x268982(0xd6),'type':a129_0x268982(0xec),'description':a129_0x268982(0x106)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':'string','description':a129_0x268982(0xbd)};export const menuDelete={'service':a129_0x268982(0x107),'command':'delete','description':a129_0x268982(0xae),'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'(_0x18f197){const _0x1cecef=a129_0x268982;_0x18f197[_0x1cecef(0xd0)]('dry-run')?validateDeleteDryRunInput(_0x18f197):validateDeleteExecuteInput(_0x18f197),requireExplicitYes(_0x18f197);},async 'dryRun'(_0x533d85){const _0x3db6cc=a129_0x268982;validateDeleteDryRunInput(_0x533d85);const _0x38fedc=await buildDeletePlan(_0x533d85),_0x6822e6=createMenuDeletePlanFile(_0x533d85[_0x3db6cc(0xed)],_0x38fedc),_0x1de0c0=await writeMenuDeletePlan(_0x533d85['str'](_0x3db6cc(0xd6)),_0x6822e6),_0x5afec8=mutationResult({..._0x38fedc,'planFile':{'path':_0x1de0c0,'createdAt':_0x6822e6[_0x3db6cc(0xdf)],'expiresAt':_0x6822e6['expiresAt']}});return menuDryRunResult(_0x5afec8,{'method':_0x3db6cc(0xb5),'url':_0x3db6cc(0xdc),'body':{'idList':_0x5afec8[_0x3db6cc(0xe7)]},'description':_0x3db6cc(0x116)+(_0x5afec8[_0x3db6cc(0xe7)]?.[_0x3db6cc(0xf1)]??0x1)+_0x3db6cc(0x108)+_0x5afec8[_0x3db6cc(0xda)]['id']+';\x20execution\x20must\x20consume\x20'+_0x1de0c0+'.'});},async 'execute'(_0x51f79a){const _0x27e91e=a129_0x268982;requireExplicitYes(_0x51f79a),validateDeleteExecuteInput(_0x51f79a);const _0x2de6d4=await readMenuDeletePlan(_0x51f79a[_0x27e91e(0xca)](_0x27e91e(0xcd))),_0x15ba31=mutationPlanFromDeleteFile(_0x2de6d4[_0x27e91e(0xcd)],_0x2de6d4[_0x27e91e(0xea)]),_0x6a0f8c=_0x2de6d4[_0x27e91e(0xcd)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x2de6d4[_0x27e91e(0xcd)],_0x51f79a[_0x27e91e(0xed)]);}catch(_0x512147){throw menuFailure(asMenuError(_0x512147),_0x15ba31,{'stage':'plan-validation','failed':{'id':_0x6a0f8c}});}let _0x5f1ec6,_0x145793;try{_0x5f1ec6=await fetchMutationSnapshot(_0x51f79a,_0x27e91e(0xd2),_0x6a0f8c),_0x145793=assertMenuDeletePlanCurrent(_0x2de6d4['plan'],_0x51f79a[_0x27e91e(0xed)],_0x5f1ec6),assertDeleteTargetsComplete(_0x2de6d4[_0x27e91e(0xcd)],_0x5f1ec6),_0x145793[_0x27e91e(0xbe)](_0x41b68d=>assertDeleteSafety(_0x41b68d,_0x2de6d4['plan'][_0x27e91e(0xb8)])),assertNoSharedPages(_0x5f1ec6,_0x145793),assertCascadeMatchesPlan(_0x15ba31,_0x145793);}catch(_0x563978){throw menuFailure(asMenuError(_0x563978),_0x15ba31,{'stage':'pre-write-plan-validation','failed':{'id':_0x6a0f8c}});}const _0x4f10a4=_0x2de6d4[_0x27e91e(0xcd)]['deleteOrder'];let _0x4b8e36;try{_0x4b8e36=await batchDeleteMenuEntities(_0x51f79a[_0x27e91e(0xa9)],_0x4f10a4);}catch(_0x51c5f7){const _0x24d3d9=mapMenuApiError(_0x51c5f7,_0x27e91e(0x104)),_0x5af200=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x19d687;try{_0x19d687=await readDeleteOutcome(_0x51f79a,_0x4f10a4);}catch(_0x12c5d6){const _0x273309=describeMenuErrorCause(_0x12c5d6,_0x27e91e(0xad),_0x6a0f8c);_0x5af200[_0x27e91e(0xab)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x273309['causeCode']+_0x27e91e(0xf2)+_0x273309[_0x27e91e(0x114)]);throw menuFailure(_0x24d3d9,_0x15ba31,{'stage':'batch-delete','failed':{'targetIds':_0x4f10a4,'targetIdsAbsent':_0x27e91e(0x111),..._0x273309},'warnings':_0x5af200,'verification':{'status':_0x27e91e(0xb4),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x4f10a4}});}throw menuFailure(_0x24d3d9,_0x15ba31,{'stage':'batch-delete','succeeded':_0x19d687[_0x27e91e(0xaa)][_0x27e91e(0xd4)](_0x28fd68=>({'id':_0x28fd68,'deleted':!![]})),'failed':{'targetIds':_0x4f10a4,'absentIds':_0x19d687[_0x27e91e(0xaa)],'remainingIds':_0x19d687[_0x27e91e(0x118)]},'warnings':_0x5af200,'verification':verificationFromOutcome(_0x19d687)});}if(_0x4b8e36!==_0x4f10a4[_0x27e91e(0xf1)]){const _0x407cfd=menuError('menu_batch_delete_count_mismatch',_0x27e91e(0xaf)+_0x4b8e36+'\x20deleted\x20menus;\x20expected\x20'+_0x4f10a4[_0x27e91e(0xf1)]+'.',_0x27e91e(0xf8)),_0x2ab03f=[_0x27e91e(0x110)];let _0x261a11;try{_0x261a11=await readDeleteOutcome(_0x51f79a,_0x4f10a4);}catch(_0x51a14a){const _0x459cca=describeMenuErrorCause(_0x51a14a,_0x27e91e(0xfe),_0x6a0f8c);_0x2ab03f['push']('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x459cca[_0x27e91e(0xb6)]+_0x27e91e(0xf2)+_0x459cca[_0x27e91e(0x114)]);throw menuFailure(_0x407cfd,_0x15ba31,{'stage':_0x27e91e(0xe3),'failed':{'targetIds':_0x4f10a4,'expectedCount':_0x4f10a4[_0x27e91e(0xf1)],'reportedDeletedCount':_0x4b8e36,'targetIdsAbsent':_0x27e91e(0x111),..._0x459cca},'warnings':_0x2ab03f,'verification':{'status':'failed','lookupCommand':_0x27e91e(0x10e),'targetIds':_0x4f10a4}});}throw menuFailure(_0x407cfd,_0x15ba31,{'stage':_0x27e91e(0xe3),'succeeded':_0x261a11[_0x27e91e(0xaa)][_0x27e91e(0xd4)](_0x32f49d=>({'id':_0x32f49d,'deleted':!![]})),'failed':{'targetIds':_0x4f10a4,'expectedCount':_0x4f10a4['length'],'reportedDeletedCount':_0x4b8e36,'absentIds':_0x261a11[_0x27e91e(0xaa)],'remainingIds':_0x261a11[_0x27e91e(0x118)]},'warnings':_0x2ab03f,'verification':verificationFromOutcome(_0x261a11)});}let _0x2dc3b9;try{_0x2dc3b9=await readDeleteOutcome(_0x51f79a,_0x4f10a4);}catch(_0x45dc0b){const _0x49b6c8=describeMenuErrorCause(_0x45dc0b,_0x27e91e(0xff),_0x6a0f8c),_0x5036e0=asVerificationError(_0x45dc0b,_0x27e91e(0x100)+_0x6a0f8c+_0x27e91e(0xe4));throw menuFailure(_0x5036e0,_0x15ba31,{'stage':_0x27e91e(0xe6),'succeeded':_0x4f10a4[_0x27e91e(0xd4)](_0x113c3e=>({'id':_0x113c3e,'deleteRequested':!![]})),'failed':{'id':_0x6a0f8c,'targetIds':_0x4f10a4,'targetIdsAbsent':_0x27e91e(0x111),..._0x49b6c8},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x27e91e(0xb4),'lookupCommand':_0x27e91e(0x10e),'targetIds':_0x4f10a4}});}if(_0x2dc3b9['remainingIds']['length']>0x0){const _0x206081=menuError(_0x27e91e(0xeb),_0x27e91e(0xb0)+_0x2dc3b9[_0x27e91e(0x118)]['join'](',\x20')+'.',_0x27e91e(0xf8));throw menuFailure(_0x206081,_0x15ba31,{'stage':_0x27e91e(0xe6),'succeeded':_0x4f10a4[_0x27e91e(0xd4)](_0x2e2ef5=>({'id':_0x2e2ef5,'deleteRequested':!![]})),'failed':{'id':_0x6a0f8c,'targetIds':_0x4f10a4,'absentIds':_0x2dc3b9[_0x27e91e(0xaa)],'remainingIds':_0x2dc3b9['remainingIds']},'warnings':[_0x27e91e(0xbf)],'verification':verificationFromOutcome(_0x2dc3b9)});}const _0x30f899=_0x4f10a4[_0x27e91e(0xd4)](_0x4a054b=>({'id':_0x4a054b,'deleted':!![]})),_0x4be40f=mutationResult({..._0x15ba31,'dryRun':![],'succeeded':_0x30f899,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x15ba31[_0x27e91e(0xef)],'finalSnapshotHash':_0x2dc3b9[_0x27e91e(0xcb)][_0x27e91e(0xb7)],'reportedDeletedCount':_0x4b8e36,'targetAbsent':!_0x2dc3b9['snapshot'][_0x27e91e(0xf9)][_0x27e91e(0xe8)](_0x6a0f8c),'allTargetsAbsent':!![],'targetIds':_0x4f10a4}});return{'ok':!![],'data':_0x4be40f,'message':_0x27e91e(0xd9)+_0x30f899['length']+_0x27e91e(0x108)+_0x6a0f8c+'.'};}};async function readDeleteOutcome(_0x439eff,_0x1ec187){const _0x35ade7=a129_0x268982,_0x502605=await fetchMenuSnapshot(_0x439eff[_0x35ade7(0xed)],_0x439eff[_0x35ade7(0xa9)]);return{'snapshot':_0x502605,'absentIds':_0x1ec187[_0x35ade7(0x115)](_0x3fc3cf=>!_0x502605[_0x35ade7(0xf9)]['has'](_0x3fc3cf)),'remainingIds':_0x1ec187[_0x35ade7(0x115)](_0x4f526c=>_0x502605['byId'][_0x35ade7(0xe8)](_0x4f526c))};}function verificationFromOutcome(_0x3bfba9){const _0x4c6154=a129_0x268982;return{'checkedBy':_0x4c6154(0x10c),'absentIds':_0x3bfba9[_0x4c6154(0xaa)],'remainingIds':_0x3bfba9['remainingIds']};}function a129_0x1844(){const _0x1fd419=['39718ulehuR','/smartapi/menu/batchDelete','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','144hiRfDo','createdAt','menu_plan_invalid','57jJgCUA','cascade','batch-delete','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','pageId','verification','deleteOrder','has','Recursive\x20menu\x20delete\x20plan\x20root\x20','path','menu_verification_failed','string','appCode','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','snapshotHash','flagMissing','length','):\x20','Menu\x20','\x20still\x20references\x20','childrenIds','\x20and\x20cannot\x20be\x20deleted\x20safely.','folder','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','byId','trim','type','1299560CSMmuT','menu_folder_resources_invalid','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','verify\x20batch\x20delete','Batch\x20delete\x20request\x20for\x20menu\x20','resources','Folder\x20','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','batch\x20delete','message','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','menu','\x20menu(s)\x20under\x20exact\x20id\x20','size','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','expected-children-count','menu\x20list','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','rabetbase\x20menu\x20list\x20--format\x20json','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','unconfirmed','10350bNgLIW','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','causeMessage','filter','Would\x20batch\x20delete\x20','415752nSzcAU','remainingIds','36212ctXEFp','add','menu_delete_page_bound','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','menu_non_empty','\x20resource\x20URL(s).','indexOf','cookie','absentIds','push','1567111lqSdOE','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','Backend\x20reported\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','target','54207XjzZjl','toLowerCase','failed','POST','causeCode','hash','recursive','delete','235jLdtLn','get','expect-parent-id','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','forEach','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','\x20is\x20not\x20a\x20folder.','boolean','menu_tree_invalid','childrenCount','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','validation','page\x20','\x20has\x20','menu_recursive_requires_folder','unknown','str','snapshot','\x20references\x20missing\x20child\x20','plan','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','bool','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','execute\x20reviewed\x20delete\x20plan','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','map','menus','plan-out','join','stringify','Deleted\x20','selector'];a129_0x1844=function(){return _0x1fd419;};return a129_0x1844();}function validateDeleteDryRunInput(_0x2c3dde){const _0x4cefc8=a129_0x268982;validateExactId(_0x2c3dde);if(!hasFlag(_0x2c3dde,_0x4cefc8(0xd6))||!_0x2c3dde['str']('plan-out')[_0x4cefc8(0xfa)]())throw CliErrors[_0x4cefc8(0xf0)](_0x4cefc8(0xd6),'--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x2c3dde,'plan'))throw CliErrors['validation'](_0x4cefc8(0x103));}function validateDeleteExecuteInput(_0x49f9a6){const _0x145dad=a129_0x268982;if(!hasFlag(_0x49f9a6,_0x145dad(0xcd))||!_0x49f9a6[_0x145dad(0xca)]('plan')['trim']())throw CliErrors[_0x145dad(0xf0)](_0x145dad(0xcd),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0xe4d4e3=['id',_0x145dad(0xb8),_0x145dad(0xd6),_0x145dad(0xbc),'expect-path',_0x145dad(0x10b)][_0x145dad(0x115)](_0xd0ada3=>hasFlag(_0x49f9a6,_0xd0ada3));if(_0xe4d4e3[_0x145dad(0xf1)]>0x0)throw CliErrors[_0x145dad(0xc5)](_0x145dad(0x10f)+_0xe4d4e3['map'](_0x439e5a=>'--'+_0x439e5a)[_0x145dad(0xd7)](',\x20')+'.');}async function buildDeletePlan(_0x56b4e9){const _0x358d17=a129_0x268982,_0x3c69b8=validateExactId(_0x56b4e9),_0x528c64=await fetchMutationSnapshot(_0x56b4e9,'plan\x20delete',_0x3c69b8),_0xb4a3a6=requireMenu(_0x528c64,_0x3c69b8);assertExpectedState(_0x56b4e9,_0xb4a3a6);const _0x1c1630=_0x56b4e9['bool'](_0x358d17(0xb8));let _0x2a3ad4;if(_0x1c1630){if(_0xb4a3a6[_0x358d17(0xfb)][_0x358d17(0xfa)]()[_0x358d17(0xb3)]()!==_0x358d17(0xf7))throw menuError(_0x358d17(0xc8),_0x358d17(0xf3)+_0xb4a3a6['id']+'\x20is\x20type\x20\x22'+(_0xb4a3a6[_0x358d17(0xfb)]||_0x358d17(0xc9))+_0x358d17(0xd1));_0x2a3ad4=collectDeleteTargets(_0x528c64,_0xb4a3a6),_0x2a3ad4[_0x358d17(0xbe)](_0xa69214=>assertDeleteSafety(_0xa69214,!![]));}else assertDeleteSafety(_0xb4a3a6),_0x2a3ad4=[_0xb4a3a6];assertNoSharedPages(_0x528c64,_0x2a3ad4);const _0x4dfeba=_0x2a3ad4['map'](_0x4ffc10=>_0x4ffc10['id']),_0x352ac3=cascadeForTargets(_0x2a3ad4),_0x40c1b2=_0x352ac3['pages']['length']>0x0?[_0x358d17(0x113)]:[];return mutationResult({'operation':_0x358d17(0xb9),'selector':{'id':_0x3c69b8,'recursive':_0x1c1630},'before':_0xb4a3a6,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x358d17(0xb5),'path':_0x358d17(0xdc),'body':{'idList':_0x4dfeba}}],'targets':_0x2a3ad4,'deleteOrder':_0x4dfeba,'snapshotHash':_0x528c64[_0x358d17(0xb7)],'cascade':_0x352ac3,'warnings':_0x40c1b2});}function assertDeleteSafety(_0xddac01,_0x2a86aa=![]){const _0x532738=a129_0x268982,_0x5e0691=_0xddac01['type'][_0x532738(0xfa)]()[_0x532738(0xb3)]()===_0x532738(0xf7);if(_0xddac01[_0x532738(0xc3)]>0x0&&(!_0x2a86aa||!_0x5e0691))throw menuError(_0x532738(0xa6),'Menu\x20'+_0xddac01['id']+_0x532738(0xc7)+_0xddac01[_0x532738(0xc3)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x532738(0x10a)+_0xddac01[_0x532738(0xf5)][_0x532738(0xd7)](',\x20'));if(_0x5e0691&&_0xddac01['pageId']!=null)throw menuError(_0x532738(0xa4),'Folder\x20'+_0xddac01['id']+_0x532738(0x10d)+_0xddac01[_0x532738(0xe5)]+_0x532738(0xf6),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x5e0691)return;if(!_0xddac01['resourcesValid'])throw menuError(_0x532738(0xfd),_0x532738(0x102)+_0xddac01['id']+_0x532738(0xce),_0x532738(0xcf));if(_0xddac01[_0x532738(0x101)][_0x532738(0xf1)]>0x0)throw menuError('menu_folder_has_resources',_0x532738(0x102)+_0xddac01['id']+_0x532738(0xf4)+_0xddac01[_0x532738(0x101)]['length']+_0x532738(0xa7),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x26b56a,_0x2c9a22){const _0x5d8393=[],_0xb36b7c=new Set(),_0x3d8f54=new Set(),_0x249b0d=_0x442226=>{const _0x22360c=a129_0x22eb;if(_0xb36b7c[_0x22360c(0xe8)](_0x442226['id']))throw menuError(_0x22360c(0xc2),_0x22360c(0xee)+_0x442226['id']+'.');if(_0x3d8f54[_0x22360c(0xe8)](_0x442226['id']))return;_0xb36b7c[_0x22360c(0xa3)](_0x442226['id']);for(const _0x302a4c of _0x442226[_0x22360c(0xf5)]){const _0x260673=_0x26b56a['byId'][_0x22360c(0xbb)](_0x302a4c);if(!_0x260673)throw menuError(_0x22360c(0xc2),_0x22360c(0xf3)+_0x442226['id']+_0x22360c(0xcc)+_0x302a4c+'.');_0x249b0d(_0x260673);}_0xb36b7c[_0x22360c(0xb9)](_0x442226['id']),_0x3d8f54[_0x22360c(0xa3)](_0x442226['id']),_0x5d8393[_0x22360c(0xab)](_0x442226);};return _0x249b0d(_0x2c9a22),_0x5d8393;}function assertDeleteTargetsComplete(_0x6bca60,_0x204630){const _0x30ea30=a129_0x268982,_0xf7353=requireMenu(_0x204630,_0x6bca60[_0x30ea30(0xb1)]['id']);if(_0x6bca60[_0x30ea30(0xb8)]&&_0xf7353['type'][_0x30ea30(0xfa)]()['toLowerCase']()!=='folder')throw menuError(_0x30ea30(0xe0),_0x30ea30(0xe9)+_0xf7353['id']+_0x30ea30(0xc0));const _0x847ab5=_0x6bca60[_0x30ea30(0xb8)]?collectDeleteTargets(_0x204630,_0xf7353)[_0x30ea30(0xd4)](_0x409c46=>_0x409c46['id']):[_0xf7353['id']];if(JSON[_0x30ea30(0xd8)](_0x6bca60[_0x30ea30(0xe7)])!==JSON[_0x30ea30(0xd8)](_0x847ab5))throw menuError(_0x30ea30(0xe0),'Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.',_0x30ea30(0xdd));}function a129_0x22eb(_0x125679,_0x967c61){_0x125679=_0x125679-0xa3;const _0x1844ae=a129_0x1844();let _0x22eb4e=_0x1844ae[_0x125679];return _0x22eb4e;}function assertNoSharedPages(_0x568a37,_0x11cc6e){const _0x425aff=a129_0x268982,_0x323046=new Set(_0x11cc6e[_0x425aff(0xd4)](_0x5082a1=>_0x5082a1['id'])),_0x58b6ef=new Set(_0x11cc6e[_0x425aff(0xd4)](_0x58ddec=>_0x58ddec[_0x425aff(0xe5)])[_0x425aff(0x115)](_0x46cb05=>_0x46cb05!=null));if(_0x58b6ef[_0x425aff(0x109)]===0x0)return;const _0x1c550d=_0x568a37[_0x425aff(0xd5)][_0x425aff(0x115)](_0x536120=>!_0x323046[_0x425aff(0xe8)](_0x536120['id'])&&_0x536120[_0x425aff(0xe5)]!=null&&_0x58b6ef[_0x425aff(0xe8)](_0x536120[_0x425aff(0xe5)]));if(_0x1c550d[_0x425aff(0xf1)]===0x0)return;const _0x5ae869=_0x1c550d['map'](_0x14f000=>_0x425aff(0xc6)+_0x14f000[_0x425aff(0xe5)]+'\x20->\x20menu\x20'+_0x14f000['id'])['join'](',\x20');throw menuError('menu_page_shared',_0x425aff(0xd3)+_0x5ae869+'.',_0x425aff(0xa5));}function assertCascadeMatchesPlan(_0x4becdf,_0x547bf4){const _0x294cf2=a129_0x268982,_0x4a0dc8=cascadeForTargets(_0x547bf4);if(JSON[_0x294cf2(0xd8)](_0x4becdf[_0x294cf2(0xe2)])!==JSON[_0x294cf2(0xd8)](_0x4a0dc8))throw menuError(_0x294cf2(0xe0),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x1400a){const _0x584ebf=a129_0x268982,_0x2e3d57=_0x1400a[_0x584ebf(0xd4)](_0x881cc4=>_0x881cc4[_0x584ebf(0xe5)])['filter'](_0x1c9f16=>_0x1c9f16!=null)[_0x584ebf(0x115)]((_0x1114ef,_0x23358c,_0x3846cc)=>_0x3846cc[_0x584ebf(0xa8)](_0x1114ef)===_0x23358c);return{'pages':_0x2e3d57,'pageSchemaAffected':_0x2e3d57[_0x584ebf(0xf1)]>0x0};}function asMenuError(_0x50d152){const _0x4776ef=a129_0x268982;return _0x50d152 instanceof CliError?_0x50d152:menuError('menu_plan_invalid',_0x50d152 instanceof Error?_0x50d152[_0x4776ef(0x105)]:String(_0x50d152));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a130_0x173092=a130_0x5060;(function(_0x4b1faf,_0x1ba768){const _0x22cc70=a130_0x5060,_0x283a51=_0x4b1faf();while(!![]){try{const _0x48b4da=parseInt(_0x22cc70(0x157))/0x1*(-parseInt(_0x22cc70(0x18f))/0x2)+-parseInt(_0x22cc70(0x152))/0x3+-parseInt(_0x22cc70(0x19e))/0x4+-parseInt(_0x22cc70(0x13a))/0x5+-parseInt(_0x22cc70(0x190))/0x6*(parseInt(_0x22cc70(0x19a))/0x7)+-parseInt(_0x22cc70(0x15c))/0x8*(-parseInt(_0x22cc70(0x179))/0x9)+-parseInt(_0x22cc70(0x186))/0xa*(-parseInt(_0x22cc70(0x162))/0xb);if(_0x48b4da===_0x1ba768)break;else _0x283a51['push'](_0x283a51['shift']());}catch(_0x1f6b64){_0x283a51['push'](_0x283a51['shift']());}}}(a130_0x399a,0x8717f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a130_0x5060(_0x2e9343,_0x22de31){_0x2e9343=_0x2e9343-0x136;const _0x399a26=a130_0x399a();let _0x5060e7=_0x399a26[_0x2e9343];return _0x5060e7;}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':a130_0x173092(0x1ac),'new-window':a130_0x173092(0x1a7)};export function validateExternalMenuUrl(_0x2682a1){const _0x58b054=a130_0x173092,_0x461ac5=_0x2682a1['trim']();let _0x3d768a;try{_0x3d768a=new URL(_0x461ac5);}catch{throw menuError('menu_url_invalid','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x58b054(0x159));}if(_0x3d768a[_0x58b054(0x139)]!=='https:')throw menuError(_0x58b054(0x160),_0x58b054(0x197),_0x58b054(0x181));if(_0x3d768a[_0x58b054(0x16e)]||_0x3d768a[_0x58b054(0x1c0)])throw menuError(_0x58b054(0x16f),_0x58b054(0x1b7),_0x58b054(0x1bd));return _0x461ac5;}export const menuExternalLinkCreate={'service':a130_0x173092(0x161),'command':a130_0x173092(0x1a2),'description':a130_0x173092(0x17d),'risk':a130_0x173092(0x192),'structuredErrors':!![],'flags':[{'name':a130_0x173092(0x1a9),'type':a130_0x173092(0x1b4),'required':!![],'description':a130_0x173092(0x1b6)},{'name':a130_0x173092(0x19c),'type':a130_0x173092(0x1b4),'required':!![],'enum':[a130_0x173092(0x1a4),'new-window'],'description':a130_0x173092(0x147)},{'name':a130_0x173092(0x1c3),'type':a130_0x173092(0x1b4),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a130_0x173092(0x175),'type':a130_0x173092(0x1b1),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x56aa37){validateAddInput(_0x56aa37);},async 'dryRun'(_0x426fca){const _0x4acf04=a130_0x173092;validateAddInput(_0x426fca);const {plan:_0x36231c}=await buildSafeAddPlan(_0x426fca,!![]),_0x504755=_0x36231c[_0x4acf04(0x136)],_0x383925=createBody(_0x504755);return menuDryRunResult(_0x36231c,{'method':_0x4acf04(0x195),'url':_0x4acf04(0x169),'body':_0x383925,'description':_0x4acf04(0x196)+JSON[_0x4acf04(0x1ba)](_0x504755[_0x4acf04(0x1a9)])+_0x4acf04(0x167)+_0x426fca['str']('open-mode')+_0x4acf04(0x1a5)});},async 'execute'(_0xe8f6f){const _0x3f533c=a130_0x173092;validateAddInput(_0xe8f6f);const _0x477806=await buildSafeAddPlan(_0xe8f6f,![]),{plan:_0x175f1e,snapshot:_0x5d365a}=_0x477806,_0x3cb8ee=_0x175f1e['after'],_0x55e2c6=buildMenuLookupCommand(_0xe8f6f[_0x3f533c(0x146)]);await recheckAddSnapshot(_0xe8f6f,_0x175f1e);let _0xa828f9;try{_0xa828f9=await createMenuEntity(_0xe8f6f['appCode'],_0xe8f6f[_0x3f533c(0x1b8)],createBody(_0x3cb8ee));}catch(_0x4c2b23){const _0x4edc43=mapMenuApiError(_0x4c2b23,_0x3f533c(0x193));if(!isMenuResponseLoss(_0x4c2b23)||_0x4edc43['code']===_0x3f533c(0x15b))throw externalLinkCreateFailure(_0x4edc43,_0x175f1e,{'stage':_0x3f533c(0x1bf),'failed':{},'verification':{'status':_0x3f533c(0x16b),'lookupCommand':_0x55e2c6}});return recoverAfterResponseLoss(_0xe8f6f,_0x477806,_0x55e2c6);}const _0x5729f0=Number(_0xa828f9?.['id']),_0x13a36c=typeof _0xa828f9?.['path']===_0x3f533c(0x1b4)?_0xa828f9[_0x3f533c(0x17c)]:'';if(!Number[_0x3f533c(0x194)](_0x5729f0)||_0x5729f0<=0x0||!_0x13a36c[_0x3f533c(0x165)]()){const _0x4f3c8f=menuError(_0x3f533c(0x176),_0x3f533c(0x14a),'Run\x20'+_0x55e2c6+_0x3f533c(0x1ad));throw externalLinkCreateFailure(_0x4f3c8f,_0x175f1e,{'stage':_0x3f533c(0x17a),'succeeded':Number[_0x3f533c(0x194)](_0x5729f0)&&_0x5729f0>0x0?[{'id':_0x5729f0,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x5729f0)?_0x5729f0:null,'generatedPathConfirmed':Boolean(_0x13a36c[_0x3f533c(0x165)]())},'warnings':[_0x3f533c(0x17e)],'after':Number[_0x3f533c(0x194)](_0x5729f0)&&_0x5729f0>0x0?{..._0x3cb8ee,'id':_0x5729f0,'path':_0x13a36c}:_0x3cb8ee,'verification':{'status':_0x3f533c(0x16b),'lookupCommand':_0x55e2c6,...Number[_0x3f533c(0x194)](_0x5729f0)&&_0x5729f0>0x0?{'targetId':_0x5729f0}:{}}});}const _0x5e2932=await readAndVerifyCreatedMenu({'appCode':_0xe8f6f[_0x3f533c(0x146)],'cookie':_0xe8f6f[_0x3f533c(0x1b8)],'plan':_0x175f1e,'afterPlan':_0x3cb8ee,'createdId':_0x5729f0,'expectedPath':_0x13a36c,'lookupCommand':_0x55e2c6,'recovered':![]});return creationSuccess(_0x175f1e,_0x5e2932['snapshot'],_0x5e2932[_0x3f533c(0x13e)],![]);}};function validateAddInput(_0x2b8560){const _0x3eab78=a130_0x173092;if(!_0x2b8560[_0x3eab78(0x185)](_0x3eab78(0x1a9))['trim']())throw CliErrors['flagMissing'](_0x3eab78(0x1a9));resolveExternalMenuType(_0x2b8560),validateExternalMenuUrl(_0x2b8560[_0x3eab78(0x185)](_0x3eab78(0x1c3))),parseParentId(_0x2b8560,_0x3eab78(0x16a)),validateSort(_0x2b8560);}function resolveExternalMenuType(_0x35b547){const _0x2d39d3=a130_0x173092,_0x2e3fe5=_0x35b547[_0x2d39d3(0x185)](_0x2d39d3(0x19c))[_0x2d39d3(0x165)]();if(!_0x2e3fe5)throw CliErrors[_0x2d39d3(0x184)](_0x2d39d3(0x19c));const _0x3ab22a=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2e3fe5];if(!_0x3ab22a)throw menuError(_0x2d39d3(0x1b9),_0x2d39d3(0x155),_0x2d39d3(0x180));return _0x3ab22a;}async function buildAddPlan(_0x5689b8,_0xb4537c){const _0x5289f2=a130_0x173092,_0x235af9=await fetchMutationSnapshot(_0x5689b8,_0x5289f2(0x193)),_0x5ea3ec=parseParentId(_0x5689b8,'parent-id')??null;if(_0x5ea3ec!=null)requireFolder(_0x235af9,_0x5ea3ec);const _0x940c5=validateSort(_0x5689b8),_0x177040=_0x940c5??nextSiblingSort(_0x235af9,_0x5ea3ec,_0x5289f2(0x161)),_0x833a19=_0x5689b8[_0x5289f2(0x185)](_0x5289f2(0x1a9))['trim'](),_0x294827=resolveExternalMenuType(_0x5689b8),_0x382168=validateExternalMenuUrl(_0x5689b8['str'](_0x5289f2(0x1c3))),_0x43dac7=Object['prototype'][_0x5289f2(0x142)]['call'](_0x5689b8[_0x5289f2(0x15f)],_0x5289f2(0x175))?_0x5689b8['bool'](_0x5289f2(0x175)):!![],_0x27f26c={'id':null,'parentId':_0x5ea3ec,'label':_0x833a19,'path':_0x5289f2(0x154),'url':_0x382168,'type':_0x294827,'visible':_0x43dac7,'sort':_0x177040},_0x2ff23b=buildMenuLookupCommand(_0x5689b8[_0x5289f2(0x146)]),_0x4faa63=mutationResult({'operation':_0x5289f2(0x18d),'selector':{'parentId':_0x5ea3ec,'type':_0x294827,'label':_0x833a19,'url':_0x382168},'before':null,'after':_0x27f26c,'dryRun':_0xb4537c,'backend':[{'method':_0x5289f2(0x195),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x5289f2(0x189),'method':'POST','path':'/smartapi/menu/create','body':createBody(_0x27f26c)}],'snapshotHash':_0x235af9['hash'],'warnings':[_0x5289f2(0x14e)],'verification':{'lookupCommand':_0x2ff23b}});return{'plan':_0x4faa63,'snapshot':_0x235af9};}async function buildSafeAddPlan(_0x5b2ee2,_0x106f5c){try{return await buildAddPlan(_0x5b2ee2,_0x106f5c);}catch(_0x48e916){throw safeMenuAddError(_0x48e916);}}async function recheckAddSnapshot(_0x247b7d,_0x209b51){const _0x1f5ca8=a130_0x173092;try{await recheckMutationSnapshot(_0x247b7d,_0x209b51,_0x1f5ca8(0x193));}catch(_0x1b205d){const _0x334650=getFailureRecord(_0x1b205d);throw externalLinkCreateFailure(_0x1b205d,_0x209b51,{'stage':_0x1f5ca8(0x1be),'failed':{..._0x334650?.[_0x1f5ca8(0x16c)]?{'expectedSnapshotHash':_0x334650['expectedSnapshotHash']}:{},..._0x334650?.[_0x1f5ca8(0x13f)]?{'currentSnapshotHash':_0x334650[_0x1f5ca8(0x13f)]}:{}}});}}function createBody(_0x57b96b){const _0x2a4c6a=a130_0x173092;return{'parentId':toApiParentId(_0x57b96b[_0x2a4c6a(0x18a)]),'label':String(_0x57b96b[_0x2a4c6a(0x1a9)]),'type':String(_0x57b96b[_0x2a4c6a(0x13c)]),'url':String(_0x57b96b['url']),'visible':Boolean(_0x57b96b[_0x2a4c6a(0x175)]),'sort':Number(_0x57b96b[_0x2a4c6a(0x141)]),'extend':{}};}function buildMenuLookupCommand(_0x45ca07){const _0x50d7d4=a130_0x173092,_0x17f342='\x27'+_0x45ca07['replace'](/'/g,_0x50d7d4(0x19d))+'\x27';return _0x50d7d4(0x14c)+_0x17f342+_0x50d7d4(0x164);}async function recoverAfterResponseLoss(_0x4c6205,_0x1b343,_0x20c405){const _0x211937=a130_0x173092,{plan:_0x2596d5,snapshot:_0x577cf0}=_0x1b343,_0x5c9309=_0x2596d5[_0x211937(0x136)];let _0x5da93a;try{_0x5da93a=await fetchMenuSnapshot(_0x4c6205['appCode'],_0x4c6205[_0x211937(0x1b8)]);}catch(_0x43c71f){throw recoveryRequiredFailure(_0x2596d5,_0x20c405,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x116b35=_0x5da93a['menus']['filter'](_0x4178e0=>_0x4178e0[_0x211937(0x18a)]===_0x5c9309[_0x211937(0x18a)]&&_0x4178e0['type']===_0x5c9309[_0x211937(0x13c)]&&_0x4178e0[_0x211937(0x1a9)]===_0x5c9309[_0x211937(0x1a9)]&&_0x4178e0['url']===_0x5c9309['url']),_0x105bcb=_0x116b35[_0x211937(0x177)](_0x2171ec=>!_0x577cf0['byId'][_0x211937(0x1ab)](_0x2171ec['id'])),_0x548702=_0x116b35['filter'](_0x9c12d4=>_0x577cf0[_0x211937(0x13b)][_0x211937(0x1ab)](_0x9c12d4['id']));if(_0x116b35[_0x211937(0x144)]!==0x1||_0x105bcb[_0x211937(0x144)]!==0x1)throw recoveryRequiredFailure(_0x2596d5,_0x20c405,{'matchCount':_0x116b35['length'],'newMatchCount':_0x105bcb['length'],'preexistingMatchCount':_0x548702[_0x211937(0x144)]});const _0x4cb595=_0x105bcb[0x0];try{verifyCreatedFact(_0x4cb595,_0x4cb595['id'],_0x5c9309,null);}catch(_0x12d184){const _0x59d14a=_0x12d184 instanceof Error&&'code'in _0x12d184?_0x12d184:menuError('menu_verification_failed',_0x211937(0x17f)+_0x4cb595['id']+'\x20could\x20not\x20be\x20verified.',_0x211937(0x148)+_0x20c405+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x59d14a,_0x2596d5,{'stage':'verification','succeeded':[{'id':_0x4cb595['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4cb595['id'],'finalFactsConfirmed':![]},'after':_0x4cb595,'warnings':[_0x211937(0x1a8)+_0x4cb595['id']+_0x211937(0x182)],'verification':{'status':_0x211937(0x16b),'targetId':_0x4cb595['id'],'recovered':!![],'lookupCommand':_0x20c405}});}return creationSuccess(_0x2596d5,_0x5da93a,_0x4cb595,!![]);}function recoveryRequiredFailure(_0x38d355,_0x22c3f1,_0x5dcee7){const _0x637876=a130_0x173092,_0x59ddbe=menuError(_0x637876(0x174),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Run\x20'+_0x22c3f1+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x59ddbe,_0x38d355,{'stage':'create-recovery','failed':_0x5dcee7,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x637876(0x16b),..._0x5dcee7,'lookupCommand':_0x22c3f1}});}async function readAndVerifyCreatedMenu(_0x3131b){const _0x406360=a130_0x173092;let _0x570b53;try{_0x570b53=await fetchMenuSnapshot(_0x3131b[_0x406360(0x146)],_0x3131b[_0x406360(0x1b8)]);}catch(_0x3ac09f){const _0x93d0f4=menuError(_0x406360(0x1b3),_0x406360(0x1a8)+_0x3131b['createdId']+_0x406360(0x15a),_0x406360(0x148)+_0x3131b['lookupCommand']+_0x406360(0x191));throw externalLinkCreateFailure(_0x93d0f4,_0x3131b[_0x406360(0x171)],{'stage':_0x406360(0x178),'succeeded':[{'id':_0x3131b[_0x406360(0x19b)],'created':!![]}],'failed':{'id':_0x3131b[_0x406360(0x19b)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x3131b[_0x406360(0x18c)],'id':_0x3131b['createdId'],'path':_0x3131b[_0x406360(0x1ae)]},'warnings':[_0x406360(0x1a8)+_0x3131b[_0x406360(0x19b)]+_0x406360(0x153)],'verification':{'status':'failed','targetId':_0x3131b[_0x406360(0x19b)],'lookupCommand':_0x3131b[_0x406360(0x166)]}});}const _0x8d4fa0=_0x570b53[_0x406360(0x13b)][_0x406360(0x138)](_0x3131b['createdId']);try{if(!_0x8d4fa0)throw menuError('menu_verification_failed',_0x406360(0x1c1)+_0x3131b[_0x406360(0x19b)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x406360(0x148)+_0x3131b[_0x406360(0x166)]+_0x406360(0x191));verifyCreatedFact(_0x8d4fa0,_0x3131b[_0x406360(0x19b)],_0x3131b['afterPlan'],_0x3131b[_0x406360(0x1ae)]);}catch(_0x2a4ff8){const _0x50248d=_0x2a4ff8 instanceof Error&&'code'in _0x2a4ff8?_0x2a4ff8:menuError(_0x406360(0x1b3),_0x406360(0x1c1)+_0x3131b['createdId']+_0x406360(0x14b),_0x406360(0x148)+_0x3131b[_0x406360(0x166)]+_0x406360(0x191));throw externalLinkCreateFailure(_0x50248d,_0x3131b[_0x406360(0x171)],{'stage':_0x406360(0x178),'succeeded':[{'id':_0x3131b['createdId'],'created':!![]}],'failed':{'id':_0x3131b[_0x406360(0x19b)],'finalFactsConfirmed':![]},'after':_0x8d4fa0??{..._0x3131b['afterPlan'],'id':_0x3131b[_0x406360(0x19b)],'path':_0x3131b[_0x406360(0x1ae)]},'warnings':[_0x406360(0x1a8)+_0x3131b[_0x406360(0x19b)]+_0x406360(0x183)],'verification':{'status':_0x406360(0x16b),'targetId':_0x3131b['createdId'],'recovered':_0x3131b['recovered'],'lookupCommand':_0x3131b[_0x406360(0x166)]}});}return{'snapshot':_0x570b53,'fact':_0x8d4fa0};}function verifyCreatedFact(_0x520471,_0x14c262,_0x10744e,_0x55550f){const _0x23a084=a130_0x173092;if(!Number[_0x23a084(0x194)](_0x520471['id'])||_0x520471['id']<=0x0||_0x520471['id']!==_0x14c262)throw menuError(_0x23a084(0x1b3),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x23a084(0x199));const _0x5d8ca7=[[_0x23a084(0x143),_0x520471[_0x23a084(0x18a)],_0x10744e[_0x23a084(0x18a)]],[_0x23a084(0x13c),_0x520471[_0x23a084(0x13c)],_0x10744e[_0x23a084(0x13c)]],[_0x23a084(0x1a9),_0x520471[_0x23a084(0x1a9)],_0x10744e[_0x23a084(0x1a9)]],[_0x23a084(0x163),_0x520471[_0x23a084(0x1c3)],_0x10744e[_0x23a084(0x1c3)]],[_0x23a084(0x1af),_0x520471['visible'],_0x10744e[_0x23a084(0x175)]],[_0x23a084(0x141),_0x520471[_0x23a084(0x141)],_0x10744e[_0x23a084(0x141)]]];for(const [_0x2fb3a2,_0x231776,_0x188f97]of _0x5d8ca7){if(_0x231776!==_0x188f97)throw menuError(_0x23a084(0x1b3),'Created\x20menu\x20'+_0x520471['id']+_0x23a084(0x1bb)+_0x2fb3a2+'.',_0x23a084(0x18b));}if(!_0x520471[_0x23a084(0x17c)][_0x23a084(0x165)]()||_0x55550f!==null&&_0x520471['path']!==_0x55550f)throw menuError(_0x23a084(0x1b3),_0x23a084(0x1c1)+_0x520471['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x23a084(0x18b));}function creationSuccess(_0x454f55,_0x1cc37e,_0x52aa82,_0x181a8f){const _0xde9e45=a130_0x173092,_0x41809b=mutationResult({..._0x454f55,'after':_0x52aa82,'dryRun':![],'succeeded':[{'id':_0x52aa82['id'],'created':!![],'recovered':_0x181a8f}],'verification':{'checkedBy':_0xde9e45(0x1a0),'snapshotHash':_0x1cc37e[_0xde9e45(0x1a3)],'targetId':_0x52aa82['id'],'recovered':_0x181a8f,'path':_0x52aa82[_0xde9e45(0x17c)]}});return{'ok':!![],'message':_0x181a8f?_0xde9e45(0x16d)+_0x52aa82['id']+_0xde9e45(0x15d):'Created\x20external\x20menu\x20'+_0x52aa82['id']+'.','data':{..._0x41809b,'recovered':_0x181a8f}};}function externalLinkCreateFailure(_0x329e0c,_0x3db2f4,_0x32617d){const _0x3e8d93=a130_0x173092;return menuFailure(safeMenuAddError(_0x329e0c),redactFailurePlan(_0x3db2f4),{..._0x32617d,'succeeded':_0x32617d[_0x3e8d93(0x18e)]?.['map'](redactFailureRecord),'failed':_0x32617d['failed']?redactFailureRecord(_0x32617d[_0x3e8d93(0x16b)]):undefined,'verification':_0x32617d[_0x3e8d93(0x178)]?redactFailureRecord(_0x32617d[_0x3e8d93(0x178)]):undefined,'after':_0x32617d[_0x3e8d93(0x136)]===undefined?undefined:redactFailureValue(_0x32617d[_0x3e8d93(0x136)])});}function redactFailurePlan(_0x130b62){const _0x2ea830=a130_0x173092;return{..._0x130b62,'selector':redactFailureRecord(_0x130b62[_0x2ea830(0x150)]),'before':redactFailureValue(_0x130b62[_0x2ea830(0x15e)]),'after':redactFailureValue(_0x130b62[_0x2ea830(0x136)]),'plannedActions':_0x130b62['plannedActions']?.['map'](_0x5a6e6a=>({..._0x5a6e6a,'body':redactFailureRecord(_0x5a6e6a[_0x2ea830(0x145)])})),'succeeded':_0x130b62[_0x2ea830(0x18e)][_0x2ea830(0x137)](redactFailureRecord),'failed':_0x130b62[_0x2ea830(0x16b)]['map'](redactFailureRecord),'verification':_0x130b62[_0x2ea830(0x178)]?redactFailureRecord(_0x130b62['verification']):undefined};}function redactFailureRecord(_0x2a4004){return redactFailureValue(_0x2a4004);}function redactFailureValue(_0x400ab5,_0x5d071d=''){const _0x13bb3a=a130_0x173092,_0x189988=_0x5d071d[_0x13bb3a(0x188)]()[_0x13bb3a(0x156)](/[^a-z0-9]/g,'');if([_0x13bb3a(0x1b0),_0x13bb3a(0x1b5),_0x13bb3a(0x198),_0x13bb3a(0x149)]['includes'](_0x189988))return _0x13bb3a(0x187);if(Array[_0x13bb3a(0x1aa)](_0x400ab5))return _0x400ab5[_0x13bb3a(0x137)](_0x3d9862=>redactFailureValue(_0x3d9862));if(_0x400ab5&&typeof _0x400ab5===_0x13bb3a(0x13d))return Object[_0x13bb3a(0x151)](Object['entries'](_0x400ab5)[_0x13bb3a(0x137)](([_0xd89be9,_0x145c62])=>[_0xd89be9,redactFailureValue(_0x145c62,_0xd89be9)]));return _0x400ab5;}function a130_0x399a(){const _0x14ab30=['2111285wAgLCI','byId','type','object','fact','currentSnapshotHash','data','sort','hasOwnProperty','parent','length','body','appCode','How\x20to\x20open\x20the\x20external\x20website','Run\x20','rawerror','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20failed\x20final\x20verification.','rabetbase\x20menu\x20list\x20--appcode\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','selector','fromEntries','1288041LhVqjY','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','<platform-generated>','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','replace','4Rpgkxj','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_permission_denied','16vowusB','\x20after\x20response\x20loss.','before','rawFlags','menu_url_https_required','menu','11TenKpp','URL','\x20--format\x20compress','trim','lookupCommand','\x20with\x20','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','/smartapi/menu/create','parent-id','failed','expectedSnapshotHash','Recovered\x20created\x20external\x20menu\x20','username','menu_url_credentials_forbidden','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','plan','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','menu_sort_overflow','menu_create_recovery_required','visible','menu_create_response_invalid','filter','verification','1420308gKzAGG','create-response-validation','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','path','Create\x20an\x20external\x20website\x20link\x20menu','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Recovered\x20menu\x20','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Provide\x20an\x20HTTPS\x20URL.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','flagMissing','str','28030020XkiQVi','<redacted>','toLowerCase','create-menu','parentId','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','afterPlan','add','succeeded','303592hCziiQ','539190jYCznt','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','write','create\x20external\x20menu','isSafeInteger','POST','Would\x20create\x20external\x20website\x20link\x20menu\x20','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','readbackerror','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','77etwPAp','createdId','open-mode','\x27\x5c\x27\x27','471920zGbwXQ','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','menu\x20list','menu_mutation_failed','external-link-create','hash','embedded','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menu_not_found','link','Menu\x20','label','isArray','has','iframe','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','expectedPath','visibility','cause','boolean','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','menu_verification_failed','string','causemessage','Menu\x20label','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','cookie','menu_open_mode_invalid','stringify','\x20has\x20an\x20unexpected\x20','code','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','pre-write-recheck','create','password','Created\x20menu\x20','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','url','after','map','get','protocol'];a130_0x399a=function(){return _0x14ab30;};return a130_0x399a();}function safeMenuAddError(_0x4e2a03){const _0x141bea=a130_0x173092,_0x2766be=_0x4e2a03 instanceof CliError?_0x4e2a03[_0x141bea(0x1bc)]:_0x141bea(0x1a1);switch(_0x2766be){case'menu_state_drift':return menuError(_0x2766be,_0x141bea(0x1c2),_0x141bea(0x158));case _0x141bea(0x15b):return menuError(_0x2766be,_0x141bea(0x14f),_0x141bea(0x19f));case _0x141bea(0x176):return menuError(_0x2766be,_0x141bea(0x1b2),_0x141bea(0x17b));case'menu_verification_failed':return menuError(_0x2766be,_0x141bea(0x168),_0x141bea(0x17b));case _0x141bea(0x174):return menuError(_0x2766be,_0x141bea(0x172),_0x141bea(0x14d));case _0x141bea(0x1a1):case _0x141bea(0x1a6):case'menu_parent_not_folder':case'menu_sort_invalid':case _0x141bea(0x173):return menuError(_0x2766be,'External\x20menu\x20creation\x20failed.',_0x141bea(0x170));default:return menuError('menu_mutation_failed','External\x20menu\x20creation\x20failed.',_0x141bea(0x170));}}function getFailureRecord(_0x19eda4){const _0x17eccd=a130_0x173092;if(!(_0x19eda4 instanceof Error)||!(_0x17eccd(0x140)in _0x19eda4))return undefined;const _0x370729=_0x19eda4[_0x17eccd(0x140)];if(!_0x370729||typeof _0x370729!=='object')return undefined;const _0x138af3=_0x370729[_0x17eccd(0x16b)];if(!Array[_0x17eccd(0x1aa)](_0x138af3)||!_0x138af3[0x0]||typeof _0x138af3[0x0]!==_0x17eccd(0x13d))return undefined;return _0x138af3[0x0];}
|
|
1
|
+
const a130_0x29fb78=a130_0x558b;(function(_0x277483,_0x296caf){const _0x2b6001=a130_0x558b,_0x7c39de=_0x277483();while(!![]){try{const _0x27041b=-parseInt(_0x2b6001(0x208))/0x1*(parseInt(_0x2b6001(0x201))/0x2)+parseInt(_0x2b6001(0x230))/0x3*(parseInt(_0x2b6001(0x241))/0x4)+parseInt(_0x2b6001(0x239))/0x5+-parseInt(_0x2b6001(0x25a))/0x6+parseInt(_0x2b6001(0x277))/0x7*(parseInt(_0x2b6001(0x21c))/0x8)+parseInt(_0x2b6001(0x200))/0x9*(-parseInt(_0x2b6001(0x1ff))/0xa)+parseInt(_0x2b6001(0x25b))/0xb*(parseInt(_0x2b6001(0x225))/0xc);if(_0x27041b===_0x296caf)break;else _0x7c39de['push'](_0x7c39de['shift']());}catch(_0x4b72f6){_0x7c39de['push'](_0x7c39de['shift']());}}}(a130_0xf1a9,0x9c8a8));function a130_0x558b(_0x429f33,_0x266938){_0x429f33=_0x429f33-0x1f4;const _0xf1a984=a130_0xf1a9();let _0x558b17=_0xf1a984[_0x429f33];return _0x558b17;}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':a130_0x29fb78(0x24c),'new-window':a130_0x29fb78(0x261)};export function validateExternalMenuUrl(_0x390ab7){const _0x5a1d2c=a130_0x29fb78,_0x342c43=_0x390ab7[_0x5a1d2c(0x26f)]();let _0x34dc6c;try{_0x34dc6c=new URL(_0x342c43);}catch{throw menuError(_0x5a1d2c(0x216),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x5a1d2c(0x1f6));}if(_0x34dc6c['protocol']!==_0x5a1d2c(0x23f))throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x5a1d2c(0x1fd));if(_0x34dc6c[_0x5a1d2c(0x244)]||_0x34dc6c[_0x5a1d2c(0x21a)])throw menuError('menu_url_credentials_forbidden',_0x5a1d2c(0x1f7),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x342c43;}export const menuExternalLinkCreate={'service':'menu','command':a130_0x29fb78(0x22b),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a130_0x29fb78(0x218),'structuredErrors':!![],'flags':[{'name':a130_0x29fb78(0x276),'type':'string','required':!![],'description':'Menu\x20label'},{'name':a130_0x29fb78(0x265),'type':a130_0x29fb78(0x274),'required':!![],'enum':[a130_0x29fb78(0x252),'new-window'],'description':a130_0x29fb78(0x24f)},{'name':a130_0x29fb78(0x275),'type':'string','required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a130_0x29fb78(0x1fe),'type':a130_0x29fb78(0x240),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x187d2d){validateAddInput(_0x187d2d);},async 'dryRun'(_0x27946a){const _0x3e9f73=a130_0x29fb78;validateAddInput(_0x27946a);const {plan:_0xcb0e38}=await buildSafeAddPlan(_0x27946a,!![]),_0x121be1=_0xcb0e38[_0x3e9f73(0x205)],_0x5d9852=createBody(_0x121be1);return menuDryRunResult(_0xcb0e38,{'method':_0x3e9f73(0x234),'url':_0x3e9f73(0x237),'body':_0x5d9852,'description':_0x3e9f73(0x263)+JSON[_0x3e9f73(0x210)](_0x121be1[_0x3e9f73(0x276)])+_0x3e9f73(0x21d)+_0x27946a[_0x3e9f73(0x25c)]('open-mode')+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x3455e0){const _0x510c39=a130_0x29fb78;validateAddInput(_0x3455e0);const _0x4525aa=await buildSafeAddPlan(_0x3455e0,![]),{plan:_0x52b4ab,snapshot:_0x5bd7c1}=_0x4525aa,_0x5075ba=_0x52b4ab[_0x510c39(0x205)],_0x440f15=buildMenuLookupCommand(_0x3455e0[_0x510c39(0x262)]);await recheckAddSnapshot(_0x3455e0,_0x52b4ab);let _0x574d3b;try{_0x574d3b=await createMenuEntity(_0x3455e0[_0x510c39(0x262)],_0x3455e0[_0x510c39(0x228)],createBody(_0x5075ba));}catch(_0x266f29){const _0x2c77e6=mapMenuApiError(_0x266f29,_0x510c39(0x224));if(!isMenuResponseLoss(_0x266f29)||_0x2c77e6[_0x510c39(0x25f)]===_0x510c39(0x206))throw externalLinkCreateFailure(_0x2c77e6,_0x52b4ab,{'stage':_0x510c39(0x1f9),'failed':{},'verification':{'status':_0x510c39(0x219),'lookupCommand':_0x440f15}});return recoverAfterResponseLoss(_0x3455e0,_0x4525aa,_0x440f15);}const _0x5962c1=Number(_0x574d3b?.['id']),_0x3d19f9=typeof _0x574d3b?.[_0x510c39(0x27a)]==='string'?_0x574d3b[_0x510c39(0x27a)]:'';if(!Number[_0x510c39(0x26a)](_0x5962c1)||_0x5962c1<=0x0||!_0x3d19f9['trim']()){const _0x56bc34=menuError(_0x510c39(0x245),_0x510c39(0x23b),_0x510c39(0x25d)+_0x440f15+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x56bc34,_0x52b4ab,{'stage':'create-response-validation','succeeded':Number['isSafeInteger'](_0x5962c1)&&_0x5962c1>0x0?[{'id':_0x5962c1,'created':!![]}]:[],'failed':{'createdId':Number[_0x510c39(0x26a)](_0x5962c1)?_0x5962c1:null,'generatedPathConfirmed':Boolean(_0x3d19f9[_0x510c39(0x26f)]())},'warnings':[_0x510c39(0x22c)],'after':Number[_0x510c39(0x26a)](_0x5962c1)&&_0x5962c1>0x0?{..._0x5075ba,'id':_0x5962c1,'path':_0x3d19f9}:_0x5075ba,'verification':{'status':_0x510c39(0x219),'lookupCommand':_0x440f15,...Number[_0x510c39(0x26a)](_0x5962c1)&&_0x5962c1>0x0?{'targetId':_0x5962c1}:{}}});}const _0x3e2cb5=await readAndVerifyCreatedMenu({'appCode':_0x3455e0['appCode'],'cookie':_0x3455e0[_0x510c39(0x228)],'plan':_0x52b4ab,'afterPlan':_0x5075ba,'createdId':_0x5962c1,'expectedPath':_0x3d19f9,'lookupCommand':_0x440f15,'recovered':![]});return creationSuccess(_0x52b4ab,_0x3e2cb5[_0x510c39(0x1f8)],_0x3e2cb5[_0x510c39(0x27e)],![]);}};function validateAddInput(_0x5136fb){const _0x134ed9=a130_0x29fb78;if(!_0x5136fb['str'](_0x134ed9(0x276))[_0x134ed9(0x26f)]())throw CliErrors[_0x134ed9(0x26e)](_0x134ed9(0x276));resolveExternalMenuType(_0x5136fb),validateExternalMenuUrl(_0x5136fb[_0x134ed9(0x25c)](_0x134ed9(0x275))),parseParentId(_0x5136fb,_0x134ed9(0x26d)),validateSort(_0x5136fb);}function resolveExternalMenuType(_0x377f2a){const _0x5c8793=a130_0x29fb78,_0x5f617=_0x377f2a[_0x5c8793(0x25c)](_0x5c8793(0x265))[_0x5c8793(0x26f)]();if(!_0x5f617)throw CliErrors['flagMissing'](_0x5c8793(0x265));const _0x5bfd1b=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x5f617];if(!_0x5bfd1b)throw menuError(_0x5c8793(0x26b),_0x5c8793(0x243),_0x5c8793(0x24d));return _0x5bfd1b;}async function buildAddPlan(_0x54346a,_0x2e4de7){const _0x381ccc=a130_0x29fb78,_0x53ba91=await fetchMutationSnapshot(_0x54346a,'create\x20external\x20menu'),_0x3ac0f6=parseParentId(_0x54346a,_0x381ccc(0x26d))??null;if(_0x3ac0f6!=null)requireFolder(_0x53ba91,_0x3ac0f6);const _0x2f2741=validateSort(_0x54346a),_0x569164=_0x2f2741??nextSiblingSort(_0x53ba91,_0x3ac0f6,_0x381ccc(0x270)),_0x209beb=_0x54346a['str']('label')[_0x381ccc(0x26f)](),_0x4a60dc=resolveExternalMenuType(_0x54346a),_0x3009c6=validateExternalMenuUrl(_0x54346a[_0x381ccc(0x25c)]('url')),_0x2cc944=Object[_0x381ccc(0x1f4)][_0x381ccc(0x23e)]['call'](_0x54346a[_0x381ccc(0x27b)],_0x381ccc(0x1fe))?_0x54346a[_0x381ccc(0x233)]('visible'):!![],_0x2aeaf4={'id':null,'parentId':_0x3ac0f6,'label':_0x209beb,'path':'<platform-generated>','url':_0x3009c6,'type':_0x4a60dc,'visible':_0x2cc944,'sort':_0x569164},_0x5de102=buildMenuLookupCommand(_0x54346a['appCode']),_0x3f1e72=mutationResult({'operation':'add','selector':{'parentId':_0x3ac0f6,'type':_0x4a60dc,'label':_0x209beb,'url':_0x3009c6},'before':null,'after':_0x2aeaf4,'dryRun':_0x2e4de7,'backend':[{'method':_0x381ccc(0x234),'path':_0x381ccc(0x237)}],'plannedActions':[{'stage':'create-menu','method':_0x381ccc(0x234),'path':_0x381ccc(0x237),'body':createBody(_0x2aeaf4)}],'snapshotHash':_0x53ba91[_0x381ccc(0x203)],'warnings':[_0x381ccc(0x22a)],'verification':{'lookupCommand':_0x5de102}});return{'plan':_0x3f1e72,'snapshot':_0x53ba91};}async function buildSafeAddPlan(_0x2ab025,_0x50cc79){try{return await buildAddPlan(_0x2ab025,_0x50cc79);}catch(_0x2f0bc3){throw safeMenuAddError(_0x2f0bc3);}}async function recheckAddSnapshot(_0x4e761c,_0x372bef){const _0xd0d30d=a130_0x29fb78;try{await recheckMutationSnapshot(_0x4e761c,_0x372bef,_0xd0d30d(0x224));}catch(_0x582545){const _0x2a42f7=getFailureRecord(_0x582545);throw externalLinkCreateFailure(_0x582545,_0x372bef,{'stage':_0xd0d30d(0x221),'failed':{..._0x2a42f7?.[_0xd0d30d(0x1fa)]?{'expectedSnapshotHash':_0x2a42f7[_0xd0d30d(0x1fa)]}:{},..._0x2a42f7?.[_0xd0d30d(0x26c)]?{'currentSnapshotHash':_0x2a42f7[_0xd0d30d(0x26c)]}:{}}});}}function createBody(_0x2a2b7b){const _0x58e170=a130_0x29fb78;return{'parentId':toApiParentId(_0x2a2b7b[_0x58e170(0x24b)]),'label':String(_0x2a2b7b['label']),'type':String(_0x2a2b7b[_0x58e170(0x24a)]),'url':String(_0x2a2b7b['url']),'visible':Boolean(_0x2a2b7b[_0x58e170(0x1fe)]),'sort':Number(_0x2a2b7b[_0x58e170(0x231)]),'extend':{}};}function buildMenuLookupCommand(_0xcbf0f8){const _0x14ced7=a130_0x29fb78,_0x4e0ea8='\x27'+_0xcbf0f8[_0x14ced7(0x256)](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x4e0ea8+_0x14ced7(0x236);}async function recoverAfterResponseLoss(_0x203920,_0x104660,_0x4c1c6d){const _0x2b3106=a130_0x29fb78,{plan:_0x5c9117,snapshot:_0x2a0dc1}=_0x104660,_0x4e0e49=_0x5c9117[_0x2b3106(0x205)];let _0x1243c1;try{_0x1243c1=await fetchMenuSnapshot(_0x203920[_0x2b3106(0x262)],_0x203920[_0x2b3106(0x228)]);}catch(_0x1b4efd){throw recoveryRequiredFailure(_0x5c9117,_0x4c1c6d,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x295bc5=_0x1243c1[_0x2b3106(0x250)]['filter'](_0x5d4e91=>_0x5d4e91[_0x2b3106(0x24b)]===_0x4e0e49['parentId']&&_0x5d4e91[_0x2b3106(0x24a)]===_0x4e0e49['type']&&_0x5d4e91[_0x2b3106(0x276)]===_0x4e0e49[_0x2b3106(0x276)]&&_0x5d4e91[_0x2b3106(0x275)]===_0x4e0e49[_0x2b3106(0x275)]),_0x3637ae=_0x295bc5[_0x2b3106(0x249)](_0x193ac4=>!_0x2a0dc1[_0x2b3106(0x267)][_0x2b3106(0x278)](_0x193ac4['id'])),_0x2139b3=_0x295bc5[_0x2b3106(0x249)](_0x48998c=>_0x2a0dc1[_0x2b3106(0x267)]['has'](_0x48998c['id']));if(_0x295bc5['length']!==0x1||_0x3637ae['length']!==0x1)throw recoveryRequiredFailure(_0x5c9117,_0x4c1c6d,{'matchCount':_0x295bc5[_0x2b3106(0x260)],'newMatchCount':_0x3637ae['length'],'preexistingMatchCount':_0x2139b3['length']});const _0x58702d=_0x3637ae[0x0];try{verifyCreatedFact(_0x58702d,_0x58702d['id'],_0x4e0e49,null);}catch(_0x14cbbe){const _0x69f1ab=_0x14cbbe instanceof Error&&'code'in _0x14cbbe?_0x14cbbe:menuError(_0x2b3106(0x23a),_0x2b3106(0x238)+_0x58702d['id']+_0x2b3106(0x211),_0x2b3106(0x25d)+_0x4c1c6d+_0x2b3106(0x209));throw externalLinkCreateFailure(_0x69f1ab,_0x5c9117,{'stage':'verification','succeeded':[{'id':_0x58702d['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x58702d['id'],'finalFactsConfirmed':![]},'after':_0x58702d,'warnings':['Menu\x20'+_0x58702d['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x2b3106(0x219),'targetId':_0x58702d['id'],'recovered':!![],'lookupCommand':_0x4c1c6d}});}return creationSuccess(_0x5c9117,_0x1243c1,_0x58702d,!![]);}function recoveryRequiredFailure(_0x3d809b,_0x4681d4,_0x237e2e){const _0x42022b=a130_0x29fb78,_0x2bfef9=menuError('menu_create_recovery_required',_0x42022b(0x258),'Run\x20'+_0x4681d4+_0x42022b(0x20e));return externalLinkCreateFailure(_0x2bfef9,_0x3d809b,{'stage':_0x42022b(0x269),'failed':_0x237e2e,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x42022b(0x219),..._0x237e2e,'lookupCommand':_0x4681d4}});}async function readAndVerifyCreatedMenu(_0x2c15cb){const _0x31b7d7=a130_0x29fb78;let _0x3dda24;try{_0x3dda24=await fetchMenuSnapshot(_0x2c15cb[_0x31b7d7(0x262)],_0x2c15cb[_0x31b7d7(0x228)]);}catch(_0x2e3ac0){const _0x3930d6=menuError(_0x31b7d7(0x23a),_0x31b7d7(0x259)+_0x2c15cb[_0x31b7d7(0x271)]+'\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Run\x20'+_0x2c15cb[_0x31b7d7(0x229)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3930d6,_0x2c15cb[_0x31b7d7(0x227)],{'stage':_0x31b7d7(0x1fb),'succeeded':[{'id':_0x2c15cb['createdId'],'created':!![]}],'failed':{'id':_0x2c15cb[_0x31b7d7(0x271)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x2c15cb[_0x31b7d7(0x242)],'id':_0x2c15cb[_0x31b7d7(0x271)],'path':_0x2c15cb[_0x31b7d7(0x217)]},'warnings':[_0x31b7d7(0x259)+_0x2c15cb['createdId']+_0x31b7d7(0x202)],'verification':{'status':_0x31b7d7(0x219),'targetId':_0x2c15cb['createdId'],'lookupCommand':_0x2c15cb['lookupCommand']}});}const _0x2c6c59=_0x3dda24[_0x31b7d7(0x267)][_0x31b7d7(0x27c)](_0x2c15cb[_0x31b7d7(0x271)]);try{if(!_0x2c6c59)throw menuError('menu_verification_failed',_0x31b7d7(0x25e)+_0x2c15cb['createdId']+_0x31b7d7(0x251),_0x31b7d7(0x25d)+_0x2c15cb[_0x31b7d7(0x229)]+_0x31b7d7(0x247));verifyCreatedFact(_0x2c6c59,_0x2c15cb[_0x31b7d7(0x271)],_0x2c15cb[_0x31b7d7(0x242)],_0x2c15cb[_0x31b7d7(0x217)]);}catch(_0x5db534){const _0x53888f=_0x5db534 instanceof Error&&_0x31b7d7(0x25f)in _0x5db534?_0x5db534:menuError(_0x31b7d7(0x23a),_0x31b7d7(0x25e)+_0x2c15cb[_0x31b7d7(0x271)]+_0x31b7d7(0x22e),_0x31b7d7(0x25d)+_0x2c15cb['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x53888f,_0x2c15cb['plan'],{'stage':_0x31b7d7(0x1fb),'succeeded':[{'id':_0x2c15cb[_0x31b7d7(0x271)],'created':!![]}],'failed':{'id':_0x2c15cb[_0x31b7d7(0x271)],'finalFactsConfirmed':![]},'after':_0x2c6c59??{..._0x2c15cb[_0x31b7d7(0x242)],'id':_0x2c15cb[_0x31b7d7(0x271)],'path':_0x2c15cb[_0x31b7d7(0x217)]},'warnings':[_0x31b7d7(0x259)+_0x2c15cb[_0x31b7d7(0x271)]+_0x31b7d7(0x23c)],'verification':{'status':_0x31b7d7(0x219),'targetId':_0x2c15cb[_0x31b7d7(0x271)],'recovered':_0x2c15cb[_0x31b7d7(0x24e)],'lookupCommand':_0x2c15cb[_0x31b7d7(0x229)]}});}return{'snapshot':_0x3dda24,'fact':_0x2c6c59};}function verifyCreatedFact(_0x45008e,_0x22774e,_0x6f61ab,_0x23c1fd){const _0x4d39e1=a130_0x29fb78;if(!Number[_0x4d39e1(0x26a)](_0x45008e['id'])||_0x45008e['id']<=0x0||_0x45008e['id']!==_0x22774e)throw menuError(_0x4d39e1(0x23a),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x4d39e1(0x222));const _0x95ef86=[[_0x4d39e1(0x220),_0x45008e[_0x4d39e1(0x24b)],_0x6f61ab[_0x4d39e1(0x24b)]],[_0x4d39e1(0x24a),_0x45008e[_0x4d39e1(0x24a)],_0x6f61ab['type']],[_0x4d39e1(0x276),_0x45008e[_0x4d39e1(0x276)],_0x6f61ab[_0x4d39e1(0x276)]],[_0x4d39e1(0x27d),_0x45008e[_0x4d39e1(0x275)],_0x6f61ab[_0x4d39e1(0x275)]],[_0x4d39e1(0x255),_0x45008e[_0x4d39e1(0x1fe)],_0x6f61ab[_0x4d39e1(0x1fe)]],[_0x4d39e1(0x231),_0x45008e[_0x4d39e1(0x231)],_0x6f61ab['sort']]];for(const [_0x5281ae,_0x37e397,_0x88c714]of _0x95ef86){if(_0x37e397!==_0x88c714)throw menuError('menu_verification_failed',_0x4d39e1(0x25e)+_0x45008e['id']+'\x20has\x20an\x20unexpected\x20'+_0x5281ae+'.',_0x4d39e1(0x214));}if(!_0x45008e[_0x4d39e1(0x27a)][_0x4d39e1(0x26f)]()||_0x23c1fd!==null&&_0x45008e[_0x4d39e1(0x27a)]!==_0x23c1fd)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x45008e['id']+_0x4d39e1(0x23d),_0x4d39e1(0x214));}function creationSuccess(_0x33f0f8,_0x1b2394,_0x4d73ff,_0x3e5055){const _0x415d20=a130_0x29fb78,_0x53a624=mutationResult({..._0x33f0f8,'after':_0x4d73ff,'dryRun':![],'succeeded':[{'id':_0x4d73ff['id'],'created':!![],'recovered':_0x3e5055}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x1b2394[_0x415d20(0x203)],'targetId':_0x4d73ff['id'],'recovered':_0x3e5055,'path':_0x4d73ff[_0x415d20(0x27a)]}});return{'ok':!![],'message':_0x3e5055?_0x415d20(0x204)+_0x4d73ff['id']+_0x415d20(0x212):_0x415d20(0x21e)+_0x4d73ff['id']+'.','data':{..._0x53a624,'recovered':_0x3e5055}};}function externalLinkCreateFailure(_0x2c48a2,_0x112d6b,_0x47d8e8){const _0x40bab6=a130_0x29fb78;return menuFailure(safeMenuAddError(_0x2c48a2),redactFailurePlan(_0x112d6b),{..._0x47d8e8,'succeeded':_0x47d8e8[_0x40bab6(0x272)]?.[_0x40bab6(0x215)](redactFailureRecord),'failed':_0x47d8e8[_0x40bab6(0x219)]?redactFailureRecord(_0x47d8e8[_0x40bab6(0x219)]):undefined,'verification':_0x47d8e8[_0x40bab6(0x1fb)]?redactFailureRecord(_0x47d8e8[_0x40bab6(0x1fb)]):undefined,'after':_0x47d8e8['after']===undefined?undefined:redactFailureValue(_0x47d8e8[_0x40bab6(0x205)])});}function redactFailurePlan(_0x17a771){const _0x32edce=a130_0x29fb78;return{..._0x17a771,'selector':redactFailureRecord(_0x17a771[_0x32edce(0x20b)]),'before':redactFailureValue(_0x17a771[_0x32edce(0x20a)]),'after':redactFailureValue(_0x17a771[_0x32edce(0x205)]),'plannedActions':_0x17a771[_0x32edce(0x1fc)]?.[_0x32edce(0x215)](_0x3651c0=>({..._0x3651c0,'body':redactFailureRecord(_0x3651c0[_0x32edce(0x20c)])})),'succeeded':_0x17a771[_0x32edce(0x272)]['map'](redactFailureRecord),'failed':_0x17a771[_0x32edce(0x219)][_0x32edce(0x215)](redactFailureRecord),'verification':_0x17a771[_0x32edce(0x1fb)]?redactFailureRecord(_0x17a771[_0x32edce(0x1fb)]):undefined};}function redactFailureRecord(_0x5052ac){return redactFailureValue(_0x5052ac);}function redactFailureValue(_0x6be1ab,_0x4461f0=''){const _0x3c1558=a130_0x29fb78,_0x57d325=_0x4461f0['toLowerCase']()[_0x3c1558(0x256)](/[^a-z0-9]/g,'');if([_0x3c1558(0x223),_0x3c1558(0x273),_0x3c1558(0x246),'rawerror']['includes'](_0x57d325))return _0x3c1558(0x264);if(Array['isArray'](_0x6be1ab))return _0x6be1ab[_0x3c1558(0x215)](_0x57bdbd=>redactFailureValue(_0x57bdbd));if(_0x6be1ab&&typeof _0x6be1ab===_0x3c1558(0x27f))return Object[_0x3c1558(0x22d)](Object[_0x3c1558(0x22f)](_0x6be1ab)[_0x3c1558(0x215)](([_0x17b06c,_0x52a47a])=>[_0x17b06c,redactFailureValue(_0x52a47a,_0x17b06c)]));return _0x6be1ab;}function a130_0xf1a9(){const _0x526fd6=['verification','plannedActions','Provide\x20an\x20HTTPS\x20URL.','visible','10CUyOYI','8718525vnfEhr','1494kBtVhZ','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','hash','Recovered\x20created\x20external\x20menu\x20','after','menu_permission_denied','External\x20menu\x20creation\x20failed.','1299cbpWKK','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','before','selector','body','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','isArray','stringify','\x20could\x20not\x20be\x20verified.','\x20after\x20response\x20loss.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','menu_url_invalid','expectedPath','write','failed','password','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','2228080kNFYMa','\x20with\x20','Created\x20external\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','parent','pre-write-recheck','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','cause','create\x20external\x20menu','348eMMucj','menu_state_drift','plan','cookie','lookupCommand','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','external-link-create','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','fromEntries','\x20failed\x20final\x20verification.','entries','3CMKLuV','sort','menu_create_recovery_required','bool','POST','menu_parent_not_folder','\x20--format\x20compress','/smartapi/menu/create','Recovered\x20menu\x20','6268780UpKXPA','menu_verification_failed','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','\x20has\x20an\x20unexpected\x20generated\x20path.','hasOwnProperty','https:','boolean','346844EUXsIb','afterPlan','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','username','menu_create_response_invalid','readbackerror','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_sort_invalid','filter','type','parentId','iframe','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','recovered','How\x20to\x20open\x20the\x20external\x20website','menus','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','embedded','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','visibility','replace','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Menu\x20','6740892xxTYTi','685135kEWlCY','str','Run\x20','Created\x20menu\x20','code','length','link','appCode','Would\x20create\x20external\x20website\x20link\x20menu\x20','<redacted>','open-mode','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','byId','data','create-recovery','isSafeInteger','menu_open_mode_invalid','currentSnapshotHash','parent-id','flagMissing','trim','menu','createdId','succeeded','causemessage','string','url','label','14NWTSXP','has','menu_mutation_failed','path','rawFlags','get','URL','fact','object','prototype','menu_not_found','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','snapshot','create','expectedSnapshotHash'];a130_0xf1a9=function(){return _0x526fd6;};return a130_0xf1a9();}function safeMenuAddError(_0x51a799){const _0x4aff2c=a130_0x29fb78,_0x128416=_0x51a799 instanceof CliError?_0x51a799[_0x4aff2c(0x25f)]:_0x4aff2c(0x279);switch(_0x128416){case _0x4aff2c(0x226):return menuError(_0x128416,_0x4aff2c(0x20d),_0x4aff2c(0x257));case _0x4aff2c(0x206):return menuError(_0x128416,_0x4aff2c(0x21b),_0x4aff2c(0x213));case _0x4aff2c(0x245):return menuError(_0x128416,_0x4aff2c(0x21f),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x4aff2c(0x23a):return menuError(_0x128416,_0x4aff2c(0x254),_0x4aff2c(0x253));case _0x4aff2c(0x232):return menuError(_0x128416,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x4aff2c(0x279):case _0x4aff2c(0x1f5):case _0x4aff2c(0x235):case _0x4aff2c(0x248):case'menu_sort_overflow':return menuError(_0x128416,_0x4aff2c(0x207),_0x4aff2c(0x266));default:return menuError('menu_mutation_failed',_0x4aff2c(0x207),_0x4aff2c(0x266));}}function getFailureRecord(_0x486f77){const _0xbc676c=a130_0x29fb78;if(!(_0x486f77 instanceof Error)||!(_0xbc676c(0x268)in _0x486f77))return undefined;const _0x4ded17=_0x486f77[_0xbc676c(0x268)];if(!_0x4ded17||typeof _0x4ded17!==_0xbc676c(0x27f))return undefined;const _0x24a076=_0x4ded17['failed'];if(!Array[_0xbc676c(0x20f)](_0x24a076)||!_0x24a076[0x0]||typeof _0x24a076[0x0]!==_0xbc676c(0x27f))return undefined;return _0x24a076[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a131_0x34b0(){const _0x599ccf=['743401LBLJjd','code','\x27\x5c\x27\x27','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','sort','menu_update_recovery_required','\x20already\x20matches\x20the\x20requested\x20URL.','\x20has\x20an\x20empty\x20platform\x20path.','Updated\x20external\x20URL\x20for\x20menu\x20','string','POST','iframe','\x20URL\x20update\x20did\x20not\x20take\x20effect.','update\x20external\x20menu\x20URL','update-external-link-url','Menu\x20','visible','label','8467380OodUGB','trim','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','link','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','cookie','childrenCount','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','688GGMPAG','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','parentId','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','write','verify\x20external\x20menu\x20URL\x20update','menu_state_drift','menu_external_link_not_leaf','hash','verification','\x22,\x20not\x20iframe\x20or\x20link.','\x20has\x20','failed','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','/smartapi/menu/update','605124hlzQMr','unknown','Response\x20was\x20lost\x20and\x20menu\x20','external-link-update','update-recovery','3213055pUrmeU','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','\x20direct\x20child\x20menu(s).','2020476adDnLt','update','expect-url','7427AJvoqy','expect-parent-id','url','path','flagMissing','menu_external_link_type_required','type','str','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','menu','4jOyDVy','2308482ScpuTt',',\x20current\x20','appCode','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','2XJdDSy','Run\x20','\x20changed\x20during\x20the\x20URL-only\x20update.','byId','plan','after','New\x20external\x20HTTPS\x20URL','body','replace','rabetbase\x20menu\x20list\x20--appcode\x20','menu_permission_denied'];a131_0x34b0=function(){return _0x599ccf;};return a131_0x34b0();}const a131_0xcfc2e0=a131_0x15d6;(function(_0x154eb2,_0x2107b3){const _0x4f14f8=a131_0x15d6,_0x2e7924=_0x154eb2();while(!![]){try{const _0x22bfbe=-parseInt(_0x4f14f8(0x1d3))/0x1*(parseInt(_0x4f14f8(0x217))/0x2)+-parseInt(_0x4f14f8(0x205))/0x3*(-parseInt(_0x4f14f8(0x212))/0x4)+-parseInt(_0x4f14f8(0x202))/0x5+parseInt(_0x4f14f8(0x213))/0x6+-parseInt(_0x4f14f8(0x208))/0x7*(-parseInt(_0x4f14f8(0x1ed))/0x8)+parseInt(_0x4f14f8(0x1fd))/0x9+parseInt(_0x4f14f8(0x1e5))/0xa;if(_0x22bfbe===_0x2107b3)break;else _0x2e7924['push'](_0x2e7924['shift']());}catch(_0x371a95){_0x2e7924['push'](_0x2e7924['shift']());}}}(a131_0x34b0,0xa5647));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';const BACKEND=[{'method':a131_0xcfc2e0(0x1dd),'path':a131_0xcfc2e0(0x1fc)}];export const menuExternalLinkUpdate={'service':a131_0xcfc2e0(0x211),'command':a131_0xcfc2e0(0x200),'description':a131_0xcfc2e0(0x1e7),'risk':a131_0xcfc2e0(0x1f2),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a131_0xcfc2e0(0x1dc),'required':!![],'description':a131_0xcfc2e0(0x21d)},{'name':a131_0xcfc2e0(0x207),'type':a131_0xcfc2e0(0x1dc),'required':!![],'description':a131_0xcfc2e0(0x203)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xc30e27){validateInput(_0xc30e27);},async 'dryRun'(_0x5739ae){const _0x114c2a=a131_0xcfc2e0;validateInput(_0x5739ae);const _0x364b33=await buildPlan(_0x5739ae,!![]);return menuDryRunResult(_0x364b33[_0x114c2a(0x21b)],{'method':_0x114c2a(0x1dd),'url':'/smartapi/menu/update','body':_0x364b33[_0x114c2a(0x21e)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x364b33[_0x114c2a(0x21e)]['id']+'.'});},async 'execute'(_0x168fe1){const _0x3827c8=a131_0xcfc2e0;validateInput(_0x168fe1);const _0x2352b9=await buildPlan(_0x168fe1,![]),{plan:_0x3d1c8b,body:_0x279ec1,before:_0x7f2949,noChanges:_0x3ae83c}=_0x2352b9,_0xdb54c6=_0x279ec1['id'];if(_0x3ae83c)return updateSuccess(_0x3d1c8b,_0x2352b9['snapshot'],_0x7f2949,!![],![]);await recheckMutationSnapshot(_0x168fe1,_0x3d1c8b,_0x3827c8(0x1e0),_0xdb54c6);try{await updateMenuEntity(_0x168fe1[_0x3827c8(0x215)],_0x168fe1['cookie'],{'id':_0x279ec1['id'],'url':_0x279ec1[_0x3827c8(0x20a)]});}catch(_0x306f27){const _0x7159bf=mapMenuApiError(_0x306f27,'update\x20external\x20menu\x20URL',_0xdb54c6);if(isMenuResponseLoss(_0x306f27)&&_0x7159bf[_0x3827c8(0x1d4)]!==_0x3827c8(0x1d2))return recoverAfterResponseLoss(_0x168fe1,_0x2352b9);throw menuFailure(_0x7159bf,_0x3d1c8b,{'stage':_0x3827c8(0x206),'failed':{'id':_0xdb54c6},'warnings':[_0x3827c8(0x1e9)],'verification':{'status':_0x3827c8(0x1fa),'targetId':_0xdb54c6,'lookupCommand':buildLookupCommand(_0x168fe1[_0x3827c8(0x215)])}});}let _0x157350,_0xcc791a;try{_0x157350=await fetchMenuSnapshot(_0x168fe1[_0x3827c8(0x215)],_0x168fe1['cookie']),_0xcc791a=requireMenu(_0x157350,_0xdb54c6),verifyUpdatedFact(_0x7f2949,_0xcc791a,_0x279ec1[_0x3827c8(0x20a)]);}catch(_0x45dd5b){const _0x2bde91=describeMenuErrorCause(_0x45dd5b,_0x3827c8(0x1f3),_0xdb54c6),_0x3c57ef=asVerificationError(_0x45dd5b,'Update\x20request\x20for\x20menu\x20'+_0xdb54c6+_0x3827c8(0x1d6));throw menuFailure(_0x3c57ef,_0x3d1c8b,{'stage':_0x3827c8(0x1f7),'succeeded':[{'id':_0xdb54c6,'updateRequested':!![]}],'failed':{'id':_0xdb54c6,'requestedStateConfirmed':![],..._0x2bde91},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x3827c8(0x1fa),'targetId':_0xdb54c6,'lookupCommand':buildLookupCommand(_0x168fe1[_0x3827c8(0x215)])}});}return updateSuccess(_0x3d1c8b,_0x157350,_0xcc791a,![],![]);}};function validateInput(_0x5b4ed9){const _0x2a1d10=a131_0xcfc2e0;validateExactId(_0x5b4ed9),requiredUrl(_0x5b4ed9,_0x2a1d10(0x20a)),requiredExpectedUrl(_0x5b4ed9),parseParentId(_0x5b4ed9,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x48d6aa,_0x2ab3f5){const _0x168d6b=a131_0xcfc2e0;if(!hasFlag(_0x48d6aa,_0x2ab3f5)||!_0x48d6aa[_0x168d6b(0x20f)](_0x2ab3f5)['trim']())throw CliErrors[_0x168d6b(0x20c)](_0x2ab3f5);return validateExternalMenuUrl(_0x48d6aa['str'](_0x2ab3f5));}function a131_0x15d6(_0x575bc0,_0x3c1531){_0x575bc0=_0x575bc0-0x1d0;const _0x34b0f2=a131_0x34b0();let _0x15d622=_0x34b0f2[_0x575bc0];return _0x15d622;}function requiredExpectedUrl(_0x15798d){const _0x3da9d8=a131_0xcfc2e0;if(!hasFlag(_0x15798d,_0x3da9d8(0x207))||!_0x15798d[_0x3da9d8(0x20f)]('expect-url')[_0x3da9d8(0x1e6)]())throw CliErrors[_0x3da9d8(0x20c)](_0x3da9d8(0x207));return _0x15798d[_0x3da9d8(0x20f)]('expect-url')[_0x3da9d8(0x1e6)]();}async function buildPlan(_0x1517ab,_0xd2bc29){const _0x34adeb=a131_0xcfc2e0,_0x3bef6e=validateExactId(_0x1517ab),_0x491c6c=requiredUrl(_0x1517ab,_0x34adeb(0x20a)),_0x5dab5e=requiredExpectedUrl(_0x1517ab),_0x4c4704=parseParentId(_0x1517ab,_0x34adeb(0x209),{'required':!![]}),_0x774316=await fetchMutationSnapshot(_0x1517ab,_0x34adeb(0x1e0),_0x3bef6e),_0xcd8b03=requireMenu(_0x774316,_0x3bef6e);assertExternalLinkLeaf(_0xcd8b03);if(_0xcd8b03[_0x34adeb(0x1f0)]!==_0x4c4704)throw menuError(_0x34adeb(0x1f4),_0x34adeb(0x1e2)+_0x3bef6e+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x4c4704)+_0x34adeb(0x214)+formatParent(_0xcd8b03[_0x34adeb(0x1f0)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x5ccfab=_0xcd8b03['url']===_0x491c6c;if(!_0x5ccfab&&_0xcd8b03[_0x34adeb(0x20a)]!==_0x5dab5e)throw menuError(_0x34adeb(0x1f4),_0x34adeb(0x1e2)+_0x3bef6e+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x34adeb(0x1fb));const _0x179b9a={'id':_0x3bef6e,'appCode':_0x1517ab[_0x34adeb(0x215)],'url':_0x491c6c},_0x1f555e={..._0xcd8b03,'url':_0x491c6c};return{'body':_0x179b9a,'before':_0xcd8b03,'noChanges':_0x5ccfab,'snapshot':_0x774316,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x3bef6e},'before':_0xcd8b03,'after':_0x1f555e,'dryRun':_0xd2bc29,'backend':[...BACKEND],'plannedActions':_0x5ccfab?[]:[{'stage':_0x34adeb(0x1e1),'method':_0x34adeb(0x1dd),'path':'/smartapi/menu/update','body':_0x179b9a}],'snapshotHash':_0x774316[_0x34adeb(0x1f6)],'warnings':_0x5ccfab?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x5ccc56){const _0x1a9b6a=a131_0xcfc2e0;if(_0x5ccc56['type']!==_0x1a9b6a(0x1de)&&_0x5ccc56[_0x1a9b6a(0x20e)]!==_0x1a9b6a(0x1e8))throw menuError(_0x1a9b6a(0x20d),'Menu\x20'+_0x5ccc56['id']+'\x20is\x20type\x20\x22'+(_0x5ccc56['type']||_0x1a9b6a(0x1fe))+_0x1a9b6a(0x1f8),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x5ccc56[_0x1a9b6a(0x1eb)]!==0x0)throw menuError(_0x1a9b6a(0x1f5),_0x1a9b6a(0x1e2)+_0x5ccc56['id']+_0x1a9b6a(0x1f9)+_0x5ccc56[_0x1a9b6a(0x1eb)]+_0x1a9b6a(0x204),_0x1a9b6a(0x1f1));if(!_0x5ccc56[_0x1a9b6a(0x20b)][_0x1a9b6a(0x1e6)]())throw menuError('menu_external_link_path_missing',_0x1a9b6a(0x1e2)+_0x5ccc56['id']+_0x1a9b6a(0x1da),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x4631b8,_0x387e00,_0xf6d307){const _0x2ff0d2=a131_0xcfc2e0;assertExternalLinkLeaf(_0x387e00);const _0x194a98=[['id',_0x387e00['id'],_0x4631b8['id']],['label',_0x387e00[_0x2ff0d2(0x1e4)],_0x4631b8[_0x2ff0d2(0x1e4)]],[_0x2ff0d2(0x20e),_0x387e00[_0x2ff0d2(0x20e)],_0x4631b8[_0x2ff0d2(0x20e)]],[_0x2ff0d2(0x20b),_0x387e00[_0x2ff0d2(0x20b)],_0x4631b8[_0x2ff0d2(0x20b)]],[_0x2ff0d2(0x1f0),_0x387e00[_0x2ff0d2(0x1f0)],_0x4631b8[_0x2ff0d2(0x1f0)]],[_0x2ff0d2(0x1d7),_0x387e00['sort'],_0x4631b8[_0x2ff0d2(0x1d7)]],[_0x2ff0d2(0x1e3),_0x387e00[_0x2ff0d2(0x1e3)],_0x4631b8[_0x2ff0d2(0x1e3)]]];for(const [_0x4e9ac7,_0x5b7d92,_0x4a4a91]of _0x194a98){assertVerified(_0x5b7d92===_0x4a4a91,_0x2ff0d2(0x1e2)+_0x4631b8['id']+'\x20'+_0x4e9ac7+_0x2ff0d2(0x219));}assertVerified(_0x387e00[_0x2ff0d2(0x20a)]===_0xf6d307,'Menu\x20'+_0x4631b8['id']+_0x2ff0d2(0x1df));}function updateSuccess(_0x51bec1,_0x26f1d0,_0x2f9864,_0xdbe128,_0x30bf8d){const _0x2c388d=a131_0xcfc2e0,_0x442636=_0x2f9864['id'],_0x5f183e=mutationResult({..._0x51bec1,'after':_0x2f9864,'dryRun':![],'succeeded':[{'id':_0x442636,'updated':!_0xdbe128,'skipped':_0xdbe128,'recovered':_0x30bf8d}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x26f1d0[_0x2c388d(0x1f6)],'targetId':_0x442636,'matchesRequestedState':!![],'recovered':_0x30bf8d}});return{'ok':!![],'message':_0x30bf8d?_0x2c388d(0x1ef)+_0x442636+'.':_0xdbe128?_0x2c388d(0x1e2)+_0x442636+_0x2c388d(0x1d9):_0x2c388d(0x1db)+_0x442636+'.','data':{..._0x5f183e,'recovered':_0x30bf8d}};}async function recoverAfterResponseLoss(_0x4e6553,_0x407540){const _0x487529=a131_0xcfc2e0,{plan:_0x125d3e,before:_0x57ced9,body:_0x1a166d}=_0x407540;let _0x1f3961;try{_0x1f3961=await fetchMenuSnapshot(_0x4e6553[_0x487529(0x215)],_0x4e6553[_0x487529(0x1ea)]);}catch{throw recoveryRequired(_0x125d3e,_0x4e6553[_0x487529(0x215)],{'id':_0x1a166d['id'],'readbackFailed':!![]});}const _0x3d7300=_0x1f3961[_0x487529(0x21a)]['get'](_0x1a166d['id']);if(!_0x3d7300||_0x3d7300[_0x487529(0x20a)]!==_0x1a166d[_0x487529(0x20a)])throw recoveryRequired(_0x125d3e,_0x4e6553[_0x487529(0x215)],{'id':_0x1a166d['id'],'requestedUrlObserved':![],'after':_0x3d7300??null});try{verifyUpdatedFact(_0x57ced9,_0x3d7300,_0x1a166d[_0x487529(0x20a)]);}catch(_0xcf4033){const _0x563a9d=asVerificationError(_0xcf4033,_0x487529(0x1ff)+_0x1a166d['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x563a9d,_0x125d3e,{'stage':'update-recovery','succeeded':[{'id':_0x1a166d['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x1a166d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x3d7300,'warnings':[_0x487529(0x1ec)],'verification':{'status':'failed','targetId':_0x1a166d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x4e6553[_0x487529(0x215)])}});}return updateSuccess(_0x125d3e,_0x1f3961,_0x3d7300,![],!![]);}function recoveryRequired(_0x14badd,_0x555389,_0x1bd160){const _0x174635=a131_0xcfc2e0,_0x5b7fac=menuError(_0x174635(0x1d8),_0x174635(0x210),_0x174635(0x218)+buildLookupCommand(_0x555389)+_0x174635(0x1ee));return menuFailure(_0x5b7fac,_0x14badd,{'stage':_0x174635(0x201),'failed':{'id':_0x1bd160['id'],..._0x1bd160['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x1bd160['requestedUrlObserved']},..._0x1bd160['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x1bd160[_0x174635(0x21c)],'warnings':[_0x174635(0x216)],'verification':{'status':_0x174635(0x1fa),'targetId':_0x1bd160['id'],..._0x1bd160['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x1bd160['requestedUrlObserved']},..._0x1bd160['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x555389)}});}function buildLookupCommand(_0x5bb932){const _0x133060=a131_0xcfc2e0,_0x298d4c='\x27'+_0x5bb932[_0x133060(0x1d0)](/'/g,_0x133060(0x1d5))+'\x27';return _0x133060(0x1d1)+_0x298d4c+'\x20--format\x20compress';}
|
|
1
|
+
const a131_0x25ca9d=a131_0x54f0;(function(_0x2bd5dd,_0x228580){const _0x28bfcc=a131_0x54f0,_0x1b9b84=_0x2bd5dd();while(!![]){try{const _0x355698=parseInt(_0x28bfcc(0xca))/0x1+parseInt(_0x28bfcc(0xd1))/0x2*(-parseInt(_0x28bfcc(0xe8))/0x3)+parseInt(_0x28bfcc(0xd9))/0x4+-parseInt(_0x28bfcc(0xf7))/0x5*(parseInt(_0x28bfcc(0xba))/0x6)+-parseInt(_0x28bfcc(0xf3))/0x7+parseInt(_0x28bfcc(0xb2))/0x8*(parseInt(_0x28bfcc(0xd0))/0x9)+parseInt(_0x28bfcc(0xd8))/0xa;if(_0x355698===_0x228580)break;else _0x1b9b84['push'](_0x1b9b84['shift']());}catch(_0x40c945){_0x1b9b84['push'](_0x1b9b84['shift']());}}}(a131_0x5864,0x9262c));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 a131_0x5864(){const _0x174528=['319970FWpIfF','write','type','rabetbase\x20menu\x20list\x20--appcode\x20','2029710SSBmPk','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','parentId','str','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','link','hash','label','menu_update_recovery_required','\x20already\x20matches\x20the\x20requested\x20URL.','\x20has\x20an\x20empty\x20platform\x20path.','Response\x20was\x20lost\x20and\x20menu\x20','2608MdRgUB','\x20--format\x20compress','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','readbackFailed','Update\x20request\x20for\x20menu\x20','\x22,\x20not\x20iframe\x20or\x20link.','cookie','New\x20external\x20HTTPS\x20URL','12eMKUSO','code','failed','menu_state_drift','update\x20external\x20menu\x20URL','string',',\x20current\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','plan','menu_external_link_type_required','external-link-update','verify\x20external\x20menu\x20URL\x20update','expect-parent-id','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','Menu\x20','menu_external_link_not_leaf','870455FgllBt','trim','childrenCount','POST','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Run\x20','13437OsIloW','8TkjzFz','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x27\x5c\x27\x27','requestedUrlObserved','snapshot','sort','unknown','10087460PlRoQi','800556FEqyxN','verification','replace','get','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','update-external-link-url','update-recovery','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20could\x20not\x20be\x20verified\x20safely','iframe','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','url','/smartapi/menu/update','visible','831651eswiwv','menu_permission_denied','\x20changed\x20during\x20the\x20URL-only\x20update.','menu\x20list','menu','appCode','expect-url','after','path','byId','body'];a131_0x5864=function(){return _0x174528;};return a131_0x5864();}const BACKEND=[{'method':a131_0x25ca9d(0xcd),'path':a131_0x25ca9d(0xe6)}];export const menuExternalLinkUpdate={'service':a131_0x25ca9d(0xec),'command':a131_0x25ca9d(0xc4),'description':a131_0x25ca9d(0xe3),'risk':a131_0x25ca9d(0xf4),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a131_0x25ca9d(0xe5),'type':a131_0x25ca9d(0xbf),'required':!![],'description':a131_0x25ca9d(0xb9)},{'name':a131_0x25ca9d(0xee),'type':a131_0x25ca9d(0xbf),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xf1d2c0){validateInput(_0xf1d2c0);},async 'dryRun'(_0x732cff){const _0x22799d=a131_0x25ca9d;validateInput(_0x732cff);const _0x33173d=await buildPlan(_0x732cff,!![]);return menuDryRunResult(_0x33173d[_0x22799d(0xc2)],{'method':'POST','url':_0x22799d(0xe6),'body':_0x33173d[_0x22799d(0xf2)],'description':_0x22799d(0xd2)+_0x33173d[_0x22799d(0xf2)]['id']+'.'});},async 'execute'(_0x5e1159){const _0x391457=a131_0x25ca9d;validateInput(_0x5e1159);const _0x3f9608=await buildPlan(_0x5e1159,![]),{plan:_0x15dd80,body:_0x314209,before:_0x11124a,noChanges:_0x42d153}=_0x3f9608,_0x4db88b=_0x314209['id'];if(_0x42d153)return updateSuccess(_0x15dd80,_0x3f9608[_0x391457(0xd5)],_0x11124a,!![],![]);await recheckMutationSnapshot(_0x5e1159,_0x15dd80,'update\x20external\x20menu\x20URL',_0x4db88b);try{await updateMenuEntity(_0x5e1159[_0x391457(0xed)],_0x5e1159[_0x391457(0xb8)],{'id':_0x314209['id'],'url':_0x314209[_0x391457(0xe5)]});}catch(_0x1962bd){const _0x895e0f=mapMenuApiError(_0x1962bd,_0x391457(0xbe),_0x4db88b);if(isMenuResponseLoss(_0x1962bd)&&_0x895e0f[_0x391457(0xbb)]!==_0x391457(0xe9))return recoverAfterResponseLoss(_0x5e1159,_0x3f9608);throw menuFailure(_0x895e0f,_0x15dd80,{'stage':'update','failed':{'id':_0x4db88b},'warnings':[_0x391457(0xdd)],'verification':{'status':_0x391457(0xbc),'targetId':_0x4db88b,'lookupCommand':buildLookupCommand(_0x5e1159['appCode'])}});}let _0x492e5d,_0x45e7df;try{_0x492e5d=await fetchMenuSnapshot(_0x5e1159[_0x391457(0xed)],_0x5e1159['cookie']),_0x45e7df=requireMenu(_0x492e5d,_0x4db88b),verifyUpdatedFact(_0x11124a,_0x45e7df,_0x314209[_0x391457(0xe5)]);}catch(_0xc9b4ba){const _0x716a86=describeMenuErrorCause(_0xc9b4ba,_0x391457(0xc5),_0x4db88b),_0x1313a9=asVerificationError(_0xc9b4ba,_0x391457(0xb6)+_0x4db88b+_0x391457(0xb4));throw menuFailure(_0x1313a9,_0x15dd80,{'stage':_0x391457(0xda),'succeeded':[{'id':_0x4db88b,'updateRequested':!![]}],'failed':{'id':_0x4db88b,'requestedStateConfirmed':![],..._0x716a86},'warnings':[_0x391457(0xf9)],'verification':{'status':'failed','targetId':_0x4db88b,'lookupCommand':buildLookupCommand(_0x5e1159[_0x391457(0xed)])}});}return updateSuccess(_0x15dd80,_0x492e5d,_0x45e7df,![],![]);}};function validateInput(_0x312be2){const _0x5ae784=a131_0x25ca9d;validateExactId(_0x312be2),requiredUrl(_0x312be2,_0x5ae784(0xe5)),requiredExpectedUrl(_0x312be2),parseParentId(_0x312be2,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x15b084,_0x42a7ee){const _0x28fd0e=a131_0x25ca9d;if(!hasFlag(_0x15b084,_0x42a7ee)||!_0x15b084['str'](_0x42a7ee)[_0x28fd0e(0xcb)]())throw CliErrors['flagMissing'](_0x42a7ee);return validateExternalMenuUrl(_0x15b084[_0x28fd0e(0xfc)](_0x42a7ee));}function requiredExpectedUrl(_0x38fac7){const _0x1e5bfb=a131_0x25ca9d;if(!hasFlag(_0x38fac7,_0x1e5bfb(0xee))||!_0x38fac7[_0x1e5bfb(0xfc)]('expect-url')[_0x1e5bfb(0xcb)]())throw CliErrors['flagMissing'](_0x1e5bfb(0xee));return _0x38fac7[_0x1e5bfb(0xfc)]('expect-url')['trim']();}async function buildPlan(_0x2c0d7f,_0x7b9b00){const _0xe66644=a131_0x25ca9d,_0x997e5f=validateExactId(_0x2c0d7f),_0x59b971=requiredUrl(_0x2c0d7f,_0xe66644(0xe5)),_0x13682f=requiredExpectedUrl(_0x2c0d7f),_0x249a13=parseParentId(_0x2c0d7f,_0xe66644(0xc6),{'required':!![]}),_0xcff546=await fetchMutationSnapshot(_0x2c0d7f,_0xe66644(0xbe),_0x997e5f),_0x2d5de5=requireMenu(_0xcff546,_0x997e5f);assertExternalLinkLeaf(_0x2d5de5);if(_0x2d5de5['parentId']!==_0x249a13)throw menuError(_0xe66644(0xbd),_0xe66644(0xc8)+_0x997e5f+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x249a13)+_0xe66644(0xc0)+formatParent(_0x2d5de5[_0xe66644(0xfb)])+'.',_0xe66644(0xc1));const _0x13def4=_0x2d5de5['url']===_0x59b971;if(!_0x13def4&&_0x2d5de5[_0xe66644(0xe5)]!==_0x13682f)throw menuError(_0xe66644(0xbd),_0xe66644(0xc8)+_0x997e5f+_0xe66644(0xfa),_0xe66644(0xc7));const _0x2fe4fc={'id':_0x997e5f,'appCode':_0x2c0d7f[_0xe66644(0xed)],'url':_0x59b971},_0x5ddb3c={..._0x2d5de5,'url':_0x59b971};return{'body':_0x2fe4fc,'before':_0x2d5de5,'noChanges':_0x13def4,'snapshot':_0xcff546,'plan':mutationResult({'operation':_0xe66644(0xc4),'selector':{'id':_0x997e5f},'before':_0x2d5de5,'after':_0x5ddb3c,'dryRun':_0x7b9b00,'backend':[...BACKEND],'plannedActions':_0x13def4?[]:[{'stage':_0xe66644(0xde),'method':_0xe66644(0xcd),'path':'/smartapi/menu/update','body':_0x2fe4fc}],'snapshotHash':_0xcff546['hash'],'warnings':_0x13def4?[_0xe66644(0xfd)]:[]})};}function a131_0x54f0(_0x3d2583,_0x20d22a){_0x3d2583=_0x3d2583-0xb0;const _0x5864d5=a131_0x5864();let _0x54f043=_0x5864d5[_0x3d2583];return _0x54f043;}function assertExternalLinkLeaf(_0x529912){const _0x5b995c=a131_0x25ca9d;if(_0x529912['type']!==_0x5b995c(0xe2)&&_0x529912[_0x5b995c(0xf5)]!==_0x5b995c(0xfe))throw menuError(_0x5b995c(0xc3),_0x5b995c(0xc8)+_0x529912['id']+'\x20is\x20type\x20\x22'+(_0x529912['type']||_0x5b995c(0xd7))+_0x5b995c(0xb7),_0x5b995c(0xf8));if(_0x529912[_0x5b995c(0xcc)]!==0x0)throw menuError(_0x5b995c(0xc9),_0x5b995c(0xc8)+_0x529912['id']+'\x20has\x20'+_0x529912[_0x5b995c(0xcc)]+'\x20direct\x20child\x20menu(s).','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x529912['path'][_0x5b995c(0xcb)]())throw menuError('menu_external_link_path_missing','Menu\x20'+_0x529912['id']+_0x5b995c(0xb0),_0x5b995c(0xe0));}function verifyUpdatedFact(_0x119314,_0x43862c,_0x4bac98){const _0x565443=a131_0x25ca9d;assertExternalLinkLeaf(_0x43862c);const _0x42aa7d=[['id',_0x43862c['id'],_0x119314['id']],['label',_0x43862c[_0x565443(0x100)],_0x119314[_0x565443(0x100)]],[_0x565443(0xf5),_0x43862c[_0x565443(0xf5)],_0x119314[_0x565443(0xf5)]],[_0x565443(0xf0),_0x43862c[_0x565443(0xf0)],_0x119314[_0x565443(0xf0)]],[_0x565443(0xfb),_0x43862c[_0x565443(0xfb)],_0x119314[_0x565443(0xfb)]],[_0x565443(0xd6),_0x43862c[_0x565443(0xd6)],_0x119314[_0x565443(0xd6)]],[_0x565443(0xe7),_0x43862c[_0x565443(0xe7)],_0x119314['visible']]];for(const [_0x1dbf0c,_0x1f9305,_0x3838a0]of _0x42aa7d){assertVerified(_0x1f9305===_0x3838a0,_0x565443(0xc8)+_0x119314['id']+'\x20'+_0x1dbf0c+_0x565443(0xea));}assertVerified(_0x43862c[_0x565443(0xe5)]===_0x4bac98,'Menu\x20'+_0x119314['id']+_0x565443(0xce));}function updateSuccess(_0x7f77d6,_0x30039f,_0x2176cc,_0xef8ffa,_0x5d8b2d){const _0x5c71a2=a131_0x25ca9d,_0x594698=_0x2176cc['id'],_0x4e0d31=mutationResult({..._0x7f77d6,'after':_0x2176cc,'dryRun':![],'succeeded':[{'id':_0x594698,'updated':!_0xef8ffa,'skipped':_0xef8ffa,'recovered':_0x5d8b2d}],'verification':{'checkedBy':_0x5c71a2(0xeb),'snapshotHash':_0x30039f[_0x5c71a2(0xff)],'targetId':_0x594698,'matchesRequestedState':!![],'recovered':_0x5d8b2d}});return{'ok':!![],'message':_0x5d8b2d?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x594698+'.':_0xef8ffa?'Menu\x20'+_0x594698+_0x5c71a2(0x102):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x594698+'.','data':{..._0x4e0d31,'recovered':_0x5d8b2d}};}async function recoverAfterResponseLoss(_0x5d3bb9,_0xe08bb8){const _0x675e28=a131_0x25ca9d,{plan:_0x105f79,before:_0x212c78,body:_0x38a6ef}=_0xe08bb8;let _0x2790ef;try{_0x2790ef=await fetchMenuSnapshot(_0x5d3bb9[_0x675e28(0xed)],_0x5d3bb9[_0x675e28(0xb8)]);}catch{throw recoveryRequired(_0x105f79,_0x5d3bb9[_0x675e28(0xed)],{'id':_0x38a6ef['id'],'readbackFailed':!![]});}const _0x4c41bc=_0x2790ef[_0x675e28(0xf1)][_0x675e28(0xdc)](_0x38a6ef['id']);if(!_0x4c41bc||_0x4c41bc['url']!==_0x38a6ef['url'])throw recoveryRequired(_0x105f79,_0x5d3bb9[_0x675e28(0xed)],{'id':_0x38a6ef['id'],'requestedUrlObserved':![],'after':_0x4c41bc??null});try{verifyUpdatedFact(_0x212c78,_0x4c41bc,_0x38a6ef[_0x675e28(0xe5)]);}catch(_0x44498d){const _0x5a430a=asVerificationError(_0x44498d,_0x675e28(0xb1)+_0x38a6ef['id']+_0x675e28(0xe1));throw menuFailure(_0x5a430a,_0x105f79,{'stage':_0x675e28(0xdf),'succeeded':[{'id':_0x38a6ef['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x38a6ef['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4c41bc,'warnings':[_0x675e28(0xe4)],'verification':{'status':_0x675e28(0xbc),'targetId':_0x38a6ef['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5d3bb9[_0x675e28(0xed)])}});}return updateSuccess(_0x105f79,_0x2790ef,_0x4c41bc,![],!![]);}function recoveryRequired(_0x9934ae,_0x35f2a3,_0x59db03){const _0x45ff1a=a131_0x25ca9d,_0x2338f7=menuError(_0x45ff1a(0x101),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x45ff1a(0xcf)+buildLookupCommand(_0x35f2a3)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x2338f7,_0x9934ae,{'stage':_0x45ff1a(0xdf),'failed':{'id':_0x59db03['id'],..._0x59db03[_0x45ff1a(0xd4)]===undefined?{}:{'requestedUrlObserved':_0x59db03[_0x45ff1a(0xd4)]},..._0x59db03[_0x45ff1a(0xb5)]?{'readbackFailed':!![]}:{}},'after':_0x59db03[_0x45ff1a(0xef)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':'failed','targetId':_0x59db03['id'],..._0x59db03[_0x45ff1a(0xd4)]===undefined?{}:{'requestedUrlObserved':_0x59db03[_0x45ff1a(0xd4)]},..._0x59db03['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x35f2a3)}});}function buildLookupCommand(_0x2f0dcb){const _0x33254a=a131_0x25ca9d,_0xb6b3b0='\x27'+_0x2f0dcb[_0x33254a(0xdb)](/'/g,_0x33254a(0xd3))+'\x27';return _0x33254a(0xf6)+_0xb6b3b0+_0x33254a(0xb3);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a132_0x62770a=a132_0x514e;(function(_0x522c0e,_0x1c5dc8){const _0x4c0406=a132_0x514e,_0x25acb4=_0x522c0e();while(!![]){try{const _0x3b44bb=-parseInt(_0x4c0406(0x170))/0x1+-parseInt(_0x4c0406(0x156))/0x2+-parseInt(_0x4c0406(0x148))/0x3+-parseInt(_0x4c0406(0x14b))/0x4*(-parseInt(_0x4c0406(0x15b))/0x5)+parseInt(_0x4c0406(0x16c))/0x6*(-parseInt(_0x4c0406(0x17d))/0x7)+-parseInt(_0x4c0406(0x161))/0x8+parseInt(_0x4c0406(0x14d))/0x9;if(_0x3b44bb===_0x1c5dc8)break;else _0x25acb4['push'](_0x25acb4['shift']());}catch(_0x2a2459){_0x25acb4['push'](_0x25acb4['shift']());}}}(a132_0xd429,0x8e30b));function a132_0x514e(_0x3dcf63,_0x2cd80f){_0x3dcf63=_0x3dcf63-0x136;const _0xd429cf=a132_0xd429();let _0x514e79=_0xd429cf[_0x3dcf63];return _0x514e79;}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';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a132_0x62770a(0x17b),'path':'/smartapi/menu/create'}];export const menuGroupCreate={'service':a132_0x62770a(0x153),'command':a132_0x62770a(0x17f),'description':a132_0x62770a(0x140),'risk':'write','structuredErrors':!![],'flags':[{'name':a132_0x62770a(0x16a),'type':a132_0x62770a(0x15e),'required':!![],'description':a132_0x62770a(0x167)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4314ad){validateCreateInput(_0x4314ad);},async 'dryRun'(_0x5acad1){const _0x167362=a132_0x62770a,_0x480323=await buildCreatePlan(_0x5acad1,!![]),_0x1de6b3=_0x480323[_0x167362(0x16d)];return menuDryRunResult(_0x480323,{'method':_0x167362(0x17b),'url':_0x167362(0x152),'body':{'parentId':toApiParentId(_0x1de6b3[_0x167362(0x176)]),'label':_0x1de6b3[_0x167362(0x16a)],'type':'folder','visible':!![],'sort':_0x1de6b3['sort'],'extend':{}},'description':_0x167362(0x175)+String(_0x1de6b3[_0x167362(0x16a)])+_0x167362(0x13c)});},async 'execute'(_0x2a708e){const _0x32b362=a132_0x62770a;validateCreateInput(_0x2a708e);const _0x401e53=await buildCreatePlan(_0x2a708e,![]),_0x16c2c0=_0x401e53[_0x32b362(0x16d)];await recheckMutationSnapshot(_0x2a708e,_0x401e53,_0x32b362(0x162));let _0x144c72;try{_0x144c72=await createMenuEntity(_0x2a708e[_0x32b362(0x16b)],_0x2a708e[_0x32b362(0x151)],{'parentId':toApiParentId(_0x16c2c0[_0x32b362(0x176)]),'label':String(_0x16c2c0[_0x32b362(0x16a)]),'type':'folder','visible':!![],'sort':Number(_0x16c2c0[_0x32b362(0x171)]),'extend':{}});}catch(_0x5535d0){const _0x281a99=mapMenuApiError(_0x5535d0,_0x32b362(0x162));throw menuFailure(_0x281a99,_0x401e53,{'stage':_0x32b362(0x17a),'failed':{}});}const _0x5b6de8=Number(_0x144c72['id']);if(!Number[_0x32b362(0x150)](_0x5b6de8)||_0x5b6de8<=0x0){const _0x1a2ab6=menuError(_0x32b362(0x177),_0x32b362(0x141),_0x32b362(0x173));throw menuFailure(_0x1a2ab6,_0x401e53,{'stage':'create-response-validation','failed':{'createdId':_0x144c72['id']??null},'warnings':[_0x32b362(0x144)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x1bd3df=typeof _0x144c72[_0x32b362(0x13a)]===_0x32b362(0x15e)?_0x144c72[_0x32b362(0x13a)]:'';if(!_0x1bd3df[_0x32b362(0x13b)]()){const _0x336bf7=menuError('menu_create_response_invalid',_0x32b362(0x155)+_0x5b6de8+_0x32b362(0x158),_0x32b362(0x164));throw menuFailure(_0x336bf7,_0x401e53,{'stage':_0x32b362(0x15f),'succeeded':[{'id':_0x5b6de8,'created':!![]}],'failed':{'id':_0x5b6de8,'generatedPathConfirmed':![]},'warnings':[_0x32b362(0x15d)+_0x5b6de8+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x16c2c0,'id':_0x5b6de8,'path':_0x1bd3df},'verification':{'status':_0x32b362(0x136),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5b6de8}});}let _0x5147c2;try{_0x5147c2=await fetchMenuSnapshot(_0x2a708e[_0x32b362(0x16b)],_0x2a708e[_0x32b362(0x151)]);}catch(_0x45e9b4){const _0x4b503e=describeMenuErrorCause(_0x45e9b4,_0x32b362(0x149),_0x5b6de8),_0x4ff99d=asVerificationError(_0x45e9b4,'Folder\x20'+_0x5b6de8+_0x32b362(0x138));throw menuFailure(_0x4ff99d,_0x401e53,{'stage':_0x32b362(0x179),'succeeded':[{'id':_0x5b6de8,'created':!![],'path':_0x1bd3df}],'failed':{'id':_0x5b6de8,'finalFactsConfirmed':![],..._0x4b503e},'warnings':[_0x32b362(0x15d)+_0x5b6de8+'\x20may\x20exist\x20online\x20at\x20path\x20'+JSON[_0x32b362(0x14e)](_0x1bd3df)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x16c2c0,'id':_0x5b6de8,'path':_0x1bd3df},'verification':{'status':_0x32b362(0x136),'lookupCommand':_0x32b362(0x15c),'targetId':_0x5b6de8}});}const _0x51f146=_0x5147c2[_0x32b362(0x17c)][_0x32b362(0x157)](_0x5b6de8);let _0xbfdb8a;try{assertVerified(Boolean(_0x51f146),'Created\x20folder\x20'+_0x5b6de8+_0x32b362(0x178)),_0xbfdb8a=_0x51f146,assertVerified(_0xbfdb8a[_0x32b362(0x143)]===_0x32b362(0x16f),'Created\x20menu\x20'+_0x5b6de8+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0xbfdb8a[_0x32b362(0x16a)]===_0x16c2c0[_0x32b362(0x16a)],_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x169)),assertVerified(_0xbfdb8a[_0x32b362(0x13a)]===_0x1bd3df&&Boolean(_0xbfdb8a['path']['trim']()),_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x147)),assertVerified(_0xbfdb8a['visible']===!![],_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x174)),assertVerified(_0xbfdb8a[_0x32b362(0x137)][_0x32b362(0x13f)]===0x0,_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x13d)),assertVerified(_0xbfdb8a[_0x32b362(0x166)]===0x0,_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x14f)),assertVerified(_0xbfdb8a['sort']===_0x16c2c0[_0x32b362(0x171)],_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x13e)),assertVerified(_0xbfdb8a[_0x32b362(0x176)]===_0x16c2c0['parentId'],_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x172)+(_0xbfdb8a['parentId']??_0x32b362(0x145))+'.'),assertVerified(_0xbfdb8a[_0x32b362(0x163)]==null,_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x160));const _0x24bdeb=_0xbfdb8a[_0x32b362(0x176)]==null?undefined:requireFolder(_0x5147c2,_0xbfdb8a[_0x32b362(0x176)]);assertVerified(_0xbfdb8a['depth']===(_0x24bdeb?_0x24bdeb[_0x32b362(0x154)]+0x1:0x0),_0x32b362(0x14c)+_0x5b6de8+_0x32b362(0x159));}catch(_0x2a6bb9){const _0x182333=describeMenuErrorCause(_0x2a6bb9,_0x32b362(0x149),_0x5b6de8),_0x5b4fae=asVerificationError(_0x2a6bb9,_0x32b362(0x15d)+_0x5b6de8+_0x32b362(0x15a));throw menuFailure(_0x5b4fae,_0x401e53,{'stage':_0x32b362(0x179),'succeeded':[{'id':_0x5b6de8,'created':!![],'path':_0x1bd3df}],'failed':{'id':_0x5b6de8,'finalFactsConfirmed':![],..._0x182333},'warnings':[_0x32b362(0x15d)+_0x5b6de8+_0x32b362(0x168)],'after':_0x51f146??{..._0x16c2c0,'id':_0x5b6de8,'path':_0x1bd3df},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5b6de8}});}const _0x554f74=mutationResult({..._0x401e53,'after':_0xbfdb8a,'dryRun':![],'succeeded':[{'id':_0x5b6de8,'type':_0x32b362(0x16f),'path':_0x1bd3df}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x5147c2['hash'],'folder':!![],'path':_0x1bd3df,'emptyResources':!![]}});return{'ok':!![],'data':_0x554f74,'message':_0x32b362(0x146)+_0x5b6de8+'.'};}};function validateCreateInput(_0x475175){const _0x3c9fc5=a132_0x62770a,_0x1a2375=_0x475175['str']('label')[_0x3c9fc5(0x13b)]();if(!_0x1a2375)throw CliErrors[_0x3c9fc5(0x14a)](_0x3c9fc5(0x16a));parseParentId(_0x475175,_0x3c9fc5(0x139)),validateSort(_0x475175);}function a132_0xd429(){const _0x2ddbd4=['\x20unexpectedly\x20owns\x20a\x20page.','3274960NeBxWh','create\x20folder','pageId','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','create-folder','childrenCount','Folder\x20label','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','\x20has\x20an\x20unexpected\x20label.','label','appCode','42PeZdLj','after','<platform-generated>','folder','485439mzFIrH','sort','\x20has\x20unexpected\x20parent\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20visible.','Would\x20create\x20empty\x20folder\x20\x22','parentId','menu_create_response_invalid','\x20is\x20missing\x20from\x20menu\x20list.','verification','create','POST','byId','645442YTZmus','hash','group-create','failed','resources','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','parent-id','path','trim','\x22\x20with\x20a\x20platform-generated\x20path.','\x20has\x20resources.','\x20has\x20an\x20unexpected\x20sort.','length','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','str','type','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','root','Created\x20menu\x20folder\x20','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','2276502bLXTWj','verify\x20folder\x20creation','flagMissing','4QZIKSg','Created\x20folder\x20','32045355ydjZEk','stringify','\x20is\x20not\x20empty.','isSafeInteger','cookie','/smartapi/menu/create','menu','depth','Menu\x20create\x20response\x20for\x20folder\x20','2277160GZMODZ','get','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','2297405tlwrfm','rabetbase\x20menu\x20list\x20--format\x20json','Folder\x20','string','create-response-validation'];a132_0xd429=function(){return _0x2ddbd4;};return a132_0xd429();}async function buildCreatePlan(_0x1b3496,_0x27bd49){const _0x50de65=a132_0x62770a,_0x23873a=await fetchMutationSnapshot(_0x1b3496,_0x50de65(0x162)),_0x3507ab=parseParentId(_0x1b3496,_0x50de65(0x139))??null;if(_0x3507ab!=null)requireFolder(_0x23873a,_0x3507ab);const _0x5691f5=validateSort(_0x1b3496),_0x1b01a5=_0x5691f5??nextSiblingSort(_0x23873a,_0x3507ab,_0x50de65(0x16f)),_0x24874f=_0x1b3496[_0x50de65(0x142)](_0x50de65(0x16a))[_0x50de65(0x13b)]();return mutationResult({'operation':'group-create','selector':{'label':_0x24874f,'parentId':_0x3507ab},'before':null,'after':{'id':null,'parentId':_0x3507ab,'label':_0x24874f,'path':_0x50de65(0x16e),'type':_0x50de65(0x16f),'visible':!![],'sort':_0x1b01a5,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x27bd49,'backend':[...BACKEND],'plannedActions':[{'stage':_0x50de65(0x165),'method':_0x50de65(0x17b),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x3507ab),'label':_0x24874f,'type':_0x50de65(0x16f),'visible':!![],'sort':_0x1b01a5,'extend':{}}}],'snapshotHash':_0x23873a[_0x50de65(0x17e)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
1
|
+
const a132_0x5cdfdd=a132_0x1e3d;(function(_0x1c5c8d,_0xc1aa92){const _0x49542d=a132_0x1e3d,_0x13a08f=_0x1c5c8d();while(!![]){try{const _0x3688ba=parseInt(_0x49542d(0x1be))/0x1*(parseInt(_0x49542d(0x1b0))/0x2)+parseInt(_0x49542d(0x1c7))/0x3+parseInt(_0x49542d(0x184))/0x4*(parseInt(_0x49542d(0x19d))/0x5)+-parseInt(_0x49542d(0x1c4))/0x6+-parseInt(_0x49542d(0x1ab))/0x7+-parseInt(_0x49542d(0x187))/0x8*(parseInt(_0x49542d(0x1bd))/0x9)+-parseInt(_0x49542d(0x1b1))/0xa*(-parseInt(_0x49542d(0x18d))/0xb);if(_0x3688ba===_0xc1aa92)break;else _0x13a08f['push'](_0x13a08f['shift']());}catch(_0x2dcba4){_0x13a08f['push'](_0x13a08f['shift']());}}}(a132_0x5e85,0x5f5fc));function a132_0x1e3d(_0x59a255,_0x1d886f){_0x59a255=_0x59a255-0x17a;const _0x5e8518=a132_0x5e85();let _0x1e3d91=_0x5e8518[_0x59a255];return _0x1e3d91;}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 a132_0x5e85(){const _0x53b041=['Menu\x20create\x20response\x20for\x20folder\x20','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','1956264VpavLf','length','\x20may\x20exist\x20online\x20at\x20path\x20','type','parentId','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','55gujXII','childrenCount','string','\x22\x20with\x20a\x20platform-generated\x20path.','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','resources','/smartapi/menu/create','path','<platform-generated>','\x20is\x20missing\x20from\x20menu\x20list.','create\x20folder',';\x20verify\x20it\x20before\x20retrying.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','parent-id','depth','1017860GIeUAg','create-folder','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20menu\x20folder\x20','write','flagMissing','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','rabetbase\x20menu\x20list\x20--format\x20json','Created\x20folder\x20','failed','menu\x20list','menu','isSafeInteger','create-response-validation','610680ptEriT','byId','Folder\x20','folder','group-create','68906sAXGYo','2192870DCUscI','hash','create','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','get','verify\x20folder\x20creation','after','menu_create_response_invalid','label','cookie','\x20is\x20not\x20visible.','verification','27WbxbfB','2nvGuPf','stringify','Folder\x20label','\x20is\x20not\x20empty.','\x20has\x20an\x20unexpected\x20label.','Created\x20menu\x20','4154094xqLssH','str','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','1604781fXPCAb','trim','POST','root','sort','\x20unexpectedly\x20owns\x20a\x20page.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Would\x20create\x20empty\x20folder\x20\x22','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20is\x20not\x20type\x20folder.','\x20has\x20an\x20unexpected\x20sort.','4wbFNMM'];a132_0x5e85=function(){return _0x53b041;};return a132_0x5e85();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a132_0x5cdfdd(0x17a),'path':a132_0x5cdfdd(0x194)}];export const menuGroupCreate={'service':a132_0x5cdfdd(0x1a8),'command':a132_0x5cdfdd(0x1af),'description':a132_0x5cdfdd(0x17f),'risk':a132_0x5cdfdd(0x1a1),'structuredErrors':!![],'flags':[{'name':a132_0x5cdfdd(0x1b9),'type':'string','required':!![],'description':a132_0x5cdfdd(0x1c0)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x59a677){validateCreateInput(_0x59a677);},async 'dryRun'(_0xb23cde){const _0x5eaae4=a132_0x5cdfdd,_0x234e2a=await buildCreatePlan(_0xb23cde,!![]),_0x48f9ed=_0x234e2a[_0x5eaae4(0x1b7)];return menuDryRunResult(_0x234e2a,{'method':_0x5eaae4(0x17a),'url':_0x5eaae4(0x194),'body':{'parentId':toApiParentId(_0x48f9ed[_0x5eaae4(0x18b)]),'label':_0x48f9ed[_0x5eaae4(0x1b9)],'type':_0x5eaae4(0x1ae),'visible':!![],'sort':_0x48f9ed[_0x5eaae4(0x17c)],'extend':{}},'description':_0x5eaae4(0x180)+String(_0x48f9ed[_0x5eaae4(0x1b9)])+_0x5eaae4(0x190)});},async 'execute'(_0x49c022){const _0x2edfda=a132_0x5cdfdd;validateCreateInput(_0x49c022);const _0x124532=await buildCreatePlan(_0x49c022,![]),_0x59bdad=_0x124532[_0x2edfda(0x1b7)];await recheckMutationSnapshot(_0x49c022,_0x124532,_0x2edfda(0x198));let _0x4102b1;try{_0x4102b1=await createMenuEntity(_0x49c022['appCode'],_0x49c022[_0x2edfda(0x1ba)],{'parentId':toApiParentId(_0x59bdad[_0x2edfda(0x18b)]),'label':String(_0x59bdad[_0x2edfda(0x1b9)]),'type':_0x2edfda(0x1ae),'visible':!![],'sort':Number(_0x59bdad[_0x2edfda(0x17c)]),'extend':{}});}catch(_0x1c37a8){const _0x41bc75=mapMenuApiError(_0x1c37a8,_0x2edfda(0x198));throw menuFailure(_0x41bc75,_0x124532,{'stage':_0x2edfda(0x1b3),'failed':{}});}const _0x40241f=Number(_0x4102b1['id']);if(!Number[_0x2edfda(0x1a9)](_0x40241f)||_0x40241f<=0x0){const _0x27b45c=menuError(_0x2edfda(0x1b8),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x2edfda(0x1c6));throw menuFailure(_0x27b45c,_0x124532,{'stage':_0x2edfda(0x1aa),'failed':{'createdId':_0x4102b1['id']??null},'warnings':[_0x2edfda(0x19f)],'verification':{'status':_0x2edfda(0x1a6),'lookupCommand':_0x2edfda(0x1a4)}});}const _0x37e90d=typeof _0x4102b1[_0x2edfda(0x195)]===_0x2edfda(0x18f)?_0x4102b1[_0x2edfda(0x195)]:'';if(!_0x37e90d['trim']()){const _0x46832e=menuError('menu_create_response_invalid',_0x2edfda(0x185)+_0x40241f+_0x2edfda(0x1a3),_0x2edfda(0x186));throw menuFailure(_0x46832e,_0x124532,{'stage':'create-response-validation','succeeded':[{'id':_0x40241f,'created':!![]}],'failed':{'id':_0x40241f,'generatedPathConfirmed':![]},'warnings':[_0x2edfda(0x1ad)+_0x40241f+_0x2edfda(0x1b4)],'after':{..._0x59bdad,'id':_0x40241f,'path':_0x37e90d},'verification':{'status':_0x2edfda(0x1a6),'lookupCommand':_0x2edfda(0x1a4),'targetId':_0x40241f}});}let _0x46618a;try{_0x46618a=await fetchMenuSnapshot(_0x49c022['appCode'],_0x49c022[_0x2edfda(0x1ba)]);}catch(_0x23aa96){const _0x18e998=describeMenuErrorCause(_0x23aa96,_0x2edfda(0x1b6),_0x40241f),_0x5c0884=asVerificationError(_0x23aa96,'Folder\x20'+_0x40241f+_0x2edfda(0x192));throw menuFailure(_0x5c0884,_0x124532,{'stage':_0x2edfda(0x1bc),'succeeded':[{'id':_0x40241f,'created':!![],'path':_0x37e90d}],'failed':{'id':_0x40241f,'finalFactsConfirmed':![],..._0x18e998},'warnings':['Folder\x20'+_0x40241f+_0x2edfda(0x189)+JSON[_0x2edfda(0x1bf)](_0x37e90d)+_0x2edfda(0x199)],'after':{..._0x59bdad,'id':_0x40241f,'path':_0x37e90d},'verification':{'status':_0x2edfda(0x1a6),'lookupCommand':_0x2edfda(0x1a4),'targetId':_0x40241f}});}const _0x42e0af=_0x46618a[_0x2edfda(0x1ac)][_0x2edfda(0x1b5)](_0x40241f);let _0x1a95bf;try{assertVerified(Boolean(_0x42e0af),_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x197)),_0x1a95bf=_0x42e0af,assertVerified(_0x1a95bf[_0x2edfda(0x18a)]===_0x2edfda(0x1ae),_0x2edfda(0x1c3)+_0x40241f+_0x2edfda(0x182)),assertVerified(_0x1a95bf['label']===_0x59bdad[_0x2edfda(0x1b9)],_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x1c2)),assertVerified(_0x1a95bf[_0x2edfda(0x195)]===_0x37e90d&&Boolean(_0x1a95bf[_0x2edfda(0x195)]['trim']()),_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x18c)),assertVerified(_0x1a95bf['visible']===!![],_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x1bb)),assertVerified(_0x1a95bf[_0x2edfda(0x193)][_0x2edfda(0x188)]===0x0,_0x2edfda(0x1a5)+_0x40241f+'\x20has\x20resources.'),assertVerified(_0x1a95bf[_0x2edfda(0x18e)]===0x0,_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x1c1)),assertVerified(_0x1a95bf[_0x2edfda(0x17c)]===_0x59bdad['sort'],_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x183)),assertVerified(_0x1a95bf[_0x2edfda(0x18b)]===_0x59bdad[_0x2edfda(0x18b)],'Created\x20folder\x20'+_0x40241f+'\x20has\x20unexpected\x20parent\x20'+(_0x1a95bf[_0x2edfda(0x18b)]??_0x2edfda(0x17b))+'.'),assertVerified(_0x1a95bf['pageId']==null,_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x17d));const _0x3a0fa8=_0x1a95bf[_0x2edfda(0x18b)]==null?undefined:requireFolder(_0x46618a,_0x1a95bf[_0x2edfda(0x18b)]);assertVerified(_0x1a95bf[_0x2edfda(0x19c)]===(_0x3a0fa8?_0x3a0fa8[_0x2edfda(0x19c)]+0x1:0x0),_0x2edfda(0x1a5)+_0x40241f+_0x2edfda(0x181));}catch(_0x150743){const _0x5878ad=describeMenuErrorCause(_0x150743,'verify\x20folder\x20creation',_0x40241f),_0xd0549a=asVerificationError(_0x150743,'Folder\x20'+_0x40241f+_0x2edfda(0x19a));throw menuFailure(_0xd0549a,_0x124532,{'stage':'verification','succeeded':[{'id':_0x40241f,'created':!![],'path':_0x37e90d}],'failed':{'id':_0x40241f,'finalFactsConfirmed':![],..._0x5878ad},'warnings':[_0x2edfda(0x1ad)+_0x40241f+_0x2edfda(0x191)],'after':_0x42e0af??{..._0x59bdad,'id':_0x40241f,'path':_0x37e90d},'verification':{'status':_0x2edfda(0x1a6),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x40241f}});}const _0x3b3fb1=mutationResult({..._0x124532,'after':_0x1a95bf,'dryRun':![],'succeeded':[{'id':_0x40241f,'type':_0x2edfda(0x1ae),'path':_0x37e90d}],'verification':{'checkedBy':_0x2edfda(0x1a7),'snapshotHash':_0x46618a['hash'],'folder':!![],'path':_0x37e90d,'emptyResources':!![]}});return{'ok':!![],'data':_0x3b3fb1,'message':_0x2edfda(0x1a0)+_0x40241f+'.'};}};function validateCreateInput(_0x3a27af){const _0x33fbd1=a132_0x5cdfdd,_0x2180a0=_0x3a27af[_0x33fbd1(0x1c5)](_0x33fbd1(0x1b9))[_0x33fbd1(0x1c8)]();if(!_0x2180a0)throw CliErrors[_0x33fbd1(0x1a2)]('label');parseParentId(_0x3a27af,_0x33fbd1(0x19b)),validateSort(_0x3a27af);}async function buildCreatePlan(_0x540559,_0x260bb4){const _0x443d92=a132_0x5cdfdd,_0x50a1f7=await fetchMutationSnapshot(_0x540559,_0x443d92(0x198)),_0x564a2f=parseParentId(_0x540559,_0x443d92(0x19b))??null;if(_0x564a2f!=null)requireFolder(_0x50a1f7,_0x564a2f);const _0x4ae026=validateSort(_0x540559),_0x1dcf52=_0x4ae026??nextSiblingSort(_0x50a1f7,_0x564a2f,'folder'),_0x1529a0=_0x540559[_0x443d92(0x1c5)]('label')['trim']();return mutationResult({'operation':_0x443d92(0x1af),'selector':{'label':_0x1529a0,'parentId':_0x564a2f},'before':null,'after':{'id':null,'parentId':_0x564a2f,'label':_0x1529a0,'path':_0x443d92(0x196),'type':_0x443d92(0x1ae),'visible':!![],'sort':_0x1dcf52,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x260bb4,'backend':[...BACKEND],'plannedActions':[{'stage':_0x443d92(0x19e),'method':'POST','path':_0x443d92(0x194),'body':{'parentId':toApiParentId(_0x564a2f),'label':_0x1529a0,'type':'folder','visible':!![],'sort':_0x1dcf52,'extend':{}}}],'snapshotHash':_0x50a1f7[_0x443d92(0x1b2)],'warnings':[_0x443d92(0x17e)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a133_0x301f01=a133_0xb38b;(function(_0x33ce18,_0x569d52){const _0x167ae8=a133_0xb38b,_0x5361ec=_0x33ce18();while(!![]){try{const _0x1b656e=parseInt(_0x167ae8(0xb3))/0x1+parseInt(_0x167ae8(0xa2))/0x2+-parseInt(_0x167ae8(0xcd))/0x3*(-parseInt(_0x167ae8(0xb0))/0x4)+-parseInt(_0x167ae8(0xac))/0x5+-parseInt(_0x167ae8(0xcc))/0x6+-parseInt(_0x167ae8(0xc5))/0x7+-parseInt(_0x167ae8(0xa4))/0x8*(-parseInt(_0x167ae8(0xc6))/0x9);if(_0x1b656e===_0x569d52)break;else _0x5361ec['push'](_0x5361ec['shift']());}catch(_0x5cac41){_0x5361ec['push'](_0x5361ec['shift']());}}}(a133_0x48d8,0xe9621));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 a133_0x48d8(){const _0x3bac31=['\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','/smartapi/menu/update','label','hash','menu_not_folder','str','verification','\x22,\x20not\x20folder.','string','\x20already\x20matches\x20the\x20requested\x20state.','verify\x20folder\x20update','\x20sort\x20update\x20did\x20not\x20take\x20effect.','appCode','\x20is\x20type\x20\x22','menu\x20list','3778530UlaUwD','54QQzdFO','parent-id','Folder\x20','\x20is\x20no\x20longer\x20type\x20folder.','update\x20folder','Update\x20request\x20for\x20folder\x20','10904112qMBqcB','3oiMRKm','Updated\x20folder\x20','selector','parentId','Would\x20update\x20folder\x20','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','Menu\x20','cookie','--label\x20cannot\x20be\x20empty.','validation','481146jXzkWH','New\x20folder\x20label','1866016hsaPmA','sort','No\x20online\x20fields\x20would\x20change.','group-update','type','unknown','failed','trim','3107405tYbexn','POST','\x20label\x20update\x20did\x20not\x20take\x20effect.','folder','6396524zadfXu','menu','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','695344QQYnUi','update'];a133_0x48d8=function(){return _0x3bac31;};return a133_0x48d8();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a133_0x301f01(0xb7)}];export const menuGroupUpdate={'service':a133_0x301f01(0xb1),'command':a133_0x301f01(0xa7),'description':a133_0x301f01(0xd2),'risk':'write','structuredErrors':!![],'rejectedFlags':[{'name':a133_0x301f01(0xc7),'message':a133_0x301f01(0xb2),'hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':a133_0x301f01(0xb8),'type':a133_0x301f01(0xbe),'description':a133_0x301f01(0xa3)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x45b39d){validateUpdateInput(_0x45b39d);},async 'dryRun'(_0x2b3b6f){const _0x4fab74=a133_0x301f01;validateUpdateInput(_0x2b3b6f);const {plan:_0x949f64,patch:_0x1305a6}=await buildUpdatePlan(_0x2b3b6f,!![]);return menuDryRunResult(_0x949f64,{'method':_0x4fab74(0xad),'url':_0x4fab74(0xb7),'body':_0x1305a6,'description':_0x4fab74(0xd1)+_0x949f64[_0x4fab74(0xcf)]['id']+'.'});},async 'execute'(_0xa6510){const _0x2d0943=a133_0x301f01;validateUpdateInput(_0xa6510);const {plan:_0x3496be,patch:_0x4bcabc,noChanges:_0x335b30}=await buildUpdatePlan(_0xa6510,![]),_0x5e29b1=Number(_0x3496be[_0x2d0943(0xcf)]['id']),_0x367ad4=await recheckMutationSnapshot(_0xa6510,_0x3496be,_0x2d0943(0xca),_0x5e29b1);if(!_0x335b30)try{await updateMenuEntity(_0xa6510[_0x2d0943(0xc2)],_0xa6510[_0x2d0943(0x9f)],_0x4bcabc);}catch(_0x1a3fd2){const _0x29dac6=mapMenuApiError(_0x1a3fd2,_0x2d0943(0xca),_0x5e29b1);throw menuFailure(_0x29dac6,_0x3496be,{'stage':_0x2d0943(0xb4),'failed':{'id':_0x5e29b1}});}let _0x28ebed=_0x367ad4,_0x330b79;try{!_0x335b30&&(_0x28ebed=await fetchMenuSnapshot(_0xa6510[_0x2d0943(0xc2)],_0xa6510[_0x2d0943(0x9f)])),_0x330b79=requireMenu(_0x28ebed,_0x5e29b1),verifyPatch(_0x330b79,_0x4bcabc),_0x330b79['parentId']!=null&&requireFolder(_0x28ebed,_0x330b79[_0x2d0943(0xd0)]);}catch(_0x18c9fe){const _0x31eaf1=describeMenuErrorCause(_0x18c9fe,_0x2d0943(0xc0),_0x5e29b1),_0x656fd=asVerificationError(_0x18c9fe,_0x2d0943(0xcb)+_0x5e29b1+_0x2d0943(0xb5));throw menuFailure(_0x656fd,_0x3496be,{'stage':_0x2d0943(0xbc),'succeeded':[{'id':_0x5e29b1,'updateRequested':!_0x335b30,'skipped':_0x335b30}],'failed':{'id':_0x5e29b1,'requestedStateConfirmed':![],..._0x31eaf1},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x2d0943(0xaa),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5e29b1}});}const _0x52c58b=mutationResult({..._0x3496be,'after':_0x330b79,'dryRun':![],'succeeded':[{'id':_0x5e29b1,'updated':!_0x335b30,'skipped':_0x335b30}],'verification':{'checkedBy':_0x2d0943(0xc4),'snapshotHash':_0x28ebed['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x52c58b,'message':_0x335b30?_0x2d0943(0xc8)+_0x5e29b1+_0x2d0943(0xbf):_0x2d0943(0xce)+_0x5e29b1+'.'};}};function a133_0xb38b(_0x166069,_0x5409c8){_0x166069=_0x166069-0x9f;const _0x48d861=a133_0x48d8();let _0xb38b57=_0x48d861[_0x166069];return _0xb38b57;}function validateUpdateInput(_0x24d288){const _0x57a0e5=a133_0x301f01;validateExactId(_0x24d288);if(hasFlag(_0x24d288,_0x57a0e5(0xc7)))throw CliErrors[_0x57a0e5(0xa1)](_0x57a0e5(0xb2),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x24d288,_0x57a0e5(0xb8))&&!hasFlag(_0x24d288,_0x57a0e5(0xa5)))throw CliErrors['validation']('At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.');if(hasFlag(_0x24d288,'label')&&!_0x24d288[_0x57a0e5(0xbb)](_0x57a0e5(0xb8))['trim']())throw CliErrors[_0x57a0e5(0xa1)](_0x57a0e5(0xa0));validateSort(_0x24d288);}async function buildUpdatePlan(_0x5917c8,_0x5972c3){const _0x3c8716=a133_0x301f01,_0x50ca7f=validateExactId(_0x5917c8),_0x1e9dcf=await fetchMutationSnapshot(_0x5917c8,_0x3c8716(0xca),_0x50ca7f),_0x544c68=requireMenu(_0x1e9dcf,_0x50ca7f);if(_0x544c68[_0x3c8716(0xa8)]!==_0x3c8716(0xaf))throw menuError(_0x3c8716(0xba),_0x3c8716(0xd3)+_0x50ca7f+_0x3c8716(0xc3)+(_0x544c68['type']||_0x3c8716(0xa9))+_0x3c8716(0xbd),_0x3c8716(0xb6));assertExpectedState(_0x5917c8,_0x544c68);const _0x2e3894={'id':_0x50ca7f},_0x1b2bd9={..._0x544c68};if(hasFlag(_0x5917c8,_0x3c8716(0xb8))){const _0x74bcc7=_0x5917c8[_0x3c8716(0xbb)]('label')[_0x3c8716(0xab)]();_0x2e3894[_0x3c8716(0xb8)]=_0x74bcc7,_0x1b2bd9[_0x3c8716(0xb8)]=_0x74bcc7;}if(hasFlag(_0x5917c8,_0x3c8716(0xa5))){const _0x17878f=validateSort(_0x5917c8);_0x2e3894['sort']=_0x17878f,_0x1b2bd9[_0x3c8716(0xa5)]=_0x17878f;}const _0x229b59=sameRequestedState(_0x544c68,_0x1b2bd9),_0x191073=_0x229b59?[_0x3c8716(0xa6)]:[];return{'patch':_0x2e3894,'noChanges':_0x229b59,'plan':mutationResult({'operation':_0x3c8716(0xa7),'selector':{'id':_0x50ca7f},'before':_0x544c68,'after':_0x1b2bd9,'dryRun':_0x5972c3,'backend':[...BACKEND],'snapshotHash':_0x1e9dcf[_0x3c8716(0xb9)],'warnings':_0x191073})};}function sameRequestedState(_0xc0ebff,_0x3c5886){const _0xc91cff=a133_0x301f01;return _0xc0ebff[_0xc91cff(0xb8)]===_0x3c5886[_0xc91cff(0xb8)]&&_0xc0ebff[_0xc91cff(0xa5)]===_0x3c5886[_0xc91cff(0xa5)];}function verifyPatch(_0x85ffdd,_0x3c5dc5){const _0x38e941=a133_0x301f01;assertVerified(_0x85ffdd['type']===_0x38e941(0xaf),_0x38e941(0xd3)+_0x85ffdd['id']+_0x38e941(0xc9)),_0x3c5dc5['label']!==undefined&&assertVerified(_0x85ffdd['label']===_0x3c5dc5[_0x38e941(0xb8)],_0x38e941(0xc8)+_0x85ffdd['id']+_0x38e941(0xae)),_0x3c5dc5['sort']!==undefined&&assertVerified(_0x85ffdd['sort']===_0x3c5dc5['sort'],_0x38e941(0xc8)+_0x85ffdd['id']+_0x38e941(0xc1));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2f1934,_0x46279d){const _0x4f608c=a134_0x488d,_0x26ebec=_0x2f1934();while(!![]){try{const _0x185e05=-parseInt(_0x4f608c(0x1ac))/0x1+-parseInt(_0x4f608c(0x1a4))/0x2*(-parseInt(_0x4f608c(0x1ab))/0x3)+-parseInt(_0x4f608c(0x1a9))/0x4*(-parseInt(_0x4f608c(0x1ad))/0x5)+parseInt(_0x4f608c(0x1a8))/0x6*(-parseInt(_0x4f608c(0x1aa))/0x7)+-parseInt(_0x4f608c(0x1a7))/0x8+parseInt(_0x4f608c(0x1a6))/0x9+parseInt(_0x4f608c(0x1a5))/0xa;if(_0x185e05===_0x46279d)break;else _0x26ebec['push'](_0x26ebec['shift']());}catch(_0x50b6e4){_0x26ebec['push'](_0x26ebec['shift']());}}}(a134_0x1abd,0xb5db4));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';function a134_0x488d(_0x53e865,_0x1a3632){_0x53e865=_0x53e865-0x1a4;const _0x1abdb5=a134_0x1abd();let _0x488dc9=_0x1abdb5[_0x53e865];return _0x488dc9;}function a134_0x1abd(){const _0x1d5bac=['1080pcqBqu','6118qTEFmK','3mIrsmz','152205AgyQln','20560ZWxcJf','530246aDlbdd','1424970ClTHID','5992713bUqoYF','3196144CQiaqb','6090uMyFGm'];a134_0x1abd=function(){return _0x1d5bac;};return a134_0x1abd();}import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';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';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a135_0x4ad3(_0x1a31ae,_0xf644d3){_0x1a31ae=_0x1a31ae-0x1ca;const _0x153c0d=a135_0x153c();let _0x4ad347=_0x153c0d[_0x1a31ae];return _0x4ad347;}function a135_0x153c(){const _0x97a073=['41zLckHC','1956315lUkdkJ','boolean','710uffpRx','858395CaljDY','24KZuhIk','No\x20menus\x20found.','33649YCpVoq','menu','3366671ZulKfm','232KvFjjC','bool','verbose','cookie','list','map','\x20menu(s)','total','109413tAhxYK','menus','32374kImbtF','526460KDHaLI','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app'];a135_0x153c=function(){return _0x97a073;};return a135_0x153c();}const a135_0x194d69=a135_0x4ad3;(function(_0x2d9d09,_0x330e69){const _0x5a735e=a135_0x4ad3,_0x1f5fb7=_0x2d9d09();while(!![]){try{const _0x47a63e=parseInt(_0x5a735e(0x1d7))/0x1*(parseInt(_0x5a735e(0x1d3))/0x2)+-parseInt(_0x5a735e(0x1d8))/0x3+-parseInt(_0x5a735e(0x1d4))/0x4+-parseInt(_0x5a735e(0x1db))/0x5*(parseInt(_0x5a735e(0x1dc))/0x6)+-parseInt(_0x5a735e(0x1de))/0x7*(-parseInt(_0x5a735e(0x1e1))/0x8)+parseInt(_0x5a735e(0x1d1))/0x9*(parseInt(_0x5a735e(0x1da))/0xa)+parseInt(_0x5a735e(0x1e0))/0xb;if(_0x47a63e===_0x330e69)break;else _0x1f5fb7['push'](_0x1f5fb7['shift']());}catch(_0x4e6e96){_0x1f5fb7['push'](_0x1f5fb7['shift']());}}}(a135_0x153c,0x7a852));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a135_0x194d69(0x1df),'command':a135_0x194d69(0x1cd),'description':a135_0x194d69(0x1d6),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a135_0x194d69(0x1cb),'type':a135_0x194d69(0x1d9),'description':a135_0x194d69(0x1d5)}],async 'execute'(_0x5714fc){const _0x1571bc=a135_0x194d69,_0x34dbb0=_0x5714fc[_0x1571bc(0x1ca)](_0x1571bc(0x1cb)),_0x3b3d3a=await fetchMenuSnapshot(_0x5714fc['appCode'],_0x5714fc[_0x1571bc(0x1cc)],{'verbose':_0x34dbb0});return{'ok':!![],'data':{'total':_0x3b3d3a[_0x1571bc(0x1d0)],'snapshotHash':_0x3b3d3a['hash'],'menus':_0x3b3d3a[_0x1571bc(0x1d2)][_0x1571bc(0x1ce)](toMenuListItem)},'message':_0x3b3d3a[_0x1571bc(0x1d0)]===0x0?_0x1571bc(0x1dd):'Found\x20'+_0x3b3d3a['total']+_0x1571bc(0x1cf)};}};
|