@lovrabet/rabetbase-cli 2.3.15-beta.2 → 2.3.15
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/add.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/remove.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/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/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/init.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/save.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/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.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.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
|
@@ -1 +1 @@
|
|
|
1
|
-
const a103_0xfd785a=a103_0x2de3;(function(_0x3426e9,_0x2dd360){const _0x32c62e=a103_0x2de3,_0x23474c=_0x3426e9();while(!![]){try{const _0x410127=parseInt(_0x32c62e(0x194))/0x1*(parseInt(_0x32c62e(0x1c0))/0x2)+parseInt(_0x32c62e(0x188))/0x3+-parseInt(_0x32c62e(0x1a2))/0x4+parseInt(_0x32c62e(0x137))/0x5*(parseInt(_0x32c62e(0x174))/0x6)+parseInt(_0x32c62e(0x19b))/0x7*(-parseInt(_0x32c62e(0x1b0))/0x8)+parseInt(_0x32c62e(0x147))/0x9*(-parseInt(_0x32c62e(0x14d))/0xa)+parseInt(_0x32c62e(0x1c1))/0xb*(parseInt(_0x32c62e(0x1b7))/0xc);if(_0x410127===_0x2dd360)break;else _0x23474c['push'](_0x23474c['shift']());}catch(_0x2d8dfc){_0x23474c['push'](_0x23474c['shift']());}}}(a103_0x53a7,0xa6e31));function a103_0x53a7(){const _0x23be59=['write','visibility','selector','causemessage','username','External\x20HTTPS\x20URL','menu_url_credentials_forbidden','call','\x20could\x20not\x20be\x20verified.','byId','toLowerCase','create','object','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','code','add','expectedPath','\x20--format\x20compress','stringify','342kisuPS','hasOwnProperty','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','fromEntries','/smartapi/menu/create','rawFlags','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','pre-write-recheck','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','lookupCommand','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','POST','after','password','Created\x20external\x20menu\x20','rawerror','Created\x20menu\x20','succeeded','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','2754891FkpsWC','length','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','appCode','expectedSnapshotHash','menu_open_mode_invalid','external-link-create','menu_state_drift','verification','Recovered\x20menu\x20','sort','createdId','158uEHDdq','get','prototype','includes','<redacted>','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_mutation_failed','37331FSHnPh','menu_sort_invalid','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','\x20failed\x20final\x20verification.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','has','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','2212296kwGivC','isSafeInteger','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','rabetbase\x20menu\x20list\x20--appcode\x20','Create\x20an\x20external\x20website\x20link\x20menu','str','string','open-mode','create\x20external\x20menu','menu','Menu\x20label','bool','URL','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','560KPVxaM','Recovered\x20created\x20external\x20menu\x20','menu_parent_not_folder','https:','hash','entries','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','19046988UHoKNH','url','snapshot','label','plan','failed','Menu\x20','menu_not_found','replace','3554WhfLrN','11yUphOl','External\x20menu\x20creation\x20failed.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Run\x20','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','parent','flagMissing','9255StEvso','fact','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','menu_verification_failed','menu_url_invalid','\x20with\x20','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','isArray','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','afterPlan','How\x20to\x20open\x20the\x20external\x20website','Whether\x20the\x20menu\x20is\x20visible','before','create-recovery','18BvYlSN','menu_create_response_invalid','filter','protocol','parent-id','\x20has\x20an\x20unexpected\x20generated\x20path.','6409330GSVcVL','menu_create_recovery_required','visible','type','parentId','boolean','trim','new-window','readbackerror','body','<platform-generated>','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','cookie','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','link','plannedActions','map','path','data'];a103_0x53a7=function(){return _0x23be59;};return a103_0x53a7();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a103_0xfd785a(0x15c)};export function validateExternalMenuUrl(_0x185fb1){const _0x4ec2f9=a103_0xfd785a,_0xf96798=_0x185fb1['trim']();let _0x4da0bf;try{_0x4da0bf=new URL(_0xf96798);}catch{throw menuError(_0x4ec2f9(0x13b),_0x4ec2f9(0x140),_0x4ec2f9(0x19d));}if(_0x4da0bf[_0x4ec2f9(0x14a)]!==_0x4ec2f9(0x1b3))throw menuError('menu_url_https_required',_0x4ec2f9(0x159),'Provide\x20an\x20HTTPS\x20URL.');if(_0x4da0bf[_0x4ec2f9(0x165)]||_0x4da0bf[_0x4ec2f9(0x182)])throw menuError(_0x4ec2f9(0x167),_0x4ec2f9(0x17d),_0x4ec2f9(0x17b));return _0xf96798;}export const menuExternalLinkCreate={'service':a103_0xfd785a(0x1ab),'command':a103_0xfd785a(0x18e),'description':a103_0xfd785a(0x1a6),'risk':a103_0xfd785a(0x161),'structuredErrors':!![],'flags':[{'name':a103_0xfd785a(0x1ba),'type':a103_0xfd785a(0x1a8),'required':!![],'description':a103_0xfd785a(0x1ac)},{'name':a103_0xfd785a(0x1a9),'type':'string','required':!![],'enum':['embedded',a103_0xfd785a(0x154)],'description':a103_0xfd785a(0x143)},{'name':a103_0xfd785a(0x1b8),'type':'string','required':!![],'description':a103_0xfd785a(0x166)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a103_0xfd785a(0x14f),'type':a103_0xfd785a(0x152),'default':!![],'description':a103_0xfd785a(0x144)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x473dad){validateAddInput(_0x473dad);},async 'dryRun'(_0xf6d9da){const _0x3630ec=a103_0xfd785a;validateAddInput(_0xf6d9da);const {plan:_0x2292f0}=await buildSafeAddPlan(_0xf6d9da,!![]),_0x446944=_0x2292f0[_0x3630ec(0x181)],_0x10506d=createBody(_0x446944);return menuDryRunResult(_0x2292f0,{'method':_0x3630ec(0x180),'url':'/smartapi/menu/create','body':_0x10506d,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x3630ec(0x173)](_0x446944['label'])+_0x3630ec(0x13c)+_0xf6d9da[_0x3630ec(0x1a7)](_0x3630ec(0x1a9))+_0x3630ec(0x134)});},async 'execute'(_0x1e600a){const _0x4b3607=a103_0xfd785a;validateAddInput(_0x1e600a);const _0x4a1768=await buildSafeAddPlan(_0x1e600a,![]),{plan:_0x32932c,snapshot:_0x4cd039}=_0x4a1768,_0x440a6d=_0x32932c['after'],_0x5a9e0c=buildMenuLookupCommand(_0x1e600a['appCode']);await recheckAddSnapshot(_0x1e600a,_0x32932c);let _0x327753;try{_0x327753=await createMenuEntity(_0x1e600a[_0x4b3607(0x18b)],_0x1e600a[_0x4b3607(0x15a)],createBody(_0x440a6d));}catch(_0x4ca57d){const _0x1c2c36=mapMenuApiError(_0x4ca57d,_0x4b3607(0x1aa));if(!isMenuResponseLoss(_0x4ca57d)||_0x1c2c36['code']==='menu_permission_denied')throw externalLinkCreateFailure(_0x1c2c36,_0x32932c,{'stage':_0x4b3607(0x16c),'failed':{},'verification':{'status':_0x4b3607(0x1bc),'lookupCommand':_0x5a9e0c}});return recoverAfterResponseLoss(_0x1e600a,_0x4a1768,_0x5a9e0c);}const _0x1d9002=Number(_0x327753?.['id']),_0x3bb111=typeof _0x327753?.[_0x4b3607(0x15f)]===_0x4b3607(0x1a8)?_0x327753['path']:'';if(!Number[_0x4b3607(0x1a3)](_0x1d9002)||_0x1d9002<=0x0||!_0x3bb111[_0x4b3607(0x153)]()){const _0x3670ad=menuError(_0x4b3607(0x148),_0x4b3607(0x1a1),'Run\x20'+_0x5a9e0c+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x3670ad,_0x32932c,{'stage':'create-response-validation','succeeded':Number[_0x4b3607(0x1a3)](_0x1d9002)&&_0x1d9002>0x0?[{'id':_0x1d9002,'created':!![]}]:[],'failed':{'createdId':Number[_0x4b3607(0x1a3)](_0x1d9002)?_0x1d9002:null,'generatedPathConfirmed':Boolean(_0x3bb111[_0x4b3607(0x153)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x4b3607(0x1a3)](_0x1d9002)&&_0x1d9002>0x0?{..._0x440a6d,'id':_0x1d9002,'path':_0x3bb111}:_0x440a6d,'verification':{'status':_0x4b3607(0x1bc),'lookupCommand':_0x5a9e0c,...Number[_0x4b3607(0x1a3)](_0x1d9002)&&_0x1d9002>0x0?{'targetId':_0x1d9002}:{}}});}const _0x17cbdb=await readAndVerifyCreatedMenu({'appCode':_0x1e600a[_0x4b3607(0x18b)],'cookie':_0x1e600a['cookie'],'plan':_0x32932c,'afterPlan':_0x440a6d,'createdId':_0x1d9002,'expectedPath':_0x3bb111,'lookupCommand':_0x5a9e0c,'recovered':![]});return creationSuccess(_0x32932c,_0x17cbdb[_0x4b3607(0x1b9)],_0x17cbdb[_0x4b3607(0x138)],![]);}};function validateAddInput(_0x510a93){const _0x209ab8=a103_0xfd785a;if(!_0x510a93[_0x209ab8(0x1a7)](_0x209ab8(0x1ba))['trim']())throw CliErrors[_0x209ab8(0x136)](_0x209ab8(0x1ba));resolveExternalMenuType(_0x510a93),validateExternalMenuUrl(_0x510a93[_0x209ab8(0x1a7)](_0x209ab8(0x1b8))),parseParentId(_0x510a93,_0x209ab8(0x14b)),validateSort(_0x510a93);}function resolveExternalMenuType(_0x114df1){const _0x389ac8=a103_0xfd785a,_0x18e411=_0x114df1[_0x389ac8(0x1a7)](_0x389ac8(0x1a9))[_0x389ac8(0x153)]();if(!_0x18e411)throw CliErrors[_0x389ac8(0x136)](_0x389ac8(0x1a9));const _0x38a706=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x18e411];if(!_0x38a706)throw menuError(_0x389ac8(0x18d),_0x389ac8(0x15b),_0x389ac8(0x17f));return _0x38a706;}async function buildAddPlan(_0x5b148f,_0x55e79c){const _0x5b84c7=a103_0xfd785a,_0x22e075=await fetchMutationSnapshot(_0x5b148f,_0x5b84c7(0x1aa)),_0x592df5=parseParentId(_0x5b148f,_0x5b84c7(0x14b))??null;if(_0x592df5!=null)requireFolder(_0x22e075,_0x592df5);const _0x11cb4e=validateSort(_0x5b148f),_0x17da7f=_0x11cb4e??nextSiblingSort(_0x22e075,_0x592df5,'menu'),_0x940905=_0x5b148f[_0x5b84c7(0x1a7)](_0x5b84c7(0x1ba))[_0x5b84c7(0x153)](),_0x375319=resolveExternalMenuType(_0x5b148f),_0x2a7ae8=validateExternalMenuUrl(_0x5b148f[_0x5b84c7(0x1a7)]('url')),_0x29d79b=Object[_0x5b84c7(0x196)][_0x5b84c7(0x175)][_0x5b84c7(0x168)](_0x5b148f[_0x5b84c7(0x17a)],_0x5b84c7(0x14f))?_0x5b148f[_0x5b84c7(0x1ad)](_0x5b84c7(0x14f)):!![],_0x378bf8={'id':null,'parentId':_0x592df5,'label':_0x940905,'path':_0x5b84c7(0x157),'url':_0x2a7ae8,'type':_0x375319,'visible':_0x29d79b,'sort':_0x17da7f},_0x244466=buildMenuLookupCommand(_0x5b148f[_0x5b84c7(0x18b)]),_0x3e6069=mutationResult({'operation':_0x5b84c7(0x170),'selector':{'parentId':_0x592df5,'type':_0x375319,'label':_0x940905,'url':_0x2a7ae8},'before':null,'after':_0x378bf8,'dryRun':_0x55e79c,'backend':[{'method':_0x5b84c7(0x180),'path':_0x5b84c7(0x179)}],'plannedActions':[{'stage':'create-menu','method':_0x5b84c7(0x180),'path':_0x5b84c7(0x179),'body':createBody(_0x378bf8)}],'snapshotHash':_0x22e075[_0x5b84c7(0x1b4)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x244466}});return{'plan':_0x3e6069,'snapshot':_0x22e075};}async function buildSafeAddPlan(_0x617b03,_0x3c4188){try{return await buildAddPlan(_0x617b03,_0x3c4188);}catch(_0x2387d4){throw safeMenuAddError(_0x2387d4);}}async function recheckAddSnapshot(_0x4c9066,_0x287c08){const _0xf58eca=a103_0xfd785a;try{await recheckMutationSnapshot(_0x4c9066,_0x287c08,_0xf58eca(0x1aa));}catch(_0x2db666){const _0x2a3a69=getFailureRecord(_0x2db666);throw externalLinkCreateFailure(_0x2db666,_0x287c08,{'stage':_0xf58eca(0x17c),'failed':{..._0x2a3a69?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x2a3a69[_0xf58eca(0x18c)]}:{},..._0x2a3a69?.['currentSnapshotHash']?{'currentSnapshotHash':_0x2a3a69['currentSnapshotHash']}:{}}});}}function createBody(_0x2b648d){const _0x2f394d=a103_0xfd785a;return{'parentId':toApiParentId(_0x2b648d['parentId']),'label':String(_0x2b648d[_0x2f394d(0x1ba)]),'type':String(_0x2b648d[_0x2f394d(0x150)]),'url':String(_0x2b648d[_0x2f394d(0x1b8)]),'visible':Boolean(_0x2b648d['visible']),'sort':Number(_0x2b648d['sort']),'extend':{}};}function buildMenuLookupCommand(_0x36816e){const _0x3c6539=a103_0xfd785a,_0x4ef33c='\x27'+_0x36816e[_0x3c6539(0x1bf)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x3c6539(0x1a5)+_0x4ef33c+_0x3c6539(0x172);}async function recoverAfterResponseLoss(_0xb0be0f,_0x5e8bbb,_0x4951d5){const _0x5671a0=a103_0xfd785a,{plan:_0x3293a1,snapshot:_0x31dd40}=_0x5e8bbb,_0x28f55a=_0x3293a1['after'];let _0x2d1eff;try{_0x2d1eff=await fetchMenuSnapshot(_0xb0be0f[_0x5671a0(0x18b)],_0xb0be0f[_0x5671a0(0x15a)]);}catch(_0x529609){throw recoveryRequiredFailure(_0x3293a1,_0x4951d5,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x57dc99=_0x2d1eff['menus'][_0x5671a0(0x149)](_0x589583=>_0x589583[_0x5671a0(0x151)]===_0x28f55a[_0x5671a0(0x151)]&&_0x589583[_0x5671a0(0x150)]===_0x28f55a[_0x5671a0(0x150)]&&_0x589583[_0x5671a0(0x1ba)]===_0x28f55a[_0x5671a0(0x1ba)]&&_0x589583[_0x5671a0(0x1b8)]===_0x28f55a['url']),_0x361181=_0x57dc99[_0x5671a0(0x149)](_0x199c7e=>!_0x31dd40[_0x5671a0(0x16a)][_0x5671a0(0x1a0)](_0x199c7e['id'])),_0x34ba0d=_0x57dc99[_0x5671a0(0x149)](_0x35107b=>_0x31dd40[_0x5671a0(0x16a)][_0x5671a0(0x1a0)](_0x35107b['id']));if(_0x57dc99[_0x5671a0(0x189)]!==0x1||_0x361181['length']!==0x1)throw recoveryRequiredFailure(_0x3293a1,_0x4951d5,{'matchCount':_0x57dc99['length'],'newMatchCount':_0x361181[_0x5671a0(0x189)],'preexistingMatchCount':_0x34ba0d[_0x5671a0(0x189)]});const _0x3b7902=_0x361181[0x0];try{verifyCreatedFact(_0x3b7902,_0x3b7902['id'],_0x28f55a,null);}catch(_0x30d334){const _0x27fc83=_0x30d334 instanceof Error&&'code'in _0x30d334?_0x30d334:menuError(_0x5671a0(0x13a),_0x5671a0(0x191)+_0x3b7902['id']+_0x5671a0(0x169),'Run\x20'+_0x4951d5+_0x5671a0(0x1af));throw externalLinkCreateFailure(_0x27fc83,_0x3293a1,{'stage':_0x5671a0(0x190),'succeeded':[{'id':_0x3b7902['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x3b7902['id'],'finalFactsConfirmed':![]},'after':_0x3b7902,'warnings':[_0x5671a0(0x1bd)+_0x3b7902['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x5671a0(0x1bc),'targetId':_0x3b7902['id'],'recovered':!![],'lookupCommand':_0x4951d5}});}return creationSuccess(_0x3293a1,_0x2d1eff,_0x3b7902,!![]);}function recoveryRequiredFailure(_0x3d70de,_0x54c54c,_0x8a0269){const _0xe2a10c=a103_0xfd785a,_0x473623=menuError(_0xe2a10c(0x14e),_0xe2a10c(0x13f),_0xe2a10c(0x133)+_0x54c54c+_0xe2a10c(0x139));return externalLinkCreateFailure(_0x473623,_0x3d70de,{'stage':_0xe2a10c(0x146),'failed':_0x8a0269,'warnings':[_0xe2a10c(0x1b6)],'verification':{'status':_0xe2a10c(0x1bc),..._0x8a0269,'lookupCommand':_0x54c54c}});}async function readAndVerifyCreatedMenu(_0x80f5a4){const _0x5542c3=a103_0xfd785a;let _0x35551b;try{_0x35551b=await fetchMenuSnapshot(_0x80f5a4[_0x5542c3(0x18b)],_0x80f5a4[_0x5542c3(0x15a)]);}catch(_0x41ec53){const _0x4c7d79=menuError(_0x5542c3(0x13a),_0x5542c3(0x1bd)+_0x80f5a4[_0x5542c3(0x193)]+_0x5542c3(0x187),_0x5542c3(0x133)+_0x80f5a4[_0x5542c3(0x17e)]+_0x5542c3(0x176));throw externalLinkCreateFailure(_0x4c7d79,_0x80f5a4[_0x5542c3(0x1bb)],{'stage':'verification','succeeded':[{'id':_0x80f5a4[_0x5542c3(0x193)],'created':!![]}],'failed':{'id':_0x80f5a4[_0x5542c3(0x193)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x80f5a4[_0x5542c3(0x142)],'id':_0x80f5a4['createdId'],'path':_0x80f5a4[_0x5542c3(0x171)]},'warnings':[_0x5542c3(0x1bd)+_0x80f5a4['createdId']+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x80f5a4[_0x5542c3(0x193)],'lookupCommand':_0x80f5a4[_0x5542c3(0x17e)]}});}const _0x34bf29=_0x35551b[_0x5542c3(0x16a)][_0x5542c3(0x195)](_0x80f5a4[_0x5542c3(0x193)]);try{if(!_0x34bf29)throw menuError('menu_verification_failed',_0x5542c3(0x185)+_0x80f5a4[_0x5542c3(0x193)]+_0x5542c3(0x177),_0x5542c3(0x133)+_0x80f5a4[_0x5542c3(0x17e)]+_0x5542c3(0x176));verifyCreatedFact(_0x34bf29,_0x80f5a4[_0x5542c3(0x193)],_0x80f5a4[_0x5542c3(0x142)],_0x80f5a4[_0x5542c3(0x171)]);}catch(_0x5e90a4){const _0x367464=_0x5e90a4 instanceof Error&&_0x5542c3(0x16f)in _0x5e90a4?_0x5e90a4:menuError(_0x5542c3(0x13a),'Created\x20menu\x20'+_0x80f5a4[_0x5542c3(0x193)]+_0x5542c3(0x19e),_0x5542c3(0x133)+_0x80f5a4[_0x5542c3(0x17e)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x367464,_0x80f5a4['plan'],{'stage':'verification','succeeded':[{'id':_0x80f5a4['createdId'],'created':!![]}],'failed':{'id':_0x80f5a4[_0x5542c3(0x193)],'finalFactsConfirmed':![]},'after':_0x34bf29??{..._0x80f5a4['afterPlan'],'id':_0x80f5a4[_0x5542c3(0x193)],'path':_0x80f5a4[_0x5542c3(0x171)]},'warnings':[_0x5542c3(0x1bd)+_0x80f5a4['createdId']+_0x5542c3(0x16e)],'verification':{'status':_0x5542c3(0x1bc),'targetId':_0x80f5a4['createdId'],'recovered':_0x80f5a4['recovered'],'lookupCommand':_0x80f5a4['lookupCommand']}});}return{'snapshot':_0x35551b,'fact':_0x34bf29};}function verifyCreatedFact(_0x3c5553,_0x251bd7,_0x5d1a3c,_0x2f0e9d){const _0x147825=a103_0xfd785a;if(!Number['isSafeInteger'](_0x3c5553['id'])||_0x3c5553['id']<=0x0||_0x3c5553['id']!==_0x251bd7)throw menuError(_0x147825(0x13a),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x147825(0x13d));const _0x29eb18=[[_0x147825(0x135),_0x3c5553[_0x147825(0x151)],_0x5d1a3c[_0x147825(0x151)]],['type',_0x3c5553[_0x147825(0x150)],_0x5d1a3c['type']],['label',_0x3c5553['label'],_0x5d1a3c['label']],[_0x147825(0x1ae),_0x3c5553[_0x147825(0x1b8)],_0x5d1a3c['url']],[_0x147825(0x162),_0x3c5553['visible'],_0x5d1a3c['visible']],[_0x147825(0x192),_0x3c5553['sort'],_0x5d1a3c['sort']]];for(const [_0x32b547,_0x240376,_0x3d824f]of _0x29eb18){if(_0x240376!==_0x3d824f)throw menuError(_0x147825(0x13a),_0x147825(0x185)+_0x3c5553['id']+'\x20has\x20an\x20unexpected\x20'+_0x32b547+'.',_0x147825(0x18a));}if(!_0x3c5553[_0x147825(0x15f)][_0x147825(0x153)]()||_0x2f0e9d!==null&&_0x3c5553[_0x147825(0x15f)]!==_0x2f0e9d)throw menuError(_0x147825(0x13a),_0x147825(0x185)+_0x3c5553['id']+_0x147825(0x14c),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function a103_0x2de3(_0x2c9294,_0x3e337b){_0x2c9294=_0x2c9294-0x133;const _0x53a75f=a103_0x53a7();let _0x2de36c=_0x53a75f[_0x2c9294];return _0x2de36c;}function creationSuccess(_0x2dfa7c,_0x25e666,_0x531252,_0x2cb1c7){const _0x3bd172=a103_0xfd785a,_0x47eef7=mutationResult({..._0x2dfa7c,'after':_0x531252,'dryRun':![],'succeeded':[{'id':_0x531252['id'],'created':!![],'recovered':_0x2cb1c7}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x25e666[_0x3bd172(0x1b4)],'targetId':_0x531252['id'],'recovered':_0x2cb1c7,'path':_0x531252[_0x3bd172(0x15f)]}});return{'ok':!![],'message':_0x2cb1c7?_0x3bd172(0x1b1)+_0x531252['id']+'\x20after\x20response\x20loss.':_0x3bd172(0x183)+_0x531252['id']+'.','data':{..._0x47eef7,'recovered':_0x2cb1c7}};}function externalLinkCreateFailure(_0xce61c1,_0x52fbd4,_0x130543){const _0x387767=a103_0xfd785a;return menuFailure(safeMenuAddError(_0xce61c1),redactFailurePlan(_0x52fbd4),{..._0x130543,'succeeded':_0x130543[_0x387767(0x186)]?.[_0x387767(0x15e)](redactFailureRecord),'failed':_0x130543[_0x387767(0x1bc)]?redactFailureRecord(_0x130543['failed']):undefined,'verification':_0x130543['verification']?redactFailureRecord(_0x130543[_0x387767(0x190)]):undefined,'after':_0x130543[_0x387767(0x181)]===undefined?undefined:redactFailureValue(_0x130543[_0x387767(0x181)])});}function redactFailurePlan(_0x1b65c6){const _0x92d72=a103_0xfd785a;return{..._0x1b65c6,'selector':redactFailureRecord(_0x1b65c6[_0x92d72(0x163)]),'before':redactFailureValue(_0x1b65c6[_0x92d72(0x145)]),'after':redactFailureValue(_0x1b65c6[_0x92d72(0x181)]),'plannedActions':_0x1b65c6[_0x92d72(0x15d)]?.[_0x92d72(0x15e)](_0x3eb2a7=>({..._0x3eb2a7,'body':redactFailureRecord(_0x3eb2a7[_0x92d72(0x156)])})),'succeeded':_0x1b65c6['succeeded']['map'](redactFailureRecord),'failed':_0x1b65c6[_0x92d72(0x1bc)][_0x92d72(0x15e)](redactFailureRecord),'verification':_0x1b65c6[_0x92d72(0x190)]?redactFailureRecord(_0x1b65c6[_0x92d72(0x190)]):undefined};}function redactFailureRecord(_0x1f06f5){return redactFailureValue(_0x1f06f5);}function redactFailureValue(_0xaba0ba,_0x29afb2=''){const _0x511b68=a103_0xfd785a,_0x19c7e6=_0x29afb2[_0x511b68(0x16b)]()[_0x511b68(0x1bf)](/[^a-z0-9]/g,'');if(['cause',_0x511b68(0x164),_0x511b68(0x155),_0x511b68(0x184)][_0x511b68(0x197)](_0x19c7e6))return _0x511b68(0x198);if(Array[_0x511b68(0x13e)](_0xaba0ba))return _0xaba0ba['map'](_0x4abc3e=>redactFailureValue(_0x4abc3e));if(_0xaba0ba&&typeof _0xaba0ba===_0x511b68(0x16d))return Object[_0x511b68(0x178)](Object[_0x511b68(0x1b5)](_0xaba0ba)['map'](([_0x2e04a9,_0x27250d])=>[_0x2e04a9,redactFailureValue(_0x27250d,_0x2e04a9)]));return _0xaba0ba;}function safeMenuAddError(_0x3f161a){const _0x4c97ed=a103_0xfd785a,_0x5129da=_0x3f161a instanceof CliError?_0x3f161a[_0x4c97ed(0x16f)]:_0x4c97ed(0x19a);switch(_0x5129da){case _0x4c97ed(0x18f):return menuError(_0x5129da,_0x4c97ed(0x1a4),_0x4c97ed(0x141));case'menu_permission_denied':return menuError(_0x5129da,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x4c97ed(0x148):return menuError(_0x5129da,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x4c97ed(0x19f));case _0x4c97ed(0x13a):return menuError(_0x5129da,_0x4c97ed(0x158),_0x4c97ed(0x19f));case'menu_create_recovery_required':return menuError(_0x5129da,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x4c97ed(0x1c3));case _0x4c97ed(0x19a):case _0x4c97ed(0x1be):case _0x4c97ed(0x1b2):case _0x4c97ed(0x19c):case'menu_sort_overflow':return menuError(_0x5129da,'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x4c97ed(0x19a),_0x4c97ed(0x1c2),_0x4c97ed(0x199));}}function getFailureRecord(_0x5c9d7f){const _0x23968b=a103_0xfd785a;if(!(_0x5c9d7f instanceof Error)||!('data'in _0x5c9d7f))return undefined;const _0x2dc7c5=_0x5c9d7f[_0x23968b(0x160)];if(!_0x2dc7c5||typeof _0x2dc7c5!==_0x23968b(0x16d))return undefined;const _0xe3bb6b=_0x2dc7c5[_0x23968b(0x1bc)];if(!Array[_0x23968b(0x13e)](_0xe3bb6b)||!_0xe3bb6b[0x0]||typeof _0xe3bb6b[0x0]!==_0x23968b(0x16d))return undefined;return _0xe3bb6b[0x0];}
|
|
1
|
+
const a103_0x24a2e7=a103_0x1e99;(function(_0x5f0df0,_0x10025e){const _0x449455=a103_0x1e99,_0x30e424=_0x5f0df0();while(!![]){try{const _0x7b7ac3=parseInt(_0x449455(0x1f9))/0x1*(-parseInt(_0x449455(0x21a))/0x2)+-parseInt(_0x449455(0x1c3))/0x3+parseInt(_0x449455(0x1f7))/0x4*(parseInt(_0x449455(0x1ab))/0x5)+-parseInt(_0x449455(0x1fe))/0x6*(parseInt(_0x449455(0x192))/0x7)+parseInt(_0x449455(0x1a0))/0x8+-parseInt(_0x449455(0x208))/0x9+parseInt(_0x449455(0x1ec))/0xa*(parseInt(_0x449455(0x1ed))/0xb);if(_0x7b7ac3===_0x10025e)break;else _0x30e424['push'](_0x30e424['shift']());}catch(_0x4259a7){_0x30e424['push'](_0x30e424['shift']());}}}(a103_0x4be3,0x693af));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a103_0x1e99(_0x145c61,_0x52a0f9){_0x145c61=_0x145c61-0x190;const _0x4be357=a103_0x4be3();let _0x1e9937=_0x4be357[_0x145c61];return _0x1e9937;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a103_0x24a2e7(0x1ba),'new-window':a103_0x24a2e7(0x1ad)};export function validateExternalMenuUrl(_0x5ca603){const _0x286709=a103_0x24a2e7,_0x4ff18f=_0x5ca603[_0x286709(0x1e4)]();let _0xda40c;try{_0xda40c=new URL(_0x4ff18f);}catch{throw menuError(_0x286709(0x1c0),_0x286709(0x1ce),_0x286709(0x1c6));}if(_0xda40c[_0x286709(0x1ca)]!==_0x286709(0x215))throw menuError(_0x286709(0x1bc),_0x286709(0x1fd),_0x286709(0x218));if(_0xda40c['username']||_0xda40c[_0x286709(0x1be)])throw menuError('menu_url_credentials_forbidden',_0x286709(0x200),_0x286709(0x1d1));return _0x4ff18f;}export const menuExternalLinkCreate={'service':a103_0x24a2e7(0x1a3),'command':a103_0x24a2e7(0x199),'description':a103_0x24a2e7(0x1e5),'risk':'write','structuredErrors':!![],'flags':[{'name':a103_0x24a2e7(0x1dc),'type':'string','required':!![],'description':a103_0x24a2e7(0x1fa)},{'name':'open-mode','type':a103_0x24a2e7(0x1c2),'required':!![],'enum':[a103_0x24a2e7(0x1b2),'new-window'],'description':a103_0x24a2e7(0x1dd)},{'name':'url','type':a103_0x24a2e7(0x1c2),'required':!![],'description':a103_0x24a2e7(0x1f3)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a103_0x24a2e7(0x1eb),'type':a103_0x24a2e7(0x1c8),'default':!![],'description':a103_0x24a2e7(0x1d8)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x550616){validateAddInput(_0x550616);},async 'dryRun'(_0x1cd8a1){const _0x544f1b=a103_0x24a2e7;validateAddInput(_0x1cd8a1);const {plan:_0x42a2bd}=await buildSafeAddPlan(_0x1cd8a1,!![]),_0x58474a=_0x42a2bd[_0x544f1b(0x1cd)],_0x545d88=createBody(_0x58474a);return menuDryRunResult(_0x42a2bd,{'method':'POST','url':_0x544f1b(0x1f0),'body':_0x545d88,'description':_0x544f1b(0x1a9)+JSON[_0x544f1b(0x1b5)](_0x58474a['label'])+_0x544f1b(0x213)+_0x1cd8a1['str'](_0x544f1b(0x1e3))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x1b7dc8){const _0x19ef5d=a103_0x24a2e7;validateAddInput(_0x1b7dc8);const _0x8329f=await buildSafeAddPlan(_0x1b7dc8,![]),{plan:_0x9d7c41,snapshot:_0x1a12be}=_0x8329f,_0x34a62d=_0x9d7c41['after'],_0x63c74b=buildMenuLookupCommand(_0x1b7dc8['appCode']);await recheckAddSnapshot(_0x1b7dc8,_0x9d7c41);let _0x51b247;try{_0x51b247=await createMenuEntity(_0x1b7dc8[_0x19ef5d(0x1a6)],_0x1b7dc8[_0x19ef5d(0x21d)],createBody(_0x34a62d));}catch(_0xe7d756){const _0x3fcd73=mapMenuApiError(_0xe7d756,'create\x20external\x20menu');if(!isMenuResponseLoss(_0xe7d756)||_0x3fcd73[_0x19ef5d(0x1a4)]===_0x19ef5d(0x19c))throw externalLinkCreateFailure(_0x3fcd73,_0x9d7c41,{'stage':_0x19ef5d(0x1ef),'failed':{},'verification':{'status':_0x19ef5d(0x1c1),'lookupCommand':_0x63c74b}});return recoverAfterResponseLoss(_0x1b7dc8,_0x8329f,_0x63c74b);}const _0x55667c=Number(_0x51b247?.['id']),_0x456e39=typeof _0x51b247?.['path']===_0x19ef5d(0x1c2)?_0x51b247[_0x19ef5d(0x1a5)]:'';if(!Number['isSafeInteger'](_0x55667c)||_0x55667c<=0x0||!_0x456e39[_0x19ef5d(0x1e4)]()){const _0x451bce=menuError(_0x19ef5d(0x1b4),_0x19ef5d(0x207),_0x19ef5d(0x1e9)+_0x63c74b+_0x19ef5d(0x1e0));throw externalLinkCreateFailure(_0x451bce,_0x9d7c41,{'stage':_0x19ef5d(0x1fb),'succeeded':Number[_0x19ef5d(0x19d)](_0x55667c)&&_0x55667c>0x0?[{'id':_0x55667c,'created':!![]}]:[],'failed':{'createdId':Number[_0x19ef5d(0x19d)](_0x55667c)?_0x55667c:null,'generatedPathConfirmed':Boolean(_0x456e39[_0x19ef5d(0x1e4)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x19ef5d(0x19d)](_0x55667c)&&_0x55667c>0x0?{..._0x34a62d,'id':_0x55667c,'path':_0x456e39}:_0x34a62d,'verification':{'status':_0x19ef5d(0x1c1),'lookupCommand':_0x63c74b,...Number['isSafeInteger'](_0x55667c)&&_0x55667c>0x0?{'targetId':_0x55667c}:{}}});}const _0x2ce602=await readAndVerifyCreatedMenu({'appCode':_0x1b7dc8['appCode'],'cookie':_0x1b7dc8['cookie'],'plan':_0x9d7c41,'afterPlan':_0x34a62d,'createdId':_0x55667c,'expectedPath':_0x456e39,'lookupCommand':_0x63c74b,'recovered':![]});return creationSuccess(_0x9d7c41,_0x2ce602[_0x19ef5d(0x1d5)],_0x2ce602['fact'],![]);}};function validateAddInput(_0x5efac7){const _0x4d6c05=a103_0x24a2e7;if(!_0x5efac7[_0x4d6c05(0x1f1)](_0x4d6c05(0x1dc))['trim']())throw CliErrors[_0x4d6c05(0x1aa)](_0x4d6c05(0x1dc));resolveExternalMenuType(_0x5efac7),validateExternalMenuUrl(_0x5efac7[_0x4d6c05(0x1f1)]('url')),parseParentId(_0x5efac7,'parent-id'),validateSort(_0x5efac7);}function resolveExternalMenuType(_0x2e706b){const _0x3fd9e2=a103_0x24a2e7,_0x2263bc=_0x2e706b[_0x3fd9e2(0x1f1)](_0x3fd9e2(0x1e3))[_0x3fd9e2(0x1e4)]();if(!_0x2263bc)throw CliErrors['flagMissing']('open-mode');const _0x42d1a8=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2263bc];if(!_0x42d1a8)throw menuError(_0x3fd9e2(0x1bf),_0x3fd9e2(0x1d2),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x42d1a8;}async function buildAddPlan(_0x403450,_0x227032){const _0x4a1706=a103_0x24a2e7,_0x2c6c5c=await fetchMutationSnapshot(_0x403450,_0x4a1706(0x1a2)),_0x59bbac=parseParentId(_0x403450,'parent-id')??null;if(_0x59bbac!=null)requireFolder(_0x2c6c5c,_0x59bbac);const _0x456fe0=validateSort(_0x403450),_0x517bba=_0x456fe0??nextSiblingSort(_0x2c6c5c,_0x59bbac,_0x4a1706(0x1a3)),_0x1007d2=_0x403450[_0x4a1706(0x1f1)](_0x4a1706(0x1dc))['trim'](),_0x361f33=resolveExternalMenuType(_0x403450),_0xb2ff9=validateExternalMenuUrl(_0x403450[_0x4a1706(0x1f1)]('url')),_0x15bdd3=Object[_0x4a1706(0x1b9)][_0x4a1706(0x190)][_0x4a1706(0x20e)](_0x403450[_0x4a1706(0x1f6)],_0x4a1706(0x1eb))?_0x403450[_0x4a1706(0x1f4)](_0x4a1706(0x1eb)):!![],_0xfbe2c4={'id':null,'parentId':_0x59bbac,'label':_0x1007d2,'path':'<platform-generated>','url':_0xb2ff9,'type':_0x361f33,'visible':_0x15bdd3,'sort':_0x517bba},_0x38cd45=buildMenuLookupCommand(_0x403450[_0x4a1706(0x1a6)]),_0x239bb1=mutationResult({'operation':_0x4a1706(0x1cc),'selector':{'parentId':_0x59bbac,'type':_0x361f33,'label':_0x1007d2,'url':_0xb2ff9},'before':null,'after':_0xfbe2c4,'dryRun':_0x227032,'backend':[{'method':_0x4a1706(0x214),'path':_0x4a1706(0x1f0)}],'plannedActions':[{'stage':'create-menu','method':_0x4a1706(0x214),'path':'/smartapi/menu/create','body':createBody(_0xfbe2c4)}],'snapshotHash':_0x2c6c5c['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x38cd45}});return{'plan':_0x239bb1,'snapshot':_0x2c6c5c};}async function buildSafeAddPlan(_0x47f329,_0x33b3cf){try{return await buildAddPlan(_0x47f329,_0x33b3cf);}catch(_0x43f56a){throw safeMenuAddError(_0x43f56a);}}async function recheckAddSnapshot(_0xaa71e9,_0x2afcd2){const _0x10b64f=a103_0x24a2e7;try{await recheckMutationSnapshot(_0xaa71e9,_0x2afcd2,_0x10b64f(0x1a2));}catch(_0x2258a9){const _0x288b87=getFailureRecord(_0x2258a9);throw externalLinkCreateFailure(_0x2258a9,_0x2afcd2,{'stage':_0x10b64f(0x19e),'failed':{..._0x288b87?.[_0x10b64f(0x19f)]?{'expectedSnapshotHash':_0x288b87[_0x10b64f(0x19f)]}:{},..._0x288b87?.[_0x10b64f(0x209)]?{'currentSnapshotHash':_0x288b87[_0x10b64f(0x209)]}:{}}});}}function createBody(_0xb7d27e){const _0x4dc85e=a103_0x24a2e7;return{'parentId':toApiParentId(_0xb7d27e[_0x4dc85e(0x21e)]),'label':String(_0xb7d27e[_0x4dc85e(0x1dc)]),'type':String(_0xb7d27e[_0x4dc85e(0x203)]),'url':String(_0xb7d27e[_0x4dc85e(0x1a7)]),'visible':Boolean(_0xb7d27e[_0x4dc85e(0x1eb)]),'sort':Number(_0xb7d27e[_0x4dc85e(0x205)]),'extend':{}};}function buildMenuLookupCommand(_0x2e75bd){const _0x2a32aa=a103_0x24a2e7,_0x104c1a='\x27'+_0x2e75bd['replace'](/'/g,_0x2a32aa(0x19b))+'\x27';return _0x2a32aa(0x1b3)+_0x104c1a+_0x2a32aa(0x1f8);}async function recoverAfterResponseLoss(_0x4eadf4,_0x1e9337,_0x1d6d61){const _0x2ac81d=a103_0x24a2e7,{plan:_0xf04a7,snapshot:_0x59e5c1}=_0x1e9337,_0x821bdc=_0xf04a7['after'];let _0x3dcefd;try{_0x3dcefd=await fetchMenuSnapshot(_0x4eadf4[_0x2ac81d(0x1a6)],_0x4eadf4['cookie']);}catch(_0x19a6b0){throw recoveryRequiredFailure(_0xf04a7,_0x1d6d61,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x9a1941=_0x3dcefd[_0x2ac81d(0x1c7)][_0x2ac81d(0x20f)](_0x432799=>_0x432799[_0x2ac81d(0x21e)]===_0x821bdc['parentId']&&_0x432799['type']===_0x821bdc[_0x2ac81d(0x203)]&&_0x432799[_0x2ac81d(0x1dc)]===_0x821bdc[_0x2ac81d(0x1dc)]&&_0x432799[_0x2ac81d(0x1a7)]===_0x821bdc[_0x2ac81d(0x1a7)]),_0x5444d3=_0x9a1941[_0x2ac81d(0x20f)](_0x112a53=>!_0x59e5c1[_0x2ac81d(0x1d0)][_0x2ac81d(0x1bb)](_0x112a53['id'])),_0x5f1f24=_0x9a1941[_0x2ac81d(0x20f)](_0x4a6b73=>_0x59e5c1[_0x2ac81d(0x1d0)]['has'](_0x4a6b73['id']));if(_0x9a1941[_0x2ac81d(0x1da)]!==0x1||_0x5444d3[_0x2ac81d(0x1da)]!==0x1)throw recoveryRequiredFailure(_0xf04a7,_0x1d6d61,{'matchCount':_0x9a1941[_0x2ac81d(0x1da)],'newMatchCount':_0x5444d3[_0x2ac81d(0x1da)],'preexistingMatchCount':_0x5f1f24['length']});const _0x318307=_0x5444d3[0x0];try{verifyCreatedFact(_0x318307,_0x318307['id'],_0x821bdc,null);}catch(_0x2c49bc){const _0x3a2359=_0x2c49bc instanceof Error&&_0x2ac81d(0x1a4)in _0x2c49bc?_0x2c49bc:menuError('menu_verification_failed','Recovered\x20menu\x20'+_0x318307['id']+'\x20could\x20not\x20be\x20verified.','Run\x20'+_0x1d6d61+_0x2ac81d(0x196));throw externalLinkCreateFailure(_0x3a2359,_0xf04a7,{'stage':_0x2ac81d(0x204),'succeeded':[{'id':_0x318307['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x318307['id'],'finalFactsConfirmed':![]},'after':_0x318307,'warnings':[_0x2ac81d(0x1f5)+_0x318307['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x2ac81d(0x1c1),'targetId':_0x318307['id'],'recovered':!![],'lookupCommand':_0x1d6d61}});}return creationSuccess(_0xf04a7,_0x3dcefd,_0x318307,!![]);}function a103_0x4be3(){const _0x4ec4fd=['appCode','url','create-recovery','Would\x20create\x20external\x20website\x20link\x20menu\x20','flagMissing','3616575EhdAvz','parent','link','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','menu_mutation_failed','menu_sort_overflow','createdId','embedded','rabetbase\x20menu\x20list\x20--appcode\x20','menu_create_response_invalid','stringify','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','plannedActions','prototype','iframe','has','menu_url_https_required','fromEntries','password','menu_open_mode_invalid','menu_url_invalid','failed','string','597807fPeOvi','recovered','\x20has\x20an\x20unexpected\x20','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','menus','boolean','entries','protocol','causemessage','add','after','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','byId','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','\x20failed\x20final\x20verification.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','snapshot','Created\x20external\x20menu\x20','toLowerCase','Whether\x20the\x20menu\x20is\x20visible','Created\x20menu\x20','length','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','label','How\x20to\x20open\x20the\x20external\x20website','rawerror','External\x20menu\x20creation\x20failed.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','Recovered\x20created\x20external\x20menu\x20','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','open-mode','trim','Create\x20an\x20external\x20website\x20link\x20menu','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','visibility','menu_sort_invalid','Run\x20','selector','visible','530ENhZVH','103433TGCnZc','plan','create','/smartapi/menu/create','str','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','External\x20HTTPS\x20URL','bool','Menu\x20','rawFlags','4AbMEYe','\x20--format\x20compress','28KbMZFO','Menu\x20label','create-response-validation','isArray','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','6KYOhoy','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','readbackerror','menu_state_drift','type','verification','sort','map','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','1137798xiDzzZ','currentSnapshotHash','succeeded','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','includes','data','call','filter','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','expectedPath','menu\x20list','\x20with\x20','POST','https:','menu_create_recovery_required','lookupCommand','Provide\x20an\x20HTTPS\x20URL.','body','13868xjArOr','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','get','cookie','parentId','hasOwnProperty','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','2977562GFezDt','object','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','before','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','afterPlan','\x20has\x20an\x20unexpected\x20generated\x20path.','external-link-create','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x27\x5c\x27\x27','menu_permission_denied','isSafeInteger','pre-write-recheck','expectedSnapshotHash','1236464OZbxPy','menu_verification_failed','create\x20external\x20menu','menu','code','path'];a103_0x4be3=function(){return _0x4ec4fd;};return a103_0x4be3();}function recoveryRequiredFailure(_0xdbb054,_0xb34425,_0x4c799a){const _0x431fa6=a103_0x24a2e7,_0x2f819b=menuError('menu_create_recovery_required',_0x431fa6(0x20b),'Run\x20'+_0xb34425+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x2f819b,_0xdbb054,{'stage':_0x431fa6(0x1a8),'failed':_0x4c799a,'warnings':[_0x431fa6(0x1b6)],'verification':{'status':_0x431fa6(0x1c1),..._0x4c799a,'lookupCommand':_0xb34425}});}async function readAndVerifyCreatedMenu(_0x593bee){const _0x27e007=a103_0x24a2e7;let _0x50581f;try{_0x50581f=await fetchMenuSnapshot(_0x593bee[_0x27e007(0x1a6)],_0x593bee[_0x27e007(0x21d)]);}catch(_0x4ce838){const _0x159336=menuError(_0x27e007(0x1a1),_0x27e007(0x1f5)+_0x593bee[_0x27e007(0x1b1)]+_0x27e007(0x1db),_0x27e007(0x1e9)+_0x593bee['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x159336,_0x593bee[_0x27e007(0x1ee)],{'stage':_0x27e007(0x204),'succeeded':[{'id':_0x593bee[_0x27e007(0x1b1)],'created':!![]}],'failed':{'id':_0x593bee[_0x27e007(0x1b1)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x593bee['afterPlan'],'id':_0x593bee[_0x27e007(0x1b1)],'path':_0x593bee[_0x27e007(0x211)]},'warnings':[_0x27e007(0x1f5)+_0x593bee['createdId']+_0x27e007(0x1e6)],'verification':{'status':_0x27e007(0x1c1),'targetId':_0x593bee[_0x27e007(0x1b1)],'lookupCommand':_0x593bee[_0x27e007(0x217)]}});}const _0x3c47df=_0x50581f[_0x27e007(0x1d0)][_0x27e007(0x21c)](_0x593bee[_0x27e007(0x1b1)]);try{if(!_0x3c47df)throw menuError(_0x27e007(0x1a1),'Created\x20menu\x20'+_0x593bee[_0x27e007(0x1b1)]+_0x27e007(0x210),_0x27e007(0x1e9)+_0x593bee[_0x27e007(0x217)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x3c47df,_0x593bee[_0x27e007(0x1b1)],_0x593bee[_0x27e007(0x197)],_0x593bee[_0x27e007(0x211)]);}catch(_0x3904e0){const _0x3455f5=_0x3904e0 instanceof Error&&_0x27e007(0x1a4)in _0x3904e0?_0x3904e0:menuError('menu_verification_failed',_0x27e007(0x1d9)+_0x593bee[_0x27e007(0x1b1)]+_0x27e007(0x1d3),_0x27e007(0x1e9)+_0x593bee[_0x27e007(0x217)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3455f5,_0x593bee[_0x27e007(0x1ee)],{'stage':_0x27e007(0x204),'succeeded':[{'id':_0x593bee['createdId'],'created':!![]}],'failed':{'id':_0x593bee[_0x27e007(0x1b1)],'finalFactsConfirmed':![]},'after':_0x3c47df??{..._0x593bee[_0x27e007(0x197)],'id':_0x593bee[_0x27e007(0x1b1)],'path':_0x593bee[_0x27e007(0x211)]},'warnings':['Menu\x20'+_0x593bee[_0x27e007(0x1b1)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x27e007(0x1c1),'targetId':_0x593bee[_0x27e007(0x1b1)],'recovered':_0x593bee[_0x27e007(0x1c4)],'lookupCommand':_0x593bee[_0x27e007(0x217)]}});}return{'snapshot':_0x50581f,'fact':_0x3c47df};}function verifyCreatedFact(_0x31f9ba,_0x3fc991,_0x207dab,_0x2bb349){const _0x5456df=a103_0x24a2e7;if(!Number[_0x5456df(0x19d)](_0x31f9ba['id'])||_0x31f9ba['id']<=0x0||_0x31f9ba['id']!==_0x3fc991)throw menuError(_0x5456df(0x1a1),_0x5456df(0x1b7),_0x5456df(0x1e2));const _0x2bd564=[[_0x5456df(0x1ac),_0x31f9ba[_0x5456df(0x21e)],_0x207dab['parentId']],['type',_0x31f9ba[_0x5456df(0x203)],_0x207dab[_0x5456df(0x203)]],[_0x5456df(0x1dc),_0x31f9ba['label'],_0x207dab[_0x5456df(0x1dc)]],['URL',_0x31f9ba[_0x5456df(0x1a7)],_0x207dab['url']],[_0x5456df(0x1e7),_0x31f9ba['visible'],_0x207dab['visible']],[_0x5456df(0x205),_0x31f9ba[_0x5456df(0x205)],_0x207dab[_0x5456df(0x205)]]];for(const [_0x2a8f13,_0x9f2a1b,_0x28a86e]of _0x2bd564){if(_0x9f2a1b!==_0x28a86e)throw menuError(_0x5456df(0x1a1),_0x5456df(0x1d9)+_0x31f9ba['id']+_0x5456df(0x1c5)+_0x2a8f13+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x31f9ba[_0x5456df(0x1a5)][_0x5456df(0x1e4)]()||_0x2bb349!==null&&_0x31f9ba[_0x5456df(0x1a5)]!==_0x2bb349)throw menuError(_0x5456df(0x1a1),_0x5456df(0x1d9)+_0x31f9ba['id']+_0x5456df(0x198),_0x5456df(0x191));}function creationSuccess(_0x98f24a,_0x3a54b7,_0x557c06,_0x5470b3){const _0x3c059d=a103_0x24a2e7,_0x1cf2ee=mutationResult({..._0x98f24a,'after':_0x557c06,'dryRun':![],'succeeded':[{'id':_0x557c06['id'],'created':!![],'recovered':_0x5470b3}],'verification':{'checkedBy':_0x3c059d(0x212),'snapshotHash':_0x3a54b7['hash'],'targetId':_0x557c06['id'],'recovered':_0x5470b3,'path':_0x557c06[_0x3c059d(0x1a5)]}});return{'ok':!![],'message':_0x5470b3?_0x3c059d(0x1e1)+_0x557c06['id']+'\x20after\x20response\x20loss.':_0x3c059d(0x1d6)+_0x557c06['id']+'.','data':{..._0x1cf2ee,'recovered':_0x5470b3}};}function externalLinkCreateFailure(_0xd0aeb,_0x210cab,_0x361ffa){const _0x4b9132=a103_0x24a2e7;return menuFailure(safeMenuAddError(_0xd0aeb),redactFailurePlan(_0x210cab),{..._0x361ffa,'succeeded':_0x361ffa[_0x4b9132(0x20a)]?.[_0x4b9132(0x206)](redactFailureRecord),'failed':_0x361ffa[_0x4b9132(0x1c1)]?redactFailureRecord(_0x361ffa[_0x4b9132(0x1c1)]):undefined,'verification':_0x361ffa[_0x4b9132(0x204)]?redactFailureRecord(_0x361ffa['verification']):undefined,'after':_0x361ffa[_0x4b9132(0x1cd)]===undefined?undefined:redactFailureValue(_0x361ffa['after'])});}function redactFailurePlan(_0x58bea2){const _0x35b1de=a103_0x24a2e7;return{..._0x58bea2,'selector':redactFailureRecord(_0x58bea2[_0x35b1de(0x1ea)]),'before':redactFailureValue(_0x58bea2[_0x35b1de(0x195)]),'after':redactFailureValue(_0x58bea2[_0x35b1de(0x1cd)]),'plannedActions':_0x58bea2[_0x35b1de(0x1b8)]?.[_0x35b1de(0x206)](_0x32a9ed=>({..._0x32a9ed,'body':redactFailureRecord(_0x32a9ed[_0x35b1de(0x219)])})),'succeeded':_0x58bea2[_0x35b1de(0x20a)]['map'](redactFailureRecord),'failed':_0x58bea2[_0x35b1de(0x1c1)][_0x35b1de(0x206)](redactFailureRecord),'verification':_0x58bea2[_0x35b1de(0x204)]?redactFailureRecord(_0x58bea2['verification']):undefined};}function redactFailureRecord(_0x15a124){return redactFailureValue(_0x15a124);}function redactFailureValue(_0xd3fe4f,_0x4a63cc=''){const _0x233079=a103_0x24a2e7,_0x240542=_0x4a63cc[_0x233079(0x1d7)]()['replace'](/[^a-z0-9]/g,'');if(['cause',_0x233079(0x1cb),_0x233079(0x201),_0x233079(0x1de)][_0x233079(0x20c)](_0x240542))return'<redacted>';if(Array[_0x233079(0x1fc)](_0xd3fe4f))return _0xd3fe4f[_0x233079(0x206)](_0x2b4019=>redactFailureValue(_0x2b4019));if(_0xd3fe4f&&typeof _0xd3fe4f===_0x233079(0x193))return Object[_0x233079(0x1bd)](Object[_0x233079(0x1c9)](_0xd3fe4f)['map'](([_0x5837bd,_0x1cab03])=>[_0x5837bd,redactFailureValue(_0x1cab03,_0x5837bd)]));return _0xd3fe4f;}function safeMenuAddError(_0x5e6a86){const _0x54ea92=a103_0x24a2e7,_0x377693=_0x5e6a86 instanceof CliError?_0x5e6a86[_0x54ea92(0x1a4)]:_0x54ea92(0x1af);switch(_0x377693){case _0x54ea92(0x202):return menuError(_0x377693,_0x54ea92(0x21b),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case'menu_permission_denied':return menuError(_0x377693,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x54ea92(0x194));case _0x54ea92(0x1b4):return menuError(_0x377693,_0x54ea92(0x1ae),_0x54ea92(0x19a));case'menu_verification_failed':return menuError(_0x377693,_0x54ea92(0x1ff),_0x54ea92(0x19a));case _0x54ea92(0x216):return menuError(_0x377693,_0x54ea92(0x1cf),_0x54ea92(0x1d4));case _0x54ea92(0x1af):case'menu_not_found':case'menu_parent_not_folder':case _0x54ea92(0x1e8):case _0x54ea92(0x1b0):return menuError(_0x377693,_0x54ea92(0x1df),_0x54ea92(0x1f2));default:return menuError(_0x54ea92(0x1af),_0x54ea92(0x1df),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x2ac17b){const _0x1bae35=a103_0x24a2e7;if(!(_0x2ac17b instanceof Error)||!(_0x1bae35(0x20d)in _0x2ac17b))return undefined;const _0x1247e6=_0x2ac17b[_0x1bae35(0x20d)];if(!_0x1247e6||typeof _0x1247e6!==_0x1bae35(0x193))return undefined;const _0x46ff84=_0x1247e6[_0x1bae35(0x1c1)];if(!Array[_0x1bae35(0x1fc)](_0x46ff84)||!_0x46ff84[0x0]||typeof _0x46ff84[0x0]!==_0x1bae35(0x193))return undefined;return _0x46ff84[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a104_0x207846=a104_0x58bd;(function(_0x39a5af,_0x267339){const _0x15b68f=a104_0x58bd,_0x4d5112=_0x39a5af();while(!![]){try{const _0x3819cc=-parseInt(_0x15b68f(0x1e6))/0x1*(parseInt(_0x15b68f(0x1eb))/0x2)+parseInt(_0x15b68f(0x1e5))/0x3+parseInt(_0x15b68f(0x1ed))/0x4+-parseInt(_0x15b68f(0x223))/0x5*(-parseInt(_0x15b68f(0x21c))/0x6)+-parseInt(_0x15b68f(0x1e3))/0x7+parseInt(_0x15b68f(0x21d))/0x8+-parseInt(_0x15b68f(0x1df))/0x9*(parseInt(_0x15b68f(0x216))/0xa);if(_0x3819cc===_0x267339)break;else _0x4d5112['push'](_0x4d5112['shift']());}catch(_0x5af209){_0x4d5112['push'](_0x4d5112['shift']());}}}(a104_0xc46a,0xb4fde));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a104_0x58bd(_0x5df637,_0x574b08){_0x5df637=_0x5df637-0x1db;const _0xc46ac4=a104_0xc46a();let _0x58bd87=_0xc46ac4[_0x5df637];return _0x58bd87;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a104_0x207846(0x227)}];export const menuExternalLinkUpdate={'service':a104_0x207846(0x1f7),'command':a104_0x207846(0x1dc),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a104_0x207846(0x20c),'type':a104_0x207846(0x1fc),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a104_0x207846(0x1f4),'type':'string','required':!![],'description':a104_0x207846(0x207)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x28b4f6){validateInput(_0x28b4f6),requireExplicitYes(_0x28b4f6);},async 'dryRun'(_0x1a9205){const _0x4e9d74=a104_0x207846;validateInput(_0x1a9205);const _0x125800=await buildPlan(_0x1a9205,!![]);return menuDryRunResult(_0x125800[_0x4e9d74(0x217)],{'method':_0x4e9d74(0x1e7),'url':_0x4e9d74(0x227),'body':_0x125800[_0x4e9d74(0x1e0)],'description':_0x4e9d74(0x1ea)+_0x125800[_0x4e9d74(0x1e0)]['id']+'.'});},async 'execute'(_0x6a71f3){const _0x2879cb=a104_0x207846;validateInput(_0x6a71f3),requireExplicitYes(_0x6a71f3);const _0x205139=await buildPlan(_0x6a71f3,![]),{plan:_0x33be45,body:_0x201fd6,before:_0x2db3eb,noChanges:_0x1e0606}=_0x205139,_0x2686e4=_0x201fd6['id'];if(_0x1e0606)return updateSuccess(_0x33be45,_0x205139['snapshot'],_0x2db3eb,!![],![]);await recheckMutationSnapshot(_0x6a71f3,_0x33be45,_0x2879cb(0x20a),_0x2686e4);try{await updateMenuEntity(_0x6a71f3[_0x2879cb(0x1fb)],_0x6a71f3[_0x2879cb(0x228)],{'id':_0x201fd6['id'],'url':_0x201fd6['url']});}catch(_0x5f2c05){const _0x5a3cbe=mapMenuApiError(_0x5f2c05,_0x2879cb(0x20a),_0x2686e4);if(isMenuResponseLoss(_0x5f2c05)&&_0x5a3cbe[_0x2879cb(0x222)]!==_0x2879cb(0x1e8))return recoverAfterResponseLoss(_0x6a71f3,_0x205139);throw menuFailure(_0x5a3cbe,_0x33be45,{'stage':_0x2879cb(0x201),'failed':{'id':_0x2686e4},'warnings':[_0x2879cb(0x21a)],'verification':{'status':_0x2879cb(0x1f5),'targetId':_0x2686e4,'lookupCommand':buildLookupCommand(_0x6a71f3[_0x2879cb(0x1fb)])}});}let _0x3ed50c,_0x371958;try{_0x3ed50c=await fetchMenuSnapshot(_0x6a71f3[_0x2879cb(0x1fb)],_0x6a71f3[_0x2879cb(0x228)]),_0x371958=requireMenu(_0x3ed50c,_0x2686e4),verifyUpdatedFact(_0x2db3eb,_0x371958,_0x201fd6[_0x2879cb(0x20c)]);}catch(_0x5a6451){const _0x41aae6=describeMenuErrorCause(_0x5a6451,'verify\x20external\x20menu\x20URL\x20update',_0x2686e4),_0x4bb1b8=asVerificationError(_0x5a6451,'Update\x20request\x20for\x20menu\x20'+_0x2686e4+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x4bb1b8,_0x33be45,{'stage':_0x2879cb(0x21e),'succeeded':[{'id':_0x2686e4,'updateRequested':!![]}],'failed':{'id':_0x2686e4,'requestedStateConfirmed':![],..._0x41aae6},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x2879cb(0x1f5),'targetId':_0x2686e4,'lookupCommand':buildLookupCommand(_0x6a71f3[_0x2879cb(0x1fb)])}});}return updateSuccess(_0x33be45,_0x3ed50c,_0x371958,![],![]);}};function validateInput(_0x421943){const _0x43c313=a104_0x207846;validateExactId(_0x421943),requiredUrl(_0x421943,_0x43c313(0x20c)),requiredExpectedUrl(_0x421943),parseParentId(_0x421943,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x4de4f1,_0x42fdba){const _0xb31423=a104_0x207846;if(!hasFlag(_0x4de4f1,_0x42fdba)||!_0x4de4f1[_0xb31423(0x1db)](_0x42fdba)[_0xb31423(0x1fd)]())throw CliErrors[_0xb31423(0x214)](_0x42fdba);return validateExternalMenuUrl(_0x4de4f1[_0xb31423(0x1db)](_0x42fdba));}function requiredExpectedUrl(_0x126de4){const _0x1f591b=a104_0x207846;if(!hasFlag(_0x126de4,_0x1f591b(0x1f4))||!_0x126de4[_0x1f591b(0x1db)](_0x1f591b(0x1f4))[_0x1f591b(0x1fd)]())throw CliErrors[_0x1f591b(0x214)](_0x1f591b(0x1f4));return _0x126de4[_0x1f591b(0x1db)](_0x1f591b(0x1f4))[_0x1f591b(0x1fd)]();}async function buildPlan(_0x42e50e,_0x4c250f){const _0x4fd0c5=a104_0x207846,_0x93e13b=validateExactId(_0x42e50e),_0x2a9484=requiredUrl(_0x42e50e,'url'),_0x1614b2=requiredExpectedUrl(_0x42e50e),_0x70fe6c=parseParentId(_0x42e50e,_0x4fd0c5(0x1de),{'required':!![]}),_0x5c1d19=await fetchMutationSnapshot(_0x42e50e,'update\x20external\x20menu\x20URL',_0x93e13b),_0x3b4195=requireMenu(_0x5c1d19,_0x93e13b);assertExternalLinkLeaf(_0x3b4195);if(_0x3b4195[_0x4fd0c5(0x229)]!==_0x70fe6c)throw menuError(_0x4fd0c5(0x1ff),'Menu\x20'+_0x93e13b+_0x4fd0c5(0x1e1)+formatParent(_0x70fe6c)+',\x20current\x20'+formatParent(_0x3b4195[_0x4fd0c5(0x229)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x98cbf1=_0x3b4195[_0x4fd0c5(0x20c)]===_0x2a9484;if(!_0x98cbf1&&_0x3b4195['url']!==_0x1614b2)throw menuError(_0x4fd0c5(0x1ff),_0x4fd0c5(0x20d)+_0x93e13b+_0x4fd0c5(0x215),_0x4fd0c5(0x21f));const _0x452cb4={'id':_0x93e13b,'appCode':_0x42e50e['appCode'],'url':_0x2a9484},_0x5a9467={..._0x3b4195,'url':_0x2a9484};return{'body':_0x452cb4,'before':_0x3b4195,'noChanges':_0x98cbf1,'snapshot':_0x5c1d19,'plan':mutationResult({'operation':_0x4fd0c5(0x1dc),'selector':{'id':_0x93e13b},'before':_0x3b4195,'after':_0x5a9467,'dryRun':_0x4c250f,'backend':[...BACKEND],'plannedActions':_0x98cbf1?[]:[{'stage':_0x4fd0c5(0x20f),'method':_0x4fd0c5(0x1e7),'path':'/smartapi/menu/update','body':_0x452cb4}],'snapshotHash':_0x5c1d19[_0x4fd0c5(0x210)],'warnings':_0x98cbf1?[_0x4fd0c5(0x202)]:[]})};}function assertExternalLinkLeaf(_0x373592){const _0x54df35=a104_0x207846;if(_0x373592['type']!==_0x54df35(0x1ec)&&_0x373592[_0x54df35(0x1f1)]!==_0x54df35(0x1f2))throw menuError(_0x54df35(0x206),_0x54df35(0x20d)+_0x373592['id']+'\x20is\x20type\x20\x22'+(_0x373592['type']||'unknown')+_0x54df35(0x1f0),_0x54df35(0x1f6));if(_0x373592['childrenCount']!==0x0)throw menuError(_0x54df35(0x200),_0x54df35(0x20d)+_0x373592['id']+_0x54df35(0x225)+_0x373592['childrenCount']+_0x54df35(0x21b),_0x54df35(0x1f3));if(!_0x373592['path'][_0x54df35(0x1fd)]())throw menuError(_0x54df35(0x211),'Menu\x20'+_0x373592['id']+_0x54df35(0x22a),_0x54df35(0x218));}function verifyUpdatedFact(_0x53afc9,_0x36f557,_0x80690a){const _0x4da46b=a104_0x207846;assertExternalLinkLeaf(_0x36f557);const _0x1b6e29=[['id',_0x36f557['id'],_0x53afc9['id']],[_0x4da46b(0x1e2),_0x36f557['label'],_0x53afc9[_0x4da46b(0x1e2)]],[_0x4da46b(0x1f1),_0x36f557[_0x4da46b(0x1f1)],_0x53afc9['type']],['path',_0x36f557[_0x4da46b(0x220)],_0x53afc9[_0x4da46b(0x220)]],[_0x4da46b(0x229),_0x36f557[_0x4da46b(0x229)],_0x53afc9[_0x4da46b(0x229)]],[_0x4da46b(0x212),_0x36f557['sort'],_0x53afc9[_0x4da46b(0x212)]],['visible',_0x36f557[_0x4da46b(0x209)],_0x53afc9[_0x4da46b(0x209)]]];for(const [_0x645856,_0x31cc1a,_0x9e0033]of _0x1b6e29){assertVerified(_0x31cc1a===_0x9e0033,'Menu\x20'+_0x53afc9['id']+'\x20'+_0x645856+_0x4da46b(0x1fa));}assertVerified(_0x36f557[_0x4da46b(0x20c)]===_0x80690a,_0x4da46b(0x20d)+_0x53afc9['id']+_0x4da46b(0x213));}function updateSuccess(_0x459e4c,_0x58049f,_0x2dc43c,_0x1a9107,_0x5d4873){const _0x3dba75=a104_0x207846,_0x5f24e2=_0x2dc43c['id'],_0x22cdea=mutationResult({..._0x459e4c,'after':_0x2dc43c,'dryRun':![],'succeeded':[{'id':_0x5f24e2,'updated':!_0x1a9107,'skipped':_0x1a9107,'recovered':_0x5d4873}],'verification':{'checkedBy':_0x3dba75(0x1ef),'snapshotHash':_0x58049f['hash'],'targetId':_0x5f24e2,'matchesRequestedState':!![],'recovered':_0x5d4873}});return{'ok':!![],'message':_0x5d4873?_0x3dba75(0x1e9)+_0x5f24e2+'.':_0x1a9107?'Menu\x20'+_0x5f24e2+_0x3dba75(0x1fe):_0x3dba75(0x20e)+_0x5f24e2+'.','data':{..._0x22cdea,'recovered':_0x5d4873}};}async function recoverAfterResponseLoss(_0x8e6346,_0x2693bb){const _0x1d3a0d=a104_0x207846,{plan:_0x4cb1c2,before:_0x58d9d1,body:_0x31089a}=_0x2693bb;let _0x335365;try{_0x335365=await fetchMenuSnapshot(_0x8e6346[_0x1d3a0d(0x1fb)],_0x8e6346['cookie']);}catch{throw recoveryRequired(_0x4cb1c2,_0x8e6346['appCode'],{'id':_0x31089a['id'],'readbackFailed':!![]});}const _0x10cade=_0x335365[_0x1d3a0d(0x20b)][_0x1d3a0d(0x221)](_0x31089a['id']);if(!_0x10cade||_0x10cade['url']!==_0x31089a['url'])throw recoveryRequired(_0x4cb1c2,_0x8e6346[_0x1d3a0d(0x1fb)],{'id':_0x31089a['id'],'requestedUrlObserved':![],'after':_0x10cade??null});try{verifyUpdatedFact(_0x58d9d1,_0x10cade,_0x31089a[_0x1d3a0d(0x20c)]);}catch(_0x575f80){const _0x56746a=asVerificationError(_0x575f80,_0x1d3a0d(0x226)+_0x31089a['id']+_0x1d3a0d(0x205));throw menuFailure(_0x56746a,_0x4cb1c2,{'stage':_0x1d3a0d(0x1f8),'succeeded':[{'id':_0x31089a['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x31089a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x10cade,'warnings':[_0x1d3a0d(0x1f9)],'verification':{'status':_0x1d3a0d(0x1f5),'targetId':_0x31089a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x8e6346[_0x1d3a0d(0x1fb)])}});}return updateSuccess(_0x4cb1c2,_0x335365,_0x10cade,![],!![]);}function recoveryRequired(_0x44f0f5,_0x5dd753,_0x550615){const _0x453d23=a104_0x207846,_0x584d87=menuError(_0x453d23(0x204),_0x453d23(0x208),'Run\x20'+buildLookupCommand(_0x5dd753)+_0x453d23(0x1e4));return menuFailure(_0x584d87,_0x44f0f5,{'stage':_0x453d23(0x1f8),'failed':{'id':_0x550615['id'],..._0x550615[_0x453d23(0x1dd)]===undefined?{}:{'requestedUrlObserved':_0x550615[_0x453d23(0x1dd)]},..._0x550615[_0x453d23(0x1ee)]?{'readbackFailed':!![]}:{}},'after':_0x550615['after'],'warnings':[_0x453d23(0x219)],'verification':{'status':_0x453d23(0x1f5),'targetId':_0x550615['id'],..._0x550615['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x550615[_0x453d23(0x1dd)]},..._0x550615['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x5dd753)}});}function a104_0xc46a(){const _0x23039f=['string','trim','\x20already\x20matches\x20the\x20requested\x20URL.','menu_state_drift','menu_external_link_not_leaf','update','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','replace','menu_update_recovery_required','\x20could\x20not\x20be\x20verified\x20safely','menu_external_link_type_required','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','visible','update\x20external\x20menu\x20URL','byId','url','Menu\x20','Updated\x20external\x20URL\x20for\x20menu\x20','update-external-link-url','hash','menu_external_link_path_missing','sort','\x20URL\x20update\x20did\x20not\x20take\x20effect.','flagMissing','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','21711210AfXtoa','plan','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20direct\x20child\x20menu(s).','2922fGxwNf','6520136XFXwYH','verification','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','path','get','code','11265aeTciZ','rabetbase\x20menu\x20list\x20--appcode\x20','\x20has\x20','Response\x20was\x20lost\x20and\x20menu\x20','/smartapi/menu/update','cookie','parentId','\x20has\x20an\x20empty\x20platform\x20path.','str','external-link-update','requestedUrlObserved','expect-parent-id','9ngAwcD','body','\x20parent\x20changed:\x20expected\x20','label','1088234XbVliO','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','3908013ZYvoLS','5KGmgur','POST','menu_permission_denied','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','195678LVcGrT','iframe','1368884PJnxPI','readbackFailed','menu\x20list','\x22,\x20not\x20iframe\x20or\x20link.','type','link','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','expect-url','failed','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','menu','update-recovery','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20changed\x20during\x20the\x20URL-only\x20update.','appCode'];a104_0xc46a=function(){return _0x23039f;};return a104_0xc46a();}function buildLookupCommand(_0x196050){const _0x5c2ffd=a104_0x207846,_0xc3f94e='\x27'+_0x196050[_0x5c2ffd(0x203)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x5c2ffd(0x224)+_0xc3f94e+'\x20--format\x20compress';}
|
|
1
|
+
const a104_0x2ce934=a104_0x1a7b;(function(_0x37494b,_0x47e3be){const _0x228318=a104_0x1a7b,_0x449a0f=_0x37494b();while(!![]){try{const _0x320815=parseInt(_0x228318(0x167))/0x1+parseInt(_0x228318(0x172))/0x2*(parseInt(_0x228318(0x152))/0x3)+parseInt(_0x228318(0x17b))/0x4+parseInt(_0x228318(0x175))/0x5*(parseInt(_0x228318(0x190))/0x6)+parseInt(_0x228318(0x191))/0x7*(parseInt(_0x228318(0x17a))/0x8)+parseInt(_0x228318(0x18c))/0x9+-parseInt(_0x228318(0x171))/0xa;if(_0x320815===_0x47e3be)break;else _0x449a0f['push'](_0x449a0f['shift']());}catch(_0x1edc4c){_0x449a0f['push'](_0x449a0f['shift']());}}}(a104_0x5d2a,0x923eb));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a104_0x2ce934(0x19d),'path':a104_0x2ce934(0x166)}];export const menuExternalLinkUpdate={'service':a104_0x2ce934(0x182),'command':a104_0x2ce934(0x187),'description':a104_0x2ce934(0x168),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a104_0x2ce934(0x16b),'type':a104_0x2ce934(0x194),'required':!![],'description':a104_0x2ce934(0x15a)},{'name':'expect-url','type':a104_0x2ce934(0x194),'required':!![],'description':a104_0x2ce934(0x18f)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53699d){validateInput(_0x53699d),requireExplicitYes(_0x53699d);},async 'dryRun'(_0x495806){const _0x1056c0=a104_0x2ce934;validateInput(_0x495806);const _0x4ffb84=await buildPlan(_0x495806,!![]);return menuDryRunResult(_0x4ffb84[_0x1056c0(0x177)],{'method':_0x1056c0(0x19d),'url':_0x1056c0(0x166),'body':_0x4ffb84[_0x1056c0(0x19f)],'description':_0x1056c0(0x15f)+_0x4ffb84[_0x1056c0(0x19f)]['id']+'.'});},async 'execute'(_0x778b4c){const _0x2ff6a3=a104_0x2ce934;validateInput(_0x778b4c),requireExplicitYes(_0x778b4c);const _0x42d60f=await buildPlan(_0x778b4c,![]),{plan:_0x4b7f74,body:_0x563cf3,before:_0x222ecb,noChanges:_0x7dfdc4}=_0x42d60f,_0xd6f528=_0x563cf3['id'];if(_0x7dfdc4)return updateSuccess(_0x4b7f74,_0x42d60f['snapshot'],_0x222ecb,!![],![]);await recheckMutationSnapshot(_0x778b4c,_0x4b7f74,_0x2ff6a3(0x160),_0xd6f528);try{await updateMenuEntity(_0x778b4c[_0x2ff6a3(0x188)],_0x778b4c[_0x2ff6a3(0x198)],{'id':_0x563cf3['id'],'url':_0x563cf3['url']});}catch(_0x2d16df){const _0x1f7496=mapMenuApiError(_0x2d16df,_0x2ff6a3(0x160),_0xd6f528);if(isMenuResponseLoss(_0x2d16df)&&_0x1f7496[_0x2ff6a3(0x189)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x778b4c,_0x42d60f);throw menuFailure(_0x1f7496,_0x4b7f74,{'stage':_0x2ff6a3(0x161),'failed':{'id':_0xd6f528},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0xd6f528,'lookupCommand':buildLookupCommand(_0x778b4c[_0x2ff6a3(0x188)])}});}let _0x318384,_0x458a1a;try{_0x318384=await fetchMenuSnapshot(_0x778b4c[_0x2ff6a3(0x188)],_0x778b4c[_0x2ff6a3(0x198)]),_0x458a1a=requireMenu(_0x318384,_0xd6f528),verifyUpdatedFact(_0x222ecb,_0x458a1a,_0x563cf3[_0x2ff6a3(0x16b)]);}catch(_0x23a227){const _0x1dc6dc=describeMenuErrorCause(_0x23a227,_0x2ff6a3(0x16a),_0xd6f528),_0x3526cc=asVerificationError(_0x23a227,_0x2ff6a3(0x195)+_0xd6f528+_0x2ff6a3(0x174));throw menuFailure(_0x3526cc,_0x4b7f74,{'stage':_0x2ff6a3(0x183),'succeeded':[{'id':_0xd6f528,'updateRequested':!![]}],'failed':{'id':_0xd6f528,'requestedStateConfirmed':![],..._0x1dc6dc},'warnings':[_0x2ff6a3(0x181)],'verification':{'status':_0x2ff6a3(0x173),'targetId':_0xd6f528,'lookupCommand':buildLookupCommand(_0x778b4c['appCode'])}});}return updateSuccess(_0x4b7f74,_0x318384,_0x458a1a,![],![]);}};function validateInput(_0x5860e9){const _0x485201=a104_0x2ce934;validateExactId(_0x5860e9),requiredUrl(_0x5860e9,_0x485201(0x16b)),requiredExpectedUrl(_0x5860e9),parseParentId(_0x5860e9,_0x485201(0x192),{'required':!![]});}function requiredUrl(_0x2da712,_0x196b27){const _0x12f56c=a104_0x2ce934;if(!hasFlag(_0x2da712,_0x196b27)||!_0x2da712[_0x12f56c(0x18b)](_0x196b27)[_0x12f56c(0x19c)]())throw CliErrors[_0x12f56c(0x178)](_0x196b27);return validateExternalMenuUrl(_0x2da712[_0x12f56c(0x18b)](_0x196b27));}function requiredExpectedUrl(_0x20c746){const _0x480720=a104_0x2ce934;if(!hasFlag(_0x20c746,'expect-url')||!_0x20c746[_0x480720(0x18b)]('expect-url')[_0x480720(0x19c)]())throw CliErrors['flagMissing'](_0x480720(0x169));return _0x20c746['str'](_0x480720(0x169))[_0x480720(0x19c)]();}function a104_0x1a7b(_0xf756ea,_0x6fec8d){_0xf756ea=_0xf756ea-0x150;const _0x5d2aa3=a104_0x5d2a();let _0x1a7b7e=_0x5d2aa3[_0xf756ea];return _0x1a7b7e;}async function buildPlan(_0x26b89b,_0x18975c){const _0x238c87=a104_0x2ce934,_0xa5454=validateExactId(_0x26b89b),_0x4e2db0=requiredUrl(_0x26b89b,_0x238c87(0x16b)),_0x266432=requiredExpectedUrl(_0x26b89b),_0x4406cb=parseParentId(_0x26b89b,'expect-parent-id',{'required':!![]}),_0x2bfabb=await fetchMutationSnapshot(_0x26b89b,'update\x20external\x20menu\x20URL',_0xa5454),_0x1bc7a=requireMenu(_0x2bfabb,_0xa5454);assertExternalLinkLeaf(_0x1bc7a);if(_0x1bc7a[_0x238c87(0x196)]!==_0x4406cb)throw menuError('menu_state_drift',_0x238c87(0x180)+_0xa5454+_0x238c87(0x155)+formatParent(_0x4406cb)+_0x238c87(0x151)+formatParent(_0x1bc7a[_0x238c87(0x196)])+'.',_0x238c87(0x154));const _0x5e575e=_0x1bc7a[_0x238c87(0x16b)]===_0x4e2db0;if(!_0x5e575e&&_0x1bc7a[_0x238c87(0x16b)]!==_0x266432)throw menuError(_0x238c87(0x17f),'Menu\x20'+_0xa5454+_0x238c87(0x19b),_0x238c87(0x16f));const _0x9bf97c={'id':_0xa5454,'appCode':_0x26b89b[_0x238c87(0x188)],'url':_0x4e2db0},_0x42b31f={..._0x1bc7a,'url':_0x4e2db0};return{'body':_0x9bf97c,'before':_0x1bc7a,'noChanges':_0x5e575e,'snapshot':_0x2bfabb,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0xa5454},'before':_0x1bc7a,'after':_0x42b31f,'dryRun':_0x18975c,'backend':[...BACKEND],'plannedActions':_0x5e575e?[]:[{'stage':_0x238c87(0x18a),'method':_0x238c87(0x19d),'path':'/smartapi/menu/update','body':_0x9bf97c}],'snapshotHash':_0x2bfabb[_0x238c87(0x17e)],'warnings':_0x5e575e?[_0x238c87(0x185)]:[]})};}function assertExternalLinkLeaf(_0xb668ba){const _0x3b5133=a104_0x2ce934;if(_0xb668ba[_0x3b5133(0x165)]!==_0x3b5133(0x170)&&_0xb668ba[_0x3b5133(0x165)]!==_0x3b5133(0x162))throw menuError('menu_external_link_type_required',_0x3b5133(0x180)+_0xb668ba['id']+_0x3b5133(0x18e)+(_0xb668ba[_0x3b5133(0x165)]||_0x3b5133(0x184))+_0x3b5133(0x176),_0x3b5133(0x163));if(_0xb668ba[_0x3b5133(0x150)]!==0x0)throw menuError(_0x3b5133(0x15b),'Menu\x20'+_0xb668ba['id']+_0x3b5133(0x156)+_0xb668ba['childrenCount']+_0x3b5133(0x157),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0xb668ba[_0x3b5133(0x193)][_0x3b5133(0x19c)]())throw menuError(_0x3b5133(0x197),_0x3b5133(0x180)+_0xb668ba['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x3b5133(0x159));}function verifyUpdatedFact(_0x7c32d0,_0x3d6eac,_0x14877d){const _0x4d5ca0=a104_0x2ce934;assertExternalLinkLeaf(_0x3d6eac);const _0x4c1b2f=[['id',_0x3d6eac['id'],_0x7c32d0['id']],[_0x4d5ca0(0x15e),_0x3d6eac[_0x4d5ca0(0x15e)],_0x7c32d0['label']],['type',_0x3d6eac[_0x4d5ca0(0x165)],_0x7c32d0['type']],[_0x4d5ca0(0x193),_0x3d6eac[_0x4d5ca0(0x193)],_0x7c32d0[_0x4d5ca0(0x193)]],[_0x4d5ca0(0x196),_0x3d6eac[_0x4d5ca0(0x196)],_0x7c32d0[_0x4d5ca0(0x196)]],[_0x4d5ca0(0x164),_0x3d6eac['sort'],_0x7c32d0[_0x4d5ca0(0x164)]],[_0x4d5ca0(0x19e),_0x3d6eac['visible'],_0x7c32d0[_0x4d5ca0(0x19e)]]];for(const [_0x199611,_0x4f41b1,_0x34fb40]of _0x4c1b2f){assertVerified(_0x4f41b1===_0x34fb40,_0x4d5ca0(0x180)+_0x7c32d0['id']+'\x20'+_0x199611+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x3d6eac[_0x4d5ca0(0x16b)]===_0x14877d,'Menu\x20'+_0x7c32d0['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x134a90,_0x2615f1,_0x4c957c,_0x20ffba,_0x491556){const _0x4f292c=a104_0x2ce934,_0x175732=_0x4c957c['id'],_0x3720a6=mutationResult({..._0x134a90,'after':_0x4c957c,'dryRun':![],'succeeded':[{'id':_0x175732,'updated':!_0x20ffba,'skipped':_0x20ffba,'recovered':_0x491556}],'verification':{'checkedBy':_0x4f292c(0x16d),'snapshotHash':_0x2615f1['hash'],'targetId':_0x175732,'matchesRequestedState':!![],'recovered':_0x491556}});return{'ok':!![],'message':_0x491556?_0x4f292c(0x158)+_0x175732+'.':_0x20ffba?_0x4f292c(0x180)+_0x175732+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x4f292c(0x18d)+_0x175732+'.','data':{..._0x3720a6,'recovered':_0x491556}};}async function recoverAfterResponseLoss(_0x1f653c,_0x37d65f){const _0xa8e0d4=a104_0x2ce934,{plan:_0x3dd915,before:_0x259a9c,body:_0x1acde5}=_0x37d65f;let _0x47a1b1;try{_0x47a1b1=await fetchMenuSnapshot(_0x1f653c[_0xa8e0d4(0x188)],_0x1f653c[_0xa8e0d4(0x198)]);}catch{throw recoveryRequired(_0x3dd915,_0x1f653c['appCode'],{'id':_0x1acde5['id'],'readbackFailed':!![]});}const _0x1b9744=_0x47a1b1['byId']['get'](_0x1acde5['id']);if(!_0x1b9744||_0x1b9744['url']!==_0x1acde5[_0xa8e0d4(0x16b)])throw recoveryRequired(_0x3dd915,_0x1f653c[_0xa8e0d4(0x188)],{'id':_0x1acde5['id'],'requestedUrlObserved':![],'after':_0x1b9744??null});try{verifyUpdatedFact(_0x259a9c,_0x1b9744,_0x1acde5['url']);}catch(_0x2d609f){const _0xd20e50=asVerificationError(_0x2d609f,_0xa8e0d4(0x153)+_0x1acde5['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0xd20e50,_0x3dd915,{'stage':_0xa8e0d4(0x19a),'succeeded':[{'id':_0x1acde5['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x1acde5['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x1b9744,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0xa8e0d4(0x173),'targetId':_0x1acde5['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1f653c['appCode'])}});}return updateSuccess(_0x3dd915,_0x47a1b1,_0x1b9744,![],!![]);}function recoveryRequired(_0x1ae1d4,_0x13d71b,_0x134cf5){const _0x4f5e77=a104_0x2ce934,_0x885e8e=menuError('menu_update_recovery_required','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x4f5e77(0x16c)+buildLookupCommand(_0x13d71b)+_0x4f5e77(0x15d));return menuFailure(_0x885e8e,_0x1ae1d4,{'stage':_0x4f5e77(0x19a),'failed':{'id':_0x134cf5['id'],..._0x134cf5[_0x4f5e77(0x179)]===undefined?{}:{'requestedUrlObserved':_0x134cf5[_0x4f5e77(0x179)]},..._0x134cf5[_0x4f5e77(0x17d)]?{'readbackFailed':!![]}:{}},'after':_0x134cf5['after'],'warnings':[_0x4f5e77(0x186)],'verification':{'status':_0x4f5e77(0x173),'targetId':_0x134cf5['id'],..._0x134cf5[_0x4f5e77(0x179)]===undefined?{}:{'requestedUrlObserved':_0x134cf5[_0x4f5e77(0x179)]},..._0x134cf5[_0x4f5e77(0x17d)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x13d71b)}});}function a104_0x5d2a(){const _0x135a29=['Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','iframe','37336380UgXzGR','2ApnzFK','failed','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','5NbkoMZ','\x22,\x20not\x20iframe\x20or\x20link.','plan','flagMissing','requestedUrlObserved','8MkKeMz','3754096QInNQl','rabetbase\x20menu\x20list\x20--appcode\x20','readbackFailed','hash','menu_state_drift','Menu\x20','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','menu','verification','unknown','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','external-link-update','appCode','code','update-external-link-url','str','6526566VWKmZv','Updated\x20external\x20URL\x20for\x20menu\x20','\x20is\x20type\x20\x22','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','5875950fyKXmj','2191966OkjSul','expect-parent-id','path','string','Update\x20request\x20for\x20menu\x20','parentId','menu_external_link_path_missing','cookie','\x27\x5c\x27\x27','update-recovery','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','trim','POST','visible','body','childrenCount',',\x20current\x20','3041586OMSKIb','Response\x20was\x20lost\x20and\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x20parent\x20changed:\x20expected\x20','\x20has\x20','\x20direct\x20child\x20menu(s).','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','New\x20external\x20HTTPS\x20URL','menu_external_link_not_leaf','\x20--format\x20compress','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','label','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','update\x20external\x20menu\x20URL','update','link','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','sort','type','/smartapi/menu/update','362634ZchFZv','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','expect-url','verify\x20external\x20menu\x20URL\x20update','url','Run\x20','menu\x20list','replace'];a104_0x5d2a=function(){return _0x135a29;};return a104_0x5d2a();}function buildLookupCommand(_0x5b21f4){const _0x13927c=a104_0x2ce934,_0x18ee17='\x27'+_0x5b21f4[_0x13927c(0x16e)](/'/g,_0x13927c(0x199))+'\x27';return _0x13927c(0x17c)+_0x18ee17+_0x13927c(0x15c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a105_0x5702c3=a105_0x2535;(function(_0x265d34,_0x1021d9){const _0x1eb654=a105_0x2535,_0x47db29=_0x265d34();while(!![]){try{const _0xe8d70e=parseInt(_0x1eb654(0x171))/0x1*(-parseInt(_0x1eb654(0x182))/0x2)+parseInt(_0x1eb654(0x186))/0x3+-parseInt(_0x1eb654(0x15b))/0x4*(parseInt(_0x1eb654(0x173))/0x5)+parseInt(_0x1eb654(0x185))/0x6*(-parseInt(_0x1eb654(0x16d))/0x7)+-parseInt(_0x1eb654(0x18e))/0x8*(parseInt(_0x1eb654(0x15e))/0x9)+parseInt(_0x1eb654(0x177))/0xa+parseInt(_0x1eb654(0x19b))/0xb;if(_0xe8d70e===_0x1021d9)break;else _0x47db29['push'](_0x47db29['shift']());}catch(_0x4afa8c){_0x47db29['push'](_0x47db29['shift']());}}}(a105_0x2d51,0x468e3));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a105_0x2535(_0x996814,_0x4f0a15){_0x996814=_0x996814-0x15a;const _0x2d51dd=a105_0x2d51();let _0x2535a8=_0x2d51dd[_0x996814];return _0x2535a8;}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a105_0x2d51(){const _0x2688af=['root','verify\x20folder\x20creation','menu_create_response_invalid','stringify','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Menu\x20create\x20response\x20for\x20folder\x20','6684MBiJsx','Folder\x20label','pageId','24rMRcLH','865467HgIWCN','trim',';\x20verify\x20it\x20before\x20retrying.','resources','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','menu','path','depth','446664njpBMZ','string','\x20has\x20resources.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','str','group-create','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','failed','childrenCount','appCode','Created\x20folder\x20','verification','<platform-generated>','15285215QAxewY','length','\x22\x20with\x20a\x20platform-generated\x20path.','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','Created\x20menu\x20folder\x20','/smartapi/menu/create','parent-id','Created\x20menu\x20','4cIaxWk','byId','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','81aIjyLg','after','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','rabetbase\x20menu\x20list\x20--format\x20json','parentId','create-folder','isSafeInteger','\x20is\x20missing\x20from\x20menu\x20list.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20empty.','hash','sort','high-risk-write','Folder\x20','\x20has\x20an\x20unexpected\x20label.','586145viBZYP','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','create-response-validation','POST','79qkeexZ','menu\x20list','2366615rbcFFl','create\x20folder','\x20may\x20exist\x20online\x20at\x20path\x20','get','1857190CoWTYw','cookie','visible','folder','label'];a105_0x2d51=function(){return _0x2688af;};return a105_0x2d51();}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a105_0x5702c3(0x1a1)}];export const menuGroupCreate={'service':a105_0x5702c3(0x18b),'command':a105_0x5702c3(0x193),'description':a105_0x5702c3(0x18a),'risk':a105_0x5702c3(0x16a),'structuredErrors':!![],'flags':[{'name':a105_0x5702c3(0x17b),'type':a105_0x5702c3(0x18f),'required':!![],'description':a105_0x5702c3(0x183)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xe34e8){validateCreateInput(_0xe34e8),requireExplicitYes(_0xe34e8);},async 'dryRun'(_0x3474e6){const _0x16dd68=a105_0x5702c3,_0x1a6cbf=await buildCreatePlan(_0x3474e6,!![]),_0x574b8a=_0x1a6cbf[_0x16dd68(0x15f)];return menuDryRunResult(_0x1a6cbf,{'method':_0x16dd68(0x170),'url':_0x16dd68(0x1a1),'body':{'parentId':toApiParentId(_0x574b8a['parentId']),'label':_0x574b8a['label'],'type':_0x16dd68(0x17a),'visible':!![],'sort':_0x574b8a['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x574b8a[_0x16dd68(0x17b)])+_0x16dd68(0x19d)});},async 'execute'(_0x56ed25){const _0x34c0b6=a105_0x5702c3;validateCreateInput(_0x56ed25),requireExplicitYes(_0x56ed25);const _0x4e492f=await buildCreatePlan(_0x56ed25,![]),_0x4a8835=_0x4e492f[_0x34c0b6(0x15f)];await recheckMutationSnapshot(_0x56ed25,_0x4e492f,_0x34c0b6(0x174));let _0x24cf83;try{_0x24cf83=await createMenuEntity(_0x56ed25[_0x34c0b6(0x197)],_0x56ed25[_0x34c0b6(0x178)],{'parentId':toApiParentId(_0x4a8835[_0x34c0b6(0x162)]),'label':String(_0x4a8835[_0x34c0b6(0x17b)]),'type':'folder','visible':!![],'sort':Number(_0x4a8835['sort']),'extend':{}});}catch(_0x4d15f9){const _0x50d165=mapMenuApiError(_0x4d15f9,_0x34c0b6(0x174));throw menuFailure(_0x50d165,_0x4e492f,{'stage':'create','failed':{}});}const _0x538055=Number(_0x24cf83['id']);if(!Number[_0x34c0b6(0x164)](_0x538055)||_0x538055<=0x0){const _0x29b305=menuError(_0x34c0b6(0x17e),_0x34c0b6(0x191),_0x34c0b6(0x166));throw menuFailure(_0x29b305,_0x4e492f,{'stage':_0x34c0b6(0x16f),'failed':{'createdId':_0x24cf83['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x34c0b6(0x195),'lookupCommand':_0x34c0b6(0x161)}});}const _0x36389f=typeof _0x24cf83[_0x34c0b6(0x18c)]===_0x34c0b6(0x18f)?_0x24cf83[_0x34c0b6(0x18c)]:'';if(!_0x36389f[_0x34c0b6(0x187)]()){const _0x3d5fae=menuError(_0x34c0b6(0x17e),_0x34c0b6(0x181)+_0x538055+_0x34c0b6(0x16e),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x3d5fae,_0x4e492f,{'stage':_0x34c0b6(0x16f),'succeeded':[{'id':_0x538055,'created':!![]}],'failed':{'id':_0x538055,'generatedPathConfirmed':![]},'warnings':[_0x34c0b6(0x16b)+_0x538055+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x4a8835,'id':_0x538055,'path':_0x36389f},'verification':{'status':_0x34c0b6(0x195),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x538055}});}let _0x46a121;try{_0x46a121=await fetchMenuSnapshot(_0x56ed25[_0x34c0b6(0x197)],_0x56ed25[_0x34c0b6(0x178)]);}catch(_0x14ae72){const _0x28ad8b=describeMenuErrorCause(_0x14ae72,_0x34c0b6(0x17d),_0x538055),_0x489ab9=asVerificationError(_0x14ae72,'Folder\x20'+_0x538055+_0x34c0b6(0x160));throw menuFailure(_0x489ab9,_0x4e492f,{'stage':_0x34c0b6(0x199),'succeeded':[{'id':_0x538055,'created':!![],'path':_0x36389f}],'failed':{'id':_0x538055,'finalFactsConfirmed':![],..._0x28ad8b},'warnings':[_0x34c0b6(0x16b)+_0x538055+_0x34c0b6(0x175)+JSON[_0x34c0b6(0x17f)](_0x36389f)+_0x34c0b6(0x188)],'after':{..._0x4a8835,'id':_0x538055,'path':_0x36389f},'verification':{'status':'failed','lookupCommand':_0x34c0b6(0x161),'targetId':_0x538055}});}const _0x53a42e=_0x46a121[_0x34c0b6(0x15c)][_0x34c0b6(0x176)](_0x538055);let _0x230edb;try{assertVerified(Boolean(_0x53a42e),_0x34c0b6(0x198)+_0x538055+_0x34c0b6(0x165)),_0x230edb=_0x53a42e,assertVerified(_0x230edb['type']===_0x34c0b6(0x17a),_0x34c0b6(0x15a)+_0x538055+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x230edb[_0x34c0b6(0x17b)]===_0x4a8835['label'],_0x34c0b6(0x198)+_0x538055+_0x34c0b6(0x16c)),assertVerified(_0x230edb['path']===_0x36389f&&Boolean(_0x230edb[_0x34c0b6(0x18c)][_0x34c0b6(0x187)]()),'Created\x20folder\x20'+_0x538055+_0x34c0b6(0x180)),assertVerified(_0x230edb[_0x34c0b6(0x179)]===!![],'Created\x20folder\x20'+_0x538055+'\x20is\x20not\x20visible.'),assertVerified(_0x230edb[_0x34c0b6(0x189)][_0x34c0b6(0x19c)]===0x0,_0x34c0b6(0x198)+_0x538055+_0x34c0b6(0x190)),assertVerified(_0x230edb[_0x34c0b6(0x196)]===0x0,'Created\x20folder\x20'+_0x538055+_0x34c0b6(0x167)),assertVerified(_0x230edb['sort']===_0x4a8835[_0x34c0b6(0x169)],_0x34c0b6(0x198)+_0x538055+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x230edb[_0x34c0b6(0x162)]===_0x4a8835['parentId'],'Created\x20folder\x20'+_0x538055+'\x20has\x20unexpected\x20parent\x20'+(_0x230edb[_0x34c0b6(0x162)]??_0x34c0b6(0x17c))+'.'),assertVerified(_0x230edb[_0x34c0b6(0x184)]==null,_0x34c0b6(0x198)+_0x538055+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x5b674b=_0x230edb[_0x34c0b6(0x162)]==null?undefined:requireFolder(_0x46a121,_0x230edb[_0x34c0b6(0x162)]);assertVerified(_0x230edb[_0x34c0b6(0x18d)]===(_0x5b674b?_0x5b674b['depth']+0x1:0x0),_0x34c0b6(0x198)+_0x538055+_0x34c0b6(0x19e));}catch(_0x4d6596){const _0x5276f1=describeMenuErrorCause(_0x4d6596,_0x34c0b6(0x17d),_0x538055),_0x12e9c1=asVerificationError(_0x4d6596,_0x34c0b6(0x16b)+_0x538055+_0x34c0b6(0x19f));throw menuFailure(_0x12e9c1,_0x4e492f,{'stage':_0x34c0b6(0x199),'succeeded':[{'id':_0x538055,'created':!![],'path':_0x36389f}],'failed':{'id':_0x538055,'finalFactsConfirmed':![],..._0x5276f1},'warnings':['Folder\x20'+_0x538055+_0x34c0b6(0x194)],'after':_0x53a42e??{..._0x4a8835,'id':_0x538055,'path':_0x36389f},'verification':{'status':_0x34c0b6(0x195),'lookupCommand':_0x34c0b6(0x161),'targetId':_0x538055}});}const _0xcb4efd=mutationResult({..._0x4e492f,'after':_0x230edb,'dryRun':![],'succeeded':[{'id':_0x538055,'type':_0x34c0b6(0x17a),'path':_0x36389f}],'verification':{'checkedBy':_0x34c0b6(0x172),'snapshotHash':_0x46a121[_0x34c0b6(0x168)],'folder':!![],'path':_0x36389f,'emptyResources':!![]}});return{'ok':!![],'data':_0xcb4efd,'message':_0x34c0b6(0x1a0)+_0x538055+'.'};}};function validateCreateInput(_0x10fd83){const _0x1ba66e=a105_0x5702c3,_0x3bf8f5=_0x10fd83[_0x1ba66e(0x192)](_0x1ba66e(0x17b))[_0x1ba66e(0x187)]();if(!_0x3bf8f5)throw CliErrors['flagMissing'](_0x1ba66e(0x17b));parseParentId(_0x10fd83,'parent-id'),validateSort(_0x10fd83);}async function buildCreatePlan(_0x235f12,_0x5eeb82){const _0x56743f=a105_0x5702c3,_0x560596=await fetchMutationSnapshot(_0x235f12,'create\x20folder'),_0x29d44f=parseParentId(_0x235f12,_0x56743f(0x1a2))??null;if(_0x29d44f!=null)requireFolder(_0x560596,_0x29d44f);const _0x5566d9=validateSort(_0x235f12),_0x1f45c3=_0x5566d9??nextSiblingSort(_0x560596,_0x29d44f,_0x56743f(0x17a)),_0x79ca2=_0x235f12[_0x56743f(0x192)](_0x56743f(0x17b))[_0x56743f(0x187)]();return mutationResult({'operation':'group-create','selector':{'label':_0x79ca2,'parentId':_0x29d44f},'before':null,'after':{'id':null,'parentId':_0x29d44f,'label':_0x79ca2,'path':_0x56743f(0x19a),'type':_0x56743f(0x17a),'visible':!![],'sort':_0x1f45c3,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5eeb82,'backend':[...BACKEND],'plannedActions':[{'stage':_0x56743f(0x163),'method':_0x56743f(0x170),'path':_0x56743f(0x1a1),'body':{'parentId':toApiParentId(_0x29d44f),'label':_0x79ca2,'type':'folder','visible':!![],'sort':_0x1f45c3,'extend':{}}}],'snapshotHash':_0x560596[_0x56743f(0x168)],'warnings':[_0x56743f(0x15d)]});}
|
|
1
|
+
const a105_0x26bdd6=a105_0x4a5d;(function(_0x73faba,_0x545869){const _0x5b2c54=a105_0x4a5d,_0x52a0f9=_0x73faba();while(!![]){try{const _0x443023=-parseInt(_0x5b2c54(0x159))/0x1*(-parseInt(_0x5b2c54(0x169))/0x2)+-parseInt(_0x5b2c54(0x18d))/0x3+-parseInt(_0x5b2c54(0x15c))/0x4+-parseInt(_0x5b2c54(0x181))/0x5+parseInt(_0x5b2c54(0x16c))/0x6*(parseInt(_0x5b2c54(0x173))/0x7)+parseInt(_0x5b2c54(0x183))/0x8+parseInt(_0x5b2c54(0x179))/0x9*(-parseInt(_0x5b2c54(0x17b))/0xa);if(_0x443023===_0x545869)break;else _0x52a0f9['push'](_0x52a0f9['shift']());}catch(_0x1f1e55){_0x52a0f9['push'](_0x52a0f9['shift']());}}}(a105_0x464f,0x55198));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a105_0x464f(){const _0x87f65=['flagMissing','create\x20folder','rabetbase\x20menu\x20list\x20--format\x20json','label','group-create','byId','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','folder','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','102VnjGVj','Created\x20folder\x20','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','433344MKrXLe','path','create-folder','sort','cookie','verification','hash','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','create-response-validation','\x20has\x20an\x20unexpected\x20label.','\x20is\x20not\x20visible.','\x20unexpectedly\x20owns\x20a\x20page.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','9194nODHJR','high-risk-write','\x20has\x20resources.','377238BzBvlv','Created\x20menu\x20','\x20has\x20unexpected\x20parent\x20','\x20is\x20not\x20type\x20folder.','appCode','POST',';\x20verify\x20it\x20before\x20retrying.','70ASEsrY','Would\x20create\x20empty\x20folder\x20\x22','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20menu\x20folder\x20','Folder\x20label','<platform-generated>','1836fTgDrN','\x20may\x20exist\x20online\x20at\x20path\x20','23370onhWEF','\x20is\x20missing\x20from\x20menu\x20list.','/smartapi/menu/create','after','trim','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','10995DIijgD','type','1079592VLNsCa','\x22\x20with\x20a\x20platform-generated\x20path.','\x20is\x20not\x20empty.','Folder\x20','verify\x20folder\x20creation','menu\x20list','str','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','length','parent-id','890166nblvlo','failed','create','isSafeInteger','resources','parentId','depth','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','get','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'];a105_0x464f=function(){return _0x87f65;};return a105_0x464f();}function a105_0x4a5d(_0x8117da,_0x4410f1){_0x8117da=_0x8117da-0x147;const _0x464f06=a105_0x464f();let _0x4a5d70=_0x464f06[_0x8117da];return _0x4a5d70;}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,requireExplicitYes,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':a105_0x26bdd6(0x17d)}];export const menuGroupCreate={'service':'menu','command':a105_0x26bdd6(0x153),'description':a105_0x26bdd6(0x155),'risk':a105_0x26bdd6(0x16a),'structuredErrors':!![],'flags':[{'name':a105_0x26bdd6(0x152),'type':'string','required':!![],'description':a105_0x26bdd6(0x177)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2094a3){validateCreateInput(_0x2094a3),requireExplicitYes(_0x2094a3);},async 'dryRun'(_0x2a4966){const _0x2d12f9=a105_0x26bdd6,_0x1fd2b1=await buildCreatePlan(_0x2a4966,!![]),_0x82c171=_0x1fd2b1['after'];return menuDryRunResult(_0x1fd2b1,{'method':_0x2d12f9(0x171),'url':_0x2d12f9(0x17d),'body':{'parentId':toApiParentId(_0x82c171[_0x2d12f9(0x14a)]),'label':_0x82c171[_0x2d12f9(0x152)],'type':'folder','visible':!![],'sort':_0x82c171[_0x2d12f9(0x15f)],'extend':{}},'description':_0x2d12f9(0x174)+String(_0x82c171['label'])+_0x2d12f9(0x184)});},async 'execute'(_0x513708){const _0x408641=a105_0x26bdd6;validateCreateInput(_0x513708),requireExplicitYes(_0x513708);const _0x4834a6=await buildCreatePlan(_0x513708,![]),_0x4e4714=_0x4834a6[_0x408641(0x17e)];await recheckMutationSnapshot(_0x513708,_0x4834a6,_0x408641(0x150));let _0x12ff9f;try{_0x12ff9f=await createMenuEntity(_0x513708[_0x408641(0x170)],_0x513708[_0x408641(0x160)],{'parentId':toApiParentId(_0x4e4714['parentId']),'label':String(_0x4e4714[_0x408641(0x152)]),'type':'folder','visible':!![],'sort':Number(_0x4e4714[_0x408641(0x15f)]),'extend':{}});}catch(_0x12495b){const _0x55d911=mapMenuApiError(_0x12495b,_0x408641(0x150));throw menuFailure(_0x55d911,_0x4834a6,{'stage':_0x408641(0x147),'failed':{}});}const _0x2b389f=Number(_0x12ff9f['id']);if(!Number[_0x408641(0x148)](_0x2b389f)||_0x2b389f<=0x0){const _0x3f8d1f=menuError('menu_create_response_invalid',_0x408641(0x156),_0x408641(0x180));throw menuFailure(_0x3f8d1f,_0x4834a6,{'stage':_0x408641(0x164),'failed':{'createdId':_0x12ff9f['id']??null},'warnings':[_0x408641(0x175)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x15a1cb=typeof _0x12ff9f[_0x408641(0x15d)]==='string'?_0x12ff9f['path']:'';if(!_0x15a1cb[_0x408641(0x17f)]()){const _0x40972c=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20for\x20folder\x20'+_0x2b389f+_0x408641(0x163),_0x408641(0x168));throw menuFailure(_0x40972c,_0x4834a6,{'stage':_0x408641(0x164),'succeeded':[{'id':_0x2b389f,'created':!![]}],'failed':{'id':_0x2b389f,'generatedPathConfirmed':![]},'warnings':[_0x408641(0x186)+_0x2b389f+_0x408641(0x14e)],'after':{..._0x4e4714,'id':_0x2b389f,'path':_0x15a1cb},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2b389f}});}let _0x5992f0;try{_0x5992f0=await fetchMenuSnapshot(_0x513708[_0x408641(0x170)],_0x513708[_0x408641(0x160)]);}catch(_0x364719){const _0x338f74=describeMenuErrorCause(_0x364719,_0x408641(0x187),_0x2b389f),_0x34089a=asVerificationError(_0x364719,'Folder\x20'+_0x2b389f+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x34089a,_0x4834a6,{'stage':_0x408641(0x161),'succeeded':[{'id':_0x2b389f,'created':!![],'path':_0x15a1cb}],'failed':{'id':_0x2b389f,'finalFactsConfirmed':![],..._0x338f74},'warnings':['Folder\x20'+_0x2b389f+_0x408641(0x17a)+JSON['stringify'](_0x15a1cb)+_0x408641(0x172)],'after':{..._0x4e4714,'id':_0x2b389f,'path':_0x15a1cb},'verification':{'status':_0x408641(0x18e),'lookupCommand':_0x408641(0x151),'targetId':_0x2b389f}});}const _0x532ea0=_0x5992f0[_0x408641(0x154)][_0x408641(0x14d)](_0x2b389f);let _0x572116;try{assertVerified(Boolean(_0x532ea0),_0x408641(0x15a)+_0x2b389f+_0x408641(0x17c)),_0x572116=_0x532ea0,assertVerified(_0x572116[_0x408641(0x182)]===_0x408641(0x157),_0x408641(0x16d)+_0x2b389f+_0x408641(0x16f)),assertVerified(_0x572116[_0x408641(0x152)]===_0x4e4714['label'],'Created\x20folder\x20'+_0x2b389f+_0x408641(0x165)),assertVerified(_0x572116['path']===_0x15a1cb&&Boolean(_0x572116['path'][_0x408641(0x17f)]()),_0x408641(0x15a)+_0x2b389f+_0x408641(0x15b)),assertVerified(_0x572116['visible']===!![],_0x408641(0x15a)+_0x2b389f+_0x408641(0x166)),assertVerified(_0x572116[_0x408641(0x149)][_0x408641(0x18b)]===0x0,_0x408641(0x15a)+_0x2b389f+_0x408641(0x16b)),assertVerified(_0x572116['childrenCount']===0x0,_0x408641(0x15a)+_0x2b389f+_0x408641(0x185)),assertVerified(_0x572116['sort']===_0x4e4714[_0x408641(0x15f)],'Created\x20folder\x20'+_0x2b389f+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x572116[_0x408641(0x14a)]===_0x4e4714[_0x408641(0x14a)],_0x408641(0x15a)+_0x2b389f+_0x408641(0x16e)+(_0x572116[_0x408641(0x14a)]??'root')+'.'),assertVerified(_0x572116['pageId']==null,_0x408641(0x15a)+_0x2b389f+_0x408641(0x167));const _0x490095=_0x572116[_0x408641(0x14a)]==null?undefined:requireFolder(_0x5992f0,_0x572116['parentId']);assertVerified(_0x572116[_0x408641(0x14b)]===(_0x490095?_0x490095[_0x408641(0x14b)]+0x1:0x0),_0x408641(0x15a)+_0x2b389f+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x29b63a){const _0x22f07f=describeMenuErrorCause(_0x29b63a,'verify\x20folder\x20creation',_0x2b389f),_0x28feaa=asVerificationError(_0x29b63a,_0x408641(0x186)+_0x2b389f+_0x408641(0x18a));throw menuFailure(_0x28feaa,_0x4834a6,{'stage':_0x408641(0x161),'succeeded':[{'id':_0x2b389f,'created':!![],'path':_0x15a1cb}],'failed':{'id':_0x2b389f,'finalFactsConfirmed':![],..._0x22f07f},'warnings':[_0x408641(0x186)+_0x2b389f+_0x408641(0x14c)],'after':_0x532ea0??{..._0x4e4714,'id':_0x2b389f,'path':_0x15a1cb},'verification':{'status':_0x408641(0x18e),'lookupCommand':_0x408641(0x151),'targetId':_0x2b389f}});}const _0x2ea61c=mutationResult({..._0x4834a6,'after':_0x572116,'dryRun':![],'succeeded':[{'id':_0x2b389f,'type':_0x408641(0x157),'path':_0x15a1cb}],'verification':{'checkedBy':_0x408641(0x188),'snapshotHash':_0x5992f0[_0x408641(0x162)],'folder':!![],'path':_0x15a1cb,'emptyResources':!![]}});return{'ok':!![],'data':_0x2ea61c,'message':_0x408641(0x176)+_0x2b389f+'.'};}};function validateCreateInput(_0x46bd9c){const _0x2fe770=a105_0x26bdd6,_0x415c4d=_0x46bd9c[_0x2fe770(0x189)](_0x2fe770(0x152))[_0x2fe770(0x17f)]();if(!_0x415c4d)throw CliErrors[_0x2fe770(0x14f)](_0x2fe770(0x152));parseParentId(_0x46bd9c,'parent-id'),validateSort(_0x46bd9c);}async function buildCreatePlan(_0x14a5ad,_0x11468b){const _0x25df9f=a105_0x26bdd6,_0x40cc8a=await fetchMutationSnapshot(_0x14a5ad,_0x25df9f(0x150)),_0x21aad7=parseParentId(_0x14a5ad,_0x25df9f(0x18c))??null;if(_0x21aad7!=null)requireFolder(_0x40cc8a,_0x21aad7);const _0x230a60=validateSort(_0x14a5ad),_0x52b5dd=_0x230a60??nextSiblingSort(_0x40cc8a,_0x21aad7,'folder'),_0x1a8a53=_0x14a5ad['str'](_0x25df9f(0x152))[_0x25df9f(0x17f)]();return mutationResult({'operation':_0x25df9f(0x153),'selector':{'label':_0x1a8a53,'parentId':_0x21aad7},'before':null,'after':{'id':null,'parentId':_0x21aad7,'label':_0x1a8a53,'path':_0x25df9f(0x178),'type':'folder','visible':!![],'sort':_0x52b5dd,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x11468b,'backend':[...BACKEND],'plannedActions':[{'stage':_0x25df9f(0x15e),'method':'POST','path':_0x25df9f(0x17d),'body':{'parentId':toApiParentId(_0x21aad7),'label':_0x1a8a53,'type':_0x25df9f(0x157),'visible':!![],'sort':_0x52b5dd,'extend':{}}}],'snapshotHash':_0x40cc8a['hash'],'warnings':[_0x25df9f(0x158)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a106_0x1ae9(_0x374902,_0x3e8b9c){_0x374902=_0x374902-0xe3;const _0x890305=a106_0x8903();let _0x1ae930=_0x890305[_0x374902];return _0x1ae930;}const a106_0x1bffdc=a106_0x1ae9;(function(_0x34e938,_0x1751bf){const _0x21c635=a106_0x1ae9,_0x4daada=_0x34e938();while(!![]){try{const _0x752226=parseInt(_0x21c635(0x100))/0x1*(parseInt(_0x21c635(0xe8))/0x2)+-parseInt(_0x21c635(0x111))/0x3+parseInt(_0x21c635(0xfc))/0x4+parseInt(_0x21c635(0x102))/0x5+parseInt(_0x21c635(0xfa))/0x6*(parseInt(_0x21c635(0xf6))/0x7)+-parseInt(_0x21c635(0xe7))/0x8*(parseInt(_0x21c635(0x108))/0x9)+-parseInt(_0x21c635(0x10c))/0xa*(parseInt(_0x21c635(0xef))/0xb);if(_0x752226===_0x1751bf)break;else _0x4daada['push'](_0x4daada['shift']());}catch(_0x2676d7){_0x4daada['push'](_0x4daada['shift']());}}}(a106_0x8903,0x5993a));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,requireExplicitYes,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a106_0x8903(){const _0x2dad9b=['1126ykdfKa','update','POST','Updated\x20folder\x20','label','trim','rabetbase\x20menu\x20list\x20--format\x20json','132ZJhPfH','Would\x20update\x20folder\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu_not_folder','\x22,\x20not\x20folder.','menu\x20list','hash','245IMljeL','/smartapi/menu/update','appCode','update\x20folder','67056kTUewj','group-update','1824580MRtFQJ','\x20label\x20update\x20did\x20not\x20take\x20effect.','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','sort','941ZuFxaO','folder','1408435KOnESI','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','type','No\x20online\x20fields\x20would\x20change.','str','447669uKobEW','high-risk-write','Folder\x20','Menu\x20','626570eUKUWS','string','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','\x20is\x20type\x20\x22','parentId','1023063RTMyJE','validation','verification','selector','--label\x20cannot\x20be\x20empty.','parent-id','32FfjvIg'];a106_0x8903=function(){return _0x2dad9b;};return a106_0x8903();}const BACKEND=[{'method':a106_0x1bffdc(0xea),'path':a106_0x1bffdc(0xf7)}];export const menuGroupUpdate={'service':'menu','command':a106_0x1bffdc(0xfb),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a106_0x1bffdc(0x109),'structuredErrors':!![],'rejectedFlags':[{'name':a106_0x1bffdc(0xe6),'message':a106_0x1bffdc(0xfe),'hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':a106_0x1bffdc(0xec),'type':a106_0x1bffdc(0x10d),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xded1a5){validateUpdateInput(_0xded1a5),requireExplicitYes(_0xded1a5);},async 'dryRun'(_0x5d7fa3){const _0x5ea6d9=a106_0x1bffdc;validateUpdateInput(_0x5d7fa3);const {plan:_0x592ecf,patch:_0xf70fe0}=await buildUpdatePlan(_0x5d7fa3,!![]);return menuDryRunResult(_0x592ecf,{'method':_0x5ea6d9(0xea),'url':_0x5ea6d9(0xf7),'body':_0xf70fe0,'description':_0x5ea6d9(0xf0)+_0x592ecf['selector']['id']+'.'});},async 'execute'(_0x500f7a){const _0x301c81=a106_0x1bffdc;validateUpdateInput(_0x500f7a),requireExplicitYes(_0x500f7a);const {plan:_0x3c8ed6,patch:_0x2c2dc4,noChanges:_0x1f072d}=await buildUpdatePlan(_0x500f7a,![]),_0xe36c25=Number(_0x3c8ed6[_0x301c81(0xe4)]['id']),_0x2d2db6=await recheckMutationSnapshot(_0x500f7a,_0x3c8ed6,_0x301c81(0xf9),_0xe36c25);if(!_0x1f072d)try{await updateMenuEntity(_0x500f7a[_0x301c81(0xf8)],_0x500f7a['cookie'],_0x2c2dc4);}catch(_0x3bfacb){const _0x4f8de4=mapMenuApiError(_0x3bfacb,_0x301c81(0xf9),_0xe36c25);throw menuFailure(_0x4f8de4,_0x3c8ed6,{'stage':_0x301c81(0xe9),'failed':{'id':_0xe36c25}});}let _0x415274=_0x2d2db6,_0x2fa37a;try{!_0x1f072d&&(_0x415274=await fetchMenuSnapshot(_0x500f7a[_0x301c81(0xf8)],_0x500f7a['cookie'])),_0x2fa37a=requireMenu(_0x415274,_0xe36c25),verifyPatch(_0x2fa37a,_0x2c2dc4),_0x2fa37a[_0x301c81(0x110)]!=null&&requireFolder(_0x415274,_0x2fa37a['parentId']);}catch(_0x2e5811){const _0x1e126c=describeMenuErrorCause(_0x2e5811,'verify\x20folder\x20update',_0xe36c25),_0x3a8584=asVerificationError(_0x2e5811,'Update\x20request\x20for\x20folder\x20'+_0xe36c25+_0x301c81(0xf1));throw menuFailure(_0x3a8584,_0x3c8ed6,{'stage':_0x301c81(0xe3),'succeeded':[{'id':_0xe36c25,'updateRequested':!_0x1f072d,'skipped':_0x1f072d}],'failed':{'id':_0xe36c25,'requestedStateConfirmed':![],..._0x1e126c},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x301c81(0xee),'targetId':_0xe36c25}});}const _0x3be197=mutationResult({..._0x3c8ed6,'after':_0x2fa37a,'dryRun':![],'succeeded':[{'id':_0xe36c25,'updated':!_0x1f072d,'skipped':_0x1f072d}],'verification':{'checkedBy':_0x301c81(0xf4),'snapshotHash':_0x415274[_0x301c81(0xf5)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3be197,'message':_0x1f072d?_0x301c81(0x10a)+_0xe36c25+'\x20already\x20matches\x20the\x20requested\x20state.':_0x301c81(0xeb)+_0xe36c25+'.'};}};function validateUpdateInput(_0x5321be){const _0x2d6b84=a106_0x1bffdc;validateExactId(_0x5321be);if(hasFlag(_0x5321be,_0x2d6b84(0xe6)))throw CliErrors[_0x2d6b84(0x112)](_0x2d6b84(0xfe),_0x2d6b84(0x103));if(!hasFlag(_0x5321be,_0x2d6b84(0xec))&&!hasFlag(_0x5321be,'sort'))throw CliErrors[_0x2d6b84(0x112)](_0x2d6b84(0x104));if(hasFlag(_0x5321be,_0x2d6b84(0xec))&&!_0x5321be[_0x2d6b84(0x107)](_0x2d6b84(0xec))[_0x2d6b84(0xed)]())throw CliErrors[_0x2d6b84(0x112)](_0x2d6b84(0xe5));validateSort(_0x5321be);}async function buildUpdatePlan(_0x33c99f,_0xd59473){const _0x452d2a=a106_0x1bffdc,_0x10324a=validateExactId(_0x33c99f),_0x474002=await fetchMutationSnapshot(_0x33c99f,'update\x20folder',_0x10324a),_0x4fb5f9=requireMenu(_0x474002,_0x10324a);if(_0x4fb5f9['type']!==_0x452d2a(0x101))throw menuError(_0x452d2a(0xf2),_0x452d2a(0x10b)+_0x10324a+_0x452d2a(0x10f)+(_0x4fb5f9['type']||'unknown')+_0x452d2a(0xf3),_0x452d2a(0x10e));assertExpectedState(_0x33c99f,_0x4fb5f9);const _0x281286={'id':_0x10324a},_0x4d2a09={..._0x4fb5f9};if(hasFlag(_0x33c99f,_0x452d2a(0xec))){const _0x57142d=_0x33c99f[_0x452d2a(0x107)]('label')[_0x452d2a(0xed)]();_0x281286[_0x452d2a(0xec)]=_0x57142d,_0x4d2a09[_0x452d2a(0xec)]=_0x57142d;}if(hasFlag(_0x33c99f,_0x452d2a(0xff))){const _0x41901a=validateSort(_0x33c99f);_0x281286[_0x452d2a(0xff)]=_0x41901a,_0x4d2a09['sort']=_0x41901a;}const _0x4c4e96=sameRequestedState(_0x4fb5f9,_0x4d2a09),_0x10bfa8=_0x4c4e96?[_0x452d2a(0x106)]:[];return{'patch':_0x281286,'noChanges':_0x4c4e96,'plan':mutationResult({'operation':_0x452d2a(0xfb),'selector':{'id':_0x10324a},'before':_0x4fb5f9,'after':_0x4d2a09,'dryRun':_0xd59473,'backend':[...BACKEND],'snapshotHash':_0x474002[_0x452d2a(0xf5)],'warnings':_0x10bfa8})};}function sameRequestedState(_0x5c18e7,_0x58d595){const _0xa62c61=a106_0x1bffdc;return _0x5c18e7[_0xa62c61(0xec)]===_0x58d595[_0xa62c61(0xec)]&&_0x5c18e7['sort']===_0x58d595[_0xa62c61(0xff)];}function verifyPatch(_0x12a7ff,_0x24bb19){const _0x2ddd8d=a106_0x1bffdc;assertVerified(_0x12a7ff[_0x2ddd8d(0x105)]===_0x2ddd8d(0x101),'Menu\x20'+_0x12a7ff['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x24bb19[_0x2ddd8d(0xec)]!==undefined&&assertVerified(_0x12a7ff[_0x2ddd8d(0xec)]===_0x24bb19[_0x2ddd8d(0xec)],'Folder\x20'+_0x12a7ff['id']+_0x2ddd8d(0xfd)),_0x24bb19[_0x2ddd8d(0xff)]!==undefined&&assertVerified(_0x12a7ff[_0x2ddd8d(0xff)]===_0x24bb19[_0x2ddd8d(0xff)],_0x2ddd8d(0x10a)+_0x12a7ff['id']+'\x20sort\x20update\x20did\x20not\x20take\x20effect.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x36f357,_0x4b3042){const _0x2ad979=a107_0x3c4a,_0x2d294d=_0x36f357();while(!![]){try{const _0x424372=parseInt(_0x2ad979(0x1cb))/0x1*(parseInt(_0x2ad979(0x1c7))/0x2)+parseInt(_0x2ad979(0x1c8))/0x3+parseInt(_0x2ad979(0x1c4))/0x4+-parseInt(_0x2ad979(0x1ca))/0x5*(parseInt(_0x2ad979(0x1c9))/0x6)+parseInt(_0x2ad979(0x1c3))/0x7+parseInt(_0x2ad979(0x1c6))/0x8+-parseInt(_0x2ad979(0x1c5))/0x9;if(_0x424372===_0x4b3042)break;else _0x2d294d['push'](_0x2d294d['shift']());}catch(_0x2b2076){_0x2d294d['push'](_0x2d294d['shift']());}}}(a107_0x48a6,0xc4545));import{menuList}from'../../commands/menu/list.js';function a107_0x3c4a(_0x5338dd,_0x1b1f7d){_0x5338dd=_0x5338dd-0x1c3;const _0x48a60f=a107_0x48a6();let _0x3c4a58=_0x48a60f[_0x5338dd];return _0x3c4a58;}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 a107_0x48a6(){const _0x588328=['14KZcvac','2215188gSojtD','30NcSIFi','700395XcEKnn','108411yMWJqt','9462887GwlCNz','1043772lXHkOy','22027725hikfaX','6736224QbWmnD'];a107_0x48a6=function(){return _0x588328;};return a107_0x48a6();}import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a108_0x594b6d=a108_0x1684;(function(_0x3784cb,_0x104b4e){const _0x5bdf48=a108_0x1684,_0x449631=_0x3784cb();while(!![]){try{const _0x51cd4f=parseInt(_0x5bdf48(0x150))/0x1+parseInt(_0x5bdf48(0x157))/0x2+parseInt(_0x5bdf48(0x148))/0x3+-parseInt(_0x5bdf48(0x145))/0x4+-parseInt(_0x5bdf48(0x14d))/0x5+parseInt(_0x5bdf48(0x158))/0x6*(parseInt(_0x5bdf48(0x14a))/0x7)+-parseInt(_0x5bdf48(0x14e))/0x8;if(_0x51cd4f===_0x104b4e)break;else _0x449631['push'](_0x449631['shift']());}catch(_0x907f26){_0x449631['push'](_0x449631['shift']());}}}(a108_0x4c77,0x98480));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a108_0x594b6d(0x156),'command':a108_0x594b6d(0x153),'description':a108_0x594b6d(0x146),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a108_0x594b6d(0x151),'type':'boolean','description':a108_0x594b6d(0x159)}],async 'execute'(_0x13ea62){const _0x47cb2a=a108_0x594b6d,_0x4a517e=_0x13ea62['bool'](_0x47cb2a(0x151)),_0x36873c=await fetchMenuSnapshot(_0x13ea62[_0x47cb2a(0x14c)],_0x13ea62[_0x47cb2a(0x154)],{'verbose':_0x4a517e});return{'ok':!![],'data':{'total':_0x36873c[_0x47cb2a(0x149)],'snapshotHash':_0x36873c[_0x47cb2a(0x152)],'menus':_0x36873c[_0x47cb2a(0x14f)][_0x47cb2a(0x147)](toMenuListItem)},'message':_0x36873c[_0x47cb2a(0x149)]===0x0?_0x47cb2a(0x155):_0x47cb2a(0x14b)+_0x36873c[_0x47cb2a(0x149)]+'\x20menu(s)'};}};function a108_0x1684(_0x25ea22,_0x250212){_0x25ea22=_0x25ea22-0x145;const _0x4c77b3=a108_0x4c77();let _0x168432=_0x4c77b3[_0x25ea22];return _0x168432;}function a108_0x4c77(){const _0x440704=['2992520IYOcuS','6020240dfRPlw','menus','716075xXuXQx','verbose','hash','list','cookie','No\x20menus\x20found.','menu','2013582VNyyEJ','282mwFRtI','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','4483580hTCIBu','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','map','3535668IWqbgN','total','28931aeQosC','Found\x20','appCode'];a108_0x4c77=function(){return _0x440704;};return a108_0x4c77();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a109_0xaa75ae=a109_0x13de;(function(_0x59f2f8,_0x24bea8){const _0x4e1a6e=a109_0x13de,_0x294f14=_0x59f2f8();while(!![]){try{const _0x583117=-parseInt(_0x4e1a6e(0x9c))/0x1+parseInt(_0x4e1a6e(0xa4))/0x2+parseInt(_0x4e1a6e(0x8b))/0x3*(-parseInt(_0x4e1a6e(0x8e))/0x4)+parseInt(_0x4e1a6e(0x8c))/0x5+parseInt(_0x4e1a6e(0x97))/0x6+parseInt(_0x4e1a6e(0x9e))/0x7*(-parseInt(_0x4e1a6e(0xad))/0x8)+parseInt(_0x4e1a6e(0xa0))/0x9*(parseInt(_0x4e1a6e(0x98))/0xa);if(_0x583117===_0x24bea8)break;else _0x294f14['push'](_0x294f14['shift']());}catch(_0x14b39b){_0x294f14['push'](_0x294f14['shift']());}}}(a109_0x5e39,0xa4b52));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,requireExplicitYes,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a109_0x13de(_0x3efd3a,_0x5e15d5){_0x3efd3a=_0x3efd3a-0x87;const _0x5e3931=a109_0x5e39();let _0x13de94=_0x5e3931[_0x3efd3a];return _0x13de94;}function a109_0x5e39(){const _0x354b4a=['5274810RUOvoA','1230KMGniN','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','sort','expect-parent-id','558523PZAXtR','menu_state_drift','7opeIZE','/smartapi/menu/update','61857ByRPkT','failed','parent-id','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','1744222iKxAau','move','\x20parent\x20changed:\x20expected\x20','folder','cookie','menu','childrenCount','move-menu','menu\x20list','5355624zPUcpk','POST','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','menu_move_source_not_leaf','high-risk-write',',\x20current\x20','appCode','Move\x20request\x20for\x20menu\x20','parentId','verification','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','Would\x20move\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','287100acLvep','2271965JIJXPu','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','48nPTPVF','rabetbase\x20menu\x20list\x20--format\x20compress','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','move\x20menu','\x20is\x20now\x20type\x20folder.','Menu\x20','after','type','hash'];a109_0x5e39=function(){return _0x354b4a;};return a109_0x5e39();}const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuMove={'service':a109_0xaa75ae(0xa9),'command':a109_0xaa75ae(0xa5),'description':a109_0xaa75ae(0x99),'risk':a109_0xaa75ae(0xb1),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x145b6b){validateMoveInput(_0x145b6b),requireExplicitYes(_0x145b6b);},async 'dryRun'(_0x129865){const _0x530ac9=a109_0xaa75ae,{plan:_0x11a526,patch:_0x39aa9a}=await buildMovePlan(_0x129865,!![]);return menuDryRunResult(_0x11a526,{'method':_0x530ac9(0xae),'url':'/smartapi/menu/update','body':{..._0x39aa9a,'appCode':_0x129865[_0x530ac9(0xb3)]},'description':_0x530ac9(0x87)+_0x39aa9a['id']+'.'});},async 'execute'(_0x1c2140){const _0x1703a6=a109_0xaa75ae;validateMoveInput(_0x1c2140),requireExplicitYes(_0x1c2140);const {plan:_0x1035bf,patch:_0x49267b,noChanges:_0x5f370f,snapshot:_0xd1caac}=await buildMovePlan(_0x1c2140,![]),_0x1c7382=_0x49267b['id'];if(!_0x5f370f)try{await updateMenuEntity(_0x1c2140['appCode'],_0x1c2140[_0x1703a6(0xa8)],_0x49267b);}catch(_0xe3d285){const _0xf58dbb=mapMenuApiError(_0xe3d285,'move',_0x1c7382);throw menuFailure(_0xf58dbb,_0x1035bf,{'stage':'update','failed':{'id':_0x1c7382},'warnings':[_0x1703a6(0x90)],'verification':{'status':_0x1703a6(0xa1),'targetId':_0x1c7382,'lookupCommand':_0x1703a6(0x8f)}});}let _0x3f0eba,_0x26ee82;try{_0x3f0eba=_0x5f370f?_0xd1caac:await fetchMenuSnapshot(_0x1c2140['appCode'],_0x1c2140[_0x1703a6(0xa8)]),_0x26ee82=requireMenu(_0x3f0eba,_0x1c7382),verifyMove(_0x26ee82,_0x1035bf[_0x1703a6(0x94)]),_0x26ee82[_0x1703a6(0xb5)]!==null&&requireFolder(_0x3f0eba,_0x26ee82['parentId']);}catch(_0x6a2636){const _0x42a93b=describeMenuErrorCause(_0x6a2636,'verify\x20menu\x20move',_0x1c7382),_0x12e159=asVerificationError(_0x6a2636,_0x1703a6(0xb4)+_0x1c7382+_0x1703a6(0x8a));throw menuFailure(_0x12e159,_0x1035bf,{'stage':_0x1703a6(0xb6),'succeeded':[{'id':_0x1c7382,'updateRequested':!_0x5f370f,'skipped':_0x5f370f}],'failed':{'id':_0x1c7382,'requestedStateConfirmed':![],..._0x42a93b},'warnings':[_0x1703a6(0xa3)],'verification':{'status':_0x1703a6(0xa1),'targetId':_0x1c7382,'lookupCommand':_0x1703a6(0x8f)}});}const _0x5f3180=mutationResult({..._0x1035bf,'after':_0x26ee82,'dryRun':![],'succeeded':[{'id':_0x1c7382,'updated':!_0x5f370f,'skipped':_0x5f370f}],'verification':{'checkedBy':_0x1703a6(0xac),'snapshotHash':_0x3f0eba[_0x1703a6(0x96)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x5f3180,'message':_0x5f370f?_0x1703a6(0x93)+_0x1c7382+_0x1703a6(0xaf):'Moved\x20menu\x20'+_0x1c7382+'.'};}};function validateMoveInput(_0x419157){const _0x1b52df=a109_0xaa75ae;validateExactId(_0x419157),parseParentId(_0x419157,_0x1b52df(0xa2),{'required':!![]}),parseParentId(_0x419157,_0x1b52df(0x9b),{'required':!![]}),validateSort(_0x419157);}async function buildMovePlan(_0x45d4df,_0x38f7cd){const _0xf78dc4=a109_0xaa75ae,_0x82ecd8=validateExactId(_0x45d4df),_0x4fddf6=parseParentId(_0x45d4df,_0xf78dc4(0xa2),{'required':!![]}),_0x300308=parseParentId(_0x45d4df,_0xf78dc4(0x9b),{'required':!![]}),_0x4dac87=validateSort(_0x45d4df),_0x4fa78e=await fetchMutationSnapshot(_0x45d4df,_0xf78dc4(0x91),_0x82ecd8),_0x1678f1=requireMenu(_0x4fa78e,_0x82ecd8);if(_0x1678f1[_0xf78dc4(0x95)]===_0xf78dc4(0xa7)||_0x1678f1[_0xf78dc4(0xaa)]!==0x0)throw menuError(_0xf78dc4(0xb0),'Menu\x20'+_0x82ecd8+_0xf78dc4(0x8d),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.');if(_0x1678f1[_0xf78dc4(0xb5)]!==_0x300308)throw menuError(_0xf78dc4(0x9d),_0xf78dc4(0x93)+_0x82ecd8+_0xf78dc4(0xa6)+formatParent(_0x300308)+_0xf78dc4(0xb2)+formatParent(_0x1678f1[_0xf78dc4(0xb5)])+'.',_0xf78dc4(0x88));_0x4fddf6!==null&&requireFolder(_0x4fa78e,_0x4fddf6);const _0x4ccb66=_0x4dac87??(_0x1678f1[_0xf78dc4(0xb5)]===_0x4fddf6?_0x1678f1[_0xf78dc4(0x9a)]??0x0:nextSiblingSort(_0x4fa78e,_0x4fddf6,_0xf78dc4(0xa9))),_0x34d3a9={..._0x1678f1,'parentId':_0x4fddf6,'sort':_0x4ccb66},_0x4b9e57={'id':_0x82ecd8,'parentId':toApiParentId(_0x4fddf6),'sort':_0x4ccb66},_0x10095f=_0x1678f1[_0xf78dc4(0xb5)]===_0x4fddf6&&_0x1678f1[_0xf78dc4(0x9a)]===_0x4ccb66;return{'patch':_0x4b9e57,'noChanges':_0x10095f,'snapshot':_0x4fa78e,'plan':mutationResult({'operation':_0xf78dc4(0xa5),'selector':{'id':_0x82ecd8,'parentId':_0x4fddf6},'before':_0x1678f1,'after':_0x34d3a9,'dryRun':_0x38f7cd,'backend':[...BACKEND],'plannedActions':[{'stage':_0xf78dc4(0xab),'method':_0xf78dc4(0xae),'path':_0xf78dc4(0x9f),'body':{..._0x4b9e57,'appCode':_0x45d4df[_0xf78dc4(0xb3)]}}],'snapshotHash':_0x4fa78e[_0xf78dc4(0x96)],'warnings':_0x10095f?[_0xf78dc4(0x89)]:[]})};}function verifyMove(_0x14716c,_0x211ee4){const _0x492b5a=a109_0xaa75ae;assertVerified(_0x14716c[_0x492b5a(0x95)]!=='folder',_0x492b5a(0x93)+_0x14716c['id']+_0x492b5a(0x92)),assertVerified(_0x14716c[_0x492b5a(0xaa)]===0x0,_0x492b5a(0x93)+_0x14716c['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x14716c[_0x492b5a(0xb5)]===_0x211ee4[_0x492b5a(0xb5)],_0x492b5a(0x93)+_0x14716c['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x14716c[_0x492b5a(0x9a)]===_0x211ee4[_0x492b5a(0x9a)],_0x492b5a(0x93)+_0x14716c['id']+_0x492b5a(0xb7));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x1d8d37=a110_0x3753;(function(_0x1290ad,_0x3233c2){const _0x1cba54=a110_0x3753,_0x2f632e=_0x1290ad();while(!![]){try{const _0x3d0880=parseInt(_0x1cba54(0x1f7))/0x1+-parseInt(_0x1cba54(0x1eb))/0x2*(-parseInt(_0x1cba54(0x227))/0x3)+parseInt(_0x1cba54(0x217))/0x4*(-parseInt(_0x1cba54(0x1f0))/0x5)+-parseInt(_0x1cba54(0x22e))/0x6+parseInt(_0x1cba54(0x1ec))/0x7+parseInt(_0x1cba54(0x238))/0x8*(-parseInt(_0x1cba54(0x21b))/0x9)+parseInt(_0x1cba54(0x206))/0xa;if(_0x3d0880===_0x3233c2)break;else _0x2f632e['push'](_0x2f632e['shift']());}catch(_0x5bc506){_0x2f632e['push'](_0x2f632e['shift']());}}}(a110_0x262f,0xec411));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a110_0x262f(){const _0xd7c52d=['The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','size','<platform-generated>','appCode','validation','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','\x20menu\x20list\x20--appcode\x20','144344Bbwskh','some','readbackError','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','status','get','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','toLowerCase','menu-ids','parentId','unconfirmed','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','byId','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','Regroup\x20task\x20','Regroup\x20readback\x20also\x20failed:\x20','hash','menu_regroup_target_label_missing','map','Regroup\x20task\x20accepted.\x20','<new-group-id>','str','412mOfByS','6159783oNPvZl','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','warnings','1698390dqAPzJ','folder','failed','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','menus','Regroup\x20readback\x20failed:\x20','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','689003iLNHdp','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.','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','start\x20menu\x20regroup','cookie','isSafeInteger','taskId',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','/smartapi/menu/regroup','childrenCount','\x20and\x20regroup\x20menu\x20ids\x20','join','stringify','regroup-start','applied','635770vEPVQO','menu\x20list','\x20menus\x20per\x20regroup\x20request.','SUCCESS','knownStatus','flagMissing','menu','message','start\x20regroup','group','menuIds','\x27\x5c\x27\x27','Root\x20folder\x20label\x20','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','sort','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','string','12NggFMm','plan\x20regroup','split','length','621qynjVQ','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','plan','trim','submit-regroup-task','menu_regroup_label_conflict','Menus\x20','label','Label\x20of\x20the\x20new\x20root\x20folder','filter','--menu-ids\x20supports\x20at\x20most\x20','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','25302ZIyCzY','type','POST','childrenIds','Menu\x20','menu_regroup_already_applied','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','829530MizweI','high-risk-write'];a110_0x262f=function(){return _0xd7c52d;};return a110_0x262f();}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':a110_0x1d8d37(0x229),'path':a110_0x1d8d37(0x1ff)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a110_0x1d8d37(0x20c),'command':a110_0x1d8d37(0x204),'description':a110_0x1d8d37(0x236),'risk':a110_0x1d8d37(0x22f),'structuredErrors':!![],'flags':[{'name':a110_0x1d8d37(0x222),'type':a110_0x1d8d37(0x216),'required':!![],'description':a110_0x1d8d37(0x223)},{'name':'menu-ids','type':'string','required':!![],'description':a110_0x1d8d37(0x213)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4fad1e){validateRegroupInput(_0x4fad1e),requireExplicitYes(_0x4fad1e);},async 'dryRun'(_0x2f9444){const _0x3ab76d=a110_0x1d8d37;validateRegroupInput(_0x2f9444);const _0x500f14=await buildRegroupPlan(_0x2f9444,!![]);return menuDryRunResult(_0x500f14['plan'],{'method':_0x3ab76d(0x229),'url':_0x3ab76d(0x1ff),'body':_0x500f14['input'],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON[_0x3ab76d(0x203)](_0x500f14['label'])+_0x3ab76d(0x201)+_0x500f14[_0x3ab76d(0x210)][_0x3ab76d(0x202)](',\x20')+_0x3ab76d(0x1fe)});},async 'execute'(_0x16dc0c){const _0x529aeb=a110_0x1d8d37;validateRegroupInput(_0x16dc0c),requireExplicitYes(_0x16dc0c);const _0x4c6b57=await buildRegroupPlan(_0x16dc0c,![]);await recheckMutationSnapshot(_0x16dc0c,_0x4c6b57['plan'],_0x529aeb(0x20e));const _0x17f87e=buildMenuLookupCommand(_0x16dc0c['appCode']);let _0x5ecbce,_0x339e02;try{_0x5ecbce=await startMenuRegroup(_0x16dc0c[_0x529aeb(0x1fb)],_0x4c6b57['input']),_0x339e02=normalizeAsyncTask(_0x5ecbce);}catch(_0x482d4a){const _0xe60bfa=await inspectRegroupAfterFailure(_0x16dc0c[_0x529aeb(0x233)],_0x16dc0c[_0x529aeb(0x1fb)],_0x4c6b57[_0x529aeb(0x222)],_0x4c6b57[_0x529aeb(0x210)]),_0x3f7b48=typeof _0x5ecbce?.[_0x529aeb(0x1fd)]==='string'&&_0x5ecbce[_0x529aeb(0x1fd)]['trim']()?_0x5ecbce[_0x529aeb(0x1fd)][_0x529aeb(0x21e)]():null,_0x561d79=_0x3f7b48?{'command':buildAsyncTaskStatusCommand(_0x3f7b48,_0x16dc0c['appCode'])}:null,_0x3ecceb=mapMenuApiError(_0x482d4a,_0x529aeb(0x1fa));throw menuFailure(_0x3ecceb,_0x4c6b57[_0x529aeb(0x21d)],{'stage':'regroup-submit','failed':{'menuIds':_0x4c6b57[_0x529aeb(0x210)],'taskId':_0x3f7b48,'groupingApplied':_0xe60bfa[_0x529aeb(0x205)]?!![]:_0x529aeb(0x1df)},'after':_0xe60bfa[_0x529aeb(0x205)]??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.',..._0xe60bfa[_0x529aeb(0x23a)]?[_0x529aeb(0x1e4)+_0xe60bfa[_0x529aeb(0x23a)]]:[],..._0x3f7b48?[_0x529aeb(0x23e)]:[]],'verification':{'status':_0x529aeb(0x1f2),'groupingApplied':_0xe60bfa[_0x529aeb(0x205)]?!![]:'unconfirmed','taskId':_0x3f7b48,'query':_0x561d79,'lookupCommand':_0x17f87e}});}const _0x4d9a47=buildAsyncTaskStatusCommand(_0x339e02[_0x529aeb(0x1fd)],_0x16dc0c[_0x529aeb(0x233)]);let _0x1bef7c=null,_0x57cc03=null,_0x2c955d=null;try{_0x1bef7c=await fetchMenuSnapshot(_0x16dc0c['appCode'],_0x16dc0c[_0x529aeb(0x1fb)]),_0x57cc03=findAppliedRegroup(_0x1bef7c,_0x4c6b57[_0x529aeb(0x222)],_0x4c6b57[_0x529aeb(0x210)]);}catch(_0x32fa22){_0x2c955d=_0x32fa22 instanceof Error?_0x32fa22[_0x529aeb(0x20d)]:String(_0x32fa22);}const _0x51d0bf=mutationResult({..._0x4c6b57[_0x529aeb(0x21d)],'after':_0x57cc03??null,'dryRun':![],'succeeded':[{'groupId':_0x57cc03?.['group']['id']??null,'menuIds':_0x4c6b57[_0x529aeb(0x210)],'taskId':_0x339e02[_0x529aeb(0x1fd)],'status':_0x339e02['status'],'groupingApplied':_0x57cc03?!![]:_0x529aeb(0x1df)}],'verification':{'checkedBy':_0x529aeb(0x207),'snapshotHash':_0x1bef7c?.[_0x529aeb(0x1e5)]??null,'groupId':_0x57cc03?.[_0x529aeb(0x20f)]['id']??null,'groupingApplied':_0x57cc03?!![]:_0x529aeb(0x1df),'readbackError':_0x2c955d,'lookupCommand':_0x17f87e},'warnings':[..._0x4c6b57[_0x529aeb(0x21d)][_0x529aeb(0x1ef)],...!_0x57cc03?[unconfirmedRegroupWarning(_0x339e02)]:[],..._0x2c955d?[_0x529aeb(0x1f5)+_0x2c955d]:[]]}),_0x242fa0=_0x339e02[_0x529aeb(0x23c)]==='SUCCESS'&&!_0x57cc03?_0x529aeb(0x1e3)+_0x339e02['taskId']+_0x529aeb(0x1ee):_0x529aeb(0x1e8)+asyncTaskMessage(_0x339e02);return{'ok':!![],'message':_0x242fa0,'data':{..._0x51d0bf,'task':_0x339e02,'query':_0x339e02['isTerminal']?null:{'command':_0x4d9a47}}};}};function validateRegroupInput(_0xcdde04){const _0x59e5c2=a110_0x1d8d37;if(!_0xcdde04[_0x59e5c2(0x1ea)]('label')[_0x59e5c2(0x21e)]())throw CliErrors[_0x59e5c2(0x20b)](_0x59e5c2(0x222));parseMenuIds(_0xcdde04['str'](_0x59e5c2(0x1dd)));}function parseMenuIds(_0xb746c){const _0x5eb245=a110_0x1d8d37,_0x47180f=_0xb746c[_0x5eb245(0x219)](',')[_0x5eb245(0x1e7)](_0x1bf6df=>_0x1bf6df[_0x5eb245(0x21e)]());if(_0x47180f[_0x5eb245(0x21a)]===0x0||_0x47180f['some'](_0x9afe34=>!_0x9afe34))throw CliErrors[_0x5eb245(0x234)](_0x5eb245(0x1e2));const _0x15fdc0=_0x47180f[_0x5eb245(0x1e7)](_0x285540=>{const _0x1e873f=_0x5eb245;if(!/^\d+$/['test'](_0x285540))throw CliErrors['validation']('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x78b61e=Number(_0x285540);if(!Number[_0x1e873f(0x1fc)](_0x78b61e)||_0x78b61e<=0x0)throw CliErrors['validation'](_0x1e873f(0x1e2));return _0x78b61e;});if(new Set(_0x15fdc0)[_0x5eb245(0x231)]!==_0x15fdc0['length'])throw CliErrors['validation'](_0x5eb245(0x1ed));if(_0x15fdc0[_0x5eb245(0x21a)]>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0x5eb245(0x225)+MAX_REGROUP_MENU_COUNT+_0x5eb245(0x208));return _0x15fdc0;}function buildMenuLookupCommand(_0x2ab157){const _0x282760=a110_0x1d8d37,_0x301d18='\x27'+_0x2ab157['replace'](/'/g,_0x282760(0x211))+'\x27';return CLI_BIN_NAME+_0x282760(0x237)+_0x301d18+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x4df6ac){const _0x3d10df=a110_0x1d8d37;if(_0x4df6ac[_0x3d10df(0x23c)]===_0x3d10df(0x209))return _0x3d10df(0x230);if(_0x4df6ac[_0x3d10df(0x23c)]==='FAILED')return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x4df6ac[_0x3d10df(0x20a)])return _0x3d10df(0x1f9);return _0x3d10df(0x1f8);}async function buildRegroupPlan(_0x3d1f4a,_0x5331f9){const _0x3b1824=a110_0x1d8d37,_0x347b40=_0x3d1f4a[_0x3b1824(0x1ea)](_0x3b1824(0x222))['trim'](),_0x4bb3bd=parseMenuIds(_0x3d1f4a[_0x3b1824(0x1ea)]('menu-ids')),_0x58e1ed=await fetchMutationSnapshot(_0x3d1f4a,_0x3b1824(0x218)),_0x5336aa=_0x4bb3bd[_0x3b1824(0x1e7)](_0x221e0d=>requireMenu(_0x58e1ed,_0x221e0d));for(const _0x26f5fa of _0x5336aa){if(_0x26f5fa['type']['trim']()[_0x3b1824(0x1dc)]()===_0x3b1824(0x1f1)||_0x26f5fa[_0x3b1824(0x200)]>0x0)throw menuError('menu_regroup_target_not_leaf','Menu\x20'+_0x26f5fa['id']+_0x3b1824(0x1e0),_0x3b1824(0x21c));if(!_0x26f5fa[_0x3b1824(0x222)][_0x3b1824(0x21e)]())throw menuError(_0x3b1824(0x1e6),_0x3b1824(0x22b)+_0x26f5fa['id']+_0x3b1824(0x1f3),_0x3b1824(0x226));}const _0x96831a=findAppliedRegroup(_0x58e1ed,_0x347b40,_0x4bb3bd);if(_0x96831a)throw menuError(_0x3b1824(0x22c),_0x3b1824(0x221)+_0x4bb3bd[_0x3b1824(0x202)](',\x20')+_0x3b1824(0x22d)+_0x96831a[_0x3b1824(0x20f)]['id']+'\x20('+JSON['stringify'](_0x347b40)+').','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.');const _0x3693f3=_0x58e1ed[_0x3b1824(0x1f4)][_0x3b1824(0x224)](_0x4b3565=>_0x4b3565['parentId']==null&&_0x4b3565[_0x3b1824(0x228)][_0x3b1824(0x21e)]()[_0x3b1824(0x1dc)]()===_0x3b1824(0x1f1)&&_0x4b3565[_0x3b1824(0x222)]===_0x347b40);if(_0x3693f3[_0x3b1824(0x21a)]>0x0)throw menuError(_0x3b1824(0x220),_0x3b1824(0x212)+JSON[_0x3b1824(0x203)](_0x347b40)+_0x3b1824(0x235)+_0x3693f3[_0x3b1824(0x1e7)](_0x42de73=>_0x42de73['id'])['join'](',\x20')+'.',_0x3b1824(0x1f6));const _0x438ce3={'appCode':_0x3d1f4a[_0x3b1824(0x233)],'menuGroups':[{'label':_0x347b40,'type':'folder','children':_0x5336aa[_0x3b1824(0x1e7)](_0x867f60=>({'id':_0x867f60['id'],'label':_0x867f60[_0x3b1824(0x222)]}))}]},_0x381076=mutationResult({'operation':'regroup-start','selector':{'label':_0x347b40,'menuIds':_0x4bb3bd},'before':{'menus':_0x5336aa},'after':{'group':{'id':null,'parentId':null,'label':_0x347b40,'path':_0x3b1824(0x232),'type':'folder','childrenIds':_0x4bb3bd},'children':_0x5336aa[_0x3b1824(0x1e7)](_0x594240=>({'id':_0x594240['id'],'label':_0x594240[_0x3b1824(0x222)],'beforeParentId':_0x594240[_0x3b1824(0x1de)],'afterParentId':_0x3b1824(0x1e9)}))},'dryRun':_0x5331f9,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3b1824(0x21f),'method':_0x3b1824(0x229),'path':'/smartapi/menu/regroup','body':_0x438ce3}],'snapshotHash':_0x58e1ed['hash'],'warnings':[_0x3b1824(0x215),_0x3b1824(0x23b)]});return{'label':_0x347b40,'menuIds':_0x4bb3bd,'input':_0x438ce3,'plan':_0x381076};}function a110_0x3753(_0x35d93c,_0x2e646d){_0x35d93c=_0x35d93c-0x1dc;const _0x262f86=a110_0x262f();let _0x3753a1=_0x262f86[_0x35d93c];return _0x3753a1;}function findAppliedRegroup(_0x439a06,_0x5cc37a,_0xe3c13d){const _0x39c581=a110_0x1d8d37,_0x3bd8e4=_0xe3c13d[_0x39c581(0x1e7)](_0x56efea=>_0x439a06[_0x39c581(0x1e1)][_0x39c581(0x23d)](_0x56efea))[_0x39c581(0x224)](_0x2ac8d1=>Boolean(_0x2ac8d1));if(_0x3bd8e4['length']!==_0xe3c13d[_0x39c581(0x21a)])return null;const _0x54891c=_0x3bd8e4[0x0]?.[_0x39c581(0x1de)];if(_0x54891c==null||_0x3bd8e4[_0x39c581(0x239)](_0x42f691=>_0x42f691[_0x39c581(0x1de)]!==_0x54891c))return null;const _0x159546=_0x439a06[_0x39c581(0x1e1)][_0x39c581(0x23d)](_0x54891c);if(!_0x159546||_0x159546['parentId']!=null||_0x159546['type'][_0x39c581(0x21e)]()[_0x39c581(0x1dc)]()!==_0x39c581(0x1f1)||_0x159546[_0x39c581(0x222)]!==_0x5cc37a)return null;const _0x22afe0=[..._0xe3c13d]['sort']((_0x598c3a,_0x554670)=>_0x598c3a-_0x554670),_0x211e43=[..._0x159546[_0x39c581(0x22a)]][_0x39c581(0x214)]((_0x204f99,_0xff86c8)=>_0x204f99-_0xff86c8);if(JSON[_0x39c581(0x203)](_0x211e43)!==JSON['stringify'](_0x22afe0))return null;return{'group':_0x159546,'children':_0x3bd8e4};}async function inspectRegroupAfterFailure(_0x2a93bc,_0x56d427,_0xaed632,_0x166602){try{const _0x423263=await fetchMenuSnapshot(_0x2a93bc,_0x56d427);return{'applied':findAppliedRegroup(_0x423263,_0xaed632,_0x166602),'readbackError':null};}catch(_0x197977){return{'applied':null,'readbackError':_0x197977 instanceof Error?_0x197977['message']:String(_0x197977)};}}
|
|
1
|
+
const a110_0x278034=a110_0x31fe;(function(_0x258506,_0x57d8f2){const _0x48159f=a110_0x31fe,_0x35a3e9=_0x258506();while(!![]){try{const _0x53c257=parseInt(_0x48159f(0x99))/0x1+-parseInt(_0x48159f(0xbf))/0x2*(parseInt(_0x48159f(0xc0))/0x3)+-parseInt(_0x48159f(0x98))/0x4+-parseInt(_0x48159f(0x7c))/0x5*(parseInt(_0x48159f(0x8f))/0x6)+-parseInt(_0x48159f(0xc4))/0x7+parseInt(_0x48159f(0xc6))/0x8*(-parseInt(_0x48159f(0x6f))/0x9)+parseInt(_0x48159f(0x7b))/0xa*(parseInt(_0x48159f(0xa1))/0xb);if(_0x53c257===_0x57d8f2)break;else _0x35a3e9['push'](_0x35a3e9['shift']());}catch(_0x5e1e0a){_0x35a3e9['push'](_0x35a3e9['shift']());}}}(a110_0x1e30,0x44b10));function a110_0x1e30(){const _0x532012=['The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','toLowerCase','applied','<new-group-id>','FAILED','trim','childrenIds','appCode','type','70544KTuOyC','42pekNOz','<platform-generated>','readbackError','start\x20menu\x20regroup','1320830crzQLQ','menu_regroup_already_applied','10584LnrcPx','menu_regroup_label_conflict','get','label','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','324zkRNba','size','join','POST','split','input','SUCCESS','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','menu_regroup_target_label_missing','Root\x20folder\x20label\x20','12930yDyThY','5GDcMnz','group','str','unconfirmed','plan','string','plan\x20regroup','regroup-start','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','message','some','\x20and\x20regroup\x20menu\x20ids\x20','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','sort','/smartapi/menu/regroup','\x20menus\x20per\x20regroup\x20request.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','folder','--menu-ids\x20supports\x20at\x20most\x20','1661922myYTcc','\x27\x5c\x27\x27','Menu\x20','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','warnings','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','menus','menu-ids','stringify','225976BXEpRO','523912wYhupH','failed','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','parentId','Menus\x20','menuIds','Regroup\x20readback\x20failed:\x20','6985KipQmW','isTerminal','validation','taskId','submit-regroup-task',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','length','Regroup\x20task\x20accepted.\x20','map','byId','isSafeInteger','test','replace','start\x20regroup','status','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','regroup-submit','cookie','knownStatus','hash','menu'];a110_0x1e30=function(){return _0x532012;};return a110_0x1e30();}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':a110_0x278034(0x72),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a110_0x278034(0xb5),'command':a110_0x278034(0x83),'description':'Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','risk':'high-risk-write','structuredErrors':!![],'flags':[{'name':'label','type':'string','required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a110_0x278034(0x96),'type':a110_0x278034(0x81),'required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3f2e3b){validateRegroupInput(_0x3f2e3b),requireExplicitYes(_0x3f2e3b);},async 'dryRun'(_0x5a07a5){const _0x156ea3=a110_0x278034;validateRegroupInput(_0x5a07a5);const _0x1335b1=await buildRegroupPlan(_0x5a07a5,!![]);return menuDryRunResult(_0x1335b1['plan'],{'method':_0x156ea3(0x72),'url':_0x156ea3(0x8a),'body':_0x1335b1[_0x156ea3(0x74)],'description':_0x156ea3(0x9b)+JSON['stringify'](_0x1335b1[_0x156ea3(0x6d)])+_0x156ea3(0x87)+_0x1335b1[_0x156ea3(0x9f)][_0x156ea3(0x71)](',\x20')+_0x156ea3(0xa6)});},async 'execute'(_0x207be5){const _0x263611=a110_0x278034;validateRegroupInput(_0x207be5),requireExplicitYes(_0x207be5);const _0x483375=await buildRegroupPlan(_0x207be5,![]);await recheckMutationSnapshot(_0x207be5,_0x483375[_0x263611(0x80)],_0x263611(0xae));const _0x2c5307=buildMenuLookupCommand(_0x207be5[_0x263611(0xbd)]);let _0x423580,_0x5cbb7c;try{_0x423580=await startMenuRegroup(_0x207be5[_0x263611(0xb2)],_0x483375[_0x263611(0x74)]),_0x5cbb7c=normalizeAsyncTask(_0x423580);}catch(_0x5316f1){const _0x20fbc1=await inspectRegroupAfterFailure(_0x207be5[_0x263611(0xbd)],_0x207be5[_0x263611(0xb2)],_0x483375['label'],_0x483375[_0x263611(0x9f)]),_0x3a5e42=typeof _0x423580?.[_0x263611(0xa4)]===_0x263611(0x81)&&_0x423580[_0x263611(0xa4)][_0x263611(0xbb)]()?_0x423580[_0x263611(0xa4)][_0x263611(0xbb)]():null,_0x26b9be=_0x3a5e42?{'command':buildAsyncTaskStatusCommand(_0x3a5e42,_0x207be5[_0x263611(0xbd)])}:null,_0x2577d5=mapMenuApiError(_0x5316f1,_0x263611(0xc3));throw menuFailure(_0x2577d5,_0x483375[_0x263611(0x80)],{'stage':_0x263611(0xb1),'failed':{'menuIds':_0x483375[_0x263611(0x9f)],'taskId':_0x3a5e42,'groupingApplied':_0x20fbc1[_0x263611(0xb8)]?!![]:_0x263611(0x7f)},'after':_0x20fbc1[_0x263611(0xb8)]??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.',..._0x20fbc1[_0x263611(0xc2)]?['Regroup\x20readback\x20also\x20failed:\x20'+_0x20fbc1[_0x263611(0xc2)]]:[],..._0x3a5e42?[_0x263611(0x78)]:[]],'verification':{'status':_0x263611(0x9a),'groupingApplied':_0x20fbc1[_0x263611(0xb8)]?!![]:_0x263611(0x7f),'taskId':_0x3a5e42,'query':_0x26b9be,'lookupCommand':_0x2c5307}});}const _0x2e1c4e=buildAsyncTaskStatusCommand(_0x5cbb7c[_0x263611(0xa4)],_0x207be5[_0x263611(0xbd)]);let _0x5c2fde=null,_0x1a990d=null,_0x47efc2=null;try{_0x5c2fde=await fetchMenuSnapshot(_0x207be5[_0x263611(0xbd)],_0x207be5[_0x263611(0xb2)]),_0x1a990d=findAppliedRegroup(_0x5c2fde,_0x483375[_0x263611(0x6d)],_0x483375['menuIds']);}catch(_0x55ac7b){_0x47efc2=_0x55ac7b instanceof Error?_0x55ac7b[_0x263611(0x85)]:String(_0x55ac7b);}const _0x5133cc=mutationResult({..._0x483375[_0x263611(0x80)],'after':_0x1a990d??null,'dryRun':![],'succeeded':[{'groupId':_0x1a990d?.[_0x263611(0x7d)]['id']??null,'menuIds':_0x483375[_0x263611(0x9f)],'taskId':_0x5cbb7c['taskId'],'status':_0x5cbb7c['status'],'groupingApplied':_0x1a990d?!![]:_0x263611(0x7f)}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x5c2fde?.[_0x263611(0xb4)]??null,'groupId':_0x1a990d?.[_0x263611(0x7d)]['id']??null,'groupingApplied':_0x1a990d?!![]:'unconfirmed','readbackError':_0x47efc2,'lookupCommand':_0x2c5307},'warnings':[..._0x483375[_0x263611(0x80)][_0x263611(0x93)],...!_0x1a990d?[unconfirmedRegroupWarning(_0x5cbb7c)]:[],..._0x47efc2?[_0x263611(0xa0)+_0x47efc2]:[]]}),_0x468b77=_0x5cbb7c[_0x263611(0xaf)]===_0x263611(0x75)&&!_0x1a990d?'Regroup\x20task\x20'+_0x5cbb7c[_0x263611(0xa4)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x263611(0xa8)+asyncTaskMessage(_0x5cbb7c);return{'ok':!![],'message':_0x468b77,'data':{..._0x5133cc,'task':_0x5cbb7c,'query':_0x5cbb7c[_0x263611(0xa2)]?null:{'command':_0x2e1c4e}}};}};function validateRegroupInput(_0x4f3547){const _0x51fd87=a110_0x278034;if(!_0x4f3547[_0x51fd87(0x7e)](_0x51fd87(0x6d))[_0x51fd87(0xbb)]())throw CliErrors['flagMissing']('label');parseMenuIds(_0x4f3547['str'](_0x51fd87(0x96)));}function parseMenuIds(_0xe0546a){const _0x33288e=a110_0x278034,_0x5a69a9=_0xe0546a[_0x33288e(0x73)](',')[_0x33288e(0xa9)](_0x5f21b7=>_0x5f21b7[_0x33288e(0xbb)]());if(_0x5a69a9[_0x33288e(0xa7)]===0x0||_0x5a69a9[_0x33288e(0x86)](_0x544a1b=>!_0x544a1b))throw CliErrors['validation']('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x5f3d18=_0x5a69a9[_0x33288e(0xa9)](_0x2417ec=>{const _0x121f96=_0x33288e;if(!/^\d+$/[_0x121f96(0xac)](_0x2417ec))throw CliErrors[_0x121f96(0xa3)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x42f522=Number(_0x2417ec);if(!Number[_0x121f96(0xab)](_0x42f522)||_0x42f522<=0x0)throw CliErrors[_0x121f96(0xa3)](_0x121f96(0x77));return _0x42f522;});if(new Set(_0x5f3d18)[_0x33288e(0x70)]!==_0x5f3d18[_0x33288e(0xa7)])throw CliErrors['validation']('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x5f3d18[_0x33288e(0xa7)]>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0x33288e(0x8e)+MAX_REGROUP_MENU_COUNT+_0x33288e(0x8b));return _0x5f3d18;}function buildMenuLookupCommand(_0xb9c69a){const _0xe5d5c7=a110_0x278034,_0x52e783='\x27'+_0xb9c69a[_0xe5d5c7(0xad)](/'/g,_0xe5d5c7(0x90))+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x52e783+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x501dee){const _0x22eb02=a110_0x278034;if(_0x501dee[_0x22eb02(0xaf)]==='SUCCESS')return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x501dee[_0x22eb02(0xaf)]===_0x22eb02(0xba))return _0x22eb02(0xb6);if(_0x501dee[_0x22eb02(0xb3)])return _0x22eb02(0x84);return'The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';}function a110_0x31fe(_0x3192fc,_0x1b077c){_0x3192fc=_0x3192fc-0x6d;const _0x1e3040=a110_0x1e30();let _0x31fe1a=_0x1e3040[_0x3192fc];return _0x31fe1a;}async function buildRegroupPlan(_0x11b84d,_0x5ea498){const _0x1ecc45=a110_0x278034,_0x5636b2=_0x11b84d[_0x1ecc45(0x7e)](_0x1ecc45(0x6d))[_0x1ecc45(0xbb)](),_0x2fe956=parseMenuIds(_0x11b84d[_0x1ecc45(0x7e)](_0x1ecc45(0x96))),_0x1e8024=await fetchMutationSnapshot(_0x11b84d,_0x1ecc45(0x82)),_0x4d1370=_0x2fe956[_0x1ecc45(0xa9)](_0x3cc260=>requireMenu(_0x1e8024,_0x3cc260));for(const _0x17a251 of _0x4d1370){if(_0x17a251[_0x1ecc45(0xbe)][_0x1ecc45(0xbb)]()[_0x1ecc45(0xb7)]()===_0x1ecc45(0x8d)||_0x17a251['childrenCount']>0x0)throw menuError('menu_regroup_target_not_leaf',_0x1ecc45(0x91)+_0x17a251['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0x1ecc45(0xb0));if(!_0x17a251[_0x1ecc45(0x6d)][_0x1ecc45(0xbb)]())throw menuError(_0x1ecc45(0x79),'Menu\x20'+_0x17a251['id']+_0x1ecc45(0x6e),_0x1ecc45(0x88));}const _0x45fc15=findAppliedRegroup(_0x1e8024,_0x5636b2,_0x2fe956);if(_0x45fc15)throw menuError(_0x1ecc45(0xc5),_0x1ecc45(0x9e)+_0x2fe956[_0x1ecc45(0x71)](',\x20')+_0x1ecc45(0x94)+_0x45fc15['group']['id']+'\x20('+JSON[_0x1ecc45(0x97)](_0x5636b2)+').',_0x1ecc45(0x9c));const _0x450ea4=_0x1e8024[_0x1ecc45(0x95)]['filter'](_0x69cb14=>_0x69cb14[_0x1ecc45(0x9d)]==null&&_0x69cb14[_0x1ecc45(0xbe)][_0x1ecc45(0xbb)]()[_0x1ecc45(0xb7)]()==='folder'&&_0x69cb14[_0x1ecc45(0x6d)]===_0x5636b2);if(_0x450ea4[_0x1ecc45(0xa7)]>0x0)throw menuError(_0x1ecc45(0xc7),_0x1ecc45(0x7a)+JSON[_0x1ecc45(0x97)](_0x5636b2)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x450ea4[_0x1ecc45(0xa9)](_0x4aef3b=>_0x4aef3b['id'])[_0x1ecc45(0x71)](',\x20')+'.',_0x1ecc45(0x8c));const _0x2f599e={'appCode':_0x11b84d[_0x1ecc45(0xbd)],'menuGroups':[{'label':_0x5636b2,'type':_0x1ecc45(0x8d),'children':_0x4d1370[_0x1ecc45(0xa9)](_0x46eb21=>({'id':_0x46eb21['id'],'label':_0x46eb21[_0x1ecc45(0x6d)]}))}]},_0x586f56=mutationResult({'operation':_0x1ecc45(0x83),'selector':{'label':_0x5636b2,'menuIds':_0x2fe956},'before':{'menus':_0x4d1370},'after':{'group':{'id':null,'parentId':null,'label':_0x5636b2,'path':_0x1ecc45(0xc1),'type':_0x1ecc45(0x8d),'childrenIds':_0x2fe956},'children':_0x4d1370[_0x1ecc45(0xa9)](_0x4f368e=>({'id':_0x4f368e['id'],'label':_0x4f368e[_0x1ecc45(0x6d)],'beforeParentId':_0x4f368e['parentId'],'afterParentId':_0x1ecc45(0xb9)}))},'dryRun':_0x5ea498,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1ecc45(0xa5),'method':'POST','path':_0x1ecc45(0x8a),'body':_0x2f599e}],'snapshotHash':_0x1e8024[_0x1ecc45(0xb4)],'warnings':[_0x1ecc45(0x92),_0x1ecc45(0x76)]});return{'label':_0x5636b2,'menuIds':_0x2fe956,'input':_0x2f599e,'plan':_0x586f56};}function findAppliedRegroup(_0x3d7010,_0x2d39b1,_0x3c7c46){const _0x665f15=a110_0x278034,_0x1420b4=_0x3c7c46[_0x665f15(0xa9)](_0x315b21=>_0x3d7010[_0x665f15(0xaa)]['get'](_0x315b21))['filter'](_0x56e8be=>Boolean(_0x56e8be));if(_0x1420b4[_0x665f15(0xa7)]!==_0x3c7c46['length'])return null;const _0x250c94=_0x1420b4[0x0]?.['parentId'];if(_0x250c94==null||_0x1420b4['some'](_0x5477ee=>_0x5477ee[_0x665f15(0x9d)]!==_0x250c94))return null;const _0x51c315=_0x3d7010[_0x665f15(0xaa)][_0x665f15(0xc8)](_0x250c94);if(!_0x51c315||_0x51c315[_0x665f15(0x9d)]!=null||_0x51c315['type'][_0x665f15(0xbb)]()[_0x665f15(0xb7)]()!==_0x665f15(0x8d)||_0x51c315[_0x665f15(0x6d)]!==_0x2d39b1)return null;const _0x4303e7=[..._0x3c7c46][_0x665f15(0x89)]((_0x1cb31e,_0x1d44f4)=>_0x1cb31e-_0x1d44f4),_0x133fed=[..._0x51c315[_0x665f15(0xbc)]][_0x665f15(0x89)]((_0x161144,_0x285f60)=>_0x161144-_0x285f60);if(JSON[_0x665f15(0x97)](_0x133fed)!==JSON[_0x665f15(0x97)](_0x4303e7))return null;return{'group':_0x51c315,'children':_0x1420b4};}async function inspectRegroupAfterFailure(_0x3b1c0e,_0x17ccb6,_0x54b89f,_0x23cdba){const _0x4e5f70=a110_0x278034;try{const _0x55af0d=await fetchMenuSnapshot(_0x3b1c0e,_0x17ccb6);return{'applied':findAppliedRegroup(_0x55af0d,_0x54b89f,_0x23cdba),'readbackError':null};}catch(_0x257586){return{'applied':null,'readbackError':_0x257586 instanceof Error?_0x257586[_0x4e5f70(0x85)]:String(_0x257586)};}}
|