@lovrabet/rabetbase-cli 2.4.1-beta.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_0xa4d45f=a111_0x50e8;function a111_0x4655(){const _0x45d119=['hash','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','verification','\x20has\x20an\x20unexpected\x20sort.','menu_create_response_invalid','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','depth','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','67998WCcVVb','string','menu','trim','\x20has\x20resources.','sort','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','root','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','<platform-generated>','create-folder','Created\x20menu\x20folder\x20','path','parentId','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','group-create','\x20is\x20not\x20visible.','991136aGShiN','verify\x20folder\x20creation','Menu\x20create\x20response\x20for\x20folder\x20','create-response-validation','cookie','56CvEnwS','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','label','Created\x20menu\x20','Created\x20folder\x20','flagMissing','parent-id','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','create','create\x20folder','\x20is\x20not\x20type\x20folder.','2390760TlKUaS','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Folder\x20label','menu\x20list','\x22\x20with\x20a\x20platform-generated\x20path.','2505084eXfOez','10869aqaQDl','11652750UIOdnq','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder',';\x20verify\x20it\x20before\x20retrying.','type','rabetbase\x20menu\x20list\x20--format\x20json','appCode','length','POST','Folder\x20','failed','folder','\x20unexpectedly\x20owns\x20a\x20page.','296xnajhc','isSafeInteger','str','6769QvUHts','byId','resources'];a111_0x4655=function(){return _0x45d119;};return a111_0x4655();}function a111_0x50e8(_0x5c9989,_0x480f37){_0x5c9989=_0x5c9989-0xc7;const _0x4655b6=a111_0x4655();let _0x50e822=_0x4655b6[_0x5c9989];return _0x50e822;}(function(_0x33d2ad,_0x2cf19c){const _0x14ee6d=a111_0x50e8,_0x626e=_0x33d2ad();while(!![]){try{const _0x593b3e=-parseInt(_0x14ee6d(0xcc))/0x1*(parseInt(_0x14ee6d(0xed))/0x2)+parseInt(_0x14ee6d(0xfe))/0x3+-parseInt(_0x14ee6d(0xe8))/0x4+-parseInt(_0x14ee6d(0xf8))/0x5+-parseInt(_0x14ee6d(0xfd))/0x6+parseInt(_0x14ee6d(0xd7))/0x7*(parseInt(_0x14ee6d(0xc9))/0x8)+parseInt(_0x14ee6d(0xff))/0x9;if(_0x593b3e===_0x2cf19c)break;else _0x626e['push'](_0x626e['shift']());}catch(_0x334a68){_0x626e['push'](_0x626e['shift']());}}}(a111_0x4655,0x4f4c9));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':'POST','path':'/smartapi/menu/create'}];export const menuGroupCreate={'service':a111_0xa4d45f(0xd9),'command':a111_0xa4d45f(0xe6),'description':a111_0xa4d45f(0x100),'risk':'write','structuredErrors':!![],'flags':[{'name':a111_0xa4d45f(0xef),'type':a111_0xa4d45f(0xd8),'required':!![],'description':a111_0xa4d45f(0xfa)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4142fd){validateCreateInput(_0x4142fd);},async 'dryRun'(_0x3e609a){const _0x185a62=a111_0xa4d45f,_0xb96f7d=await buildCreatePlan(_0x3e609a,!![]),_0x4c2083=_0xb96f7d['after'];return menuDryRunResult(_0xb96f7d,{'method':_0x185a62(0x106),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x4c2083[_0x185a62(0xe4)]),'label':_0x4c2083[_0x185a62(0xef)],'type':_0x185a62(0xc7),'visible':!![],'sort':_0x4c2083['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x4c2083['label'])+_0x185a62(0xfc)});},async 'execute'(_0x430aac){const _0x838a7a=a111_0xa4d45f;validateCreateInput(_0x430aac);const _0x46e597=await buildCreatePlan(_0x430aac,![]),_0x2d1c29=_0x46e597['after'];await recheckMutationSnapshot(_0x430aac,_0x46e597,_0x838a7a(0xf6));let _0x56e794;try{_0x56e794=await createMenuEntity(_0x430aac[_0x838a7a(0x104)],_0x430aac['cookie'],{'parentId':toApiParentId(_0x2d1c29[_0x838a7a(0xe4)]),'label':String(_0x2d1c29[_0x838a7a(0xef)]),'type':_0x838a7a(0xc7),'visible':!![],'sort':Number(_0x2d1c29[_0x838a7a(0xdc)]),'extend':{}});}catch(_0x5840bb){const _0x4a0ca6=mapMenuApiError(_0x5840bb,_0x838a7a(0xf6));throw menuFailure(_0x4a0ca6,_0x46e597,{'stage':_0x838a7a(0xf5),'failed':{}});}const _0x57e842=Number(_0x56e794['id']);if(!Number[_0x838a7a(0xca)](_0x57e842)||_0x57e842<=0x0){const _0xca4256=menuError(_0x838a7a(0xd3),_0x838a7a(0xdd),_0x838a7a(0xe5));throw menuFailure(_0xca4256,_0x46e597,{'stage':_0x838a7a(0xeb),'failed':{'createdId':_0x56e794['id']??null},'warnings':[_0x838a7a(0xee)],'verification':{'status':_0x838a7a(0x108),'lookupCommand':_0x838a7a(0x103)}});}const _0x282ab5=typeof _0x56e794['path']==='string'?_0x56e794[_0x838a7a(0xe3)]:'';if(!_0x282ab5[_0x838a7a(0xda)]()){const _0x26448a=menuError(_0x838a7a(0xd3),_0x838a7a(0xea)+_0x57e842+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x26448a,_0x46e597,{'stage':_0x838a7a(0xeb),'succeeded':[{'id':_0x57e842,'created':!![]}],'failed':{'id':_0x57e842,'generatedPathConfirmed':![]},'warnings':[_0x838a7a(0x107)+_0x57e842+_0x838a7a(0xd6)],'after':{..._0x2d1c29,'id':_0x57e842,'path':_0x282ab5},'verification':{'status':'failed','lookupCommand':_0x838a7a(0x103),'targetId':_0x57e842}});}let _0x4358cb;try{_0x4358cb=await fetchMenuSnapshot(_0x430aac[_0x838a7a(0x104)],_0x430aac[_0x838a7a(0xec)]);}catch(_0x454085){const _0x21218d=describeMenuErrorCause(_0x454085,'verify\x20folder\x20creation',_0x57e842),_0x44292e=asVerificationError(_0x454085,_0x838a7a(0x107)+_0x57e842+_0x838a7a(0xdf));throw menuFailure(_0x44292e,_0x46e597,{'stage':_0x838a7a(0xd1),'succeeded':[{'id':_0x57e842,'created':!![],'path':_0x282ab5}],'failed':{'id':_0x57e842,'finalFactsConfirmed':![],..._0x21218d},'warnings':['Folder\x20'+_0x57e842+'\x20may\x20exist\x20online\x20at\x20path\x20'+JSON['stringify'](_0x282ab5)+_0x838a7a(0x101)],'after':{..._0x2d1c29,'id':_0x57e842,'path':_0x282ab5},'verification':{'status':_0x838a7a(0x108),'lookupCommand':_0x838a7a(0x103),'targetId':_0x57e842}});}const _0x167e5b=_0x4358cb[_0x838a7a(0xcd)]['get'](_0x57e842);let _0x526d7b;try{assertVerified(Boolean(_0x167e5b),'Created\x20folder\x20'+_0x57e842+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x526d7b=_0x167e5b,assertVerified(_0x526d7b[_0x838a7a(0x102)]==='folder',_0x838a7a(0xf0)+_0x57e842+_0x838a7a(0xf7)),assertVerified(_0x526d7b[_0x838a7a(0xef)]===_0x2d1c29[_0x838a7a(0xef)],_0x838a7a(0xf1)+_0x57e842+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x526d7b[_0x838a7a(0xe3)]===_0x282ab5&&Boolean(_0x526d7b[_0x838a7a(0xe3)]['trim']()),_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xf9)),assertVerified(_0x526d7b['visible']===!![],_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xe7)),assertVerified(_0x526d7b[_0x838a7a(0xce)][_0x838a7a(0x105)]===0x0,'Created\x20folder\x20'+_0x57e842+_0x838a7a(0xdb)),assertVerified(_0x526d7b['childrenCount']===0x0,_0x838a7a(0xf1)+_0x57e842+'\x20is\x20not\x20empty.'),assertVerified(_0x526d7b[_0x838a7a(0xdc)]===_0x2d1c29['sort'],'Created\x20folder\x20'+_0x57e842+_0x838a7a(0xd2)),assertVerified(_0x526d7b[_0x838a7a(0xe4)]===_0x2d1c29['parentId'],_0x838a7a(0xf1)+_0x57e842+'\x20has\x20unexpected\x20parent\x20'+(_0x526d7b[_0x838a7a(0xe4)]??_0x838a7a(0xde))+'.'),assertVerified(_0x526d7b['pageId']==null,_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xc8));const _0x2272a9=_0x526d7b[_0x838a7a(0xe4)]==null?undefined:requireFolder(_0x4358cb,_0x526d7b[_0x838a7a(0xe4)]);assertVerified(_0x526d7b[_0x838a7a(0xd5)]===(_0x2272a9?_0x2272a9['depth']+0x1:0x0),_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xd4));}catch(_0x4e71f5){const _0x7e9472=describeMenuErrorCause(_0x4e71f5,_0x838a7a(0xe9),_0x57e842),_0x30eb77=asVerificationError(_0x4e71f5,'Folder\x20'+_0x57e842+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x30eb77,_0x46e597,{'stage':_0x838a7a(0xd1),'succeeded':[{'id':_0x57e842,'created':!![],'path':_0x282ab5}],'failed':{'id':_0x57e842,'finalFactsConfirmed':![],..._0x7e9472},'warnings':[_0x838a7a(0x107)+_0x57e842+_0x838a7a(0xd0)],'after':_0x167e5b??{..._0x2d1c29,'id':_0x57e842,'path':_0x282ab5},'verification':{'status':_0x838a7a(0x108),'lookupCommand':_0x838a7a(0x103),'targetId':_0x57e842}});}const _0x36ab7d=mutationResult({..._0x46e597,'after':_0x526d7b,'dryRun':![],'succeeded':[{'id':_0x57e842,'type':_0x838a7a(0xc7),'path':_0x282ab5}],'verification':{'checkedBy':_0x838a7a(0xfb),'snapshotHash':_0x4358cb['hash'],'folder':!![],'path':_0x282ab5,'emptyResources':!![]}});return{'ok':!![],'data':_0x36ab7d,'message':_0x838a7a(0xe2)+_0x57e842+'.'};}};function validateCreateInput(_0x391f45){const _0x3f5a9a=a111_0xa4d45f,_0x1ea0e0=_0x391f45['str'](_0x3f5a9a(0xef))[_0x3f5a9a(0xda)]();if(!_0x1ea0e0)throw CliErrors[_0x3f5a9a(0xf2)](_0x3f5a9a(0xef));parseParentId(_0x391f45,'parent-id'),validateSort(_0x391f45);}async function buildCreatePlan(_0x2e2857,_0xa2943a){const _0x136b77=a111_0xa4d45f,_0x50564b=await fetchMutationSnapshot(_0x2e2857,_0x136b77(0xf6)),_0x4fa938=parseParentId(_0x2e2857,_0x136b77(0xf3))??null;if(_0x4fa938!=null)requireFolder(_0x50564b,_0x4fa938);const _0x4a515d=validateSort(_0x2e2857),_0x512b41=_0x4a515d??nextSiblingSort(_0x50564b,_0x4fa938,_0x136b77(0xc7)),_0xcefb07=_0x2e2857[_0x136b77(0xcb)](_0x136b77(0xef))[_0x136b77(0xda)]();return mutationResult({'operation':'group-create','selector':{'label':_0xcefb07,'parentId':_0x4fa938},'before':null,'after':{'id':null,'parentId':_0x4fa938,'label':_0xcefb07,'path':_0x136b77(0xe0),'type':_0x136b77(0xc7),'visible':!![],'sort':_0x512b41,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0xa2943a,'backend':[...BACKEND],'plannedActions':[{'stage':_0x136b77(0xe1),'method':_0x136b77(0x106),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x4fa938),'label':_0xcefb07,'type':_0x136b77(0xc7),'visible':!![],'sort':_0x512b41,'extend':{}}}],'snapshotHash':_0x50564b[_0x136b77(0xcf)],'warnings':[_0x136b77(0xf4)]});}
|
|
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
|
-
const
|
|
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
|
-
function
|
|
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_0x4ca9dc=a116_0x12f7;(function(_0x1e5b1f,_0x4abf12){const _0x185cdb=a116_0x12f7,_0x24fafd=_0x1e5b1f();while(!![]){try{const _0x399f63=parseInt(_0x185cdb(0x227))/0x1*(-parseInt(_0x185cdb(0x1f3))/0x2)+parseInt(_0x185cdb(0x23a))/0x3+parseInt(_0x185cdb(0x22e))/0x4+parseInt(_0x185cdb(0x1fd))/0x5+-parseInt(_0x185cdb(0x1ef))/0x6*(parseInt(_0x185cdb(0x228))/0x7)+-parseInt(_0x185cdb(0x230))/0x8+-parseInt(_0x185cdb(0x1e6))/0x9*(-parseInt(_0x185cdb(0x217))/0xa);if(_0x399f63===_0x4abf12)break;else _0x24fafd['push'](_0x24fafd['shift']());}catch(_0x54ef6d){_0x24fafd['push'](_0x24fafd['shift']());}}}(a116_0x3d6d,0x3bec8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireExplicitYes,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';function a116_0x12f7(_0x27acb2,_0x1ef412){_0x27acb2=_0x27acb2-0x1d8;const _0x3d6d2a=a116_0x3d6d();let _0x12f78a=_0x3d6d2a[_0x27acb2];return _0x12f78a;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a116_0x4ca9dc(0x229),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a116_0x4ca9dc(0x214),'command':'regroup-start','description':a116_0x4ca9dc(0x232),'risk':'high-risk-write','structuredErrors':!![],'flags':[{'name':a116_0x4ca9dc(0x1fa),'type':a116_0x4ca9dc(0x1f6),'required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a116_0x4ca9dc(0x1df),'type':a116_0x4ca9dc(0x1f6),'required':!![],'description':a116_0x4ca9dc(0x1ff)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1ebf6d){validateRegroupInput(_0x1ebf6d),requireExplicitYes(_0x1ebf6d);},async 'dryRun'(_0x4acf0e){const _0x24f03b=a116_0x4ca9dc;validateRegroupInput(_0x4acf0e);const _0x3ea82e=await buildRegroupPlan(_0x4acf0e,!![]);return menuDryRunResult(_0x3ea82e[_0x24f03b(0x20e)],{'method':_0x24f03b(0x229),'url':_0x24f03b(0x20f),'body':_0x3ea82e[_0x24f03b(0x22d)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON['stringify'](_0x3ea82e[_0x24f03b(0x1fa)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x3ea82e[_0x24f03b(0x1e3)][_0x24f03b(0x239)](',\x20')+_0x24f03b(0x207)});},async 'execute'(_0x183ad6){const _0x35a5ce=a116_0x4ca9dc;validateRegroupInput(_0x183ad6),requireExplicitYes(_0x183ad6);const _0x2ea2f9=await buildRegroupPlan(_0x183ad6,![]);await recheckMutationSnapshot(_0x183ad6,_0x2ea2f9[_0x35a5ce(0x20e)],_0x35a5ce(0x233));const _0x45b431=buildMenuLookupCommand(_0x183ad6['appCode']);let _0x274416,_0x12ad4b;try{_0x274416=await startMenuRegroup(_0x183ad6['cookie'],_0x2ea2f9['input']),_0x12ad4b=normalizeAsyncTask(_0x274416);}catch(_0x4586c6){const _0x56f21c=await inspectRegroupAfterFailure(_0x183ad6[_0x35a5ce(0x22b)],_0x183ad6[_0x35a5ce(0x20c)],_0x2ea2f9[_0x35a5ce(0x1fa)],_0x2ea2f9[_0x35a5ce(0x1e3)]),_0x2a07d5=typeof _0x274416?.[_0x35a5ce(0x1fb)]===_0x35a5ce(0x1f6)&&_0x274416[_0x35a5ce(0x1fb)]['trim']()?_0x274416['taskId'][_0x35a5ce(0x1eb)]():null,_0x40a83a=_0x2a07d5?{'command':buildAsyncTaskStatusCommand(_0x2a07d5,_0x183ad6[_0x35a5ce(0x22b)])}:null,_0x4cc30c=mapMenuApiError(_0x4586c6,_0x35a5ce(0x221));throw menuFailure(_0x4cc30c,_0x2ea2f9[_0x35a5ce(0x20e)],{'stage':_0x35a5ce(0x206),'failed':{'menuIds':_0x2ea2f9[_0x35a5ce(0x1e3)],'taskId':_0x2a07d5,'groupingApplied':_0x56f21c[_0x35a5ce(0x1fe)]?!![]:_0x35a5ce(0x1f7)},'after':_0x56f21c[_0x35a5ce(0x1fe)]??null,'warnings':[_0x35a5ce(0x21f),..._0x56f21c[_0x35a5ce(0x21a)]?[_0x35a5ce(0x235)+_0x56f21c['readbackError']]:[],..._0x2a07d5?[_0x35a5ce(0x226)]:[]],'verification':{'status':_0x35a5ce(0x1e5),'groupingApplied':_0x56f21c[_0x35a5ce(0x1fe)]?!![]:_0x35a5ce(0x1f7),'taskId':_0x2a07d5,'query':_0x40a83a,'lookupCommand':_0x45b431}});}const _0xe6b2d9=buildAsyncTaskStatusCommand(_0x12ad4b['taskId'],_0x183ad6[_0x35a5ce(0x22b)]);let _0x405bea=null,_0x3b39b2=null,_0x4c855d=null;try{_0x405bea=await fetchMenuSnapshot(_0x183ad6['appCode'],_0x183ad6['cookie']),_0x3b39b2=findAppliedRegroup(_0x405bea,_0x2ea2f9[_0x35a5ce(0x1fa)],_0x2ea2f9[_0x35a5ce(0x1e3)]);}catch(_0x3c588d){_0x4c855d=_0x3c588d instanceof Error?_0x3c588d[_0x35a5ce(0x1f8)]:String(_0x3c588d);}const _0x4467e1=mutationResult({..._0x2ea2f9['plan'],'after':_0x3b39b2??null,'dryRun':![],'succeeded':[{'groupId':_0x3b39b2?.['group']['id']??null,'menuIds':_0x2ea2f9[_0x35a5ce(0x1e3)],'taskId':_0x12ad4b[_0x35a5ce(0x1fb)],'status':_0x12ad4b['status'],'groupingApplied':_0x3b39b2?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x35a5ce(0x1f5),'snapshotHash':_0x405bea?.['hash']??null,'groupId':_0x3b39b2?.[_0x35a5ce(0x1f1)]['id']??null,'groupingApplied':_0x3b39b2?!![]:_0x35a5ce(0x1f7),'readbackError':_0x4c855d,'lookupCommand':_0x45b431},'warnings':[..._0x2ea2f9[_0x35a5ce(0x20e)][_0x35a5ce(0x1e8)],...!_0x3b39b2?[unconfirmedRegroupWarning(_0x12ad4b)]:[],..._0x4c855d?['Regroup\x20readback\x20failed:\x20'+_0x4c855d]:[]]}),_0x46c383=_0x12ad4b['status']==='SUCCESS'&&!_0x3b39b2?_0x35a5ce(0x218)+_0x12ad4b[_0x35a5ce(0x1fb)]+_0x35a5ce(0x1ea):'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0x12ad4b);return{'ok':!![],'message':_0x46c383,'data':{..._0x4467e1,'task':_0x12ad4b,'query':_0x12ad4b[_0x35a5ce(0x1e4)]?null:{'command':_0xe6b2d9}}};}};function validateRegroupInput(_0x1b2e8c){const _0x3a74bb=a116_0x4ca9dc;if(!_0x1b2e8c['str'](_0x3a74bb(0x1fa))[_0x3a74bb(0x1eb)]())throw CliErrors[_0x3a74bb(0x202)](_0x3a74bb(0x1fa));parseMenuIds(_0x1b2e8c['str'](_0x3a74bb(0x1df)));}function parseMenuIds(_0x1f5eff){const _0x36f3f4=a116_0x4ca9dc,_0x3086d5=_0x1f5eff[_0x36f3f4(0x208)](',')['map'](_0x671997=>_0x671997[_0x36f3f4(0x1eb)]());if(_0x3086d5[_0x36f3f4(0x1e2)]===0x0||_0x3086d5['some'](_0x504f7e=>!_0x504f7e))throw CliErrors[_0x36f3f4(0x216)](_0x36f3f4(0x223));const _0x407ee0=_0x3086d5[_0x36f3f4(0x20d)](_0x4a380f=>{const _0x4d5f4b=_0x36f3f4;if(!/^\d+$/[_0x4d5f4b(0x21b)](_0x4a380f))throw CliErrors[_0x4d5f4b(0x216)](_0x4d5f4b(0x223));const _0x25c1de=Number(_0x4a380f);if(!Number[_0x4d5f4b(0x204)](_0x25c1de)||_0x25c1de<=0x0)throw CliErrors['validation'](_0x4d5f4b(0x223));return _0x25c1de;});if(new Set(_0x407ee0)[_0x36f3f4(0x1e1)]!==_0x407ee0[_0x36f3f4(0x1e2)])throw CliErrors[_0x36f3f4(0x216)](_0x36f3f4(0x209));if(_0x407ee0[_0x36f3f4(0x1e2)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x36f3f4(0x216)](_0x36f3f4(0x20a)+MAX_REGROUP_MENU_COUNT+_0x36f3f4(0x1e7));return _0x407ee0;}function buildMenuLookupCommand(_0x1d7009){const _0x211928=a116_0x4ca9dc,_0x996cc8='\x27'+_0x1d7009[_0x211928(0x213)](/'/g,'\x27\x5c\x27\x27')+'\x27';return CLI_BIN_NAME+_0x211928(0x1f0)+_0x996cc8+'\x20--format\x20compress';}function a116_0x3d6d(){const _0x2346b7=['cookie','map','plan','/smartapi/menu/regroup','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','replace','menu','Menus\x20','validation','22450dmWXFm','Regroup\x20task\x20','Root\x20folder\x20label\x20','readbackError','test','menu_regroup_target_label_missing','menu_regroup_label_conflict','stringify','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','menus','start\x20menu\x20regroup','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','FAILED','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','80bwzyuj','7lRTJST','POST','submit-regroup-task','appCode','status','input','640576JvJYuY','hash','3876016RUwoAD','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','start\x20regroup','regroup-start','Regroup\x20readback\x20also\x20failed:\x20','menu_regroup_already_applied','type','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','join','2220dvFagr','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','byId','parentId','filter','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','childrenIds','menu-ids','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','size','length','menuIds','isTerminal','failed','4401NLFlTh','\x20menus\x20per\x20regroup\x20request.','warnings','<new-group-id>','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','trim','sort','some','folder','1100058txCWCP','\x20menu\x20list\x20--appcode\x20','group','SUCCESS','11056cOPNDY','menu_regroup_target_not_leaf','menu\x20list','string','unconfirmed','message','childrenCount','label','taskId','Menu\x20','484220MYUhEe','applied','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','toLowerCase','str','flagMissing','<platform-generated>','isSafeInteger','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','regroup-submit',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','split','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','--menu-ids\x20supports\x20at\x20most\x20','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.'];a116_0x3d6d=function(){return _0x2346b7;};return a116_0x3d6d();}function unconfirmedRegroupWarning(_0xbd586e){const _0x37c16c=a116_0x4ca9dc;if(_0xbd586e[_0x37c16c(0x22c)]===_0x37c16c(0x1f2))return _0x37c16c(0x1e0);if(_0xbd586e['status']===_0x37c16c(0x224))return _0x37c16c(0x225);if(_0xbd586e['knownStatus'])return _0x37c16c(0x1dc);return _0x37c16c(0x238);}async function buildRegroupPlan(_0x4a6352,_0x29234e){const _0xfe1d97=a116_0x4ca9dc,_0x38a19f=_0x4a6352['str'](_0xfe1d97(0x1fa))[_0xfe1d97(0x1eb)](),_0x9bd506=parseMenuIds(_0x4a6352[_0xfe1d97(0x201)]('menu-ids')),_0xdfcd96=await fetchMutationSnapshot(_0x4a6352,'plan\x20regroup'),_0x423cb3=_0x9bd506[_0xfe1d97(0x20d)](_0x2d5f09=>requireMenu(_0xdfcd96,_0x2d5f09));for(const _0x55aed5 of _0x423cb3){if(_0x55aed5[_0xfe1d97(0x237)][_0xfe1d97(0x1eb)]()['toLowerCase']()==='folder'||_0x55aed5[_0xfe1d97(0x1f9)]>0x0)throw menuError(_0xfe1d97(0x1f4),_0xfe1d97(0x1fc)+_0x55aed5['id']+_0xfe1d97(0x222),_0xfe1d97(0x20b));if(!_0x55aed5['label'][_0xfe1d97(0x1eb)]())throw menuError(_0xfe1d97(0x21c),_0xfe1d97(0x1fc)+_0x55aed5['id']+_0xfe1d97(0x205),_0xfe1d97(0x1d8));}const _0xf3f83a=findAppliedRegroup(_0xdfcd96,_0x38a19f,_0x9bd506);if(_0xf3f83a)throw menuError(_0xfe1d97(0x236),_0xfe1d97(0x215)+_0x9bd506[_0xfe1d97(0x239)](',\x20')+_0xfe1d97(0x231)+_0xf3f83a['group']['id']+'\x20('+JSON[_0xfe1d97(0x21e)](_0x38a19f)+').',_0xfe1d97(0x1dd));const _0x2ab449=_0xdfcd96[_0xfe1d97(0x220)][_0xfe1d97(0x1db)](_0x231f7d=>_0x231f7d[_0xfe1d97(0x1da)]==null&&_0x231f7d[_0xfe1d97(0x237)][_0xfe1d97(0x1eb)]()[_0xfe1d97(0x200)]()===_0xfe1d97(0x1ee)&&_0x231f7d[_0xfe1d97(0x1fa)]===_0x38a19f);if(_0x2ab449[_0xfe1d97(0x1e2)]>0x0)throw menuError(_0xfe1d97(0x21d),_0xfe1d97(0x219)+JSON[_0xfe1d97(0x21e)](_0x38a19f)+_0xfe1d97(0x212)+_0x2ab449[_0xfe1d97(0x20d)](_0x4aac9c=>_0x4aac9c['id'])[_0xfe1d97(0x239)](',\x20')+'.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.');const _0x1e894e={'appCode':_0x4a6352[_0xfe1d97(0x22b)],'menuGroups':[{'label':_0x38a19f,'type':_0xfe1d97(0x1ee),'children':_0x423cb3[_0xfe1d97(0x20d)](_0xc78420=>({'id':_0xc78420['id'],'label':_0xc78420['label']}))}]},_0x42224f=mutationResult({'operation':_0xfe1d97(0x234),'selector':{'label':_0x38a19f,'menuIds':_0x9bd506},'before':{'menus':_0x423cb3},'after':{'group':{'id':null,'parentId':null,'label':_0x38a19f,'path':_0xfe1d97(0x203),'type':_0xfe1d97(0x1ee),'childrenIds':_0x9bd506},'children':_0x423cb3[_0xfe1d97(0x20d)](_0x287492=>({'id':_0x287492['id'],'label':_0x287492[_0xfe1d97(0x1fa)],'beforeParentId':_0x287492[_0xfe1d97(0x1da)],'afterParentId':_0xfe1d97(0x1e9)}))},'dryRun':_0x29234e,'backend':[...BACKEND],'plannedActions':[{'stage':_0xfe1d97(0x22a),'method':'POST','path':_0xfe1d97(0x20f),'body':_0x1e894e}],'snapshotHash':_0xdfcd96[_0xfe1d97(0x22f)],'warnings':[_0xfe1d97(0x211),_0xfe1d97(0x210)]});return{'label':_0x38a19f,'menuIds':_0x9bd506,'input':_0x1e894e,'plan':_0x42224f};}function findAppliedRegroup(_0x6c1ecf,_0x3bed95,_0x177a3a){const _0x51e6ba=a116_0x4ca9dc,_0x58920f=_0x177a3a[_0x51e6ba(0x20d)](_0x532ed1=>_0x6c1ecf[_0x51e6ba(0x1d9)]['get'](_0x532ed1))[_0x51e6ba(0x1db)](_0xd4f05e=>Boolean(_0xd4f05e));if(_0x58920f[_0x51e6ba(0x1e2)]!==_0x177a3a['length'])return null;const _0x42307b=_0x58920f[0x0]?.['parentId'];if(_0x42307b==null||_0x58920f[_0x51e6ba(0x1ed)](_0x5a56b6=>_0x5a56b6[_0x51e6ba(0x1da)]!==_0x42307b))return null;const _0x21ff30=_0x6c1ecf[_0x51e6ba(0x1d9)]['get'](_0x42307b);if(!_0x21ff30||_0x21ff30[_0x51e6ba(0x1da)]!=null||_0x21ff30[_0x51e6ba(0x237)][_0x51e6ba(0x1eb)]()[_0x51e6ba(0x200)]()!=='folder'||_0x21ff30[_0x51e6ba(0x1fa)]!==_0x3bed95)return null;const _0x53454e=[..._0x177a3a][_0x51e6ba(0x1ec)]((_0x42abea,_0x249ba1)=>_0x42abea-_0x249ba1),_0x5e027c=[..._0x21ff30[_0x51e6ba(0x1de)]]['sort']((_0x12f440,_0x3c16bf)=>_0x12f440-_0x3c16bf);if(JSON[_0x51e6ba(0x21e)](_0x5e027c)!==JSON[_0x51e6ba(0x21e)](_0x53454e))return null;return{'group':_0x21ff30,'children':_0x58920f};}async function inspectRegroupAfterFailure(_0x179eae,_0x25f491,_0x5d8887,_0x380047){try{const _0x2c9ec1=await fetchMenuSnapshot(_0x179eae,_0x25f491);return{'applied':findAppliedRegroup(_0x2c9ec1,_0x5d8887,_0x380047),'readbackError':null};}catch(_0x1eef2f){return{'applied':null,'readbackError':_0x1eef2f instanceof Error?_0x1eef2f['message']:String(_0x1eef2f)};}}
|
|
1
|
+
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
|
-
function a117_0x42f6(_0x497201,_0x58b6ce){_0x497201=_0x497201-0x1ca;const _0x46e02b=a117_0x46e0();let _0x42f67f=_0x46e02b[_0x497201];return _0x42f67f;}const a117_0x47e04c=a117_0x42f6;(function(_0x3aebfd,_0x4d7a08){const _0x4c93d8=a117_0x42f6,_0x535a63=_0x3aebfd();while(!![]){try{const _0x12ec42=parseInt(_0x4c93d8(0x1d8))/0x1*(parseInt(_0x4c93d8(0x21c))/0x2)+parseInt(_0x4c93d8(0x1eb))/0x3*(parseInt(_0x4c93d8(0x203))/0x4)+parseInt(_0x4c93d8(0x20e))/0x5*(parseInt(_0x4c93d8(0x1de))/0x6)+-parseInt(_0x4c93d8(0x217))/0x7*(parseInt(_0x4c93d8(0x1d6))/0x8)+parseInt(_0x4c93d8(0x1f5))/0x9+parseInt(_0x4c93d8(0x210))/0xa*(parseInt(_0x4c93d8(0x1d4))/0xb)+-parseInt(_0x4c93d8(0x1ca))/0xc;if(_0x12ec42===_0x4d7a08)break;else _0x535a63['push'](_0x535a63['shift']());}catch(_0x15f081){_0x535a63['push'](_0x535a63['shift']());}}}(a117_0x46e0,0x463b7));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a117_0x47e04c(0x204),'path':a117_0x47e04c(0x212)}];export const menuRename={'service':'menu','command':'rename','description':a117_0x47e04c(0x211),'risk':a117_0x47e04c(0x218),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a117_0x47e04c(0x1ea),'type':a117_0x47e04c(0x1f3),'required':!![],'description':a117_0x47e04c(0x1d1)},{'name':'expect-label','type':'string','required':!![],'description':'Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x430541){validateInput(_0x430541);},async 'dryRun'(_0xb824ad){const _0x5e7877=a117_0x47e04c;validateInput(_0xb824ad);const _0x10e18b=await buildPlan(_0xb824ad,!![]);return menuDryRunResult(_0x10e18b[_0x5e7877(0x21e)],{'method':_0x5e7877(0x204),'url':'/smartapi/menu/update','body':_0x10e18b[_0x5e7877(0x215)],'description':_0x5e7877(0x1d2)+_0x10e18b[_0x5e7877(0x215)]['id']+'.'});},async 'execute'(_0x2acc43){const _0x5b33ae=a117_0x47e04c;validateInput(_0x2acc43);const _0x3a5859=await buildPlan(_0x2acc43,![]),{plan:_0x1ba1a8,body:_0x3c09fc,before:_0x4000c8,noChanges:_0x36df5a}=_0x3a5859,_0xaabef1=_0x3c09fc['id'];if(_0x36df5a)return renameSuccess(_0x1ba1a8,_0x3a5859['snapshot'],_0x4000c8,!![],![]);await recheckMutationSnapshot(_0x2acc43,_0x1ba1a8,_0x5b33ae(0x1ff),_0xaabef1);try{await updateMenuEntity(_0x2acc43[_0x5b33ae(0x1f0)],_0x2acc43[_0x5b33ae(0x1cd)],{'id':_0xaabef1,'label':_0x3c09fc[_0x5b33ae(0x1ea)]});}catch(_0x176138){const _0x5f349a=mapMenuApiError(_0x176138,_0x5b33ae(0x1e3),_0xaabef1);if(isMenuResponseLoss(_0x176138)&&_0x5f349a[_0x5b33ae(0x1f1)]!==_0x5b33ae(0x1e6))return recoverAfterResponseLoss(_0x2acc43,_0x3a5859);throw menuFailure(_0x5f349a,_0x1ba1a8,{'stage':'update','failed':{'id':_0xaabef1},'warnings':[_0x5b33ae(0x206)],'verification':{'status':_0x5b33ae(0x1fc),'targetId':_0xaabef1,'lookupCommand':buildLookupCommand(_0x2acc43['appCode'])}});}let _0x4bc86b,_0x171717;try{_0x4bc86b=await fetchMenuSnapshot(_0x2acc43[_0x5b33ae(0x1f0)],_0x2acc43[_0x5b33ae(0x1cd)]),_0x171717=requireMenu(_0x4bc86b,_0xaabef1),verifyRenamedFact(_0x4000c8,_0x171717,_0x3c09fc[_0x5b33ae(0x1ea)]);}catch(_0x2e5e8c){const _0xc54d9d=describeMenuErrorCause(_0x2e5e8c,_0x5b33ae(0x20f),_0xaabef1),_0x431209=asVerificationError(_0x2e5e8c,_0x5b33ae(0x1ef)+_0xaabef1+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x431209,_0x1ba1a8,{'stage':_0x5b33ae(0x1d9),'succeeded':[{'id':_0xaabef1,'updateRequested':!![]}],'failed':{'id':_0xaabef1,'requestedStateConfirmed':![],..._0xc54d9d},'warnings':[_0x5b33ae(0x1cb)],'verification':{'status':_0x5b33ae(0x1fc),'targetId':_0xaabef1,'lookupCommand':buildLookupCommand(_0x2acc43[_0x5b33ae(0x1f0)])}});}return renameSuccess(_0x1ba1a8,_0x4bc86b,_0x171717,![],![]);}};function validateInput(_0x53101c){const _0x3bfab0=a117_0x47e04c;validateExactId(_0x53101c);if(!_0x53101c['str'](_0x3bfab0(0x1ea))['trim']())throw CliErrors[_0x3bfab0(0x1e9)](_0x3bfab0(0x1f8));if(!_0x53101c[_0x3bfab0(0x1e4)](_0x3bfab0(0x1dc))[_0x3bfab0(0x20c)]())throw CliErrors[_0x3bfab0(0x20b)](_0x3bfab0(0x1dc));}async function buildPlan(_0x5f7ce1,_0x513f67){const _0x199695=a117_0x47e04c,_0x334417=validateExactId(_0x5f7ce1),_0x4af833=_0x5f7ce1[_0x199695(0x1e4)](_0x199695(0x1ea))[_0x199695(0x20c)](),_0x2a116d=_0x5f7ce1[_0x199695(0x1e4)](_0x199695(0x1dc)),_0x59a898=await fetchMutationSnapshot(_0x5f7ce1,_0x199695(0x1ff),_0x334417),_0x473eed=requireMenu(_0x59a898,_0x334417);if(_0x473eed[_0x199695(0x1ea)]!==_0x2a116d)throw menuError(_0x199695(0x207),'Menu\x20'+_0x334417+_0x199695(0x1ee)+JSON[_0x199695(0x21f)](_0x2a116d)+_0x199695(0x205)+JSON[_0x199695(0x21f)](_0x473eed[_0x199695(0x1ea)])+'.',_0x199695(0x219));const _0x24103b={'id':_0x334417,'appCode':_0x5f7ce1['appCode'],'label':_0x4af833},_0x3433d2={..._0x473eed,'label':_0x4af833},_0x3ca197=_0x473eed[_0x199695(0x1ea)]===_0x4af833,_0x4e5abf=_0x3ca197?[]:[{'stage':'rename-menu','method':'POST','path':_0x199695(0x212),'body':_0x24103b}];return{'snapshot':_0x59a898,'before':_0x473eed,'body':_0x24103b,'noChanges':_0x3ca197,'plan':mutationResult({'operation':'rename','selector':{'id':_0x334417},'before':_0x473eed,'after':_0x3433d2,'dryRun':_0x513f67,'backend':[...BACKEND],'plannedActions':_0x4e5abf,'snapshotHash':_0x59a898[_0x199695(0x21d)],'warnings':_0x3ca197?[_0x199695(0x1fa)]:[]})};}function verifyRenamedFact(_0x412033,_0x11e143,_0x25df83){const _0x380305=a117_0x47e04c,_0x25f271=[['id',_0x11e143['id'],_0x412033['id']],[_0x380305(0x1d7),_0x11e143[_0x380305(0x1d7)],_0x412033[_0x380305(0x1d7)]],[_0x380305(0x1d5),_0x11e143[_0x380305(0x1d5)],_0x412033[_0x380305(0x1d5)]],['path',_0x11e143[_0x380305(0x1e8)],_0x412033[_0x380305(0x1e8)]],['url',_0x11e143[_0x380305(0x21a)],_0x412033[_0x380305(0x21a)]],[_0x380305(0x1f4),_0x11e143[_0x380305(0x1f4)],_0x412033[_0x380305(0x1f4)]],[_0x380305(0x1e0),_0x11e143[_0x380305(0x1e0)],_0x412033[_0x380305(0x1e0)]],['sort',_0x11e143[_0x380305(0x1ed)],_0x412033[_0x380305(0x1ed)]],[_0x380305(0x214),_0x11e143[_0x380305(0x214)],_0x412033[_0x380305(0x214)]],[_0x380305(0x20d),_0x11e143['resourcesValid'],_0x412033['resourcesValid']],[_0x380305(0x1d0),_0x11e143['childrenIds'],_0x412033[_0x380305(0x1d0)]],[_0x380305(0x1d3),_0x11e143[_0x380305(0x1d3)],_0x412033[_0x380305(0x1d3)]],['pageId',_0x11e143[_0x380305(0x1e1)],_0x412033[_0x380305(0x1e1)]],['pageType',_0x11e143[_0x380305(0x213)],_0x412033[_0x380305(0x213)]],['modelType',_0x11e143['modelType'],_0x412033[_0x380305(0x1cf)]],[_0x380305(0x202),_0x11e143[_0x380305(0x202)],_0x412033[_0x380305(0x202)]],['datasetCode',_0x11e143[_0x380305(0x1e2)],_0x412033[_0x380305(0x1e2)]]];for(const [_0x15e28e,_0x22dc09,_0x4d8377]of _0x25f271){assertVerified(sameValue(_0x22dc09,_0x4d8377),_0x380305(0x1ce)+_0x412033['id']+'\x20'+_0x15e28e+_0x380305(0x1fd));}assertVerified(_0x11e143[_0x380305(0x1ea)]===_0x25df83,_0x380305(0x1ce)+_0x412033['id']+_0x380305(0x1f2));}function sameValue(_0x57304e,_0x43f665){const _0x32a47b=a117_0x47e04c;if(Array['isArray'](_0x57304e)||Array['isArray'](_0x43f665))return JSON[_0x32a47b(0x21f)](_0x57304e)===JSON[_0x32a47b(0x21f)](_0x43f665);return _0x57304e===_0x43f665;}function renameSuccess(_0xb0edbe,_0x87d6f6,_0x46d8bd,_0x2cce96,_0x224ff1){const _0x16ca47=a117_0x47e04c,_0x12ee89=_0x46d8bd['id'],_0x1bbd0f=mutationResult({..._0xb0edbe,'after':_0x46d8bd,'dryRun':![],'succeeded':[{'id':_0x12ee89,'updated':!_0x2cce96,'skipped':_0x2cce96,'recovered':_0x224ff1}],'verification':{'checkedBy':_0x16ca47(0x1e7),'snapshotHash':_0x87d6f6['hash'],'targetId':_0x12ee89,'matchesRequestedState':!![],'recovered':_0x224ff1}});return{'ok':!![],'message':_0x224ff1?_0x16ca47(0x209)+_0x12ee89+'.':_0x2cce96?_0x16ca47(0x1ce)+_0x12ee89+_0x16ca47(0x1f9):_0x16ca47(0x216)+_0x12ee89+'.','data':{..._0x1bbd0f,'recovered':_0x224ff1}};}async function recoverAfterResponseLoss(_0x12deca,_0x136132){const _0x1b6deb=a117_0x47e04c,{plan:_0x26e0b9,before:_0x507ec3,body:_0x50f00c}=_0x136132;let _0x560929;try{_0x560929=await fetchMenuSnapshot(_0x12deca[_0x1b6deb(0x1f0)],_0x12deca[_0x1b6deb(0x1cd)]);}catch{throw recoveryRequired(_0x26e0b9,_0x12deca[_0x1b6deb(0x1f0)],{'id':_0x50f00c['id'],'readbackFailed':!![]});}const _0x59517c=_0x560929[_0x1b6deb(0x1e5)][_0x1b6deb(0x1cc)](_0x50f00c['id']);if(!_0x59517c||_0x59517c[_0x1b6deb(0x1ea)]!==_0x50f00c[_0x1b6deb(0x1ea)])throw recoveryRequired(_0x26e0b9,_0x12deca[_0x1b6deb(0x1f0)],{'id':_0x50f00c['id'],'requestedLabelObserved':![],'after':_0x59517c??null});try{verifyRenamedFact(_0x507ec3,_0x59517c,_0x50f00c[_0x1b6deb(0x1ea)]);}catch(_0x338e28){const _0xc42a86=asVerificationError(_0x338e28,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x50f00c['id']+_0x1b6deb(0x200));throw menuFailure(_0xc42a86,_0x26e0b9,{'stage':_0x1b6deb(0x1dd),'succeeded':[{'id':_0x50f00c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x50f00c['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x59517c,'warnings':['The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x1b6deb(0x1fc),'targetId':_0x50f00c['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x12deca['appCode'])}});}return renameSuccess(_0x26e0b9,_0x560929,_0x59517c,![],!![]);}function recoveryRequired(_0x25014d,_0x40223e,_0x10fb5e){const _0x290bef=a117_0x47e04c,_0x478934=menuError(_0x290bef(0x1ec),_0x290bef(0x1fe),_0x290bef(0x1db)+buildLookupCommand(_0x40223e)+_0x290bef(0x208));return menuFailure(_0x478934,_0x25014d,{'stage':_0x290bef(0x1dd),'failed':{'id':_0x10fb5e['id'],..._0x10fb5e[_0x290bef(0x1fb)]===undefined?{}:{'requestedLabelObserved':_0x10fb5e[_0x290bef(0x1fb)]},..._0x10fb5e[_0x290bef(0x20a)]?{'readbackFailed':!![]}:{}},'after':_0x10fb5e[_0x290bef(0x1da)],'warnings':[_0x290bef(0x21b)],'verification':{'status':_0x290bef(0x1fc),'targetId':_0x10fb5e['id'],..._0x10fb5e['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x10fb5e[_0x290bef(0x1fb)]},..._0x10fb5e[_0x290bef(0x20a)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x40223e)}});}function a117_0x46e0(){const _0x4beddc=['byId','menu_permission_denied','menu\x20list','path','validation','label','3OyCCkc','menu_update_recovery_required','sort','\x20label\x20changed:\x20expected\x20','Rename\x20request\x20for\x20menu\x20','appCode','code','\x20label\x20update\x20did\x20not\x20take\x20effect.','string','type','2167146ZGBltN','\x27\x5c\x27\x27','\x20--format\x20compress','--label\x20cannot\x20be\x20empty.','\x20already\x20has\x20the\x20requested\x20label.','The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.','requestedLabelObserved','failed','\x20changed\x20during\x20the\x20label-only\x20rename.','The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.','rename\x20menu','\x20could\x20not\x20be\x20verified\x20safely','replace','datasetId','806948NwwohR','POST',',\x20current\x20','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_state_drift','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','readbackFailed','flagMissing','trim','resourcesValid','5VvWUOX','verify\x20menu\x20rename','10SkeCvj','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','/smartapi/menu/update','pageType','resources','body','Renamed\x20menu\x20','1644524eoFLFm','write','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','url','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','202478lWfrvF','hash','plan','stringify','7883424rkUIOl','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','get','cookie','Menu\x20','modelType','childrenIds','New\x20menu\x20label','Would\x20rename\x20menu\x20','childrenCount','4726469AwdcfB','depth','16iGOfal','parentId','2yvGjsT','verification','after','Run\x20','expect-label','update-recovery','2038794oyzYGw','rabetbase\x20menu\x20list\x20--appcode\x20','visible','pageId','datasetCode','rename','str'];a117_0x46e0=function(){return _0x4beddc;};return a117_0x46e0();}function buildLookupCommand(_0x75538b){const _0x41fc4f=a117_0x47e04c,_0x35c1e6='\x27'+_0x75538b[_0x41fc4f(0x201)](/'/g,_0x41fc4f(0x1f6))+'\x27';return _0x41fc4f(0x1df)+_0x35c1e6+_0x41fc4f(0x1f7);}
|
|
1
|
+
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 a119_0x2e1f(_0x165d89,_0x2b61c0){_0x165d89=_0x165d89-0x90;const _0x4b6b30=a119_0x4b6b();let _0x2e1f88=_0x4b6b30[_0x165d89];return _0x2e1f88;}const a119_0x3414f8=a119_0x2e1f;(function(_0x4200de,_0xf8eb48){const _0x7f1329=a119_0x2e1f,_0x6d37d8=_0x4200de();while(!![]){try{const _0x21d103=-parseInt(_0x7f1329(0x92))/0x1+-parseInt(_0x7f1329(0xc5))/0x2*(-parseInt(_0x7f1329(0xb0))/0x3)+parseInt(_0x7f1329(0xb2))/0x4*(parseInt(_0x7f1329(0x95))/0x5)+-parseInt(_0x7f1329(0xd2))/0x6*(parseInt(_0x7f1329(0xf4))/0x7)+-parseInt(_0x7f1329(0xed))/0x8*(parseInt(_0x7f1329(0xa7))/0x9)+parseInt(_0x7f1329(0x91))/0xa+parseInt(_0x7f1329(0xbc))/0xb*(parseInt(_0x7f1329(0xd0))/0xc);if(_0x21d103===_0xf8eb48)break;else _0x6d37d8['push'](_0x6d37d8['shift']());}catch(_0x2af288){_0x6d37d8['push'](_0x6d37d8['shift']());}}}(a119_0x4b6b,0xdb89b));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a119_0x3414f8(0xbb),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x132840,_0x502449,_0x29a9b0=new Date()){const _0x231839=a119_0x3414f8;if(!_0x502449['before']||!isMenuFact(_0x502449['before']))throw menuError('menu_plan_invalid','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.');const _0x5aac32=_0x502449[_0x231839(0xbd)]?.[_0x231839(0xa6)]?_0x502449[_0x231839(0xbd)]:[_0x502449[_0x231839(0xae)]],_0x31ec1e=_0x502449['deleteOrder']?.[_0x231839(0xa6)]?_0x502449[_0x231839(0x96)]:_0x5aac32[_0x231839(0xdc)](_0x11a4a4=>_0x11a4a4['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x132840,'createdAt':_0x29a9b0[_0x231839(0xbf)](),'expiresAt':new Date(_0x29a9b0[_0x231839(0xad)]()+PLAN_TTL_MS)['toISOString'](),'snapshotHash':_0x502449['snapshotHash'],'recursive':_0x502449['selector'][_0x231839(0xeb)]===!![],'target':_0x502449[_0x231839(0xae)],'targetFingerprint':fingerprint(_0x502449['before']),'targets':_0x5aac32,'targetFingerprints':_0x5aac32['map'](fingerprint),'deleteOrder':_0x31ec1e,'cascade':_0x502449[_0x231839(0xde)]??{'pages':_0x502449[_0x231839(0xae)][_0x231839(0xa1)]==null?[]:[_0x502449[_0x231839(0xae)]['pageId']],'pageSchemaAffected':_0x502449[_0x231839(0xae)][_0x231839(0xa1)]!=null},'warnings':[..._0x502449[_0x231839(0xaf)]]};}export async function writeMenuDeletePlan(_0x48a63b,_0x55ea03){const _0x154dd6=a119_0x3414f8,_0x57aac3=resolvePlanPath(_0x48a63b,'plan-out');await mkdir(dirname(_0x57aac3),{'recursive':!![]});try{await writeFile(_0x57aac3,JSON[_0x154dd6(0xf1)](_0x55ea03,null,0x2)+'\x0a',{'encoding':_0x154dd6(0xa0),'flag':'wx'});}catch(_0x861815){if(_0x861815[_0x154dd6(0xa5)]===_0x154dd6(0x9b))throw menuError(_0x154dd6(0x9f),'Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20'+_0x57aac3,'Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.');throw menuError(_0x154dd6(0xd4),'Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x57aac3+':\x20'+errorMessage(_0x861815));}return _0x57aac3;}export async function readMenuDeletePlan(_0x409625){const _0x39fb38=a119_0x3414f8,_0x200b54=resolvePlanPath(_0x409625,_0x39fb38(0xd8));let _0x83ee4e;try{_0x83ee4e=(await stat(_0x200b54))['size'];}catch(_0x15cfa5){throw menuError(_0x39fb38(0x97),_0x39fb38(0xd9)+_0x200b54+':\x20'+errorMessage(_0x15cfa5));}if(_0x83ee4e>MAX_PLAN_BYTES)throw menuError(_0x39fb38(0x97),_0x39fb38(0xcb)+_0x83ee4e+_0x39fb38(0xf2));let _0x2942be;try{_0x2942be=JSON[_0x39fb38(0xe7)](await readFile(_0x200b54,'utf8'));}catch(_0x15c837){throw menuError(_0x39fb38(0x97),'Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20'+errorMessage(_0x15c837));}if(!isMenuDeletePlanFile(_0x2942be))throw menuError(_0x39fb38(0x97),_0x39fb38(0x9d)+PLAN_VERSION+'\x20of\x20the\x20'+PLAN_COMMAND+_0x39fb38(0xca));if(!sameFingerprint(_0x2942be[_0x39fb38(0xb7)],fingerprint(_0x2942be['target'])))throw menuError(_0x39fb38(0x97),_0x39fb38(0x93),_0x39fb38(0x94));if(!_0x2942be[_0x39fb38(0xbd)][_0x39fb38(0xe0)]((_0xb9ff96,_0x5a07b0)=>sameFingerprint(_0x2942be[_0x39fb38(0xcc)][_0x5a07b0],fingerprint(_0xb9ff96)))||!sameFingerprint(_0x2942be[_0x39fb38(0xb7)],fingerprint(_0x2942be[_0x39fb38(0xbd)][_0x2942be['targets'][_0x39fb38(0xa6)]-0x1])))throw menuError('menu_plan_invalid',_0x39fb38(0xa3),_0x39fb38(0x94));return{'path':_0x200b54,'plan':_0x2942be};}export function mutationPlanFromDeleteFile(_0x8febc4,_0x1c3779){const _0x270aed=a119_0x3414f8;return mutationResult({'operation':'delete','selector':{'id':_0x8febc4[_0x270aed(0xb6)]['id'],'recursive':_0x8febc4[_0x270aed(0xeb)]},'before':_0x8febc4[_0x270aed(0xb6)],'after':null,'dryRun':![],'backend':[{'method':_0x270aed(0xef),'path':'/smartapi/menu/batchDelete'}],'plannedActions':[{'stage':_0x270aed(0xb3),'method':_0x270aed(0xef),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x8febc4[_0x270aed(0x96)]}}],'targets':_0x8febc4['targets'],'deleteOrder':_0x8febc4[_0x270aed(0x96)],'snapshotHash':_0x8febc4['snapshotHash'],'cascade':_0x8febc4['cascade'],'planFile':{'path':_0x1c3779,'createdAt':_0x8febc4[_0x270aed(0xdb)],'expiresAt':_0x8febc4[_0x270aed(0x9a)]},'warnings':_0x8febc4['warnings']});}export function assertMenuDeletePlanCurrent(_0x28dae6,_0x1c94d3,_0x5ca77c,_0x584bac=new Date()){const _0x44e3bd=a119_0x3414f8;assertMenuDeletePlanExecutable(_0x28dae6,_0x1c94d3,_0x584bac);if(_0x5ca77c['hash']!==_0x28dae6[_0x44e3bd(0xc1)])throw menuError(_0x44e3bd(0xb8),_0x44e3bd(0xa4),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.');return _0x28dae6[_0x44e3bd(0xbd)]['map']((_0x2fc6a3,_0x242ec1)=>{const _0x2824cc=_0x44e3bd,_0x2189f1=_0x5ca77c['byId']['get'](_0x2fc6a3['id']);if(!_0x2189f1)throw menuError(_0x2824cc(0xb8),_0x2824cc(0xa9)+_0x2fc6a3['id']+'\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.');if(!sameFingerprint(_0x28dae6[_0x2824cc(0xcc)][_0x242ec1],fingerprint(_0x2189f1)))throw menuError(_0x2824cc(0xb8),'Planned\x20menu\x20'+_0x2fc6a3['id']+_0x2824cc(0xe1),_0x2824cc(0xe4));return _0x2189f1;});}export function assertMenuDeletePlanExecutable(_0x4b7f73,_0x305b8f,_0x2135f5=new Date()){const _0x562bec=a119_0x3414f8;if(_0x4b7f73[_0x562bec(0xe9)]!==_0x305b8f)throw menuError(_0x562bec(0x9c),_0x562bec(0xc2)+JSON[_0x562bec(0xf1)](_0x4b7f73['appCode'])+_0x562bec(0xea)+JSON[_0x562bec(0xf1)](_0x305b8f)+'.');const _0x2a266d=Date[_0x562bec(0xe7)](_0x4b7f73[_0x562bec(0xdb)]),_0x28bdcc=Date[_0x562bec(0xe7)](_0x4b7f73[_0x562bec(0x9a)]);if(!Number[_0x562bec(0xac)](_0x2a266d)||!Number[_0x562bec(0xac)](_0x28bdcc)||_0x28bdcc-_0x2a266d!==PLAN_TTL_MS)throw menuError(_0x562bec(0x97),_0x562bec(0xec));if(_0x2a266d>_0x2135f5[_0x562bec(0xad)]())throw menuError('menu_plan_invalid',_0x562bec(0xdf)+_0x4b7f73[_0x562bec(0xdb)]+_0x562bec(0xb4),_0x562bec(0xa2));if(_0x2135f5[_0x562bec(0xad)]()>_0x28bdcc)throw menuError(_0x562bec(0xda),_0x562bec(0xaa)+_0x4b7f73[_0x562bec(0x9a)]+'.',_0x562bec(0xc9));}function fingerprint(_0x3e0bb0){const _0x33357c=a119_0x3414f8;return{'id':_0x3e0bb0['id'],'parentId':_0x3e0bb0[_0x33357c(0xdd)],'depth':_0x3e0bb0['depth'],'label':_0x3e0bb0['label'],'path':_0x3e0bb0[_0x33357c(0xe2)],'type':_0x3e0bb0[_0x33357c(0x98)],'visible':_0x3e0bb0[_0x33357c(0xd7)],'sort':_0x3e0bb0[_0x33357c(0xf5)],'pageId':_0x3e0bb0['pageId'],'pageType':_0x3e0bb0[_0x33357c(0x90)],'modelType':_0x3e0bb0[_0x33357c(0xe8)],'datasetId':_0x3e0bb0[_0x33357c(0xe6)],'datasetCode':_0x3e0bb0[_0x33357c(0xb9)],'childrenIds':[..._0x3e0bb0[_0x33357c(0xc7)]],'childrenCount':_0x3e0bb0[_0x33357c(0xcf)],'resourcesValid':_0x3e0bb0['resourcesValid'],'resourcesHash':hashValue(_0x3e0bb0[_0x33357c(0xab)]),'extendHash':hashValue(_0x3e0bb0[_0x33357c(0xce)]??null),'updateTime':_0x3e0bb0[_0x33357c(0xd5)]};}function hashValue(_0x42752f){const _0x397c92=a119_0x3414f8;return createHash(_0x397c92(0xc0))[_0x397c92(0xc8)](JSON[_0x397c92(0xf1)](_0x42752f))[_0x397c92(0xf6)](_0x397c92(0xf3));}function sameFingerprint(_0x567efb,_0x1bed5b){const _0x459c90=a119_0x3414f8;return JSON[_0x459c90(0xf1)](_0x567efb)===JSON[_0x459c90(0xf1)](_0x1bed5b);}function resolvePlanPath(_0x207bef,_0x35687a){const _0x2f0ede=a119_0x3414f8,_0x52e100=_0x207bef[_0x2f0ede(0xe5)]();if(!_0x52e100)throw menuError(_0x2f0ede(0x97),'--'+_0x35687a+'\x20requires\x20a\x20non-empty\x20file\x20path.');return resolve(_0x52e100);}function isMenuDeletePlanFile(_0x5485a0){const _0x1723ae=a119_0x3414f8;if(!isRecord(_0x5485a0))return![];return _0x5485a0['version']===PLAN_VERSION&&_0x5485a0['command']===PLAN_COMMAND&&typeof _0x5485a0[_0x1723ae(0xe9)]==='string'&&_0x5485a0[_0x1723ae(0xe9)][_0x1723ae(0xa6)]>0x0&&typeof _0x5485a0[_0x1723ae(0xdb)]==='string'&&typeof _0x5485a0[_0x1723ae(0x9a)]===_0x1723ae(0xba)&&typeof _0x5485a0['snapshotHash']===_0x1723ae(0xba)&&/^sha256:[a-f0-9]{64}$/[_0x1723ae(0xc4)](_0x5485a0[_0x1723ae(0xc1)])&&typeof _0x5485a0['recursive']===_0x1723ae(0xd1)&&isMenuFact(_0x5485a0['target'])&&isTargetFingerprint(_0x5485a0[_0x1723ae(0xb7)])&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xbd)])&&_0x5485a0[_0x1723ae(0xbd)][_0x1723ae(0xa6)]>0x0&&_0x5485a0[_0x1723ae(0xbd)][_0x1723ae(0xe0)](isMenuFact)&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xcc)])&&_0x5485a0['targetFingerprints'][_0x1723ae(0xa6)]===_0x5485a0[_0x1723ae(0xbd)]['length']&&_0x5485a0[_0x1723ae(0xcc)][_0x1723ae(0xe0)](isTargetFingerprint)&&Array['isArray'](_0x5485a0[_0x1723ae(0x96)])&&_0x5485a0[_0x1723ae(0x96)]['length']===_0x5485a0[_0x1723ae(0xbd)]['length']&&_0x5485a0[_0x1723ae(0x96)][_0x1723ae(0xe0)](isPositiveInteger)&&new Set(_0x5485a0[_0x1723ae(0x96)])[_0x1723ae(0xf0)]===_0x5485a0[_0x1723ae(0x96)][_0x1723ae(0xa6)]&&_0x5485a0[_0x1723ae(0xbd)]['every']((_0x1f8560,_0x11d23f)=>_0x1f8560['id']===_0x5485a0['deleteOrder'][_0x11d23f])&&_0x5485a0[_0x1723ae(0xbd)][_0x5485a0[_0x1723ae(0xbd)][_0x1723ae(0xa6)]-0x1]?.['id']===_0x5485a0[_0x1723ae(0xb6)]['id']&&isRecord(_0x5485a0[_0x1723ae(0xde)])&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xde)][_0x1723ae(0xc6)])&&_0x5485a0['cascade']['pages']['every'](isPositiveInteger)&&typeof _0x5485a0['cascade'][_0x1723ae(0x9e)]===_0x1723ae(0xd1)&&Array[_0x1723ae(0x99)](_0x5485a0[_0x1723ae(0xaf)])&&_0x5485a0['warnings'][_0x1723ae(0xe0)](_0x16caa6=>typeof _0x16caa6===_0x1723ae(0xba));}function isMenuFact(_0x18c156){const _0x1c0277=a119_0x3414f8;if(!isRecord(_0x18c156))return![];return isPositiveInteger(_0x18c156['id'])&&(_0x18c156[_0x1c0277(0xdd)]===null||isPositiveInteger(_0x18c156['parentId']))&&Number[_0x1c0277(0xa8)](_0x18c156[_0x1c0277(0xee)])&&_0x18c156[_0x1c0277(0xee)]>=0x0&&typeof _0x18c156[_0x1c0277(0xb5)]===_0x1c0277(0xba)&&typeof _0x18c156['path']==='string'&&typeof _0x18c156[_0x1c0277(0x98)]===_0x1c0277(0xba)&&(_0x18c156[_0x1c0277(0xd7)]===null||typeof _0x18c156[_0x1c0277(0xd7)]===_0x1c0277(0xd1))&&(_0x18c156[_0x1c0277(0xf5)]===null||Number[_0x1c0277(0xa8)](_0x18c156['sort']))&&Array[_0x1c0277(0x99)](_0x18c156[_0x1c0277(0xab)])&&_0x18c156[_0x1c0277(0xab)][_0x1c0277(0xe0)](_0x573e9e=>typeof _0x573e9e===_0x1c0277(0xba))&&typeof _0x18c156['resourcesValid']===_0x1c0277(0xd1)&&Array[_0x1c0277(0x99)](_0x18c156[_0x1c0277(0xc7)])&&_0x18c156[_0x1c0277(0xc7)][_0x1c0277(0xe0)](isPositiveInteger)&&Number['isInteger'](_0x18c156[_0x1c0277(0xcf)])&&_0x18c156[_0x1c0277(0xcf)]>=0x0&&(_0x18c156[_0x1c0277(0xa1)]===null||isPositiveInteger(_0x18c156[_0x1c0277(0xa1)]))&&typeof _0x18c156[_0x1c0277(0x90)]==='string'&&typeof _0x18c156[_0x1c0277(0xe8)]===_0x1c0277(0xba)&&(_0x18c156['datasetId']===null||isPositiveInteger(_0x18c156[_0x1c0277(0xe6)]))&&typeof _0x18c156['datasetCode']==='string'&&(_0x18c156['updateUserId']===null||typeof _0x18c156[_0x1c0277(0xd3)]===_0x1c0277(0xba))&&(_0x18c156['updateUserName']===null||typeof _0x18c156['updateUserName']===_0x1c0277(0xba))&&(_0x18c156['updateTime']===null||typeof _0x18c156[_0x1c0277(0xd5)]===_0x1c0277(0xba)||typeof _0x18c156[_0x1c0277(0xd5)]===_0x1c0277(0xcd))&&(_0x18c156[_0x1c0277(0xce)]===undefined||_0x18c156[_0x1c0277(0xce)]===null||isRecord(_0x18c156[_0x1c0277(0xce)]));}function a119_0x4b6b(){const _0x1bf375=['68cCdYIN','batch-delete-menu','\x20is\x20in\x20the\x20future.','label','target','targetFingerprint','menu_state_drift','datasetCode','string','menu\x20delete','11770957wIEVrY','targets','extendHash','toISOString','sha256','snapshotHash','Menu\x20delete\x20plan\x20targets\x20app\x20','resourcesHash','test','68bvhZzw','pages','childrenIds','update','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','\x20contract.','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','targetFingerprints','number','extend','childrenCount','12dlbLAm','boolean','36KoDpmj','updateUserId','menu_plan_write_failed','updateTime','resourcesValid','visible','plan','Cannot\x20read\x20menu\x20delete\x20plan\x20','menu_plan_expired','createdAt','map','parentId','cascade','Menu\x20delete\x20plan\x20creation\x20time\x20','every','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','path','message','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','trim','datasetId','parse','modelType','appCode',',\x20current\x20app\x20is\x20','recursive','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','117016bezRpW','depth','POST','size','stringify','\x20bytes.','hex','1214381QJBInJ','sort','digest','pageType','14486710aTyaYv','1315180JmNeOz','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','270935mYGkRn','deleteOrder','menu_plan_invalid','type','isArray','expiresAt','EEXIST','menu_plan_app_mismatch','Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20','pageSchemaAffected','menu_plan_file_exists','utf8','pageId','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','code','length','234cmHJHM','isInteger','Planned\x20menu\x20','Menu\x20delete\x20plan\x20expired\x20at\x20','resources','isFinite','getTime','before','warnings','17265QRtfse','object'];a119_0x4b6b=function(){return _0x1bf375;};return a119_0x4b6b();}function isTargetFingerprint(_0x24e897){const _0x104d6a=a119_0x3414f8;if(!isRecord(_0x24e897))return![];return isPositiveInteger(_0x24e897['id'])&&(_0x24e897[_0x104d6a(0xdd)]===null||isPositiveInteger(_0x24e897[_0x104d6a(0xdd)]))&&Number[_0x104d6a(0xa8)](_0x24e897[_0x104d6a(0xee)])&&_0x24e897[_0x104d6a(0xee)]>=0x0&&typeof _0x24e897[_0x104d6a(0xb5)]===_0x104d6a(0xba)&&typeof _0x24e897['path']==='string'&&typeof _0x24e897[_0x104d6a(0x98)]===_0x104d6a(0xba)&&(_0x24e897['visible']===null||typeof _0x24e897[_0x104d6a(0xd7)]===_0x104d6a(0xd1))&&(_0x24e897['sort']===null||Number[_0x104d6a(0xa8)](_0x24e897[_0x104d6a(0xf5)]))&&(_0x24e897[_0x104d6a(0xa1)]===null||isPositiveInteger(_0x24e897[_0x104d6a(0xa1)]))&&typeof _0x24e897['pageType']===_0x104d6a(0xba)&&typeof _0x24e897['modelType']===_0x104d6a(0xba)&&(_0x24e897[_0x104d6a(0xe6)]===null||isPositiveInteger(_0x24e897[_0x104d6a(0xe6)]))&&typeof _0x24e897['datasetCode']===_0x104d6a(0xba)&&Array[_0x104d6a(0x99)](_0x24e897[_0x104d6a(0xc7)])&&_0x24e897[_0x104d6a(0xc7)][_0x104d6a(0xe0)](isPositiveInteger)&&Number['isInteger'](_0x24e897[_0x104d6a(0xcf)])&&_0x24e897[_0x104d6a(0xcf)]>=0x0&&typeof _0x24e897[_0x104d6a(0xd6)]===_0x104d6a(0xd1)&&typeof _0x24e897['resourcesHash']===_0x104d6a(0xba)&&/^[a-f0-9]{64}$/[_0x104d6a(0xc4)](_0x24e897[_0x104d6a(0xc3)])&&typeof _0x24e897[_0x104d6a(0xbe)]===_0x104d6a(0xba)&&/^[a-f0-9]{64}$/[_0x104d6a(0xc4)](_0x24e897[_0x104d6a(0xbe)])&&(_0x24e897[_0x104d6a(0xd5)]===null||typeof _0x24e897[_0x104d6a(0xd5)]==='string'||typeof _0x24e897[_0x104d6a(0xd5)]==='number');}function isRecord(_0x389d6d){const _0x637d98=a119_0x3414f8;return typeof _0x389d6d===_0x637d98(0xb1)&&_0x389d6d!==null&&!Array[_0x637d98(0x99)](_0x389d6d);}function isPositiveInteger(_0x45886d){return Number['isSafeInteger'](_0x45886d)&&Number(_0x45886d)>0x0;}function errorMessage(_0x31615a){const _0x429115=a119_0x3414f8;return _0x31615a instanceof Error?_0x31615a[_0x429115(0xe3)]:String(_0x31615a);}
|
|
1
|
+
(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);}
|