@lovrabet/rabetbase-cli 2.4.1 → 2.4.2
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.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/react/create.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.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.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.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.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/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.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x1e4bd9=a111_0x2d0f;(function(_0xb21717,_0x34ba37){const _0x56740e=a111_0x2d0f,_0x2a1900=_0xb21717();while(!![]){try{const _0x2dc0e2=-parseInt(_0x56740e(0x12b))/0x1*(parseInt(_0x56740e(0x105))/0x2)+-parseInt(_0x56740e(0x11b))/0x3+-parseInt(_0x56740e(0x12c))/0x4*(parseInt(_0x56740e(0x10b))/0x5)+parseInt(_0x56740e(0xf4))/0x6+-parseInt(_0x56740e(0x122))/0x7+-parseInt(_0x56740e(0xf2))/0x8+parseInt(_0x56740e(0x111))/0x9;if(_0x2dc0e2===_0x34ba37)break;else _0x2a1900['push'](_0x2a1900['shift']());}catch(_0x4254f1){_0x2a1900['push'](_0x2a1900['shift']());}}}(a111_0x5d01,0x65053));function a111_0x5d01(){const _0x51676a=['\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','visible','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','menu\x20list','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','appCode','verify\x20folder\x20creation','sort','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','menu','<platform-generated>','group-create','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','2335800HHCpWt',';\x20verify\x20it\x20before\x20retrying.','2958366nVeSFX','resources','parent-id','\x20is\x20not\x20visible.','string','\x20has\x20an\x20unexpected\x20label.','hash','byId','POST','\x22\x20with\x20a\x20platform-generated\x20path.','create','\x20has\x20an\x20unexpected\x20sort.','\x20has\x20resources.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','cookie','/smartapi/menu/create','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','8lFDyjd','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','trim','after','write','folder','3665WhxkjG','type','create-response-validation','failed','Would\x20create\x20empty\x20folder\x20\x22','Created\x20menu\x20folder\x20','16715916UwOaJs','Created\x20menu\x20','create-folder','get','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20missing\x20from\x20menu\x20list.','create\x20folder','pageId','rabetbase\x20menu\x20list\x20--format\x20json','Created\x20folder\x20','2425200RPoNGK','Folder\x20','menu_create_response_invalid','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','\x20has\x20unexpected\x20parent\x20','parentId','Menu\x20create\x20response\x20for\x20folder\x20','4142936toIZVo','verification','root','stringify','path','\x20unexpectedly\x20owns\x20a\x20page.','\x20may\x20exist\x20online\x20at\x20path\x20','\x20is\x20not\x20type\x20folder.','label','57614BWUzjg','76dIulGP'];a111_0x5d01=function(){return _0x51676a;};return a111_0x5d01();}function a111_0x2d0f(_0xe35ad9,_0x5ca4e2){_0xe35ad9=_0xe35ad9-0xf2;const _0x5d012a=a111_0x5d01();let _0x2d0fca=_0x5d012a[_0xe35ad9];return _0x2d0fca;}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':a111_0x1e4bd9(0xfc),'path':a111_0x1e4bd9(0x103)}];export const menuGroupCreate={'service':a111_0x1e4bd9(0x138),'command':a111_0x1e4bd9(0x13a),'description':a111_0x1e4bd9(0x104),'risk':a111_0x1e4bd9(0x109),'structuredErrors':!![],'flags':[{'name':a111_0x1e4bd9(0x12a),'type':a111_0x1e4bd9(0xf8),'required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x26b858){validateCreateInput(_0x26b858);},async 'dryRun'(_0x449817){const _0x5efa52=a111_0x1e4bd9,_0x3527f8=await buildCreatePlan(_0x449817,!![]),_0x20f853=_0x3527f8['after'];return menuDryRunResult(_0x3527f8,{'method':_0x5efa52(0xfc),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x20f853[_0x5efa52(0x120)]),'label':_0x20f853[_0x5efa52(0x12a)],'type':_0x5efa52(0x10a),'visible':!![],'sort':_0x20f853['sort'],'extend':{}},'description':_0x5efa52(0x10f)+String(_0x20f853['label'])+_0x5efa52(0xfd)});},async 'execute'(_0x1b19ac){const _0x347ab5=a111_0x1e4bd9;validateCreateInput(_0x1b19ac);const _0x5016b5=await buildCreatePlan(_0x1b19ac,![]),_0x558166=_0x5016b5[_0x347ab5(0x108)];await recheckMutationSnapshot(_0x1b19ac,_0x5016b5,_0x347ab5(0x117));let _0xb0064c;try{_0xb0064c=await createMenuEntity(_0x1b19ac[_0x347ab5(0x134)],_0x1b19ac['cookie'],{'parentId':toApiParentId(_0x558166['parentId']),'label':String(_0x558166[_0x347ab5(0x12a)]),'type':'folder','visible':!![],'sort':Number(_0x558166[_0x347ab5(0x136)]),'extend':{}});}catch(_0x141b95){const _0xc363a6=mapMenuApiError(_0x141b95,_0x347ab5(0x117));throw menuFailure(_0xc363a6,_0x5016b5,{'stage':_0x347ab5(0xfe),'failed':{}});}const _0x251388=Number(_0xb0064c['id']);if(!Number['isSafeInteger'](_0x251388)||_0x251388<=0x0){const _0xe84da=menuError(_0x347ab5(0x11d),_0x347ab5(0x12f),_0x347ab5(0x115));throw menuFailure(_0xe84da,_0x5016b5,{'stage':_0x347ab5(0x10d),'failed':{'createdId':_0xb0064c['id']??null},'warnings':[_0x347ab5(0x101)],'verification':{'status':_0x347ab5(0x10e),'lookupCommand':_0x347ab5(0x119)}});}const _0x2d8257=typeof _0xb0064c['path']===_0x347ab5(0xf8)?_0xb0064c[_0x347ab5(0x126)]:'';if(!_0x2d8257[_0x347ab5(0x107)]()){const _0x53611b=menuError(_0x347ab5(0x11d),_0x347ab5(0x121)+_0x251388+_0x347ab5(0x131),_0x347ab5(0x106));throw menuFailure(_0x53611b,_0x5016b5,{'stage':_0x347ab5(0x10d),'succeeded':[{'id':_0x251388,'created':!![]}],'failed':{'id':_0x251388,'generatedPathConfirmed':![]},'warnings':[_0x347ab5(0x11c)+_0x251388+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x558166,'id':_0x251388,'path':_0x2d8257},'verification':{'status':_0x347ab5(0x10e),'lookupCommand':_0x347ab5(0x119),'targetId':_0x251388}});}let _0x1a06a6;try{_0x1a06a6=await fetchMenuSnapshot(_0x1b19ac[_0x347ab5(0x134)],_0x1b19ac[_0x347ab5(0x102)]);}catch(_0x4d033d){const _0x23d9d0=describeMenuErrorCause(_0x4d033d,_0x347ab5(0x135),_0x251388),_0x3fecfe=asVerificationError(_0x4d033d,'Folder\x20'+_0x251388+_0x347ab5(0x12e));throw menuFailure(_0x3fecfe,_0x5016b5,{'stage':'verification','succeeded':[{'id':_0x251388,'created':!![],'path':_0x2d8257}],'failed':{'id':_0x251388,'finalFactsConfirmed':![],..._0x23d9d0},'warnings':[_0x347ab5(0x11c)+_0x251388+_0x347ab5(0x128)+JSON[_0x347ab5(0x125)](_0x2d8257)+_0x347ab5(0xf3)],'after':{..._0x558166,'id':_0x251388,'path':_0x2d8257},'verification':{'status':'failed','lookupCommand':_0x347ab5(0x119),'targetId':_0x251388}});}const _0x43c340=_0x1a06a6[_0x347ab5(0xfb)][_0x347ab5(0x114)](_0x251388);let _0x497a57;try{assertVerified(Boolean(_0x43c340),'Created\x20folder\x20'+_0x251388+_0x347ab5(0x116)),_0x497a57=_0x43c340,assertVerified(_0x497a57[_0x347ab5(0x10c)]==='folder',_0x347ab5(0x112)+_0x251388+_0x347ab5(0x129)),assertVerified(_0x497a57[_0x347ab5(0x12a)]===_0x558166[_0x347ab5(0x12a)],'Created\x20folder\x20'+_0x251388+_0x347ab5(0xf9)),assertVerified(_0x497a57[_0x347ab5(0x126)]===_0x2d8257&&Boolean(_0x497a57[_0x347ab5(0x126)]['trim']()),_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x12d)),assertVerified(_0x497a57[_0x347ab5(0x130)]===!![],_0x347ab5(0x11a)+_0x251388+_0x347ab5(0xf7)),assertVerified(_0x497a57[_0x347ab5(0xf5)]['length']===0x0,_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x100)),assertVerified(_0x497a57['childrenCount']===0x0,_0x347ab5(0x11a)+_0x251388+'\x20is\x20not\x20empty.'),assertVerified(_0x497a57['sort']===_0x558166[_0x347ab5(0x136)],_0x347ab5(0x11a)+_0x251388+_0x347ab5(0xff)),assertVerified(_0x497a57['parentId']===_0x558166['parentId'],_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x11f)+(_0x497a57[_0x347ab5(0x120)]??_0x347ab5(0x124))+'.'),assertVerified(_0x497a57[_0x347ab5(0x118)]==null,_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x127));const _0x852a88=_0x497a57[_0x347ab5(0x120)]==null?undefined:requireFolder(_0x1a06a6,_0x497a57['parentId']);assertVerified(_0x497a57['depth']===(_0x852a88?_0x852a88['depth']+0x1:0x0),_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x133));}catch(_0x356eaa){const _0x39c41b=describeMenuErrorCause(_0x356eaa,_0x347ab5(0x135),_0x251388),_0x147a98=asVerificationError(_0x356eaa,_0x347ab5(0x11c)+_0x251388+_0x347ab5(0x137));throw menuFailure(_0x147a98,_0x5016b5,{'stage':_0x347ab5(0x123),'succeeded':[{'id':_0x251388,'created':!![],'path':_0x2d8257}],'failed':{'id':_0x251388,'finalFactsConfirmed':![],..._0x39c41b},'warnings':['Folder\x20'+_0x251388+_0x347ab5(0x11e)],'after':_0x43c340??{..._0x558166,'id':_0x251388,'path':_0x2d8257},'verification':{'status':_0x347ab5(0x10e),'lookupCommand':_0x347ab5(0x119),'targetId':_0x251388}});}const _0x4e4e2d=mutationResult({..._0x5016b5,'after':_0x497a57,'dryRun':![],'succeeded':[{'id':_0x251388,'type':_0x347ab5(0x10a),'path':_0x2d8257}],'verification':{'checkedBy':_0x347ab5(0x132),'snapshotHash':_0x1a06a6[_0x347ab5(0xfa)],'folder':!![],'path':_0x2d8257,'emptyResources':!![]}});return{'ok':!![],'data':_0x4e4e2d,'message':_0x347ab5(0x110)+_0x251388+'.'};}};function validateCreateInput(_0xa9491){const _0xe253ad=a111_0x1e4bd9,_0x4c8dd7=_0xa9491['str'](_0xe253ad(0x12a))[_0xe253ad(0x107)]();if(!_0x4c8dd7)throw CliErrors['flagMissing'](_0xe253ad(0x12a));parseParentId(_0xa9491,_0xe253ad(0xf6)),validateSort(_0xa9491);}async function buildCreatePlan(_0x4453cd,_0x340ac6){const _0x3f2a94=a111_0x1e4bd9,_0x119ab6=await fetchMutationSnapshot(_0x4453cd,_0x3f2a94(0x117)),_0x162a3e=parseParentId(_0x4453cd,_0x3f2a94(0xf6))??null;if(_0x162a3e!=null)requireFolder(_0x119ab6,_0x162a3e);const _0xffc058=validateSort(_0x4453cd),_0xac22df=_0xffc058??nextSiblingSort(_0x119ab6,_0x162a3e,_0x3f2a94(0x10a)),_0x1f0cb0=_0x4453cd['str']('label')[_0x3f2a94(0x107)]();return mutationResult({'operation':_0x3f2a94(0x13a),'selector':{'label':_0x1f0cb0,'parentId':_0x162a3e},'before':null,'after':{'id':null,'parentId':_0x162a3e,'label':_0x1f0cb0,'path':_0x3f2a94(0x139),'type':_0x3f2a94(0x10a),'visible':!![],'sort':_0xac22df,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x340ac6,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3f2a94(0x113),'method':_0x3f2a94(0xfc),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x162a3e),'label':_0x1f0cb0,'type':_0x3f2a94(0x10a),'visible':!![],'sort':_0xac22df,'extend':{}}}],'snapshotHash':_0x119ab6['hash'],'warnings':[_0x3f2a94(0x13b)]});}
|
|
1
|
+
function a111_0x3b3c(){const _0x3dd231=['root','trim','590kllrjy','138083zbUFiT','7284KYMsoM','byId','type','340IObJBq','childrenCount','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20is\x20missing\x20from\x20menu\x20list.','rabetbase\x20menu\x20list\x20--format\x20json','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','label','cookie','3QkBQlK','create\x20folder','flagMissing','failed','create','string','POST','Folder\x20label','12088935ZVwLas','pageId','group-create','parentId','24quNEFH','verification','verify\x20folder\x20creation','get','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','1144647DuHAQy','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','menu\x20list','\x20is\x20not\x20type\x20folder.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','visible','860YUJOSo','\x20has\x20resources.','depth','\x20unexpectedly\x20owns\x20a\x20page.','Menu\x20create\x20response\x20for\x20folder\x20','appCode','create-folder','4848DmdoQU','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20visible.','isSafeInteger','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','parent-id','Created\x20folder\x20',';\x20verify\x20it\x20before\x20retrying.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Folder\x20','28981068ivauze','\x20has\x20an\x20unexpected\x20label.','folder','create-response-validation','\x22\x20with\x20a\x20platform-generated\x20path.','1534972SxXjzn','after','path','menu_create_response_invalid','/smartapi/menu/create','hash','sort'];a111_0x3b3c=function(){return _0x3dd231;};return a111_0x3b3c();}const a111_0x3c26f4=a111_0xe711;(function(_0x50a466,_0x4bfc98){const _0x4836af=a111_0xe711,_0x1999fd=_0x50a466();while(!![]){try{const _0x12912d=parseInt(_0x4836af(0x19e))/0x1*(-parseInt(_0x4836af(0x19b))/0x2)+-parseInt(_0x4836af(0x1a6))/0x3*(-parseInt(_0x4836af(0x190))/0x4)+parseInt(_0x4836af(0x199))/0x5*(-parseInt(_0x4836af(0x181))/0x6)+parseInt(_0x4836af(0x174))/0x7*(-parseInt(_0x4836af(0x1b2))/0x8)+-parseInt(_0x4836af(0x1ae))/0x9+-parseInt(_0x4836af(0x17a))/0xa*(-parseInt(_0x4836af(0x19a))/0xb)+parseInt(_0x4836af(0x18b))/0xc;if(_0x12912d===_0x4bfc98)break;else _0x1999fd['push'](_0x1999fd['shift']());}catch(_0x35fa21){_0x1999fd['push'](_0x1999fd['shift']());}}}(a111_0x3b3c,0xad94c));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a111_0xe711(_0x39e01b,_0x3f23f8){_0x39e01b=_0x39e01b-0x174;const _0x3b3c30=a111_0x3b3c();let _0xe711d=_0x3b3c30[_0x39e01b];return _0xe711d;}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':a111_0x3c26f4(0x1ac),'path':a111_0x3c26f4(0x194)}];export const menuGroupCreate={'service':'menu','command':a111_0x3c26f4(0x1b0),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':'write','structuredErrors':!![],'flags':[{'name':a111_0x3c26f4(0x1a4),'type':'string','required':!![],'description':a111_0x3c26f4(0x1ad)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5e6159){validateCreateInput(_0x5e6159);},async 'dryRun'(_0x402a0d){const _0x5b71ed=a111_0x3c26f4,_0x4fae6d=await buildCreatePlan(_0x402a0d,!![]),_0x314641=_0x4fae6d[_0x5b71ed(0x191)];return menuDryRunResult(_0x4fae6d,{'method':_0x5b71ed(0x1ac),'url':_0x5b71ed(0x194),'body':{'parentId':toApiParentId(_0x314641['parentId']),'label':_0x314641[_0x5b71ed(0x1a4)],'type':'folder','visible':!![],'sort':_0x314641[_0x5b71ed(0x196)],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x314641[_0x5b71ed(0x1a4)])+_0x5b71ed(0x18f)});},async 'execute'(_0x28c18d){const _0x4dc066=a111_0x3c26f4;validateCreateInput(_0x28c18d);const _0x3be11f=await buildCreatePlan(_0x28c18d,![]),_0x7bf22a=_0x3be11f[_0x4dc066(0x191)];await recheckMutationSnapshot(_0x28c18d,_0x3be11f,_0x4dc066(0x1a7));let _0x742b07;try{_0x742b07=await createMenuEntity(_0x28c18d[_0x4dc066(0x17f)],_0x28c18d[_0x4dc066(0x1a5)],{'parentId':toApiParentId(_0x7bf22a[_0x4dc066(0x1b1)]),'label':String(_0x7bf22a['label']),'type':_0x4dc066(0x18d),'visible':!![],'sort':Number(_0x7bf22a[_0x4dc066(0x196)]),'extend':{}});}catch(_0xac3546){const _0x4bc3bb=mapMenuApiError(_0xac3546,_0x4dc066(0x1a7));throw menuFailure(_0x4bc3bb,_0x3be11f,{'stage':_0x4dc066(0x1aa),'failed':{}});}const _0x1a5ca7=Number(_0x742b07['id']);if(!Number[_0x4dc066(0x184)](_0x1a5ca7)||_0x1a5ca7<=0x0){const _0x10145d=menuError(_0x4dc066(0x193),_0x4dc066(0x178),_0x4dc066(0x182));throw menuFailure(_0x10145d,_0x3be11f,{'stage':_0x4dc066(0x18e),'failed':{'createdId':_0x742b07['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x4dc066(0x1a9),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x4c6103=typeof _0x742b07['path']===_0x4dc066(0x1ab)?_0x742b07['path']:'';if(!_0x4c6103[_0x4dc066(0x198)]()){const _0x4a4f80=menuError(_0x4dc066(0x193),_0x4dc066(0x17e)+_0x1a5ca7+_0x4dc066(0x1a0),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x4a4f80,_0x3be11f,{'stage':_0x4dc066(0x18e),'succeeded':[{'id':_0x1a5ca7,'created':!![]}],'failed':{'id':_0x1a5ca7,'generatedPathConfirmed':![]},'warnings':[_0x4dc066(0x18a)+_0x1a5ca7+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x7bf22a,'id':_0x1a5ca7,'path':_0x4c6103},'verification':{'status':_0x4dc066(0x1a9),'lookupCommand':_0x4dc066(0x1a2),'targetId':_0x1a5ca7}});}let _0x48c5c2;try{_0x48c5c2=await fetchMenuSnapshot(_0x28c18d[_0x4dc066(0x17f)],_0x28c18d[_0x4dc066(0x1a5)]);}catch(_0x580579){const _0x4e4b54=describeMenuErrorCause(_0x580579,_0x4dc066(0x1b4),_0x1a5ca7),_0x4d1fdd=asVerificationError(_0x580579,'Folder\x20'+_0x1a5ca7+_0x4dc066(0x185));throw menuFailure(_0x4d1fdd,_0x3be11f,{'stage':_0x4dc066(0x1b3),'succeeded':[{'id':_0x1a5ca7,'created':!![],'path':_0x4c6103}],'failed':{'id':_0x1a5ca7,'finalFactsConfirmed':![],..._0x4e4b54},'warnings':[_0x4dc066(0x18a)+_0x1a5ca7+'\x20may\x20exist\x20online\x20at\x20path\x20'+JSON['stringify'](_0x4c6103)+_0x4dc066(0x188)],'after':{..._0x7bf22a,'id':_0x1a5ca7,'path':_0x4c6103},'verification':{'status':_0x4dc066(0x1a9),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x1a5ca7}});}const _0x51fe6e=_0x48c5c2[_0x4dc066(0x19c)][_0x4dc066(0x1b5)](_0x1a5ca7);let _0x3d5914;try{assertVerified(Boolean(_0x51fe6e),_0x4dc066(0x187)+_0x1a5ca7+_0x4dc066(0x1a1)),_0x3d5914=_0x51fe6e,assertVerified(_0x3d5914[_0x4dc066(0x19d)]===_0x4dc066(0x18d),'Created\x20menu\x20'+_0x1a5ca7+_0x4dc066(0x177)),assertVerified(_0x3d5914['label']===_0x7bf22a[_0x4dc066(0x1a4)],_0x4dc066(0x187)+_0x1a5ca7+_0x4dc066(0x18c)),assertVerified(_0x3d5914['path']===_0x4c6103&&Boolean(_0x3d5914[_0x4dc066(0x192)]['trim']()),_0x4dc066(0x187)+_0x1a5ca7+_0x4dc066(0x175)),assertVerified(_0x3d5914[_0x4dc066(0x179)]===!![],_0x4dc066(0x187)+_0x1a5ca7+_0x4dc066(0x183)),assertVerified(_0x3d5914['resources']['length']===0x0,_0x4dc066(0x187)+_0x1a5ca7+_0x4dc066(0x17b)),assertVerified(_0x3d5914[_0x4dc066(0x19f)]===0x0,_0x4dc066(0x187)+_0x1a5ca7+'\x20is\x20not\x20empty.'),assertVerified(_0x3d5914[_0x4dc066(0x196)]===_0x7bf22a['sort'],_0x4dc066(0x187)+_0x1a5ca7+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x3d5914[_0x4dc066(0x1b1)]===_0x7bf22a[_0x4dc066(0x1b1)],_0x4dc066(0x187)+_0x1a5ca7+'\x20has\x20unexpected\x20parent\x20'+(_0x3d5914[_0x4dc066(0x1b1)]??_0x4dc066(0x197))+'.'),assertVerified(_0x3d5914[_0x4dc066(0x1af)]==null,_0x4dc066(0x187)+_0x1a5ca7+_0x4dc066(0x17d));const _0x2d2f98=_0x3d5914[_0x4dc066(0x1b1)]==null?undefined:requireFolder(_0x48c5c2,_0x3d5914[_0x4dc066(0x1b1)]);assertVerified(_0x3d5914[_0x4dc066(0x17c)]===(_0x2d2f98?_0x2d2f98[_0x4dc066(0x17c)]+0x1:0x0),_0x4dc066(0x187)+_0x1a5ca7+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x4b060a){const _0x4fa0ce=describeMenuErrorCause(_0x4b060a,_0x4dc066(0x1b4),_0x1a5ca7),_0x50bb1b=asVerificationError(_0x4b060a,_0x4dc066(0x18a)+_0x1a5ca7+_0x4dc066(0x189));throw menuFailure(_0x50bb1b,_0x3be11f,{'stage':_0x4dc066(0x1b3),'succeeded':[{'id':_0x1a5ca7,'created':!![],'path':_0x4c6103}],'failed':{'id':_0x1a5ca7,'finalFactsConfirmed':![],..._0x4fa0ce},'warnings':[_0x4dc066(0x18a)+_0x1a5ca7+_0x4dc066(0x1b6)],'after':_0x51fe6e??{..._0x7bf22a,'id':_0x1a5ca7,'path':_0x4c6103},'verification':{'status':_0x4dc066(0x1a9),'lookupCommand':_0x4dc066(0x1a2),'targetId':_0x1a5ca7}});}const _0x578120=mutationResult({..._0x3be11f,'after':_0x3d5914,'dryRun':![],'succeeded':[{'id':_0x1a5ca7,'type':_0x4dc066(0x18d),'path':_0x4c6103}],'verification':{'checkedBy':_0x4dc066(0x176),'snapshotHash':_0x48c5c2['hash'],'folder':!![],'path':_0x4c6103,'emptyResources':!![]}});return{'ok':!![],'data':_0x578120,'message':'Created\x20menu\x20folder\x20'+_0x1a5ca7+'.'};}};function validateCreateInput(_0x2fea88){const _0x3c5e70=a111_0x3c26f4,_0x49fdf1=_0x2fea88['str'](_0x3c5e70(0x1a4))['trim']();if(!_0x49fdf1)throw CliErrors[_0x3c5e70(0x1a8)]('label');parseParentId(_0x2fea88,_0x3c5e70(0x186)),validateSort(_0x2fea88);}async function buildCreatePlan(_0x354094,_0x5e8b1c){const _0x2bd003=a111_0x3c26f4,_0x29997a=await fetchMutationSnapshot(_0x354094,_0x2bd003(0x1a7)),_0x406c3d=parseParentId(_0x354094,_0x2bd003(0x186))??null;if(_0x406c3d!=null)requireFolder(_0x29997a,_0x406c3d);const _0x1aa204=validateSort(_0x354094),_0x2af6cf=_0x1aa204??nextSiblingSort(_0x29997a,_0x406c3d,_0x2bd003(0x18d)),_0x178013=_0x354094['str'](_0x2bd003(0x1a4))[_0x2bd003(0x198)]();return mutationResult({'operation':_0x2bd003(0x1b0),'selector':{'label':_0x178013,'parentId':_0x406c3d},'before':null,'after':{'id':null,'parentId':_0x406c3d,'label':_0x178013,'path':'<platform-generated>','type':_0x2bd003(0x18d),'visible':!![],'sort':_0x2af6cf,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5e8b1c,'backend':[...BACKEND],'plannedActions':[{'stage':_0x2bd003(0x180),'method':_0x2bd003(0x1ac),'path':_0x2bd003(0x194),'body':{'parentId':toApiParentId(_0x406c3d),'label':_0x178013,'type':_0x2bd003(0x18d),'visible':!![],'sort':_0x2af6cf,'extend':{}}}],'snapshotHash':_0x29997a[_0x2bd003(0x195)],'warnings':[_0x2bd003(0x1a3)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a112_0x353f3f=a112_0x344c;function a112_0x587b(){const _0x499e0e=['sort','9667RhVZgm','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','\x20is\x20type\x20\x22','1018104nDzXOV','update','1982196jyCKPY','rabetbase\x20menu\x20list\x20--format\x20json','parentId','folder','update\x20folder','POST','67828OwcOum','str','menu','type','cookie','failed','parent-id','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','Update\x20request\x20for\x20folder\x20','Menu\x20','\x20already\x20matches\x20the\x20requested\x20state.','\x22,\x20not\x20folder.','2633360zxfnfU','menu\x20list','label','\x20sort\x20update\x20did\x20not\x20take\x20effect.','201321wXNTqN','Would\x20update\x20folder\x20','string','write','12wvXNRl','selector','124783hhjnIc','hash','Folder\x20','Updated\x20folder\x20','trim','2224brlWWZ','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','verify\x20folder\x20update','validation','--label\x20cannot\x20be\x20empty.','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'];a112_0x587b=function(){return _0x499e0e;};return a112_0x587b();}(function(_0x57a770,_0x415644){const _0x2772c5=a112_0x344c,_0x52d372=_0x57a770();while(!![]){try{const _0x49ce4e=-parseInt(_0x2772c5(0x207))/0x1+parseInt(_0x2772c5(0x1f1))/0x2*(parseInt(_0x2772c5(0x205))/0x3)+-parseInt(_0x2772c5(0x1eb))/0x4+parseInt(_0x2772c5(0x1fd))/0x5+-parseInt(_0x2772c5(0x1e9))/0x6+-parseInt(_0x2772c5(0x1e6))/0x7*(-parseInt(_0x2772c5(0x20c))/0x8)+parseInt(_0x2772c5(0x201))/0x9;if(_0x49ce4e===_0x415644)break;else _0x52d372['push'](_0x52d372['shift']());}catch(_0x19cc78){_0x52d372['push'](_0x52d372['shift']());}}}(a112_0x587b,0x44047));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0x353f3f(0x1f0),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a112_0x353f3f(0x1f3),'command':'group-update','description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a112_0x353f3f(0x204),'structuredErrors':!![],'rejectedFlags':[{'name':a112_0x353f3f(0x1f7),'message':a112_0x353f3f(0x1e7),'hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':a112_0x353f3f(0x1ff),'type':a112_0x353f3f(0x203),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xee8450){validateUpdateInput(_0xee8450);},async 'dryRun'(_0x27051e){const _0x161cb0=a112_0x353f3f;validateUpdateInput(_0x27051e);const {plan:_0x5f489b,patch:_0x4526fe}=await buildUpdatePlan(_0x27051e,!![]);return menuDryRunResult(_0x5f489b,{'method':_0x161cb0(0x1f0),'url':'/smartapi/menu/update','body':_0x4526fe,'description':_0x161cb0(0x202)+_0x5f489b[_0x161cb0(0x206)]['id']+'.'});},async 'execute'(_0x1c61aa){const _0x5b39b6=a112_0x353f3f;validateUpdateInput(_0x1c61aa);const {plan:_0x8a0a0a,patch:_0x294566,noChanges:_0x24442d}=await buildUpdatePlan(_0x1c61aa,![]),_0x167382=Number(_0x8a0a0a[_0x5b39b6(0x206)]['id']),_0x5892d9=await recheckMutationSnapshot(_0x1c61aa,_0x8a0a0a,_0x5b39b6(0x1ef),_0x167382);if(!_0x24442d)try{await updateMenuEntity(_0x1c61aa['appCode'],_0x1c61aa['cookie'],_0x294566);}catch(_0x1e0237){const _0x92230=mapMenuApiError(_0x1e0237,'update\x20folder',_0x167382);throw menuFailure(_0x92230,_0x8a0a0a,{'stage':_0x5b39b6(0x1ea),'failed':{'id':_0x167382}});}let _0x5e7079=_0x5892d9,_0x5a8965;try{!_0x24442d&&(_0x5e7079=await fetchMenuSnapshot(_0x1c61aa['appCode'],_0x1c61aa[_0x5b39b6(0x1f5)])),_0x5a8965=requireMenu(_0x5e7079,_0x167382),verifyPatch(_0x5a8965,_0x294566),_0x5a8965[_0x5b39b6(0x1ed)]!=null&&requireFolder(_0x5e7079,_0x5a8965[_0x5b39b6(0x1ed)]);}catch(_0x1f1c6b){const _0xaf8592=describeMenuErrorCause(_0x1f1c6b,_0x5b39b6(0x20e),_0x167382),_0xb04623=asVerificationError(_0x1f1c6b,_0x5b39b6(0x1f9)+_0x167382+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0xb04623,_0x8a0a0a,{'stage':'verification','succeeded':[{'id':_0x167382,'updateRequested':!_0x24442d,'skipped':_0x24442d}],'failed':{'id':_0x167382,'requestedStateConfirmed':![],..._0xaf8592},'warnings':[_0x5b39b6(0x1e4)],'verification':{'status':_0x5b39b6(0x1f6),'lookupCommand':_0x5b39b6(0x1ec),'targetId':_0x167382}});}const _0x37ea01=mutationResult({..._0x8a0a0a,'after':_0x5a8965,'dryRun':![],'succeeded':[{'id':_0x167382,'updated':!_0x24442d,'skipped':_0x24442d}],'verification':{'checkedBy':_0x5b39b6(0x1fe),'snapshotHash':_0x5e7079[_0x5b39b6(0x208)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x37ea01,'message':_0x24442d?_0x5b39b6(0x209)+_0x167382+_0x5b39b6(0x1fb):_0x5b39b6(0x20a)+_0x167382+'.'};}};function validateUpdateInput(_0x8a3dc1){const _0x55b4b4=a112_0x353f3f;validateExactId(_0x8a3dc1);if(hasFlag(_0x8a3dc1,_0x55b4b4(0x1f7)))throw CliErrors[_0x55b4b4(0x20f)](_0x55b4b4(0x1e7),_0x55b4b4(0x1f8));if(!hasFlag(_0x8a3dc1,'label')&&!hasFlag(_0x8a3dc1,'sort'))throw CliErrors[_0x55b4b4(0x20f)]('At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.');if(hasFlag(_0x8a3dc1,_0x55b4b4(0x1ff))&&!_0x8a3dc1[_0x55b4b4(0x1f2)]('label')[_0x55b4b4(0x20b)]())throw CliErrors[_0x55b4b4(0x20f)](_0x55b4b4(0x1e3));validateSort(_0x8a3dc1);}function a112_0x344c(_0x25bb05,_0x1ddf1a){_0x25bb05=_0x25bb05-0x1e3;const _0x587b12=a112_0x587b();let _0x344c41=_0x587b12[_0x25bb05];return _0x344c41;}async function buildUpdatePlan(_0xba1f97,_0xf8b601){const _0x1de6d2=a112_0x353f3f,_0xca4573=validateExactId(_0xba1f97),_0x2a01f0=await fetchMutationSnapshot(_0xba1f97,_0x1de6d2(0x1ef),_0xca4573),_0x34761a=requireMenu(_0x2a01f0,_0xca4573);if(_0x34761a[_0x1de6d2(0x1f4)]!==_0x1de6d2(0x1ee))throw menuError('menu_not_folder',_0x1de6d2(0x1fa)+_0xca4573+_0x1de6d2(0x1e8)+(_0x34761a[_0x1de6d2(0x1f4)]||'unknown')+_0x1de6d2(0x1fc),_0x1de6d2(0x20d));assertExpectedState(_0xba1f97,_0x34761a);const _0x372fd9={'id':_0xca4573},_0x4781a8={..._0x34761a};if(hasFlag(_0xba1f97,_0x1de6d2(0x1ff))){const _0x45b3a3=_0xba1f97[_0x1de6d2(0x1f2)]('label')[_0x1de6d2(0x20b)]();_0x372fd9[_0x1de6d2(0x1ff)]=_0x45b3a3,_0x4781a8[_0x1de6d2(0x1ff)]=_0x45b3a3;}if(hasFlag(_0xba1f97,'sort')){const _0x44f0a5=validateSort(_0xba1f97);_0x372fd9[_0x1de6d2(0x1e5)]=_0x44f0a5,_0x4781a8['sort']=_0x44f0a5;}const _0x5b9db3=sameRequestedState(_0x34761a,_0x4781a8),_0x2c056d=_0x5b9db3?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x372fd9,'noChanges':_0x5b9db3,'plan':mutationResult({'operation':'group-update','selector':{'id':_0xca4573},'before':_0x34761a,'after':_0x4781a8,'dryRun':_0xf8b601,'backend':[...BACKEND],'snapshotHash':_0x2a01f0['hash'],'warnings':_0x2c056d})};}function sameRequestedState(_0x512abe,_0x548301){const _0xa7441d=a112_0x353f3f;return _0x512abe[_0xa7441d(0x1ff)]===_0x548301[_0xa7441d(0x1ff)]&&_0x512abe[_0xa7441d(0x1e5)]===_0x548301[_0xa7441d(0x1e5)];}function verifyPatch(_0x66a147,_0x19be16){const _0x2d7545=a112_0x353f3f;assertVerified(_0x66a147[_0x2d7545(0x1f4)]===_0x2d7545(0x1ee),_0x2d7545(0x1fa)+_0x66a147['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x19be16[_0x2d7545(0x1ff)]!==undefined&&assertVerified(_0x66a147[_0x2d7545(0x1ff)]===_0x19be16[_0x2d7545(0x1ff)],'Folder\x20'+_0x66a147['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x19be16['sort']!==undefined&&assertVerified(_0x66a147[_0x2d7545(0x1e5)]===_0x19be16[_0x2d7545(0x1e5)],_0x2d7545(0x209)+_0x66a147['id']+_0x2d7545(0x200));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a113_0x370b(_0x28fefa,_0x13257e){_0x28fefa=_0x28fefa-0x99;const _0x3f31f4=a113_0x3f31();let _0x370bc2=_0x3f31f4[_0x28fefa];return _0x370bc2;}(function(_0x155bfd,_0x11d2d4){const _0x418b9b=a113_0x370b,_0x188cd2=_0x155bfd();while(!![]){try{const _0x3bafd3=parseInt(_0x418b9b(0x9b))/0x1*(-parseInt(_0x418b9b(0x9c))/0x2)+-parseInt(_0x418b9b(0xa2))/0x3+-parseInt(_0x418b9b(0xa0))/0x4*(parseInt(_0x418b9b(0x9a))/0x5)+-parseInt(_0x418b9b(0x9e))/0x6+-parseInt(_0x418b9b(0x9d))/0x7+parseInt(_0x418b9b(0xa1))/0x8*(-parseInt(_0x418b9b(0x99))/0x9)+parseInt(_0x418b9b(0x9f))/0xa;if(_0x3bafd3===_0x11d2d4)break;else _0x188cd2['push'](_0x188cd2['shift']());}catch(_0x4b48c3){_0x188cd2['push'](_0x188cd2['shift']());}}}(a113_0x3f31,0xb01fd));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';function a113_0x3f31(){const _0x13d584=['8727166vLZOxN','733368hifTtP','48166870lVwRwB','33380Dihpjp','2481184orOBun','953511uBsljl','27mYgsIK','625EPthcv','399iOMpJC','2180MVFFFp'];a113_0x3f31=function(){return _0x13d584;};return a113_0x3f31();}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
|
-
|
|
1
|
+
function a114_0x4da3(_0x258f7d,_0xc8e486){_0x258f7d=_0x258f7d-0x6e;const _0x4f0f21=a114_0x4f0f();let _0x4da37e=_0x4f0f21[_0x258f7d];return _0x4da37e;}const a114_0x4d3e7d=a114_0x4da3;(function(_0x450b46,_0x2e511a){const _0x536f83=a114_0x4da3,_0x25307a=_0x450b46();while(!![]){try{const _0x14e071=-parseInt(_0x536f83(0x7e))/0x1*(parseInt(_0x536f83(0x72))/0x2)+-parseInt(_0x536f83(0x6e))/0x3*(-parseInt(_0x536f83(0x70))/0x4)+-parseInt(_0x536f83(0x75))/0x5*(-parseInt(_0x536f83(0x73))/0x6)+parseInt(_0x536f83(0x86))/0x7*(parseInt(_0x536f83(0x80))/0x8)+parseInt(_0x536f83(0x82))/0x9*(parseInt(_0x536f83(0x7c))/0xa)+parseInt(_0x536f83(0x83))/0xb+-parseInt(_0x536f83(0x76))/0xc*(parseInt(_0x536f83(0x77))/0xd);if(_0x14e071===_0x2e511a)break;else _0x25307a['push'](_0x25307a['shift']());}catch(_0x180756){_0x25307a['push'](_0x25307a['shift']());}}}(a114_0x4f0f,0x7701b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a114_0x4d3e7d(0x81),'command':'list','description':a114_0x4d3e7d(0x7d),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a114_0x4d3e7d(0x7a),'type':a114_0x4d3e7d(0x78),'description':a114_0x4d3e7d(0x6f)}],async 'execute'(_0x2db616){const _0x3c3b1c=a114_0x4d3e7d,_0x2355e8=_0x2db616[_0x3c3b1c(0x84)](_0x3c3b1c(0x7a)),_0x232968=await fetchMenuSnapshot(_0x2db616[_0x3c3b1c(0x7f)],_0x2db616['cookie'],{'verbose':_0x2355e8});return{'ok':!![],'data':{'total':_0x232968[_0x3c3b1c(0x74)],'snapshotHash':_0x232968[_0x3c3b1c(0x71)],'menus':_0x232968[_0x3c3b1c(0x79)][_0x3c3b1c(0x85)](toMenuListItem)},'message':_0x232968[_0x3c3b1c(0x74)]===0x0?'No\x20menus\x20found.':'Found\x20'+_0x232968[_0x3c3b1c(0x74)]+_0x3c3b1c(0x7b)};}};function a114_0x4f0f(){const _0x38e4fe=['hash','1256rTcGig','1036878vxiyWF','total','5nwXGSL','17219652OvJPAO','13sTJqRy','boolean','menus','verbose','\x20menu(s)','60QJnAUg','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','665GDzRHP','appCode','12040XiaLAp','menu','884934xdxkLX','8197508uPAfqx','bool','map','287lNxjsg','3330ZhVxXu','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','2776anIOvt'];a114_0x4f0f=function(){return _0x38e4fe;};return a114_0x4f0f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a115_0x37db(){const _0x24f6e0=['POST','\x20is\x20now\x20type\x20folder.','391760pQPHSb','2802878WKUvTL','cookie','rabetbase\x20menu\x20list\x20--format\x20compress','update','failed','sort','write','\x20is\x20no\x20longer\x20a\x20leaf.','type','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','Would\x20move\x20menu\x20','1552207XZxOpU','/smartapi/menu/update',',\x20current\x20','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Moved\x20menu\x20','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','menu','167105gbDSfk','appCode','after','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','childrenCount','parent-id','5539220NheOUO','expect-parent-id','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','move','434QhMJFI','Move\x20request\x20for\x20menu\x20','2911449VOVCPE','Menu\x20','menu\x20list','folder','parentId','verify\x20menu\x20move','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x20parent\x20changed:\x20expected\x20','hash','792unSnEE','11460rfcUGp','verification'];a115_0x37db=function(){return _0x24f6e0;};return a115_0x37db();}const a115_0xe52d42=a115_0x166c;(function(_0x465fe4,_0x1fa229){const _0x832d4e=a115_0x166c,_0x5dee21=_0x465fe4();while(!![]){try{const _0xf372f4=parseInt(_0x832d4e(0x16b))/0x1+parseInt(_0x832d4e(0x18e))/0x2+parseInt(_0x832d4e(0x17f))/0x3+parseInt(_0x832d4e(0x179))/0x4+parseInt(_0x832d4e(0x172))/0x5+parseInt(_0x832d4e(0x189))/0x6*(-parseInt(_0x832d4e(0x17d))/0x7)+-parseInt(_0x832d4e(0x18d))/0x8*(parseInt(_0x832d4e(0x188))/0x9);if(_0xf372f4===_0x1fa229)break;else _0x5dee21['push'](_0x5dee21['shift']());}catch(_0x17b4aa){_0x5dee21['push'](_0x5dee21['shift']());}}}(a115_0x37db,0xdf48f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a115_0xe52d42(0x18b),'path':a115_0xe52d42(0x16c)}];export const menuMove={'service':a115_0xe52d42(0x171),'command':a115_0xe52d42(0x17c),'description':'Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','risk':a115_0xe52d42(0x165),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x498a1a){validateMoveInput(_0x498a1a);},async 'dryRun'(_0xb46bf8){const _0x16a900=a115_0xe52d42,{plan:_0x3ac7ed,patch:_0x446e30}=await buildMovePlan(_0xb46bf8,!![]);return menuDryRunResult(_0x3ac7ed,{'method':_0x16a900(0x18b),'url':_0x16a900(0x16c),'body':{..._0x446e30,'appCode':_0xb46bf8[_0x16a900(0x173)]},'description':_0x16a900(0x16a)+_0x446e30['id']+'.'});},async 'execute'(_0x30ae04){const _0x2bf96d=a115_0xe52d42;validateMoveInput(_0x30ae04);const {plan:_0x419c4c,patch:_0x1832ce,noChanges:_0x5a4373,snapshot:_0x4026af}=await buildMovePlan(_0x30ae04,![]),_0x11796c=_0x1832ce['id'];if(!_0x5a4373)try{await updateMenuEntity(_0x30ae04['appCode'],_0x30ae04[_0x2bf96d(0x18f)],_0x1832ce);}catch(_0x26a103){const _0x5a5860=mapMenuApiError(_0x26a103,_0x2bf96d(0x17c),_0x11796c);throw menuFailure(_0x5a5860,_0x419c4c,{'stage':_0x2bf96d(0x191),'failed':{'id':_0x11796c},'warnings':[_0x2bf96d(0x16e)],'verification':{'status':_0x2bf96d(0x192),'targetId':_0x11796c,'lookupCommand':_0x2bf96d(0x190)}});}let _0x212b49,_0x13030e;try{_0x212b49=_0x5a4373?_0x4026af:await fetchMenuSnapshot(_0x30ae04[_0x2bf96d(0x173)],_0x30ae04[_0x2bf96d(0x18f)]),_0x13030e=requireMenu(_0x212b49,_0x11796c),verifyMove(_0x13030e,_0x419c4c[_0x2bf96d(0x174)]),_0x13030e[_0x2bf96d(0x183)]!==null&&requireFolder(_0x212b49,_0x13030e[_0x2bf96d(0x183)]);}catch(_0x4435c0){const _0x10f160=describeMenuErrorCause(_0x4435c0,_0x2bf96d(0x184),_0x11796c),_0x123c13=asVerificationError(_0x4435c0,_0x2bf96d(0x17e)+_0x11796c+_0x2bf96d(0x168));throw menuFailure(_0x123c13,_0x419c4c,{'stage':_0x2bf96d(0x18a),'succeeded':[{'id':_0x11796c,'updateRequested':!_0x5a4373,'skipped':_0x5a4373}],'failed':{'id':_0x11796c,'requestedStateConfirmed':![],..._0x10f160},'warnings':[_0x2bf96d(0x170)],'verification':{'status':_0x2bf96d(0x192),'targetId':_0x11796c,'lookupCommand':_0x2bf96d(0x190)}});}const _0x25e32a=mutationResult({..._0x419c4c,'after':_0x13030e,'dryRun':![],'succeeded':[{'id':_0x11796c,'updated':!_0x5a4373,'skipped':_0x5a4373}],'verification':{'checkedBy':_0x2bf96d(0x181),'snapshotHash':_0x212b49['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x25e32a,'message':_0x5a4373?'Menu\x20'+_0x11796c+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x2bf96d(0x16f)+_0x11796c+'.'};}};function validateMoveInput(_0xa63ff){const _0x165c77=a115_0xe52d42;validateExactId(_0xa63ff),parseParentId(_0xa63ff,_0x165c77(0x178),{'required':!![]}),parseParentId(_0xa63ff,_0x165c77(0x17a),{'required':!![]}),validateSort(_0xa63ff);}async function buildMovePlan(_0x108e12,_0x180d79){const _0x106721=a115_0xe52d42,_0x5ac76e=validateExactId(_0x108e12),_0x446f66=parseParentId(_0x108e12,_0x106721(0x178),{'required':!![]}),_0x5c6533=parseParentId(_0x108e12,_0x106721(0x17a),{'required':!![]}),_0x43c827=validateSort(_0x108e12),_0x4252e7=await fetchMutationSnapshot(_0x108e12,'move\x20menu',_0x5ac76e),_0x19fd40=requireMenu(_0x4252e7,_0x5ac76e);if(_0x19fd40[_0x106721(0x167)]==='folder'||_0x19fd40['childrenCount']!==0x0)throw menuError('menu_move_source_not_leaf',_0x106721(0x180)+_0x5ac76e+_0x106721(0x17b),_0x106721(0x175));if(_0x19fd40[_0x106721(0x183)]!==_0x5c6533)throw menuError('menu_state_drift',_0x106721(0x180)+_0x5ac76e+_0x106721(0x186)+formatParent(_0x5c6533)+_0x106721(0x16d)+formatParent(_0x19fd40[_0x106721(0x183)])+'.',_0x106721(0x185));_0x446f66!==null&&requireFolder(_0x4252e7,_0x446f66);const _0x17f776=_0x43c827??(_0x19fd40['parentId']===_0x446f66?_0x19fd40[_0x106721(0x193)]??0x0:nextSiblingSort(_0x4252e7,_0x446f66,_0x106721(0x171))),_0x368201={..._0x19fd40,'parentId':_0x446f66,'sort':_0x17f776},_0x436a69={'id':_0x5ac76e,'parentId':toApiParentId(_0x446f66),'sort':_0x17f776},_0x68092b=_0x19fd40[_0x106721(0x183)]===_0x446f66&&_0x19fd40[_0x106721(0x193)]===_0x17f776;return{'patch':_0x436a69,'noChanges':_0x68092b,'snapshot':_0x4252e7,'plan':mutationResult({'operation':_0x106721(0x17c),'selector':{'id':_0x5ac76e,'parentId':_0x446f66},'before':_0x19fd40,'after':_0x368201,'dryRun':_0x180d79,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':'POST','path':_0x106721(0x16c),'body':{..._0x436a69,'appCode':_0x108e12[_0x106721(0x173)]}}],'snapshotHash':_0x4252e7[_0x106721(0x187)],'warnings':_0x68092b?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function a115_0x166c(_0x4de639,_0x13294a){_0x4de639=_0x4de639-0x165;const _0x37db64=a115_0x37db();let _0x166c4a=_0x37db64[_0x4de639];return _0x166c4a;}function verifyMove(_0x303cb1,_0x234361){const _0x48c749=a115_0xe52d42;assertVerified(_0x303cb1[_0x48c749(0x167)]!==_0x48c749(0x182),_0x48c749(0x180)+_0x303cb1['id']+_0x48c749(0x18c)),assertVerified(_0x303cb1[_0x48c749(0x177)]===0x0,_0x48c749(0x180)+_0x303cb1['id']+_0x48c749(0x166)),assertVerified(_0x303cb1[_0x48c749(0x183)]===_0x234361[_0x48c749(0x183)],_0x48c749(0x180)+_0x303cb1['id']+_0x48c749(0x176)),assertVerified(_0x303cb1[_0x48c749(0x193)]===_0x234361['sort'],_0x48c749(0x180)+_0x303cb1['id']+_0x48c749(0x169));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a116_0x52e0cb=a116_0x25bf;(function(_0x436048,_0x1d3973){const _0x5e049f=a116_0x25bf,_0x57af35=_0x436048();while(!![]){try{const _0x522605=parseInt(_0x5e049f(0xd7))/0x1*(parseInt(_0x5e049f(0xd0))/0x2)+parseInt(_0x5e049f(0x107))/0x3*(-parseInt(_0x5e049f(0xb2))/0x4)+-parseInt(_0x5e049f(0xfb))/0x5+parseInt(_0x5e049f(0xe8))/0x6+-parseInt(_0x5e049f(0xb4))/0x7*(parseInt(_0x5e049f(0xdc))/0x8)+parseInt(_0x5e049f(0xf2))/0x9*(parseInt(_0x5e049f(0xf6))/0xa)+parseInt(_0x5e049f(0xe5))/0xb;if(_0x522605===_0x1d3973)break;else _0x57af35['push'](_0x57af35['shift']());}catch(_0x3332f6){_0x57af35['push'](_0x57af35['shift']());}}}(a116_0x22e1,0x9c0a0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a116_0x25bf(_0x5eca5c,_0x5ee3f7){_0x5eca5c=_0x5eca5c-0xa4;const _0x22e144=a116_0x22e1();let _0x25bf4b=_0x22e144[_0x5eca5c];return _0x25bf4b;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a116_0x52e0cb(0xc3)}],MAX_REGROUP_MENU_COUNT=0x64;function a116_0x22e1(){const _0x149dff=['label','--menu-ids\x20supports\x20at\x20most\x20','menu\x20list','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','\x20--format\x20compress','flagMissing','1029669yghYXr','high-risk-write','Label\x20of\x20the\x20new\x20root\x20folder','readbackError','isSafeInteger','480WHAhjC','\x27\x5c\x27\x27','start\x20menu\x20regroup','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','submit-regroup-task','childrenIds','validation','status','FAILED','439890fHmIiV','cookie','applied','6842724YwceeV','POST','byId','taskId','str','<new-group-id>','join','Regroup\x20task\x20accepted.\x20','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.','Regroup\x20readback\x20also\x20failed:\x20','370908NdQkFV','some','\x20menus\x20per\x20regroup\x20request.','folder','30NdjhWQ','menus','Menu\x20','filter','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','1165410MgTkEa','unconfirmed','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','warnings','message','SUCCESS',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','split','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','get','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','9qoponK','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','plan\x20regroup','map','knownStatus','Regroup\x20task\x20','replace','Menus\x20','group','Regroup\x20readback\x20failed:\x20','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-submit','menuIds','type','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','878228juugkC','menu_regroup_already_applied','93667sZlHUF','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','<platform-generated>','\x20menu\x20list\x20--appcode\x20','\x20and\x20regroup\x20menu\x20ids\x20','parentId','plan','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','menu-ids','trim','hash','start\x20regroup','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','/smartapi/menu/regroup','length','input','toLowerCase','menu_regroup_target_not_leaf','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','Root\x20folder\x20label\x20','test','sort','size','string','appCode','stringify','2dCPwVM'];a116_0x22e1=function(){return _0x149dff;};return a116_0x22e1();}export const menuRegroupStart={'service':'menu','command':'regroup-start','description':a116_0x52e0cb(0xa4),'risk':a116_0x52e0cb(0xd8),'structuredErrors':!![],'flags':[{'name':a116_0x52e0cb(0xd1),'type':a116_0x52e0cb(0xcd),'required':!![],'description':a116_0x52e0cb(0xd9)},{'name':'menu-ids','type':'string','required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x31fb60){validateRegroupInput(_0x31fb60),requireExplicitYes(_0x31fb60);},async 'dryRun'(_0x22ccd4){const _0x4e29d9=a116_0x52e0cb;validateRegroupInput(_0x22ccd4);const _0x15ed41=await buildRegroupPlan(_0x22ccd4,!![]);return menuDryRunResult(_0x15ed41['plan'],{'method':_0x4e29d9(0xe9),'url':_0x4e29d9(0xc3),'body':_0x15ed41[_0x4e29d9(0xc5)],'description':_0x4e29d9(0xb5)+JSON[_0x4e29d9(0xcf)](_0x15ed41['label'])+_0x4e29d9(0xb8)+_0x15ed41[_0x4e29d9(0xaf)][_0x4e29d9(0xee)](',\x20')+_0x4e29d9(0x101)});},async 'execute'(_0x43039a){const _0x204a0e=a116_0x52e0cb;validateRegroupInput(_0x43039a),requireExplicitYes(_0x43039a);const _0x5a63bc=await buildRegroupPlan(_0x43039a,![]);await recheckMutationSnapshot(_0x43039a,_0x5a63bc[_0x204a0e(0xba)],_0x204a0e(0xbf));const _0x2ff096=buildMenuLookupCommand(_0x43039a[_0x204a0e(0xce)]);let _0x1610c9,_0xe9a074;try{_0x1610c9=await startMenuRegroup(_0x43039a[_0x204a0e(0xe6)],_0x5a63bc[_0x204a0e(0xc5)]),_0xe9a074=normalizeAsyncTask(_0x1610c9);}catch(_0x1af135){const _0x19777c=await inspectRegroupAfterFailure(_0x43039a[_0x204a0e(0xce)],_0x43039a[_0x204a0e(0xe6)],_0x5a63bc[_0x204a0e(0xd1)],_0x5a63bc[_0x204a0e(0xaf)]),_0x34c8dd=typeof _0x1610c9?.['taskId']===_0x204a0e(0xcd)&&_0x1610c9[_0x204a0e(0xeb)][_0x204a0e(0xbd)]()?_0x1610c9[_0x204a0e(0xeb)]['trim']():null,_0x2aa572=_0x34c8dd?{'command':buildAsyncTaskStatusCommand(_0x34c8dd,_0x43039a[_0x204a0e(0xce)])}:null,_0x428b61=mapMenuApiError(_0x1af135,_0x204a0e(0xde));throw menuFailure(_0x428b61,_0x5a63bc[_0x204a0e(0xba)],{'stage':_0x204a0e(0xae),'failed':{'menuIds':_0x5a63bc[_0x204a0e(0xaf)],'taskId':_0x34c8dd,'groupingApplied':_0x19777c[_0x204a0e(0xe7)]?!![]:_0x204a0e(0xfc)},'after':_0x19777c[_0x204a0e(0xe7)]??null,'warnings':['The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.',..._0x19777c[_0x204a0e(0xda)]?[_0x204a0e(0xf1)+_0x19777c['readbackError']]:[],..._0x34c8dd?[_0x204a0e(0xc8)]:[]],'verification':{'status':'failed','groupingApplied':_0x19777c[_0x204a0e(0xe7)]?!![]:_0x204a0e(0xfc),'taskId':_0x34c8dd,'query':_0x2aa572,'lookupCommand':_0x2ff096}});}const _0x4901e2=buildAsyncTaskStatusCommand(_0xe9a074['taskId'],_0x43039a[_0x204a0e(0xce)]);let _0x1f2690=null,_0x2e0084=null,_0x182bd2=null;try{_0x1f2690=await fetchMenuSnapshot(_0x43039a[_0x204a0e(0xce)],_0x43039a['cookie']),_0x2e0084=findAppliedRegroup(_0x1f2690,_0x5a63bc[_0x204a0e(0xd1)],_0x5a63bc[_0x204a0e(0xaf)]);}catch(_0xfab4e3){_0x182bd2=_0xfab4e3 instanceof Error?_0xfab4e3[_0x204a0e(0xff)]:String(_0xfab4e3);}const _0x4c4a4e=mutationResult({..._0x5a63bc[_0x204a0e(0xba)],'after':_0x2e0084??null,'dryRun':![],'succeeded':[{'groupId':_0x2e0084?.[_0x204a0e(0xab)]['id']??null,'menuIds':_0x5a63bc[_0x204a0e(0xaf)],'taskId':_0xe9a074[_0x204a0e(0xeb)],'status':_0xe9a074[_0x204a0e(0xe3)],'groupingApplied':_0x2e0084?!![]:_0x204a0e(0xfc)}],'verification':{'checkedBy':_0x204a0e(0xd3),'snapshotHash':_0x1f2690?.[_0x204a0e(0xbe)]??null,'groupId':_0x2e0084?.['group']['id']??null,'groupingApplied':_0x2e0084?!![]:'unconfirmed','readbackError':_0x182bd2,'lookupCommand':_0x2ff096},'warnings':[..._0x5a63bc[_0x204a0e(0xba)][_0x204a0e(0xfe)],...!_0x2e0084?[unconfirmedRegroupWarning(_0xe9a074)]:[],..._0x182bd2?[_0x204a0e(0xac)+_0x182bd2]:[]]}),_0x97d4f6=_0xe9a074[_0x204a0e(0xe3)]===_0x204a0e(0x100)&&!_0x2e0084?_0x204a0e(0xa8)+_0xe9a074[_0x204a0e(0xeb)]+_0x204a0e(0xfd):_0x204a0e(0xef)+asyncTaskMessage(_0xe9a074);return{'ok':!![],'message':_0x97d4f6,'data':{..._0x4c4a4e,'task':_0xe9a074,'query':_0xe9a074['isTerminal']?null:{'command':_0x4901e2}}};}};function validateRegroupInput(_0x37f788){const _0x2eb27b=a116_0x52e0cb;if(!_0x37f788[_0x2eb27b(0xec)](_0x2eb27b(0xd1))[_0x2eb27b(0xbd)]())throw CliErrors[_0x2eb27b(0xd6)](_0x2eb27b(0xd1));parseMenuIds(_0x37f788[_0x2eb27b(0xec)]('menu-ids'));}function parseMenuIds(_0x299858){const _0x509180=a116_0x52e0cb,_0x42faa0=_0x299858[_0x509180(0x102)](',')[_0x509180(0xa6)](_0x5ca29e=>_0x5ca29e[_0x509180(0xbd)]());if(_0x42faa0['length']===0x0||_0x42faa0[_0x509180(0xf3)](_0x4385b9=>!_0x4385b9))throw CliErrors[_0x509180(0xe2)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x3230b9=_0x42faa0[_0x509180(0xa6)](_0x53679c=>{const _0xffd8d6=_0x509180;if(!/^\d+$/[_0xffd8d6(0xca)](_0x53679c))throw CliErrors[_0xffd8d6(0xe2)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x33d589=Number(_0x53679c);if(!Number[_0xffd8d6(0xdb)](_0x33d589)||_0x33d589<=0x0)throw CliErrors[_0xffd8d6(0xe2)](_0xffd8d6(0xc1));return _0x33d589;});if(new Set(_0x3230b9)[_0x509180(0xcc)]!==_0x3230b9[_0x509180(0xc4)])throw CliErrors['validation'](_0x509180(0xfa));if(_0x3230b9[_0x509180(0xc4)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x509180(0xe2)](_0x509180(0xd2)+MAX_REGROUP_MENU_COUNT+_0x509180(0xf4));return _0x3230b9;}function buildMenuLookupCommand(_0x1f0b42){const _0xcf5f9b=a116_0x52e0cb,_0x37d32a='\x27'+_0x1f0b42[_0xcf5f9b(0xa9)](/'/g,_0xcf5f9b(0xdd))+'\x27';return CLI_BIN_NAME+_0xcf5f9b(0xb7)+_0x37d32a+_0xcf5f9b(0xd5);}function unconfirmedRegroupWarning(_0x2a18f1){const _0x5982fb=a116_0x52e0cb;if(_0x2a18f1[_0x5982fb(0xe3)]===_0x5982fb(0x100))return _0x5982fb(0x106);if(_0x2a18f1[_0x5982fb(0xe3)]===_0x5982fb(0xe4))return _0x5982fb(0xc2);if(_0x2a18f1[_0x5982fb(0xa7)])return _0x5982fb(0xad);return _0x5982fb(0xf0);}async function buildRegroupPlan(_0x1f9f77,_0x267058){const _0x36e91d=a116_0x52e0cb,_0x2d1799=_0x1f9f77['str'](_0x36e91d(0xd1))[_0x36e91d(0xbd)](),_0x2436fd=parseMenuIds(_0x1f9f77[_0x36e91d(0xec)](_0x36e91d(0xbc))),_0x53f882=await fetchMutationSnapshot(_0x1f9f77,_0x36e91d(0xa5)),_0x5a147f=_0x2436fd[_0x36e91d(0xa6)](_0x432c1f=>requireMenu(_0x53f882,_0x432c1f));for(const _0x2ebeba of _0x5a147f){if(_0x2ebeba[_0x36e91d(0xb0)]['trim']()[_0x36e91d(0xc6)]()===_0x36e91d(0xf5)||_0x2ebeba['childrenCount']>0x0)throw menuError(_0x36e91d(0xc7),_0x36e91d(0xf8)+_0x2ebeba['id']+_0x36e91d(0xbb),_0x36e91d(0xd4));if(!_0x2ebeba[_0x36e91d(0xd1)]['trim']())throw menuError('menu_regroup_target_label_missing',_0x36e91d(0xf8)+_0x2ebeba['id']+_0x36e91d(0xb1),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0x3206a4=findAppliedRegroup(_0x53f882,_0x2d1799,_0x2436fd);if(_0x3206a4)throw menuError(_0x36e91d(0xb3),_0x36e91d(0xaa)+_0x2436fd['join'](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x3206a4['group']['id']+'\x20('+JSON[_0x36e91d(0xcf)](_0x2d1799)+').',_0x36e91d(0x105));const _0x5c4950=_0x53f882[_0x36e91d(0xf7)][_0x36e91d(0xf9)](_0x59ab82=>_0x59ab82[_0x36e91d(0xb9)]==null&&_0x59ab82[_0x36e91d(0xb0)][_0x36e91d(0xbd)]()['toLowerCase']()===_0x36e91d(0xf5)&&_0x59ab82[_0x36e91d(0xd1)]===_0x2d1799);if(_0x5c4950[_0x36e91d(0xc4)]>0x0)throw menuError('menu_regroup_label_conflict',_0x36e91d(0xc9)+JSON[_0x36e91d(0xcf)](_0x2d1799)+_0x36e91d(0xdf)+_0x5c4950['map'](_0x37d845=>_0x37d845['id'])['join'](',\x20')+'.',_0x36e91d(0xc0));const _0x2a5d76={'appCode':_0x1f9f77[_0x36e91d(0xce)],'menuGroups':[{'label':_0x2d1799,'type':'folder','children':_0x5a147f[_0x36e91d(0xa6)](_0x32c94a=>({'id':_0x32c94a['id'],'label':_0x32c94a[_0x36e91d(0xd1)]}))}]},_0x538a80=mutationResult({'operation':'regroup-start','selector':{'label':_0x2d1799,'menuIds':_0x2436fd},'before':{'menus':_0x5a147f},'after':{'group':{'id':null,'parentId':null,'label':_0x2d1799,'path':_0x36e91d(0xb6),'type':_0x36e91d(0xf5),'childrenIds':_0x2436fd},'children':_0x5a147f['map'](_0x52ffcb=>({'id':_0x52ffcb['id'],'label':_0x52ffcb[_0x36e91d(0xd1)],'beforeParentId':_0x52ffcb[_0x36e91d(0xb9)],'afterParentId':_0x36e91d(0xed)}))},'dryRun':_0x267058,'backend':[...BACKEND],'plannedActions':[{'stage':_0x36e91d(0xe0),'method':_0x36e91d(0xe9),'path':_0x36e91d(0xc3),'body':_0x2a5d76}],'snapshotHash':_0x53f882[_0x36e91d(0xbe)],'warnings':[_0x36e91d(0x103),'The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.']});return{'label':_0x2d1799,'menuIds':_0x2436fd,'input':_0x2a5d76,'plan':_0x538a80};}function findAppliedRegroup(_0xf5a629,_0x42c4ac,_0x3df623){const _0x3497e3=a116_0x52e0cb,_0x1b9c1e=_0x3df623[_0x3497e3(0xa6)](_0x4037c1=>_0xf5a629['byId'][_0x3497e3(0x104)](_0x4037c1))[_0x3497e3(0xf9)](_0x25f2e0=>Boolean(_0x25f2e0));if(_0x1b9c1e['length']!==_0x3df623[_0x3497e3(0xc4)])return null;const _0x237043=_0x1b9c1e[0x0]?.[_0x3497e3(0xb9)];if(_0x237043==null||_0x1b9c1e[_0x3497e3(0xf3)](_0x2b6199=>_0x2b6199[_0x3497e3(0xb9)]!==_0x237043))return null;const _0x134378=_0xf5a629[_0x3497e3(0xea)]['get'](_0x237043);if(!_0x134378||_0x134378['parentId']!=null||_0x134378[_0x3497e3(0xb0)][_0x3497e3(0xbd)]()['toLowerCase']()!==_0x3497e3(0xf5)||_0x134378[_0x3497e3(0xd1)]!==_0x42c4ac)return null;const _0x207541=[..._0x3df623][_0x3497e3(0xcb)]((_0x50d206,_0x4a2644)=>_0x50d206-_0x4a2644),_0x12931c=[..._0x134378[_0x3497e3(0xe1)]]['sort']((_0x4b82c6,_0x3a4b40)=>_0x4b82c6-_0x3a4b40);if(JSON[_0x3497e3(0xcf)](_0x12931c)!==JSON[_0x3497e3(0xcf)](_0x207541))return null;return{'group':_0x134378,'children':_0x1b9c1e};}async function inspectRegroupAfterFailure(_0x16bf10,_0x2cde37,_0x25a302,_0x199f3c){try{const _0x1d70a0=await fetchMenuSnapshot(_0x16bf10,_0x2cde37);return{'applied':findAppliedRegroup(_0x1d70a0,_0x25a302,_0x199f3c),'readbackError':null};}catch(_0x1d1c7d){return{'applied':null,'readbackError':_0x1d1c7d instanceof Error?_0x1d1c7d['message']:String(_0x1d1c7d)};}}
|
|
1
|
+
const a116_0x1d1ecb=a116_0x403e;(function(_0x537d9a,_0x5af618){const _0x122ac7=a116_0x403e,_0x5c7ed6=_0x537d9a();while(!![]){try{const _0x2a881a=parseInt(_0x122ac7(0x13b))/0x1+-parseInt(_0x122ac7(0x162))/0x2+-parseInt(_0x122ac7(0x127))/0x3+parseInt(_0x122ac7(0x136))/0x4+parseInt(_0x122ac7(0x125))/0x5*(parseInt(_0x122ac7(0x13d))/0x6)+-parseInt(_0x122ac7(0x12b))/0x7*(parseInt(_0x122ac7(0x123))/0x8)+-parseInt(_0x122ac7(0x13a))/0x9;if(_0x2a881a===_0x5af618)break;else _0x5c7ed6['push'](_0x5c7ed6['shift']());}catch(_0x322258){_0x5c7ed6['push'](_0x5c7ed6['shift']());}}}(a116_0x252d,0xb03ae));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a116_0x1d1ecb(0x129),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a116_0x1d1ecb(0x15f),'command':a116_0x1d1ecb(0x165),'description':a116_0x1d1ecb(0x138),'risk':a116_0x1d1ecb(0x144),'structuredErrors':!![],'flags':[{'name':a116_0x1d1ecb(0x16b),'type':'string','required':!![],'description':a116_0x1d1ecb(0x152)},{'name':a116_0x1d1ecb(0x16f),'type':a116_0x1d1ecb(0x14c),'required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x359e17){validateRegroupInput(_0x359e17),requireExplicitYes(_0x359e17);},async 'dryRun'(_0x2f923b){const _0x356f33=a116_0x1d1ecb;validateRegroupInput(_0x2f923b);const _0x1a1b69=await buildRegroupPlan(_0x2f923b,!![]);return menuDryRunResult(_0x1a1b69[_0x356f33(0x130)],{'method':_0x356f33(0x129),'url':_0x356f33(0x12f),'body':_0x1a1b69[_0x356f33(0x159)],'description':_0x356f33(0x137)+JSON['stringify'](_0x1a1b69['label'])+_0x356f33(0x169)+_0x1a1b69[_0x356f33(0x161)][_0x356f33(0x150)](',\x20')+';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.'});},async 'execute'(_0x21faa4){const _0x335709=a116_0x1d1ecb;validateRegroupInput(_0x21faa4),requireExplicitYes(_0x21faa4);const _0x3027ec=await buildRegroupPlan(_0x21faa4,![]);await recheckMutationSnapshot(_0x21faa4,_0x3027ec['plan'],_0x335709(0x164));const _0x13d473=buildMenuLookupCommand(_0x21faa4[_0x335709(0x134)]);let _0x569bdd,_0x1dfcba;try{_0x569bdd=await startMenuRegroup(_0x21faa4[_0x335709(0x16d)],_0x3027ec['input']),_0x1dfcba=normalizeAsyncTask(_0x569bdd);}catch(_0x2be340){const _0x37ad5d=await inspectRegroupAfterFailure(_0x21faa4[_0x335709(0x134)],_0x21faa4['cookie'],_0x3027ec[_0x335709(0x16b)],_0x3027ec[_0x335709(0x161)]),_0x2c5d65=typeof _0x569bdd?.['taskId']==='string'&&_0x569bdd[_0x335709(0x12c)][_0x335709(0x16e)]()?_0x569bdd['taskId']['trim']():null,_0x4755b1=_0x2c5d65?{'command':buildAsyncTaskStatusCommand(_0x2c5d65,_0x21faa4[_0x335709(0x134)])}:null,_0x3ab085=mapMenuApiError(_0x2be340,_0x335709(0x168));throw menuFailure(_0x3ab085,_0x3027ec[_0x335709(0x130)],{'stage':_0x335709(0x14f),'failed':{'menuIds':_0x3027ec[_0x335709(0x161)],'taskId':_0x2c5d65,'groupingApplied':_0x37ad5d[_0x335709(0x13f)]?!![]:_0x335709(0x148)},'after':_0x37ad5d[_0x335709(0x13f)]??null,'warnings':['The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.',..._0x37ad5d['readbackError']?[_0x335709(0x120)+_0x37ad5d['readbackError']]:[],..._0x2c5d65?[_0x335709(0x12d)]:[]],'verification':{'status':_0x335709(0x16a),'groupingApplied':_0x37ad5d[_0x335709(0x13f)]?!![]:_0x335709(0x148),'taskId':_0x2c5d65,'query':_0x4755b1,'lookupCommand':_0x13d473}});}const _0x509b63=buildAsyncTaskStatusCommand(_0x1dfcba[_0x335709(0x12c)],_0x21faa4[_0x335709(0x134)]);let _0x1abcd9=null,_0x147a9e=null,_0x3f305b=null;try{_0x1abcd9=await fetchMenuSnapshot(_0x21faa4[_0x335709(0x134)],_0x21faa4['cookie']),_0x147a9e=findAppliedRegroup(_0x1abcd9,_0x3027ec[_0x335709(0x16b)],_0x3027ec['menuIds']);}catch(_0x5cd57f){_0x3f305b=_0x5cd57f instanceof Error?_0x5cd57f[_0x335709(0x15b)]:String(_0x5cd57f);}const _0x34f243=mutationResult({..._0x3027ec[_0x335709(0x130)],'after':_0x147a9e??null,'dryRun':![],'succeeded':[{'groupId':_0x147a9e?.[_0x335709(0x11e)]['id']??null,'menuIds':_0x3027ec[_0x335709(0x161)],'taskId':_0x1dfcba[_0x335709(0x12c)],'status':_0x1dfcba[_0x335709(0x14e)],'groupingApplied':_0x147a9e?!![]:_0x335709(0x148)}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x1abcd9?.[_0x335709(0x143)]??null,'groupId':_0x147a9e?.[_0x335709(0x11e)]['id']??null,'groupingApplied':_0x147a9e?!![]:_0x335709(0x148),'readbackError':_0x3f305b,'lookupCommand':_0x13d473},'warnings':[..._0x3027ec[_0x335709(0x130)]['warnings'],...!_0x147a9e?[unconfirmedRegroupWarning(_0x1dfcba)]:[],..._0x3f305b?[_0x335709(0x166)+_0x3f305b]:[]]}),_0x3a32c8=_0x1dfcba[_0x335709(0x14e)]==='SUCCESS'&&!_0x147a9e?'Regroup\x20task\x20'+_0x1dfcba[_0x335709(0x12c)]+_0x335709(0x113):'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0x1dfcba);return{'ok':!![],'message':_0x3a32c8,'data':{..._0x34f243,'task':_0x1dfcba,'query':_0x1dfcba[_0x335709(0x11c)]?null:{'command':_0x509b63}}};}};function validateRegroupInput(_0x36a82a){const _0x2dafaa=a116_0x1d1ecb;if(!_0x36a82a['str'](_0x2dafaa(0x16b))[_0x2dafaa(0x16e)]())throw CliErrors[_0x2dafaa(0x133)](_0x2dafaa(0x16b));parseMenuIds(_0x36a82a[_0x2dafaa(0x13c)](_0x2dafaa(0x16f)));}function parseMenuIds(_0x5e1f78){const _0x1131b2=a116_0x1d1ecb,_0x282a87=_0x5e1f78[_0x1131b2(0x121)](',')['map'](_0x357ad9=>_0x357ad9[_0x1131b2(0x16e)]());if(_0x282a87[_0x1131b2(0x11a)]===0x0||_0x282a87[_0x1131b2(0x153)](_0x278ca6=>!_0x278ca6))throw CliErrors['validation'](_0x1131b2(0x124));const _0x51e3ee=_0x282a87[_0x1131b2(0x14d)](_0x4d4b0f=>{const _0x1626cc=_0x1131b2;if(!/^\d+$/['test'](_0x4d4b0f))throw CliErrors[_0x1626cc(0x147)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0xb21494=Number(_0x4d4b0f);if(!Number[_0x1626cc(0x141)](_0xb21494)||_0xb21494<=0x0)throw CliErrors[_0x1626cc(0x147)](_0x1626cc(0x124));return _0xb21494;});if(new Set(_0x51e3ee)[_0x1131b2(0x13e)]!==_0x51e3ee['length'])throw CliErrors[_0x1131b2(0x147)](_0x1131b2(0x158));if(_0x51e3ee[_0x1131b2(0x11a)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x1131b2(0x147)]('--menu-ids\x20supports\x20at\x20most\x20'+MAX_REGROUP_MENU_COUNT+_0x1131b2(0x115));return _0x51e3ee;}function buildMenuLookupCommand(_0x4c0148){const _0x5ae479=a116_0x1d1ecb,_0x49b555='\x27'+_0x4c0148[_0x5ae479(0x12e)](/'/g,_0x5ae479(0x16c))+'\x27';return CLI_BIN_NAME+_0x5ae479(0x154)+_0x49b555+_0x5ae479(0x14a);}function unconfirmedRegroupWarning(_0x54ae80){const _0x4726b9=a116_0x1d1ecb;if(_0x54ae80[_0x4726b9(0x14e)]===_0x4726b9(0x145))return _0x4726b9(0x149);if(_0x54ae80[_0x4726b9(0x14e)]===_0x4726b9(0x116))return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x54ae80[_0x4726b9(0x122)])return _0x4726b9(0x11b);return _0x4726b9(0x160);}function a116_0x403e(_0x2bfba3,_0x3a677a){_0x2bfba3=_0x2bfba3-0x112;const _0x252d19=a116_0x252d();let _0x403e5e=_0x252d19[_0x2bfba3];return _0x403e5e;}async function buildRegroupPlan(_0x584c08,_0x5ef49f){const _0x18f1bb=a116_0x1d1ecb,_0x14a030=_0x584c08[_0x18f1bb(0x13c)](_0x18f1bb(0x16b))[_0x18f1bb(0x16e)](),_0xdd401b=parseMenuIds(_0x584c08[_0x18f1bb(0x13c)]('menu-ids')),_0x59c9cb=await fetchMutationSnapshot(_0x584c08,_0x18f1bb(0x119)),_0x3520ac=_0xdd401b[_0x18f1bb(0x14d)](_0x595cb1=>requireMenu(_0x59c9cb,_0x595cb1));for(const _0x1fa8c6 of _0x3520ac){if(_0x1fa8c6['type'][_0x18f1bb(0x16e)]()[_0x18f1bb(0x157)]()===_0x18f1bb(0x15d)||_0x1fa8c6[_0x18f1bb(0x11f)]>0x0)throw menuError(_0x18f1bb(0x14b),_0x18f1bb(0x151)+_0x1fa8c6['id']+_0x18f1bb(0x156),'Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0x1fa8c6[_0x18f1bb(0x16b)][_0x18f1bb(0x16e)]())throw menuError(_0x18f1bb(0x140),'Menu\x20'+_0x1fa8c6['id']+_0x18f1bb(0x135),_0x18f1bb(0x163));}const _0x2752a2=findAppliedRegroup(_0x59c9cb,_0x14a030,_0xdd401b);if(_0x2752a2)throw menuError(_0x18f1bb(0x15a),'Menus\x20'+_0xdd401b[_0x18f1bb(0x150)](',\x20')+_0x18f1bb(0x155)+_0x2752a2[_0x18f1bb(0x11e)]['id']+'\x20('+JSON['stringify'](_0x14a030)+').','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.');const _0xafd411=_0x59c9cb[_0x18f1bb(0x132)][_0x18f1bb(0x11d)](_0x142df4=>_0x142df4[_0x18f1bb(0x12a)]==null&&_0x142df4[_0x18f1bb(0x139)][_0x18f1bb(0x16e)]()[_0x18f1bb(0x157)]()===_0x18f1bb(0x15d)&&_0x142df4[_0x18f1bb(0x16b)]===_0x14a030);if(_0xafd411[_0x18f1bb(0x11a)]>0x0)throw menuError(_0x18f1bb(0x142),_0x18f1bb(0x128)+JSON[_0x18f1bb(0x131)](_0x14a030)+_0x18f1bb(0x118)+_0xafd411[_0x18f1bb(0x14d)](_0x408eec=>_0x408eec['id'])[_0x18f1bb(0x150)](',\x20')+'.',_0x18f1bb(0x167));const _0x4834f2={'appCode':_0x584c08[_0x18f1bb(0x134)],'menuGroups':[{'label':_0x14a030,'type':'folder','children':_0x3520ac[_0x18f1bb(0x14d)](_0x76cca9=>({'id':_0x76cca9['id'],'label':_0x76cca9[_0x18f1bb(0x16b)]}))}]},_0x6372a4=mutationResult({'operation':_0x18f1bb(0x165),'selector':{'label':_0x14a030,'menuIds':_0xdd401b},'before':{'menus':_0x3520ac},'after':{'group':{'id':null,'parentId':null,'label':_0x14a030,'path':'<platform-generated>','type':_0x18f1bb(0x15d),'childrenIds':_0xdd401b},'children':_0x3520ac[_0x18f1bb(0x14d)](_0x45bd36=>({'id':_0x45bd36['id'],'label':_0x45bd36[_0x18f1bb(0x16b)],'beforeParentId':_0x45bd36[_0x18f1bb(0x12a)],'afterParentId':_0x18f1bb(0x126)}))},'dryRun':_0x5ef49f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x18f1bb(0x114),'method':_0x18f1bb(0x129),'path':'/smartapi/menu/regroup','body':_0x4834f2}],'snapshotHash':_0x59c9cb[_0x18f1bb(0x143)],'warnings':['The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.',_0x18f1bb(0x146)]});return{'label':_0x14a030,'menuIds':_0xdd401b,'input':_0x4834f2,'plan':_0x6372a4};}function a116_0x252d(){const _0x5b72c2=['split','knownStatus','16BGckIL','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','110oTdfgb','<new-group-id>','1145019kqlETj','Root\x20folder\x20label\x20','POST','parentId','3084319jKjpGd','taskId','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','replace','/smartapi/menu/regroup','plan','stringify','menus','flagMissing','appCode','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','5602116JuKXrs','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','type','3507849yJJsGm','993546LgXAvs','str','356742PzdLZx','size','applied','menu_regroup_target_label_missing','isSafeInteger','menu_regroup_label_conflict','hash','high-risk-write','SUCCESS','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','validation','unconfirmed','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','\x20--format\x20compress','menu_regroup_target_not_leaf','string','map','status','regroup-submit','join','Menu\x20','Label\x20of\x20the\x20new\x20root\x20folder','some','\x20menu\x20list\x20--appcode\x20','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','toLowerCase','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','input','menu_regroup_already_applied','message','get','folder','byId','menu','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.','menuIds','2655246FXOiWD','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','start\x20regroup','regroup-start','Regroup\x20readback\x20failed:\x20','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','start\x20menu\x20regroup','\x20and\x20regroup\x20menu\x20ids\x20','failed','label','\x27\x5c\x27\x27','cookie','trim','menu-ids','childrenIds','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','submit-regroup-task','\x20menus\x20per\x20regroup\x20request.','FAILED','sort','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','plan\x20regroup','length','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','isTerminal','filter','group','childrenCount','Regroup\x20readback\x20also\x20failed:\x20'];a116_0x252d=function(){return _0x5b72c2;};return a116_0x252d();}function findAppliedRegroup(_0x3c9496,_0x22266c,_0xd00eb1){const _0x1abdbb=a116_0x1d1ecb,_0x384863=_0xd00eb1[_0x1abdbb(0x14d)](_0x1b9b5f=>_0x3c9496[_0x1abdbb(0x15e)]['get'](_0x1b9b5f))[_0x1abdbb(0x11d)](_0x1a7803=>Boolean(_0x1a7803));if(_0x384863[_0x1abdbb(0x11a)]!==_0xd00eb1[_0x1abdbb(0x11a)])return null;const _0x386861=_0x384863[0x0]?.['parentId'];if(_0x386861==null||_0x384863[_0x1abdbb(0x153)](_0x2c9ca9=>_0x2c9ca9[_0x1abdbb(0x12a)]!==_0x386861))return null;const _0x16fefc=_0x3c9496[_0x1abdbb(0x15e)][_0x1abdbb(0x15c)](_0x386861);if(!_0x16fefc||_0x16fefc[_0x1abdbb(0x12a)]!=null||_0x16fefc[_0x1abdbb(0x139)]['trim']()[_0x1abdbb(0x157)]()!==_0x1abdbb(0x15d)||_0x16fefc['label']!==_0x22266c)return null;const _0x5174e2=[..._0xd00eb1]['sort']((_0x544e86,_0x21d1cf)=>_0x544e86-_0x21d1cf),_0xf2be54=[..._0x16fefc[_0x1abdbb(0x112)]][_0x1abdbb(0x117)]((_0x22c734,_0x7f4781)=>_0x22c734-_0x7f4781);if(JSON[_0x1abdbb(0x131)](_0xf2be54)!==JSON[_0x1abdbb(0x131)](_0x5174e2))return null;return{'group':_0x16fefc,'children':_0x384863};}async function inspectRegroupAfterFailure(_0x28a462,_0x4a44d8,_0x513144,_0x8acbd8){const _0x16f97d=a116_0x1d1ecb;try{const _0x420bab=await fetchMenuSnapshot(_0x28a462,_0x4a44d8);return{'applied':findAppliedRegroup(_0x420bab,_0x513144,_0x8acbd8),'readbackError':null};}catch(_0xd0e634){return{'applied':null,'readbackError':_0xd0e634 instanceof Error?_0xd0e634[_0x16f97d(0x15b)]:String(_0xd0e634)};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a117_0x194fbb=a117_0x2199;(function(_0x5bd5c0,_0x30ebf4){const _0x45a4=a117_0x2199,_0x4316e1=_0x5bd5c0();while(!![]){try{const _0x4a080e=parseInt(_0x45a4(0x175))/0x1*(parseInt(_0x45a4(0x17f))/0x2)+-parseInt(_0x45a4(0x18c))/0x3*(parseInt(_0x45a4(0x176))/0x4)+parseInt(_0x45a4(0x154))/0x5+-parseInt(_0x45a4(0x149))/0x6+-parseInt(_0x45a4(0x15f))/0x7*(parseInt(_0x45a4(0x159))/0x8)+-parseInt(_0x45a4(0x173))/0x9*(-parseInt(_0x45a4(0x151))/0xa)+-parseInt(_0x45a4(0x18a))/0xb;if(_0x4a080e===_0x30ebf4)break;else _0x4316e1['push'](_0x4316e1['shift']());}catch(_0x4f9d52){_0x4316e1['push'](_0x4316e1['shift']());}}}(a117_0x2603,0x8dc9e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a117_0x194fbb(0x16d),'path':a117_0x194fbb(0x194)}];export const menuRename={'service':a117_0x194fbb(0x150),'command':a117_0x194fbb(0x14a),'description':a117_0x194fbb(0x18e),'risk':a117_0x194fbb(0x18d),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a117_0x194fbb(0x17e),'type':a117_0x194fbb(0x18f),'required':!![],'description':a117_0x194fbb(0x162)},{'name':a117_0x194fbb(0x195),'type':a117_0x194fbb(0x18f),'required':!![],'description':a117_0x194fbb(0x178)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x10bd5d){validateInput(_0x10bd5d);},async 'dryRun'(_0x3cbeb8){const _0x1aad16=a117_0x194fbb;validateInput(_0x3cbeb8);const _0x41a728=await buildPlan(_0x3cbeb8,!![]);return menuDryRunResult(_0x41a728[_0x1aad16(0x15d)],{'method':_0x1aad16(0x16d),'url':_0x1aad16(0x194),'body':_0x41a728['body'],'description':_0x1aad16(0x188)+_0x41a728[_0x1aad16(0x199)]['id']+'.'});},async 'execute'(_0xb0606e){const _0x312331=a117_0x194fbb;validateInput(_0xb0606e);const _0x2e41e7=await buildPlan(_0xb0606e,![]),{plan:_0x32c889,body:_0x12fbc7,before:_0x212207,noChanges:_0x57a9b1}=_0x2e41e7,_0x2e3da5=_0x12fbc7['id'];if(_0x57a9b1)return renameSuccess(_0x32c889,_0x2e41e7[_0x312331(0x189)],_0x212207,!![],![]);await recheckMutationSnapshot(_0xb0606e,_0x32c889,'rename\x20menu',_0x2e3da5);try{await updateMenuEntity(_0xb0606e[_0x312331(0x184)],_0xb0606e[_0x312331(0x153)],{'id':_0x2e3da5,'label':_0x12fbc7[_0x312331(0x17e)]});}catch(_0xdc244a){const _0xf83b44=mapMenuApiError(_0xdc244a,'rename',_0x2e3da5);if(isMenuResponseLoss(_0xdc244a)&&_0xf83b44['code']!==_0x312331(0x16e))return recoverAfterResponseLoss(_0xb0606e,_0x2e41e7);throw menuFailure(_0xf83b44,_0x32c889,{'stage':_0x312331(0x17b),'failed':{'id':_0x2e3da5},'warnings':[_0x312331(0x183)],'verification':{'status':'failed','targetId':_0x2e3da5,'lookupCommand':buildLookupCommand(_0xb0606e[_0x312331(0x184)])}});}let _0x2e5b0d,_0x551fb1;try{_0x2e5b0d=await fetchMenuSnapshot(_0xb0606e[_0x312331(0x184)],_0xb0606e[_0x312331(0x153)]),_0x551fb1=requireMenu(_0x2e5b0d,_0x2e3da5),verifyRenamedFact(_0x212207,_0x551fb1,_0x12fbc7['label']);}catch(_0x26ff33){const _0x519281=describeMenuErrorCause(_0x26ff33,'verify\x20menu\x20rename',_0x2e3da5),_0x58a03e=asVerificationError(_0x26ff33,_0x312331(0x16a)+_0x2e3da5+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x58a03e,_0x32c889,{'stage':_0x312331(0x187),'succeeded':[{'id':_0x2e3da5,'updateRequested':!![]}],'failed':{'id':_0x2e3da5,'requestedStateConfirmed':![],..._0x519281},'warnings':[_0x312331(0x146)],'verification':{'status':_0x312331(0x160),'targetId':_0x2e3da5,'lookupCommand':buildLookupCommand(_0xb0606e[_0x312331(0x184)])}});}return renameSuccess(_0x32c889,_0x2e5b0d,_0x551fb1,![],![]);}};function validateInput(_0x2f3085){const _0x28450d=a117_0x194fbb;validateExactId(_0x2f3085);if(!_0x2f3085['str'](_0x28450d(0x17e))['trim']())throw CliErrors[_0x28450d(0x14f)](_0x28450d(0x14c));if(!_0x2f3085[_0x28450d(0x169)](_0x28450d(0x195))[_0x28450d(0x181)]())throw CliErrors['flagMissing']('expect-label');}function a117_0x2199(_0x385bd2,_0x4c325e){_0x385bd2=_0x385bd2-0x146;const _0x26039e=a117_0x2603();let _0x219952=_0x26039e[_0x385bd2];return _0x219952;}async function buildPlan(_0x3bb85f,_0x564952){const _0x4a7029=a117_0x194fbb,_0x3e1e68=validateExactId(_0x3bb85f),_0xb25229=_0x3bb85f['str'](_0x4a7029(0x17e))[_0x4a7029(0x181)](),_0x38a479=_0x3bb85f[_0x4a7029(0x169)](_0x4a7029(0x195)),_0x11883f=await fetchMutationSnapshot(_0x3bb85f,_0x4a7029(0x14b),_0x3e1e68),_0x161595=requireMenu(_0x11883f,_0x3e1e68);if(_0x161595['label']!==_0x38a479)throw menuError(_0x4a7029(0x174),'Menu\x20'+_0x3e1e68+_0x4a7029(0x16c)+JSON[_0x4a7029(0x185)](_0x38a479)+_0x4a7029(0x166)+JSON['stringify'](_0x161595['label'])+'.',_0x4a7029(0x197));const _0x4c24c2={'id':_0x3e1e68,'appCode':_0x3bb85f[_0x4a7029(0x184)],'label':_0xb25229},_0x5ee3bb={..._0x161595,'label':_0xb25229},_0x4fed73=_0x161595[_0x4a7029(0x17e)]===_0xb25229,_0x439b52=_0x4fed73?[]:[{'stage':_0x4a7029(0x182),'method':_0x4a7029(0x16d),'path':_0x4a7029(0x194),'body':_0x4c24c2}];return{'snapshot':_0x11883f,'before':_0x161595,'body':_0x4c24c2,'noChanges':_0x4fed73,'plan':mutationResult({'operation':_0x4a7029(0x14a),'selector':{'id':_0x3e1e68},'before':_0x161595,'after':_0x5ee3bb,'dryRun':_0x564952,'backend':[...BACKEND],'plannedActions':_0x439b52,'snapshotHash':_0x11883f[_0x4a7029(0x16f)],'warnings':_0x4fed73?[_0x4a7029(0x17a)]:[]})};}function verifyRenamedFact(_0xa1f603,_0x9384ac,_0x2e03c1){const _0x2ca233=a117_0x194fbb,_0x28c7a5=[['id',_0x9384ac['id'],_0xa1f603['id']],[_0x2ca233(0x15e),_0x9384ac[_0x2ca233(0x15e)],_0xa1f603[_0x2ca233(0x15e)]],[_0x2ca233(0x177),_0x9384ac[_0x2ca233(0x177)],_0xa1f603[_0x2ca233(0x177)]],['path',_0x9384ac['path'],_0xa1f603[_0x2ca233(0x198)]],[_0x2ca233(0x167),_0x9384ac['url'],_0xa1f603[_0x2ca233(0x167)]],['type',_0x9384ac[_0x2ca233(0x148)],_0xa1f603[_0x2ca233(0x148)]],[_0x2ca233(0x191),_0x9384ac[_0x2ca233(0x191)],_0xa1f603[_0x2ca233(0x191)]],[_0x2ca233(0x15a),_0x9384ac[_0x2ca233(0x15a)],_0xa1f603[_0x2ca233(0x15a)]],[_0x2ca233(0x14d),_0x9384ac[_0x2ca233(0x14d)],_0xa1f603['resources']],[_0x2ca233(0x193),_0x9384ac[_0x2ca233(0x193)],_0xa1f603[_0x2ca233(0x193)]],['childrenIds',_0x9384ac[_0x2ca233(0x156)],_0xa1f603[_0x2ca233(0x156)]],[_0x2ca233(0x19a),_0x9384ac['childrenCount'],_0xa1f603[_0x2ca233(0x19a)]],['pageId',_0x9384ac['pageId'],_0xa1f603[_0x2ca233(0x15b)]],['pageType',_0x9384ac[_0x2ca233(0x172)],_0xa1f603['pageType']],[_0x2ca233(0x155),_0x9384ac['modelType'],_0xa1f603[_0x2ca233(0x155)]],[_0x2ca233(0x171),_0x9384ac[_0x2ca233(0x171)],_0xa1f603[_0x2ca233(0x171)]],[_0x2ca233(0x152),_0x9384ac[_0x2ca233(0x152)],_0xa1f603['datasetCode']]];for(const [_0x2a799b,_0x150165,_0x30ce65]of _0x28c7a5){assertVerified(sameValue(_0x150165,_0x30ce65),_0x2ca233(0x163)+_0xa1f603['id']+'\x20'+_0x2a799b+_0x2ca233(0x168));}assertVerified(_0x9384ac[_0x2ca233(0x17e)]===_0x2e03c1,'Menu\x20'+_0xa1f603['id']+_0x2ca233(0x157));}function sameValue(_0x26b422,_0x5a7d6d){const _0x7b5939=a117_0x194fbb;if(Array['isArray'](_0x26b422)||Array[_0x7b5939(0x196)](_0x5a7d6d))return JSON[_0x7b5939(0x185)](_0x26b422)===JSON[_0x7b5939(0x185)](_0x5a7d6d);return _0x26b422===_0x5a7d6d;}function renameSuccess(_0x487ed0,_0x51bf44,_0x11fd9e,_0x57d24d,_0x1938b5){const _0x1d7a38=a117_0x194fbb,_0x2b7bfd=_0x11fd9e['id'],_0x3e3d20=mutationResult({..._0x487ed0,'after':_0x11fd9e,'dryRun':![],'succeeded':[{'id':_0x2b7bfd,'updated':!_0x57d24d,'skipped':_0x57d24d,'recovered':_0x1938b5}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x51bf44['hash'],'targetId':_0x2b7bfd,'matchesRequestedState':!![],'recovered':_0x1938b5}});return{'ok':!![],'message':_0x1938b5?_0x1d7a38(0x16b)+_0x2b7bfd+'.':_0x57d24d?'Menu\x20'+_0x2b7bfd+_0x1d7a38(0x18b):'Renamed\x20menu\x20'+_0x2b7bfd+'.','data':{..._0x3e3d20,'recovered':_0x1938b5}};}async function recoverAfterResponseLoss(_0x9a470e,_0x12e368){const _0x3ae0b7=a117_0x194fbb,{plan:_0x1f66ce,before:_0x18da10,body:_0x5c7f53}=_0x12e368;let _0x1c4c5a;try{_0x1c4c5a=await fetchMenuSnapshot(_0x9a470e['appCode'],_0x9a470e[_0x3ae0b7(0x153)]);}catch{throw recoveryRequired(_0x1f66ce,_0x9a470e[_0x3ae0b7(0x184)],{'id':_0x5c7f53['id'],'readbackFailed':!![]});}const _0x555729=_0x1c4c5a[_0x3ae0b7(0x170)][_0x3ae0b7(0x147)](_0x5c7f53['id']);if(!_0x555729||_0x555729[_0x3ae0b7(0x17e)]!==_0x5c7f53[_0x3ae0b7(0x17e)])throw recoveryRequired(_0x1f66ce,_0x9a470e[_0x3ae0b7(0x184)],{'id':_0x5c7f53['id'],'requestedLabelObserved':![],'after':_0x555729??null});try{verifyRenamedFact(_0x18da10,_0x555729,_0x5c7f53['label']);}catch(_0x13e2fb){const _0x50183e=asVerificationError(_0x13e2fb,_0x3ae0b7(0x164)+_0x5c7f53['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x50183e,_0x1f66ce,{'stage':_0x3ae0b7(0x179),'succeeded':[{'id':_0x5c7f53['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5c7f53['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x555729,'warnings':[_0x3ae0b7(0x158)],'verification':{'status':'failed','targetId':_0x5c7f53['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x9a470e[_0x3ae0b7(0x184)])}});}return renameSuccess(_0x1f66ce,_0x1c4c5a,_0x555729,![],!![]);}function a117_0x2603(){const _0x15fe5a=['\x20label\x20update\x20did\x20not\x20take\x20effect.','The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','910208cDnTaq','sort','pageId','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','plan','parentId','14KaMWJB','failed','menu_update_recovery_required','New\x20menu\x20label','Menu\x20','Response\x20was\x20lost\x20and\x20menu\x20','readbackFailed',',\x20current\x20','url','\x20changed\x20during\x20the\x20label-only\x20rename.','str','Rename\x20request\x20for\x20menu\x20','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','\x20label\x20changed:\x20expected\x20','POST','menu_permission_denied','hash','byId','datasetId','pageType','2502JSVMNB','menu_state_drift','24519GtUuPq','276psixBt','depth','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','update-recovery','The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.','update','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','requestedLabelObserved','label','46sUUfhU','\x27\x5c\x27\x27','trim','rename-menu','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','appCode','stringify','after','verification','Would\x20rename\x20menu\x20','snapshot','1411619HydbWI','\x20already\x20has\x20the\x20requested\x20label.','20484dPnCZi','write','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','string','\x20--format\x20compress','visible','replace','resourcesValid','/smartapi/menu/update','expect-label','isArray','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','path','body','childrenCount','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','get','type','2535834kgXpvl','rename','rename\x20menu','--label\x20cannot\x20be\x20empty.','resources','Run\x20','validation','menu','32810fxwNtw','datasetCode','cookie','1771815xsTQMM','modelType','childrenIds'];a117_0x2603=function(){return _0x15fe5a;};return a117_0x2603();}function recoveryRequired(_0x14db7c,_0x156940,_0x198d3a){const _0x4831a8=a117_0x194fbb,_0x505648=menuError(_0x4831a8(0x161),'The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.',_0x4831a8(0x14e)+buildLookupCommand(_0x156940)+_0x4831a8(0x17c));return menuFailure(_0x505648,_0x14db7c,{'stage':'update-recovery','failed':{'id':_0x198d3a['id'],..._0x198d3a[_0x4831a8(0x17d)]===undefined?{}:{'requestedLabelObserved':_0x198d3a['requestedLabelObserved']},..._0x198d3a[_0x4831a8(0x165)]?{'readbackFailed':!![]}:{}},'after':_0x198d3a[_0x4831a8(0x186)],'warnings':[_0x4831a8(0x15c)],'verification':{'status':_0x4831a8(0x160),'targetId':_0x198d3a['id'],..._0x198d3a['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x198d3a[_0x4831a8(0x17d)]},..._0x198d3a[_0x4831a8(0x165)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x156940)}});}function buildLookupCommand(_0x497616){const _0x424898=a117_0x194fbb,_0x443e3f='\x27'+_0x497616[_0x424898(0x192)](/'/g,_0x424898(0x180))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x443e3f+_0x424898(0x190);}
|
|
1
|
+
const a117_0x5de075=a117_0x16fb;(function(_0x5d21d5,_0x3e98b5){const _0x581407=a117_0x16fb,_0x1c44b3=_0x5d21d5();while(!![]){try{const _0x859d89=parseInt(_0x581407(0xa4))/0x1*(-parseInt(_0x581407(0x8e))/0x2)+parseInt(_0x581407(0xb1))/0x3+parseInt(_0x581407(0xbe))/0x4+parseInt(_0x581407(0xa6))/0x5*(parseInt(_0x581407(0xa8))/0x6)+parseInt(_0x581407(0x97))/0x7+-parseInt(_0x581407(0x7e))/0x8*(parseInt(_0x581407(0xb0))/0x9)+-parseInt(_0x581407(0x73))/0xa;if(_0x859d89===_0x3e98b5)break;else _0x1c44b3['push'](_0x1c44b3['shift']());}catch(_0x5ab9f4){_0x1c44b3['push'](_0x1c44b3['shift']());}}}(a117_0x3b23,0x316e9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a117_0x16fb(_0x15e251,_0x28fe09){_0x15e251=_0x15e251-0x73;const _0x3b236e=a117_0x3b23();let _0x16fb34=_0x3b236e[_0x15e251];return _0x16fb34;}const BACKEND=[{'method':a117_0x5de075(0x76),'path':a117_0x5de075(0x9a)}];export const menuRename={'service':'menu','command':a117_0x5de075(0x9d),'description':'Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','risk':a117_0x5de075(0x90),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a117_0x5de075(0x85),'type':a117_0x5de075(0xa2),'required':!![],'description':'New\x20menu\x20label'},{'name':a117_0x5de075(0xb8),'type':'string','required':!![],'description':a117_0x5de075(0x8c)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x56c745){validateInput(_0x56c745);},async 'dryRun'(_0x1d79af){const _0x5e3894=a117_0x5de075;validateInput(_0x1d79af);const _0x3bc9fe=await buildPlan(_0x1d79af,!![]);return menuDryRunResult(_0x3bc9fe['plan'],{'method':_0x5e3894(0x76),'url':'/smartapi/menu/update','body':_0x3bc9fe[_0x5e3894(0xb4)],'description':'Would\x20rename\x20menu\x20'+_0x3bc9fe[_0x5e3894(0xb4)]['id']+'.'});},async 'execute'(_0x599d7a){const _0x261a9e=a117_0x5de075;validateInput(_0x599d7a);const _0x4279bf=await buildPlan(_0x599d7a,![]),{plan:_0x47fcf6,body:_0x21dca5,before:_0x1b0c70,noChanges:_0x436dd2}=_0x4279bf,_0x49d3fd=_0x21dca5['id'];if(_0x436dd2)return renameSuccess(_0x47fcf6,_0x4279bf[_0x261a9e(0xaf)],_0x1b0c70,!![],![]);await recheckMutationSnapshot(_0x599d7a,_0x47fcf6,_0x261a9e(0x7d),_0x49d3fd);try{await updateMenuEntity(_0x599d7a['appCode'],_0x599d7a[_0x261a9e(0x7b)],{'id':_0x49d3fd,'label':_0x21dca5[_0x261a9e(0x85)]});}catch(_0x8d79fa){const _0x32b861=mapMenuApiError(_0x8d79fa,'rename',_0x49d3fd);if(isMenuResponseLoss(_0x8d79fa)&&_0x32b861[_0x261a9e(0xb3)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x599d7a,_0x4279bf);throw menuFailure(_0x32b861,_0x47fcf6,{'stage':_0x261a9e(0xbb),'failed':{'id':_0x49d3fd},'warnings':[_0x261a9e(0xab)],'verification':{'status':_0x261a9e(0x79),'targetId':_0x49d3fd,'lookupCommand':buildLookupCommand(_0x599d7a[_0x261a9e(0x86)])}});}let _0x4f1acd,_0x5d1be5;try{_0x4f1acd=await fetchMenuSnapshot(_0x599d7a[_0x261a9e(0x86)],_0x599d7a[_0x261a9e(0x7b)]),_0x5d1be5=requireMenu(_0x4f1acd,_0x49d3fd),verifyRenamedFact(_0x1b0c70,_0x5d1be5,_0x21dca5[_0x261a9e(0x85)]);}catch(_0x498342){const _0x45eef1=describeMenuErrorCause(_0x498342,_0x261a9e(0xc0),_0x49d3fd),_0x3de87c=asVerificationError(_0x498342,'Rename\x20request\x20for\x20menu\x20'+_0x49d3fd+_0x261a9e(0x80));throw menuFailure(_0x3de87c,_0x47fcf6,{'stage':_0x261a9e(0x8f),'succeeded':[{'id':_0x49d3fd,'updateRequested':!![]}],'failed':{'id':_0x49d3fd,'requestedStateConfirmed':![],..._0x45eef1},'warnings':[_0x261a9e(0x74)],'verification':{'status':'failed','targetId':_0x49d3fd,'lookupCommand':buildLookupCommand(_0x599d7a[_0x261a9e(0x86)])}});}return renameSuccess(_0x47fcf6,_0x4f1acd,_0x5d1be5,![],![]);}};function validateInput(_0x20841e){const _0x34ba37=a117_0x5de075;validateExactId(_0x20841e);if(!_0x20841e[_0x34ba37(0x83)](_0x34ba37(0x85))['trim']())throw CliErrors['validation']('--label\x20cannot\x20be\x20empty.');if(!_0x20841e[_0x34ba37(0x83)]('expect-label')[_0x34ba37(0xba)]())throw CliErrors[_0x34ba37(0xa3)](_0x34ba37(0xb8));}async function buildPlan(_0x36438c,_0x7fac23){const _0x20012a=a117_0x5de075,_0x4fcbe9=validateExactId(_0x36438c),_0x55bb52=_0x36438c[_0x20012a(0x83)](_0x20012a(0x85))[_0x20012a(0xba)](),_0x3077ba=_0x36438c['str']('expect-label'),_0x42d687=await fetchMutationSnapshot(_0x36438c,_0x20012a(0x7d),_0x4fcbe9),_0x1e8df6=requireMenu(_0x42d687,_0x4fcbe9);if(_0x1e8df6[_0x20012a(0x85)]!==_0x3077ba)throw menuError(_0x20012a(0x99),_0x20012a(0x95)+_0x4fcbe9+_0x20012a(0x8b)+JSON['stringify'](_0x3077ba)+_0x20012a(0xac)+JSON['stringify'](_0x1e8df6[_0x20012a(0x85)])+'.',_0x20012a(0xa5));const _0x168fbf={'id':_0x4fcbe9,'appCode':_0x36438c[_0x20012a(0x86)],'label':_0x55bb52},_0x23c5f4={..._0x1e8df6,'label':_0x55bb52},_0x5e4b42=_0x1e8df6['label']===_0x55bb52,_0x626e79=_0x5e4b42?[]:[{'stage':_0x20012a(0x87),'method':_0x20012a(0x76),'path':_0x20012a(0x9a),'body':_0x168fbf}];return{'snapshot':_0x42d687,'before':_0x1e8df6,'body':_0x168fbf,'noChanges':_0x5e4b42,'plan':mutationResult({'operation':_0x20012a(0x9d),'selector':{'id':_0x4fcbe9},'before':_0x1e8df6,'after':_0x23c5f4,'dryRun':_0x7fac23,'backend':[...BACKEND],'plannedActions':_0x626e79,'snapshotHash':_0x42d687[_0x20012a(0x88)],'warnings':_0x5e4b42?[_0x20012a(0xaa)]:[]})};}function a117_0x3b23(){const _0x1e497a=['POST','datasetCode','url','failed','replace','cookie','after','rename\x20menu','594304xJQtZC','\x20changed\x20during\x20the\x20label-only\x20rename.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','visible','path','str','stringify','label','appCode','rename-menu','hash','Renamed\x20menu\x20','byId','\x20label\x20changed:\x20expected\x20','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','\x20label\x20update\x20did\x20not\x20take\x20effect.','13546ERKtmo','verification','write','get','menu_update_recovery_required','depth','update-recovery','Menu\x20','childrenCount','793590nGVRTJ','sort','menu_state_drift','/smartapi/menu/update','resourcesValid','The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','rename','readbackFailed','isArray','The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.','Run\x20','string','flagMissing','5GwEDsV','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','275JLiVlH','rabetbase\x20menu\x20list\x20--appcode\x20','13200GrHMab','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.',',\x20current\x20','resources','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','snapshot','36KpwAhT','774063AzuHzM','\x20already\x20has\x20the\x20requested\x20label.','code','body','requestedLabelObserved','\x20could\x20not\x20be\x20verified\x20safely','pageId','expect-label','type','trim','update','parentId','pageType','512580txvCzJ','modelType','verify\x20menu\x20rename','childrenIds','\x20--format\x20compress','Response\x20was\x20lost\x20and\x20menu\x20','870460kqswVD','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','datasetId'];a117_0x3b23=function(){return _0x1e497a;};return a117_0x3b23();}function verifyRenamedFact(_0x47b6eb,_0x133d99,_0x985cef){const _0x2646a6=a117_0x5de075,_0x82c43=[['id',_0x133d99['id'],_0x47b6eb['id']],[_0x2646a6(0xbc),_0x133d99['parentId'],_0x47b6eb[_0x2646a6(0xbc)]],[_0x2646a6(0x93),_0x133d99[_0x2646a6(0x93)],_0x47b6eb[_0x2646a6(0x93)]],[_0x2646a6(0x82),_0x133d99[_0x2646a6(0x82)],_0x47b6eb[_0x2646a6(0x82)]],['url',_0x133d99['url'],_0x47b6eb[_0x2646a6(0x78)]],[_0x2646a6(0xb9),_0x133d99[_0x2646a6(0xb9)],_0x47b6eb[_0x2646a6(0xb9)]],[_0x2646a6(0x81),_0x133d99[_0x2646a6(0x81)],_0x47b6eb[_0x2646a6(0x81)]],['sort',_0x133d99[_0x2646a6(0x98)],_0x47b6eb['sort']],['resources',_0x133d99[_0x2646a6(0xad)],_0x47b6eb[_0x2646a6(0xad)]],[_0x2646a6(0x9b),_0x133d99[_0x2646a6(0x9b)],_0x47b6eb[_0x2646a6(0x9b)]],[_0x2646a6(0xc1),_0x133d99[_0x2646a6(0xc1)],_0x47b6eb[_0x2646a6(0xc1)]],[_0x2646a6(0x96),_0x133d99['childrenCount'],_0x47b6eb['childrenCount']],[_0x2646a6(0xb7),_0x133d99['pageId'],_0x47b6eb[_0x2646a6(0xb7)]],[_0x2646a6(0xbd),_0x133d99[_0x2646a6(0xbd)],_0x47b6eb[_0x2646a6(0xbd)]],[_0x2646a6(0xbf),_0x133d99[_0x2646a6(0xbf)],_0x47b6eb['modelType']],[_0x2646a6(0x75),_0x133d99[_0x2646a6(0x75)],_0x47b6eb[_0x2646a6(0x75)]],[_0x2646a6(0x77),_0x133d99[_0x2646a6(0x77)],_0x47b6eb[_0x2646a6(0x77)]]];for(const [_0xd08a16,_0xcd9fed,_0x247c84]of _0x82c43){assertVerified(sameValue(_0xcd9fed,_0x247c84),_0x2646a6(0x95)+_0x47b6eb['id']+'\x20'+_0xd08a16+_0x2646a6(0x7f));}assertVerified(_0x133d99[_0x2646a6(0x85)]===_0x985cef,_0x2646a6(0x95)+_0x47b6eb['id']+_0x2646a6(0x8d));}function sameValue(_0x3de1ad,_0x30f3e7){const _0x4d92af=a117_0x5de075;if(Array[_0x4d92af(0x9f)](_0x3de1ad)||Array[_0x4d92af(0x9f)](_0x30f3e7))return JSON[_0x4d92af(0x84)](_0x3de1ad)===JSON['stringify'](_0x30f3e7);return _0x3de1ad===_0x30f3e7;}function renameSuccess(_0x510a5a,_0x305607,_0x4614e8,_0x5003b4,_0x409412){const _0x267752=a117_0x5de075,_0x357475=_0x4614e8['id'],_0x4ea86f=mutationResult({..._0x510a5a,'after':_0x4614e8,'dryRun':![],'succeeded':[{'id':_0x357475,'updated':!_0x5003b4,'skipped':_0x5003b4,'recovered':_0x409412}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x305607['hash'],'targetId':_0x357475,'matchesRequestedState':!![],'recovered':_0x409412}});return{'ok':!![],'message':_0x409412?_0x267752(0xa9)+_0x357475+'.':_0x5003b4?_0x267752(0x95)+_0x357475+_0x267752(0xb2):_0x267752(0x89)+_0x357475+'.','data':{..._0x4ea86f,'recovered':_0x409412}};}async function recoverAfterResponseLoss(_0x53e52e,_0x160a24){const _0x54087d=a117_0x5de075,{plan:_0x685fe8,before:_0x769d09,body:_0x2d0899}=_0x160a24;let _0xa8a398;try{_0xa8a398=await fetchMenuSnapshot(_0x53e52e[_0x54087d(0x86)],_0x53e52e[_0x54087d(0x7b)]);}catch{throw recoveryRequired(_0x685fe8,_0x53e52e['appCode'],{'id':_0x2d0899['id'],'readbackFailed':!![]});}const _0x44c5fa=_0xa8a398[_0x54087d(0x8a)][_0x54087d(0x91)](_0x2d0899['id']);if(!_0x44c5fa||_0x44c5fa['label']!==_0x2d0899[_0x54087d(0x85)])throw recoveryRequired(_0x685fe8,_0x53e52e['appCode'],{'id':_0x2d0899['id'],'requestedLabelObserved':![],'after':_0x44c5fa??null});try{verifyRenamedFact(_0x769d09,_0x44c5fa,_0x2d0899[_0x54087d(0x85)]);}catch(_0x2d2244){const _0x1996bc=asVerificationError(_0x2d2244,_0x54087d(0xc3)+_0x2d0899['id']+_0x54087d(0xb6));throw menuFailure(_0x1996bc,_0x685fe8,{'stage':_0x54087d(0x94),'succeeded':[{'id':_0x2d0899['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x2d0899['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x44c5fa,'warnings':[_0x54087d(0x9c)],'verification':{'status':_0x54087d(0x79),'targetId':_0x2d0899['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x53e52e[_0x54087d(0x86)])}});}return renameSuccess(_0x685fe8,_0xa8a398,_0x44c5fa,![],!![]);}function recoveryRequired(_0x435bcb,_0x18ee51,_0x292adf){const _0x209f2d=a117_0x5de075,_0x2c5998=menuError(_0x209f2d(0x92),_0x209f2d(0xa0),_0x209f2d(0xa1)+buildLookupCommand(_0x18ee51)+_0x209f2d(0xae));return menuFailure(_0x2c5998,_0x435bcb,{'stage':_0x209f2d(0x94),'failed':{'id':_0x292adf['id'],..._0x292adf[_0x209f2d(0xb5)]===undefined?{}:{'requestedLabelObserved':_0x292adf[_0x209f2d(0xb5)]},..._0x292adf[_0x209f2d(0x9e)]?{'readbackFailed':!![]}:{}},'after':_0x292adf[_0x209f2d(0x7c)],'warnings':['The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x209f2d(0x79),'targetId':_0x292adf['id'],..._0x292adf[_0x209f2d(0xb5)]===undefined?{}:{'requestedLabelObserved':_0x292adf[_0x209f2d(0xb5)]},..._0x292adf[_0x209f2d(0x9e)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x18ee51)}});}function buildLookupCommand(_0x146426){const _0x487ac3=a117_0x5de075,_0x2a1602='\x27'+_0x146426[_0x487ac3(0x7a)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x487ac3(0xa7)+_0x2a1602+_0x487ac3(0xc2);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24d3c2,_0x145f82){const _0x379dca=a118_0xda3e,_0x2b6fba=_0x24d3c2();while(!![]){try{const _0x166847=parseInt(_0x379dca(0x1ca))/0x1*(parseInt(_0x379dca(0x1cf))/0x2)+-parseInt(_0x379dca(0x1cc))/0x3+-parseInt(_0x379dca(0x1ce))/0x4+parseInt(_0x379dca(0x1da))/0x5+parseInt(_0x379dca(0x1d2))/0x6+parseInt(_0x379dca(0x1de))/0x7+-parseInt(_0x379dca(0x1d3))/0x8;if(_0x166847===_0x145f82)break;else _0x2b6fba['push'](_0x2b6fba['shift']());}catch(_0x40763){_0x2b6fba['push'](_0x2b6fba['shift']());}}}(a118_0xc8b5,0xdc00d));function a118_0xda3e(_0x5d16a4,_0x41b892){_0x5d16a4=_0x5d16a4-0x1c8;const _0xc8b55=a118_0xc8b5();let _0xda3e57=_0xc8b55[_0x5d16a4];return _0xda3e57;}function strWidth(_0x7135fe){const _0x1f69ef=a118_0xda3e;let _0x4ff318=0x0;for(const _0x3370f2 of _0x7135fe){_0x4ff318+=/[\u4e00-\u9fa5]/[_0x1f69ef(0x1cd)](_0x3370f2)?0x2:0x1;}return _0x4ff318;}function padRight(_0x36a6eb,_0x5ae919){const _0x12725e=a118_0xda3e,_0x44d361=strWidth(_0x36a6eb);return _0x36a6eb+'\x20'[_0x12725e(0x1d7)](Math[_0x12725e(0x1dd)](0x0,_0x5ae919-_0x44d361));}export function renderCompareTable(_0xb9bc6e,_0xe087ce={}){const _0x279fcf=a118_0xda3e;if(_0xb9bc6e['length']===0x0)return'';const _0x3ac668=_0xe087ce[_0x279fcf(0x1e2)]??!![],_0x354178=Math[_0x279fcf(0x1dd)](0x1e,..._0xb9bc6e[_0x279fcf(0x1d9)](_0x497c68=>strWidth(_0x497c68[_0x279fcf(0x1dc)]))),_0x5093b3=Math['max'](0x18,..._0xb9bc6e[_0x279fcf(0x1d9)](_0x2e0709=>strWidth(_0x2e0709[_0x279fcf(0x1d1)]))),_0x2321ec=0x4,_0x159440=[],_0x4007a7='\x20\x20'+padRight(_0x279fcf(0x1d6),_0x354178),_0x17f932=padRight('Path',_0x5093b3),_0x5d5567=padRight('Local',_0x2321ec),_0x44f90b=_0x3ac668?'\x20\x20'+padRight(_0x279fcf(0x1d0),_0x2321ec):'';_0x159440['push'](_0x4007a7+'\x20\x20'+_0x17f932+'\x20\x20'+_0x5d5567+(_0x3ac668?_0x44f90b:'')),_0x159440[_0x279fcf(0x1db)]('\x20\x20'+'─'['repeat'](_0x354178)+'\x20\x20'+'─'[_0x279fcf(0x1d7)](_0x5093b3)+'\x20\x20'+'─'[_0x279fcf(0x1d7)](_0x2321ec)+(_0x3ac668?'\x20\x20'+'─'[_0x279fcf(0x1d7)](_0x2321ec):''));for(const _0x4a03f0 of _0xb9bc6e){const _0x59651c=padRight(_0x4a03f0[_0x279fcf(0x1dc)],_0x354178),_0x27c591=padRight(_0x4a03f0[_0x279fcf(0x1d1)],_0x5093b3),_0x4318ea=_0x4a03f0[_0x279fcf(0x1d4)]?'✓':'✗',_0x51d2fc=padRight(_0x4318ea,_0x2321ec);let _0x209051='\x20\x20'+_0x59651c+'\x20\x20'+_0x27c591+'\x20\x20'+_0x51d2fc;if(_0x3ac668){const _0x30da7c=_0x4a03f0[_0x279fcf(0x1d8)]?'✓':'✗';_0x209051+='\x20\x20'+padRight(_0x30da7c,_0x2321ec);}_0x159440[_0x279fcf(0x1db)](_0x209051);}return _0x159440[_0x279fcf(0x1c8)]('\x0a');}export function renderSyncSummary(_0x21ef05,_0x16f6c4){const _0x31cf10=a118_0xda3e;if(_0x21ef05[_0x31cf10(0x1cb)]===0x0)return _0x16f6c4?_0x31cf10(0x1e4):'\x20\x20No\x20pages\x20to\x20sync.';const _0x4ac0f7=['\x20\x20'+_0x21ef05[_0x31cf10(0x1cb)]+'\x20page(s)\x20will\x20be\x20created\x20on\x20platform:'];for(const _0x1ba487 of _0x21ef05){_0x4ac0f7['push'](_0x31cf10(0x1d5)+_0x1ba487[_0x31cf10(0x1dc)]+'\x20('+_0x1ba487[_0x31cf10(0x1d1)]+')');}return _0x4ac0f7[_0x31cf10(0x1c8)]('\x0a');}function a118_0xc8b5(){const _0x3a9c44=['showOnline','\x20menu(s)\x20will\x20be\x20updated\x20with\x20new\x20assets:','\x20\x20All\x20local\x20pages\x20are\x20already\x20on\x20platform.','join','\x20\x20Affected\x20menus:\x20','32zRpHhI','length','5377212TGMmJg','test','2187012bUJFTa','88908CDxpnu','Platform','path','3591948tnFUyV','2324296ZqxCSt','local','\x20\x20\x20\x20•\x20','Menu\x20Name','repeat','online','map','2354505rEFsBG','push','label','max','7271180PNRSYW','\x20\x20\x20\x20CSS:\x20','\x20\x20\x20\x20JS:\x20\x20','\x20\x20No\x20menus\x20with\x20existing\x20resources\x20found.'];a118_0xc8b5=function(){return _0x3a9c44;};return a118_0xc8b5();}export function renderUpdateSummary(_0x53ffbd,_0x1c534b){const _0x502e81=a118_0xda3e;if(_0x53ffbd[_0x502e81(0x1cb)]===0x0)return _0x502e81(0x1e1);const _0x366274=['\x20\x20'+_0x53ffbd['length']+_0x502e81(0x1e3),_0x502e81(0x1e0)+(_0x1c534b[0x0]??'(unchanged)'),_0x502e81(0x1df)+(_0x1c534b[0x1]??'(unchanged)'),'',_0x502e81(0x1c9)+_0x53ffbd[_0x502e81(0x1c8)](',\x20')];return _0x366274[_0x502e81(0x1c8)]('\x0a');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x2b3fa9,_0x1bd9e2){const _0x313c90=a119_0x91c5,_0x4342b0=_0x2b3fa9();while(!![]){try{const _0x83845d=parseInt(_0x313c90(0x20c))/0x1+parseInt(_0x313c90(0x1d0))/0x2+parseInt(_0x313c90(0x219))/0x3*(parseInt(_0x313c90(0x208))/0x4)+parseInt(_0x313c90(0x1fe))/0x5+parseInt(_0x313c90(0x200))/0x6+parseInt(_0x313c90(0x1eb))/0x7+-parseInt(_0x313c90(0x1ce))/0x8*(parseInt(_0x313c90(0x1ed))/0x9);if(_0x83845d===_0x1bd9e2)break;else _0x4342b0['push'](_0x4342b0['shift']());}catch(_0x5afc7e){_0x4342b0['push'](_0x4342b0['shift']());}}}(a119_0x1da2,0xed9d8));function a119_0x1da2(){const _0x21b727=['\x20of\x20the\x20','Cannot\x20read\x20menu\x20delete\x20plan\x20','menu_plan_write_failed','message','size','menu_plan_file_exists','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','extendHash','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','childrenIds','pageId','appCode','datasetCode','test','isSafeInteger','map','isArray','sort','parentId','updateUserName','boolean','digest','7374857PxwReg','update','9VKDYMs','targets','Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20','isFinite','batch-delete-menu','resourcesHash','toISOString','before','object','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','delete','string','\x20contract.','visible','target','number','targetFingerprint','9469360vvGVlk','stringify','2422974CXtvCS','label','Menu\x20delete\x20plan\x20creation\x20time\x20','createdAt','type','depth','path','snapshotHash','932SAKXAL','menu_plan_invalid','resources','isInteger','130926bTQEXq','every','menu_state_drift','/smartapi/menu/batchDelete','menu_plan_app_mismatch','pages','trim','Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.','version','Planned\x20menu\x20','pageSchemaAffected','utf8','pageType','16782jaDidF','recursive','command','deleteOrder',',\x20current\x20app\x20is\x20','POST','extend','resourcesValid','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','code','updateUserId','targetFingerprints','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','childrenCount','\x20requires\x20a\x20non-empty\x20file\x20path.','expiresAt','cascade','updateTime','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','warnings','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','35463640xmWKVv','modelType','1241294TzHvRw','getTime','length','datasetId'];a119_0x1da2=function(){return _0x21b727;};return a119_0x1da2();}import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND='menu\x20delete',PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x5b2a85,_0x34b916,_0x3d9cb1=new Date()){const _0xc3b16d=a119_0x91c5;if(!_0x34b916['before']||!isMenuFact(_0x34b916['before']))throw menuError('menu_plan_invalid','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.');const _0x30b9d0=_0x34b916['targets']?.[_0xc3b16d(0x1d2)]?_0x34b916['targets']:[_0x34b916[_0xc3b16d(0x1f4)]],_0x5e2946=_0x34b916[_0xc3b16d(0x21c)]?.[_0xc3b16d(0x1d2)]?_0x34b916[_0xc3b16d(0x21c)]:_0x30b9d0['map'](_0x346176=>_0x346176['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x5b2a85,'createdAt':_0x3d9cb1['toISOString'](),'expiresAt':new Date(_0x3d9cb1[_0xc3b16d(0x1d1)]()+PLAN_TTL_MS)[_0xc3b16d(0x1f3)](),'snapshotHash':_0x34b916['snapshotHash'],'recursive':_0x34b916['selector'][_0xc3b16d(0x21a)]===!![],'target':_0x34b916[_0xc3b16d(0x1f4)],'targetFingerprint':fingerprint(_0x34b916[_0xc3b16d(0x1f4)]),'targets':_0x30b9d0,'targetFingerprints':_0x30b9d0[_0xc3b16d(0x1e4)](fingerprint),'deleteOrder':_0x5e2946,'cascade':_0x34b916['cascade']??{'pages':_0x34b916[_0xc3b16d(0x1f4)][_0xc3b16d(0x1df)]==null?[]:[_0x34b916[_0xc3b16d(0x1f4)][_0xc3b16d(0x1df)]],'pageSchemaAffected':_0x34b916[_0xc3b16d(0x1f4)][_0xc3b16d(0x1df)]!=null},'warnings':[..._0x34b916['warnings']]};}function a119_0x91c5(_0x413a6b,_0x3bdd6c){_0x413a6b=_0x413a6b-0x1cd;const _0x1da294=a119_0x1da2();let _0x91c53a=_0x1da294[_0x413a6b];return _0x91c53a;}export async function writeMenuDeletePlan(_0x45631b,_0x698c73){const _0x4106c5=a119_0x91c5,_0x229bfb=resolvePlanPath(_0x45631b,'plan-out');await mkdir(dirname(_0x229bfb),{'recursive':!![]});try{await writeFile(_0x229bfb,JSON[_0x4106c5(0x1ff)](_0x698c73,null,0x2)+'\x0a',{'encoding':_0x4106c5(0x217),'flag':'wx'});}catch(_0x28a636){if(_0x28a636[_0x4106c5(0x223)]==='EEXIST')throw menuError(_0x4106c5(0x1d9),_0x4106c5(0x22d)+_0x229bfb,_0x4106c5(0x213));throw menuError(_0x4106c5(0x1d6),'Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x229bfb+':\x20'+errorMessage(_0x28a636));}return _0x229bfb;}export async function readMenuDeletePlan(_0x15c4e7){const _0x1d7957=a119_0x91c5,_0xad06c=resolvePlanPath(_0x15c4e7,'plan');let _0x1cf0ce;try{_0x1cf0ce=(await stat(_0xad06c))[_0x1d7957(0x1d8)];}catch(_0x17dbd0){throw menuError(_0x1d7957(0x209),_0x1d7957(0x1d5)+_0xad06c+':\x20'+errorMessage(_0x17dbd0));}if(_0x1cf0ce>MAX_PLAN_BYTES)throw menuError('menu_plan_invalid',_0x1d7957(0x1db)+_0x1cf0ce+'\x20bytes.');let _0x20c581;try{_0x20c581=JSON['parse'](await readFile(_0xad06c,'utf8'));}catch(_0x1ef463){throw menuError(_0x1d7957(0x209),_0x1d7957(0x1dd)+errorMessage(_0x1ef463));}if(!isMenuDeletePlanFile(_0x20c581))throw menuError(_0x1d7957(0x209),_0x1d7957(0x1ef)+PLAN_VERSION+_0x1d7957(0x1d4)+PLAN_COMMAND+_0x1d7957(0x1f9));if(!sameFingerprint(_0x20c581[_0x1d7957(0x1fd)],fingerprint(_0x20c581['target'])))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.',_0x1d7957(0x226));if(!_0x20c581[_0x1d7957(0x1ee)][_0x1d7957(0x20d)]((_0x5d0386,_0x2c1113)=>sameFingerprint(_0x20c581[_0x1d7957(0x225)][_0x2c1113],fingerprint(_0x5d0386)))||!sameFingerprint(_0x20c581['targetFingerprint'],fingerprint(_0x20c581[_0x1d7957(0x1ee)][_0x20c581[_0x1d7957(0x1ee)][_0x1d7957(0x1d2)]-0x1])))throw menuError(_0x1d7957(0x209),'Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.',_0x1d7957(0x226));return{'path':_0xad06c,'plan':_0x20c581};}export function mutationPlanFromDeleteFile(_0x4a0886,_0x5f233c){const _0x2a5856=a119_0x91c5;return mutationResult({'operation':_0x2a5856(0x1f7),'selector':{'id':_0x4a0886[_0x2a5856(0x1fb)]['id'],'recursive':_0x4a0886['recursive']},'before':_0x4a0886[_0x2a5856(0x1fb)],'after':null,'dryRun':![],'backend':[{'method':'POST','path':'/smartapi/menu/batchDelete'}],'plannedActions':[{'stage':_0x2a5856(0x1f1),'method':_0x2a5856(0x21e),'path':_0x2a5856(0x20f),'body':{'idList':_0x4a0886[_0x2a5856(0x21c)]}}],'targets':_0x4a0886[_0x2a5856(0x1ee)],'deleteOrder':_0x4a0886[_0x2a5856(0x21c)],'snapshotHash':_0x4a0886[_0x2a5856(0x207)],'cascade':_0x4a0886[_0x2a5856(0x22b)],'planFile':{'path':_0x5f233c,'createdAt':_0x4a0886[_0x2a5856(0x203)],'expiresAt':_0x4a0886[_0x2a5856(0x22a)]},'warnings':_0x4a0886[_0x2a5856(0x22e)]});}export function assertMenuDeletePlanCurrent(_0x16d6fd,_0x41a15e,_0x1efa3d,_0x124e67=new Date()){const _0x268c68=a119_0x91c5;assertMenuDeletePlanExecutable(_0x16d6fd,_0x41a15e,_0x124e67);if(_0x1efa3d['hash']!==_0x16d6fd[_0x268c68(0x207)])throw menuError(_0x268c68(0x20e),_0x268c68(0x227),_0x268c68(0x221));return _0x16d6fd['targets']['map']((_0x1d7aa0,_0x1f2bd2)=>{const _0x3b3f64=_0x268c68,_0x211803=_0x1efa3d['byId']['get'](_0x1d7aa0['id']);if(!_0x211803)throw menuError(_0x3b3f64(0x20e),_0x3b3f64(0x215)+_0x1d7aa0['id']+_0x3b3f64(0x1da));if(!sameFingerprint(_0x16d6fd[_0x3b3f64(0x225)][_0x1f2bd2],fingerprint(_0x211803)))throw menuError('menu_state_drift',_0x3b3f64(0x215)+_0x1d7aa0['id']+'\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.',_0x3b3f64(0x1cd));return _0x211803;});}export function assertMenuDeletePlanExecutable(_0x54380b,_0x57d20b,_0x106d65=new Date()){const _0x1b7f10=a119_0x91c5;if(_0x54380b[_0x1b7f10(0x1e0)]!==_0x57d20b)throw menuError(_0x1b7f10(0x210),'Menu\x20delete\x20plan\x20targets\x20app\x20'+JSON[_0x1b7f10(0x1ff)](_0x54380b[_0x1b7f10(0x1e0)])+_0x1b7f10(0x21d)+JSON[_0x1b7f10(0x1ff)](_0x57d20b)+'.');const _0x2e356a=Date['parse'](_0x54380b[_0x1b7f10(0x203)]),_0xad509e=Date['parse'](_0x54380b['expiresAt']);if(!Number[_0x1b7f10(0x1f0)](_0x2e356a)||!Number['isFinite'](_0xad509e)||_0xad509e-_0x2e356a!==PLAN_TTL_MS)throw menuError(_0x1b7f10(0x209),_0x1b7f10(0x222));if(_0x2e356a>_0x106d65[_0x1b7f10(0x1d1)]())throw menuError(_0x1b7f10(0x209),_0x1b7f10(0x202)+_0x54380b[_0x1b7f10(0x203)]+'\x20is\x20in\x20the\x20future.','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.');if(_0x106d65[_0x1b7f10(0x1d1)]()>_0xad509e)throw menuError('menu_plan_expired','Menu\x20delete\x20plan\x20expired\x20at\x20'+_0x54380b[_0x1b7f10(0x22a)]+'.',_0x1b7f10(0x1f6));}function fingerprint(_0x335754){const _0x2dc356=a119_0x91c5;return{'id':_0x335754['id'],'parentId':_0x335754[_0x2dc356(0x1e7)],'depth':_0x335754[_0x2dc356(0x205)],'label':_0x335754[_0x2dc356(0x201)],'path':_0x335754[_0x2dc356(0x206)],'type':_0x335754[_0x2dc356(0x204)],'visible':_0x335754['visible'],'sort':_0x335754[_0x2dc356(0x1e6)],'pageId':_0x335754[_0x2dc356(0x1df)],'pageType':_0x335754[_0x2dc356(0x218)],'modelType':_0x335754[_0x2dc356(0x1cf)],'datasetId':_0x335754['datasetId'],'datasetCode':_0x335754[_0x2dc356(0x1e1)],'childrenIds':[..._0x335754[_0x2dc356(0x1de)]],'childrenCount':_0x335754[_0x2dc356(0x228)],'resourcesValid':_0x335754[_0x2dc356(0x220)],'resourcesHash':hashValue(_0x335754[_0x2dc356(0x20a)]),'extendHash':hashValue(_0x335754[_0x2dc356(0x21f)]??null),'updateTime':_0x335754['updateTime']};}function hashValue(_0x43f261){const _0x2956cc=a119_0x91c5;return createHash('sha256')[_0x2956cc(0x1ec)](JSON[_0x2956cc(0x1ff)](_0x43f261))[_0x2956cc(0x1ea)]('hex');}function sameFingerprint(_0x1c49e7,_0x3678ac){const _0x5e20be=a119_0x91c5;return JSON['stringify'](_0x1c49e7)===JSON[_0x5e20be(0x1ff)](_0x3678ac);}function resolvePlanPath(_0x55c742,_0x304e43){const _0x2cf22a=a119_0x91c5,_0x139dd1=_0x55c742[_0x2cf22a(0x212)]();if(!_0x139dd1)throw menuError('menu_plan_invalid','--'+_0x304e43+_0x2cf22a(0x229));return resolve(_0x139dd1);}function isMenuDeletePlanFile(_0x40681a){const _0x3a0365=a119_0x91c5;if(!isRecord(_0x40681a))return![];return _0x40681a[_0x3a0365(0x214)]===PLAN_VERSION&&_0x40681a[_0x3a0365(0x21b)]===PLAN_COMMAND&&typeof _0x40681a[_0x3a0365(0x1e0)]===_0x3a0365(0x1f8)&&_0x40681a['appCode'][_0x3a0365(0x1d2)]>0x0&&typeof _0x40681a[_0x3a0365(0x203)]===_0x3a0365(0x1f8)&&typeof _0x40681a[_0x3a0365(0x22a)]===_0x3a0365(0x1f8)&&typeof _0x40681a[_0x3a0365(0x207)]===_0x3a0365(0x1f8)&&/^sha256:[a-f0-9]{64}$/[_0x3a0365(0x1e2)](_0x40681a[_0x3a0365(0x207)])&&typeof _0x40681a[_0x3a0365(0x21a)]===_0x3a0365(0x1e9)&&isMenuFact(_0x40681a[_0x3a0365(0x1fb)])&&isTargetFingerprint(_0x40681a[_0x3a0365(0x1fd)])&&Array[_0x3a0365(0x1e5)](_0x40681a[_0x3a0365(0x1ee)])&&_0x40681a[_0x3a0365(0x1ee)]['length']>0x0&&_0x40681a['targets'][_0x3a0365(0x20d)](isMenuFact)&&Array[_0x3a0365(0x1e5)](_0x40681a[_0x3a0365(0x225)])&&_0x40681a['targetFingerprints'][_0x3a0365(0x1d2)]===_0x40681a[_0x3a0365(0x1ee)][_0x3a0365(0x1d2)]&&_0x40681a[_0x3a0365(0x225)][_0x3a0365(0x20d)](isTargetFingerprint)&&Array[_0x3a0365(0x1e5)](_0x40681a['deleteOrder'])&&_0x40681a[_0x3a0365(0x21c)][_0x3a0365(0x1d2)]===_0x40681a[_0x3a0365(0x1ee)][_0x3a0365(0x1d2)]&&_0x40681a['deleteOrder']['every'](isPositiveInteger)&&new Set(_0x40681a[_0x3a0365(0x21c)])['size']===_0x40681a[_0x3a0365(0x21c)][_0x3a0365(0x1d2)]&&_0x40681a[_0x3a0365(0x1ee)][_0x3a0365(0x20d)]((_0x2fc7b6,_0x1cb3f2)=>_0x2fc7b6['id']===_0x40681a[_0x3a0365(0x21c)][_0x1cb3f2])&&_0x40681a[_0x3a0365(0x1ee)][_0x40681a[_0x3a0365(0x1ee)][_0x3a0365(0x1d2)]-0x1]?.['id']===_0x40681a[_0x3a0365(0x1fb)]['id']&&isRecord(_0x40681a[_0x3a0365(0x22b)])&&Array['isArray'](_0x40681a[_0x3a0365(0x22b)]['pages'])&&_0x40681a[_0x3a0365(0x22b)][_0x3a0365(0x211)][_0x3a0365(0x20d)](isPositiveInteger)&&typeof _0x40681a[_0x3a0365(0x22b)][_0x3a0365(0x216)]===_0x3a0365(0x1e9)&&Array[_0x3a0365(0x1e5)](_0x40681a['warnings'])&&_0x40681a[_0x3a0365(0x22e)][_0x3a0365(0x20d)](_0x4ed362=>typeof _0x4ed362===_0x3a0365(0x1f8));}function isMenuFact(_0x20904f){const _0x10ae7c=a119_0x91c5;if(!isRecord(_0x20904f))return![];return isPositiveInteger(_0x20904f['id'])&&(_0x20904f[_0x10ae7c(0x1e7)]===null||isPositiveInteger(_0x20904f['parentId']))&&Number[_0x10ae7c(0x20b)](_0x20904f[_0x10ae7c(0x205)])&&_0x20904f[_0x10ae7c(0x205)]>=0x0&&typeof _0x20904f[_0x10ae7c(0x201)]==='string'&&typeof _0x20904f[_0x10ae7c(0x206)]===_0x10ae7c(0x1f8)&&typeof _0x20904f[_0x10ae7c(0x204)]===_0x10ae7c(0x1f8)&&(_0x20904f[_0x10ae7c(0x1fa)]===null||typeof _0x20904f[_0x10ae7c(0x1fa)]===_0x10ae7c(0x1e9))&&(_0x20904f['sort']===null||Number[_0x10ae7c(0x20b)](_0x20904f['sort']))&&Array['isArray'](_0x20904f['resources'])&&_0x20904f['resources'][_0x10ae7c(0x20d)](_0x426a1a=>typeof _0x426a1a===_0x10ae7c(0x1f8))&&typeof _0x20904f['resourcesValid']===_0x10ae7c(0x1e9)&&Array[_0x10ae7c(0x1e5)](_0x20904f[_0x10ae7c(0x1de)])&&_0x20904f[_0x10ae7c(0x1de)][_0x10ae7c(0x20d)](isPositiveInteger)&&Number[_0x10ae7c(0x20b)](_0x20904f[_0x10ae7c(0x228)])&&_0x20904f[_0x10ae7c(0x228)]>=0x0&&(_0x20904f[_0x10ae7c(0x1df)]===null||isPositiveInteger(_0x20904f['pageId']))&&typeof _0x20904f[_0x10ae7c(0x218)]==='string'&&typeof _0x20904f['modelType']===_0x10ae7c(0x1f8)&&(_0x20904f[_0x10ae7c(0x1d3)]===null||isPositiveInteger(_0x20904f[_0x10ae7c(0x1d3)]))&&typeof _0x20904f[_0x10ae7c(0x1e1)]===_0x10ae7c(0x1f8)&&(_0x20904f[_0x10ae7c(0x224)]===null||typeof _0x20904f['updateUserId']==='string')&&(_0x20904f[_0x10ae7c(0x1e8)]===null||typeof _0x20904f['updateUserName']===_0x10ae7c(0x1f8))&&(_0x20904f[_0x10ae7c(0x22c)]===null||typeof _0x20904f[_0x10ae7c(0x22c)]==='string'||typeof _0x20904f[_0x10ae7c(0x22c)]===_0x10ae7c(0x1fc))&&(_0x20904f[_0x10ae7c(0x21f)]===undefined||_0x20904f[_0x10ae7c(0x21f)]===null||isRecord(_0x20904f[_0x10ae7c(0x21f)]));}function isTargetFingerprint(_0x2a6d96){const _0x3c494b=a119_0x91c5;if(!isRecord(_0x2a6d96))return![];return isPositiveInteger(_0x2a6d96['id'])&&(_0x2a6d96[_0x3c494b(0x1e7)]===null||isPositiveInteger(_0x2a6d96['parentId']))&&Number[_0x3c494b(0x20b)](_0x2a6d96['depth'])&&_0x2a6d96[_0x3c494b(0x205)]>=0x0&&typeof _0x2a6d96['label']==='string'&&typeof _0x2a6d96[_0x3c494b(0x206)]===_0x3c494b(0x1f8)&&typeof _0x2a6d96['type']===_0x3c494b(0x1f8)&&(_0x2a6d96['visible']===null||typeof _0x2a6d96['visible']===_0x3c494b(0x1e9))&&(_0x2a6d96[_0x3c494b(0x1e6)]===null||Number[_0x3c494b(0x20b)](_0x2a6d96[_0x3c494b(0x1e6)]))&&(_0x2a6d96[_0x3c494b(0x1df)]===null||isPositiveInteger(_0x2a6d96[_0x3c494b(0x1df)]))&&typeof _0x2a6d96[_0x3c494b(0x218)]===_0x3c494b(0x1f8)&&typeof _0x2a6d96[_0x3c494b(0x1cf)]==='string'&&(_0x2a6d96[_0x3c494b(0x1d3)]===null||isPositiveInteger(_0x2a6d96[_0x3c494b(0x1d3)]))&&typeof _0x2a6d96['datasetCode']==='string'&&Array[_0x3c494b(0x1e5)](_0x2a6d96['childrenIds'])&&_0x2a6d96['childrenIds'][_0x3c494b(0x20d)](isPositiveInteger)&&Number[_0x3c494b(0x20b)](_0x2a6d96[_0x3c494b(0x228)])&&_0x2a6d96[_0x3c494b(0x228)]>=0x0&&typeof _0x2a6d96[_0x3c494b(0x220)]===_0x3c494b(0x1e9)&&typeof _0x2a6d96[_0x3c494b(0x1f2)]===_0x3c494b(0x1f8)&&/^[a-f0-9]{64}$/[_0x3c494b(0x1e2)](_0x2a6d96[_0x3c494b(0x1f2)])&&typeof _0x2a6d96[_0x3c494b(0x1dc)]===_0x3c494b(0x1f8)&&/^[a-f0-9]{64}$/['test'](_0x2a6d96['extendHash'])&&(_0x2a6d96['updateTime']===null||typeof _0x2a6d96[_0x3c494b(0x22c)]===_0x3c494b(0x1f8)||typeof _0x2a6d96[_0x3c494b(0x22c)]==='number');}function isRecord(_0x6e5974){const _0x5792bc=a119_0x91c5;return typeof _0x6e5974===_0x5792bc(0x1f5)&&_0x6e5974!==null&&!Array[_0x5792bc(0x1e5)](_0x6e5974);}function isPositiveInteger(_0xa634e3){const _0x164a9b=a119_0x91c5;return Number[_0x164a9b(0x1e3)](_0xa634e3)&&Number(_0xa634e3)>0x0;}function errorMessage(_0x3bb332){const _0x94907f=a119_0x91c5;return _0x3bb332 instanceof Error?_0x3bb332[_0x94907f(0x1d7)]:String(_0x3bb332);}
|
|
1
|
+
(function(_0x69a169,_0x5186c7){const _0x479ef8=a119_0xa51e,_0x438b8b=_0x69a169();while(!![]){try{const _0x1c8b79=parseInt(_0x479ef8(0x1a7))/0x1*(-parseInt(_0x479ef8(0x1b8))/0x2)+-parseInt(_0x479ef8(0x1b1))/0x3+-parseInt(_0x479ef8(0x1e8))/0x4*(-parseInt(_0x479ef8(0x1af))/0x5)+parseInt(_0x479ef8(0x1a8))/0x6+-parseInt(_0x479ef8(0x1d8))/0x7+-parseInt(_0x479ef8(0x1f3))/0x8+parseInt(_0x479ef8(0x196))/0x9;if(_0x1c8b79===_0x5186c7)break;else _0x438b8b['push'](_0x438b8b['shift']());}catch(_0x5a5d0e){_0x438b8b['push'](_0x438b8b['shift']());}}}(a119_0x24e3,0xb3b17));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';function a119_0x24e3(){const _0x55919c=['Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','toISOString','Failed\x20to\x20write\x20menu\x20delete\x20plan\x20','appCode','depth','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','parse','menu_plan_expired','sort','visible','selector','before','resourcesHash','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','trim','menu_plan_write_failed','batch-delete-menu','string','map','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','test','isFinite','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','command','isSafeInteger','snapshotHash','7039711kFOTJr','number','isInteger','path','deleteOrder','expiresAt','target','warnings','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','targetFingerprints','pageType','pageSchemaAffected','delete','childrenCount','menu_state_drift','size','1028648lcxVPd','isArray','EEXIST','childrenIds','getTime','plan','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','createdAt','hex','length','boolean','6866360vmAQXw','\x20of\x20the\x20','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','parentId','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','POST','17842347IHfsOn','menu_plan_file_exists','targetFingerprint','Menu\x20delete\x20plan\x20creation\x20time\x20','resourcesValid','updateUserId','label','stringify','updateUserName','Cannot\x20read\x20menu\x20delete\x20plan\x20','recursive','\x20is\x20in\x20the\x20future.','datasetId','utf8','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','byId','cascade','5470DAbwzS','7657998rbkFAG','updateTime','extend','hash','every','\x20contract.','pages','10MKeNUI','extendHash','3306117SJUUhJ','type','resources','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','datasetCode','\x20requires\x20a\x20non-empty\x20file\x20path.','modelType','26IiTrlN','pageId','targets','menu_plan_app_mismatch','menu_plan_invalid'];a119_0x24e3=function(){return _0x55919c;};return a119_0x24e3();}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(_0x2f7926,_0x465157,_0x1a5bc3=new Date()){const _0x35ee73=a119_0xa51e;if(!_0x465157[_0x35ee73(0x1c9)]||!isMenuFact(_0x465157[_0x35ee73(0x1c9)]))throw menuError(_0x35ee73(0x1bc),_0x35ee73(0x1e0));const _0x32d272=_0x465157['targets']?.['length']?_0x465157['targets']:[_0x465157[_0x35ee73(0x1c9)]],_0x5f242f=_0x465157[_0x35ee73(0x1dc)]?.['length']?_0x465157['deleteOrder']:_0x32d272[_0x35ee73(0x1d0)](_0x5a1fc2=>_0x5a1fc2['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x2f7926,'createdAt':_0x1a5bc3['toISOString'](),'expiresAt':new Date(_0x1a5bc3['getTime']()+PLAN_TTL_MS)[_0x35ee73(0x1bf)](),'snapshotHash':_0x465157[_0x35ee73(0x1d7)],'recursive':_0x465157[_0x35ee73(0x1c8)][_0x35ee73(0x1a0)]===!![],'target':_0x465157[_0x35ee73(0x1c9)],'targetFingerprint':fingerprint(_0x465157[_0x35ee73(0x1c9)]),'targets':_0x32d272,'targetFingerprints':_0x32d272[_0x35ee73(0x1d0)](fingerprint),'deleteOrder':_0x5f242f,'cascade':_0x465157['cascade']??{'pages':_0x465157[_0x35ee73(0x1c9)]['pageId']==null?[]:[_0x465157[_0x35ee73(0x1c9)][_0x35ee73(0x1b9)]],'pageSchemaAffected':_0x465157['before'][_0x35ee73(0x1b9)]!=null},'warnings':[..._0x465157['warnings']]};}export async function writeMenuDeletePlan(_0x58d6af,_0x1dea91){const _0x26a0d7=a119_0xa51e,_0x32dcaf=resolvePlanPath(_0x58d6af,'plan-out');await mkdir(dirname(_0x32dcaf),{'recursive':!![]});try{await writeFile(_0x32dcaf,JSON['stringify'](_0x1dea91,null,0x2)+'\x0a',{'encoding':_0x26a0d7(0x1a3),'flag':'wx'});}catch(_0x33a102){if(_0x33a102['code']===_0x26a0d7(0x1ea))throw menuError(_0x26a0d7(0x197),'Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20'+_0x32dcaf,'Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.');throw menuError(_0x26a0d7(0x1cd),_0x26a0d7(0x1c0)+_0x32dcaf+':\x20'+errorMessage(_0x33a102));}return _0x32dcaf;}export async function readMenuDeletePlan(_0x170c10){const _0x47197c=a119_0xa51e,_0x935f7c=resolvePlanPath(_0x170c10,_0x47197c(0x1ed));let _0x21a160;try{_0x21a160=(await stat(_0x935f7c))[_0x47197c(0x1e7)];}catch(_0x489eea){throw menuError(_0x47197c(0x1bc),_0x47197c(0x19f)+_0x935f7c+':\x20'+errorMessage(_0x489eea));}if(_0x21a160>MAX_PLAN_BYTES)throw menuError(_0x47197c(0x1bc),'Menu\x20delete\x20plan\x20is\x20too\x20large:\x20'+_0x21a160+'\x20bytes.');let _0xb2577e;try{_0xb2577e=JSON[_0x47197c(0x1c4)](await readFile(_0x935f7c,_0x47197c(0x1a3)));}catch(_0x16add4){throw menuError(_0x47197c(0x1bc),_0x47197c(0x1d1)+errorMessage(_0x16add4));}if(!isMenuDeletePlanFile(_0xb2577e))throw menuError(_0x47197c(0x1bc),'Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20'+PLAN_VERSION+_0x47197c(0x1f4)+PLAN_COMMAND+_0x47197c(0x1ad));if(!sameFingerprint(_0xb2577e[_0x47197c(0x198)],fingerprint(_0xb2577e['target'])))throw menuError('menu_plan_invalid',_0x47197c(0x1c3),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.');if(!_0xb2577e[_0x47197c(0x1ba)][_0x47197c(0x1ac)]((_0x4ba4cb,_0x4aa9cb)=>sameFingerprint(_0xb2577e[_0x47197c(0x1e1)][_0x4aa9cb],fingerprint(_0x4ba4cb)))||!sameFingerprint(_0xb2577e[_0x47197c(0x198)],fingerprint(_0xb2577e['targets'][_0xb2577e['targets'][_0x47197c(0x1f1)]-0x1])))throw menuError('menu_plan_invalid',_0x47197c(0x1cb),_0x47197c(0x1a4));return{'path':_0x935f7c,'plan':_0xb2577e};}function a119_0xa51e(_0x23b913,_0x4f769d){_0x23b913=_0x23b913-0x193;const _0x24e3bb=a119_0x24e3();let _0xa51e65=_0x24e3bb[_0x23b913];return _0xa51e65;}export function mutationPlanFromDeleteFile(_0x277c0c,_0x38f8f0){const _0x27fbb2=a119_0xa51e;return mutationResult({'operation':_0x27fbb2(0x1e4),'selector':{'id':_0x277c0c[_0x27fbb2(0x1de)]['id'],'recursive':_0x277c0c[_0x27fbb2(0x1a0)]},'before':_0x277c0c[_0x27fbb2(0x1de)],'after':null,'dryRun':![],'backend':[{'method':_0x27fbb2(0x195),'path':'/smartapi/menu/batchDelete'}],'plannedActions':[{'stage':_0x27fbb2(0x1ce),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x277c0c[_0x27fbb2(0x1dc)]}}],'targets':_0x277c0c[_0x27fbb2(0x1ba)],'deleteOrder':_0x277c0c[_0x27fbb2(0x1dc)],'snapshotHash':_0x277c0c[_0x27fbb2(0x1d7)],'cascade':_0x277c0c['cascade'],'planFile':{'path':_0x38f8f0,'createdAt':_0x277c0c[_0x27fbb2(0x1ef)],'expiresAt':_0x277c0c['expiresAt']},'warnings':_0x277c0c[_0x27fbb2(0x1df)]});}export function assertMenuDeletePlanCurrent(_0x4b43e3,_0x4ab25f,_0x4a9d95,_0x589b81=new Date()){const _0x2dc7fc=a119_0xa51e;assertMenuDeletePlanExecutable(_0x4b43e3,_0x4ab25f,_0x589b81);if(_0x4a9d95[_0x2dc7fc(0x1ab)]!==_0x4b43e3['snapshotHash'])throw menuError(_0x2dc7fc(0x1e6),_0x2dc7fc(0x1b4),_0x2dc7fc(0x194));return _0x4b43e3[_0x2dc7fc(0x1ba)]['map']((_0x17cf12,_0x29b3d3)=>{const _0x4bac65=_0x2dc7fc,_0x3c6a2e=_0x4a9d95[_0x4bac65(0x1a5)]['get'](_0x17cf12['id']);if(!_0x3c6a2e)throw menuError(_0x4bac65(0x1e6),'Planned\x20menu\x20'+_0x17cf12['id']+_0x4bac65(0x1ee));if(!sameFingerprint(_0x4b43e3[_0x4bac65(0x1e1)][_0x29b3d3],fingerprint(_0x3c6a2e)))throw menuError(_0x4bac65(0x1e6),'Planned\x20menu\x20'+_0x17cf12['id']+_0x4bac65(0x1f5),'Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.');return _0x3c6a2e;});}export function assertMenuDeletePlanExecutable(_0x506dd9,_0x1ce106,_0x192959=new Date()){const _0x362533=a119_0xa51e;if(_0x506dd9['appCode']!==_0x1ce106)throw menuError(_0x362533(0x1bb),'Menu\x20delete\x20plan\x20targets\x20app\x20'+JSON['stringify'](_0x506dd9[_0x362533(0x1c1)])+',\x20current\x20app\x20is\x20'+JSON[_0x362533(0x19d)](_0x1ce106)+'.');const _0x4e9878=Date[_0x362533(0x1c4)](_0x506dd9[_0x362533(0x1ef)]),_0xbb4270=Date['parse'](_0x506dd9[_0x362533(0x1dd)]);if(!Number[_0x362533(0x1d3)](_0x4e9878)||!Number[_0x362533(0x1d3)](_0xbb4270)||_0xbb4270-_0x4e9878!==PLAN_TTL_MS)throw menuError(_0x362533(0x1bc),_0x362533(0x1bd));if(_0x4e9878>_0x192959['getTime']())throw menuError(_0x362533(0x1bc),_0x362533(0x199)+_0x506dd9['createdAt']+_0x362533(0x1a1),_0x362533(0x1be));if(_0x192959[_0x362533(0x1ec)]()>_0xbb4270)throw menuError(_0x362533(0x1c5),'Menu\x20delete\x20plan\x20expired\x20at\x20'+_0x506dd9[_0x362533(0x1dd)]+'.',_0x362533(0x1d4));}function fingerprint(_0x17a1a5){const _0x3b7e83=a119_0xa51e;return{'id':_0x17a1a5['id'],'parentId':_0x17a1a5['parentId'],'depth':_0x17a1a5[_0x3b7e83(0x1c2)],'label':_0x17a1a5['label'],'path':_0x17a1a5[_0x3b7e83(0x1db)],'type':_0x17a1a5[_0x3b7e83(0x1b2)],'visible':_0x17a1a5[_0x3b7e83(0x1c7)],'sort':_0x17a1a5[_0x3b7e83(0x1c6)],'pageId':_0x17a1a5[_0x3b7e83(0x1b9)],'pageType':_0x17a1a5[_0x3b7e83(0x1e2)],'modelType':_0x17a1a5[_0x3b7e83(0x1b7)],'datasetId':_0x17a1a5[_0x3b7e83(0x1a2)],'datasetCode':_0x17a1a5['datasetCode'],'childrenIds':[..._0x17a1a5[_0x3b7e83(0x1eb)]],'childrenCount':_0x17a1a5['childrenCount'],'resourcesValid':_0x17a1a5[_0x3b7e83(0x19a)],'resourcesHash':hashValue(_0x17a1a5['resources']),'extendHash':hashValue(_0x17a1a5[_0x3b7e83(0x1aa)]??null),'updateTime':_0x17a1a5[_0x3b7e83(0x1a9)]};}function hashValue(_0x299dce){const _0x561b2b=a119_0xa51e;return createHash('sha256')['update'](JSON[_0x561b2b(0x19d)](_0x299dce))['digest'](_0x561b2b(0x1f0));}function sameFingerprint(_0x42162b,_0x88b116){const _0x1f7ec5=a119_0xa51e;return JSON[_0x1f7ec5(0x19d)](_0x42162b)===JSON[_0x1f7ec5(0x19d)](_0x88b116);}function resolvePlanPath(_0x16c1be,_0x490734){const _0x53d52b=a119_0xa51e,_0x178d7e=_0x16c1be[_0x53d52b(0x1cc)]();if(!_0x178d7e)throw menuError('menu_plan_invalid','--'+_0x490734+_0x53d52b(0x1b6));return resolve(_0x178d7e);}function isMenuDeletePlanFile(_0x382c03){const _0x19928f=a119_0xa51e;if(!isRecord(_0x382c03))return![];return _0x382c03['version']===PLAN_VERSION&&_0x382c03[_0x19928f(0x1d5)]===PLAN_COMMAND&&typeof _0x382c03['appCode']==='string'&&_0x382c03[_0x19928f(0x1c1)][_0x19928f(0x1f1)]>0x0&&typeof _0x382c03[_0x19928f(0x1ef)]===_0x19928f(0x1cf)&&typeof _0x382c03[_0x19928f(0x1dd)]===_0x19928f(0x1cf)&&typeof _0x382c03[_0x19928f(0x1d7)]===_0x19928f(0x1cf)&&/^sha256:[a-f0-9]{64}$/['test'](_0x382c03['snapshotHash'])&&typeof _0x382c03['recursive']===_0x19928f(0x1f2)&&isMenuFact(_0x382c03['target'])&&isTargetFingerprint(_0x382c03[_0x19928f(0x198)])&&Array['isArray'](_0x382c03[_0x19928f(0x1ba)])&&_0x382c03[_0x19928f(0x1ba)]['length']>0x0&&_0x382c03[_0x19928f(0x1ba)][_0x19928f(0x1ac)](isMenuFact)&&Array[_0x19928f(0x1e9)](_0x382c03[_0x19928f(0x1e1)])&&_0x382c03[_0x19928f(0x1e1)][_0x19928f(0x1f1)]===_0x382c03[_0x19928f(0x1ba)][_0x19928f(0x1f1)]&&_0x382c03[_0x19928f(0x1e1)][_0x19928f(0x1ac)](isTargetFingerprint)&&Array[_0x19928f(0x1e9)](_0x382c03['deleteOrder'])&&_0x382c03[_0x19928f(0x1dc)][_0x19928f(0x1f1)]===_0x382c03['targets'][_0x19928f(0x1f1)]&&_0x382c03[_0x19928f(0x1dc)][_0x19928f(0x1ac)](isPositiveInteger)&&new Set(_0x382c03['deleteOrder'])[_0x19928f(0x1e7)]===_0x382c03['deleteOrder'][_0x19928f(0x1f1)]&&_0x382c03['targets']['every']((_0x248aab,_0x5f188f)=>_0x248aab['id']===_0x382c03[_0x19928f(0x1dc)][_0x5f188f])&&_0x382c03[_0x19928f(0x1ba)][_0x382c03[_0x19928f(0x1ba)][_0x19928f(0x1f1)]-0x1]?.['id']===_0x382c03[_0x19928f(0x1de)]['id']&&isRecord(_0x382c03[_0x19928f(0x1a6)])&&Array['isArray'](_0x382c03[_0x19928f(0x1a6)]['pages'])&&_0x382c03['cascade'][_0x19928f(0x1ae)][_0x19928f(0x1ac)](isPositiveInteger)&&typeof _0x382c03[_0x19928f(0x1a6)][_0x19928f(0x1e3)]===_0x19928f(0x1f2)&&Array[_0x19928f(0x1e9)](_0x382c03[_0x19928f(0x1df)])&&_0x382c03[_0x19928f(0x1df)]['every'](_0x2792ab=>typeof _0x2792ab==='string');}function isMenuFact(_0x5b9965){const _0x37d523=a119_0xa51e;if(!isRecord(_0x5b9965))return![];return isPositiveInteger(_0x5b9965['id'])&&(_0x5b9965[_0x37d523(0x193)]===null||isPositiveInteger(_0x5b9965[_0x37d523(0x193)]))&&Number[_0x37d523(0x1da)](_0x5b9965[_0x37d523(0x1c2)])&&_0x5b9965['depth']>=0x0&&typeof _0x5b9965[_0x37d523(0x19c)]===_0x37d523(0x1cf)&&typeof _0x5b9965[_0x37d523(0x1db)]===_0x37d523(0x1cf)&&typeof _0x5b9965[_0x37d523(0x1b2)]==='string'&&(_0x5b9965['visible']===null||typeof _0x5b9965[_0x37d523(0x1c7)]===_0x37d523(0x1f2))&&(_0x5b9965['sort']===null||Number['isInteger'](_0x5b9965[_0x37d523(0x1c6)]))&&Array[_0x37d523(0x1e9)](_0x5b9965['resources'])&&_0x5b9965[_0x37d523(0x1b3)][_0x37d523(0x1ac)](_0x97e65=>typeof _0x97e65==='string')&&typeof _0x5b9965[_0x37d523(0x19a)]===_0x37d523(0x1f2)&&Array[_0x37d523(0x1e9)](_0x5b9965[_0x37d523(0x1eb)])&&_0x5b9965['childrenIds'][_0x37d523(0x1ac)](isPositiveInteger)&&Number['isInteger'](_0x5b9965['childrenCount'])&&_0x5b9965['childrenCount']>=0x0&&(_0x5b9965[_0x37d523(0x1b9)]===null||isPositiveInteger(_0x5b9965[_0x37d523(0x1b9)]))&&typeof _0x5b9965[_0x37d523(0x1e2)]===_0x37d523(0x1cf)&&typeof _0x5b9965[_0x37d523(0x1b7)]===_0x37d523(0x1cf)&&(_0x5b9965[_0x37d523(0x1a2)]===null||isPositiveInteger(_0x5b9965[_0x37d523(0x1a2)]))&&typeof _0x5b9965[_0x37d523(0x1b5)]===_0x37d523(0x1cf)&&(_0x5b9965['updateUserId']===null||typeof _0x5b9965[_0x37d523(0x19b)]==='string')&&(_0x5b9965[_0x37d523(0x19e)]===null||typeof _0x5b9965[_0x37d523(0x19e)]===_0x37d523(0x1cf))&&(_0x5b9965[_0x37d523(0x1a9)]===null||typeof _0x5b9965[_0x37d523(0x1a9)]==='string'||typeof _0x5b9965[_0x37d523(0x1a9)]===_0x37d523(0x1d9))&&(_0x5b9965[_0x37d523(0x1aa)]===undefined||_0x5b9965['extend']===null||isRecord(_0x5b9965['extend']));}function isTargetFingerprint(_0x4a16f8){const _0x521ccf=a119_0xa51e;if(!isRecord(_0x4a16f8))return![];return isPositiveInteger(_0x4a16f8['id'])&&(_0x4a16f8[_0x521ccf(0x193)]===null||isPositiveInteger(_0x4a16f8[_0x521ccf(0x193)]))&&Number[_0x521ccf(0x1da)](_0x4a16f8[_0x521ccf(0x1c2)])&&_0x4a16f8[_0x521ccf(0x1c2)]>=0x0&&typeof _0x4a16f8[_0x521ccf(0x19c)]===_0x521ccf(0x1cf)&&typeof _0x4a16f8[_0x521ccf(0x1db)]===_0x521ccf(0x1cf)&&typeof _0x4a16f8[_0x521ccf(0x1b2)]===_0x521ccf(0x1cf)&&(_0x4a16f8[_0x521ccf(0x1c7)]===null||typeof _0x4a16f8[_0x521ccf(0x1c7)]==='boolean')&&(_0x4a16f8['sort']===null||Number[_0x521ccf(0x1da)](_0x4a16f8[_0x521ccf(0x1c6)]))&&(_0x4a16f8['pageId']===null||isPositiveInteger(_0x4a16f8[_0x521ccf(0x1b9)]))&&typeof _0x4a16f8['pageType']===_0x521ccf(0x1cf)&&typeof _0x4a16f8[_0x521ccf(0x1b7)]===_0x521ccf(0x1cf)&&(_0x4a16f8[_0x521ccf(0x1a2)]===null||isPositiveInteger(_0x4a16f8[_0x521ccf(0x1a2)]))&&typeof _0x4a16f8[_0x521ccf(0x1b5)]==='string'&&Array[_0x521ccf(0x1e9)](_0x4a16f8[_0x521ccf(0x1eb)])&&_0x4a16f8[_0x521ccf(0x1eb)]['every'](isPositiveInteger)&&Number['isInteger'](_0x4a16f8[_0x521ccf(0x1e5)])&&_0x4a16f8['childrenCount']>=0x0&&typeof _0x4a16f8[_0x521ccf(0x19a)]===_0x521ccf(0x1f2)&&typeof _0x4a16f8[_0x521ccf(0x1ca)]===_0x521ccf(0x1cf)&&/^[a-f0-9]{64}$/[_0x521ccf(0x1d2)](_0x4a16f8[_0x521ccf(0x1ca)])&&typeof _0x4a16f8[_0x521ccf(0x1b0)]===_0x521ccf(0x1cf)&&/^[a-f0-9]{64}$/['test'](_0x4a16f8[_0x521ccf(0x1b0)])&&(_0x4a16f8['updateTime']===null||typeof _0x4a16f8[_0x521ccf(0x1a9)]==='string'||typeof _0x4a16f8['updateTime']===_0x521ccf(0x1d9));}function isRecord(_0x25dbca){const _0x590d96=a119_0xa51e;return typeof _0x25dbca==='object'&&_0x25dbca!==null&&!Array[_0x590d96(0x1e9)](_0x25dbca);}function isPositiveInteger(_0x554fd7){const _0x491e19=a119_0xa51e;return Number[_0x491e19(0x1d6)](_0x554fd7)&&Number(_0x554fd7)>0x0;}function errorMessage(_0x24ec94){return _0x24ec94 instanceof Error?_0x24ec94['message']:String(_0x24ec94);}
|