@lovrabet/rabetbase-cli 2.5.0-beta.2 → 2.5.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.d.ts +13 -0
- package/lib/commands/db/table-diff-shared.js +1 -0
- 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/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +1 -7
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +6 -6
- package/skills/rabetbase/guides/custom-page-workflow.md +1 -1
- package/skills/rabetbase/guides/database-connection-workflow.md +9 -9
- package/skills/rabetbase/references/rabetbase-config.md +2 -3
- package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -3
- package/skills/rabetbase/references/rabetbase-db-diff.md +7 -22
- package/skills/rabetbase/references/rabetbase-db-tables.md +14 -2
- package/skills/rabetbase/references/rabetbase-page-custom-list.md +5 -2
- package/skills/rabetbase.manifest.json +3 -3
package/lib/commands/app/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a20_0x447b66=a20_0x56e7;(function(_0x4a7380,_0x58e280){const _0x3435eb=a20_0x56e7,_0x6c8e23=_0x4a7380();while(!![]){try{const _0x2c4a28=-parseInt(_0x3435eb(0x1cb))/0x1*(parseInt(_0x3435eb(0x1ac))/0x2)+parseInt(_0x3435eb(0x1ae))/0x3+-parseInt(_0x3435eb(0x1c7))/0x4+-parseInt(_0x3435eb(0x1b2))/0x5+-parseInt(_0x3435eb(0x1c1))/0x6*(parseInt(_0x3435eb(0x1b3))/0x7)+-parseInt(_0x3435eb(0x1bc))/0x8*(parseInt(_0x3435eb(0x1b8))/0x9)+parseInt(_0x3435eb(0x1c2))/0xa;if(_0x2c4a28===_0x58e280)break;else _0x6c8e23['push'](_0x6c8e23['shift']());}catch(_0x2ac746){_0x6c8e23['push'](_0x6c8e23['shift']());}}}(a20_0x24da,0x8139b));import{readRawConfigWithLayers}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a20_0x24da(){const _0x28ac17=['117999ouqLBO','list','object','mergedCli','Show\x20only\x20apps\x20from\x20project\x20.rabetbase.json','9jCAXFK','projectPath','projectConfig','`--remote`\x20cannot\x20be\x20used\x20with\x20`--global`\x20or\x20`--project`.','8214664yTCyjK','\x20config','find','defaultApp','global','252pSMtQZ','32978710mkFrrK','globalPath','\x20workspace\x20add\x20<name>\x20--appcode\x20<code>`\x20to\x20add\x20one.','remote','bool','2607020PDFNAD','boolean','appcode','globalConfig','37KxnaOn','project','map','app','No\x20apps\x20configured','entries','keys','optional','push','.\x20Use\x20`','merged','length','apps','9302PVIbhb','Show\x20only\x20apps\x20from\x20global\x20~/.rabetbase.json','1099278vdxRAC','\x20in\x20','List\x20configured\x20apps,\x20or\x20platform\x20apps\x20with\x20--remote','read','2881605pXWpfu'];a20_0x24da=function(){return _0x28ac17;};return a20_0x24da();}import{CliErrors}from'../../errors.js';import{buildAppProfileListFields}from'../../config/schema.js';import{appDefinedIn,enrichAppListItemsWithMergedSelection,resolveDefaultAppSource}from'../../commands/app/shared.js';import{listRemoteAppDirectory}from'../../commands/app/remote-directory.js';function buildItemsFromLayer(_0x1e0a3b,_0x2f5d3c){const _0x3072f7=a20_0x56e7,_0x457fc7=[],_0x5562c3=_0x1e0a3b[_0x3072f7(0x1ab)]&&typeof _0x1e0a3b[_0x3072f7(0x1ab)]===_0x3072f7(0x1b5)?_0x1e0a3b[_0x3072f7(0x1ab)]:{},_0x1b7042=_0x1e0a3b[_0x3072f7(0x1bf)]||undefined,_0x3ff6be=_0x1b7042??(Object[_0x3072f7(0x1d1)](_0x5562c3)[_0x3072f7(0x1aa)]===0x1?Object[_0x3072f7(0x1d1)](_0x5562c3)[0x0]:undefined);for(const [_0x1dac0f,_0x4c96ed]of Object[_0x3072f7(0x1d0)](_0x5562c3)){if(!_0x4c96ed||typeof _0x4c96ed!==_0x3072f7(0x1b5)||!_0x4c96ed['appcode'])continue;_0x457fc7[_0x3072f7(0x1a7)]({'name':_0x1dac0f,'appcode':_0x4c96ed[_0x3072f7(0x1c9)],'named':!![],'definedIn':_0x2f5d3c,'isDefault':_0x1dac0f===_0x3ff6be,...buildAppProfileListFields(_0x4c96ed)});}return _0x457fc7;}function a20_0x56e7(_0x2eb393,_0x56398f){_0x2eb393=_0x2eb393-0x1a6;const _0x24da55=a20_0x24da();let _0x56e79=_0x24da55[_0x2eb393];return _0x56e79;}function buildMergedItems(_0x2d0cc8,_0x2bd36f){const _0x106c2b=a20_0x56e7,{apps:apps={}}=_0x2d0cc8,_0x3fa440=_0x2d0cc8['defaultApp'],_0x4ff5be=_0x3fa440??(Object['keys'](apps)[_0x106c2b(0x1aa)]===0x1?Object['keys'](apps)[0x0]:undefined),_0x2e058a=_0x2bd36f[_0x106c2b(0x1ca)][_0x106c2b(0x1ab)]&&typeof _0x2bd36f[_0x106c2b(0x1ca)][_0x106c2b(0x1ab)]===_0x106c2b(0x1b5)?_0x2bd36f[_0x106c2b(0x1ca)][_0x106c2b(0x1ab)]:{},_0x4ea0f6=_0x2bd36f[_0x106c2b(0x1ba)]['apps']&&typeof _0x2bd36f[_0x106c2b(0x1ba)][_0x106c2b(0x1ab)]===_0x106c2b(0x1b5)?_0x2bd36f[_0x106c2b(0x1ba)][_0x106c2b(0x1ab)]:{},_0x1ce2b7=Object[_0x106c2b(0x1d0)](apps),_0x13534e=_0x1ce2b7[_0x106c2b(0x1cd)](([_0x720c37,_0x5d40ac])=>({'name':_0x720c37,'appcode':_0x5d40ac['appcode'],'named':!![],'definedIn':appDefinedIn(_0x720c37,_0x2e058a,_0x4ea0f6),'isDefault':_0x720c37===_0x4ff5be,...buildAppProfileListFields(_0x5d40ac)}));return _0x13534e;}function validateAppListFlags(_0x8534d){const _0x2ec763=a20_0x56e7;if(!_0x8534d['bool'](_0x2ec763(0x1c5)))return;if(!_0x8534d[_0x2ec763(0x1c6)](_0x2ec763(0x1c0))&&!_0x8534d['bool']('project'))return;throw CliErrors['validation'](_0x2ec763(0x1bb),'Use\x20`rabetbase\x20app\x20list\x20--remote`\x20for\x20the\x20platform\x20directory,\x20or\x20`rabetbase\x20app\x20list\x20--global/--project`\x20for\x20local\x20config.');}async function execute(_0x19f79e){const _0x5b8e17=a20_0x56e7;validateAppListFlags(_0x19f79e);if(_0x19f79e[_0x5b8e17(0x1c6)]('remote'))return{'ok':!![],'data':await listRemoteAppDirectory(_0x19f79e)};const _0x10adc0=_0x19f79e[_0x5b8e17(0x1c6)](_0x5b8e17(0x1c0)),_0x5375a6=_0x19f79e[_0x5b8e17(0x1c6)]('project'),_0xc81f3e=_0x10adc0?'global':_0x5375a6?_0x5b8e17(0x1cc):_0x5b8e17(0x1a9),{config:_0xf8d4e1,layers:_0x3819f0}=readRawConfigWithLayers(),_0x3b6ab2=resolveDefaultAppSource(_0x3819f0),{defaultApp:_0x2ed42c}=_0xf8d4e1;let _0xce63d5,_0x690c;switch(_0xc81f3e){case _0x5b8e17(0x1c0):_0xce63d5=buildItemsFromLayer(_0x3819f0[_0x5b8e17(0x1ca)],_0x5b8e17(0x1c0)),_0x690c=_0x3819f0['globalPath'];break;case _0x5b8e17(0x1cc):_0xce63d5=buildItemsFromLayer(_0x3819f0[_0x5b8e17(0x1ba)],_0x5b8e17(0x1cc)),_0x690c=_0x3819f0[_0x5b8e17(0x1b9)];break;default:_0xce63d5=buildMergedItems(_0xf8d4e1,_0x3819f0);break;}enrichAppListItemsWithMergedSelection(_0xce63d5,_0x19f79e[_0x5b8e17(0x1b6)]);if(_0xce63d5[_0x5b8e17(0x1aa)]===0x0){const _0x32edd6=_0xc81f3e==='merged'?'':_0x5b8e17(0x1af)+_0xc81f3e+_0x5b8e17(0x1bd);return{'ok':!![],'data':[],'message':_0x5b8e17(0x1cf)+_0x32edd6+_0x5b8e17(0x1a8)+CLI_BIN_NAME+_0x5b8e17(0x1c4)};}const _0x48f20f=_0xce63d5[_0x5b8e17(0x1be)](_0x559b7f=>_0x559b7f['isCurrent']===!![]),_0x247d7c=_0x2ed42c??_0x48f20f?.['name']??null,_0x2ab8da=_0xc81f3e===_0x5b8e17(0x1a9)?{'globalPath':_0x3819f0[_0x5b8e17(0x1c3)]??null,'projectPath':_0x3819f0[_0x5b8e17(0x1b9)]??null,'defaultApp':_0x247d7c,'defaultAppSource':_0x2ed42c!=null?_0x3b6ab2:null}:{'scope':_0xc81f3e,'configPath':_0x690c??null};return{'ok':!![],'data':{'items':_0xce63d5,'meta':_0x2ab8da}};}export const appListDefinition={'service':a20_0x447b66(0x1ce),'command':a20_0x447b66(0x1b4),'description':a20_0x447b66(0x1b0),'risk':a20_0x447b66(0x1b1),'auth':a20_0x447b66(0x1a6),'requiresAuth':![],'requiresAppCode':![],'flags':[{'name':'remote','type':a20_0x447b66(0x1c8),'description':'List\x20apps\x20available\x20on\x20the\x20platform\x20for\x20the\x20current\x20login','default':![]},{'name':a20_0x447b66(0x1c0),'type':a20_0x447b66(0x1c8),'description':a20_0x447b66(0x1ad),'default':![]},{'name':a20_0x447b66(0x1cc),'type':a20_0x447b66(0x1c8),'description':a20_0x447b66(0x1b7),'default':![]}],async 'validate'(_0x68a6a6){validateAppListFlags(_0x68a6a6);},'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a21_0x551d(_0x48fca0,_0x3f0f9d){_0x48fca0=_0x48fca0-0x12b;const _0x217860=a21_0x2178();let _0x551d3f=_0x217860[_0x48fca0];return _0x551d3f;}function a21_0x2178(){const _0x184b2c=['read','Found\x20','45912vxznFA','appCode','length','745581woAwYV','2577990TJKNVY','members-list','1456YoHdTa','1428536AkYRFP','4800EzUvJL','2331kaxBGb','List\x20application\x20members\x20with\x20their\x20role\x20memberships','\x20application\x20member(s)','909933OGwSID','8651165kkZuKi'];a21_0x2178=function(){return _0x184b2c;};return a21_0x2178();}const a21_0x35a791=a21_0x551d;(function(_0x49ad29,_0x53d774){const _0x116148=a21_0x551d,_0x6028e=_0x49ad29();while(!![]){try{const _0x32fce1=-parseInt(_0x116148(0x12e))/0x1+parseInt(_0x116148(0x12f))/0x2+parseInt(_0x116148(0x137))/0x3+-parseInt(_0x116148(0x132))/0x4+parseInt(_0x116148(0x138))/0x5+parseInt(_0x116148(0x133))/0x6*(parseInt(_0x116148(0x131))/0x7)+-parseInt(_0x116148(0x12b))/0x8*(parseInt(_0x116148(0x134))/0x9);if(_0x32fce1===_0x53d774)break;else _0x6028e['push'](_0x6028e['shift']());}catch(_0x64a661){_0x6028e['push'](_0x6028e['shift']());}}}(a21_0x2178,0xdbaef));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectAppMembers}from'../../commands/app/shared.js';import{listRoleUsers}from'../../core/api-client.js';export const appMembersListDefinition={'service':'app','command':a21_0x35a791(0x130),'description':a21_0x35a791(0x135),'risk':a21_0x35a791(0x139),'requiresAuth':!![],'requiresAppCode':!![],'structuredErrors':!![],'flags':[APPCODE_FLAG_OPTIONAL],async 'execute'(_0x198844){const _0x323e2b=a21_0x35a791,_0x547e8a=projectAppMembers(await listRoleUsers(_0x198844['appCode']));return{'ok':!![],'data':{'appCode':_0x198844[_0x323e2b(0x12c)],'items':_0x547e8a,'totalCount':_0x547e8a[_0x323e2b(0x12d)]},'message':_0x323e2b(0x13a)+_0x547e8a['length']+_0x323e2b(0x136)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x14bfd6,_0x5001b1){const _0x219891=a22_0x1d2e,_0xfb9c80=_0x14bfd6();while(!![]){try{const _0xf11ea4=-parseInt(_0x219891(0x10f))/0x1+-parseInt(_0x219891(0x116))/0x2+-parseInt(_0x219891(0x112))/0x3+-parseInt(_0x219891(0x117))/0x4*(-parseInt(_0x219891(0x119))/0x5)+parseInt(_0x219891(0x113))/0x6*(parseInt(_0x219891(0x115))/0x7)+parseInt(_0x219891(0x10c))/0x8+parseInt(_0x219891(0x114))/0x9*(parseInt(_0x219891(0x111))/0xa);if(_0xf11ea4===_0x5001b1)break;else _0xfb9c80['push'](_0xfb9c80['shift']());}catch(_0x24092a){_0xfb9c80['push'](_0xfb9c80['shift']());}}}(a22_0x1226,0x9fd09));import{listRemoteApps}from'../../core/api-client.js';function a22_0x1226(){const _0x4bff6f=['2286XqOAEH','54MdbDWm','17192prBcVt','839666othtnc','88aaxqeY','authRequired','43045LutogF','cookie','appCode','6730792MGEFOU','map','appName','68267inlBIz','appDesc','400180oBRnVR','3191670DLLsFh'];a22_0x1226=function(){return _0x4bff6f;};return a22_0x1226();}function a22_0x1d2e(_0x4475ca,_0x34f785){_0x4475ca=_0x4475ca-0x10c;const _0x122682=a22_0x1226();let _0x1d2e32=_0x122682[_0x4475ca];return _0x1d2e32;}import{getCookie}from'../../auth/get-cookie.js';import{CliErrors}from'../../errors.js';import{withActiveCookie}from'../../utils/with-active-cookie.js';function resolveCookie(_0x35d378){const _0x4eeda8=a22_0x1d2e,_0x1968e8=_0x35d378[_0x4eeda8(0x11a)]||getCookie();if(!_0x1968e8)throw CliErrors[_0x4eeda8(0x118)]();return _0x1968e8;}export async function listRemoteAppDirectory(_0x6c278b){const _0x56cbe3=a22_0x1d2e,_0x3d119d=await withActiveCookie(resolveCookie(_0x6c278b),()=>listRemoteApps());return{'items':_0x3d119d[_0x56cbe3(0x10d)](_0x324866=>({..._0x324866['id']!=null?{'id':_0x324866['id']}:{},'appCode':_0x324866[_0x56cbe3(0x11b)],'appName':_0x324866[_0x56cbe3(0x10e)],..._0x324866['appDesc']!=null?{'appDesc':_0x324866[_0x56cbe3(0x110)]}:{}})),'meta':{'source':'platform'}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5ec580,_0xac826f){const _0x17365e=a23_0x3fd6,_0xb85a=_0x5ec580();while(!![]){try{const _0x20829e=-parseInt(_0x17365e(0xe7))/0x1+parseInt(_0x17365e(0xe4))/0x2+-parseInt(_0x17365e(0xbf))/0x3*(parseInt(_0x17365e(0xd1))/0x4)+-parseInt(_0x17365e(0xdf))/0x5+parseInt(_0x17365e(0xe5))/0x6*(parseInt(_0x17365e(0xcc))/0x7)+-parseInt(_0x17365e(0xee))/0x8*(-parseInt(_0x17365e(0xe1))/0x9)+-parseInt(_0x17365e(0xd6))/0xa;if(_0x20829e===_0xac826f)break;else _0xb85a['push'](_0xb85a['shift']());}catch(_0x4bd389){_0xb85a['push'](_0xb85a['shift']());}}}(a23_0x3f69,0x9230b));function a23_0x3fd6(_0x17bb63,_0x2e6ffb){_0x17bb63=_0x17bb63-0xbf;const _0x3f6993=a23_0x3f69();let _0x3fd620=_0x3f6993[_0x17bb63];return _0x3fd620;}import{resolveWriteConfigPath,readConfigFile,writeConfigFile}from'../../context.js';function nullableText(_0x1121aa){const _0x5e40c6=a23_0x3fd6,_0x3c6e86=_0x1121aa?.[_0x5e40c6(0xf0)]();return _0x3c6e86?_0x3c6e86:null;}export function projectAppMembers(_0x118929){const _0x102fa0=a23_0x3fd6,_0x4096ab=new Map(),_0x4cb6c1=[..._0x118929][_0x102fa0(0xd3)]((_0x5d8d66,_0x14780f)=>_0x5d8d66['id']-_0x14780f['id']),_0x3ce7f3=(_0x4964c1,_0x1338af,_0x1476fc)=>{const _0xf8d8c3=_0x102fa0;for(const _0x2d62fe of _0x1338af){const _0x410edb=Number(_0x2d62fe[_0xf8d8c3(0xc6)]);if(!Number['isFinite'](_0x410edb)||_0x410edb<=0x0)continue;let _0x121895=_0x4096ab[_0xf8d8c3(0xcd)](_0x410edb);if(!_0x121895)_0x121895={'userId':_0x410edb,'username':nullableText(_0x2d62fe[_0xf8d8c3(0xf2)]),'displayName':nullableText(_0x2d62fe[_0xf8d8c3(0xed)]),'status':_0x1476fc,'roles':[],'roleKeys':new Set()},_0x4096ab[_0xf8d8c3(0xe0)](_0x410edb,_0x121895);else{_0x121895[_0xf8d8c3(0xf2)]??=nullableText(_0x2d62fe[_0xf8d8c3(0xf2)]),_0x121895['displayName']??=nullableText(_0x2d62fe[_0xf8d8c3(0xed)]);if(_0x1476fc==='ACTIVE')_0x121895[_0xf8d8c3(0xea)]='ACTIVE';}const _0x54f819=_0x4964c1['id']+':'+_0x1476fc;if(_0x121895['roleKeys'][_0xf8d8c3(0xc3)](_0x54f819))continue;_0x121895[_0xf8d8c3(0xf3)][_0xf8d8c3(0xd0)](_0x54f819),_0x121895[_0xf8d8c3(0xdc)][_0xf8d8c3(0xca)]({'roleId':_0x4964c1['id'],'roleName':nullableText(_0x4964c1[_0xf8d8c3(0xd8)]),'roleType':nullableText(_0x4964c1[_0xf8d8c3(0xc9)]),'membershipStatus':_0x1476fc});}};for(const _0x4cb44e of _0x4cb6c1){_0x3ce7f3(_0x4cb44e,_0x4cb44e[_0x102fa0(0xe6)]??[],_0x102fa0(0xda)),_0x3ce7f3(_0x4cb44e,_0x4cb44e[_0x102fa0(0xdd)]??[],_0x102fa0(0xde));}return[..._0x4096ab[_0x102fa0(0xd9)]()][_0x102fa0(0xf1)](_0x46ff61=>({'userId':_0x46ff61[_0x102fa0(0xc6)],'username':_0x46ff61[_0x102fa0(0xf2)],'displayName':_0x46ff61[_0x102fa0(0xcf)],'status':_0x46ff61[_0x102fa0(0xea)],'roles':_0x46ff61[_0x102fa0(0xdc)][_0x102fa0(0xd3)]((_0x37a538,_0x279e4c)=>_0x37a538[_0x102fa0(0xc5)]-_0x279e4c['roleId']||(_0x37a538[_0x102fa0(0xc1)]===_0x279e4c[_0x102fa0(0xc1)]?0x0:_0x37a538[_0x102fa0(0xc1)]===_0x102fa0(0xda)?-0x1:0x1))}))[_0x102fa0(0xd3)]((_0x3fe4a4,_0x84fbf2)=>_0x3fe4a4['userId']-_0x84fbf2[_0x102fa0(0xc6)]);}export function enrichAppListItemsWithMergedSelection(_0x53862e,_0x37186e){const _0x262c44=a23_0x3fd6;if(!_0x37186e)return;const _0x8cf8a4=_0x37186e[_0x262c44(0xc7)]&&typeof _0x37186e[_0x262c44(0xc7)]===_0x262c44(0xe2)?_0x37186e[_0x262c44(0xc7)]:{},_0x4da66c=Object[_0x262c44(0xe8)](_0x8cf8a4)[_0x262c44(0xdb)]>0x0;for(const _0xf6dff3 of _0x53862e){_0xf6dff3[_0x262c44(0xef)]=![];}const _0xfcdbaa=_0x37186e['appCode']!=null?String(_0x37186e['appCode'])[_0x262c44(0xf0)]():'';if(_0x4da66c){const _0x485dc2=_0x37186e[_0x262c44(0xc4)]??_0x37186e['defaultApp'];if(_0x485dc2)for(const _0x15db52 of _0x53862e){_0x15db52[_0x262c44(0xeb)]===!![]&&_0x15db52[_0x262c44(0xc2)]===_0x485dc2&&(_0x15db52[_0x262c44(0xef)]=!![]);}for(const _0x4386da of _0x53862e){if(_0x4386da[_0x262c44(0xeb)]!==![])continue;if(_0x37186e['defaultApp'])continue;_0xfcdbaa&&String(_0x4386da[_0x262c44(0xd7)]??'')[_0x262c44(0xf0)]()===_0xfcdbaa&&(_0x4386da['isCurrent']=!![]);}return;}if(!_0xfcdbaa)return;for(const _0x4e9620 of _0x53862e){String(_0x4e9620[_0x262c44(0xd7)]??'')[_0x262c44(0xf0)]()===_0xfcdbaa&&(_0x4e9620[_0x262c44(0xef)]=!![]);}}export function resolveAppScopeForWrite(_0x388215,_0xfd4e3c,_0x587a3d){const _0x380e38=a23_0x3fd6;if(_0xfd4e3c)return'global';const _0x157b49=_0x587a3d[_0x380e38(0xe3)][_0x380e38(0xc7)]&&typeof _0x587a3d['projectConfig'][_0x380e38(0xc7)]===_0x380e38(0xe2)?_0x587a3d['projectConfig'][_0x380e38(0xc7)]:{},_0x4dc6a4=_0x587a3d['globalConfig'][_0x380e38(0xc7)]&&typeof _0x587a3d[_0x380e38(0xcb)][_0x380e38(0xc7)]==='object'?_0x587a3d[_0x380e38(0xcb)][_0x380e38(0xc7)]:{};if(Object[_0x380e38(0xc0)][_0x380e38(0xe9)][_0x380e38(0xce)](_0x157b49,_0x388215))return _0x380e38(0xd4);if(Object[_0x380e38(0xc0)][_0x380e38(0xe9)]['call'](_0x4dc6a4,_0x388215))return _0x380e38(0xc8);return'project';}export function appDefinedIn(_0x2f0e29,_0x9bcba8,_0x34be23){const _0x1c508b=a23_0x3fd6,_0x2a09fd=Object[_0x1c508b(0xc0)][_0x1c508b(0xe9)]['call'](_0x9bcba8,_0x2f0e29),_0x28ad47=Object['prototype'][_0x1c508b(0xe9)][_0x1c508b(0xce)](_0x34be23,_0x2f0e29);if(_0x2a09fd&&_0x28ad47)return _0x1c508b(0xd2);if(_0x28ad47)return _0x1c508b(0xd4);return'global';}export function resolveDefaultAppSource(_0x4bd006){const _0x4ba00d=a23_0x3fd6,_0x20fa9f=_0x4bd006[_0x4ba00d(0xe3)][_0x4ba00d(0xc7)]&&typeof _0x4bd006[_0x4ba00d(0xe3)][_0x4ba00d(0xc7)]===_0x4ba00d(0xe2)?_0x4bd006[_0x4ba00d(0xe3)]['apps']:{};if('defaultApp'in _0x4bd006[_0x4ba00d(0xe3)])return _0x4ba00d(0xd4);if(Object['keys'](_0x20fa9f)[_0x4ba00d(0xdb)]>0x0)return'project';if(Object[_0x4ba00d(0xe8)](_0x4bd006[_0x4ba00d(0xe3)])[_0x4ba00d(0xdb)]===0x0&&_0x4bd006['globalConfig'][_0x4ba00d(0xec)])return'global';return null;}export function getConfigPath(_0x5d167b={}){const _0x290e6c=a23_0x3fd6,_0x119f6e=_0x5d167b[_0x290e6c(0xc8)]?_0x290e6c(0xc8):'project';return resolveWriteConfigPath(_0x119f6e);}export function readConfig(_0x3cbdc2={}){return readConfigFile(getConfigPath(_0x3cbdc2));}export function writeConfig(_0x241300,_0x161657={}){writeConfigFile(getConfigPath(_0x161657),_0x241300);}function a23_0x3f69(){const _0x32cb53=['roleKeys','4530YgjpLT','prototype','membershipStatus','name','has','currentApp','roleId','userId','apps','global','roleType','push','globalConfig','7PKwMPu','get','call','displayName','add','2936KsOBUM','both','sort','project','\x20(global)','4050250kddGbD','appcode','roleName','values','ACTIVE','length','roles','applyUserList','PENDING','670060ZfMbSU','set','1224171PxnJJy','object','projectConfig','1918716pMRlFe','6198252WAOvDe','userList','18266GMEwcQ','keys','hasOwnProperty','status','named','defaultApp','nickname','16FZtqsY','isCurrent','trim','map','username'];a23_0x3f69=function(){return _0x32cb53;};return a23_0x3f69();}export function scopeLabel(_0x132d9e){const _0x2c8de0=a23_0x3fd6;return _0x132d9e[_0x2c8de0(0xc8)]?_0x2c8de0(0xd5):'';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a24_0x40696e=a24_0x5792;(function(_0x16a353,_0x49191a){const _0x271dc1=a24_0x5792,_0x1441aa=_0x16a353();while(!![]){try{const _0x14005e=-parseInt(_0x271dc1(0x1d6))/0x1*(parseInt(_0x271dc1(0x1ca))/0x2)+-parseInt(_0x271dc1(0x1cc))/0x3+-parseInt(_0x271dc1(0x1cb))/0x4+parseInt(_0x271dc1(0x1c6))/0x5*(parseInt(_0x271dc1(0x1bf))/0x6)+-parseInt(_0x271dc1(0x1ce))/0x7*(parseInt(_0x271dc1(0x1d7))/0x8)+parseInt(_0x271dc1(0x1d1))/0x9*(-parseInt(_0x271dc1(0x1cd))/0xa)+parseInt(_0x271dc1(0x1c1))/0xb*(parseInt(_0x271dc1(0x1c9))/0xc);if(_0x14005e===_0x49191a)break;else _0x1441aa['push'](_0x1441aa['shift']());}catch(_0x5237e3){_0x1441aa['push'](_0x1441aa['shift']());}}}(a24_0x3517,0xa95cb));function a24_0x3517(){const _0x921fbb=['5tMBqZH','40QUrcnz','apiError','Deleted\x20app\x20config\x20','3677490WvSnls','/smartapi/app-config/delete','58333iZKEXA','App\x20config\x20key\x20not\x20found:\x20','validation','high-risk-write','POST','5uBrBwi','isFinite','Delete\x20one\x20runtime\x20app-config\x20key','7308LOQiRM','36784KjFfjI','3383464fZrHdu','3148251hfLAcv','10JdYJIF','27027iKWmlB','App\x20config\x20server\x20id\x20missing\x20for\x20key=','delete','10279683xtTnAf','get',',\x20appCode=','appCode','number'];a24_0x3517=function(){return _0x921fbb;};return a24_0x3517();}function a24_0x5792(_0x137292,_0x50d73e){_0x137292=_0x137292-0x1bd;const _0x3517c2=a24_0x3517();let _0x5792f2=_0x3517c2[_0x137292];return _0x5792f2;}import{deleteAppConfig,getAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asAppConfigDryRunResult,buildMutationData,KEY_ARG,projectAppConfig,readKeyArg,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';const DELETE_PATH=a24_0x40696e(0x1c0);export const appConfigDelete={'service':'app-config','command':'delete','description':a24_0x40696e(0x1c8),'risk':a24_0x40696e(0x1c4),'args':[KEY_ARG],'flags':[APPCODE_FLAG_OPTIONAL],async 'validate'(_0x436999){readKeyArg(_0x436999);},async 'dryRun'(_0xaacdc1){const _0x19b09a=a24_0x40696e,_0x3c7745=readKeyArg(_0xaacdc1),_0x482241=await mustGetByKey(_0xaacdc1[_0x19b09a(0x1d4)],_0x3c7745);return asAppConfigDryRunResult(buildMutationData({'operation':_0x19b09a(0x1d0),'appCode':_0xaacdc1[_0x19b09a(0x1d4)],'key':_0x3c7745,'before':projectAppConfig(_0x482241),'after':null,'dryRun':!![]}),{'method':_0x19b09a(0x1c5),'url':DELETE_PATH});},async 'execute'(_0xb000b9){const _0x24398d=a24_0x40696e,_0x4bcd17=readKeyArg(_0xb000b9),_0x4b64d8=await mustGetByKey(_0xb000b9[_0x24398d(0x1d4)],_0x4bcd17);return await withAppConfigApiBoundary(_0x24398d(0x1d0),{'appCode':_0xb000b9[_0x24398d(0x1d4)],'key':_0x4bcd17},()=>deleteAppConfig({'appCode':_0xb000b9['appCode'],'id':requireAppConfigId(_0x4b64d8,_0x4bcd17,_0xb000b9['appCode'])})),{'ok':!![],'data':buildMutationData({'operation':_0x24398d(0x1d0),'appCode':_0xb000b9[_0x24398d(0x1d4)],'key':_0x4bcd17,'before':projectAppConfig(_0x4b64d8),'after':null,'dryRun':![]}),'message':_0x24398d(0x1be)+_0x4bcd17};}};async function mustGetByKey(_0x26332e,_0x428593){const _0x246403=a24_0x40696e,_0x428f68=await withAppConfigApiBoundary(_0x246403(0x1d2),{'appCode':_0x26332e,'key':_0x428593},()=>getAppConfigByKey(_0x26332e,_0x428593));if(!_0x428f68)throw CliErrors[_0x246403(0x1c3)](_0x246403(0x1c2)+_0x428593,'appCode:\x20'+_0x26332e);return _0x428f68;}function requireAppConfigId(_0x222953,_0x51fd8d,_0x37f958){const _0x23fbcc=a24_0x40696e;if(typeof _0x222953['id']===_0x23fbcc(0x1d5)&&Number[_0x23fbcc(0x1c7)](_0x222953['id'])&&_0x222953['id']>0x0)return _0x222953['id'];throw CliErrors[_0x23fbcc(0x1bd)](_0x23fbcc(0x1cf)+_0x51fd8d+_0x23fbcc(0x1d3)+_0x37f958);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a25_0x2acce5=a25_0x50f7;(function(_0x310fa0,_0x1d7ed5){const _0x2568aa=a25_0x50f7,_0x14ad4b=_0x310fa0();while(!![]){try{const _0x1efcca=parseInt(_0x2568aa(0x81))/0x1+parseInt(_0x2568aa(0x75))/0x2+-parseInt(_0x2568aa(0x84))/0x3+parseInt(_0x2568aa(0x86))/0x4*(-parseInt(_0x2568aa(0x78))/0x5)+-parseInt(_0x2568aa(0x83))/0x6+parseInt(_0x2568aa(0x88))/0x7*(parseInt(_0x2568aa(0x82))/0x8)+parseInt(_0x2568aa(0x85))/0x9;if(_0x1efcca===_0x1d7ed5)break;else _0x14ad4b['push'](_0x14ad4b['shift']());}catch(_0x6deb3b){_0x14ad4b['push'](_0x14ad4b['shift']());}}}(a25_0x2bd9,0xc73dd));import{getAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a25_0x2bd9(){const _0x2f4f83=['validation','read','appCode','appCode:\x20','\x20with\x20value\x20revealed','1616320mBppqr','595704lRAkAc','5233668qerSny','699684TZHPCF','6526305yHqRYI','564xXjmpv','\x20with\x20value\x20redacted','49VcLSZs','1275340cqEByI','get','bool','55985taJXss','Inspect\x20one\x20runtime\x20app-config\x20key;\x20value\x20is\x20redacted\x20unless\x20--reveal\x20is\x20used','reveal','Loaded\x20app\x20config\x20'];a25_0x2bd9=function(){return _0x2f4f83;};return a25_0x2bd9();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a25_0x50f7(_0x4effd4,_0x50e9ea){_0x4effd4=_0x4effd4-0x75;const _0x2bd99e=a25_0x2bd9();let _0x50f7ca=_0x2bd99e[_0x4effd4];return _0x50f7ca;}import{KEY_ARG,projectAppConfig,readKeyArg,REVEAL_FLAG,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';export const appConfigGet={'service':'app-config','command':a25_0x2acce5(0x76),'description':a25_0x2acce5(0x79),'risk':a25_0x2acce5(0x7d),'args':[KEY_ARG],'flags':[APPCODE_FLAG_OPTIONAL,REVEAL_FLAG],async 'validate'(_0x3ab45e){readKeyArg(_0x3ab45e);},async 'execute'(_0x112b02){const _0x319d8f=a25_0x2acce5,_0x8368ee=readKeyArg(_0x112b02),_0xb7214e=await withAppConfigApiBoundary('get',{'appCode':_0x112b02['appCode'],'key':_0x8368ee},()=>getAppConfigByKey(_0x112b02[_0x319d8f(0x7e)],_0x8368ee));if(!_0xb7214e)throw CliErrors[_0x319d8f(0x7c)]('App\x20config\x20key\x20not\x20found:\x20'+_0x8368ee,_0x319d8f(0x7f)+_0x112b02['appCode']);const _0xfd6a70=projectAppConfig(_0xb7214e,{'reveal':_0x112b02[_0x319d8f(0x77)](_0x319d8f(0x7a))});return{'ok':!![],'data':{'config':_0xfd6a70},'message':_0x112b02[_0x319d8f(0x77)](_0x319d8f(0x7a))?_0x319d8f(0x7b)+_0x8368ee+_0x319d8f(0x80):_0x319d8f(0x7b)+_0x8368ee+_0x319d8f(0x87)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2835a7,_0x3765d9){const _0x1836c1=a26_0x35d3,_0x14bcf0=_0x2835a7();while(!![]){try{const _0x2cd192=parseInt(_0x1836c1(0x71))/0x1*(parseInt(_0x1836c1(0x79))/0x2)+parseInt(_0x1836c1(0x6e))/0x3+-parseInt(_0x1836c1(0x73))/0x4*(parseInt(_0x1836c1(0x6f))/0x5)+-parseInt(_0x1836c1(0x70))/0x6+-parseInt(_0x1836c1(0x75))/0x7*(-parseInt(_0x1836c1(0x76))/0x8)+parseInt(_0x1836c1(0x77))/0x9*(parseInt(_0x1836c1(0x74))/0xa)+-parseInt(_0x1836c1(0x72))/0xb*(parseInt(_0x1836c1(0x78))/0xc);if(_0x2cd192===_0x3765d9)break;else _0x14bcf0['push'](_0x14bcf0['shift']());}catch(_0x50c965){_0x14bcf0['push'](_0x14bcf0['shift']());}}}(a26_0x2fd5,0xd3e27));function a26_0x2fd5(){const _0x51d943=['184722KagKtH','25xUUwoJ','7982760bINdOg','135NGPATS','15248024BtPYIU','432816renTkH','173690xlLEWB','190911AYnXOK','288sOQBti','801ipueOW','12BMbxwp','22760TxWtqD'];a26_0x2fd5=function(){return _0x51d943;};return a26_0x2fd5();}import{appConfigList}from'../../commands/app-config/list.js';import{appConfigGet}from'../../commands/app-config/get.js';import{appConfigSet}from'../../commands/app-config/set.js';import{appConfigDelete}from'../../commands/app-config/delete.js';function a26_0x35d3(_0x2efa0d,_0xba1694){_0x2efa0d=_0x2efa0d-0x6e;const _0x2fd5e0=a26_0x2fd5();let _0x35d36a=_0x2fd5e0[_0x2efa0d];return _0x35d36a;}export const appConfigDefinitions=[appConfigList,appConfigGet,appConfigSet,appConfigDelete];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a27_0x3825dc=a27_0x3cc9;(function(_0x294727,_0x832692){const _0x18d747=a27_0x3cc9,_0x5f581d=_0x294727();while(!![]){try{const _0x5e27b0=-parseInt(_0x18d747(0xa1))/0x1*(-parseInt(_0x18d747(0xa2))/0x2)+-parseInt(_0x18d747(0xac))/0x3*(parseInt(_0x18d747(0x9d))/0x4)+-parseInt(_0x18d747(0xa6))/0x5+-parseInt(_0x18d747(0xae))/0x6*(parseInt(_0x18d747(0xa4))/0x7)+-parseInt(_0x18d747(0xb0))/0x8+-parseInt(_0x18d747(0x9a))/0x9*(-parseInt(_0x18d747(0x9b))/0xa)+parseInt(_0x18d747(0xaa))/0xb;if(_0x5e27b0===_0x832692)break;else _0x5f581d['push'](_0x5f581d['shift']());}catch(_0x2ce70e){_0x5f581d['push'](_0x5f581d['shift']());}}}(a27_0x44b3,0x8c1dd));function a27_0x3cc9(_0x1e3359,_0x541c1d){_0x1e3359=_0x1e3359-0x9a;const _0x44b378=a27_0x44b3();let _0x3cc9be=_0x44b378[_0x1e3359];return _0x3cc9be;}function a27_0x44b3(){const _0x41415c=['1OtORVj','1306532GpygjU','length','34951qZoyZe','list','234900sMgzmf','map','List\x20runtime\x20app-config\x20key\x20metadata\x20without\x20printing\x20values','app-config','23082532JVDsPF','string','1500ggNApA','read','486bLoAZU','trim','6807176rJWelt','str','1075941jwyErb','10gZodkX','key','7960eLXJOT','appCode','Filter\x20by\x20exact\x20config\x20key','Found\x20'];a27_0x44b3=function(){return _0x41415c;};return a27_0x44b3();}import{listAppConfigs}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectAppConfig,readOptionalTags,TAGS_FLAG,validateKey,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';export const appConfigList={'service':a27_0x3825dc(0xa9),'command':a27_0x3825dc(0xa5),'description':a27_0x3825dc(0xa8),'risk':a27_0x3825dc(0xad),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'key','type':a27_0x3825dc(0xab),'description':a27_0x3825dc(0x9f)},TAGS_FLAG],async 'validate'(_0xe18799){const _0x57484f=a27_0x3825dc,_0x4ac373=_0xe18799[_0x57484f(0xb1)](_0x57484f(0x9c))['trim']();if(_0x4ac373)validateKey(_0x4ac373);readOptionalTags(_0xe18799);},async 'execute'(_0x41e36e){const _0x4c16ad=a27_0x3825dc,_0x334106=_0x41e36e['str'](_0x4c16ad(0x9c))[_0x4c16ad(0xaf)]()||undefined,_0x5cf18b=readOptionalTags(_0x41e36e),_0x325489=await withAppConfigApiBoundary('list',{'appCode':_0x41e36e['appCode']},()=>listAppConfigs(_0x41e36e['appCode'],{'key':_0x334106,'tags':_0x5cf18b})),_0x16fee1=_0x325489[_0x4c16ad(0xa7)](_0x243106=>projectAppConfig(_0x243106));return{'ok':!![],'data':{'appCode':_0x41e36e[_0x4c16ad(0x9e)],'count':_0x16fee1[_0x4c16ad(0xa3)],'configs':_0x16fee1},'message':_0x4c16ad(0xa0)+_0x16fee1[_0x4c16ad(0xa3)]+'\x20app\x20config(s)'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a28_0x1112(){const _0x58ec41=['/smartapi/app-config/create','40786xhWBHv','2377932siuOBK','12jTHSiO','appCode','get','file','string',',\x20appCode=','4696752iHKAAT','26IsGUhM','11942037fdUocl','32jJhlxd','write','apiError','\x20app\x20config\x20','565922DiSRJa','app-config','2767135eiiBZA','App\x20config\x20server\x20id\x20missing\x20for\x20key=','209050xlvMGg','Create\x20or\x20update\x20one\x20runtime\x20app-config\x20key','create','Created','Read\x20config\x20value\x20from\x20file','set','update','308uAeHdf'];a28_0x1112=function(){return _0x58ec41;};return a28_0x1112();}const a28_0x238d9e=a28_0x2086;(function(_0x58cf2e,_0x325052){const _0x3e9593=a28_0x2086,_0x2da9d0=_0x58cf2e();while(!![]){try{const _0x3d7279=-parseInt(_0x3e9593(0x1fb))/0x1*(-parseInt(_0x3e9593(0x204))/0x2)+-parseInt(_0x3e9593(0x1fc))/0x3+-parseInt(_0x3e9593(0x203))/0x4+parseInt(_0x3e9593(0x1f0))/0x5*(parseInt(_0x3e9593(0x1fd))/0x6)+-parseInt(_0x3e9593(0x20a))/0x7*(-parseInt(_0x3e9593(0x206))/0x8)+parseInt(_0x3e9593(0x205))/0x9+-parseInt(_0x3e9593(0x1f2))/0xa*(parseInt(_0x3e9593(0x1f9))/0xb);if(_0x3d7279===_0x325052)break;else _0x2da9d0['push'](_0x2da9d0['shift']());}catch(_0x3f4293){_0x2da9d0['push'](_0x2da9d0['shift']());}}}(a28_0x1112,0xb37c9));import{createAppConfig,getAppConfigByKey,updateAppConfig}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertSingleValueSource,assertValueSourceReadable,asAppConfigDryRunResult,buildMutationData,FROM_ENV_FLAG,KEY_ARG,plannedAppConfig,projectAppConfig,readAppConfigValue,readKeyArg,readOptionalTags,STDIN_FLAG,TAGS_FLAG,VALUE_ARG,withAppConfigApiBoundary}from'../../commands/app-config/shared.js';function a28_0x2086(_0x300b61,_0x3f8f01){_0x300b61=_0x300b61-0x1ef;const _0x111227=a28_0x1112();let _0x208623=_0x111227[_0x300b61];return _0x208623;}const CREATE_PATH=a28_0x238d9e(0x1fa),UPDATE_PATH='/smartapi/app-config/update';export const appConfigSet={'service':a28_0x238d9e(0x1ef),'command':a28_0x238d9e(0x1f7),'description':a28_0x238d9e(0x1f3),'risk':a28_0x238d9e(0x207),'args':[KEY_ARG,VALUE_ARG],'flags':[APPCODE_FLAG_OPTIONAL,TAGS_FLAG,STDIN_FLAG,FROM_ENV_FLAG,{'name':a28_0x238d9e(0x200),'type':a28_0x238d9e(0x201),'description':a28_0x238d9e(0x1f6)}],async 'validate'(_0x2c3ad6){readKeyArg(_0x2c3ad6),readOptionalTags(_0x2c3ad6),assertSingleValueSource(_0x2c3ad6);},async 'dryRun'(_0x408677){const _0x44d297=a28_0x238d9e,_0x31e9e2=readKeyArg(_0x408677),_0x28ab14=readOptionalTags(_0x408677),_0x2ada52=assertSingleValueSource(_0x408677);await assertValueSourceReadable(_0x2ada52);const _0x5184b4=await withAppConfigApiBoundary(_0x44d297(0x1ff),{'appCode':_0x408677[_0x44d297(0x1fe)],'key':_0x31e9e2},()=>getAppConfigByKey(_0x408677[_0x44d297(0x1fe)],_0x31e9e2)),_0x15aad1=_0x5184b4?_0x44d297(0x1f8):_0x44d297(0x1f4),_0x13032e=_0x5184b4?projectAppConfig(_0x5184b4):null,_0x1da9e7=plannedAppConfig({'appCode':_0x408677[_0x44d297(0x1fe)],'key':_0x31e9e2,'tags':_0x28ab14??_0x5184b4?.['tags'],'hasValue':!![]});return asAppConfigDryRunResult(buildMutationData({'operation':_0x15aad1,'appCode':_0x408677[_0x44d297(0x1fe)],'key':_0x31e9e2,'before':_0x13032e,'after':_0x1da9e7,'dryRun':!![]}),{'method':'POST','url':_0x15aad1===_0x44d297(0x1f8)?UPDATE_PATH:CREATE_PATH});},async 'execute'(_0x4042d3){const _0x218af9=a28_0x238d9e,_0x586782=readKeyArg(_0x4042d3),_0x28a6d7=readOptionalTags(_0x4042d3),_0x33c704=await withAppConfigApiBoundary(_0x218af9(0x1ff),{'appCode':_0x4042d3['appCode'],'key':_0x586782},()=>getAppConfigByKey(_0x4042d3[_0x218af9(0x1fe)],_0x586782)),_0x4e597c=_0x33c704?projectAppConfig(_0x33c704):null,_0x463554=_0x33c704?_0x218af9(0x1f8):'create',{value:_0x88fc12,warnings:_0x25be1c}=await readAppConfigValue(_0x4042d3),_0x41c104={'appCode':_0x4042d3[_0x218af9(0x1fe)],'key':_0x586782,'value':_0x88fc12,'tags':_0x28a6d7??_0x33c704?.['tags']??undefined};await withAppConfigApiBoundary(_0x463554,{'appCode':_0x4042d3[_0x218af9(0x1fe)],'key':_0x586782},async()=>{const _0x7689be=_0x218af9;_0x33c704?await updateAppConfig({..._0x41c104,'id':requireAppConfigId(_0x33c704,_0x586782,_0x4042d3[_0x7689be(0x1fe)])}):await createAppConfig(_0x41c104);});const _0x2055fb=await withAppConfigApiBoundary('get',{'appCode':_0x4042d3[_0x218af9(0x1fe)],'key':_0x586782},()=>getAppConfigByKey(_0x4042d3[_0x218af9(0x1fe)],_0x586782)),_0x59eb00=_0x2055fb?projectAppConfig(_0x2055fb):plannedAppConfig({'appCode':_0x4042d3['appCode'],'key':_0x586782,'tags':_0x41c104['tags'],'hasValue':_0x88fc12!==''});return{'ok':!![],'data':buildMutationData({'operation':_0x463554,'appCode':_0x4042d3['appCode'],'key':_0x586782,'before':_0x4e597c,'after':_0x59eb00,'dryRun':![],'warnings':_0x25be1c}),'message':(_0x463554===_0x218af9(0x1f8)?'Updated':_0x218af9(0x1f5))+_0x218af9(0x209)+_0x586782};}};function requireAppConfigId(_0xe728fd,_0x2da980,_0x45ab75){const _0x148d88=a28_0x238d9e;if(typeof _0xe728fd['id']==='number'&&Number['isFinite'](_0xe728fd['id'])&&_0xe728fd['id']>0x0)return _0xe728fd['id'];throw CliErrors[_0x148d88(0x208)](_0x148d88(0x1f1)+_0x2da980+_0x148d88(0x202)+_0x45ab75);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a29_0x5415f3=a29_0x582e;(function(_0x2a21f9,_0x15197a){const _0x15d3d5=a29_0x582e,_0x1de161=_0x2a21f9();while(!![]){try{const _0x59b0ce=parseInt(_0x15d3d5(0x167))/0x1*(parseInt(_0x15d3d5(0x166))/0x2)+parseInt(_0x15d3d5(0x172))/0x3*(parseInt(_0x15d3d5(0x178))/0x4)+-parseInt(_0x15d3d5(0x161))/0x5*(parseInt(_0x15d3d5(0x191))/0x6)+-parseInt(_0x15d3d5(0x187))/0x7+parseInt(_0x15d3d5(0x17f))/0x8*(parseInt(_0x15d3d5(0x170))/0x9)+-parseInt(_0x15d3d5(0x16b))/0xa+-parseInt(_0x15d3d5(0x18a))/0xb;if(_0x59b0ce===_0x15197a)break;else _0x1de161['push'](_0x1de161['shift']());}catch(_0x3194b8){_0x1de161['push'](_0x1de161['shift']());}}}(a29_0x3e88,0x42fee));import{access,readFile}from'node:fs/promises';import{CliErrors}from'../../errors.js';export const KEY_ARG={'name':'key','description':a29_0x5415f3(0x19b),'required':!![]};export const VALUE_ARG={'name':a29_0x5415f3(0x18e),'description':a29_0x5415f3(0x18b),'required':![]};export const TAGS_FLAG={'name':a29_0x5415f3(0x168),'type':a29_0x5415f3(0x17c),'description':'Config\x20tags\x20for\x20filtering/display\x20metadata'};export const STDIN_FLAG={'name':a29_0x5415f3(0x193),'type':a29_0x5415f3(0x162),'description':a29_0x5415f3(0x195),'default':![]};function a29_0x3e88(){const _0x2348ce=['5vRvxkI','boolean','validation','once','file','6346yjwvzg','44qrflwL','tags','appCode','error','1827350EaXTZN','after','hasValue','kind','slice','4888179vxVDax','args','3prrzdg','valueRedacted','App\x20config\x20value\x20source\x20is\x20ambiguous.','reveal','push','warnings','2075068gAjWyy','operation','name','Failed\x20to\x20','string','key','utf8','8RKmRPo','before','str','Use\x20one\x20of:\x20positional\x20<value>,\x20--stdin,\x20--from-env\x20<NAME>,\x20or\x20--file\x20<path>.','Value\x20file\x20is\x20not\x20readable:\x20','apiError','\x20app\x20config.','path','3800153CQQoml','App\x20config\x20tags\x20length\x20cannot\x20exceed\x2032.','data','1355728zeGWzI','Sensitive\x20config\x20value.\x20Prefer\x20--stdin,\x20--from-env,\x20or\x20--file\x20for\x20secrets.','join','bool','value','argument','setEncoding','469404OzDFts','Environment\x20variable\x20is\x20not\x20set:\x20','stdin','Missing\x20app-config\x20key.','Read\x20config\x20value\x20from\x20stdin','trim','end','length','method','value\x20is\x20redacted','Runtime\x20app-config\x20key','env','key:\x20','from-env','flag','url','gmtCreate'];a29_0x3e88=function(){return _0x2348ce;};return a29_0x3e88();}export const FROM_ENV_FLAG={'name':a29_0x5415f3(0x15d),'type':a29_0x5415f3(0x17c),'description':'Read\x20config\x20value\x20from\x20the\x20named\x20environment\x20variable'};export const REVEAL_FLAG={'name':a29_0x5415f3(0x175),'type':a29_0x5415f3(0x162),'description':'Reveal\x20the\x20sensitive\x20value\x20for\x20this\x20single\x20key','default':![]};export function readKeyArg(_0x4b1ffc){const _0x228c75=a29_0x5415f3,_0xf92d71=_0x4b1ffc[_0x228c75(0x171)][0x0]?.[_0x228c75(0x196)]()??'';return validateKey(_0xf92d71),_0xf92d71;}export function readOptionalTags(_0x34e1d7){const _0x3d975d=a29_0x5415f3,_0x3762b3=_0x34e1d7['str'](_0x3d975d(0x168))[_0x3d975d(0x196)]();if(!_0x3762b3)return undefined;if(_0x3762b3[_0x3d975d(0x198)]>0x20)throw CliErrors['validation'](_0x3d975d(0x188));return _0x3762b3;}export function validateKey(_0x5690c8){const _0xc0c109=a29_0x5415f3;if(!_0x5690c8)throw CliErrors[_0xc0c109(0x163)](_0xc0c109(0x194));if(_0x5690c8[_0xc0c109(0x198)]>0x100)throw CliErrors[_0xc0c109(0x163)]('App\x20config\x20key\x20length\x20cannot\x20exceed\x20256.');}export function projectAppConfig(_0x49e688,_0x4f25ba){const _0x2bbeea=a29_0x5415f3,_0x46be2e=_0x49e688[_0x2bbeea(0x18e)]!==undefined&&_0x49e688[_0x2bbeea(0x18e)]!==null&&_0x49e688[_0x2bbeea(0x18e)]!=='',_0x3ea5be={'appCode':_0x49e688[_0x2bbeea(0x169)],'key':_0x49e688[_0x2bbeea(0x17d)],'tags':_0x49e688[_0x2bbeea(0x168)]??undefined,'hasValue':_0x46be2e,'valueRedacted':_0x46be2e&&!_0x4f25ba?.['reveal'],'gmtCreate':_0x49e688[_0x2bbeea(0x160)],'gmtModified':_0x49e688['gmtModified']};return _0x4f25ba?.[_0x2bbeea(0x175)]&&(_0x3ea5be[_0x2bbeea(0x18e)]=_0x49e688['value']??'',_0x3ea5be[_0x2bbeea(0x173)]=![]),_0x3ea5be;}export function plannedAppConfig(_0xbde607){const _0x357acd=a29_0x5415f3,_0xcf42c0=_0xbde607[_0x357acd(0x16d)]??!![];return{'appCode':_0xbde607[_0x357acd(0x169)],'key':_0xbde607[_0x357acd(0x17d)],'tags':_0xbde607[_0x357acd(0x168)]??undefined,'hasValue':_0xcf42c0,'valueRedacted':_0xcf42c0};}export function buildMutationData(_0x673b0f){const _0x534953=a29_0x5415f3;return{'operation':_0x673b0f[_0x534953(0x179)],'selector':{'appCode':_0x673b0f[_0x534953(0x169)],'key':_0x673b0f['key']},'before':_0x673b0f[_0x534953(0x180)],'after':_0x673b0f[_0x534953(0x16c)],'dryRun':_0x673b0f['dryRun'],'warnings':_0x673b0f[_0x534953(0x177)]??[]};}export async function withAppConfigApiBoundary(_0x314b3d,_0x591683,_0x5cbc49){const _0x412c97=a29_0x5415f3;try{return await _0x5cbc49();}catch{const _0xefd10a=['appCode:\x20'+_0x591683[_0x412c97(0x169)]];if(_0x591683[_0x412c97(0x17d)])_0xefd10a[_0x412c97(0x176)](_0x412c97(0x15c)+_0x591683[_0x412c97(0x17d)]);_0xefd10a[_0x412c97(0x176)](_0x412c97(0x19a));throw CliErrors[_0x412c97(0x184)](_0x412c97(0x17b)+_0x314b3d+_0x412c97(0x185),_0xefd10a['join'](';\x20')+'.');}}export function asAppConfigDryRunResult(_0x26bc20,_0x88d635){const _0x666e55=a29_0x5415f3;return Object['defineProperties'](_0x26bc20,{'method':{'value':_0x88d635[_0x666e55(0x199)],'enumerable':![]},'url':{'value':_0x88d635[_0x666e55(0x15f)],'enumerable':![]}});}function a29_0x582e(_0x56a984,_0x42cd61){_0x56a984=_0x56a984-0x15b;const _0x3e8884=a29_0x3e88();let _0x582e21=_0x3e8884[_0x56a984];return _0x582e21;}export function assertSingleValueSource(_0x38aad0){const _0x5a739e=a29_0x5415f3,_0x826a5b=[];_0x38aad0[_0x5a739e(0x171)][_0x5a739e(0x198)]>0x1&&_0x826a5b[_0x5a739e(0x176)]({'kind':_0x5a739e(0x18f),'value':_0x38aad0['args'][_0x5a739e(0x16f)](0x1)[_0x5a739e(0x18c)]('\x20')});const _0x34f5aa=_0x38aad0[_0x5a739e(0x15e)](_0x5a739e(0x18e));_0x34f5aa!==undefined&&_0x34f5aa!==null&&_0x826a5b[_0x5a739e(0x176)]({'kind':_0x5a739e(0x18f),'value':String(_0x34f5aa)});_0x38aad0[_0x5a739e(0x18d)](_0x5a739e(0x193))&&_0x826a5b[_0x5a739e(0x176)]({'kind':_0x5a739e(0x193)});const _0x30fc67=_0x38aad0[_0x5a739e(0x181)](_0x5a739e(0x15d))[_0x5a739e(0x196)]();_0x30fc67&&_0x826a5b[_0x5a739e(0x176)]({'kind':'env','name':_0x30fc67});const _0x5e0fd0=_0x38aad0[_0x5a739e(0x181)](_0x5a739e(0x165))[_0x5a739e(0x196)]();_0x5e0fd0&&_0x826a5b[_0x5a739e(0x176)]({'kind':_0x5a739e(0x165),'path':_0x5e0fd0});if(_0x826a5b[_0x5a739e(0x198)]===0x0)throw CliErrors[_0x5a739e(0x163)]('Missing\x20app-config\x20value\x20source.',_0x5a739e(0x182));if(_0x826a5b['length']>0x1)throw CliErrors['validation'](_0x5a739e(0x174),'Use\x20exactly\x20one\x20of:\x20positional\x20<value>,\x20--stdin,\x20--from-env\x20<NAME>,\x20or\x20--file\x20<path>.');return _0x826a5b[0x0];}export async function assertValueSourceReadable(_0x1d7e0a){const _0x93aba9=a29_0x5415f3;if(_0x1d7e0a[_0x93aba9(0x16e)]==='env'&&!(_0x1d7e0a[_0x93aba9(0x17a)]in process.env))throw CliErrors['validation']('Environment\x20variable\x20is\x20not\x20set:\x20'+_0x1d7e0a['name']);if(_0x1d7e0a['kind']===_0x93aba9(0x165))try{await access(_0x1d7e0a[_0x93aba9(0x186)]);}catch{throw CliErrors[_0x93aba9(0x163)](_0x93aba9(0x183)+_0x1d7e0a[_0x93aba9(0x186)]);}}export async function readAppConfigValue(_0x50d93d){const _0x4d7743=a29_0x5415f3,_0xd708dc=assertSingleValueSource(_0x50d93d),_0x292737=[];if(_0xd708dc[_0x4d7743(0x16e)]===_0x4d7743(0x18f))return _0x292737['push']('Value\x20was\x20provided\x20as\x20a\x20command\x20argument;\x20prefer\x20--stdin,\x20--from-env,\x20or\x20--file\x20for\x20secrets.'),{'value':_0xd708dc[_0x4d7743(0x18e)]??'','source':_0xd708dc[_0x4d7743(0x16e)],'warnings':_0x292737};if(_0xd708dc[_0x4d7743(0x16e)]==='stdin')return{'value':await readStdin(),'source':_0xd708dc['kind'],'warnings':_0x292737};if(_0xd708dc[_0x4d7743(0x16e)]===_0x4d7743(0x15b)){if(!(_0xd708dc[_0x4d7743(0x17a)]in process.env))throw CliErrors[_0x4d7743(0x163)](_0x4d7743(0x192)+_0xd708dc['name']);return{'value':process.env[_0xd708dc.name]??'','source':_0xd708dc[_0x4d7743(0x16e)],'warnings':_0x292737};}return{'value':await readFile(_0xd708dc['path'],_0x4d7743(0x17e)),'source':_0xd708dc['kind'],'warnings':_0x292737};}function readStdin(){return new Promise((_0x3ded5c,_0x1206ae)=>{const _0x31ae7f=a29_0x582e;let _0x365423='';process[_0x31ae7f(0x193)][_0x31ae7f(0x190)](_0x31ae7f(0x17e)),process[_0x31ae7f(0x193)]['on'](_0x31ae7f(0x189),_0x28322d=>{_0x365423+=_0x28322d;}),process[_0x31ae7f(0x193)][_0x31ae7f(0x164)](_0x31ae7f(0x197),()=>_0x3ded5c(_0x365423)),process[_0x31ae7f(0x193)][_0x31ae7f(0x164)](_0x31ae7f(0x16a),_0x1206ae);});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a30_0x5164(){const _0x38cc6a=['!\x20Not\x20logged\x20in','log','auth','write','1668096EAkIAh','boolean','264ezqLHR','470001OnFMsr','Skip\x20login\x20confirmation\x20and\x20start\x20browser\x20auth\x20immediately','yes','213927eZVmtC','448gJRKDz','bool','Clear\x20login\x20session','6OBIHkT','4278330tbKpZh','539349tMlxXB','Login\x20via\x20browser','logout','14695mKukaX','../../auth/auth-server-ui.js'];a30_0x5164=function(){return _0x38cc6a;};return a30_0x5164();}const a30_0x5d9474=a30_0xa447;(function(_0x36afd1,_0x2f710e){const _0xbedbd3=a30_0xa447,_0x2457ff=_0x36afd1();while(!![]){try{const _0x375cd2=parseInt(_0xbedbd3(0x1c3))/0x1+-parseInt(_0xbedbd3(0x1ca))/0x2*(-parseInt(_0xbedbd3(0x1cc))/0x3)+-parseInt(_0xbedbd3(0x1c0))/0x4+-parseInt(_0xbedbd3(0x1cf))/0x5*(-parseInt(_0xbedbd3(0x1c2))/0x6)+parseInt(_0xbedbd3(0x1c6))/0x7+-parseInt(_0xbedbd3(0x1c7))/0x8+-parseInt(_0xbedbd3(0x1cb))/0x9;if(_0x375cd2===_0x2f710e)break;else _0x2457ff['push'](_0x2457ff['shift']());}catch(_0x4fefb7){_0x2457ff['push'](_0x2457ff['shift']());}}}(a30_0x5164,0x43929));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../../auth/constant.js';function a30_0xa447(_0x34e914,_0x4a8177){_0x34e914=_0x34e914-0x1be;const _0x5164d6=a30_0x5164();let _0xa4476f=_0x5164d6[_0x34e914];return _0xa4476f;}export const authDefinitions=[{'service':a30_0x5d9474(0x1be),'command':'login','description':a30_0x5d9474(0x1cd),'risk':a30_0x5d9474(0x1bf),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a30_0x5d9474(0x1c5),'type':a30_0x5d9474(0x1c1),'description':a30_0x5d9474(0x1c4),'default':![]}],async 'execute'(_0x131a4c){const _0x35fa28=a30_0x5d9474,{runAuthServer:_0x510832}=await import(_0x35fa28(0x1d0));return await _0x510832({'autoYes':_0x131a4c[_0x35fa28(0x1c8)]('yes'),'nonInteractive':_0x131a4c['nonInteractive']}),{'ok':!![]};}},{'service':a30_0x5d9474(0x1be),'command':a30_0x5d9474(0x1ce),'description':a30_0x5d9474(0x1c9),'risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x31d07d){const _0x1ee21f=a30_0x5d9474;return existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x1ee21f(0x1d2)]('✓\x20Logged\x20out')):console[_0x1ee21f(0x1d2)](_0x1ee21f(0x1d1)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a31_0x373629=a31_0x2048;(function(_0x114411,_0x56d153){const _0x44c734=a31_0x2048,_0x4372fa=_0x114411();while(!![]){try{const _0xa1e3c0=-parseInt(_0x44c734(0xfa))/0x1*(parseInt(_0x44c734(0xf3))/0x2)+-parseInt(_0x44c734(0xe5))/0x3+parseInt(_0x44c734(0xd5))/0x4+-parseInt(_0x44c734(0xe3))/0x5*(parseInt(_0x44c734(0x10f))/0x6)+-parseInt(_0x44c734(0xd7))/0x7*(parseInt(_0x44c734(0xcf))/0x8)+parseInt(_0x44c734(0x11c))/0x9*(parseInt(_0x44c734(0xe1))/0xa)+parseInt(_0x44c734(0xe4))/0xb;if(_0xa1e3c0===_0x56d153)break;else _0x4372fa['push'](_0x4372fa['shift']());}catch(_0x2b3d04){_0x4372fa['push'](_0x4372fa['shift']());}}}(a31_0x14ce,0xab276));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';function a31_0x2048(_0x269ef6,_0x37ffd5){_0x269ef6=_0x269ef6-0xc4;const _0x14cef1=a31_0x14ce();let _0x20485f=_0x14cef1[_0x269ef6];return _0x20485f;}import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{DEFAULT_BFF_SCRIPT_DESCRIPTION,isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{getAppBaseUrl}from'../../constant/domain.js';export const bffCreate={'service':a31_0x373629(0xee),'command':a31_0x373629(0xde),'description':a31_0x373629(0xd4),'risk':'read','flags':[{'name':a31_0x373629(0x105),'type':a31_0x373629(0x122),'required':!![],'enum':['COMMON','ENDPOINT',a31_0x373629(0xcb)],'description':a31_0x373629(0xfc)},{'name':a31_0x373629(0xeb),'type':'string','required':!![],'description':'Function\x20name\x20(valid\x20JS\x20identifier)'},{'name':a31_0x373629(0xc7),'type':a31_0x373629(0x122),'description':a31_0x373629(0x109)},{'name':a31_0x373629(0x113),'type':a31_0x373629(0x122),'description':a31_0x373629(0xd0)},{'name':a31_0x373629(0x10b),'type':a31_0x373629(0x122),'description':a31_0x373629(0xd1)},{'name':'operation-type','type':a31_0x373629(0x122),'description':a31_0x373629(0x117)},{'name':a31_0x373629(0xf5),'type':'string','description':a31_0x373629(0x124),'enum':['before',a31_0x373629(0x118)]}],async 'validate'(_0x1efadd){const _0x14a1f7=a31_0x373629,_0x27ffd3=_0x1efadd[_0x14a1f7(0x116)](_0x14a1f7(0xeb));if(!isValidBffFunctionName(_0x27ffd3))throw CliErrors['validation'](_0x14a1f7(0xd3)+_0x27ffd3+_0x14a1f7(0x129));},async 'execute'(_0x33c273){const _0x373977=a31_0x373629,_0x1c4526=loadBffProjectConfig(_0x33c273['appCode']),_0x2b8cd5=_0x33c273[_0x373977(0x116)](_0x373977(0x105)),_0x4156be=_0x33c273[_0x373977(0x116)]('name'),_0x357fce=_0x33c273[_0x373977(0x116)](_0x373977(0xc7))||undefined,_0x271d31=_0x2b8cd5===_0x373977(0xcb)?await resolveHookOptions(_0x1c4526,_0x33c273):undefined,_0x3edb0a=buildFilePath(_0x1c4526,_0x2b8cd5,_0x4156be,_0x271d31);if(await fileExists(_0x3edb0a))throw CliErrors['validation']('File\x20already\x20exists:\x20'+_0x3edb0a);await mkdir(dirname(_0x3edb0a),{'recursive':!![]});const _0x40b668=generateTemplate(_0x2b8cd5,_0x4156be,_0x33c273[_0x373977(0xda)],_0x357fce,_0x271d31);await writeFile(_0x3edb0a,_0x40b668,_0x373977(0x12d));const _0x89a3d8={'type':_0x2b8cd5,'name':_0x4156be,'path':_0x3edb0a};if(_0x357fce)_0x89a3d8[_0x373977(0xc7)]=_0x357fce;if(_0x271d31){if(_0x271d31[_0x373977(0x113)])_0x89a3d8['alias']=_0x271d31[_0x373977(0x113)];_0x89a3d8[_0x373977(0x12a)]=_0x271d31[_0x373977(0x12a)],_0x89a3d8[_0x373977(0xe9)]=_0x271d31['operationType'],_0x89a3d8[_0x373977(0xce)]=_0x271d31[_0x373977(0xce)];}return{'ok':!![],'data':_0x89a3d8,'message':_0x373977(0xf4)+_0x2b8cd5+_0x373977(0xc8)+_0x4156be};}};async function resolveHookOptions(_0x509a93,_0x3b23ca){const _0x3e5c63=a31_0x373629,_0x179745=loadAliasMap(_0x3b23ca[_0x3e5c63(0xd6)],undefined,resolveApiFilePath(_0x3b23ca[_0x3e5c63(0xd6)],_0x3b23ca[_0x3e5c63(0xda)])),_0x5c6c31=_0x179745['length']>0x0;let _0x2ac5d6,_0x33ca8c,_0x12cd58;const _0x38ce32=_0x3b23ca[_0x3e5c63(0x116)]('alias'),_0x1cc02c=_0x3b23ca[_0x3e5c63(0x116)]('datasetcode');if(_0x38ce32){const _0xd39305=resolveAlias(_0x3b23ca['apiDir'],_0x38ce32,undefined,resolveApiFilePath(_0x3b23ca[_0x3e5c63(0xd6)],_0x3b23ca['appCode']));if(!_0xd39305){const _0x59307a=_0x5c6c31?_0x3e5c63(0x11e)+_0x179745[_0x3e5c63(0xcc)](_0x13b8ed=>_0x13b8ed['alias'])['join'](',\x20'):_0x3e5c63(0x126)+CLI_BIN_NAME+_0x3e5c63(0xe7);throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0xea)+_0x38ce32+'\x22\x20not\x20found.\x20'+_0x59307a);}_0x2ac5d6=_0x38ce32,_0x33ca8c=_0xd39305;}else{if(_0x1cc02c){_0x33ca8c=_0x1cc02c;const _0x2257dc=_0x179745[_0x3e5c63(0xf9)](_0x1dcdbf=>_0x1dcdbf[_0x3e5c63(0x12a)]===_0x1cc02c);_0x2ac5d6=_0x2257dc?.['alias'];}else{if(_0x3b23ca[_0x3e5c63(0x12b)])throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0xdd));else{if(_0x5c6c31){const _0x3d12dd=_0x179745[_0x3e5c63(0xcc)](_0x57aac5=>_0x57aac5[_0x3e5c63(0x113)]+'\x20('+_0x57aac5['tableName']+')'),_0x39bd7d=await promptSelect(_0x3e5c63(0x108),_0x3d12dd),_0x34696a=_0x179745[_0x39bd7d];if(!_0x34696a)throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0x120));_0x2ac5d6=_0x34696a['alias'],_0x33ca8c=_0x34696a[_0x3e5c63(0x12a)];}else{const _0x48000b=await listDatasets(_0x3b23ca['appCode']);if(_0x48000b[_0x3e5c63(0x114)]===0x0)throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0x101));const _0x24b48f=_0x48000b['map'](_0x390b97=>_0x390b97['name']+'\x20['+(_0x390b97[_0x3e5c63(0xd2)]??'UNKNOWN')+_0x3e5c63(0xe0)+_0x390b97[_0x3e5c63(0x100)]+')'),_0x332f7b=await promptSelect(_0x3e5c63(0x108),_0x24b48f),_0x363a2c=_0x48000b[_0x332f7b];if(!_0x363a2c)throw CliErrors['validation'](_0x3e5c63(0x120));_0x33ca8c=_0x363a2c[_0x3e5c63(0x100)],_0x2ac5d6=undefined;}}}}const _0x417ba9=await listDatasets(_0x3b23ca[_0x3e5c63(0xda)]),_0x1fd672=_0x417ba9[_0x3e5c63(0xf9)](_0x46577b=>_0x46577b[_0x3e5c63(0x100)]===_0x33ca8c);if(!_0x1fd672)throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0xd8)+_0x33ca8c+'\x22.\x20'+(_0x2ac5d6?_0x3e5c63(0xc6)+CLI_BIN_NAME+_0x3e5c63(0xff):''));_0x12cd58=_0x1fd672['id'];const _0x106038=_0x2ac5d6??_0x33ca8c,_0x2c2b5e=await listBffDatasetOperations(_0x3b23ca[_0x3e5c63(0xda)],_0x12cd58),_0x1287f1=_0x2c2b5e?Object[_0x3e5c63(0xf8)](_0x2c2b5e):[];if(_0x1287f1[_0x3e5c63(0x114)]===0x0)throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0x10e)+_0x106038+'.');let _0x3e9a1e;const _0x598823=_0x3b23ca[_0x3e5c63(0x116)](_0x3e5c63(0xc9));if(_0x598823){if(!_0x1287f1[_0x3e5c63(0x12c)](_0x598823))throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0x127)+_0x598823+_0x3e5c63(0xed)+_0x106038+'.\x20'+('Available:\x20'+_0x1287f1[_0x3e5c63(0xe2)](',\x20')));_0x3e9a1e=_0x598823;}else{if(_0x3b23ca['nonInteractive'])throw CliErrors['validation'](_0x3e5c63(0xe6));const _0x4727a5=await promptSelect('Select\x20operation\x20type:',_0x1287f1);_0x3e9a1e=_0x1287f1[_0x4727a5]??_0x1287f1[0x0];}let _0x51b89e=normalizeHookFunctionNode(_0x3b23ca[_0x3e5c63(0x116)]('function-node'));if(!_0x51b89e){if(_0x3b23ca['str'](_0x3e5c63(0xf5)))throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0x11f));if(_0x3b23ca[_0x3e5c63(0x12b)])throw CliErrors[_0x3e5c63(0xfb)](_0x3e5c63(0xcd));const _0x5e7caf=await promptSelect('Select\x20trigger\x20node:',[_0x3e5c63(0x112),_0x3e5c63(0x118)]);_0x51b89e=['before',_0x3e5c63(0x118)][_0x5e7caf]??_0x3e5c63(0x112);}return{'alias':_0x2ac5d6,'datasetCode':_0x33ca8c,'datasetId':_0x12cd58,'operationType':_0x3e9a1e,'functionNode':_0x51b89e};}async function promptSelect(_0x4b9eac,_0x20a9dd){const _0x48b64d=a31_0x373629;if(_0x20a9dd[_0x48b64d(0x114)]===0x1)return 0x0;for(const [_0x5eef09,_0x498edc]of _0x20a9dd[_0x48b64d(0x104)]()){process[_0x48b64d(0x128)]['write']('\x20\x20'+(_0x5eef09+0x1)+'.\x20'+_0x498edc+'\x0a');}const _0x21ec2b=createInterface({'input':process[_0x48b64d(0xf6)],'output':process[_0x48b64d(0x128)]});while(!![]){const _0x4a3a9a=await new Promise(_0x273f39=>{const _0x36365c=_0x48b64d;_0x21ec2b[_0x36365c(0x107)](_0x4b9eac+'\x20',_0x273f39);}),_0x45a3e3=Number[_0x48b64d(0x125)](_0x4a3a9a['trim'](),0xa);if(Number[_0x48b64d(0xf7)](_0x45a3e3)&&_0x45a3e3>=0x1&&_0x45a3e3<=_0x20a9dd[_0x48b64d(0x114)])return _0x21ec2b[_0x48b64d(0xfe)](),_0x45a3e3-0x1;process['stderr'][_0x48b64d(0xc5)](_0x48b64d(0x11b)+_0x20a9dd[_0x48b64d(0x114)]+'.\x0a');}}function buildFilePath(_0x4ba772,_0x316d6c,_0x59cc54,_0x9139f){const _0x2fb2f6=a31_0x373629;if(_0x316d6c==='HOOK'){if(!_0x9139f)throw CliErrors[_0x2fb2f6(0xfb)](_0x2fb2f6(0x103));const _0x26d13b=_0x9139f[_0x2fb2f6(0x113)]??_0x9139f[_0x2fb2f6(0x12a)];return join(_0x4ba772[_0x2fb2f6(0xe8)],'HOOK',_0x26d13b,_0x9139f['operationType'],_0x9139f[_0x2fb2f6(0xce)],_0x59cc54+'.js');}return join(_0x4ba772[_0x2fb2f6(0xe8)],_0x316d6c,_0x59cc54+_0x2fb2f6(0x10a));}function a31_0x14ce(){const _0xceac7c=['.js\x0a','appCode','.js\x0a\x20*\x20[调用方式]\x20context.client.bff.execute({\x20scriptName:\x20\x22','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','create','ENDPOINT',']\x20(','10xbCPvx','join','544150mPKror','13834953qRScxK','1749375vyrgDH','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','scriptsRootDir','operationType','Alias\x20\x22','name','HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.','\x22\x20not\x20found\x20for\x20dataset\x20','bff','/HOOK/','\x0a\x20*\x20[参数字段]\x20按实际请求体为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20HTTP\x20请求体参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充业务返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','/ENDPOINT/','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20HOOK\x0a\x20*\x20[脚本名称]\x20','2TDwdbP','Created\x20','function-node','stdin','isInteger','keys','find','962222CjzeoI','validation','Script\x20type','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[脚本名称]\x20','close','\x20api\x20pull`\x20to\x20refresh.','code','No\x20datasets\x20found\x20for\x20this\x20app.','当前响应结果','HOOK\x20requires\x20alias/operation/node\x20options.','entries','type','\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20','question','Select\x20dataset:','Script\x20description','.js','datasetcode','当前请求参数','.js\x0a\x20*\x20[触发节点]\x20','No\x20operation\x20types\x20found\x20for\x20dataset\x20','30GvRFQj','\x0a\x20*\x20[平台配置]\x20','#api-list\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/','before','alias','length','\x22,\x20params\x20})\x0a','str','Operation\x20type\x20(HOOK\x20only)','after','修改后的响应结果','\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20','\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20','7143678xqVrAF','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','Available\x20aliases:\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','Invalid\x20dataset\x20selection.','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','string','COMMON','Trigger\x20node\x20(HOOK\x20only)','parseInt','No\x20api.ts\x20found.\x20Run\x20`','Operation\x20type\x20\x22','stderr','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','datasetCode','nonInteractive','includes','utf8','/**\x0a\x20*\x20','write','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','description','\x20function:\x20','operation-type','\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20请求参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','HOOK','map','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','functionNode','17776GEvpsx','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','source','Invalid\x20function\x20name\x20\x22','Scaffold\x20a\x20new\x20Backend\x20Function\x20script\x20from\x20template','3329608YacvRQ','apiDir','294WYRTyh','Dataset\x20not\x20found\x20for\x20code\x20\x22'];a31_0x14ce=function(){return _0xceac7c;};return a31_0x14ce();}export function generateTemplate(_0x3c74a2,_0x55d293,_0x3c46c1,_0x5f5443,_0x23735e){const _0x3b5b5c=a31_0x373629,_0x3ca1bf=_0x5f5443?.['trim']()||DEFAULT_BFF_SCRIPT_DESCRIPTION,_0x52d041=getAppBaseUrl(_0x3c46c1),_0x1766d6='\x20*\x20[依赖数据集]\x20无(如有依赖,DB_TABLE\x20填物理表名;METADATA\x20填数据集编码与用途)\x0a\x20*\x20[调用\x20BF]\x20无(如有调用,填写脚本名称与用途)\x0a\x20*\x20[执行\x20SQL]\x20无(如有执行,填写\x20SQL\x20名称与用途)\x0a\x20*\x20[副作用]\x20无(如有通知或外部调用,说明影响与失败策略)';if(_0x3c74a2===_0x3b5b5c(0x123))return _0x3b5b5c(0xc4)+_0x3ca1bf+_0x3b5b5c(0xfd)+_0x55d293+_0x3b5b5c(0x110)+_0x52d041+'/data/backend-function\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/'+_0x3c46c1+'/COMMON/'+_0x55d293+_0x3b5b5c(0xdb)+_0x55d293+_0x3b5b5c(0x115)+_0x1766d6+_0x3b5b5c(0xca)+_0x55d293+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x3c74a2===_0x3b5b5c(0xdf))return _0x3b5b5c(0xc4)+_0x3ca1bf+'\x0a\x20*\x0a\x20*\x20[脚本类型]\x20ENDPOINT\x0a\x20*\x20[脚本名称]\x20'+_0x55d293+_0x3b5b5c(0xdc)+_0x3c46c1+'/'+_0x55d293+'\x0a\x20*\x20[平台配置]\x20'+_0x52d041+'/data/backend-function\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/'+_0x3c46c1+_0x3b5b5c(0xf1)+_0x55d293+_0x3b5b5c(0xd9)+_0x1766d6+_0x3b5b5c(0xf0)+_0x55d293+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(!_0x23735e)throw CliErrors[_0x3b5b5c(0xfb)](_0x3b5b5c(0xec));const _0x4765bd=_0x23735e[_0x3b5b5c(0x113)]??_0x23735e[_0x3b5b5c(0x12a)],_0x4e839e=_0x23735e[_0x3b5b5c(0xce)]==='before'?_0x3b5b5c(0x10c):_0x3b5b5c(0x102),_0x3d5f28=_0x23735e[_0x3b5b5c(0xce)]===_0x3b5b5c(0x112)?'修改后的请求参数':_0x3b5b5c(0x119);return _0x3b5b5c(0xc4)+_0x3ca1bf+_0x3b5b5c(0xf2)+_0x55d293+_0x3b5b5c(0x121)+_0x3c46c1+'/'+_0x23735e[_0x3b5b5c(0x12a)]+'/'+_0x23735e['operationType']+_0x3b5b5c(0x110)+_0x52d041+'/data/dataset/'+_0x23735e['datasetId']+_0x3b5b5c(0x111)+_0x3c46c1+_0x3b5b5c(0xef)+_0x4765bd+'/'+_0x23735e['operationType']+'/'+_0x23735e[_0x3b5b5c(0xce)]+'/'+_0x55d293+_0x3b5b5c(0x10d)+_0x23735e['functionNode']+'\x0a'+_0x1766d6+_0x3b5b5c(0x106)+_0x4e839e+_0x3b5b5c(0x11a)+_0x3d5f28+'\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20'+_0x55d293+_0x3b5b5c(0x11d);}
|
|
1
|
+
const a31_0x2dc698=a31_0x4d29;(function(_0x2cb92d,_0x517c40){const _0x2a05f5=a31_0x4d29,_0x1ccb7e=_0x2cb92d();while(!![]){try{const _0x538ee6=parseInt(_0x2a05f5(0x1c9))/0x1*(parseInt(_0x2a05f5(0x227))/0x2)+parseInt(_0x2a05f5(0x226))/0x3*(parseInt(_0x2a05f5(0x219))/0x4)+-parseInt(_0x2a05f5(0x1fa))/0x5*(-parseInt(_0x2a05f5(0x1c7))/0x6)+parseInt(_0x2a05f5(0x1c6))/0x7*(parseInt(_0x2a05f5(0x1bb))/0x8)+parseInt(_0x2a05f5(0x1e5))/0x9+-parseInt(_0x2a05f5(0x1ef))/0xa+-parseInt(_0x2a05f5(0x1ec))/0xb;if(_0x538ee6===_0x517c40)break;else _0x1ccb7e['push'](_0x1ccb7e['shift']());}catch(_0x31c30c){_0x1ccb7e['push'](_0x1ccb7e['shift']());}}}(a31_0x30f0,0xd7656));import{createInterface}from'node:readline';import{mkdir,writeFile}from'node:fs/promises';import{dirname,join}from'node:path';import{listDatasets,listBffDatasetOperations}from'../../core/api-client.js';function a31_0x4d29(_0x5d49b8,_0x4a1f03){_0x5d49b8=_0x5d49b8-0x1b8;const _0x30f0d5=a31_0x30f0();let _0x4d29f0=_0x30f0d5[_0x5d49b8];return _0x4d29f0;}function a31_0x30f0(){const _0x500684=['join','\x0a\x20*\x20[接口路径]\x20POST\x20/api/endpoint/','12605200vVgHQo','HOOK','Select\x20trigger\x20node:','Trigger\x20node\x20(HOOK\x20only)','after','tableName','question','string','appCode','Select\x20dataset:','\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20','15ptWElM','str','source','stdin','\x20*\x20[依赖数据集]\x20无(如有依赖,DB_TABLE\x20填物理表名;METADATA\x20填数据集编码与用途)\x0a\x20*\x20[调用\x20BF]\x20无(如有调用,填写脚本名称与用途)\x0a\x20*\x20[执行\x20SQL]\x20无(如有执行,填写\x20SQL\x20名称与用途)\x0a\x20*\x20[副作用]\x20无(如有通知或外部调用,说明影响与失败策略)','includes','/data/dataset/','/data/backend-function\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/','(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a','function-node','length','/ENDPOINT/','bff','scriptsRootDir','functionNode','UNKNOWN','Function\x20name\x20(valid\x20JS\x20identifier)','--alias\x20or\x20--datasetcode\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','type','Invalid\x20function\x20name\x20\x22','Operation\x20type\x20(HOOK\x20only)','No\x20operation\x20types\x20found\x20for\x20dataset\x20','--function-node\x20must\x20be\x20\x27before\x27\x20or\x20\x27after\x27.','.js\x0a\x20*\x20[调用方式]\x20context.client.bff.execute({\x20scriptName:\x20\x22','description','\x20api\x20pull`\x20to\x20refresh.','\x22\x20not\x20found.\x20','parseInt','create','\x0a\x20*\x20[平台配置]\x20','Created\x20','191876nQJiei','Script\x20description','\x22.\x20','operation-type','validation','\x0a\x20*\x20[接口路径]\x20POST\x20/api/','\x22,\x20params\x20})\x0a','.js\x0a\x20*\x20[触发节点]\x20','The\x20api.ts\x20may\x20be\x20stale\x20—\x20run\x20`','\x22.\x20Must\x20be\x20a\x20valid\x20JS\x20identifier\x20(e.g.\x20createOrder,\x20beforeFilter).','trim','\x20api\x20pull`\x20first,\x20or\x20use\x20--datasetcode\x20instead.','Script\x20type','18lXggJx','844726DfwWlk','\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20COMMON\x0a\x20*\x20[脚本名称]\x20','/HOOK/','8ZoXOdj','Invalid\x20dataset\x20selection.',']\x20(','File\x20already\x20exists:\x20','alias','当前响应结果','--function-node\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','--operation-type\x20is\x20required\x20for\x20HOOK\x20in\x20non-interactive\x20mode.','code','Dataset\x20alias\x20from\x20api.ts\x20(HOOK\x20only,\x20preferred)','\x20function:\x20','5983411wfeygV','497202GjNXga','stderr','3BdbxGA','apiDir','ENDPOINT','.js\x0a','Dataset\x20code\x20(HOOK\x20only,\x20fallback\x20when\x20alias\x20unavailable)','/COMMON/','.js','find','COMMON','\x22\x20not\x20found\x20for\x20dataset\x20','Available\x20aliases:\x20','nonInteractive','\x0a\x20*\x0a\x20*\x20[脚本类型]\x20HOOK\x0a\x20*\x20[脚本名称]\x20','Dataset\x20not\x20found\x20for\x20code\x20\x22','read','Select\x20operation\x20type:','\x0a\x20*\x20[参数字段]\x20按实际请求体为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20HTTP\x20请求体参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充业务返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20','datasetId','Scaffold\x20a\x20new\x20Backend\x20Function\x20script\x20from\x20template','before','/**\x0a\x20*\x20','write','utf8','Alias\x20\x22','close','name','datasetcode','datasetCode','1165644EmZzAh','operationType','修改后的请求参数','No\x20api.ts\x20found.\x20Run\x20`','HOOK\x20requires\x20alias/operation/node\x20options.','修改后的响应结果','entries','7095121hHhQgN'];a31_0x30f0=function(){return _0x500684;};return a31_0x30f0();}import{loadAliasMap,resolveAlias}from'../../core/alias-resolver.js';import{resolveApiFilePath}from'../../context.js';import{loadBffProjectConfig}from'../../core/bff/config.js';import{fileExists}from'../../core/bff/file-system.js';import{DEFAULT_BFF_SCRIPT_DESCRIPTION,isValidBffFunctionName,normalizeHookFunctionNode}from'../../core/bff/utils.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{getAppBaseUrl}from'../../constant/domain.js';export const bffCreate={'service':a31_0x2dc698(0x206),'command':a31_0x2dc698(0x216),'description':a31_0x2dc698(0x1db),'risk':a31_0x2dc698(0x1d7),'flags':[{'name':'type','type':a31_0x2dc698(0x1f6),'required':!![],'enum':[a31_0x2dc698(0x1d1),'ENDPOINT','HOOK'],'description':a31_0x2dc698(0x225)},{'name':a31_0x2dc698(0x1e2),'type':a31_0x2dc698(0x1f6),'required':!![],'description':a31_0x2dc698(0x20a)},{'name':'description','type':'string','description':a31_0x2dc698(0x21a)},{'name':a31_0x2dc698(0x1bf),'type':a31_0x2dc698(0x1f6),'description':a31_0x2dc698(0x1c4)},{'name':a31_0x2dc698(0x1e3),'type':a31_0x2dc698(0x1f6),'description':a31_0x2dc698(0x1cd)},{'name':'operation-type','type':a31_0x2dc698(0x1f6),'description':a31_0x2dc698(0x20e)},{'name':'function-node','type':a31_0x2dc698(0x1f6),'description':a31_0x2dc698(0x1f2),'enum':[a31_0x2dc698(0x1dc),a31_0x2dc698(0x1f3)]}],async 'validate'(_0x3df0ad){const _0x5e10b6=a31_0x2dc698,_0x2a431d=_0x3df0ad[_0x5e10b6(0x1fb)](_0x5e10b6(0x1e2));if(!isValidBffFunctionName(_0x2a431d))throw CliErrors['validation'](_0x5e10b6(0x20d)+_0x2a431d+_0x5e10b6(0x222));},async 'execute'(_0x8dc1eb){const _0x48a4bf=a31_0x2dc698,_0x10afe6=loadBffProjectConfig(_0x8dc1eb['appCode']),_0x2f5541=_0x8dc1eb['str'](_0x48a4bf(0x20c)),_0x249bae=_0x8dc1eb[_0x48a4bf(0x1fb)](_0x48a4bf(0x1e2)),_0x15866c=_0x8dc1eb[_0x48a4bf(0x1fb)](_0x48a4bf(0x212))||undefined,_0x3fa8bd=_0x2f5541===_0x48a4bf(0x1f0)?await resolveHookOptions(_0x10afe6,_0x8dc1eb):undefined,_0x25104c=buildFilePath(_0x10afe6,_0x2f5541,_0x249bae,_0x3fa8bd);if(await fileExists(_0x25104c))throw CliErrors[_0x48a4bf(0x21d)](_0x48a4bf(0x1be)+_0x25104c);await mkdir(dirname(_0x25104c),{'recursive':!![]});const _0xfae4c8=generateTemplate(_0x2f5541,_0x249bae,_0x8dc1eb[_0x48a4bf(0x1f7)],_0x15866c,_0x3fa8bd);await writeFile(_0x25104c,_0xfae4c8,_0x48a4bf(0x1df));const _0x2985b5={'type':_0x2f5541,'name':_0x249bae,'path':_0x25104c};if(_0x15866c)_0x2985b5['description']=_0x15866c;if(_0x3fa8bd){if(_0x3fa8bd[_0x48a4bf(0x1bf)])_0x2985b5['alias']=_0x3fa8bd[_0x48a4bf(0x1bf)];_0x2985b5[_0x48a4bf(0x1e4)]=_0x3fa8bd[_0x48a4bf(0x1e4)],_0x2985b5[_0x48a4bf(0x1e6)]=_0x3fa8bd[_0x48a4bf(0x1e6)],_0x2985b5[_0x48a4bf(0x208)]=_0x3fa8bd[_0x48a4bf(0x208)];}return{'ok':!![],'data':_0x2985b5,'message':_0x48a4bf(0x218)+_0x2f5541+_0x48a4bf(0x1c5)+_0x249bae};}};async function resolveHookOptions(_0x2fdbc5,_0x39c9b7){const _0x131bb7=a31_0x2dc698,_0x3724e0=loadAliasMap(_0x39c9b7[_0x131bb7(0x1ca)],undefined,resolveApiFilePath(_0x39c9b7[_0x131bb7(0x1ca)],_0x39c9b7[_0x131bb7(0x1f7)])),_0x150a11=_0x3724e0['length']>0x0;let _0x4b24e6,_0x313219,_0x177eb9;const _0xdfa149=_0x39c9b7[_0x131bb7(0x1fb)]('alias'),_0x49319e=_0x39c9b7[_0x131bb7(0x1fb)](_0x131bb7(0x1e3));if(_0xdfa149){const _0x3be297=resolveAlias(_0x39c9b7[_0x131bb7(0x1ca)],_0xdfa149,undefined,resolveApiFilePath(_0x39c9b7[_0x131bb7(0x1ca)],_0x39c9b7['appCode']));if(!_0x3be297){const _0x168f9d=_0x150a11?_0x131bb7(0x1d3)+_0x3724e0['map'](_0x530c62=>_0x530c62['alias'])[_0x131bb7(0x1ed)](',\x20'):_0x131bb7(0x1e8)+CLI_BIN_NAME+_0x131bb7(0x224);throw CliErrors[_0x131bb7(0x21d)](_0x131bb7(0x1e0)+_0xdfa149+_0x131bb7(0x214)+_0x168f9d);}_0x4b24e6=_0xdfa149,_0x313219=_0x3be297;}else{if(_0x49319e){_0x313219=_0x49319e;const _0x2033ed=_0x3724e0[_0x131bb7(0x1d0)](_0x461aa6=>_0x461aa6[_0x131bb7(0x1e4)]===_0x49319e);_0x4b24e6=_0x2033ed?.['alias'];}else{if(_0x39c9b7[_0x131bb7(0x1d4)])throw CliErrors[_0x131bb7(0x21d)](_0x131bb7(0x20b));else{if(_0x150a11){const _0x2ba3fa=_0x3724e0['map'](_0x5a19da=>_0x5a19da[_0x131bb7(0x1bf)]+'\x20('+_0x5a19da[_0x131bb7(0x1f4)]+')'),_0x5dab3f=await promptSelect('Select\x20dataset:',_0x2ba3fa),_0x3d4a0e=_0x3724e0[_0x5dab3f];if(!_0x3d4a0e)throw CliErrors[_0x131bb7(0x21d)]('Invalid\x20dataset\x20selection.');_0x4b24e6=_0x3d4a0e['alias'],_0x313219=_0x3d4a0e[_0x131bb7(0x1e4)];}else{const _0xf4a239=await listDatasets(_0x39c9b7[_0x131bb7(0x1f7)]);if(_0xf4a239[_0x131bb7(0x204)]===0x0)throw CliErrors[_0x131bb7(0x21d)]('No\x20datasets\x20found\x20for\x20this\x20app.');const _0x2a2ab6=_0xf4a239['map'](_0x1a1d41=>_0x1a1d41[_0x131bb7(0x1e2)]+'\x20['+(_0x1a1d41[_0x131bb7(0x1fc)]??_0x131bb7(0x209))+_0x131bb7(0x1bd)+_0x1a1d41[_0x131bb7(0x1c3)]+')'),_0x3e04fe=await promptSelect(_0x131bb7(0x1f8),_0x2a2ab6),_0x3f1d40=_0xf4a239[_0x3e04fe];if(!_0x3f1d40)throw CliErrors[_0x131bb7(0x21d)](_0x131bb7(0x1bc));_0x313219=_0x3f1d40[_0x131bb7(0x1c3)],_0x4b24e6=undefined;}}}}const _0x1e90df=await listDatasets(_0x39c9b7['appCode']),_0x1125ef=_0x1e90df[_0x131bb7(0x1d0)](_0x48758d=>_0x48758d['code']===_0x313219);if(!_0x1125ef)throw CliErrors[_0x131bb7(0x21d)](_0x131bb7(0x1d6)+_0x313219+_0x131bb7(0x21b)+(_0x4b24e6?_0x131bb7(0x221)+CLI_BIN_NAME+_0x131bb7(0x213):''));_0x177eb9=_0x1125ef['id'];const _0x2c6771=_0x4b24e6??_0x313219,_0x4328b3=await listBffDatasetOperations(_0x39c9b7['appCode'],_0x177eb9),_0x524f31=_0x4328b3?Object['keys'](_0x4328b3):[];if(_0x524f31[_0x131bb7(0x204)]===0x0)throw CliErrors[_0x131bb7(0x21d)](_0x131bb7(0x20f)+_0x2c6771+'.');let _0x3a0a7b;const _0x548532=_0x39c9b7[_0x131bb7(0x1fb)](_0x131bb7(0x21c));if(_0x548532){if(!_0x524f31[_0x131bb7(0x1ff)](_0x548532))throw CliErrors[_0x131bb7(0x21d)]('Operation\x20type\x20\x22'+_0x548532+_0x131bb7(0x1d2)+_0x2c6771+'.\x20'+('Available:\x20'+_0x524f31[_0x131bb7(0x1ed)](',\x20')));_0x3a0a7b=_0x548532;}else{if(_0x39c9b7['nonInteractive'])throw CliErrors['validation'](_0x131bb7(0x1c2));const _0x5950d9=await promptSelect(_0x131bb7(0x1d8),_0x524f31);_0x3a0a7b=_0x524f31[_0x5950d9]??_0x524f31[0x0];}let _0x5ba04c=normalizeHookFunctionNode(_0x39c9b7['str'](_0x131bb7(0x203)));if(!_0x5ba04c){if(_0x39c9b7['str']('function-node'))throw CliErrors[_0x131bb7(0x21d)](_0x131bb7(0x210));if(_0x39c9b7[_0x131bb7(0x1d4)])throw CliErrors['validation'](_0x131bb7(0x1c1));const _0x53e5a4=await promptSelect(_0x131bb7(0x1f1),[_0x131bb7(0x1dc),'after']);_0x5ba04c=[_0x131bb7(0x1dc),_0x131bb7(0x1f3)][_0x53e5a4]??_0x131bb7(0x1dc);}return{'alias':_0x4b24e6,'datasetCode':_0x313219,'datasetId':_0x177eb9,'operationType':_0x3a0a7b,'functionNode':_0x5ba04c};}async function promptSelect(_0x3ac9d2,_0x174401){const _0xdc5dcd=a31_0x2dc698;if(_0x174401[_0xdc5dcd(0x204)]===0x1)return 0x0;for(const [_0x2ef540,_0x760016]of _0x174401[_0xdc5dcd(0x1eb)]()){process[_0xdc5dcd(0x1c8)]['write']('\x20\x20'+(_0x2ef540+0x1)+'.\x20'+_0x760016+'\x0a');}const _0x37fb81=createInterface({'input':process[_0xdc5dcd(0x1fd)],'output':process[_0xdc5dcd(0x1c8)]});while(!![]){const _0x172086=await new Promise(_0x219e76=>{const _0x254898=_0xdc5dcd;_0x37fb81[_0x254898(0x1f5)](_0x3ac9d2+'\x20',_0x219e76);}),_0x49477e=Number[_0xdc5dcd(0x215)](_0x172086[_0xdc5dcd(0x223)](),0xa);if(Number['isInteger'](_0x49477e)&&_0x49477e>=0x1&&_0x49477e<=_0x174401[_0xdc5dcd(0x204)])return _0x37fb81[_0xdc5dcd(0x1e1)](),_0x49477e-0x1;process[_0xdc5dcd(0x1c8)][_0xdc5dcd(0x1de)]('\x20\x20Enter\x20a\x20number\x20between\x201\x20and\x20'+_0x174401[_0xdc5dcd(0x204)]+'.\x0a');}}function buildFilePath(_0xa21845,_0x39c6d9,_0x578107,_0x23db14){const _0x385756=a31_0x2dc698;if(_0x39c6d9===_0x385756(0x1f0)){if(!_0x23db14)throw CliErrors[_0x385756(0x21d)](_0x385756(0x1e9));const _0x40c11e=_0x23db14[_0x385756(0x1bf)]??_0x23db14[_0x385756(0x1e4)];return join(_0xa21845[_0x385756(0x207)],_0x385756(0x1f0),_0x40c11e,_0x23db14[_0x385756(0x1e6)],_0x23db14['functionNode'],_0x578107+_0x385756(0x1cf));}return join(_0xa21845[_0x385756(0x207)],_0x39c6d9,_0x578107+'.js');}export function generateTemplate(_0x3055bd,_0x554ea3,_0x4e6ebe,_0x173b5c,_0x5136fe){const _0x51065e=a31_0x2dc698,_0x2586f7=_0x173b5c?.[_0x51065e(0x223)]()||DEFAULT_BFF_SCRIPT_DESCRIPTION,_0x2df96d=getAppBaseUrl(_0x4e6ebe),_0x55de15=_0x51065e(0x1fe);if(_0x3055bd===_0x51065e(0x1d1))return _0x51065e(0x1dd)+_0x2586f7+_0x51065e(0x1b9)+_0x554ea3+_0x51065e(0x217)+_0x2df96d+_0x51065e(0x201)+_0x4e6ebe+_0x51065e(0x1ce)+_0x554ea3+_0x51065e(0x211)+_0x554ea3+_0x51065e(0x21f)+_0x55de15+'\x0a\x20*\x20[参数字段]\x20按实际输入为\x20params.<字段名>\x20补充\x20JSDoc\x20参数标签;无字段时仅保留根参数\x0a\x20*\x20[异常说明]\x20无;显式抛出异常时补充异常类型与触发条件\x0a\x20*\x0a\x20*\x20@param\x20{Object}\x20params\x20请求参数\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20TODO:\x20补充返回数据结构\x0a\x20*/\x0aexport\x20default\x20async\x20function\x20'+_0x554ea3+'(params,\x20context)\x20{\x0a\x20\x20return\x20params;\x0a}\x0a';if(_0x3055bd===_0x51065e(0x1cb))return'/**\x0a\x20*\x20'+_0x2586f7+'\x0a\x20*\x0a\x20*\x20[脚本类型]\x20ENDPOINT\x0a\x20*\x20[脚本名称]\x20'+_0x554ea3+_0x51065e(0x1ee)+_0x4e6ebe+'/'+_0x554ea3+_0x51065e(0x217)+_0x2df96d+_0x51065e(0x201)+_0x4e6ebe+_0x51065e(0x205)+_0x554ea3+_0x51065e(0x1cc)+_0x55de15+_0x51065e(0x1d9)+_0x554ea3+_0x51065e(0x202);if(!_0x5136fe)throw CliErrors[_0x51065e(0x21d)]('HOOK\x20requires\x20hookOptions\x20for\x20template\x20generation.');const _0x39a2b7=_0x5136fe[_0x51065e(0x1bf)]??_0x5136fe[_0x51065e(0x1e4)],_0x2cd838=_0x5136fe[_0x51065e(0x208)]===_0x51065e(0x1dc)?'当前请求参数':_0x51065e(0x1c0),_0x1018d5=_0x5136fe[_0x51065e(0x208)]==='before'?_0x51065e(0x1e7):_0x51065e(0x1ea);return'/**\x0a\x20*\x20'+_0x2586f7+_0x51065e(0x1d5)+_0x554ea3+_0x51065e(0x21e)+_0x4e6ebe+'/'+_0x5136fe[_0x51065e(0x1e4)]+'/'+_0x5136fe['operationType']+_0x51065e(0x217)+_0x2df96d+_0x51065e(0x200)+_0x5136fe[_0x51065e(0x1da)]+'#api-list\x0a\x20*\x20[本地路径]\x20.rabetbase/bff/'+_0x4e6ebe+_0x51065e(0x1ba)+_0x39a2b7+'/'+_0x5136fe['operationType']+'/'+_0x5136fe['functionNode']+'/'+_0x554ea3+_0x51065e(0x220)+_0x5136fe[_0x51065e(0x208)]+'\x0a'+_0x55de15+_0x51065e(0x1f9)+_0x2cd838+'\x0a\x20*\x20@param\x20{Object}\x20context\x20平台注入的执行上下文\x0a\x20*\x20@returns\x20{Promise<Object>}\x20'+_0x1018d5+_0x51065e(0x1b8)+_0x554ea3+_0x51065e(0x202);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a32_0x3fd33e=a32_0x5b3d;(function(_0x5cfcc7,_0xc8efd8){const _0x3f6d63=a32_0x5b3d,_0x2c7ef5=_0x5cfcc7();while(!![]){try{const _0x377e11=-parseInt(_0x3f6d63(0x9e))/0x1+parseInt(_0x3f6d63(0x90))/0x2*(parseInt(_0x3f6d63(0x7a))/0x3)+parseInt(_0x3f6d63(0x91))/0x4+parseInt(_0x3f6d63(0x8f))/0x5*(-parseInt(_0x3f6d63(0x7c))/0x6)+-parseInt(_0x3f6d63(0x86))/0x7+parseInt(_0x3f6d63(0xa1))/0x8+-parseInt(_0x3f6d63(0x9d))/0x9*(-parseInt(_0x3f6d63(0x98))/0xa);if(_0x377e11===_0xc8efd8)break;else _0x2c7ef5['push'](_0x2c7ef5['shift']());}catch(_0x170ac7){_0x2c7ef5['push'](_0x2c7ef5['shift']());}}}(a32_0x1439,0x2a62a));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteBffScript}from'../../core/api-client.js';function a32_0x5b3d(_0x4af1e8,_0xf634ac){_0x4af1e8=_0x4af1e8-0x7a;const _0x143992=a32_0x1439();let _0x5b3ddd=_0x143992[_0x4af1e8];return _0x5b3ddd;}import{loadBffProjectConfig}from'../../core/bff/config.js';function a32_0x1439(){const _0x123116=['\x20\x20-\x20','target','appCode','360hlktUc','\x22\x20not\x20found\x20after\x20ensureLockScope.','map','Would\x20delete\x20','trashDir','121761EVYUuI','223768udClFZ','Multiple\x20functions\x20match\x20\x22','scriptsRootDir','1271672YbGMyg','high-risk-write','Deleted\x20','replace','str','includes','projectRoot','No\x20lock\x20entry\x20found\x20for\x20\x22','Delete\x20a\x20Backend\x20Function\x20script\x20from\x20remote\x20and\x20local','scriptsRoot','7461JhPcXQ','toISOString','1467834OOvdKJ','find','Lock\x20key\x20(e.g.\x20ENDPOINT/createOrder)\x20or\x20short\x20function\x20name','Function\x20not\x20found:\x20','remoteId','join','trashedTo','length','<timestamp>','functions','2397234MKFPQm','Backend\x20Function\x20lock\x20file\x20not\x20found.','delete','lockFilePath','Backend\x20Function\x20lock\x20file\x20not\x20found.\x20Run\x20`push`\x20or\x20`pull`\x20first\x20to\x20initialize\x20sync\x20state.','stringify','keys','filter','Lock\x20scope\x20for\x20app\x20\x22','5YfRMpG','176KFPxHw','478480REZVVG','apps','validation','\x20(local\x20file\x20moved\x20to\x20trash)'];a32_0x1439=function(){return _0x123116;};return a32_0x1439();}import{fileExists,resolveLocalFilePathFromLockKey}from'../../core/bff/file-system.js';import{ensureLockScope,readBffLockFile,writeBffLockFile}from'../../core/bff/lock.js';import{CliErrors}from'../../errors.js';import{sleep}from'../../utils/sleep.js';export const bffDelete={'service':'bff','command':'delete','description':a32_0x3fd33e(0xa9),'risk':a32_0x3fd33e(0xa2),'flags':[{'name':'target','type':'string','required':!![],'description':a32_0x3fd33e(0x7e)}],async 'validate'(_0x40f983){const _0x25672e=a32_0x3fd33e,_0xbcf5e4=loadBffProjectConfig(_0x40f983[_0x25672e(0x97)]),_0xdb9af8=await readBffLockFile(_0xbcf5e4[_0x25672e(0x89)]);if(!_0xdb9af8)throw CliErrors[_0x25672e(0x93)](_0x25672e(0x8a));},async 'dryRun'(_0x1f8a4c){const _0x419389=a32_0x3fd33e,_0xa07d6=loadBffProjectConfig(_0x1f8a4c['appCode']),_0x5e3136=await readBffLockFile(_0xa07d6['lockFilePath']);if(!_0x5e3136)throw CliErrors[_0x419389(0x93)]('Backend\x20Function\x20lock\x20file\x20not\x20found.');const {appLock:_0x1cba53}=ensureLockScope(_0x5e3136,_0x1f8a4c['appCode'],_0xa07d6[_0x419389(0xaa)],'delete'),_0x8d9f8=_0x1f8a4c[_0x419389(0xa5)]('target'),_0x5e1461=Object[_0x419389(0x8c)](_0x1cba53[_0x419389(0x85)]),_0x23d0c0=resolveDeleteTarget(_0x8d9f8,_0x5e1461),_0x45d0bf=_0x1cba53[_0x419389(0x85)][_0x23d0c0];if(!_0x45d0bf)throw CliErrors[_0x419389(0x93)](_0x419389(0xa8)+_0x23d0c0+'\x22.');const _0xd7c448=resolveLocalFilePathFromLockKey(_0xa07d6,_0x23d0c0),_0x48edad=relative(_0xa07d6[_0x419389(0xa7)],_0xd7c448),_0x399e41=join(_0xa07d6[_0x419389(0x9c)],_0x419389(0x84),_0x48edad);return{'method':'POST','url':'/api/management/library/scripts/delete','body':{'appCode':_0x1f8a4c['appCode'],'target':_0x23d0c0,'remoteId':_0x45d0bf[_0x419389(0x80)],'localFilePath':_0xd7c448,'trashedPath':_0x399e41},'description':_0x419389(0x9b)+_0x23d0c0+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20trash'};},async 'execute'(_0x3a966b){const _0x323a13=a32_0x3fd33e,_0x7524ff=loadBffProjectConfig(_0x3a966b['appCode']),_0x1ab19e=await readBffLockFile(_0x7524ff['lockFilePath']);if(!_0x1ab19e)throw CliErrors[_0x323a13(0x93)](_0x323a13(0x87));const {lockData:_0x1e61d0,appLock:_0x24abcd}=ensureLockScope(_0x1ab19e,_0x3a966b[_0x323a13(0x97)],_0x7524ff[_0x323a13(0xaa)],_0x323a13(0x88)),_0x3e3470=JSON['parse'](JSON[_0x323a13(0x8b)](_0x1e61d0)),_0xd647be=_0x3e3470[_0x323a13(0x92)][_0x3a966b[_0x323a13(0x97)]];if(!_0xd647be)throw new Error(_0x323a13(0x8e)+_0x3a966b[_0x323a13(0x97)]+_0x323a13(0x99));const _0x28f757=_0x3a966b['str'](_0x323a13(0x96)),_0xa400a=Object[_0x323a13(0x8c)](_0xd647be[_0x323a13(0x85)]),_0x48499f=resolveDeleteTarget(_0x28f757,_0xa400a),_0x2ea856=_0xd647be['functions'][_0x48499f];if(!_0x2ea856)throw CliErrors[_0x323a13(0x93)]('No\x20lock\x20entry\x20found\x20for\x20\x22'+_0x48499f+'\x22.');await deleteBffScript(_0x2ea856[_0x323a13(0x80)]),delete _0xd647be['functions'][_0x48499f],_0xd647be['lastSync']=new Date()['toISOString'](),await writeBffLockFile(_0x7524ff[_0x323a13(0x89)],_0x3e3470);const _0x3e6df2=resolveLocalFilePathFromLockKey(_0x7524ff,_0x48499f);let _0x43d023;await fileExists(_0x3e6df2)&&(_0x43d023=await moveToTrash(_0x7524ff['projectRoot'],_0x7524ff[_0x323a13(0x9c)],_0x3e6df2),await cleanupEmptyDirectories(dirname(_0x3e6df2),_0x7524ff[_0x323a13(0xa0)]));await waitForDeleteSettlement(_0x7524ff[_0x323a13(0x89)],_0x3a966b[_0x323a13(0x97)],_0x48499f,_0x3e6df2),await sleep(0x96);const _0x138d1c={'deleted':_0x48499f,'remoteId':_0x2ea856[_0x323a13(0x80)]};if(_0x43d023)_0x138d1c[_0x323a13(0x82)]=_0x43d023;return{'ok':!![],'data':_0x138d1c,'message':_0x323a13(0xa3)+_0x48499f+(_0x43d023?_0x323a13(0x94):'')};}};function resolveDeleteTarget(_0x5416b0,_0x479d2a){const _0x42b69b=a32_0x3fd33e;if(_0x5416b0[_0x42b69b(0xa6)]('/')){const _0x22d5ac=_0x479d2a[_0x42b69b(0x7d)](_0x23adef=>_0x23adef===_0x5416b0);if(!_0x22d5ac)throw CliErrors[_0x42b69b(0x93)](_0x42b69b(0x7f)+_0x5416b0);return _0x22d5ac;}const _0x2b9ee1=_0x479d2a[_0x42b69b(0x8d)](_0x2f831f=>_0x2f831f['split']('/')['at'](-0x1)===_0x5416b0);if(_0x2b9ee1[_0x42b69b(0x83)]===0x0)throw CliErrors['validation'](_0x42b69b(0x7f)+_0x5416b0);if(_0x2b9ee1[_0x42b69b(0x83)]>0x1)throw CliErrors['validation'](_0x42b69b(0x9f)+_0x5416b0+'\x22.\x20Use\x20the\x20full\x20lock\x20key:\x0a'+_0x2b9ee1[_0x42b69b(0x9a)](_0x3fd44a=>_0x42b69b(0x95)+_0x3fd44a)[_0x42b69b(0x81)]('\x0a'));return _0x2b9ee1[0x0];}async function moveToTrash(_0x4262fc,_0x2e45f5,_0x341e9a){const _0x1057bf=a32_0x3fd33e,_0x89c749=new Date()[_0x1057bf(0x7b)]()[_0x1057bf(0xa4)](/[:.]/g,'-'),_0x47db27=relative(_0x4262fc,_0x341e9a),_0x6b19ab=join(_0x2e45f5,_0x89c749,_0x47db27);return await mkdir(dirname(_0x6b19ab),{'recursive':!![]}),await rename(_0x341e9a,_0x6b19ab),_0x6b19ab;}async function cleanupEmptyDirectories(_0x68b72,_0x81b2f6){let _0xb3a330=resolve(_0x68b72);const _0x4a81d9=resolve(_0x81b2f6);while(_0xb3a330['startsWith'](''+_0x4a81d9+sep)||_0xb3a330===_0x4a81d9){if(_0xb3a330===_0x4a81d9)return;try{const _0x3a61a6=await readdir(_0xb3a330);if(_0x3a61a6['length']>0x0)return;await rmdir(_0xb3a330);}catch{return;}_0xb3a330=dirname(_0xb3a330);}}const DELETE_SETTLE_RETRY_COUNT=0x14,DELETE_SETTLE_DELAY_MS=0x64;async function waitForDeleteSettlement(_0x13bb08,_0x380346,_0x4ab62b,_0x1cd898){const _0x1581a9=a32_0x3fd33e;for(let _0x1ea0f9=0x0;_0x1ea0f9<DELETE_SETTLE_RETRY_COUNT;_0x1ea0f9+=0x1){const _0x14ec16=await readBffLockFile(_0x13bb08),_0x41d560=!!_0x14ec16?.[_0x1581a9(0x92)]?.[_0x380346]?.[_0x1581a9(0x85)]?.[_0x4ab62b],_0x2cd078=await fileExists(_0x1cd898);if(!_0x41d560&&!_0x2cd078)return;await sleep(DELETE_SETTLE_DELAY_MS);}throw new Error('Local\x20delete\x20not\x20settled\x20for\x20'+_0x4ab62b+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a33_0x47ef(){const _0x445841=['appCode','125910dQZDhK','description','1616103YmapcK','1224130pMEorj','updatedTime','Script\x20ID','Return\x20full\x20raw\x20script\x20object','7974KrJJBF','bff','functionName','(none)','updateUserName','detail','2384rcwlHw','2254490NLYkBO','Get\x20Backend\x20Function\x20script\x20details\x20by\x20ID','createdTime','bool','6020NISzyq','4044132EgZOfe','719743KTIFlP','scriptContent','verbose','num'];a33_0x47ef=function(){return _0x445841;};return a33_0x47ef();}const a33_0x39827f=a33_0x249f;(function(_0x6eb12c,_0x5d536d){const _0x447fc1=a33_0x249f,_0x16607c=_0x6eb12c();while(!![]){try{const _0x4920a1=-parseInt(_0x447fc1(0x80))/0x1+-parseInt(_0x447fc1(0x88))/0x2+parseInt(_0x447fc1(0x87))/0x3+-parseInt(_0x447fc1(0x7f))/0x4+-parseInt(_0x447fc1(0x93))/0x5+parseInt(_0x447fc1(0x8c))/0x6*(-parseInt(_0x447fc1(0x7e))/0x7)+parseInt(_0x447fc1(0x92))/0x8*(parseInt(_0x447fc1(0x85))/0x9);if(_0x4920a1===_0x5d536d)break;else _0x16607c['push'](_0x16607c['shift']());}catch(_0x17dae2){_0x16607c['push'](_0x16607c['shift']());}}}(a33_0x47ef,0xbc3e2));function a33_0x249f(_0x432b6d,_0x11e078){_0x432b6d=_0x432b6d-0x7b;const _0x47ef01=a33_0x47ef();let _0x249fc2=_0x47ef01[_0x432b6d];return _0x249fc2;}import{getBffScriptInfo}from'../../core/api-client.js';export const bffDetail={'service':a33_0x39827f(0x8d),'command':a33_0x39827f(0x91),'description':a33_0x39827f(0x7b),'risk':'read','flags':[{'name':'id','type':'number','required':!![],'description':a33_0x39827f(0x8a)},{'name':a33_0x39827f(0x82),'type':'boolean','description':a33_0x39827f(0x8b)}],async 'execute'(_0x3fc52e){const _0x14ce9c=a33_0x39827f,_0x26f465=await getBffScriptInfo(_0x3fc52e[_0x14ce9c(0x83)]('id')),_0x3a361c=_0x3fc52e[_0x14ce9c(0x7d)]('verbose');if(_0x3a361c)return{'ok':!![],'data':_0x26f465};return{'ok':!![],'data':{'id':_0x26f465['id'],'functionName':_0x26f465[_0x14ce9c(0x8e)]??'','version':_0x26f465['version']??'','updateUserName':_0x26f465[_0x14ce9c(0x90)]??'','appCode':_0x26f465[_0x14ce9c(0x84)],'scriptType':_0x26f465['scriptType'],'description':_0x26f465[_0x14ce9c(0x86)]||_0x14ce9c(0x8f),'createdTime':_0x26f465[_0x14ce9c(0x7c)]??'','updatedTime':_0x26f465[_0x14ce9c(0x89)]??'','scriptContent':_0x26f465[_0x14ce9c(0x81)]??''}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x140867,_0x12cad9){const _0x1367e0=a34_0x117e,_0x402497=_0x140867();while(!![]){try{const _0xd9fabd=-parseInt(_0x1367e0(0x18a))/0x1+-parseInt(_0x1367e0(0x18c))/0x2+-parseInt(_0x1367e0(0x18b))/0x3*(-parseInt(_0x1367e0(0x18e))/0x4)+-parseInt(_0x1367e0(0x18f))/0x5+parseInt(_0x1367e0(0x190))/0x6*(parseInt(_0x1367e0(0x191))/0x7)+-parseInt(_0x1367e0(0x189))/0x8+-parseInt(_0x1367e0(0x192))/0x9*(-parseInt(_0x1367e0(0x18d))/0xa);if(_0xd9fabd===_0x12cad9)break;else _0x402497['push'](_0x402497['shift']());}catch(_0x5253c5){_0x402497['push'](_0x402497['shift']());}}}(a34_0x1af3,0xed6a9));import{bffList}from'../../commands/bff/list.js';function a34_0x117e(_0x40f136,_0x1c7c58){_0x40f136=_0x40f136-0x189;const _0x1af35d=a34_0x1af3();let _0x117eb5=_0x1af35d[_0x40f136];return _0x117eb5;}function a34_0x1af3(){const _0x3e621b=['70IpmQYO','9597933pcPsOp','7967384YDRVRA','458768AJHxjT','9yzYVSJ','2566962tJYlfd','30jxCMpF','952740dHpOMs','8229035CmiIuw','865542xSLBgJ'];a34_0x1af3=function(){return _0x3e621b;};return a34_0x1af3();}import{bffDetail}from'../../commands/bff/detail.js';import{bffStatus}from'../../commands/bff/status.js';import{bffCreate}from'../../commands/bff/create.js';import{bffPush}from'../../commands/bff/push.js';import{bffPull}from'../../commands/bff/pull.js';import{bffDelete}from'../../commands/bff/delete.js';export const bffDefinitions=[bffList,bffDetail,bffStatus,bffCreate,bffPush,bffPull,bffDelete];
|