@lovrabet/rabetbase-cli 2.4.3 → 2.4.4-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.d.ts +2 -0
- package/lib/commands/db/diff-refresh-start.js +1 -0
- package/lib/commands/db/diff-refresh-status.d.ts +2 -0
- package/lib/commands/db/diff-refresh-status.js +1 -0
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-create.d.ts +2 -0
- package/lib/commands/notification/config-create.js +1 -0
- package/lib/commands/notification/config-delete.d.ts +2 -0
- package/lib/commands/notification/config-delete.js +1 -0
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.d.ts +2 -0
- package/lib/commands/notification/config-update.js +1 -0
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.d.ts +97 -0
- package/lib/commands/notification/shared.js +1 -0
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/react/create.js +1 -1
- package/lib/commands/page/react/detail.js +1 -1
- package/lib/commands/page/react/list.js +1 -1
- package/lib/commands/page/react/publish.js +1 -1
- package/lib/commands/page/react/shared.js +1 -1
- package/lib/commands/page/react/syntax.js +1 -1
- package/lib/commands/page/react/template.js +1 -1
- package/lib/commands/page/react/update.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.d.ts +1 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.d.ts +11 -0
- package/lib/commands/project/create/materialize-project-template.js +1 -0
- package/lib/commands/project/create/project-name.d.ts +2 -0
- package/lib/commands/project/create/project-name.js +1 -0
- package/lib/commands/project/create/project-template-archive.d.ts +6 -0
- package/lib/commands/project/create/project-template-archive.js +1 -0
- package/lib/commands/project/create/project-template-path.d.ts +1 -3
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.d.ts +2 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.d.ts +2 -0
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +29 -2
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.d.ts +13 -0
- 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/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +9 -4
- package/skills/rabetbase/SKILL.md +33 -22
- package/skills/rabetbase/guides/backend-function.md +5 -3
- package/skills/rabetbase/guides/bff-creation-workflow.md +2 -2
- package/skills/rabetbase/guides/conflict-detection.md +2 -2
- package/skills/rabetbase/guides/database-connection-workflow.md +39 -5
- package/skills/rabetbase/guides/react-custom-page-workflow.md +16 -4
- package/skills/rabetbase/guides/sql-creation-workflow.md +4 -2
- package/skills/rabetbase/guides/sql-mybatis.md +2 -2
- package/skills/rabetbase/knowledge/page-schema/YtPage.md +3 -37
- package/skills/rabetbase/knowledge/react-page/generation-standards.md +14 -3
- package/skills/rabetbase/references/rabetbase-app-config.md +2 -2
- package/skills/rabetbase/references/rabetbase-bff-push.md +4 -5
- package/skills/rabetbase/references/rabetbase-bff-save.md +3 -3
- package/skills/rabetbase/references/rabetbase-config.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-detail.md +3 -0
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +53 -0
- package/skills/rabetbase/references/rabetbase-db-diff.md +40 -21
- package/skills/rabetbase/references/rabetbase-db-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-kb.md +5 -3
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -10
- package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +1 -3
- package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +2 -3
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-notification-config-mutations.md +56 -0
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-react-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-react-publish.md +2 -2
- package/skills/rabetbase/references/rabetbase-project-create.md +3 -0
- package/skills/rabetbase/references/rabetbase-run.md +1 -1
- package/skills/rabetbase/references/rabetbase-sql-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-sql-push.md +3 -4
- package/skills/rabetbase/references/rabetbase-user-account.md +0 -1
- package/skills/rabetbase.manifest.json +5 -5
- package/templates/README.md +14 -2
- package/lib/commands/project/create/non-interactive.d.ts +0 -9
- package/lib/commands/project/create/non-interactive.js +0 -1
- package/lib/utils/copy-directory.d.ts +0 -1
- package/lib/utils/copy-directory.js +0 -1
- package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +0 -291
- package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +0 -223
- package/templates/projects/sub-app-react-demo/.prettierrc +0 -1
- package/templates/projects/sub-app-react-demo/CHANGELOG.md +0 -67
- package/templates/projects/sub-app-react-demo/README.md +0 -246
- package/templates/projects/sub-app-react-demo/docs/quick-start.md +0 -245
- package/templates/projects/sub-app-react-demo/index.html +0 -27
- package/templates/projects/sub-app-react-demo/package.json +0 -34
- package/templates/projects/sub-app-react-demo/public/logo.svg +0 -1
- package/templates/projects/sub-app-react-demo/public/vite.svg +0 -1
- package/templates/projects/sub-app-react-demo/src/api/api.ts +0 -26
- package/templates/projects/sub-app-react-demo/src/api/client.ts +0 -32
- package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.module.css +0 -28
- package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.tsx +0 -55
- package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +0 -308
- package/templates/projects/sub-app-react-demo/src/main.tsx +0 -52
- package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +0 -570
- package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +0 -531
- package/templates/projects/sub-app-react-demo/src/pages/index.module.css +0 -500
- package/templates/projects/sub-app-react-demo/src/pages/index.tsx +0 -641
- package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +0 -536
- package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +0 -295
- package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +0 -242
- package/templates/projects/sub-app-react-demo/src/router/index.tsx +0 -30
- package/templates/projects/sub-app-react-demo/src/style.css +0 -108
- package/templates/projects/sub-app-react-demo/src/utils/api.ts +0 -12
- package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +0 -2
- package/templates/projects/sub-app-react-demo/tsconfig.json +0 -26
- package/templates/projects/sub-app-react-demo/vite.config.ts +0 -111
|
@@ -1 +1 @@
|
|
|
1
|
-
function a111_0x4e74(){const _0x516e0e=['\x20is\x20not\x20empty.','\x20is\x20not\x20type\x20folder.','8007280DfFSBD','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','write','17823420cuIOUo','<platform-generated>','string','isSafeInteger','create\x20folder','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','str','\x20is\x20not\x20visible.','729305rLGbsD','cookie','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','Folder\x20','/smartapi/menu/create','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','depth','create-folder','\x20may\x20exist\x20online\x20at\x20path\x20','folder','type','\x20has\x20an\x20unexpected\x20sort.','Folder\x20label','label','sort','path','\x20is\x20missing\x20from\x20menu\x20list.','stringify','883486xAziql','180308fWljMC','menu\x20list','trim','5737760gDcGrG','verification','pageId','group-create','rabetbase\x20menu\x20list\x20--format\x20json','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','create','get','Created\x20folder\x20','48OSMBBC','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','childrenCount','menu_create_response_invalid','33dKKSBp','flagMissing','9wdfCNX','create-response-validation','Created\x20menu\x20','Created\x20menu\x20folder\x20','after','failed','11GWcoTS','hash','verify\x20folder\x20creation','Menu\x20create\x20response\x20for\x20folder\x20','\x20has\x20resources.','POST','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','877318RqQUOZ','parent-id','parentId'];a111_0x4e74=function(){return _0x516e0e;};return a111_0x4e74();}const a111_0x1060a8=a111_0x2897;(function(_0x580f14,_0x28b340){const _0x3d98e1=a111_0x2897,_0x59081e=_0x580f14();while(!![]){try{const _0x50cbe1=-parseInt(_0x3d98e1(0x229))/0x1+-parseInt(_0x3d98e1(0x207))/0x2+-parseInt(_0x3d98e1(0x1f8))/0x3*(parseInt(_0x3d98e1(0x22a))/0x4)+parseInt(_0x3d98e1(0x217))/0x5*(-parseInt(_0x3d98e1(0x1f4))/0x6)+parseInt(_0x3d98e1(0x1ea))/0x7+parseInt(_0x3d98e1(0x20c))/0x8*(parseInt(_0x3d98e1(0x1fa))/0x9)+-parseInt(_0x3d98e1(0x20f))/0xa*(-parseInt(_0x3d98e1(0x200))/0xb);if(_0x50cbe1===_0x28b340)break;else _0x59081e['push'](_0x59081e['shift']());}catch(_0x41b863){_0x59081e['push'](_0x59081e['shift']());}}}(a111_0x4e74,0x96e44));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 a111_0x2897(_0x3800b2,_0x20be3f){_0x3800b2=_0x3800b2-0x1e8;const _0x4e74ef=a111_0x4e74();let _0x2897d1=_0x4e74ef[_0x3800b2];return _0x2897d1;}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0x1060a8(0x205),'path':a111_0x1060a8(0x21b)}];export const menuGroupCreate={'service':'menu','command':a111_0x1060a8(0x1ed),'description':a111_0x1060a8(0x214),'risk':a111_0x1060a8(0x20e),'structuredErrors':!![],'flags':[{'name':a111_0x1060a8(0x224),'type':a111_0x1060a8(0x211),'required':!![],'description':a111_0x1060a8(0x223)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x260bb6){validateCreateInput(_0x260bb6);},async 'dryRun'(_0x282429){const _0x46e1d4=a111_0x1060a8,_0x420073=await buildCreatePlan(_0x282429,!![]),_0x1e1c6f=_0x420073[_0x46e1d4(0x1fe)];return menuDryRunResult(_0x420073,{'method':_0x46e1d4(0x205),'url':_0x46e1d4(0x21b),'body':{'parentId':toApiParentId(_0x1e1c6f[_0x46e1d4(0x209)]),'label':_0x1e1c6f['label'],'type':_0x46e1d4(0x220),'visible':!![],'sort':_0x1e1c6f[_0x46e1d4(0x225)],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x1e1c6f['label'])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x5398d7){const _0x40738c=a111_0x1060a8;validateCreateInput(_0x5398d7);const _0x3075ed=await buildCreatePlan(_0x5398d7,![]),_0x256378=_0x3075ed[_0x40738c(0x1fe)];await recheckMutationSnapshot(_0x5398d7,_0x3075ed,'create\x20folder');let _0xcd249b;try{_0xcd249b=await createMenuEntity(_0x5398d7['appCode'],_0x5398d7['cookie'],{'parentId':toApiParentId(_0x256378[_0x40738c(0x209)]),'label':String(_0x256378['label']),'type':'folder','visible':!![],'sort':Number(_0x256378[_0x40738c(0x225)]),'extend':{}});}catch(_0x13c3c6){const _0x14bb06=mapMenuApiError(_0x13c3c6,_0x40738c(0x213));throw menuFailure(_0x14bb06,_0x3075ed,{'stage':_0x40738c(0x1f1),'failed':{}});}const _0x478cf9=Number(_0xcd249b['id']);if(!Number[_0x40738c(0x212)](_0x478cf9)||_0x478cf9<=0x0){const _0x3d60a5=menuError('menu_create_response_invalid',_0x40738c(0x20d),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x3d60a5,_0x3075ed,{'stage':_0x40738c(0x1fb),'failed':{'createdId':_0xcd249b['id']??null},'warnings':[_0x40738c(0x1f5)],'verification':{'status':_0x40738c(0x1ff),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x3f0d52=typeof _0xcd249b[_0x40738c(0x226)]===_0x40738c(0x211)?_0xcd249b[_0x40738c(0x226)]:'';if(!_0x3f0d52[_0x40738c(0x1e9)]()){const _0x2e506c=menuError(_0x40738c(0x1f7),_0x40738c(0x203)+_0x478cf9+_0x40738c(0x21c),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x2e506c,_0x3075ed,{'stage':_0x40738c(0x1fb),'succeeded':[{'id':_0x478cf9,'created':!![]}],'failed':{'id':_0x478cf9,'generatedPathConfirmed':![]},'warnings':[_0x40738c(0x21a)+_0x478cf9+_0x40738c(0x219)],'after':{..._0x256378,'id':_0x478cf9,'path':_0x3f0d52},'verification':{'status':_0x40738c(0x1ff),'lookupCommand':_0x40738c(0x1ee),'targetId':_0x478cf9}});}let _0x5c8891;try{_0x5c8891=await fetchMenuSnapshot(_0x5398d7['appCode'],_0x5398d7[_0x40738c(0x218)]);}catch(_0x3389c2){const _0x45855b=describeMenuErrorCause(_0x3389c2,'verify\x20folder\x20creation',_0x478cf9),_0xa96723=asVerificationError(_0x3389c2,_0x40738c(0x21a)+_0x478cf9+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0xa96723,_0x3075ed,{'stage':_0x40738c(0x1eb),'succeeded':[{'id':_0x478cf9,'created':!![],'path':_0x3f0d52}],'failed':{'id':_0x478cf9,'finalFactsConfirmed':![],..._0x45855b},'warnings':[_0x40738c(0x21a)+_0x478cf9+_0x40738c(0x21f)+JSON[_0x40738c(0x228)](_0x3f0d52)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x256378,'id':_0x478cf9,'path':_0x3f0d52},'verification':{'status':'failed','lookupCommand':_0x40738c(0x1ee),'targetId':_0x478cf9}});}const _0x56ef0c=_0x5c8891['byId'][_0x40738c(0x1f2)](_0x478cf9);let _0xd5a4b1;try{assertVerified(Boolean(_0x56ef0c),_0x40738c(0x1f3)+_0x478cf9+_0x40738c(0x227)),_0xd5a4b1=_0x56ef0c,assertVerified(_0xd5a4b1[_0x40738c(0x221)]===_0x40738c(0x220),_0x40738c(0x1fc)+_0x478cf9+_0x40738c(0x20b)),assertVerified(_0xd5a4b1['label']===_0x256378[_0x40738c(0x224)],'Created\x20folder\x20'+_0x478cf9+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0xd5a4b1[_0x40738c(0x226)]===_0x3f0d52&&Boolean(_0xd5a4b1[_0x40738c(0x226)][_0x40738c(0x1e9)]()),_0x40738c(0x1f3)+_0x478cf9+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0xd5a4b1['visible']===!![],_0x40738c(0x1f3)+_0x478cf9+_0x40738c(0x216)),assertVerified(_0xd5a4b1['resources']['length']===0x0,_0x40738c(0x1f3)+_0x478cf9+_0x40738c(0x204)),assertVerified(_0xd5a4b1[_0x40738c(0x1f6)]===0x0,_0x40738c(0x1f3)+_0x478cf9+_0x40738c(0x20a)),assertVerified(_0xd5a4b1[_0x40738c(0x225)]===_0x256378['sort'],'Created\x20folder\x20'+_0x478cf9+_0x40738c(0x222)),assertVerified(_0xd5a4b1[_0x40738c(0x209)]===_0x256378[_0x40738c(0x209)],_0x40738c(0x1f3)+_0x478cf9+'\x20has\x20unexpected\x20parent\x20'+(_0xd5a4b1[_0x40738c(0x209)]??'root')+'.'),assertVerified(_0xd5a4b1[_0x40738c(0x1ec)]==null,'Created\x20folder\x20'+_0x478cf9+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x3acc21=_0xd5a4b1[_0x40738c(0x209)]==null?undefined:requireFolder(_0x5c8891,_0xd5a4b1[_0x40738c(0x209)]);assertVerified(_0xd5a4b1[_0x40738c(0x21d)]===(_0x3acc21?_0x3acc21[_0x40738c(0x21d)]+0x1:0x0),_0x40738c(0x1f3)+_0x478cf9+_0x40738c(0x1f0));}catch(_0xb964b){const _0x4130fd=describeMenuErrorCause(_0xb964b,_0x40738c(0x202),_0x478cf9),_0x59e6b7=asVerificationError(_0xb964b,'Folder\x20'+_0x478cf9+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x59e6b7,_0x3075ed,{'stage':_0x40738c(0x1eb),'succeeded':[{'id':_0x478cf9,'created':!![],'path':_0x3f0d52}],'failed':{'id':_0x478cf9,'finalFactsConfirmed':![],..._0x4130fd},'warnings':[_0x40738c(0x21a)+_0x478cf9+_0x40738c(0x1ef)],'after':_0x56ef0c??{..._0x256378,'id':_0x478cf9,'path':_0x3f0d52},'verification':{'status':'failed','lookupCommand':_0x40738c(0x1ee),'targetId':_0x478cf9}});}const _0x126b51=mutationResult({..._0x3075ed,'after':_0xd5a4b1,'dryRun':![],'succeeded':[{'id':_0x478cf9,'type':_0x40738c(0x220),'path':_0x3f0d52}],'verification':{'checkedBy':_0x40738c(0x1e8),'snapshotHash':_0x5c8891['hash'],'folder':!![],'path':_0x3f0d52,'emptyResources':!![]}});return{'ok':!![],'data':_0x126b51,'message':_0x40738c(0x1fd)+_0x478cf9+'.'};}};function validateCreateInput(_0x17138f){const _0x27da25=a111_0x1060a8,_0xcc500b=_0x17138f[_0x27da25(0x215)](_0x27da25(0x224))[_0x27da25(0x1e9)]();if(!_0xcc500b)throw CliErrors[_0x27da25(0x1f9)]('label');parseParentId(_0x17138f,'parent-id'),validateSort(_0x17138f);}async function buildCreatePlan(_0x63ad03,_0x25aa30){const _0x4ebc82=a111_0x1060a8,_0x3ca66a=await fetchMutationSnapshot(_0x63ad03,_0x4ebc82(0x213)),_0x234454=parseParentId(_0x63ad03,_0x4ebc82(0x208))??null;if(_0x234454!=null)requireFolder(_0x3ca66a,_0x234454);const _0x4cb34c=validateSort(_0x63ad03),_0x490147=_0x4cb34c??nextSiblingSort(_0x3ca66a,_0x234454,_0x4ebc82(0x220)),_0x44f1d3=_0x63ad03[_0x4ebc82(0x215)](_0x4ebc82(0x224))[_0x4ebc82(0x1e9)]();return mutationResult({'operation':_0x4ebc82(0x1ed),'selector':{'label':_0x44f1d3,'parentId':_0x234454},'before':null,'after':{'id':null,'parentId':_0x234454,'label':_0x44f1d3,'path':_0x4ebc82(0x210),'type':_0x4ebc82(0x220),'visible':!![],'sort':_0x490147,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x25aa30,'backend':[...BACKEND],'plannedActions':[{'stage':_0x4ebc82(0x21e),'method':_0x4ebc82(0x205),'path':_0x4ebc82(0x21b),'body':{'parentId':toApiParentId(_0x234454),'label':_0x44f1d3,'type':_0x4ebc82(0x220),'visible':!![],'sort':_0x490147,'extend':{}}}],'snapshotHash':_0x3ca66a[_0x4ebc82(0x201)],'warnings':[_0x4ebc82(0x206)]});}
|
|
1
|
+
function a113_0x46b0(){const _0x34785c=['trim','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20is\x20not\x20empty.','61507GfdPQq','\x20may\x20exist\x20online\x20at\x20path\x20','cookie','Folder\x20','\x20has\x20an\x20unexpected\x20sort.','474837VEWFDc','pageId','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','POST','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','rabetbase\x20menu\x20list\x20--format\x20json','visible','/smartapi/menu/create','str','\x22\x20with\x20a\x20platform-generated\x20path.','\x20is\x20not\x20type\x20folder.','hash','childrenCount','folder','after','5BrHDvJ','byId','sort','menu\x20list','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','root','string','parentId','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20unexpectedly\x20owns\x20a\x20page.','get','verification','create\x20folder','1128888jHzZHD','write','menu','110yLqmVS','label','Created\x20menu\x20folder\x20','appCode','depth','menu_create_response_invalid','Created\x20menu\x20','verify\x20folder\x20creation','resources','16sSHLQL','flagMissing','length','path','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','create',';\x20verify\x20it\x20before\x20retrying.','2472768MJEVsx','type','1275153KZVPyf','Would\x20create\x20empty\x20folder\x20\x22','failed','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','parent-id','\x20has\x20resources.','10Klgyco','121457bZAfuE','247676iesVHW','Created\x20folder\x20','group-create','create-response-validation','Menu\x20create\x20response\x20for\x20folder\x20'];a113_0x46b0=function(){return _0x34785c;};return a113_0x46b0();}const a113_0x37c8d7=a113_0x2de5;(function(_0x33704c,_0x564371){const _0x36f80a=a113_0x2de5,_0x4a03d5=_0x33704c();while(!![]){try{const _0x1291d4=-parseInt(_0x36f80a(0x171))/0x1*(parseInt(_0x36f80a(0x167))/0x2)+parseInt(_0x36f80a(0x161))/0x3+parseInt(_0x36f80a(0x169))/0x4+-parseInt(_0x36f80a(0x185))/0x5*(parseInt(_0x36f80a(0x14b))/0x6)+-parseInt(_0x36f80a(0x168))/0x7*(-parseInt(_0x36f80a(0x157))/0x8)+-parseInt(_0x36f80a(0x15f))/0x9+parseInt(_0x36f80a(0x14e))/0xa*(parseInt(_0x36f80a(0x176))/0xb);if(_0x1291d4===_0x564371)break;else _0x4a03d5['push'](_0x4a03d5['shift']());}catch(_0x465ff4){_0x4a03d5['push'](_0x4a03d5['shift']());}}}(a113_0x46b0,0x3731a));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':a113_0x37c8d7(0x179),'path':a113_0x37c8d7(0x17d)}];function a113_0x2de5(_0x590dd1,_0x303a1c){_0x590dd1=_0x590dd1-0x145;const _0x46b0c9=a113_0x46b0();let _0x2de501=_0x46b0c9[_0x590dd1];return _0x2de501;}export const menuGroupCreate={'service':a113_0x37c8d7(0x14d),'command':a113_0x37c8d7(0x16b),'description':a113_0x37c8d7(0x17a),'risk':a113_0x37c8d7(0x14c),'structuredErrors':!![],'flags':[{'name':a113_0x37c8d7(0x14f),'type':a113_0x37c8d7(0x18b),'required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1fc473){validateCreateInput(_0x1fc473);},async 'dryRun'(_0x3bb29d){const _0x2784f4=a113_0x37c8d7,_0x245cb2=await buildCreatePlan(_0x3bb29d,!![]),_0x2dd2d3=_0x245cb2[_0x2784f4(0x184)];return menuDryRunResult(_0x245cb2,{'method':_0x2784f4(0x179),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x2dd2d3['parentId']),'label':_0x2dd2d3[_0x2784f4(0x14f)],'type':_0x2784f4(0x183),'visible':!![],'sort':_0x2dd2d3[_0x2784f4(0x187)],'extend':{}},'description':_0x2784f4(0x162)+String(_0x2dd2d3['label'])+_0x2784f4(0x17f)});},async 'execute'(_0x54e533){const _0x53d42d=a113_0x37c8d7;validateCreateInput(_0x54e533);const _0x12ec7a=await buildCreatePlan(_0x54e533,![]),_0x51f7e1=_0x12ec7a[_0x53d42d(0x184)];await recheckMutationSnapshot(_0x54e533,_0x12ec7a,'create\x20folder');let _0x5b2b5a;try{_0x5b2b5a=await createMenuEntity(_0x54e533[_0x53d42d(0x151)],_0x54e533[_0x53d42d(0x173)],{'parentId':toApiParentId(_0x51f7e1[_0x53d42d(0x145)]),'label':String(_0x51f7e1[_0x53d42d(0x14f)]),'type':_0x53d42d(0x183),'visible':!![],'sort':Number(_0x51f7e1[_0x53d42d(0x187)]),'extend':{}});}catch(_0x46a802){const _0x2c77f6=mapMenuApiError(_0x46a802,_0x53d42d(0x14a));throw menuFailure(_0x2c77f6,_0x12ec7a,{'stage':_0x53d42d(0x15d),'failed':{}});}const _0x5961a0=Number(_0x5b2b5a['id']);if(!Number['isSafeInteger'](_0x5961a0)||_0x5961a0<=0x0){const _0x224a25=menuError(_0x53d42d(0x153),_0x53d42d(0x146),_0x53d42d(0x189));throw menuFailure(_0x224a25,_0x12ec7a,{'stage':_0x53d42d(0x16c),'failed':{'createdId':_0x5b2b5a['id']??null},'warnings':[_0x53d42d(0x178)],'verification':{'status':'failed','lookupCommand':_0x53d42d(0x17b)}});}const _0x4dc37a=typeof _0x5b2b5a[_0x53d42d(0x15a)]===_0x53d42d(0x18b)?_0x5b2b5a['path']:'';if(!_0x4dc37a[_0x53d42d(0x16e)]()){const _0x409c9b=menuError(_0x53d42d(0x153),_0x53d42d(0x16d)+_0x5961a0+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x409c9b,_0x12ec7a,{'stage':_0x53d42d(0x16c),'succeeded':[{'id':_0x5961a0,'created':!![]}],'failed':{'id':_0x5961a0,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x5961a0+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x51f7e1,'id':_0x5961a0,'path':_0x4dc37a},'verification':{'status':_0x53d42d(0x163),'lookupCommand':_0x53d42d(0x17b),'targetId':_0x5961a0}});}let _0x4d0f8c;try{_0x4d0f8c=await fetchMenuSnapshot(_0x54e533['appCode'],_0x54e533[_0x53d42d(0x173)]);}catch(_0x2e5f96){const _0x1e56d5=describeMenuErrorCause(_0x2e5f96,_0x53d42d(0x155),_0x5961a0),_0x188ceb=asVerificationError(_0x2e5f96,'Folder\x20'+_0x5961a0+_0x53d42d(0x15b));throw menuFailure(_0x188ceb,_0x12ec7a,{'stage':_0x53d42d(0x149),'succeeded':[{'id':_0x5961a0,'created':!![],'path':_0x4dc37a}],'failed':{'id':_0x5961a0,'finalFactsConfirmed':![],..._0x1e56d5},'warnings':['Folder\x20'+_0x5961a0+_0x53d42d(0x172)+JSON['stringify'](_0x4dc37a)+_0x53d42d(0x15e)],'after':{..._0x51f7e1,'id':_0x5961a0,'path':_0x4dc37a},'verification':{'status':_0x53d42d(0x163),'lookupCommand':_0x53d42d(0x17b),'targetId':_0x5961a0}});}const _0x2f6ebc=_0x4d0f8c[_0x53d42d(0x186)][_0x53d42d(0x148)](_0x5961a0);let _0x282c8d;try{assertVerified(Boolean(_0x2f6ebc),'Created\x20folder\x20'+_0x5961a0+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x282c8d=_0x2f6ebc,assertVerified(_0x282c8d[_0x53d42d(0x160)]===_0x53d42d(0x183),_0x53d42d(0x154)+_0x5961a0+_0x53d42d(0x180)),assertVerified(_0x282c8d[_0x53d42d(0x14f)]===_0x51f7e1['label'],'Created\x20folder\x20'+_0x5961a0+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x282c8d[_0x53d42d(0x15a)]===_0x4dc37a&&Boolean(_0x282c8d[_0x53d42d(0x15a)]['trim']()),_0x53d42d(0x16a)+_0x5961a0+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x282c8d[_0x53d42d(0x17c)]===!![],_0x53d42d(0x16a)+_0x5961a0+'\x20is\x20not\x20visible.'),assertVerified(_0x282c8d[_0x53d42d(0x156)][_0x53d42d(0x159)]===0x0,_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x166)),assertVerified(_0x282c8d[_0x53d42d(0x182)]===0x0,_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x170)),assertVerified(_0x282c8d[_0x53d42d(0x187)]===_0x51f7e1[_0x53d42d(0x187)],_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x175)),assertVerified(_0x282c8d['parentId']===_0x51f7e1['parentId'],_0x53d42d(0x16a)+_0x5961a0+'\x20has\x20unexpected\x20parent\x20'+(_0x282c8d[_0x53d42d(0x145)]??_0x53d42d(0x18a))+'.'),assertVerified(_0x282c8d[_0x53d42d(0x177)]==null,_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x147));const _0x311d03=_0x282c8d[_0x53d42d(0x145)]==null?undefined:requireFolder(_0x4d0f8c,_0x282c8d[_0x53d42d(0x145)]);assertVerified(_0x282c8d['depth']===(_0x311d03?_0x311d03[_0x53d42d(0x152)]+0x1:0x0),_0x53d42d(0x16a)+_0x5961a0+_0x53d42d(0x16f));}catch(_0x3b7780){const _0x2c1734=describeMenuErrorCause(_0x3b7780,_0x53d42d(0x155),_0x5961a0),_0x1f4983=asVerificationError(_0x3b7780,_0x53d42d(0x174)+_0x5961a0+_0x53d42d(0x15c));throw menuFailure(_0x1f4983,_0x12ec7a,{'stage':_0x53d42d(0x149),'succeeded':[{'id':_0x5961a0,'created':!![],'path':_0x4dc37a}],'failed':{'id':_0x5961a0,'finalFactsConfirmed':![],..._0x2c1734},'warnings':[_0x53d42d(0x174)+_0x5961a0+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x2f6ebc??{..._0x51f7e1,'id':_0x5961a0,'path':_0x4dc37a},'verification':{'status':_0x53d42d(0x163),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5961a0}});}const _0x103988=mutationResult({..._0x12ec7a,'after':_0x282c8d,'dryRun':![],'succeeded':[{'id':_0x5961a0,'type':'folder','path':_0x4dc37a}],'verification':{'checkedBy':_0x53d42d(0x188),'snapshotHash':_0x4d0f8c[_0x53d42d(0x181)],'folder':!![],'path':_0x4dc37a,'emptyResources':!![]}});return{'ok':!![],'data':_0x103988,'message':_0x53d42d(0x150)+_0x5961a0+'.'};}};function validateCreateInput(_0x543da5){const _0x2b333f=a113_0x37c8d7,_0x4ec9ae=_0x543da5[_0x2b333f(0x17e)]('label')[_0x2b333f(0x16e)]();if(!_0x4ec9ae)throw CliErrors[_0x2b333f(0x158)]('label');parseParentId(_0x543da5,_0x2b333f(0x165)),validateSort(_0x543da5);}async function buildCreatePlan(_0xa37fc3,_0x411129){const _0xeadb54=a113_0x37c8d7,_0x18e0fd=await fetchMutationSnapshot(_0xa37fc3,_0xeadb54(0x14a)),_0x3d2841=parseParentId(_0xa37fc3,_0xeadb54(0x165))??null;if(_0x3d2841!=null)requireFolder(_0x18e0fd,_0x3d2841);const _0x260eee=validateSort(_0xa37fc3),_0x27b82d=_0x260eee??nextSiblingSort(_0x18e0fd,_0x3d2841,_0xeadb54(0x183)),_0x185e76=_0xa37fc3[_0xeadb54(0x17e)]('label')[_0xeadb54(0x16e)]();return mutationResult({'operation':_0xeadb54(0x16b),'selector':{'label':_0x185e76,'parentId':_0x3d2841},'before':null,'after':{'id':null,'parentId':_0x3d2841,'label':_0x185e76,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x27b82d,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x411129,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':'POST','path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x3d2841),'label':_0x185e76,'type':_0xeadb54(0x183),'visible':!![],'sort':_0x27b82d,'extend':{}}}],'snapshotHash':_0x18e0fd[_0xeadb54(0x181)],'warnings':[_0xeadb54(0x164)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a114_0x155eba=a114_0x5183;(function(_0x1f18cc,_0x2c3bc3){const _0x4ddc0b=a114_0x5183,_0x22588f=_0x1f18cc();while(!![]){try{const _0x4d5f52=-parseInt(_0x4ddc0b(0xad))/0x1+parseInt(_0x4ddc0b(0xbc))/0x2*(-parseInt(_0x4ddc0b(0xb1))/0x3)+parseInt(_0x4ddc0b(0x9e))/0x4+-parseInt(_0x4ddc0b(0xa7))/0x5*(parseInt(_0x4ddc0b(0xa6))/0x6)+-parseInt(_0x4ddc0b(0xcb))/0x7*(-parseInt(_0x4ddc0b(0xba))/0x8)+-parseInt(_0x4ddc0b(0xb9))/0x9+-parseInt(_0x4ddc0b(0xa0))/0xa*(-parseInt(_0x4ddc0b(0xbf))/0xb);if(_0x4d5f52===_0x2c3bc3)break;else _0x22588f['push'](_0x22588f['shift']());}catch(_0x1d93e8){_0x22588f['push'](_0x22588f['shift']());}}}(a114_0x2368,0x20bc5));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x155eba(0xc5),'path':a114_0x155eba(0xb8)}];export const menuGroupUpdate={'service':a114_0x155eba(0xc6),'command':a114_0x155eba(0xbb),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a114_0x155eba(0xb6),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a114_0x155eba(0x9f),'hint':a114_0x155eba(0xcc)}],'flags':[MENU_ID_FLAG,{'name':a114_0x155eba(0xaa),'type':a114_0x155eba(0xca),'description':a114_0x155eba(0xac)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x42ce0e){validateUpdateInput(_0x42ce0e);},async 'dryRun'(_0x3422f8){const _0x207ff0=a114_0x155eba;validateUpdateInput(_0x3422f8);const {plan:_0x17c0e7,patch:_0x163958}=await buildUpdatePlan(_0x3422f8,!![]);return menuDryRunResult(_0x17c0e7,{'method':_0x207ff0(0xc5),'url':_0x207ff0(0xb8),'body':_0x163958,'description':_0x207ff0(0xce)+_0x17c0e7[_0x207ff0(0xb5)]['id']+'.'});},async 'execute'(_0x220f73){const _0xb4924b=a114_0x155eba;validateUpdateInput(_0x220f73);const {plan:_0xe01e5f,patch:_0x2a05f1,noChanges:_0x3409f0}=await buildUpdatePlan(_0x220f73,![]),_0x2f06d9=Number(_0xe01e5f[_0xb4924b(0xb5)]['id']),_0x20c1c2=await recheckMutationSnapshot(_0x220f73,_0xe01e5f,_0xb4924b(0xa4),_0x2f06d9);if(!_0x3409f0)try{await updateMenuEntity(_0x220f73[_0xb4924b(0xa5)],_0x220f73[_0xb4924b(0xc9)],_0x2a05f1);}catch(_0x141e2d){const _0x51d883=mapMenuApiError(_0x141e2d,'update\x20folder',_0x2f06d9);throw menuFailure(_0x51d883,_0xe01e5f,{'stage':_0xb4924b(0xa8),'failed':{'id':_0x2f06d9}});}let _0x3db51c=_0x20c1c2,_0xbd7c90;try{!_0x3409f0&&(_0x3db51c=await fetchMenuSnapshot(_0x220f73[_0xb4924b(0xa5)],_0x220f73['cookie'])),_0xbd7c90=requireMenu(_0x3db51c,_0x2f06d9),verifyPatch(_0xbd7c90,_0x2a05f1),_0xbd7c90[_0xb4924b(0xb0)]!=null&&requireFolder(_0x3db51c,_0xbd7c90['parentId']);}catch(_0x417469){const _0x37bfd5=describeMenuErrorCause(_0x417469,_0xb4924b(0xb3),_0x2f06d9),_0xffb3a9=asVerificationError(_0x417469,_0xb4924b(0xa2)+_0x2f06d9+_0xb4924b(0xc7));throw menuFailure(_0xffb3a9,_0xe01e5f,{'stage':_0xb4924b(0xc2),'succeeded':[{'id':_0x2f06d9,'updateRequested':!_0x3409f0,'skipped':_0x3409f0}],'failed':{'id':_0x2f06d9,'requestedStateConfirmed':![],..._0x37bfd5},'warnings':[_0xb4924b(0xa3)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2f06d9}});}const _0x1d4978=mutationResult({..._0xe01e5f,'after':_0xbd7c90,'dryRun':![],'succeeded':[{'id':_0x2f06d9,'updated':!_0x3409f0,'skipped':_0x3409f0}],'verification':{'checkedBy':_0xb4924b(0xb4),'snapshotHash':_0x3db51c[_0xb4924b(0xc1)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x1d4978,'message':_0x3409f0?'Folder\x20'+_0x2f06d9+'\x20already\x20matches\x20the\x20requested\x20state.':_0xb4924b(0xbe)+_0x2f06d9+'.'};}};function validateUpdateInput(_0x307328){const _0x3f7a89=a114_0x155eba;validateExactId(_0x307328);if(hasFlag(_0x307328,_0x3f7a89(0xa1)))throw CliErrors[_0x3f7a89(0xab)](_0x3f7a89(0x9f),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x307328,_0x3f7a89(0xaa))&&!hasFlag(_0x307328,_0x3f7a89(0xb7)))throw CliErrors[_0x3f7a89(0xab)]('At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.');if(hasFlag(_0x307328,_0x3f7a89(0xaa))&&!_0x307328['str'](_0x3f7a89(0xaa))[_0x3f7a89(0xcd)]())throw CliErrors[_0x3f7a89(0xab)]('--label\x20cannot\x20be\x20empty.');validateSort(_0x307328);}async function buildUpdatePlan(_0x1cfbf1,_0x375b58){const _0x331653=a114_0x155eba,_0x4c9099=validateExactId(_0x1cfbf1),_0x396097=await fetchMutationSnapshot(_0x1cfbf1,_0x331653(0xa4),_0x4c9099),_0x2458cf=requireMenu(_0x396097,_0x4c9099);if(_0x2458cf[_0x331653(0xc0)]!==_0x331653(0xc3))throw menuError(_0x331653(0xbd),_0x331653(0xc8)+_0x4c9099+_0x331653(0xc4)+(_0x2458cf[_0x331653(0xc0)]||'unknown')+'\x22,\x20not\x20folder.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x1cfbf1,_0x2458cf);const _0x339f60={'id':_0x4c9099},_0x2bc18e={..._0x2458cf};if(hasFlag(_0x1cfbf1,_0x331653(0xaa))){const _0x3087b2=_0x1cfbf1['str'](_0x331653(0xaa))['trim']();_0x339f60[_0x331653(0xaa)]=_0x3087b2,_0x2bc18e['label']=_0x3087b2;}if(hasFlag(_0x1cfbf1,_0x331653(0xb7))){const _0x283bdd=validateSort(_0x1cfbf1);_0x339f60[_0x331653(0xb7)]=_0x283bdd,_0x2bc18e[_0x331653(0xb7)]=_0x283bdd;}const _0x5758e1=sameRequestedState(_0x2458cf,_0x2bc18e),_0x1f6e5a=_0x5758e1?[_0x331653(0xa9)]:[];return{'patch':_0x339f60,'noChanges':_0x5758e1,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x4c9099},'before':_0x2458cf,'after':_0x2bc18e,'dryRun':_0x375b58,'backend':[...BACKEND],'snapshotHash':_0x396097[_0x331653(0xc1)],'warnings':_0x1f6e5a})};}function a114_0x5183(_0x325ba8,_0x4a5f2a){_0x325ba8=_0x325ba8-0x9e;const _0x236833=a114_0x2368();let _0x518395=_0x236833[_0x325ba8];return _0x518395;}function sameRequestedState(_0xe68653,_0x56bba9){const _0x47f152=a114_0x155eba;return _0xe68653[_0x47f152(0xaa)]===_0x56bba9[_0x47f152(0xaa)]&&_0xe68653[_0x47f152(0xb7)]===_0x56bba9[_0x47f152(0xb7)];}function verifyPatch(_0xa08188,_0x2bd8ef){const _0x5583b5=a114_0x155eba;assertVerified(_0xa08188[_0x5583b5(0xc0)]===_0x5583b5(0xc3),_0x5583b5(0xc8)+_0xa08188['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x2bd8ef[_0x5583b5(0xaa)]!==undefined&&assertVerified(_0xa08188[_0x5583b5(0xaa)]===_0x2bd8ef[_0x5583b5(0xaa)],'Folder\x20'+_0xa08188['id']+_0x5583b5(0xae)),_0x2bd8ef[_0x5583b5(0xb7)]!==undefined&&assertVerified(_0xa08188[_0x5583b5(0xb7)]===_0x2bd8ef['sort'],_0x5583b5(0xb2)+_0xa08188['id']+_0x5583b5(0xaf));}function a114_0x2368(){const _0x10eb86=['verify\x20folder\x20update','menu\x20list','selector','write','sort','/smartapi/menu/update','2100195UbNSCm','712UQhjYb','group-update','30VKVWgF','menu_not_folder','Updated\x20folder\x20','1892UtiZph','type','hash','verification','folder','\x20is\x20type\x20\x22','POST','menu','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Menu\x20','cookie','string','2457KEnqfo','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','trim','Would\x20update\x20folder\x20','878504NrqTtz','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','28380MgqIpd','parent-id','Update\x20request\x20for\x20folder\x20','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','update\x20folder','appCode','30kKqqlC','193070FpNSAf','update','No\x20online\x20fields\x20would\x20change.','label','validation','New\x20folder\x20label','8286xwkfiK','\x20label\x20update\x20did\x20not\x20take\x20effect.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','parentId','34041XeRDPf','Folder\x20'];a114_0x2368=function(){return _0x10eb86;};return a114_0x2368();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3f72c4,_0x39995c){const _0x350bb9=a115_0x1398,_0x5486af=_0x3f72c4();while(!![]){try{const _0x45be1e=-parseInt(_0x350bb9(0x152))/0x1*(-parseInt(_0x350bb9(0x14e))/0x2)+parseInt(_0x350bb9(0x149))/0x3*(parseInt(_0x350bb9(0x153))/0x4)+parseInt(_0x350bb9(0x150))/0x5*(parseInt(_0x350bb9(0x14c))/0x6)+-parseInt(_0x350bb9(0x148))/0x7*(parseInt(_0x350bb9(0x14f))/0x8)+-parseInt(_0x350bb9(0x151))/0x9+-parseInt(_0x350bb9(0x14a))/0xa*(-parseInt(_0x350bb9(0x14d))/0xb)+-parseInt(_0x350bb9(0x14b))/0xc;if(_0x45be1e===_0x39995c)break;else _0x5486af['push'](_0x5486af['shift']());}catch(_0x338e65){_0x5486af['push'](_0x5486af['shift']());}}}(a115_0xd5f0,0x89072));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';function a115_0xd5f0(){const _0x30d65e=['6875478YZPqZh','12112TFMbiQ','84DCcPpg','21sUBYkM','30171zlLJLB','10611430PqwEah','16543656IvlyDb','6564066yWjmZC','11fhmqyR','146ROSscA','1457816YwCKMM','5lHjsCT'];a115_0xd5f0=function(){return _0x30d65e;};return a115_0xd5f0();}import{menuDelete}from'../../commands/menu/delete.js';function a115_0x1398(_0x3f7d82,_0x4f9f5a){_0x3f7d82=_0x3f7d82-0x148;const _0xd5f0bd=a115_0xd5f0();let _0x1398f3=_0xd5f0bd[_0x3f7d82];return _0x1398f3;}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';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a116_0x3539df=a116_0x187c;(function(_0x1e665c,_0x2b7ff3){const _0x4e7650=a116_0x187c,_0x45ca8f=_0x1e665c();while(!![]){try{const _0x5290c9=-parseInt(_0x4e7650(0x1a6))/0x1*(parseInt(_0x4e7650(0x1a3))/0x2)+-parseInt(_0x4e7650(0x197))/0x3+-parseInt(_0x4e7650(0x196))/0x4+parseInt(_0x4e7650(0x1a9))/0x5*(-parseInt(_0x4e7650(0x1a7))/0x6)+parseInt(_0x4e7650(0x1a5))/0x7+parseInt(_0x4e7650(0x19c))/0x8*(parseInt(_0x4e7650(0x19b))/0x9)+-parseInt(_0x4e7650(0x1a8))/0xa*(-parseInt(_0x4e7650(0x193))/0xb);if(_0x5290c9===_0x2b7ff3)break;else _0x45ca8f['push'](_0x45ca8f['shift']());}catch(_0x2f865f){_0x45ca8f['push'](_0x45ca8f['shift']());}}}(a116_0x3dfc,0x82377));function a116_0x187c(_0x49017d,_0x2c8495){_0x49017d=_0x49017d-0x192;const _0x3dfc9f=a116_0x3dfc();let _0x187cf8=_0x3dfc9f[_0x49017d];return _0x187cf8;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a116_0x3dfc(){const _0x1245f6=['1ippFDz','6rTbbXw','40orUajq','344620uxfVzi','hash','total','No\x20menus\x20found.','2237114YoryaW','bool','menu','1557280bsuOan','1090974lkQlBJ','verbose','map','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','7999245uJsPUD','8AmVTtM','boolean','list','Found\x20','cookie','read','appCode','1429994rCvjfD','\x20menu(s)','2575755Mofptg'];a116_0x3dfc=function(){return _0x1245f6;};return a116_0x3dfc();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a116_0x3539df(0x195),'command':a116_0x3539df(0x19e),'description':a116_0x3539df(0x19a),'risk':a116_0x3539df(0x1a1),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a116_0x3539df(0x198),'type':a116_0x3539df(0x19d),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x2a4a53){const _0x5c30be=a116_0x3539df,_0x2aee2e=_0x2a4a53[_0x5c30be(0x194)](_0x5c30be(0x198)),_0x23a7ad=await fetchMenuSnapshot(_0x2a4a53[_0x5c30be(0x1a2)],_0x2a4a53[_0x5c30be(0x1a0)],{'verbose':_0x2aee2e});return{'ok':!![],'data':{'total':_0x23a7ad[_0x5c30be(0x1ab)],'snapshotHash':_0x23a7ad[_0x5c30be(0x1aa)],'menus':_0x23a7ad['menus'][_0x5c30be(0x199)](toMenuListItem)},'message':_0x23a7ad[_0x5c30be(0x1ab)]===0x0?_0x5c30be(0x192):_0x5c30be(0x19f)+_0x23a7ad['total']+_0x5c30be(0x1a4)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x4e1af9=a117_0x3e9c;(function(_0x4bc349,_0x20161d){const _0x260bd2=a117_0x3e9c,_0xafedad=_0x4bc349();while(!![]){try{const _0x8f90f0=-parseInt(_0x260bd2(0x122))/0x1+-parseInt(_0x260bd2(0x137))/0x2*(parseInt(_0x260bd2(0x10e))/0x3)+-parseInt(_0x260bd2(0x120))/0x4*(parseInt(_0x260bd2(0x115))/0x5)+parseInt(_0x260bd2(0x11e))/0x6+parseInt(_0x260bd2(0x10d))/0x7*(parseInt(_0x260bd2(0x13d))/0x8)+parseInt(_0x260bd2(0x124))/0x9*(-parseInt(_0x260bd2(0x114))/0xa)+-parseInt(_0x260bd2(0x12c))/0xb;if(_0x8f90f0===_0x20161d)break;else _0xafedad['push'](_0xafedad['shift']());}catch(_0x286390){_0xafedad['push'](_0xafedad['shift']());}}}(a117_0x54d1,0x3cb0a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':'POST','path':a117_0x4e1af9(0x11b)}];export const menuMove={'service':'menu','command':'move','description':'Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41734e){validateMoveInput(_0x41734e);},async 'dryRun'(_0x19a9bd){const _0x2557aa=a117_0x4e1af9,{plan:_0x97eee7,patch:_0x94609f}=await buildMovePlan(_0x19a9bd,!![]);return menuDryRunResult(_0x97eee7,{'method':_0x2557aa(0x132),'url':_0x2557aa(0x11b),'body':{..._0x94609f,'appCode':_0x19a9bd[_0x2557aa(0x131)]},'description':_0x2557aa(0x135)+_0x94609f['id']+'.'});},async 'execute'(_0x266ddd){const _0x492eca=a117_0x4e1af9;validateMoveInput(_0x266ddd);const {plan:_0x26c6bb,patch:_0x595a08,noChanges:_0x580b80,snapshot:_0x3a1c74}=await buildMovePlan(_0x266ddd,![]),_0x5db268=_0x595a08['id'];if(!_0x580b80)try{await updateMenuEntity(_0x266ddd['appCode'],_0x266ddd[_0x492eca(0x116)],_0x595a08);}catch(_0xdb75b){const _0x4c006b=mapMenuApiError(_0xdb75b,_0x492eca(0x12e),_0x5db268);throw menuFailure(_0x4c006b,_0x26c6bb,{'stage':_0x492eca(0x127),'failed':{'id':_0x5db268},'warnings':[_0x492eca(0x134)],'verification':{'status':_0x492eca(0x12f),'targetId':_0x5db268,'lookupCommand':_0x492eca(0x123)}});}let _0x1139fd,_0x1782cc;try{_0x1139fd=_0x580b80?_0x3a1c74:await fetchMenuSnapshot(_0x266ddd['appCode'],_0x266ddd[_0x492eca(0x116)]),_0x1782cc=requireMenu(_0x1139fd,_0x5db268),verifyMove(_0x1782cc,_0x26c6bb['after']),_0x1782cc[_0x492eca(0x138)]!==null&&requireFolder(_0x1139fd,_0x1782cc[_0x492eca(0x138)]);}catch(_0x5178aa){const _0x5b461c=describeMenuErrorCause(_0x5178aa,'verify\x20menu\x20move',_0x5db268),_0x5b149f=asVerificationError(_0x5178aa,_0x492eca(0x117)+_0x5db268+_0x492eca(0x128));throw menuFailure(_0x5b149f,_0x26c6bb,{'stage':_0x492eca(0x11c),'succeeded':[{'id':_0x5db268,'updateRequested':!_0x580b80,'skipped':_0x580b80}],'failed':{'id':_0x5db268,'requestedStateConfirmed':![],..._0x5b461c},'warnings':[_0x492eca(0x11f)],'verification':{'status':'failed','targetId':_0x5db268,'lookupCommand':_0x492eca(0x123)}});}const _0x366d3b=mutationResult({..._0x26c6bb,'after':_0x1782cc,'dryRun':![],'succeeded':[{'id':_0x5db268,'updated':!_0x580b80,'skipped':_0x580b80}],'verification':{'checkedBy':_0x492eca(0x11d),'snapshotHash':_0x1139fd[_0x492eca(0x12d)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x366d3b,'message':_0x580b80?_0x492eca(0x13b)+_0x5db268+_0x492eca(0x10f):_0x492eca(0x13a)+_0x5db268+'.'};}};function validateMoveInput(_0x290d33){const _0x5deaf1=a117_0x4e1af9;validateExactId(_0x290d33),parseParentId(_0x290d33,_0x5deaf1(0x139),{'required':!![]}),parseParentId(_0x290d33,_0x5deaf1(0x11a),{'required':!![]}),validateSort(_0x290d33);}async function buildMovePlan(_0x3eced8,_0x55eb4f){const _0x532322=a117_0x4e1af9,_0x38cf34=validateExactId(_0x3eced8),_0x5c6cdf=parseParentId(_0x3eced8,_0x532322(0x139),{'required':!![]}),_0x259a4c=parseParentId(_0x3eced8,_0x532322(0x11a),{'required':!![]}),_0x7d3a69=validateSort(_0x3eced8),_0x3a02cf=await fetchMutationSnapshot(_0x3eced8,'move\x20menu',_0x38cf34),_0x1228be=requireMenu(_0x3a02cf,_0x38cf34);if(_0x1228be[_0x532322(0x12b)]===_0x532322(0x136)||_0x1228be['childrenCount']!==0x0)throw menuError(_0x532322(0x12a),_0x532322(0x13b)+_0x38cf34+_0x532322(0x133),_0x532322(0x129));if(_0x1228be[_0x532322(0x138)]!==_0x259a4c)throw menuError(_0x532322(0x130),_0x532322(0x13b)+_0x38cf34+_0x532322(0x13c)+formatParent(_0x259a4c)+_0x532322(0x126)+formatParent(_0x1228be[_0x532322(0x138)])+'.',_0x532322(0x118));_0x5c6cdf!==null&&requireFolder(_0x3a02cf,_0x5c6cdf);const _0x5e2558=_0x7d3a69??(_0x1228be[_0x532322(0x138)]===_0x5c6cdf?_0x1228be[_0x532322(0x113)]??0x0:nextSiblingSort(_0x3a02cf,_0x5c6cdf,_0x532322(0x119))),_0x4f7569={..._0x1228be,'parentId':_0x5c6cdf,'sort':_0x5e2558},_0x293924={'id':_0x38cf34,'parentId':toApiParentId(_0x5c6cdf),'sort':_0x5e2558},_0x1e6d74=_0x1228be[_0x532322(0x138)]===_0x5c6cdf&&_0x1228be[_0x532322(0x113)]===_0x5e2558;return{'patch':_0x293924,'noChanges':_0x1e6d74,'snapshot':_0x3a02cf,'plan':mutationResult({'operation':_0x532322(0x12e),'selector':{'id':_0x38cf34,'parentId':_0x5c6cdf},'before':_0x1228be,'after':_0x4f7569,'dryRun':_0x55eb4f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x532322(0x125),'method':_0x532322(0x132),'path':'/smartapi/menu/update','body':{..._0x293924,'appCode':_0x3eced8['appCode']}}],'snapshotHash':_0x3a02cf[_0x532322(0x12d)],'warnings':_0x1e6d74?[_0x532322(0x112)]:[]})};}function a117_0x54d1(){const _0x3fda9c=['\x20is\x20now\x20type\x20folder.','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','sort','1760290pXjVkm','1713640OSlITI','cookie','Move\x20request\x20for\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','menu','expect-parent-id','/smartapi/menu/update','verification','menu\x20list','2727204gXKHlj','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','4yljgan','\x20is\x20no\x20longer\x20a\x20leaf.','3701iMcuip','rabetbase\x20menu\x20list\x20--format\x20compress','9GshuLC','move-menu',',\x20current\x20','update','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','menu_move_source_not_leaf','type','1226742WqKBTk','hash','move','failed','menu_state_drift','appCode','POST','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Would\x20move\x20menu\x20','folder','5034NEhZbi','parentId','parent-id','Moved\x20menu\x20','Menu\x20','\x20parent\x20changed:\x20expected\x20','712rOcdxL','36239kjOqJv','39MMErJe','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.'];a117_0x54d1=function(){return _0x3fda9c;};return a117_0x54d1();}function a117_0x3e9c(_0x1530f9,_0x39692e){_0x1530f9=_0x1530f9-0x10d;const _0x54d1c9=a117_0x54d1();let _0x3e9c48=_0x54d1c9[_0x1530f9];return _0x3e9c48;}function verifyMove(_0x236d09,_0x5495c2){const _0x41752f=a117_0x4e1af9;assertVerified(_0x236d09[_0x41752f(0x12b)]!==_0x41752f(0x136),'Menu\x20'+_0x236d09['id']+_0x41752f(0x110)),assertVerified(_0x236d09['childrenCount']===0x0,'Menu\x20'+_0x236d09['id']+_0x41752f(0x121)),assertVerified(_0x236d09[_0x41752f(0x138)]===_0x5495c2[_0x41752f(0x138)],_0x41752f(0x13b)+_0x236d09['id']+_0x41752f(0x111)),assertVerified(_0x236d09['sort']===_0x5495c2[_0x41752f(0x113)],_0x41752f(0x13b)+_0x236d09['id']+'\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a116_0x50cb9f=a116_0x18c6;(function(_0x38ecee,_0x18c8e3){const _0x437de3=a116_0x18c6,_0x465634=_0x38ecee();while(!![]){try{const _0x3920e0=-parseInt(_0x437de3(0x15d))/0x1+parseInt(_0x437de3(0x11e))/0x2+parseInt(_0x437de3(0x121))/0x3+-parseInt(_0x437de3(0x112))/0x4*(-parseInt(_0x437de3(0x129))/0x5)+-parseInt(_0x437de3(0x142))/0x6*(parseInt(_0x437de3(0x11c))/0x7)+parseInt(_0x437de3(0x11a))/0x8*(parseInt(_0x437de3(0x145))/0x9)+parseInt(_0x437de3(0x146))/0xa;if(_0x3920e0===_0x18c8e3)break;else _0x465634['push'](_0x465634['shift']());}catch(_0x5a4753){_0x465634['push'](_0x465634['shift']());}}}(a116_0x4a3c,0x5c5aa));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a116_0x4a3c(){const _0x46e4df=['SUCCESS','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','Regroup\x20task\x20accepted.\x20','menu_regroup_already_applied','menu_regroup_target_label_missing','isSafeInteger','byId','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','<platform-generated>','toLowerCase','136GgVFyA','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','sort','hash','isTerminal','childrenIds','cookie','start\x20regroup','6232YdtRIN','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','7BayUMx','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','84180UVmxaF','high-risk-write','Regroup\x20readback\x20failed:\x20','924441ApcWHY','validation','Menu\x20','split','menus','test','plan\x20regroup','menu-ids','62195CAVThG','get','flagMissing','\x20menus\x20per\x20regroup\x20request.','--menu-ids\x20supports\x20at\x20most\x20','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','failed','taskId','map','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','label','unconfirmed','appCode','join','size','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','/smartapi/menu/regroup','parentId','group','\x20and\x20regroup\x20menu\x20ids\x20',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','readbackError','string','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','type','4278450sduIzS','status','stringify','162OYlnhI','3722900pIpCQO','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','length','knownStatus','Menus\x20','str','input','regroup-start','folder','menuIds','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','menu\x20list','plan','applied','replace','Root\x20folder\x20label\x20','trim','submit-regroup-task','some','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','menu_regroup_target_not_leaf','<new-group-id>','68118JLdfgF','childrenCount','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','POST','warnings'];a116_0x4a3c=function(){return _0x46e4df;};return a116_0x4a3c();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';function a116_0x18c6(_0x15a2a9,_0x473e39){_0x15a2a9=_0x15a2a9-0x103;const _0x4a3cad=a116_0x4a3c();let _0x18c6b3=_0x4a3cad[_0x15a2a9];return _0x18c6b3;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a116_0x50cb9f(0x105),'path':a116_0x50cb9f(0x139)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':'menu','command':a116_0x50cb9f(0x14e),'description':a116_0x50cb9f(0x147),'risk':a116_0x50cb9f(0x11f),'structuredErrors':!![],'flags':[{'name':'label','type':a116_0x50cb9f(0x13f),'required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a116_0x50cb9f(0x128),'type':a116_0x50cb9f(0x13f),'required':!![],'description':a116_0x50cb9f(0x11d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x487bb8){validateRegroupInput(_0x487bb8),requireExplicitYes(_0x487bb8);},async 'dryRun'(_0xb08e18){const _0x444ddc=a116_0x50cb9f;validateRegroupInput(_0xb08e18);const _0x25cfb5=await buildRegroupPlan(_0xb08e18,!![]);return menuDryRunResult(_0x25cfb5[_0x444ddc(0x153)],{'method':_0x444ddc(0x105),'url':_0x444ddc(0x139),'body':_0x25cfb5[_0x444ddc(0x14d)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON[_0x444ddc(0x144)](_0x25cfb5[_0x444ddc(0x133)])+_0x444ddc(0x13c)+_0x25cfb5['menuIds']['join'](',\x20')+_0x444ddc(0x13d)});},async 'execute'(_0x3c6e9b){const _0x56522c=a116_0x50cb9f;validateRegroupInput(_0x3c6e9b),requireExplicitYes(_0x3c6e9b);const _0x1895f3=await buildRegroupPlan(_0x3c6e9b,![]);await recheckMutationSnapshot(_0x3c6e9b,_0x1895f3['plan'],_0x56522c(0x119));const _0x191166=buildMenuLookupCommand(_0x3c6e9b[_0x56522c(0x135)]);let _0x12a826,_0x39705e;try{_0x12a826=await startMenuRegroup(_0x3c6e9b[_0x56522c(0x118)],_0x1895f3['input']),_0x39705e=normalizeAsyncTask(_0x12a826);}catch(_0x205c50){const _0xdbec8=await inspectRegroupAfterFailure(_0x3c6e9b[_0x56522c(0x135)],_0x3c6e9b['cookie'],_0x1895f3['label'],_0x1895f3['menuIds']),_0xe97072=typeof _0x12a826?.[_0x56522c(0x130)]===_0x56522c(0x13f)&&_0x12a826[_0x56522c(0x130)][_0x56522c(0x157)]()?_0x12a826[_0x56522c(0x130)]['trim']():null,_0x42eb01=_0xe97072?{'command':buildAsyncTaskStatusCommand(_0xe97072,_0x3c6e9b[_0x56522c(0x135)])}:null,_0x1a6698=mapMenuApiError(_0x205c50,'start\x20menu\x20regroup');throw menuFailure(_0x1a6698,_0x1895f3[_0x56522c(0x153)],{'stage':'regroup-submit','failed':{'menuIds':_0x1895f3[_0x56522c(0x150)],'taskId':_0xe97072,'groupingApplied':_0xdbec8[_0x56522c(0x154)]?!![]:'unconfirmed'},'after':_0xdbec8['applied']??null,'warnings':[_0x56522c(0x113),..._0xdbec8[_0x56522c(0x13e)]?['Regroup\x20readback\x20also\x20failed:\x20'+_0xdbec8[_0x56522c(0x13e)]]:[],..._0xe97072?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':_0x56522c(0x12f),'groupingApplied':_0xdbec8[_0x56522c(0x154)]?!![]:_0x56522c(0x134),'taskId':_0xe97072,'query':_0x42eb01,'lookupCommand':_0x191166}});}const _0x4ca22d=buildAsyncTaskStatusCommand(_0x39705e['taskId'],_0x3c6e9b[_0x56522c(0x135)]);let _0x4ffc40=null,_0x569e4d=null,_0x4f107a=null;try{_0x4ffc40=await fetchMenuSnapshot(_0x3c6e9b[_0x56522c(0x135)],_0x3c6e9b[_0x56522c(0x118)]),_0x569e4d=findAppliedRegroup(_0x4ffc40,_0x1895f3[_0x56522c(0x133)],_0x1895f3['menuIds']);}catch(_0x4a49a5){_0x4f107a=_0x4a49a5 instanceof Error?_0x4a49a5['message']:String(_0x4a49a5);}const _0x3f33fd=mutationResult({..._0x1895f3[_0x56522c(0x153)],'after':_0x569e4d??null,'dryRun':![],'succeeded':[{'groupId':_0x569e4d?.[_0x56522c(0x13b)]['id']??null,'menuIds':_0x1895f3[_0x56522c(0x150)],'taskId':_0x39705e[_0x56522c(0x130)],'status':_0x39705e[_0x56522c(0x143)],'groupingApplied':_0x569e4d?!![]:_0x56522c(0x134)}],'verification':{'checkedBy':_0x56522c(0x152),'snapshotHash':_0x4ffc40?.[_0x56522c(0x115)]??null,'groupId':_0x569e4d?.['group']['id']??null,'groupingApplied':_0x569e4d?!![]:_0x56522c(0x134),'readbackError':_0x4f107a,'lookupCommand':_0x191166},'warnings':[..._0x1895f3['plan'][_0x56522c(0x106)],...!_0x569e4d?[unconfirmedRegroupWarning(_0x39705e)]:[],..._0x4f107a?[_0x56522c(0x120)+_0x4f107a]:[]]}),_0x272666=_0x39705e['status']==='SUCCESS'&&!_0x569e4d?'Regroup\x20task\x20'+_0x39705e[_0x56522c(0x130)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x56522c(0x10a)+asyncTaskMessage(_0x39705e);return{'ok':!![],'message':_0x272666,'data':{..._0x3f33fd,'task':_0x39705e,'query':_0x39705e[_0x56522c(0x116)]?null:{'command':_0x4ca22d}}};}};function validateRegroupInput(_0x286cab){const _0x43cccf=a116_0x50cb9f;if(!_0x286cab['str'](_0x43cccf(0x133))[_0x43cccf(0x157)]())throw CliErrors[_0x43cccf(0x12b)](_0x43cccf(0x133));parseMenuIds(_0x286cab[_0x43cccf(0x14c)](_0x43cccf(0x128)));}function parseMenuIds(_0x24cfce){const _0x4b5fc3=a116_0x50cb9f,_0x4c025a=_0x24cfce[_0x4b5fc3(0x124)](',')['map'](_0x21234f=>_0x21234f[_0x4b5fc3(0x157)]());if(_0x4c025a[_0x4b5fc3(0x149)]===0x0||_0x4c025a[_0x4b5fc3(0x159)](_0x20c42e=>!_0x20c42e))throw CliErrors[_0x4b5fc3(0x122)](_0x4b5fc3(0x151));const _0x18df03=_0x4c025a[_0x4b5fc3(0x131)](_0x4c9b4e=>{const _0x21bd29=_0x4b5fc3;if(!/^\d+$/[_0x21bd29(0x126)](_0x4c9b4e))throw CliErrors[_0x21bd29(0x122)](_0x21bd29(0x151));const _0x5de80d=Number(_0x4c9b4e);if(!Number[_0x21bd29(0x10d)](_0x5de80d)||_0x5de80d<=0x0)throw CliErrors[_0x21bd29(0x122)](_0x21bd29(0x151));return _0x5de80d;});if(new Set(_0x18df03)[_0x4b5fc3(0x137)]!==_0x18df03[_0x4b5fc3(0x149)])throw CliErrors[_0x4b5fc3(0x122)](_0x4b5fc3(0x11b));if(_0x18df03[_0x4b5fc3(0x149)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x4b5fc3(0x122)](_0x4b5fc3(0x12d)+MAX_REGROUP_MENU_COUNT+_0x4b5fc3(0x12c));return _0x18df03;}function buildMenuLookupCommand(_0x21cade){const _0x3f9c3c=a116_0x50cb9f,_0x460424='\x27'+_0x21cade[_0x3f9c3c(0x155)](/'/g,'\x27\x5c\x27\x27')+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x460424+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x58dd49){const _0x2b5955=a116_0x50cb9f;if(_0x58dd49['status']===_0x2b5955(0x107))return _0x2b5955(0x15a);if(_0x58dd49[_0x2b5955(0x143)]==='FAILED')return _0x2b5955(0x108);if(_0x58dd49[_0x2b5955(0x14a)])return _0x2b5955(0x109);return _0x2b5955(0x140);}async function buildRegroupPlan(_0xd19c83,_0x4e73cf){const _0x10aaa5=a116_0x50cb9f,_0x4f93d3=_0xd19c83[_0x10aaa5(0x14c)]('label')['trim'](),_0x5a35af=parseMenuIds(_0xd19c83[_0x10aaa5(0x14c)](_0x10aaa5(0x128))),_0x5a689c=await fetchMutationSnapshot(_0xd19c83,_0x10aaa5(0x127)),_0x2c1a9e=_0x5a35af[_0x10aaa5(0x131)](_0x453263=>requireMenu(_0x5a689c,_0x453263));for(const _0x30b69e of _0x2c1a9e){if(_0x30b69e[_0x10aaa5(0x141)][_0x10aaa5(0x157)]()['toLowerCase']()===_0x10aaa5(0x14f)||_0x30b69e[_0x10aaa5(0x103)]>0x0)throw menuError(_0x10aaa5(0x15b),_0x10aaa5(0x123)+_0x30b69e['id']+_0x10aaa5(0x10f),_0x10aaa5(0x148));if(!_0x30b69e[_0x10aaa5(0x133)][_0x10aaa5(0x157)]())throw menuError(_0x10aaa5(0x10c),_0x10aaa5(0x123)+_0x30b69e['id']+'\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0x7f9dec=findAppliedRegroup(_0x5a689c,_0x4f93d3,_0x5a35af);if(_0x7f9dec)throw menuError(_0x10aaa5(0x10b),_0x10aaa5(0x14b)+_0x5a35af[_0x10aaa5(0x136)](',\x20')+_0x10aaa5(0x138)+_0x7f9dec[_0x10aaa5(0x13b)]['id']+'\x20('+JSON[_0x10aaa5(0x144)](_0x4f93d3)+').','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.');const _0x216922=_0x5a689c[_0x10aaa5(0x125)]['filter'](_0x27d763=>_0x27d763['parentId']==null&&_0x27d763['type'][_0x10aaa5(0x157)]()['toLowerCase']()===_0x10aaa5(0x14f)&&_0x27d763[_0x10aaa5(0x133)]===_0x4f93d3);if(_0x216922['length']>0x0)throw menuError('menu_regroup_label_conflict',_0x10aaa5(0x156)+JSON[_0x10aaa5(0x144)](_0x4f93d3)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x216922[_0x10aaa5(0x131)](_0x25d4a7=>_0x25d4a7['id'])[_0x10aaa5(0x136)](',\x20')+'.',_0x10aaa5(0x104));const _0x262c7e={'appCode':_0xd19c83['appCode'],'menuGroups':[{'label':_0x4f93d3,'type':_0x10aaa5(0x14f),'children':_0x2c1a9e[_0x10aaa5(0x131)](_0xfb6cae=>({'id':_0xfb6cae['id'],'label':_0xfb6cae[_0x10aaa5(0x133)]}))}]},_0x1ffd75=mutationResult({'operation':_0x10aaa5(0x14e),'selector':{'label':_0x4f93d3,'menuIds':_0x5a35af},'before':{'menus':_0x2c1a9e},'after':{'group':{'id':null,'parentId':null,'label':_0x4f93d3,'path':_0x10aaa5(0x110),'type':'folder','childrenIds':_0x5a35af},'children':_0x2c1a9e[_0x10aaa5(0x131)](_0x26f554=>({'id':_0x26f554['id'],'label':_0x26f554[_0x10aaa5(0x133)],'beforeParentId':_0x26f554['parentId'],'afterParentId':_0x10aaa5(0x15c)}))},'dryRun':_0x4e73cf,'backend':[...BACKEND],'plannedActions':[{'stage':_0x10aaa5(0x158),'method':'POST','path':_0x10aaa5(0x139),'body':_0x262c7e}],'snapshotHash':_0x5a689c['hash'],'warnings':[_0x10aaa5(0x12e),_0x10aaa5(0x132)]});return{'label':_0x4f93d3,'menuIds':_0x5a35af,'input':_0x262c7e,'plan':_0x1ffd75};}function findAppliedRegroup(_0x593102,_0x21b062,_0x58ff0c){const _0x3e3547=a116_0x50cb9f,_0x3359a3=_0x58ff0c[_0x3e3547(0x131)](_0x346f4d=>_0x593102[_0x3e3547(0x10e)]['get'](_0x346f4d))['filter'](_0x3a27e2=>Boolean(_0x3a27e2));if(_0x3359a3[_0x3e3547(0x149)]!==_0x58ff0c[_0x3e3547(0x149)])return null;const _0x471058=_0x3359a3[0x0]?.[_0x3e3547(0x13a)];if(_0x471058==null||_0x3359a3[_0x3e3547(0x159)](_0x391e84=>_0x391e84[_0x3e3547(0x13a)]!==_0x471058))return null;const _0x29a44c=_0x593102['byId'][_0x3e3547(0x12a)](_0x471058);if(!_0x29a44c||_0x29a44c[_0x3e3547(0x13a)]!=null||_0x29a44c[_0x3e3547(0x141)][_0x3e3547(0x157)]()[_0x3e3547(0x111)]()!==_0x3e3547(0x14f)||_0x29a44c[_0x3e3547(0x133)]!==_0x21b062)return null;const _0x3beb47=[..._0x58ff0c][_0x3e3547(0x114)]((_0x2789ee,_0x2d0fd8)=>_0x2789ee-_0x2d0fd8),_0x4fa04e=[..._0x29a44c[_0x3e3547(0x117)]][_0x3e3547(0x114)]((_0x53c5ff,_0x10e5ba)=>_0x53c5ff-_0x10e5ba);if(JSON[_0x3e3547(0x144)](_0x4fa04e)!==JSON[_0x3e3547(0x144)](_0x3beb47))return null;return{'group':_0x29a44c,'children':_0x3359a3};}async function inspectRegroupAfterFailure(_0x391793,_0x282bc8,_0x1a42ea,_0x283049){try{const _0xd14e82=await fetchMenuSnapshot(_0x391793,_0x282bc8);return{'applied':findAppliedRegroup(_0xd14e82,_0x1a42ea,_0x283049),'readbackError':null};}catch(_0x5c2b36){return{'applied':null,'readbackError':_0x5c2b36 instanceof Error?_0x5c2b36['message']:String(_0x5c2b36)};}}
|
|
1
|
+
const a118_0x392b69=a118_0x10f3;(function(_0x445485,_0x12c658){const _0x1c863c=a118_0x10f3,_0x4942c2=_0x445485();while(!![]){try{const _0x43875a=parseInt(_0x1c863c(0x18c))/0x1+parseInt(_0x1c863c(0x184))/0x2+parseInt(_0x1c863c(0x1b6))/0x3+parseInt(_0x1c863c(0x19b))/0x4*(-parseInt(_0x1c863c(0x1ad))/0x5)+-parseInt(_0x1c863c(0x180))/0x6+parseInt(_0x1c863c(0x188))/0x7*(-parseInt(_0x1c863c(0x1a0))/0x8)+-parseInt(_0x1c863c(0x17b))/0x9*(-parseInt(_0x1c863c(0x1a4))/0xa);if(_0x43875a===_0x12c658)break;else _0x4942c2['push'](_0x4942c2['shift']());}catch(_0x4f4af0){_0x4942c2['push'](_0x4942c2['shift']());}}}(a118_0xcdb2,0x929a1));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a118_0x392b69(0x18d),'path':a118_0x392b69(0x1aa)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a118_0x392b69(0x1a3),'command':a118_0x392b69(0x173),'description':a118_0x392b69(0x1ac),'risk':a118_0x392b69(0x17a),'structuredErrors':!![],'flags':[{'name':a118_0x392b69(0x1bf),'type':a118_0x392b69(0x172),'required':!![],'description':a118_0x392b69(0x1ce)},{'name':a118_0x392b69(0x17c),'type':'string','required':!![],'description':a118_0x392b69(0x1a2)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x7b5c6e){validateRegroupInput(_0x7b5c6e);},async 'dryRun'(_0x531183){const _0x1dc616=a118_0x392b69;validateRegroupInput(_0x531183);const _0x581bac=await buildRegroupPlan(_0x531183,!![]);return menuDryRunResult(_0x581bac[_0x1dc616(0x1c6)],{'method':_0x1dc616(0x18d),'url':_0x1dc616(0x1aa),'body':_0x581bac[_0x1dc616(0x1ab)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON[_0x1dc616(0x1d7)](_0x581bac[_0x1dc616(0x1bf)])+_0x1dc616(0x1bb)+_0x581bac[_0x1dc616(0x176)][_0x1dc616(0x1a8)](',\x20')+_0x1dc616(0x18b)});},async 'execute'(_0x5df96d){const _0x310159=a118_0x392b69;validateRegroupInput(_0x5df96d);const _0x39985f=await buildRegroupPlan(_0x5df96d,![]);await recheckMutationSnapshot(_0x5df96d,_0x39985f[_0x310159(0x1c6)],'start\x20regroup');const _0x4c0e61=buildMenuLookupCommand(_0x5df96d[_0x310159(0x1c5)]);let _0x2e8e41,_0x183cb9;try{_0x2e8e41=await startMenuRegroup(_0x5df96d[_0x310159(0x195)],_0x39985f['input']),_0x183cb9=normalizeAsyncTask(_0x2e8e41);}catch(_0x386b47){const _0x298498=await inspectRegroupAfterFailure(_0x5df96d['appCode'],_0x5df96d[_0x310159(0x195)],_0x39985f['label'],_0x39985f[_0x310159(0x176)]),_0x3a9825=typeof _0x2e8e41?.[_0x310159(0x193)]===_0x310159(0x172)&&_0x2e8e41[_0x310159(0x193)][_0x310159(0x1d0)]()?_0x2e8e41[_0x310159(0x193)][_0x310159(0x1d0)]():null,_0x553cc0=_0x3a9825?{'command':buildAsyncTaskStatusCommand(_0x3a9825,_0x5df96d[_0x310159(0x1c5)])}:null,_0x4deebc=mapMenuApiError(_0x386b47,_0x310159(0x17d));throw menuFailure(_0x4deebc,_0x39985f[_0x310159(0x1c6)],{'stage':_0x310159(0x1cb),'failed':{'menuIds':_0x39985f[_0x310159(0x176)],'taskId':_0x3a9825,'groupingApplied':_0x298498[_0x310159(0x1b1)]?!![]:_0x310159(0x19d)},'after':_0x298498['applied']??null,'warnings':[_0x310159(0x191),..._0x298498[_0x310159(0x1b5)]?[_0x310159(0x1a5)+_0x298498['readbackError']]:[],..._0x3a9825?[_0x310159(0x1a9)]:[]],'verification':{'status':_0x310159(0x17e),'groupingApplied':_0x298498['applied']?!![]:_0x310159(0x19d),'taskId':_0x3a9825,'query':_0x553cc0,'lookupCommand':_0x4c0e61}});}const _0xee57e1=buildAsyncTaskStatusCommand(_0x183cb9['taskId'],_0x5df96d[_0x310159(0x1c5)]);let _0x4b1ab6=null,_0x1e7294=null,_0x4f9c3f=null;try{_0x4b1ab6=await fetchMenuSnapshot(_0x5df96d[_0x310159(0x1c5)],_0x5df96d[_0x310159(0x195)]),_0x1e7294=findAppliedRegroup(_0x4b1ab6,_0x39985f[_0x310159(0x1bf)],_0x39985f[_0x310159(0x176)]);}catch(_0x8c125b){_0x4f9c3f=_0x8c125b instanceof Error?_0x8c125b[_0x310159(0x194)]:String(_0x8c125b);}const _0x4acd1b=mutationResult({..._0x39985f[_0x310159(0x1c6)],'after':_0x1e7294??null,'dryRun':![],'succeeded':[{'groupId':_0x1e7294?.[_0x310159(0x182)]['id']??null,'menuIds':_0x39985f[_0x310159(0x176)],'taskId':_0x183cb9[_0x310159(0x193)],'status':_0x183cb9[_0x310159(0x1be)],'groupingApplied':_0x1e7294?!![]:_0x310159(0x19d)}],'verification':{'checkedBy':_0x310159(0x1a1),'snapshotHash':_0x4b1ab6?.['hash']??null,'groupId':_0x1e7294?.['group']['id']??null,'groupingApplied':_0x1e7294?!![]:_0x310159(0x19d),'readbackError':_0x4f9c3f,'lookupCommand':_0x4c0e61},'warnings':[..._0x39985f[_0x310159(0x1c6)][_0x310159(0x1ba)],...!_0x1e7294?[unconfirmedRegroupWarning(_0x183cb9)]:[],..._0x4f9c3f?[_0x310159(0x174)+_0x4f9c3f]:[]]}),_0x36e58f=_0x183cb9[_0x310159(0x1be)]===_0x310159(0x18a)&&!_0x1e7294?'Regroup\x20task\x20'+_0x183cb9[_0x310159(0x193)]+_0x310159(0x19c):_0x310159(0x1cc)+asyncTaskMessage(_0x183cb9);return{'ok':!![],'message':_0x36e58f,'data':{..._0x4acd1b,'task':_0x183cb9,'query':_0x183cb9['isTerminal']?null:{'command':_0xee57e1}}};}};function validateRegroupInput(_0x14b579){const _0xbc5890=a118_0x392b69;if(!_0x14b579['str'](_0xbc5890(0x1bf))[_0xbc5890(0x1d0)]())throw CliErrors[_0xbc5890(0x190)]('label');parseMenuIds(_0x14b579[_0xbc5890(0x181)](_0xbc5890(0x17c)));}function parseMenuIds(_0x394ada){const _0x4573b1=a118_0x392b69,_0x57822a=_0x394ada[_0x4573b1(0x192)](',')[_0x4573b1(0x1d4)](_0x34081a=>_0x34081a[_0x4573b1(0x1d0)]());if(_0x57822a[_0x4573b1(0x198)]===0x0||_0x57822a[_0x4573b1(0x18f)](_0x2fd0d6=>!_0x2fd0d6))throw CliErrors['validation'](_0x4573b1(0x19a));const _0x1164ca=_0x57822a['map'](_0x1260d7=>{const _0x18fdbc=_0x4573b1;if(!/^\d+$/[_0x18fdbc(0x1c2)](_0x1260d7))throw CliErrors[_0x18fdbc(0x1af)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x9dd2f2=Number(_0x1260d7);if(!Number[_0x18fdbc(0x1d6)](_0x9dd2f2)||_0x9dd2f2<=0x0)throw CliErrors[_0x18fdbc(0x1af)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');return _0x9dd2f2;});if(new Set(_0x1164ca)[_0x4573b1(0x199)]!==_0x1164ca[_0x4573b1(0x198)])throw CliErrors['validation'](_0x4573b1(0x1b9));if(_0x1164ca[_0x4573b1(0x198)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x4573b1(0x1af)](_0x4573b1(0x1c3)+MAX_REGROUP_MENU_COUNT+_0x4573b1(0x1b4));return _0x1164ca;}function a118_0xcdb2(){const _0xfa82b=['Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','folder','test','--menu-ids\x20supports\x20at\x20most\x20','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','appCode','plan','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','get','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','parentId','regroup-submit','Regroup\x20task\x20accepted.\x20','Root\x20folder\x20label\x20','Label\x20of\x20the\x20new\x20root\x20folder','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','trim','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','type','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','map','menus','isSafeInteger','stringify','childrenCount','string','regroup-start','Regroup\x20readback\x20failed:\x20','menu_regroup_target_not_leaf','menuIds','<new-group-id>','Menus\x20','hash','write','1059498otXnrG','menu-ids','start\x20menu\x20regroup','failed','replace','381990SgvBfs','str','group','submit-regroup-task','1672548hIaTVE','menu_regroup_already_applied','\x20menu\x20list\x20--appcode\x20','menu_regroup_target_label_missing','686jCcgai','Menu\x20','SUCCESS',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','112119MRQvsT','POST','byId','some','flagMissing','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','split','taskId','message','cookie','childrenIds','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','length','size','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','48556YKAsUK','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','unconfirmed','\x20--format\x20compress','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','5024uHQoWO','menu\x20list','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','menu','20JDaseg','Regroup\x20readback\x20also\x20failed:\x20','toLowerCase','filter','join','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','/smartapi/menu/regroup','input','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','455qpEffI','sort','validation','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','applied','menu_regroup_label_conflict','knownStatus','\x20menus\x20per\x20regroup\x20request.','readbackError','1939506njOISj','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','plan\x20regroup','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','warnings','\x20and\x20regroup\x20menu\x20ids\x20','\x27\x5c\x27\x27','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','status','label'];a118_0xcdb2=function(){return _0xfa82b;};return a118_0xcdb2();}function buildMenuLookupCommand(_0x13fc02){const _0x149f78=a118_0x392b69,_0x3bf0ae='\x27'+_0x13fc02[_0x149f78(0x17f)](/'/g,_0x149f78(0x1bc))+'\x27';return CLI_BIN_NAME+_0x149f78(0x186)+_0x3bf0ae+_0x149f78(0x19e);}function unconfirmedRegroupWarning(_0x10d455){const _0x439a5f=a118_0x392b69;if(_0x10d455[_0x439a5f(0x1be)]===_0x439a5f(0x18a))return _0x439a5f(0x1c4);if(_0x10d455[_0x439a5f(0x1be)]==='FAILED')return _0x439a5f(0x1c7);if(_0x10d455[_0x439a5f(0x1b3)])return _0x439a5f(0x1d1);return'The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';}async function buildRegroupPlan(_0x839937,_0x2319ef){const _0xf4f5e9=a118_0x392b69,_0x204bec=_0x839937['str'](_0xf4f5e9(0x1bf))['trim'](),_0x3d4179=parseMenuIds(_0x839937[_0xf4f5e9(0x181)](_0xf4f5e9(0x17c))),_0x200025=await fetchMutationSnapshot(_0x839937,_0xf4f5e9(0x1b8)),_0x301d93=_0x3d4179[_0xf4f5e9(0x1d4)](_0x4b0320=>requireMenu(_0x200025,_0x4b0320));for(const _0x29cb57 of _0x301d93){if(_0x29cb57[_0xf4f5e9(0x1d2)]['trim']()[_0xf4f5e9(0x1a6)]()===_0xf4f5e9(0x1c1)||_0x29cb57[_0xf4f5e9(0x171)]>0x0)throw menuError(_0xf4f5e9(0x175),_0xf4f5e9(0x189)+_0x29cb57['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0xf4f5e9(0x197));if(!_0x29cb57[_0xf4f5e9(0x1bf)][_0xf4f5e9(0x1d0)]())throw menuError(_0xf4f5e9(0x187),_0xf4f5e9(0x189)+_0x29cb57['id']+_0xf4f5e9(0x1c9),_0xf4f5e9(0x1c0));}const _0x2cd7d3=findAppliedRegroup(_0x200025,_0x204bec,_0x3d4179);if(_0x2cd7d3)throw menuError(_0xf4f5e9(0x185),_0xf4f5e9(0x178)+_0x3d4179[_0xf4f5e9(0x1a8)](',\x20')+_0xf4f5e9(0x19f)+_0x2cd7d3['group']['id']+'\x20('+JSON[_0xf4f5e9(0x1d7)](_0x204bec)+').',_0xf4f5e9(0x1b7));const _0x365956=_0x200025[_0xf4f5e9(0x1d5)][_0xf4f5e9(0x1a7)](_0x4223ad=>_0x4223ad[_0xf4f5e9(0x1ca)]==null&&_0x4223ad[_0xf4f5e9(0x1d2)][_0xf4f5e9(0x1d0)]()[_0xf4f5e9(0x1a6)]()===_0xf4f5e9(0x1c1)&&_0x4223ad[_0xf4f5e9(0x1bf)]===_0x204bec);if(_0x365956[_0xf4f5e9(0x198)]>0x0)throw menuError(_0xf4f5e9(0x1b2),_0xf4f5e9(0x1cd)+JSON['stringify'](_0x204bec)+_0xf4f5e9(0x1b0)+_0x365956[_0xf4f5e9(0x1d4)](_0x206137=>_0x206137['id'])['join'](',\x20')+'.',_0xf4f5e9(0x1bd));const _0x4cba99={'appCode':_0x839937[_0xf4f5e9(0x1c5)],'menuGroups':[{'label':_0x204bec,'type':_0xf4f5e9(0x1c1),'children':_0x301d93[_0xf4f5e9(0x1d4)](_0x3a83c5=>({'id':_0x3a83c5['id'],'label':_0x3a83c5[_0xf4f5e9(0x1bf)]}))}]},_0x4719b6=mutationResult({'operation':_0xf4f5e9(0x173),'selector':{'label':_0x204bec,'menuIds':_0x3d4179},'before':{'menus':_0x301d93},'after':{'group':{'id':null,'parentId':null,'label':_0x204bec,'path':'<platform-generated>','type':_0xf4f5e9(0x1c1),'childrenIds':_0x3d4179},'children':_0x301d93[_0xf4f5e9(0x1d4)](_0x37df96=>({'id':_0x37df96['id'],'label':_0x37df96[_0xf4f5e9(0x1bf)],'beforeParentId':_0x37df96[_0xf4f5e9(0x1ca)],'afterParentId':_0xf4f5e9(0x177)}))},'dryRun':_0x2319ef,'backend':[...BACKEND],'plannedActions':[{'stage':_0xf4f5e9(0x183),'method':'POST','path':_0xf4f5e9(0x1aa),'body':_0x4cba99}],'snapshotHash':_0x200025[_0xf4f5e9(0x179)],'warnings':[_0xf4f5e9(0x1d3),_0xf4f5e9(0x1cf)]});return{'label':_0x204bec,'menuIds':_0x3d4179,'input':_0x4cba99,'plan':_0x4719b6};}function findAppliedRegroup(_0x452465,_0x2ed8a2,_0x57396f){const _0x53b7c5=a118_0x392b69,_0x20e04b=_0x57396f[_0x53b7c5(0x1d4)](_0x140e99=>_0x452465[_0x53b7c5(0x18e)][_0x53b7c5(0x1c8)](_0x140e99))[_0x53b7c5(0x1a7)](_0x229e47=>Boolean(_0x229e47));if(_0x20e04b[_0x53b7c5(0x198)]!==_0x57396f[_0x53b7c5(0x198)])return null;const _0x3f2cd0=_0x20e04b[0x0]?.[_0x53b7c5(0x1ca)];if(_0x3f2cd0==null||_0x20e04b[_0x53b7c5(0x18f)](_0x5375e1=>_0x5375e1['parentId']!==_0x3f2cd0))return null;const _0x4a9c40=_0x452465[_0x53b7c5(0x18e)][_0x53b7c5(0x1c8)](_0x3f2cd0);if(!_0x4a9c40||_0x4a9c40['parentId']!=null||_0x4a9c40[_0x53b7c5(0x1d2)][_0x53b7c5(0x1d0)]()['toLowerCase']()!==_0x53b7c5(0x1c1)||_0x4a9c40[_0x53b7c5(0x1bf)]!==_0x2ed8a2)return null;const _0x3e1bce=[..._0x57396f][_0x53b7c5(0x1ae)]((_0x330dc0,_0x18d589)=>_0x330dc0-_0x18d589),_0x4e8d1e=[..._0x4a9c40[_0x53b7c5(0x196)]][_0x53b7c5(0x1ae)]((_0x402c0d,_0x4dd1cd)=>_0x402c0d-_0x4dd1cd);if(JSON[_0x53b7c5(0x1d7)](_0x4e8d1e)!==JSON['stringify'](_0x3e1bce))return null;return{'group':_0x4a9c40,'children':_0x20e04b};}function a118_0x10f3(_0x5c415b,_0x51d7c4){_0x5c415b=_0x5c415b-0x171;const _0xcdb203=a118_0xcdb2();let _0x10f3d4=_0xcdb203[_0x5c415b];return _0x10f3d4;}async function inspectRegroupAfterFailure(_0x38ac93,_0xd4309f,_0x5bf8a3,_0x5a331c){const _0x362f37=a118_0x392b69;try{const _0x450673=await fetchMenuSnapshot(_0x38ac93,_0xd4309f);return{'applied':findAppliedRegroup(_0x450673,_0x5bf8a3,_0x5a331c),'readbackError':null};}catch(_0x5d79e6){return{'applied':null,'readbackError':_0x5d79e6 instanceof Error?_0x5d79e6[_0x362f37(0x194)]:String(_0x5d79e6)};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a117_0x5e01c4=a117_0x29c4;(function(_0x16907d,_0x247b50){const _0x38356e=a117_0x29c4,_0x239c05=_0x16907d();while(!![]){try{const _0x3275f6=parseInt(_0x38356e(0x81))/0x1+parseInt(_0x38356e(0xad))/0x2+-parseInt(_0x38356e(0xba))/0x3+parseInt(_0x38356e(0xbf))/0x4*(parseInt(_0x38356e(0xc9))/0x5)+-parseInt(_0x38356e(0xa1))/0x6+parseInt(_0x38356e(0x82))/0x7+parseInt(_0x38356e(0x92))/0x8*(-parseInt(_0x38356e(0x87))/0x9);if(_0x3275f6===_0x247b50)break;else _0x239c05['push'](_0x239c05['shift']());}catch(_0x33efa7){_0x239c05['push'](_0x239c05['shift']());}}}(a117_0x48b7,0x569d9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a117_0x48b7(){const _0xf31c50=['depth','pageType','\x20changed\x20during\x20the\x20label-only\x20rename.','534778zaPGie','4907455UThFUr','replace','childrenCount','validation','cookie','3473811FNODki','modelType','url','label','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','datasetId','sort','New\x20menu\x20label','The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','datasetCode','get','8TwXbiZ','code','Menu\x20','\x20--format\x20compress','Rename\x20request\x20for\x20menu\x20','rabetbase\x20menu\x20list\x20--appcode\x20','hash','failed','menu_permission_denied','str','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','isArray','/smartapi/menu/update','byId','4256496QshzAe','parentId','expect-label','rename','resourcesValid','body','trim','Response\x20was\x20lost\x20and\x20menu\x20','visible','update-recovery','type','write','547836sfJQJp','menu_state_drift','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','verification','menu_update_recovery_required','\x20label\x20update\x20did\x20not\x20take\x20effect.','POST','childrenIds','readbackFailed','path','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','snapshot','454068YjChUM','Renamed\x20menu\x20','pageId','appCode','stringify','2028glDMJE','rename-menu','menu','\x20label\x20changed:\x20expected\x20',',\x20current\x20','requestedLabelObserved','\x27\x5c\x27\x27','verify\x20menu\x20rename','rename\x20menu','Would\x20rename\x20menu\x20','905piGnzL','plan'];a117_0x48b7=function(){return _0xf31c50;};return a117_0x48b7();}import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a117_0x29c4(_0x4a87fb,_0x25e62e){_0x4a87fb=_0x4a87fb-0x7d;const _0x48b7ca=a117_0x48b7();let _0x29c409=_0x48b7ca[_0x4a87fb];return _0x29c409;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a117_0x5e01c4(0xb3),'path':a117_0x5e01c4(0x9f)}];export const menuRename={'service':a117_0x5e01c4(0xc1),'command':'rename','description':a117_0x5e01c4(0xb7),'risk':a117_0x5e01c4(0xac),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a117_0x5e01c4(0x8a),'type':'string','required':!![],'description':a117_0x5e01c4(0x8e)},{'name':a117_0x5e01c4(0xa3),'type':'string','required':!![],'description':a117_0x5e01c4(0xaf)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x31f78d){validateInput(_0x31f78d);},async 'dryRun'(_0x4f462b){const _0x16f8a3=a117_0x5e01c4;validateInput(_0x4f462b);const _0x5cdcd5=await buildPlan(_0x4f462b,!![]);return menuDryRunResult(_0x5cdcd5[_0x16f8a3(0x7d)],{'method':_0x16f8a3(0xb3),'url':_0x16f8a3(0x9f),'body':_0x5cdcd5['body'],'description':_0x16f8a3(0xc8)+_0x5cdcd5[_0x16f8a3(0xa6)]['id']+'.'});},async 'execute'(_0x3a8c91){const _0x578cd2=a117_0x5e01c4;validateInput(_0x3a8c91);const _0xd5f554=await buildPlan(_0x3a8c91,![]),{plan:_0x2b0afe,body:_0x524435,before:_0x567b89,noChanges:_0x50d44c}=_0xd5f554,_0x24e479=_0x524435['id'];if(_0x50d44c)return renameSuccess(_0x2b0afe,_0xd5f554[_0x578cd2(0xb9)],_0x567b89,!![],![]);await recheckMutationSnapshot(_0x3a8c91,_0x2b0afe,_0x578cd2(0xc7),_0x24e479);try{await updateMenuEntity(_0x3a8c91[_0x578cd2(0xbd)],_0x3a8c91[_0x578cd2(0x86)],{'id':_0x24e479,'label':_0x524435[_0x578cd2(0x8a)]});}catch(_0x1326e7){const _0x55394a=mapMenuApiError(_0x1326e7,_0x578cd2(0xa4),_0x24e479);if(isMenuResponseLoss(_0x1326e7)&&_0x55394a[_0x578cd2(0x93)]!==_0x578cd2(0x9a))return recoverAfterResponseLoss(_0x3a8c91,_0xd5f554);throw menuFailure(_0x55394a,_0x2b0afe,{'stage':'update','failed':{'id':_0x24e479},'warnings':[_0x578cd2(0x9c)],'verification':{'status':_0x578cd2(0x99),'targetId':_0x24e479,'lookupCommand':buildLookupCommand(_0x3a8c91[_0x578cd2(0xbd)])}});}let _0x17133b,_0x386513;try{_0x17133b=await fetchMenuSnapshot(_0x3a8c91[_0x578cd2(0xbd)],_0x3a8c91[_0x578cd2(0x86)]),_0x386513=requireMenu(_0x17133b,_0x24e479),verifyRenamedFact(_0x567b89,_0x386513,_0x524435[_0x578cd2(0x8a)]);}catch(_0x5754b4){const _0x5a97c6=describeMenuErrorCause(_0x5754b4,_0x578cd2(0xc6),_0x24e479),_0x445cdc=asVerificationError(_0x5754b4,_0x578cd2(0x96)+_0x24e479+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x445cdc,_0x2b0afe,{'stage':_0x578cd2(0xb0),'succeeded':[{'id':_0x24e479,'updateRequested':!![]}],'failed':{'id':_0x24e479,'requestedStateConfirmed':![],..._0x5a97c6},'warnings':['The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x578cd2(0x99),'targetId':_0x24e479,'lookupCommand':buildLookupCommand(_0x3a8c91[_0x578cd2(0xbd)])}});}return renameSuccess(_0x2b0afe,_0x17133b,_0x386513,![],![]);}};function validateInput(_0x4ca6f9){const _0x17c452=a117_0x5e01c4;validateExactId(_0x4ca6f9);if(!_0x4ca6f9[_0x17c452(0x9b)](_0x17c452(0x8a))['trim']())throw CliErrors[_0x17c452(0x85)]('--label\x20cannot\x20be\x20empty.');if(!_0x4ca6f9[_0x17c452(0x9b)](_0x17c452(0xa3))['trim']())throw CliErrors['flagMissing'](_0x17c452(0xa3));}async function buildPlan(_0x2f47af,_0x1d06b5){const _0xc1d4c=a117_0x5e01c4,_0x478944=validateExactId(_0x2f47af),_0x306054=_0x2f47af[_0xc1d4c(0x9b)](_0xc1d4c(0x8a))[_0xc1d4c(0xa7)](),_0xe611fb=_0x2f47af[_0xc1d4c(0x9b)](_0xc1d4c(0xa3)),_0x8465d3=await fetchMutationSnapshot(_0x2f47af,_0xc1d4c(0xc7),_0x478944),_0x4c4303=requireMenu(_0x8465d3,_0x478944);if(_0x4c4303['label']!==_0xe611fb)throw menuError(_0xc1d4c(0xae),_0xc1d4c(0x94)+_0x478944+_0xc1d4c(0xc2)+JSON['stringify'](_0xe611fb)+_0xc1d4c(0xc3)+JSON[_0xc1d4c(0xbe)](_0x4c4303[_0xc1d4c(0x8a)])+'.',_0xc1d4c(0x8b));const _0x4f3a7f={'id':_0x478944,'appCode':_0x2f47af[_0xc1d4c(0xbd)],'label':_0x306054},_0x5e43a3={..._0x4c4303,'label':_0x306054},_0x4c6a35=_0x4c4303['label']===_0x306054,_0x59a6dd=_0x4c6a35?[]:[{'stage':_0xc1d4c(0xc0),'method':_0xc1d4c(0xb3),'path':'/smartapi/menu/update','body':_0x4f3a7f}];return{'snapshot':_0x8465d3,'before':_0x4c4303,'body':_0x4f3a7f,'noChanges':_0x4c6a35,'plan':mutationResult({'operation':_0xc1d4c(0xa4),'selector':{'id':_0x478944},'before':_0x4c4303,'after':_0x5e43a3,'dryRun':_0x1d06b5,'backend':[...BACKEND],'plannedActions':_0x59a6dd,'snapshotHash':_0x8465d3[_0xc1d4c(0x98)],'warnings':_0x4c6a35?['The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.']:[]})};}function verifyRenamedFact(_0x216ddc,_0x2c2195,_0x6c09f5){const _0x2a5ef9=a117_0x5e01c4,_0x28dbca=[['id',_0x2c2195['id'],_0x216ddc['id']],[_0x2a5ef9(0xa2),_0x2c2195[_0x2a5ef9(0xa2)],_0x216ddc[_0x2a5ef9(0xa2)]],[_0x2a5ef9(0x7e),_0x2c2195['depth'],_0x216ddc[_0x2a5ef9(0x7e)]],['path',_0x2c2195[_0x2a5ef9(0xb6)],_0x216ddc[_0x2a5ef9(0xb6)]],['url',_0x2c2195[_0x2a5ef9(0x89)],_0x216ddc['url']],['type',_0x2c2195[_0x2a5ef9(0xab)],_0x216ddc[_0x2a5ef9(0xab)]],[_0x2a5ef9(0xa9),_0x2c2195[_0x2a5ef9(0xa9)],_0x216ddc[_0x2a5ef9(0xa9)]],[_0x2a5ef9(0x8d),_0x2c2195[_0x2a5ef9(0x8d)],_0x216ddc[_0x2a5ef9(0x8d)]],['resources',_0x2c2195['resources'],_0x216ddc['resources']],[_0x2a5ef9(0xa5),_0x2c2195[_0x2a5ef9(0xa5)],_0x216ddc['resourcesValid']],[_0x2a5ef9(0xb4),_0x2c2195[_0x2a5ef9(0xb4)],_0x216ddc[_0x2a5ef9(0xb4)]],['childrenCount',_0x2c2195[_0x2a5ef9(0x84)],_0x216ddc[_0x2a5ef9(0x84)]],[_0x2a5ef9(0xbc),_0x2c2195[_0x2a5ef9(0xbc)],_0x216ddc[_0x2a5ef9(0xbc)]],[_0x2a5ef9(0x7f),_0x2c2195[_0x2a5ef9(0x7f)],_0x216ddc[_0x2a5ef9(0x7f)]],[_0x2a5ef9(0x88),_0x2c2195[_0x2a5ef9(0x88)],_0x216ddc[_0x2a5ef9(0x88)]],[_0x2a5ef9(0x8c),_0x2c2195['datasetId'],_0x216ddc['datasetId']],[_0x2a5ef9(0x90),_0x2c2195[_0x2a5ef9(0x90)],_0x216ddc[_0x2a5ef9(0x90)]]];for(const [_0x18eb8f,_0x26b94d,_0x26d83c]of _0x28dbca){assertVerified(sameValue(_0x26b94d,_0x26d83c),_0x2a5ef9(0x94)+_0x216ddc['id']+'\x20'+_0x18eb8f+_0x2a5ef9(0x80));}assertVerified(_0x2c2195[_0x2a5ef9(0x8a)]===_0x6c09f5,_0x2a5ef9(0x94)+_0x216ddc['id']+_0x2a5ef9(0xb2));}function sameValue(_0x253a81,_0x1f9635){const _0x2e4ce4=a117_0x5e01c4;if(Array['isArray'](_0x253a81)||Array[_0x2e4ce4(0x9e)](_0x1f9635))return JSON[_0x2e4ce4(0xbe)](_0x253a81)===JSON[_0x2e4ce4(0xbe)](_0x1f9635);return _0x253a81===_0x1f9635;}function renameSuccess(_0x5be06e,_0x1c11fc,_0x36808f,_0x467b8a,_0x578191){const _0x4c43c1=a117_0x5e01c4,_0x5db167=_0x36808f['id'],_0x4ae754=mutationResult({..._0x5be06e,'after':_0x36808f,'dryRun':![],'succeeded':[{'id':_0x5db167,'updated':!_0x467b8a,'skipped':_0x467b8a,'recovered':_0x578191}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x1c11fc[_0x4c43c1(0x98)],'targetId':_0x5db167,'matchesRequestedState':!![],'recovered':_0x578191}});return{'ok':!![],'message':_0x578191?_0x4c43c1(0xb8)+_0x5db167+'.':_0x467b8a?'Menu\x20'+_0x5db167+'\x20already\x20has\x20the\x20requested\x20label.':_0x4c43c1(0xbb)+_0x5db167+'.','data':{..._0x4ae754,'recovered':_0x578191}};}async function recoverAfterResponseLoss(_0x248639,_0x275c47){const _0x220d78=a117_0x5e01c4,{plan:_0x1a5d62,before:_0x1ef0f6,body:_0x28dc1d}=_0x275c47;let _0x2b6b59;try{_0x2b6b59=await fetchMenuSnapshot(_0x248639[_0x220d78(0xbd)],_0x248639[_0x220d78(0x86)]);}catch{throw recoveryRequired(_0x1a5d62,_0x248639[_0x220d78(0xbd)],{'id':_0x28dc1d['id'],'readbackFailed':!![]});}const _0x15f8eb=_0x2b6b59[_0x220d78(0xa0)][_0x220d78(0x91)](_0x28dc1d['id']);if(!_0x15f8eb||_0x15f8eb[_0x220d78(0x8a)]!==_0x28dc1d[_0x220d78(0x8a)])throw recoveryRequired(_0x1a5d62,_0x248639[_0x220d78(0xbd)],{'id':_0x28dc1d['id'],'requestedLabelObserved':![],'after':_0x15f8eb??null});try{verifyRenamedFact(_0x1ef0f6,_0x15f8eb,_0x28dc1d[_0x220d78(0x8a)]);}catch(_0x48cf2e){const _0x5dcc78=asVerificationError(_0x48cf2e,_0x220d78(0xa8)+_0x28dc1d['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x5dcc78,_0x1a5d62,{'stage':_0x220d78(0xaa),'succeeded':[{'id':_0x28dc1d['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x28dc1d['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x15f8eb,'warnings':[_0x220d78(0x8f)],'verification':{'status':'failed','targetId':_0x28dc1d['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x248639['appCode'])}});}return renameSuccess(_0x1a5d62,_0x2b6b59,_0x15f8eb,![],!![]);}function recoveryRequired(_0x144d4f,_0x572d0d,_0x2d0e5b){const _0x589d41=a117_0x5e01c4,_0x5f0baa=menuError(_0x589d41(0xb1),'The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.','Run\x20'+buildLookupCommand(_0x572d0d)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x5f0baa,_0x144d4f,{'stage':_0x589d41(0xaa),'failed':{'id':_0x2d0e5b['id'],..._0x2d0e5b[_0x589d41(0xc4)]===undefined?{}:{'requestedLabelObserved':_0x2d0e5b[_0x589d41(0xc4)]},..._0x2d0e5b[_0x589d41(0xb5)]?{'readbackFailed':!![]}:{}},'after':_0x2d0e5b['after'],'warnings':[_0x589d41(0x9d)],'verification':{'status':'failed','targetId':_0x2d0e5b['id'],..._0x2d0e5b[_0x589d41(0xc4)]===undefined?{}:{'requestedLabelObserved':_0x2d0e5b[_0x589d41(0xc4)]},..._0x2d0e5b[_0x589d41(0xb5)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x572d0d)}});}function buildLookupCommand(_0x38fe70){const _0xfbaf0c=a117_0x5e01c4,_0x14e61e='\x27'+_0x38fe70[_0xfbaf0c(0x83)](/'/g,_0xfbaf0c(0xc5))+'\x27';return _0xfbaf0c(0x97)+_0x14e61e+_0xfbaf0c(0x95);}
|
|
1
|
+
const a119_0x2c89a5=a119_0x3ca7;function a119_0x3ca7(_0x11e2f2,_0x402bfb){_0x11e2f2=_0x11e2f2-0x142;const _0x1ff91e=a119_0x1ff9();let _0x3ca7c5=_0x1ff91e[_0x11e2f2];return _0x3ca7c5;}(function(_0x30de6a,_0x635389){const _0xf40d5c=a119_0x3ca7,_0x4a8c3d=_0x30de6a();while(!![]){try{const _0x174bd4=-parseInt(_0xf40d5c(0x153))/0x1*(-parseInt(_0xf40d5c(0x17f))/0x2)+parseInt(_0xf40d5c(0x146))/0x3*(-parseInt(_0xf40d5c(0x171))/0x4)+parseInt(_0xf40d5c(0x172))/0x5*(-parseInt(_0xf40d5c(0x15d))/0x6)+parseInt(_0xf40d5c(0x174))/0x7*(parseInt(_0xf40d5c(0x14f))/0x8)+-parseInt(_0xf40d5c(0x178))/0x9*(parseInt(_0xf40d5c(0x175))/0xa)+parseInt(_0xf40d5c(0x150))/0xb*(-parseInt(_0xf40d5c(0x164))/0xc)+parseInt(_0xf40d5c(0x16c))/0xd;if(_0x174bd4===_0x635389)break;else _0x4a8c3d['push'](_0x4a8c3d['shift']());}catch(_0x4583fc){_0x4a8c3d['push'](_0x4a8c3d['shift']());}}}(a119_0x1ff9,0xc915f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a119_0x1ff9(){const _0x47cdf0=['visible','str','appCode','650692HNUMqZ','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','label','depth','get','after','code','cookie','flagMissing','failed','trim','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','verify\x20menu\x20rename','plan','New\x20menu\x20label','hash','menu_state_drift','\x20could\x20not\x20be\x20verified\x20safely','Run\x20','update-recovery','\x27\x5c\x27\x27','readbackFailed','219732mmqvSx','type','Response\x20was\x20lost\x20and\x20menu\x20','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','menu\x20list','menu_permission_denied','POST','pageId','--label\x20cannot\x20be\x20empty.','5404936YoSsLp','187bycdmC','datasetId','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','2RWbvVi','parentId','byId','resourcesValid','rename','expect-label','pageType','resources','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','verification','894eZYbvh','datasetCode','childrenIds','requestedLabelObserved','childrenCount','\x20--format\x20compress','The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','504948YENnSi','body','\x20already\x20has\x20the\x20requested\x20label.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','isArray','stringify','replace','string','53897649ulNZzo','Would\x20rename\x20menu\x20','sort','snapshot','write','56gVWXzW','44630IvRdsI','/smartapi/menu/update','7vmfyyb','213230gaWxek','modelType','path','666vDyryF','url','menu_update_recovery_required','Menu\x20'];a119_0x1ff9=function(){return _0x47cdf0;};return a119_0x1ff9();}import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a119_0x2c89a5(0x14c),'path':a119_0x2c89a5(0x173)}];export const menuRename={'service':'menu','command':a119_0x2c89a5(0x157),'description':a119_0x2c89a5(0x15b),'risk':a119_0x2c89a5(0x170),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a119_0x2c89a5(0x181),'type':a119_0x2c89a5(0x16b),'required':!![],'description':a119_0x2c89a5(0x18d)},{'name':a119_0x2c89a5(0x158),'type':a119_0x2c89a5(0x16b),'required':!![],'description':a119_0x2c89a5(0x149)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1559bc){validateInput(_0x1559bc);},async 'dryRun'(_0x13ae51){const _0xb8fae7=a119_0x2c89a5;validateInput(_0x13ae51);const _0xde1fdd=await buildPlan(_0x13ae51,!![]);return menuDryRunResult(_0xde1fdd[_0xb8fae7(0x18c)],{'method':'POST','url':_0xb8fae7(0x173),'body':_0xde1fdd[_0xb8fae7(0x165)],'description':_0xb8fae7(0x16d)+_0xde1fdd[_0xb8fae7(0x165)]['id']+'.'});},async 'execute'(_0x5659d8){const _0x57f49e=a119_0x2c89a5;validateInput(_0x5659d8);const _0xecded3=await buildPlan(_0x5659d8,![]),{plan:_0x22c15e,body:_0x2200c7,before:_0x2e720d,noChanges:_0x5ad6d6}=_0xecded3,_0x55f6b4=_0x2200c7['id'];if(_0x5ad6d6)return renameSuccess(_0x22c15e,_0xecded3[_0x57f49e(0x16f)],_0x2e720d,!![],![]);await recheckMutationSnapshot(_0x5659d8,_0x22c15e,'rename\x20menu',_0x55f6b4);try{await updateMenuEntity(_0x5659d8[_0x57f49e(0x17e)],_0x5659d8['cookie'],{'id':_0x55f6b4,'label':_0x2200c7[_0x57f49e(0x181)]});}catch(_0x5dd25d){const _0x493d45=mapMenuApiError(_0x5dd25d,_0x57f49e(0x157),_0x55f6b4);if(isMenuResponseLoss(_0x5dd25d)&&_0x493d45[_0x57f49e(0x185)]!==_0x57f49e(0x14b))return recoverAfterResponseLoss(_0x5659d8,_0xecded3);throw menuFailure(_0x493d45,_0x22c15e,{'stage':'update','failed':{'id':_0x55f6b4},'warnings':['The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x57f49e(0x188),'targetId':_0x55f6b4,'lookupCommand':buildLookupCommand(_0x5659d8[_0x57f49e(0x17e)])}});}let _0x4f6626,_0x3deba6;try{_0x4f6626=await fetchMenuSnapshot(_0x5659d8[_0x57f49e(0x17e)],_0x5659d8[_0x57f49e(0x186)]),_0x3deba6=requireMenu(_0x4f6626,_0x55f6b4),verifyRenamedFact(_0x2e720d,_0x3deba6,_0x2200c7[_0x57f49e(0x181)]);}catch(_0x39e7eb){const _0x4e4d1c=describeMenuErrorCause(_0x39e7eb,_0x57f49e(0x18b),_0x55f6b4),_0x302dbe=asVerificationError(_0x39e7eb,'Rename\x20request\x20for\x20menu\x20'+_0x55f6b4+_0x57f49e(0x152));throw menuFailure(_0x302dbe,_0x22c15e,{'stage':_0x57f49e(0x15c),'succeeded':[{'id':_0x55f6b4,'updateRequested':!![]}],'failed':{'id':_0x55f6b4,'requestedStateConfirmed':![],..._0x4e4d1c},'warnings':['The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x55f6b4,'lookupCommand':buildLookupCommand(_0x5659d8['appCode'])}});}return renameSuccess(_0x22c15e,_0x4f6626,_0x3deba6,![],![]);}};function validateInput(_0x4fe430){const _0x207872=a119_0x2c89a5;validateExactId(_0x4fe430);if(!_0x4fe430[_0x207872(0x17d)]('label')[_0x207872(0x189)]())throw CliErrors['validation'](_0x207872(0x14e));if(!_0x4fe430[_0x207872(0x17d)](_0x207872(0x158))[_0x207872(0x189)]())throw CliErrors[_0x207872(0x187)](_0x207872(0x158));}async function buildPlan(_0x3218c3,_0xb99498){const _0x45038b=a119_0x2c89a5,_0x5e938d=validateExactId(_0x3218c3),_0x41db0c=_0x3218c3[_0x45038b(0x17d)](_0x45038b(0x181))['trim'](),_0x1a5108=_0x3218c3[_0x45038b(0x17d)]('expect-label'),_0x265517=await fetchMutationSnapshot(_0x3218c3,'rename\x20menu',_0x5e938d),_0x2c24b8=requireMenu(_0x265517,_0x5e938d);if(_0x2c24b8['label']!==_0x1a5108)throw menuError(_0x45038b(0x18f),_0x45038b(0x17b)+_0x5e938d+'\x20label\x20changed:\x20expected\x20'+JSON[_0x45038b(0x169)](_0x1a5108)+',\x20current\x20'+JSON['stringify'](_0x2c24b8[_0x45038b(0x181)])+'.',_0x45038b(0x180));const _0x635993={'id':_0x5e938d,'appCode':_0x3218c3[_0x45038b(0x17e)],'label':_0x41db0c},_0xaf162d={..._0x2c24b8,'label':_0x41db0c},_0x9278a9=_0x2c24b8[_0x45038b(0x181)]===_0x41db0c,_0x4cf66b=_0x9278a9?[]:[{'stage':'rename-menu','method':_0x45038b(0x14c),'path':_0x45038b(0x173),'body':_0x635993}];return{'snapshot':_0x265517,'before':_0x2c24b8,'body':_0x635993,'noChanges':_0x9278a9,'plan':mutationResult({'operation':_0x45038b(0x157),'selector':{'id':_0x5e938d},'before':_0x2c24b8,'after':_0xaf162d,'dryRun':_0xb99498,'backend':[...BACKEND],'plannedActions':_0x4cf66b,'snapshotHash':_0x265517[_0x45038b(0x18e)],'warnings':_0x9278a9?['The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.']:[]})};}function verifyRenamedFact(_0x46b56f,_0x3a7e57,_0x475552){const _0x460d19=a119_0x2c89a5,_0x4be23b=[['id',_0x3a7e57['id'],_0x46b56f['id']],[_0x460d19(0x154),_0x3a7e57['parentId'],_0x46b56f['parentId']],[_0x460d19(0x182),_0x3a7e57[_0x460d19(0x182)],_0x46b56f['depth']],[_0x460d19(0x177),_0x3a7e57[_0x460d19(0x177)],_0x46b56f[_0x460d19(0x177)]],[_0x460d19(0x179),_0x3a7e57[_0x460d19(0x179)],_0x46b56f[_0x460d19(0x179)]],[_0x460d19(0x147),_0x3a7e57['type'],_0x46b56f[_0x460d19(0x147)]],[_0x460d19(0x17c),_0x3a7e57[_0x460d19(0x17c)],_0x46b56f[_0x460d19(0x17c)]],[_0x460d19(0x16e),_0x3a7e57['sort'],_0x46b56f[_0x460d19(0x16e)]],[_0x460d19(0x15a),_0x3a7e57[_0x460d19(0x15a)],_0x46b56f[_0x460d19(0x15a)]],[_0x460d19(0x156),_0x3a7e57['resourcesValid'],_0x46b56f['resourcesValid']],[_0x460d19(0x15f),_0x3a7e57[_0x460d19(0x15f)],_0x46b56f[_0x460d19(0x15f)]],[_0x460d19(0x161),_0x3a7e57[_0x460d19(0x161)],_0x46b56f[_0x460d19(0x161)]],[_0x460d19(0x14d),_0x3a7e57[_0x460d19(0x14d)],_0x46b56f[_0x460d19(0x14d)]],[_0x460d19(0x159),_0x3a7e57[_0x460d19(0x159)],_0x46b56f['pageType']],['modelType',_0x3a7e57[_0x460d19(0x176)],_0x46b56f['modelType']],['datasetId',_0x3a7e57[_0x460d19(0x151)],_0x46b56f[_0x460d19(0x151)]],[_0x460d19(0x15e),_0x3a7e57['datasetCode'],_0x46b56f[_0x460d19(0x15e)]]];for(const [_0x3ed5ec,_0x5613fa,_0x1e7f22]of _0x4be23b){assertVerified(sameValue(_0x5613fa,_0x1e7f22),_0x460d19(0x17b)+_0x46b56f['id']+'\x20'+_0x3ed5ec+'\x20changed\x20during\x20the\x20label-only\x20rename.');}assertVerified(_0x3a7e57['label']===_0x475552,_0x460d19(0x17b)+_0x46b56f['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.');}function sameValue(_0x3e95de,_0x4bbc8a){const _0x40913b=a119_0x2c89a5;if(Array[_0x40913b(0x168)](_0x3e95de)||Array[_0x40913b(0x168)](_0x4bbc8a))return JSON[_0x40913b(0x169)](_0x3e95de)===JSON[_0x40913b(0x169)](_0x4bbc8a);return _0x3e95de===_0x4bbc8a;}function renameSuccess(_0x3309f2,_0x2fa381,_0xa4aa53,_0x5ec062,_0x2f0c06){const _0x1ccef0=a119_0x2c89a5,_0x20d829=_0xa4aa53['id'],_0x24fe98=mutationResult({..._0x3309f2,'after':_0xa4aa53,'dryRun':![],'succeeded':[{'id':_0x20d829,'updated':!_0x5ec062,'skipped':_0x5ec062,'recovered':_0x2f0c06}],'verification':{'checkedBy':_0x1ccef0(0x14a),'snapshotHash':_0x2fa381['hash'],'targetId':_0x20d829,'matchesRequestedState':!![],'recovered':_0x2f0c06}});return{'ok':!![],'message':_0x2f0c06?_0x1ccef0(0x18a)+_0x20d829+'.':_0x5ec062?_0x1ccef0(0x17b)+_0x20d829+_0x1ccef0(0x166):'Renamed\x20menu\x20'+_0x20d829+'.','data':{..._0x24fe98,'recovered':_0x2f0c06}};}async function recoverAfterResponseLoss(_0x5b2ab8,_0x488cf6){const _0x2a412f=a119_0x2c89a5,{plan:_0xfff089,before:_0x17e4ef,body:_0x4aa753}=_0x488cf6;let _0x376953;try{_0x376953=await fetchMenuSnapshot(_0x5b2ab8['appCode'],_0x5b2ab8[_0x2a412f(0x186)]);}catch{throw recoveryRequired(_0xfff089,_0x5b2ab8['appCode'],{'id':_0x4aa753['id'],'readbackFailed':!![]});}const _0x1209ec=_0x376953[_0x2a412f(0x155)][_0x2a412f(0x183)](_0x4aa753['id']);if(!_0x1209ec||_0x1209ec['label']!==_0x4aa753[_0x2a412f(0x181)])throw recoveryRequired(_0xfff089,_0x5b2ab8['appCode'],{'id':_0x4aa753['id'],'requestedLabelObserved':![],'after':_0x1209ec??null});try{verifyRenamedFact(_0x17e4ef,_0x1209ec,_0x4aa753[_0x2a412f(0x181)]);}catch(_0x31f839){const _0x5e876b=asVerificationError(_0x31f839,_0x2a412f(0x148)+_0x4aa753['id']+_0x2a412f(0x190));throw menuFailure(_0x5e876b,_0xfff089,{'stage':_0x2a412f(0x143),'succeeded':[{'id':_0x4aa753['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x4aa753['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x1209ec,'warnings':[_0x2a412f(0x163)],'verification':{'status':_0x2a412f(0x188),'targetId':_0x4aa753['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5b2ab8[_0x2a412f(0x17e)])}});}return renameSuccess(_0xfff089,_0x376953,_0x1209ec,![],!![]);}function recoveryRequired(_0x5d0106,_0x43b07d,_0x305b62){const _0x4dd28d=a119_0x2c89a5,_0x3371e3=menuError(_0x4dd28d(0x17a),'The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.',_0x4dd28d(0x142)+buildLookupCommand(_0x43b07d)+_0x4dd28d(0x167));return menuFailure(_0x3371e3,_0x5d0106,{'stage':_0x4dd28d(0x143),'failed':{'id':_0x305b62['id'],..._0x305b62['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x305b62[_0x4dd28d(0x160)]},..._0x305b62['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x305b62[_0x4dd28d(0x184)],'warnings':['The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x4dd28d(0x188),'targetId':_0x305b62['id'],..._0x305b62[_0x4dd28d(0x160)]===undefined?{}:{'requestedLabelObserved':_0x305b62[_0x4dd28d(0x160)]},..._0x305b62[_0x4dd28d(0x145)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x43b07d)}});}function buildLookupCommand(_0x4f2178){const _0x4110e8=a119_0x2c89a5,_0x3448c0='\x27'+_0x4f2178[_0x4110e8(0x16a)](/'/g,_0x4110e8(0x144))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3448c0+_0x4110e8(0x162);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a120_0x4ba6(_0x192f08,_0x190695){_0x192f08=_0x192f08-0x83;const _0x44a993=a120_0x44a9();let _0x4ba692=_0x44a993[_0x192f08];return _0x4ba692;}(function(_0x1b3c70,_0x3503ae){const _0x321dc4=a120_0x4ba6,_0x2bafbc=_0x1b3c70();while(!![]){try{const _0x376791=-parseInt(_0x321dc4(0x8e))/0x1*(parseInt(_0x321dc4(0xa1))/0x2)+parseInt(_0x321dc4(0x95))/0x3+parseInt(_0x321dc4(0x89))/0x4+-parseInt(_0x321dc4(0xa3))/0x5*(parseInt(_0x321dc4(0x9e))/0x6)+-parseInt(_0x321dc4(0x9f))/0x7*(parseInt(_0x321dc4(0x85))/0x8)+parseInt(_0x321dc4(0x83))/0x9*(-parseInt(_0x321dc4(0xa0))/0xa)+parseInt(_0x321dc4(0xa4))/0xb*(parseInt(_0x321dc4(0x8d))/0xc);if(_0x376791===_0x3503ae)break;else _0x2bafbc['push'](_0x2bafbc['shift']());}catch(_0x52c323){_0x2bafbc['push'](_0x2bafbc['shift']());}}}(a120_0x44a9,0xef268));function strWidth(_0x5e56e6){const _0x5b3040=a120_0x4ba6;let _0x387f83=0x0;for(const _0x4a6060 of _0x5e56e6){_0x387f83+=/[\u4e00-\u9fa5]/[_0x5b3040(0x98)](_0x4a6060)?0x2:0x1;}return _0x387f83;}function a120_0x44a9(){const _0x150772=['Menu\x20Name','local','4196157EqJwod','label','repeat','test','map','\x20\x20All\x20local\x20pages\x20are\x20already\x20on\x20platform.','\x20\x20\x20\x20CSS:\x20','path','push','295290hilKis','161MEwKCh','589610GLCipG','4gfvhnw','\x20\x20\x20\x20JS:\x20\x20','110QLwkdT','2187350yIwaiW','108IKzXJx','online','549448FsHtSV','Local','\x20\x20Affected\x20menus:\x20','max','7575448UvcZKx','\x20\x20No\x20menus\x20with\x20existing\x20resources\x20found.','(unchanged)','length','96vJNQcq','266948zKbWCV','\x20page(s)\x20will\x20be\x20created\x20on\x20platform:','\x20\x20\x20\x20•\x20','join','showOnline'];a120_0x44a9=function(){return _0x150772;};return a120_0x44a9();}function padRight(_0x1f120c,_0x120e01){const _0x8a8ba0=strWidth(_0x1f120c);return _0x1f120c+'\x20'['repeat'](Math['max'](0x0,_0x120e01-_0x8a8ba0));}export function renderCompareTable(_0x413bfd,_0x4ca8f1={}){const _0x4d0b34=a120_0x4ba6;if(_0x413bfd[_0x4d0b34(0x8c)]===0x0)return'';const _0x2801e5=_0x4ca8f1[_0x4d0b34(0x92)]??!![],_0x1a710a=Math[_0x4d0b34(0x88)](0x1e,..._0x413bfd[_0x4d0b34(0x99)](_0x36c89c=>strWidth(_0x36c89c['label']))),_0x5a3815=Math[_0x4d0b34(0x88)](0x18,..._0x413bfd[_0x4d0b34(0x99)](_0x5c40fa=>strWidth(_0x5c40fa[_0x4d0b34(0x9c)]))),_0xd7db7f=0x4,_0x58c270=[],_0x127da4='\x20\x20'+padRight(_0x4d0b34(0x93),_0x1a710a),_0x186190=padRight('Path',_0x5a3815),_0x23f32e=padRight(_0x4d0b34(0x86),_0xd7db7f),_0x5025fd=_0x2801e5?'\x20\x20'+padRight('Platform',_0xd7db7f):'';_0x58c270[_0x4d0b34(0x9d)](_0x127da4+'\x20\x20'+_0x186190+'\x20\x20'+_0x23f32e+(_0x2801e5?_0x5025fd:'')),_0x58c270[_0x4d0b34(0x9d)]('\x20\x20'+'─'[_0x4d0b34(0x97)](_0x1a710a)+'\x20\x20'+'─'['repeat'](_0x5a3815)+'\x20\x20'+'─'[_0x4d0b34(0x97)](_0xd7db7f)+(_0x2801e5?'\x20\x20'+'─'[_0x4d0b34(0x97)](_0xd7db7f):''));for(const _0x3c0010 of _0x413bfd){const _0xecd708=padRight(_0x3c0010[_0x4d0b34(0x96)],_0x1a710a),_0x4f2b7a=padRight(_0x3c0010[_0x4d0b34(0x9c)],_0x5a3815),_0x5ec274=_0x3c0010[_0x4d0b34(0x94)]?'✓':'✗',_0x540499=padRight(_0x5ec274,_0xd7db7f);let _0x3485bb='\x20\x20'+_0xecd708+'\x20\x20'+_0x4f2b7a+'\x20\x20'+_0x540499;if(_0x2801e5){const _0x359e89=_0x3c0010[_0x4d0b34(0x84)]?'✓':'✗';_0x3485bb+='\x20\x20'+padRight(_0x359e89,_0xd7db7f);}_0x58c270[_0x4d0b34(0x9d)](_0x3485bb);}return _0x58c270[_0x4d0b34(0x91)]('\x0a');}export function renderSyncSummary(_0x207f89,_0xdf28ae){const _0x2da3fa=a120_0x4ba6;if(_0x207f89['length']===0x0)return _0xdf28ae?_0x2da3fa(0x9a):'\x20\x20No\x20pages\x20to\x20sync.';const _0x4616ae=['\x20\x20'+_0x207f89[_0x2da3fa(0x8c)]+_0x2da3fa(0x8f)];for(const _0x1dd1d1 of _0x207f89){_0x4616ae['push'](_0x2da3fa(0x90)+_0x1dd1d1['label']+'\x20('+_0x1dd1d1[_0x2da3fa(0x9c)]+')');}return _0x4616ae[_0x2da3fa(0x91)]('\x0a');}export function renderUpdateSummary(_0x32dfd7,_0x46444a){const _0x1700ce=a120_0x4ba6;if(_0x32dfd7['length']===0x0)return _0x1700ce(0x8a);const _0x371d39=['\x20\x20'+_0x32dfd7[_0x1700ce(0x8c)]+'\x20menu(s)\x20will\x20be\x20updated\x20with\x20new\x20assets:',_0x1700ce(0xa2)+(_0x46444a[0x0]??'(unchanged)'),_0x1700ce(0x9b)+(_0x46444a[0x1]??_0x1700ce(0x8b)),'',_0x1700ce(0x87)+_0x32dfd7[_0x1700ce(0x91)](',\x20')];return _0x371d39[_0x1700ce(0x91)]('\x0a');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a119_0x407553=a119_0x33ff;(function(_0x39e4bb,_0x38eff1){const _0xf1abaf=a119_0x33ff,_0x3182a8=_0x39e4bb();while(!![]){try{const _0x52e85f=-parseInt(_0xf1abaf(0x22c))/0x1+parseInt(_0xf1abaf(0x1f8))/0x2+parseInt(_0xf1abaf(0x1f0))/0x3*(-parseInt(_0xf1abaf(0x208))/0x4)+parseInt(_0xf1abaf(0x202))/0x5*(-parseInt(_0xf1abaf(0x248))/0x6)+-parseInt(_0xf1abaf(0x1fc))/0x7*(-parseInt(_0xf1abaf(0x20a))/0x8)+parseInt(_0xf1abaf(0x22d))/0x9*(parseInt(_0xf1abaf(0x232))/0xa)+-parseInt(_0xf1abaf(0x242))/0xb;if(_0x52e85f===_0x38eff1)break;else _0x3182a8['push'](_0x3182a8['shift']());}catch(_0x22a0ad){_0x3182a8['push'](_0x3182a8['shift']());}}}(a119_0x57b6,0xdb38c));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';function a119_0x57b6(){const _0x237563=['Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','menu_plan_file_exists','1811290QeXRyl','/smartapi/menu/batchDelete','\x20requires\x20a\x20non-empty\x20file\x20path.','datasetCode','resources','isSafeInteger','16dYBpdk','version','16jGklwd','size','Cannot\x20read\x20menu\x20delete\x20plan\x20','string','menu_plan_write_failed','menu\x20delete','snapshotHash','object','number','map','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','childrenCount','boolean','plan','targetFingerprint',',\x20current\x20app\x20is\x20','visible','resourcesValid','cascade','deleteOrder','parentId','targets','isInteger','\x20is\x20in\x20the\x20future.','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','createdAt','isArray','Planned\x20menu\x20','menu_plan_invalid','test','appCode','\x20of\x20the\x20','get','updateTime','131670rAmIXU','9wERqxS','parse','warnings','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','\x20contract.','14132670IInQGc','datasetId','isFinite','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','toISOString','menu_state_drift','pageSchemaAffected','extendHash','hex','Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','menu_plan_app_mismatch','\x20bytes.','Failed\x20to\x20write\x20menu\x20delete\x20plan\x20','stringify','resourcesHash','11413688VZpEfn','pages','POST','childrenIds','expiresAt','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','18wuelif','sort','length','type','targetFingerprints','updateUserId','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','getTime','label','31491QMBhEp','pageId','modelType','extend','every','utf8','before','target','2429978lYmUZX','pageType','path','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','1987006LEbGUg','Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20','depth','recursive'];a119_0x57b6=function(){return _0x237563;};return a119_0x57b6();}const PLAN_VERSION=0x2,PLAN_COMMAND=a119_0x407553(0x20f),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x394879,_0x57ffae,_0x2f3743=new Date()){const _0x3bf8ba=a119_0x407553;if(!_0x57ffae[_0x3bf8ba(0x1f6)]||!isMenuFact(_0x57ffae[_0x3bf8ba(0x1f6)]))throw menuError(_0x3bf8ba(0x226),_0x3bf8ba(0x200));const _0x40649b=_0x57ffae[_0x3bf8ba(0x21f)]?.[_0x3bf8ba(0x24a)]?_0x57ffae[_0x3bf8ba(0x21f)]:[_0x57ffae[_0x3bf8ba(0x1f6)]],_0x58682c=_0x57ffae[_0x3bf8ba(0x21d)]?.[_0x3bf8ba(0x24a)]?_0x57ffae['deleteOrder']:_0x40649b[_0x3bf8ba(0x213)](_0x4e9bcc=>_0x4e9bcc['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x394879,'createdAt':_0x2f3743[_0x3bf8ba(0x236)](),'expiresAt':new Date(_0x2f3743[_0x3bf8ba(0x1ee)]()+PLAN_TTL_MS)[_0x3bf8ba(0x236)](),'snapshotHash':_0x57ffae[_0x3bf8ba(0x210)],'recursive':_0x57ffae['selector']['recursive']===!![],'target':_0x57ffae['before'],'targetFingerprint':fingerprint(_0x57ffae[_0x3bf8ba(0x1f6)]),'targets':_0x40649b,'targetFingerprints':_0x40649b[_0x3bf8ba(0x213)](fingerprint),'deleteOrder':_0x58682c,'cascade':_0x57ffae['cascade']??{'pages':_0x57ffae[_0x3bf8ba(0x1f6)][_0x3bf8ba(0x1f1)]==null?[]:[_0x57ffae[_0x3bf8ba(0x1f6)][_0x3bf8ba(0x1f1)]],'pageSchemaAffected':_0x57ffae['before'][_0x3bf8ba(0x1f1)]!=null},'warnings':[..._0x57ffae['warnings']]};}export async function writeMenuDeletePlan(_0xcc9517,_0x3cf49f){const _0x2f212c=a119_0x407553,_0x56f08a=resolvePlanPath(_0xcc9517,'plan-out');await mkdir(dirname(_0x56f08a),{'recursive':!![]});try{await writeFile(_0x56f08a,JSON['stringify'](_0x3cf49f,null,0x2)+'\x0a',{'encoding':_0x2f212c(0x1f5),'flag':'wx'});}catch(_0x1022a3){if(_0x1022a3['code']==='EEXIST')throw menuError(_0x2f212c(0x201),_0x2f212c(0x222)+_0x56f08a,_0x2f212c(0x23b));throw menuError(_0x2f212c(0x20e),_0x2f212c(0x23f)+_0x56f08a+':\x20'+errorMessage(_0x1022a3));}return _0x56f08a;}function a119_0x33ff(_0x3b5937,_0x4ac1b3){_0x3b5937=_0x3b5937-0x1ea;const _0x57b629=a119_0x57b6();let _0x33fff2=_0x57b629[_0x3b5937];return _0x33fff2;}export async function readMenuDeletePlan(_0x11f9d1){const _0x1c5c2b=a119_0x407553,_0x1c4182=resolvePlanPath(_0x11f9d1,_0x1c5c2b(0x217));let _0x3dc0e3;try{_0x3dc0e3=(await stat(_0x1c4182))[_0x1c5c2b(0x20b)];}catch(_0x11b022){throw menuError(_0x1c5c2b(0x226),_0x1c5c2b(0x20c)+_0x1c4182+':\x20'+errorMessage(_0x11b022));}if(_0x3dc0e3>MAX_PLAN_BYTES)throw menuError(_0x1c5c2b(0x226),'Menu\x20delete\x20plan\x20is\x20too\x20large:\x20'+_0x3dc0e3+_0x1c5c2b(0x23e));let _0x19ba1d;try{_0x19ba1d=JSON['parse'](await readFile(_0x1c4182,_0x1c5c2b(0x1f5)));}catch(_0x67baf0){throw menuError(_0x1c5c2b(0x226),'Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20'+errorMessage(_0x67baf0));}if(!isMenuDeletePlanFile(_0x19ba1d))throw menuError('menu_plan_invalid',_0x1c5c2b(0x1fd)+PLAN_VERSION+_0x1c5c2b(0x229)+PLAN_COMMAND+_0x1c5c2b(0x231));if(!sameFingerprint(_0x19ba1d[_0x1c5c2b(0x218)],fingerprint(_0x19ba1d[_0x1c5c2b(0x1f7)])))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.',_0x1c5c2b(0x247));if(!_0x19ba1d[_0x1c5c2b(0x21f)][_0x1c5c2b(0x1f4)]((_0x4e566c,_0x1ba879)=>sameFingerprint(_0x19ba1d[_0x1c5c2b(0x1eb)][_0x1ba879],fingerprint(_0x4e566c)))||!sameFingerprint(_0x19ba1d['targetFingerprint'],fingerprint(_0x19ba1d[_0x1c5c2b(0x21f)][_0x19ba1d[_0x1c5c2b(0x21f)][_0x1c5c2b(0x24a)]-0x1])))throw menuError(_0x1c5c2b(0x226),_0x1c5c2b(0x230),_0x1c5c2b(0x247));return{'path':_0x1c4182,'plan':_0x19ba1d};}export function mutationPlanFromDeleteFile(_0x31d952,_0x4c87c9){const _0x1890e2=a119_0x407553;return mutationResult({'operation':'delete','selector':{'id':_0x31d952[_0x1890e2(0x1f7)]['id'],'recursive':_0x31d952[_0x1890e2(0x1ff)]},'before':_0x31d952[_0x1890e2(0x1f7)],'after':null,'dryRun':![],'backend':[{'method':_0x1890e2(0x244),'path':_0x1890e2(0x203)}],'plannedActions':[{'stage':'batch-delete-menu','method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x31d952[_0x1890e2(0x21d)]}}],'targets':_0x31d952['targets'],'deleteOrder':_0x31d952[_0x1890e2(0x21d)],'snapshotHash':_0x31d952[_0x1890e2(0x210)],'cascade':_0x31d952[_0x1890e2(0x21c)],'planFile':{'path':_0x4c87c9,'createdAt':_0x31d952[_0x1890e2(0x223)],'expiresAt':_0x31d952[_0x1890e2(0x246)]},'warnings':_0x31d952[_0x1890e2(0x22f)]});}export function assertMenuDeletePlanCurrent(_0x58938e,_0x1bada3,_0x38a385,_0x42ab15=new Date()){const _0xd9f7a5=a119_0x407553;assertMenuDeletePlanExecutable(_0x58938e,_0x1bada3,_0x42ab15);if(_0x38a385['hash']!==_0x58938e[_0xd9f7a5(0x210)])throw menuError(_0xd9f7a5(0x237),_0xd9f7a5(0x1fb),_0xd9f7a5(0x235));return _0x58938e['targets'][_0xd9f7a5(0x213)]((_0x576e95,_0x39c7e6)=>{const _0x57e110=_0xd9f7a5,_0x1f763e=_0x38a385['byId'][_0x57e110(0x22a)](_0x576e95['id']);if(!_0x1f763e)throw menuError(_0x57e110(0x237),_0x57e110(0x225)+_0x576e95['id']+_0x57e110(0x214));if(!sameFingerprint(_0x58938e[_0x57e110(0x1eb)][_0x39c7e6],fingerprint(_0x1f763e)))throw menuError(_0x57e110(0x237),_0x57e110(0x225)+_0x576e95['id']+'\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.',_0x57e110(0x1ed));return _0x1f763e;});}export function assertMenuDeletePlanExecutable(_0x1be888,_0x3641cd,_0x31aa9f=new Date()){const _0x28fff8=a119_0x407553;if(_0x1be888['appCode']!==_0x3641cd)throw menuError(_0x28fff8(0x23d),'Menu\x20delete\x20plan\x20targets\x20app\x20'+JSON[_0x28fff8(0x240)](_0x1be888[_0x28fff8(0x228)])+_0x28fff8(0x219)+JSON[_0x28fff8(0x240)](_0x3641cd)+'.');const _0x1e77ce=Date['parse'](_0x1be888[_0x28fff8(0x223)]),_0x423cfc=Date[_0x28fff8(0x22e)](_0x1be888[_0x28fff8(0x246)]);if(!Number[_0x28fff8(0x234)](_0x1e77ce)||!Number[_0x28fff8(0x234)](_0x423cfc)||_0x423cfc-_0x1e77ce!==PLAN_TTL_MS)throw menuError(_0x28fff8(0x226),'Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.');if(_0x1e77ce>_0x31aa9f[_0x28fff8(0x1ee)]())throw menuError(_0x28fff8(0x226),'Menu\x20delete\x20plan\x20creation\x20time\x20'+_0x1be888[_0x28fff8(0x223)]+_0x28fff8(0x221),_0x28fff8(0x23c));if(_0x31aa9f[_0x28fff8(0x1ee)]()>_0x423cfc)throw menuError('menu_plan_expired','Menu\x20delete\x20plan\x20expired\x20at\x20'+_0x1be888[_0x28fff8(0x246)]+'.','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.');}function fingerprint(_0x3aaa0c){const _0x341462=a119_0x407553;return{'id':_0x3aaa0c['id'],'parentId':_0x3aaa0c[_0x341462(0x21e)],'depth':_0x3aaa0c[_0x341462(0x1fe)],'label':_0x3aaa0c[_0x341462(0x1ef)],'path':_0x3aaa0c[_0x341462(0x1fa)],'type':_0x3aaa0c[_0x341462(0x1ea)],'visible':_0x3aaa0c[_0x341462(0x21a)],'sort':_0x3aaa0c[_0x341462(0x249)],'pageId':_0x3aaa0c[_0x341462(0x1f1)],'pageType':_0x3aaa0c[_0x341462(0x1f9)],'modelType':_0x3aaa0c[_0x341462(0x1f2)],'datasetId':_0x3aaa0c[_0x341462(0x233)],'datasetCode':_0x3aaa0c[_0x341462(0x205)],'childrenIds':[..._0x3aaa0c[_0x341462(0x245)]],'childrenCount':_0x3aaa0c[_0x341462(0x215)],'resourcesValid':_0x3aaa0c[_0x341462(0x21b)],'resourcesHash':hashValue(_0x3aaa0c['resources']),'extendHash':hashValue(_0x3aaa0c[_0x341462(0x1f3)]??null),'updateTime':_0x3aaa0c[_0x341462(0x22b)]};}function hashValue(_0xc470da){const _0x259e18=a119_0x407553;return createHash('sha256')['update'](JSON[_0x259e18(0x240)](_0xc470da))['digest'](_0x259e18(0x23a));}function sameFingerprint(_0x1af3f6,_0x1f8d34){const _0x37eccd=a119_0x407553;return JSON[_0x37eccd(0x240)](_0x1af3f6)===JSON[_0x37eccd(0x240)](_0x1f8d34);}function resolvePlanPath(_0x38288a,_0x5534f2){const _0x299f36=a119_0x407553,_0x4e3b2d=_0x38288a['trim']();if(!_0x4e3b2d)throw menuError('menu_plan_invalid','--'+_0x5534f2+_0x299f36(0x204));return resolve(_0x4e3b2d);}function isMenuDeletePlanFile(_0x3fcfd1){const _0xfad214=a119_0x407553;if(!isRecord(_0x3fcfd1))return![];return _0x3fcfd1[_0xfad214(0x209)]===PLAN_VERSION&&_0x3fcfd1['command']===PLAN_COMMAND&&typeof _0x3fcfd1[_0xfad214(0x228)]==='string'&&_0x3fcfd1[_0xfad214(0x228)][_0xfad214(0x24a)]>0x0&&typeof _0x3fcfd1[_0xfad214(0x223)]===_0xfad214(0x20d)&&typeof _0x3fcfd1[_0xfad214(0x246)]===_0xfad214(0x20d)&&typeof _0x3fcfd1[_0xfad214(0x210)]===_0xfad214(0x20d)&&/^sha256:[a-f0-9]{64}$/[_0xfad214(0x227)](_0x3fcfd1['snapshotHash'])&&typeof _0x3fcfd1[_0xfad214(0x1ff)]===_0xfad214(0x216)&&isMenuFact(_0x3fcfd1['target'])&&isTargetFingerprint(_0x3fcfd1[_0xfad214(0x218)])&&Array[_0xfad214(0x224)](_0x3fcfd1[_0xfad214(0x21f)])&&_0x3fcfd1[_0xfad214(0x21f)][_0xfad214(0x24a)]>0x0&&_0x3fcfd1[_0xfad214(0x21f)][_0xfad214(0x1f4)](isMenuFact)&&Array['isArray'](_0x3fcfd1[_0xfad214(0x1eb)])&&_0x3fcfd1[_0xfad214(0x1eb)][_0xfad214(0x24a)]===_0x3fcfd1[_0xfad214(0x21f)][_0xfad214(0x24a)]&&_0x3fcfd1['targetFingerprints'][_0xfad214(0x1f4)](isTargetFingerprint)&&Array[_0xfad214(0x224)](_0x3fcfd1['deleteOrder'])&&_0x3fcfd1['deleteOrder'][_0xfad214(0x24a)]===_0x3fcfd1['targets'][_0xfad214(0x24a)]&&_0x3fcfd1['deleteOrder'][_0xfad214(0x1f4)](isPositiveInteger)&&new Set(_0x3fcfd1['deleteOrder'])['size']===_0x3fcfd1[_0xfad214(0x21d)][_0xfad214(0x24a)]&&_0x3fcfd1[_0xfad214(0x21f)][_0xfad214(0x1f4)]((_0x54d757,_0x46a002)=>_0x54d757['id']===_0x3fcfd1['deleteOrder'][_0x46a002])&&_0x3fcfd1[_0xfad214(0x21f)][_0x3fcfd1['targets'][_0xfad214(0x24a)]-0x1]?.['id']===_0x3fcfd1[_0xfad214(0x1f7)]['id']&&isRecord(_0x3fcfd1['cascade'])&&Array[_0xfad214(0x224)](_0x3fcfd1['cascade'][_0xfad214(0x243)])&&_0x3fcfd1['cascade']['pages']['every'](isPositiveInteger)&&typeof _0x3fcfd1['cascade'][_0xfad214(0x238)]==='boolean'&&Array[_0xfad214(0x224)](_0x3fcfd1[_0xfad214(0x22f)])&&_0x3fcfd1['warnings'][_0xfad214(0x1f4)](_0x1bc910=>typeof _0x1bc910===_0xfad214(0x20d));}function isMenuFact(_0x164463){const _0x5ae870=a119_0x407553;if(!isRecord(_0x164463))return![];return isPositiveInteger(_0x164463['id'])&&(_0x164463['parentId']===null||isPositiveInteger(_0x164463[_0x5ae870(0x21e)]))&&Number[_0x5ae870(0x220)](_0x164463['depth'])&&_0x164463[_0x5ae870(0x1fe)]>=0x0&&typeof _0x164463[_0x5ae870(0x1ef)]===_0x5ae870(0x20d)&&typeof _0x164463[_0x5ae870(0x1fa)]===_0x5ae870(0x20d)&&typeof _0x164463[_0x5ae870(0x1ea)]===_0x5ae870(0x20d)&&(_0x164463['visible']===null||typeof _0x164463['visible']===_0x5ae870(0x216))&&(_0x164463[_0x5ae870(0x249)]===null||Number[_0x5ae870(0x220)](_0x164463[_0x5ae870(0x249)]))&&Array[_0x5ae870(0x224)](_0x164463[_0x5ae870(0x206)])&&_0x164463[_0x5ae870(0x206)]['every'](_0x128e8e=>typeof _0x128e8e===_0x5ae870(0x20d))&&typeof _0x164463[_0x5ae870(0x21b)]===_0x5ae870(0x216)&&Array['isArray'](_0x164463[_0x5ae870(0x245)])&&_0x164463[_0x5ae870(0x245)]['every'](isPositiveInteger)&&Number[_0x5ae870(0x220)](_0x164463[_0x5ae870(0x215)])&&_0x164463[_0x5ae870(0x215)]>=0x0&&(_0x164463['pageId']===null||isPositiveInteger(_0x164463[_0x5ae870(0x1f1)]))&&typeof _0x164463[_0x5ae870(0x1f9)]===_0x5ae870(0x20d)&&typeof _0x164463[_0x5ae870(0x1f2)]===_0x5ae870(0x20d)&&(_0x164463['datasetId']===null||isPositiveInteger(_0x164463[_0x5ae870(0x233)]))&&typeof _0x164463[_0x5ae870(0x205)]===_0x5ae870(0x20d)&&(_0x164463[_0x5ae870(0x1ec)]===null||typeof _0x164463['updateUserId']===_0x5ae870(0x20d))&&(_0x164463['updateUserName']===null||typeof _0x164463['updateUserName']===_0x5ae870(0x20d))&&(_0x164463[_0x5ae870(0x22b)]===null||typeof _0x164463[_0x5ae870(0x22b)]===_0x5ae870(0x20d)||typeof _0x164463[_0x5ae870(0x22b)]===_0x5ae870(0x212))&&(_0x164463[_0x5ae870(0x1f3)]===undefined||_0x164463[_0x5ae870(0x1f3)]===null||isRecord(_0x164463[_0x5ae870(0x1f3)]));}function isTargetFingerprint(_0x22b51c){const _0x24d1df=a119_0x407553;if(!isRecord(_0x22b51c))return![];return isPositiveInteger(_0x22b51c['id'])&&(_0x22b51c[_0x24d1df(0x21e)]===null||isPositiveInteger(_0x22b51c[_0x24d1df(0x21e)]))&&Number[_0x24d1df(0x220)](_0x22b51c[_0x24d1df(0x1fe)])&&_0x22b51c[_0x24d1df(0x1fe)]>=0x0&&typeof _0x22b51c[_0x24d1df(0x1ef)]===_0x24d1df(0x20d)&&typeof _0x22b51c[_0x24d1df(0x1fa)]==='string'&&typeof _0x22b51c[_0x24d1df(0x1ea)]===_0x24d1df(0x20d)&&(_0x22b51c[_0x24d1df(0x21a)]===null||typeof _0x22b51c[_0x24d1df(0x21a)]==='boolean')&&(_0x22b51c[_0x24d1df(0x249)]===null||Number[_0x24d1df(0x220)](_0x22b51c[_0x24d1df(0x249)]))&&(_0x22b51c[_0x24d1df(0x1f1)]===null||isPositiveInteger(_0x22b51c[_0x24d1df(0x1f1)]))&&typeof _0x22b51c[_0x24d1df(0x1f9)]===_0x24d1df(0x20d)&&typeof _0x22b51c[_0x24d1df(0x1f2)]===_0x24d1df(0x20d)&&(_0x22b51c['datasetId']===null||isPositiveInteger(_0x22b51c[_0x24d1df(0x233)]))&&typeof _0x22b51c['datasetCode']===_0x24d1df(0x20d)&&Array['isArray'](_0x22b51c['childrenIds'])&&_0x22b51c[_0x24d1df(0x245)][_0x24d1df(0x1f4)](isPositiveInteger)&&Number[_0x24d1df(0x220)](_0x22b51c['childrenCount'])&&_0x22b51c['childrenCount']>=0x0&&typeof _0x22b51c[_0x24d1df(0x21b)]==='boolean'&&typeof _0x22b51c[_0x24d1df(0x241)]===_0x24d1df(0x20d)&&/^[a-f0-9]{64}$/['test'](_0x22b51c[_0x24d1df(0x241)])&&typeof _0x22b51c['extendHash']==='string'&&/^[a-f0-9]{64}$/['test'](_0x22b51c[_0x24d1df(0x239)])&&(_0x22b51c[_0x24d1df(0x22b)]===null||typeof _0x22b51c['updateTime']==='string'||typeof _0x22b51c[_0x24d1df(0x22b)]===_0x24d1df(0x212));}function isRecord(_0xc79ea2){const _0x3c8e01=a119_0x407553;return typeof _0xc79ea2===_0x3c8e01(0x211)&&_0xc79ea2!==null&&!Array[_0x3c8e01(0x224)](_0xc79ea2);}function isPositiveInteger(_0x5164a5){const _0xe71b55=a119_0x407553;return Number[_0xe71b55(0x207)](_0x5164a5)&&Number(_0x5164a5)>0x0;}function errorMessage(_0x44e533){return _0x44e533 instanceof Error?_0x44e533['message']:String(_0x44e533);}
|
|
1
|
+
(function(_0x2636f7,_0x39ab5e){const _0x1a971f=a121_0x4f3e,_0x51d75c=_0x2636f7();while(!![]){try{const _0x37d7b0=parseInt(_0x1a971f(0x1a5))/0x1+-parseInt(_0x1a971f(0x187))/0x2+parseInt(_0x1a971f(0x165))/0x3*(-parseInt(_0x1a971f(0x19b))/0x4)+parseInt(_0x1a971f(0x196))/0x5+parseInt(_0x1a971f(0x150))/0x6*(parseInt(_0x1a971f(0x180))/0x7)+-parseInt(_0x1a971f(0x16a))/0x8+-parseInt(_0x1a971f(0x1b0))/0x9*(-parseInt(_0x1a971f(0x172))/0xa);if(_0x37d7b0===_0x39ab5e)break;else _0x51d75c['push'](_0x51d75c['shift']());}catch(_0x3cb48f){_0x51d75c['push'](_0x51d75c['shift']());}}}(a121_0x4446,0x66e82));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';function a121_0x4446(){const _0x286859=['750390LDToHi','targets','resources','menu_plan_app_mismatch','cascade','datasetCode','/smartapi/menu/batchDelete','boolean','length','datasetId','menu_plan_expired','9qDrPAg','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','getTime','version','pages','Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20','POST','updateUserName','toISOString','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','Cannot\x20read\x20menu\x20delete\x20plan\x20','1668IrfEeJ','Menu\x20delete\x20plan\x20targets\x20app\x20','string','pageType','\x20of\x20the\x20','byId','message','visible','command','\x20bytes.','type','updateTime','map','sort','expiresAt','digest','isFinite','resourcesValid','Planned\x20menu\x20','isInteger','menu_plan_write_failed','4131KbRmwB','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','menu_plan_invalid','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','warnings','4565520bufDdA','sha256','Menu\x20delete\x20plan\x20expired\x20at\x20','Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.','selector','trim','childrenIds','extend','8605340IcssQW','stringify','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','childrenCount','hash','targetFingerprints','object','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','updateUserId','label','isArray','resourcesHash','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','delete','3199jCWxBB','depth','batch-delete-menu','targetFingerprint','menu_state_drift','createdAt','number','51996pnjsot','snapshotHash','every','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','target','plan-out','utf8','path','appCode','deleteOrder','\x20contract.','size','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','test','extendHash','84595piWmeu','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','code','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','2140WliQzh','recursive','plan','\x20is\x20in\x20the\x20future.','parse','pageId','pageSchemaAffected','before','modelType','parentId'];a121_0x4446=function(){return _0x286859;};return a121_0x4446();}import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND='menu\x20delete',PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0xdb952e,_0x1f8e22,_0x279f9f=new Date()){const _0x4cdb52=a121_0x4f3e;if(!_0x1f8e22['before']||!isMenuFact(_0x1f8e22[_0x4cdb52(0x1a2)]))throw menuError(_0x4cdb52(0x167),_0x4cdb52(0x18a));const _0xd10da1=_0x1f8e22[_0x4cdb52(0x1a6)]?.[_0x4cdb52(0x1ad)]?_0x1f8e22[_0x4cdb52(0x1a6)]:[_0x1f8e22['before']],_0x59b7b3=_0x1f8e22['deleteOrder']?.[_0x4cdb52(0x1ad)]?_0x1f8e22[_0x4cdb52(0x190)]:_0xd10da1[_0x4cdb52(0x15c)](_0x2d083f=>_0x2d083f['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0xdb952e,'createdAt':_0x279f9f[_0x4cdb52(0x14d)](),'expiresAt':new Date(_0x279f9f[_0x4cdb52(0x1b2)]()+PLAN_TTL_MS)[_0x4cdb52(0x14d)](),'snapshotHash':_0x1f8e22['snapshotHash'],'recursive':_0x1f8e22[_0x4cdb52(0x16e)][_0x4cdb52(0x19c)]===!![],'target':_0x1f8e22['before'],'targetFingerprint':fingerprint(_0x1f8e22[_0x4cdb52(0x1a2)]),'targets':_0xd10da1,'targetFingerprints':_0xd10da1['map'](fingerprint),'deleteOrder':_0x59b7b3,'cascade':_0x1f8e22['cascade']??{'pages':_0x1f8e22[_0x4cdb52(0x1a2)][_0x4cdb52(0x1a0)]==null?[]:[_0x1f8e22[_0x4cdb52(0x1a2)][_0x4cdb52(0x1a0)]],'pageSchemaAffected':_0x1f8e22[_0x4cdb52(0x1a2)][_0x4cdb52(0x1a0)]!=null},'warnings':[..._0x1f8e22[_0x4cdb52(0x169)]]};}export async function writeMenuDeletePlan(_0x52ba65,_0x45fcec){const _0x379c84=a121_0x4f3e,_0x1a2368=resolvePlanPath(_0x52ba65,_0x379c84(0x18c));await mkdir(dirname(_0x1a2368),{'recursive':!![]});try{await writeFile(_0x1a2368,JSON[_0x379c84(0x173)](_0x45fcec,null,0x2)+'\x0a',{'encoding':_0x379c84(0x18d),'flag':'wx'});}catch(_0x522abe){if(_0x522abe[_0x379c84(0x198)]==='EEXIST')throw menuError('menu_plan_file_exists',_0x379c84(0x199)+_0x1a2368,_0x379c84(0x16d));throw menuError(_0x379c84(0x164),'Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x1a2368+':\x20'+errorMessage(_0x522abe));}return _0x1a2368;}export async function readMenuDeletePlan(_0xd0ea14){const _0x38ec4f=a121_0x4f3e,_0x351bd1=resolvePlanPath(_0xd0ea14,_0x38ec4f(0x19d));let _0x4257da;try{_0x4257da=(await stat(_0x351bd1))[_0x38ec4f(0x192)];}catch(_0x42b213){throw menuError(_0x38ec4f(0x167),_0x38ec4f(0x14f)+_0x351bd1+':\x20'+errorMessage(_0x42b213));}if(_0x4257da>MAX_PLAN_BYTES)throw menuError(_0x38ec4f(0x167),'Menu\x20delete\x20plan\x20is\x20too\x20large:\x20'+_0x4257da+_0x38ec4f(0x159));let _0x266f49;try{_0x266f49=JSON['parse'](await readFile(_0x351bd1,_0x38ec4f(0x18d)));}catch(_0x103d15){throw menuError(_0x38ec4f(0x167),_0x38ec4f(0x174)+errorMessage(_0x103d15));}if(!isMenuDeletePlanFile(_0x266f49))throw menuError(_0x38ec4f(0x167),_0x38ec4f(0x14a)+PLAN_VERSION+_0x38ec4f(0x154)+PLAN_COMMAND+_0x38ec4f(0x191));if(!sameFingerprint(_0x266f49[_0x38ec4f(0x183)],fingerprint(_0x266f49[_0x38ec4f(0x18b)])))throw menuError(_0x38ec4f(0x167),_0x38ec4f(0x19a),_0x38ec4f(0x197));if(!_0x266f49[_0x38ec4f(0x1a6)]['every']((_0x1176fb,_0x1ee33d)=>sameFingerprint(_0x266f49[_0x38ec4f(0x177)][_0x1ee33d],fingerprint(_0x1176fb)))||!sameFingerprint(_0x266f49[_0x38ec4f(0x183)],fingerprint(_0x266f49[_0x38ec4f(0x1a6)][_0x266f49['targets']['length']-0x1])))throw menuError(_0x38ec4f(0x167),_0x38ec4f(0x166),_0x38ec4f(0x197));return{'path':_0x351bd1,'plan':_0x266f49};}export function mutationPlanFromDeleteFile(_0x55ba2f,_0x2560c5){const _0x381661=a121_0x4f3e;return mutationResult({'operation':_0x381661(0x17f),'selector':{'id':_0x55ba2f[_0x381661(0x18b)]['id'],'recursive':_0x55ba2f[_0x381661(0x19c)]},'before':_0x55ba2f[_0x381661(0x18b)],'after':null,'dryRun':![],'backend':[{'method':_0x381661(0x14b),'path':_0x381661(0x1ab)}],'plannedActions':[{'stage':_0x381661(0x182),'method':_0x381661(0x14b),'path':_0x381661(0x1ab),'body':{'idList':_0x55ba2f[_0x381661(0x190)]}}],'targets':_0x55ba2f['targets'],'deleteOrder':_0x55ba2f[_0x381661(0x190)],'snapshotHash':_0x55ba2f[_0x381661(0x188)],'cascade':_0x55ba2f[_0x381661(0x1a9)],'planFile':{'path':_0x2560c5,'createdAt':_0x55ba2f[_0x381661(0x185)],'expiresAt':_0x55ba2f['expiresAt']},'warnings':_0x55ba2f[_0x381661(0x169)]});}export function assertMenuDeletePlanCurrent(_0x3f7869,_0x2f8dae,_0x2a32dd,_0x5e2151=new Date()){const _0xaf1f14=a121_0x4f3e;assertMenuDeletePlanExecutable(_0x3f7869,_0x2f8dae,_0x5e2151);if(_0x2a32dd[_0xaf1f14(0x176)]!==_0x3f7869[_0xaf1f14(0x188)])throw menuError('menu_state_drift','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.',_0xaf1f14(0x14e));return _0x3f7869['targets'][_0xaf1f14(0x15c)]((_0x8dc637,_0x2f621e)=>{const _0x2e2e12=_0xaf1f14,_0x3eba13=_0x2a32dd[_0x2e2e12(0x155)]['get'](_0x8dc637['id']);if(!_0x3eba13)throw menuError(_0x2e2e12(0x184),_0x2e2e12(0x162)+_0x8dc637['id']+_0x2e2e12(0x168));if(!sameFingerprint(_0x3f7869[_0x2e2e12(0x177)][_0x2f621e],fingerprint(_0x3eba13)))throw menuError(_0x2e2e12(0x184),_0x2e2e12(0x162)+_0x8dc637['id']+_0x2e2e12(0x1b1),_0x2e2e12(0x193));return _0x3eba13;});}export function assertMenuDeletePlanExecutable(_0x2b982a,_0x290769,_0x30b29f=new Date()){const _0x49bc2d=a121_0x4f3e;if(_0x2b982a[_0x49bc2d(0x18f)]!==_0x290769)throw menuError(_0x49bc2d(0x1a8),_0x49bc2d(0x151)+JSON[_0x49bc2d(0x173)](_0x2b982a[_0x49bc2d(0x18f)])+',\x20current\x20app\x20is\x20'+JSON[_0x49bc2d(0x173)](_0x290769)+'.');const _0x52a3be=Date[_0x49bc2d(0x19f)](_0x2b982a[_0x49bc2d(0x185)]),_0x5cb246=Date[_0x49bc2d(0x19f)](_0x2b982a['expiresAt']);if(!Number[_0x49bc2d(0x160)](_0x52a3be)||!Number[_0x49bc2d(0x160)](_0x5cb246)||_0x5cb246-_0x52a3be!==PLAN_TTL_MS)throw menuError('menu_plan_invalid',_0x49bc2d(0x17e));if(_0x52a3be>_0x30b29f['getTime']())throw menuError(_0x49bc2d(0x167),'Menu\x20delete\x20plan\x20creation\x20time\x20'+_0x2b982a[_0x49bc2d(0x185)]+_0x49bc2d(0x19e),'Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.');if(_0x30b29f['getTime']()>_0x5cb246)throw menuError(_0x49bc2d(0x1af),_0x49bc2d(0x16c)+_0x2b982a[_0x49bc2d(0x15e)]+'.',_0x49bc2d(0x179));}function fingerprint(_0x511825){const _0x3dadb3=a121_0x4f3e;return{'id':_0x511825['id'],'parentId':_0x511825[_0x3dadb3(0x1a4)],'depth':_0x511825['depth'],'label':_0x511825[_0x3dadb3(0x17b)],'path':_0x511825[_0x3dadb3(0x18e)],'type':_0x511825['type'],'visible':_0x511825[_0x3dadb3(0x157)],'sort':_0x511825['sort'],'pageId':_0x511825[_0x3dadb3(0x1a0)],'pageType':_0x511825[_0x3dadb3(0x153)],'modelType':_0x511825['modelType'],'datasetId':_0x511825[_0x3dadb3(0x1ae)],'datasetCode':_0x511825[_0x3dadb3(0x1aa)],'childrenIds':[..._0x511825[_0x3dadb3(0x170)]],'childrenCount':_0x511825[_0x3dadb3(0x175)],'resourcesValid':_0x511825[_0x3dadb3(0x161)],'resourcesHash':hashValue(_0x511825[_0x3dadb3(0x1a7)]),'extendHash':hashValue(_0x511825[_0x3dadb3(0x171)]??null),'updateTime':_0x511825[_0x3dadb3(0x15b)]};}function hashValue(_0x599fc0){const _0x3767bc=a121_0x4f3e;return createHash(_0x3767bc(0x16b))['update'](JSON[_0x3767bc(0x173)](_0x599fc0))[_0x3767bc(0x15f)]('hex');}function sameFingerprint(_0x3f0eb4,_0x1ac8c8){const _0x41617e=a121_0x4f3e;return JSON[_0x41617e(0x173)](_0x3f0eb4)===JSON['stringify'](_0x1ac8c8);}function resolvePlanPath(_0x28aef9,_0x4d64d9){const _0x1ddcaf=a121_0x4f3e,_0x3f2059=_0x28aef9[_0x1ddcaf(0x16f)]();if(!_0x3f2059)throw menuError(_0x1ddcaf(0x167),'--'+_0x4d64d9+'\x20requires\x20a\x20non-empty\x20file\x20path.');return resolve(_0x3f2059);}function isMenuDeletePlanFile(_0x5b6fbf){const _0x179776=a121_0x4f3e;if(!isRecord(_0x5b6fbf))return![];return _0x5b6fbf[_0x179776(0x1b3)]===PLAN_VERSION&&_0x5b6fbf[_0x179776(0x158)]===PLAN_COMMAND&&typeof _0x5b6fbf[_0x179776(0x18f)]==='string'&&_0x5b6fbf[_0x179776(0x18f)][_0x179776(0x1ad)]>0x0&&typeof _0x5b6fbf[_0x179776(0x185)]===_0x179776(0x152)&&typeof _0x5b6fbf['expiresAt']==='string'&&typeof _0x5b6fbf['snapshotHash']==='string'&&/^sha256:[a-f0-9]{64}$/[_0x179776(0x194)](_0x5b6fbf[_0x179776(0x188)])&&typeof _0x5b6fbf[_0x179776(0x19c)]===_0x179776(0x1ac)&&isMenuFact(_0x5b6fbf[_0x179776(0x18b)])&&isTargetFingerprint(_0x5b6fbf[_0x179776(0x183)])&&Array['isArray'](_0x5b6fbf[_0x179776(0x1a6)])&&_0x5b6fbf[_0x179776(0x1a6)]['length']>0x0&&_0x5b6fbf[_0x179776(0x1a6)]['every'](isMenuFact)&&Array[_0x179776(0x17c)](_0x5b6fbf[_0x179776(0x177)])&&_0x5b6fbf['targetFingerprints'][_0x179776(0x1ad)]===_0x5b6fbf[_0x179776(0x1a6)][_0x179776(0x1ad)]&&_0x5b6fbf[_0x179776(0x177)]['every'](isTargetFingerprint)&&Array[_0x179776(0x17c)](_0x5b6fbf[_0x179776(0x190)])&&_0x5b6fbf['deleteOrder'][_0x179776(0x1ad)]===_0x5b6fbf['targets'][_0x179776(0x1ad)]&&_0x5b6fbf[_0x179776(0x190)][_0x179776(0x189)](isPositiveInteger)&&new Set(_0x5b6fbf[_0x179776(0x190)])['size']===_0x5b6fbf['deleteOrder'][_0x179776(0x1ad)]&&_0x5b6fbf[_0x179776(0x1a6)][_0x179776(0x189)]((_0x1bb0b0,_0x5f5813)=>_0x1bb0b0['id']===_0x5b6fbf[_0x179776(0x190)][_0x5f5813])&&_0x5b6fbf[_0x179776(0x1a6)][_0x5b6fbf[_0x179776(0x1a6)][_0x179776(0x1ad)]-0x1]?.['id']===_0x5b6fbf[_0x179776(0x18b)]['id']&&isRecord(_0x5b6fbf[_0x179776(0x1a9)])&&Array['isArray'](_0x5b6fbf[_0x179776(0x1a9)][_0x179776(0x1b4)])&&_0x5b6fbf[_0x179776(0x1a9)][_0x179776(0x1b4)][_0x179776(0x189)](isPositiveInteger)&&typeof _0x5b6fbf[_0x179776(0x1a9)][_0x179776(0x1a1)]==='boolean'&&Array[_0x179776(0x17c)](_0x5b6fbf[_0x179776(0x169)])&&_0x5b6fbf[_0x179776(0x169)][_0x179776(0x189)](_0x373c6d=>typeof _0x373c6d===_0x179776(0x152));}function isMenuFact(_0xc44e15){const _0x5eed43=a121_0x4f3e;if(!isRecord(_0xc44e15))return![];return isPositiveInteger(_0xc44e15['id'])&&(_0xc44e15[_0x5eed43(0x1a4)]===null||isPositiveInteger(_0xc44e15[_0x5eed43(0x1a4)]))&&Number[_0x5eed43(0x163)](_0xc44e15[_0x5eed43(0x181)])&&_0xc44e15[_0x5eed43(0x181)]>=0x0&&typeof _0xc44e15['label']===_0x5eed43(0x152)&&typeof _0xc44e15[_0x5eed43(0x18e)]===_0x5eed43(0x152)&&typeof _0xc44e15[_0x5eed43(0x15a)]==='string'&&(_0xc44e15['visible']===null||typeof _0xc44e15[_0x5eed43(0x157)]===_0x5eed43(0x1ac))&&(_0xc44e15[_0x5eed43(0x15d)]===null||Number[_0x5eed43(0x163)](_0xc44e15[_0x5eed43(0x15d)]))&&Array[_0x5eed43(0x17c)](_0xc44e15[_0x5eed43(0x1a7)])&&_0xc44e15[_0x5eed43(0x1a7)][_0x5eed43(0x189)](_0x4a676f=>typeof _0x4a676f===_0x5eed43(0x152))&&typeof _0xc44e15[_0x5eed43(0x161)]===_0x5eed43(0x1ac)&&Array['isArray'](_0xc44e15['childrenIds'])&&_0xc44e15[_0x5eed43(0x170)][_0x5eed43(0x189)](isPositiveInteger)&&Number[_0x5eed43(0x163)](_0xc44e15[_0x5eed43(0x175)])&&_0xc44e15[_0x5eed43(0x175)]>=0x0&&(_0xc44e15[_0x5eed43(0x1a0)]===null||isPositiveInteger(_0xc44e15[_0x5eed43(0x1a0)]))&&typeof _0xc44e15[_0x5eed43(0x153)]==='string'&&typeof _0xc44e15[_0x5eed43(0x1a3)]===_0x5eed43(0x152)&&(_0xc44e15['datasetId']===null||isPositiveInteger(_0xc44e15[_0x5eed43(0x1ae)]))&&typeof _0xc44e15[_0x5eed43(0x1aa)]===_0x5eed43(0x152)&&(_0xc44e15['updateUserId']===null||typeof _0xc44e15[_0x5eed43(0x17a)]===_0x5eed43(0x152))&&(_0xc44e15[_0x5eed43(0x14c)]===null||typeof _0xc44e15['updateUserName']===_0x5eed43(0x152))&&(_0xc44e15['updateTime']===null||typeof _0xc44e15[_0x5eed43(0x15b)]===_0x5eed43(0x152)||typeof _0xc44e15[_0x5eed43(0x15b)]===_0x5eed43(0x186))&&(_0xc44e15[_0x5eed43(0x171)]===undefined||_0xc44e15['extend']===null||isRecord(_0xc44e15[_0x5eed43(0x171)]));}function isTargetFingerprint(_0x65c378){const _0x350684=a121_0x4f3e;if(!isRecord(_0x65c378))return![];return isPositiveInteger(_0x65c378['id'])&&(_0x65c378[_0x350684(0x1a4)]===null||isPositiveInteger(_0x65c378['parentId']))&&Number[_0x350684(0x163)](_0x65c378['depth'])&&_0x65c378[_0x350684(0x181)]>=0x0&&typeof _0x65c378[_0x350684(0x17b)]==='string'&&typeof _0x65c378['path']==='string'&&typeof _0x65c378[_0x350684(0x15a)]===_0x350684(0x152)&&(_0x65c378[_0x350684(0x157)]===null||typeof _0x65c378[_0x350684(0x157)]==='boolean')&&(_0x65c378[_0x350684(0x15d)]===null||Number[_0x350684(0x163)](_0x65c378[_0x350684(0x15d)]))&&(_0x65c378[_0x350684(0x1a0)]===null||isPositiveInteger(_0x65c378[_0x350684(0x1a0)]))&&typeof _0x65c378['pageType']===_0x350684(0x152)&&typeof _0x65c378[_0x350684(0x1a3)]==='string'&&(_0x65c378['datasetId']===null||isPositiveInteger(_0x65c378[_0x350684(0x1ae)]))&&typeof _0x65c378[_0x350684(0x1aa)]===_0x350684(0x152)&&Array[_0x350684(0x17c)](_0x65c378[_0x350684(0x170)])&&_0x65c378[_0x350684(0x170)][_0x350684(0x189)](isPositiveInteger)&&Number[_0x350684(0x163)](_0x65c378[_0x350684(0x175)])&&_0x65c378[_0x350684(0x175)]>=0x0&&typeof _0x65c378[_0x350684(0x161)]===_0x350684(0x1ac)&&typeof _0x65c378[_0x350684(0x17d)]===_0x350684(0x152)&&/^[a-f0-9]{64}$/['test'](_0x65c378[_0x350684(0x17d)])&&typeof _0x65c378[_0x350684(0x195)]===_0x350684(0x152)&&/^[a-f0-9]{64}$/['test'](_0x65c378[_0x350684(0x195)])&&(_0x65c378['updateTime']===null||typeof _0x65c378[_0x350684(0x15b)]===_0x350684(0x152)||typeof _0x65c378[_0x350684(0x15b)]===_0x350684(0x186));}function a121_0x4f3e(_0x45fab2,_0x4673aa){_0x45fab2=_0x45fab2-0x14a;const _0x444644=a121_0x4446();let _0x4f3ebf=_0x444644[_0x45fab2];return _0x4f3ebf;}function isRecord(_0x3953e1){const _0x37a9cb=a121_0x4f3e;return typeof _0x3953e1===_0x37a9cb(0x178)&&_0x3953e1!==null&&!Array['isArray'](_0x3953e1);}function isPositiveInteger(_0x2d7532){return Number['isSafeInteger'](_0x2d7532)&&Number(_0x2d7532)>0x0;}function errorMessage(_0x1a42a9){const _0x1d6ae9=a121_0x4f3e;return _0x1a42a9 instanceof Error?_0x1a42a9[_0x1d6ae9(0x156)]:String(_0x1a42a9);}
|