@lovrabet/lovrabet-cli 2.3.1-beta.4 → 2.3.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.d.ts +1 -2
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.d.ts +0 -3
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.d.ts +2 -0
- 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/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.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/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.d.ts +6 -14
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.d.ts +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.d.ts +0 -3
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +5 -10
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.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/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.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/generated/official-routing.d.ts +1 -5
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.d.ts +3 -7
- package/lib/generated/routing-contract.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/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +4 -4
- package/skills/lovrabet/guides/role-and-permission-workflow.md +6 -4
- package/skills/lovrabet/references/lovrabet-config-commands.md +7 -11
- package/skills/lovrabet/references/lovrabet-config.md +2 -3
- package/skills/lovrabet/references/lovrabet-doctor.md +1 -1
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +1 -1
- package/skills/lovrabet/references/lovrabet-notification-config-list.md +2 -8
- package/skills/lovrabet.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a40_0x17aa56=a40_0x1049;(function(_0x2d821c,_0x27d799){const _0x10eddc=a40_0x1049,_0x46c2ff=_0x2d821c();while(!![]){try{const _0x100038=-parseInt(_0x10eddc(0x1d0))/0x1*(parseInt(_0x10eddc(0x1e7))/0x2)+-parseInt(_0x10eddc(0x1fe))/0x3*(parseInt(_0x10eddc(0x1f2))/0x4)+-parseInt(_0x10eddc(0x1ce))/0x5*(-parseInt(_0x10eddc(0x1ec))/0x6)+-parseInt(_0x10eddc(0x1fd))/0x7+-parseInt(_0x10eddc(0x1d9))/0x8*(-parseInt(_0x10eddc(0x1c3))/0x9)+parseInt(_0x10eddc(0x1be))/0xa*(parseInt(_0x10eddc(0x1e6))/0xb)+-parseInt(_0x10eddc(0x1d4))/0xc;if(_0x100038===_0x27d799)break;else _0x46c2ff['push'](_0x46c2ff['shift']());}catch(_0x5147f6){_0x46c2ff['push'](_0x46c2ff['shift']());}}}(a40_0x4e2d,0x8b7ce));import{listRuntimeDatasetRolePermits,listRuntimePermitRoles,saveRuntimeDatasetRolePermits}from'../../core/api-client.js';function a40_0x1049(_0x1486c4,_0x510560){_0x1486c4=_0x1486c4-0x1bd;const _0x4e2d1b=a40_0x4e2d();let _0x104920=_0x4e2d1b[_0x1486c4];return _0x104920;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,GRANT_FLAG,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const DATA_ACTIONS=[a40_0x17aa56(0x1c8),a40_0x17aa56(0x1e0),a40_0x17aa56(0x1bf),a40_0x17aa56(0x1dc),a40_0x17aa56(0x1f4),a40_0x17aa56(0x1c9)],DATASETS_FLAG={'name':a40_0x17aa56(0x1bd),'type':a40_0x17aa56(0x1d3),'required':!![],'description':a40_0x17aa56(0x1c1)},ACTIONS_FLAG={'name':a40_0x17aa56(0x1d2),'type':a40_0x17aa56(0x1d3),'required':!![],'description':a40_0x17aa56(0x1ef)+DATA_ACTIONS[a40_0x17aa56(0x1d1)](',\x20')};function a40_0x4e2d(){const _0x458393=['DATA_UPDATE','Grants\x20or\x20revokes\x20the\x20target\x20role\x20permission\x20for\x20the\x20given\x20dataset\x20actions.\x20Data\x20operations\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','datasetCodes','/client/permit/resource/batch-save-dataset','datasetCode','roles','15829ggWBGf','13786rFpXPS','\x20does\x20not\x20expose\x20','\x20selected\x20runtime\x20dataset\x20actions','high-risk-write','warnings','92424fdCnnQ','map','--actions','Comma-separated\x20actions:\x20','\x20was\x20not\x20found.','body','746888XPEafV','changed','DATA_EXPORT','permitId','Runtime\x20dataset\x20','dataset-set','length','POST','bool','build','permitList','6198360xarYzG','6sjcPCj','filter','after','operation','datasets','6730PdaCVF','DATA_DELETE','revoke','Comma-separated\x20runtime\x20dataset\x20codes','Grant\x20or\x20revoke\x20selected\x20runtime\x20dataset\x20actions\x20for\x20one\x20role','27QwufXT','grant','find','before','role','DATA_CREATE','DATA_ROW','rolePermit','permit','dataPermitList','Invalid\x20dataset\x20actions:\x20','230ICUZVr','dataset-','19LHKeZO','join','actions','string','7684596sAAQoR','push','resourceType','str','\x20for\x20role\x20','2465560cJHACs','description','--datasets','DATA_DETAIL','appCode','validation','Dataset\x20'];a40_0x4e2d=function(){return _0x458393;};return a40_0x4e2d();}async function prepare(_0xaf359e){const _0x12707d=a40_0x17aa56;await assertRuntimePermissionManager(_0xaf359e[_0x12707d(0x1dd)]);const _0x249b33=assertGrantOrRevoke(_0xaf359e[_0x12707d(0x1fa)](_0x12707d(0x1c4)),_0xaf359e['bool'](_0x12707d(0x1c0))),_0x5743a0=await resolveRuntimeRoleRef(_0xaf359e[_0x12707d(0x1dd)],_0xaf359e[_0x12707d(0x1d7)]('role'));assertRuntimePermitRoleConfigurable(_0x5743a0);const _0x18945d=splitRefs(_0xaf359e[_0x12707d(0x1d7)](_0x12707d(0x1bd)),_0x12707d(0x1db)),_0xe1740b=[...new Set(splitRefs(_0xaf359e[_0x12707d(0x1d7)](_0x12707d(0x1d2)),_0x12707d(0x1ee))[_0x12707d(0x1ed)](_0x215f4e=>_0x215f4e['toUpperCase']()))],_0x24e216=_0xe1740b[_0x12707d(0x1ff)](_0x53dd94=>!DATA_ACTIONS['includes'](_0x53dd94));if(_0x24e216[_0x12707d(0x1f8)]>0x0)throw CliErrors['validation'](_0x12707d(0x1cd)+_0x24e216[_0x12707d(0x1d1)](',\x20')+'.');const _0x1c903e=await listRuntimeDatasetRolePermits(_0xaf359e[_0x12707d(0x1dd)]),_0x545f54=await listRuntimePermitRoles(_0xaf359e['appCode']),_0x5d75dd=[],_0x3e796f=[],_0x323a49=[],_0x52aa53=[];for(const _0x57191d of _0x18945d){const _0x52ed0f=_0x1c903e['find'](_0x27c875=>_0x27c875[_0x12707d(0x1e4)]===_0x57191d);if(!_0x52ed0f)throw CliErrors[_0x12707d(0x1de)](_0x12707d(0x1f6)+_0x57191d+_0x12707d(0x1f0));for(const _0x496992 of _0xe1740b){const _0x384ae4=_0x52ed0f[_0x12707d(0x1cc)][_0x12707d(0x1c5)](_0x5a5683=>_0x5a5683[_0x12707d(0x1d6)]===_0x496992);if(!_0x384ae4)throw CliErrors[_0x12707d(0x1de)](_0x12707d(0x1df)+_0x57191d+_0x12707d(0x1e8)+_0x496992+'.');const _0x22d0c0=applyRuntimeRolePermission(_0x384ae4[_0x12707d(0x1ca)],_0x5743a0,_0x545f54,_0x249b33);_0x3e796f['push']({'datasetCode':_0x57191d,'resourceType':_0x496992,'rolePermit':_0x384ae4[_0x12707d(0x1ca)]}),_0x323a49[_0x12707d(0x1d5)]({'datasetCode':_0x57191d,'resourceType':_0x496992,'rolePermit':_0x22d0c0[_0x12707d(0x1e5)]}),_0x22d0c0[_0x12707d(0x1f3)]?_0x5d75dd[_0x12707d(0x1d5)]({..._0x384ae4[_0x12707d(0x1f5)]!=null?{'id':_0x384ae4[_0x12707d(0x1f5)]}:{},'appCode':_0xaf359e[_0x12707d(0x1dd)],'resourceCode':_0x57191d,'resourceType':_0x496992,'resourceName':_0x384ae4['resourceName'],'rolePermit':_0x22d0c0[_0x12707d(0x1e5)]}):_0x52aa53['push'](_0x57191d+'/'+_0x496992+'\x20already\x20reflects\x20'+_0x249b33+_0x12707d(0x1d8)+_0x5743a0['id']+'.');}}return{'operation':_0x249b33,'role':_0x5743a0,'datasetCodes':_0x18945d,'actions':_0xe1740b,'permitList':_0x5d75dd,'before':_0x3e796f,'after':_0x323a49,'warnings':_0x52aa53};}export const permitDatasetSet={'service':a40_0x17aa56(0x1cb),'command':a40_0x17aa56(0x1f7),'description':a40_0x17aa56(0x1c2),'risk':a40_0x17aa56(0x1ea),'confirmationDescription':a40_0x17aa56(0x1e1),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,DATASETS_FLAG,ACTIONS_FLAG],async 'validate'(_0x4dd50c){const _0x590e6e=a40_0x17aa56;assertGrantOrRevoke(_0x4dd50c[_0x590e6e(0x1fa)](_0x590e6e(0x1c4)),_0x4dd50c['bool'](_0x590e6e(0x1c0)));},async 'dryRun'(_0x132b67){const _0x47cf30=a40_0x17aa56,_0x13de84=await prepare(_0x132b67);return dryRun('POST','/client/permit/resource/batch-save-dataset')[_0x47cf30(0x1f1)]({'appCode':_0x132b67['appCode'],'permitList':_0x13de84['permitList']})[_0x47cf30(0x1da)]('Preview:\x20'+_0x13de84[_0x47cf30(0x201)]+_0x47cf30(0x1e9))[_0x47cf30(0x1fb)]();},async 'execute'(_0x2c28a5){const _0x5d6c9a=a40_0x17aa56,_0x3d6fe2=await prepare(_0x2c28a5);return _0x3d6fe2[_0x5d6c9a(0x1fc)]['length']>0x0&&await saveRuntimeDatasetRolePermits(_0x2c28a5[_0x5d6c9a(0x1dd)],_0x3d6fe2[_0x5d6c9a(0x1fc)]),{'ok':!![],'data':runtimePermitWriteResult(_0x5d6c9a(0x1cf)+_0x3d6fe2[_0x5d6c9a(0x201)],{'roleId':_0x3d6fe2[_0x5d6c9a(0x1c7)]['id'],'datasetCodes':_0x3d6fe2[_0x5d6c9a(0x1e2)],'actions':_0x3d6fe2[_0x5d6c9a(0x1d2)]},_0x3d6fe2[_0x5d6c9a(0x1c6)],_0x3d6fe2[_0x5d6c9a(0x200)],{'method':_0x5d6c9a(0x1f9),'path':_0x5d6c9a(0x1e3)},_0x3d6fe2[_0x5d6c9a(0x1eb)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5bfa51,_0x409a6b){const _0x15947b=a41_0x5489,_0x207e92=_0x5bfa51();while(!![]){try{const _0x2224cf=-parseInt(_0x15947b(0xc7))/0x1*(-parseInt(_0x15947b(0xcd))/0x2)+parseInt(_0x15947b(0xc8))/0x3+-parseInt(_0x15947b(0xcb))/0x4*(-parseInt(_0x15947b(0xd1))/0x5)+parseInt(_0x15947b(0xcf))/0x6+parseInt(_0x15947b(0xd0))/0x7*(parseInt(_0x15947b(0xce))/0x8)+-parseInt(_0x15947b(0xc9))/0x9+-parseInt(_0x15947b(0xca))/0xa*(parseInt(_0x15947b(0xcc))/0xb);if(_0x2224cf===_0x409a6b)break;else _0x207e92['push'](_0x207e92['shift']());}catch(_0x5c1956){_0x207e92['push'](_0x207e92['shift']());}}}(a41_0x27c4,0x95ed0));import{permitPageGet}from'../../commands/permit/page-get.js';import{permitPageSet}from'../../commands/permit/page-set.js';import{permitRoleMenus}from'../../commands/permit/role-menus.js';import{permitRoleMenusSet}from'../../commands/permit/role-menus-set.js';import{permitDatasetGet}from'../../commands/permit/dataset-get.js';import{permitDatasetSet}from'../../commands/permit/dataset-set.js';function a41_0x27c4(){const _0x2fb960=['11yhjLhb','1008638JyDsMX','27440CbwWqm','3440928BhtkaT','1694ujJDyb','38795IgEwFY','1UxPlAq','450219WSoczS','4261662zphLPL','18626110GIZRgS','460sXTyrC'];a41_0x27c4=function(){return _0x2fb960;};return a41_0x27c4();}function a41_0x5489(_0x3435dc,_0x536dc8){_0x3435dc=_0x3435dc-0xc7;const _0x27c424=a41_0x27c4();let _0x548913=_0x27c424[_0x3435dc];return _0x548913;}export const permitDefinitions=[permitPageGet,permitPageSet,permitRoleMenus,permitRoleMenusSet,permitDatasetGet,permitDatasetSet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a42_0x2a77(_0x1250bc,_0x426ac7){_0x1250bc=_0x1250bc-0xe4;const _0xce2cda=a42_0xce2c();let _0x2a7750=_0xce2cda[_0x1250bc];return _0x2a7750;}const a42_0x5838b8=a42_0x2a77;(function(_0x6b5035,_0x43f93b){const _0x5da16a=a42_0x2a77,_0xa8accb=_0x6b5035();while(!![]){try{const _0x540856=parseInt(_0x5da16a(0xec))/0x1*(-parseInt(_0x5da16a(0xe4))/0x2)+-parseInt(_0x5da16a(0xe6))/0x3+parseInt(_0x5da16a(0xe5))/0x4*(-parseInt(_0x5da16a(0xea))/0x5)+-parseInt(_0x5da16a(0xee))/0x6*(parseInt(_0x5da16a(0xe7))/0x7)+-parseInt(_0x5da16a(0xed))/0x8+parseInt(_0x5da16a(0xe9))/0x9+parseInt(_0x5da16a(0xf3))/0xa;if(_0x540856===_0x43f93b)break;else _0xa8accb['push'](_0xa8accb['shift']());}catch(_0x674d98){_0xa8accb['push'](_0xa8accb['shift']());}}}(a42_0xce2c,0x254cb));function a42_0xce2c(){const _0x5e2eaf=['menu-id','num','page-get','runtime','7720910CNhsfK','6tviIoq','16OJdokU','758019YkdmBP','1739717mkRYeh','read','2555055VwPqkZ','42260IuUfxq','Get\x20runtime\x20page\x20permission\x20slots\x20by\x20menu\x20ID','93177JrzXHi','709312zvyavO','6mkHIBn'];a42_0xce2c=function(){return _0x5e2eaf;};return a42_0xce2c();}import{getRuntimePagePermit}from'../../core/api-client.js';import{MENU_ID_FLAG,projectRuntimePagePermit}from'../../commands/permit/shared.js';export const permitPageGet={'service':'permit','command':a42_0x5838b8(0xf1),'description':a42_0x5838b8(0xeb),'risk':a42_0x5838b8(0xe8),'flags':[MENU_ID_FLAG],async 'execute'(_0x4b1916){const _0x5d0d73=a42_0x5838b8,_0x3e7169=await getRuntimePagePermit(_0x4b1916[_0x5d0d73(0xf0)](_0x5d0d73(0xef)));return{'ok':!![],'data':{'scope':_0x5d0d73(0xf2),'page':projectRuntimePagePermit(_0x3e7169)}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a43_0x46514c=a43_0x8b76;(function(_0x5ea149,_0x1eadfc){const _0xd1e231=a43_0x8b76,_0x528805=_0x5ea149();while(!![]){try{const _0x575c3a=parseInt(_0xd1e231(0x1ea))/0x1*(parseInt(_0xd1e231(0x1df))/0x2)+parseInt(_0xd1e231(0x1e7))/0x3*(-parseInt(_0xd1e231(0x1ed))/0x4)+parseInt(_0xd1e231(0x1e3))/0x5+-parseInt(_0xd1e231(0x1d8))/0x6*(parseInt(_0xd1e231(0x1d6))/0x7)+parseInt(_0xd1e231(0x1da))/0x8*(parseInt(_0xd1e231(0x1ee))/0x9)+parseInt(_0xd1e231(0x1ef))/0xa+parseInt(_0xd1e231(0x1d5))/0xb*(-parseInt(_0xd1e231(0x1f0))/0xc);if(_0x575c3a===_0x1eadfc)break;else _0x528805['push'](_0x528805['shift']());}catch(_0x16e063){_0x528805['push'](_0x528805['shift']());}}}(a43_0x5540,0x51dfb));import{getRuntimePagePermit,saveRuntimePagePermit}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a43_0x5540(){const _0x539a7d=['flag','page','2457620gksuvg','1899ArhNwi','4513950PFvMJm','12240PhLlEI','Changes\x20role\x20permission\x20slots\x20on\x20the\x20given\x20runtime\x20page.\x20Unauthorized\x20users\x20may\x20be\x20unable\x20to\x20view\x20the\x20page\x20or\x20run\x20data\x20operations.','permit','Menu\x20','slots','page-set','POST','join','high-risk-write','body','Preview:\x20update\x20page\x20permission\x20slots\x20','1826qhHQWD','14cpPvJv','menuId','1113162HuuhaS','\x20does\x20not\x20belong\x20to\x20app\x20','13512mMOEdw','rolePermit','build','key','appCode','8KBlqoc','before','Page\x20menu\x20','push','2322280KrhPXO','Pass\x20at\x20least\x20one\x20page\x20role\x20flag\x20to\x20update.','Set\x20selected\x20runtime\x20page\x20permission\x20slots','num','3VzyzAB','validation','length','54476UDufgC'];a43_0x5540=function(){return _0x539a7d;};return a43_0x5540();}import{assertRuntimePermissionManager,MENU_ID_FLAG,PAGE_ROLE_FLAGS,PAGE_SLOT_SPECS,projectRuntimePagePermit,resolveRuntimePermitRoles,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';async function prepare(_0x3c86a3){const _0x48f92b=a43_0x8b76;await assertRuntimePermissionManager(_0x3c86a3[_0x48f92b(0x1de)]);const _0x13f0b0=_0x3c86a3[_0x48f92b(0x1e6)]('menu-id'),_0x2ccfdf=await getRuntimePagePermit(_0x13f0b0);if(_0x2ccfdf['appCode']&&_0x2ccfdf[_0x48f92b(0x1de)]!==_0x3c86a3[_0x48f92b(0x1de)])throw CliErrors[_0x48f92b(0x1e8)](_0x48f92b(0x1f3)+_0x13f0b0+_0x48f92b(0x1d9)+_0x3c86a3[_0x48f92b(0x1de)]+'.');const _0x1a70c9=structuredClone(_0x2ccfdf),_0x235d1b=[];for(const _0x2c925a of PAGE_SLOT_SPECS){if(_0x3c86a3[_0x48f92b(0x1eb)](_0x2c925a['flag'])===undefined)continue;const _0xe9c773=_0x2ccfdf[_0x2c925a[_0x48f92b(0x1dd)]];if(!_0xe9c773)throw CliErrors[_0x48f92b(0x1e8)](_0x48f92b(0x1e1)+_0x13f0b0+'\x20does\x20not\x20expose\x20'+_0x2c925a['key']+'.');_0xe9c773[_0x48f92b(0x1db)]=await resolveRuntimePermitRoles(_0x3c86a3[_0x48f92b(0x1de)],splitRefs(_0x3c86a3['str'](_0x2c925a['flag']),'--'+_0x2c925a['flag']),_0x2c925a['allowSelf']),_0x235d1b[_0x48f92b(0x1e2)](_0x2c925a[_0x48f92b(0x1dd)]);}if(_0x235d1b[_0x48f92b(0x1e9)]===0x0)throw CliErrors['validation'](_0x48f92b(0x1e4));return{'menuId':_0x13f0b0,'page':_0x2ccfdf,'before':_0x1a70c9,'slots':_0x235d1b};}function a43_0x8b76(_0x193b50,_0x3f41dd){_0x193b50=_0x193b50-0x1d4;const _0x5540c1=a43_0x5540();let _0x8b7608=_0x5540c1[_0x193b50];return _0x8b7608;}export const permitPageSet={'service':a43_0x46514c(0x1f2),'command':a43_0x46514c(0x1f5),'description':a43_0x46514c(0x1e5),'risk':a43_0x46514c(0x1f8),'confirmationDescription':a43_0x46514c(0x1f1),'flags':[MENU_ID_FLAG,...PAGE_ROLE_FLAGS],async 'dryRun'(_0x17a488){const _0x4eff80=a43_0x46514c,_0x47f558=await prepare(_0x17a488);return dryRun(_0x4eff80(0x1f6),'/client/permit/page/save')[_0x4eff80(0x1f9)](_0x47f558['page'])['description'](_0x4eff80(0x1d4)+_0x47f558[_0x4eff80(0x1f4)][_0x4eff80(0x1f7)](',\x20'))[_0x4eff80(0x1dc)]();},async 'execute'(_0x47b3f6){const _0x3fe6c5=a43_0x46514c,_0x400cbd=await prepare(_0x47b3f6),_0x3d898e=await saveRuntimePagePermit(_0x400cbd[_0x3fe6c5(0x1ec)]);return{'ok':!![],'data':runtimePermitWriteResult(_0x3fe6c5(0x1f5),{'menuId':_0x400cbd[_0x3fe6c5(0x1d7)],'slots':_0x400cbd[_0x3fe6c5(0x1f4)]},projectRuntimePagePermit(_0x400cbd[_0x3fe6c5(0x1e0)]),projectRuntimePagePermit(_0x3d898e),{'method':'POST','path':'/client/permit/page/save'})};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a44_0x787a7b=a44_0x2961;(function(_0x4ff2e0,_0x316d17){const _0x301db0=a44_0x2961,_0x35d34f=_0x4ff2e0();while(!![]){try{const _0x5bad3e=parseInt(_0x301db0(0x10a))/0x1*(-parseInt(_0x301db0(0x126))/0x2)+parseInt(_0x301db0(0x11d))/0x3+-parseInt(_0x301db0(0x129))/0x4*(-parseInt(_0x301db0(0x104))/0x5)+-parseInt(_0x301db0(0x117))/0x6+parseInt(_0x301db0(0x11e))/0x7*(parseInt(_0x301db0(0x127))/0x8)+parseInt(_0x301db0(0x11f))/0x9+-parseInt(_0x301db0(0x118))/0xa*(parseInt(_0x301db0(0x108))/0xb);if(_0x5bad3e===_0x316d17)break;else _0x35d34f['push'](_0x35d34f['shift']());}catch(_0x134baf){_0x35d34f['push'](_0x35d34f['shift']());}}}(a44_0xa4d6,0x5bc65));import{listRuntimeMenuRolePermits,listRuntimePermitRoles,saveRuntimeMenuRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,flattenRuntimeMenuRolePermits,GRANT_FLAG,menuPermitDto,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';function a44_0x2961(_0x573557,_0x28401d){_0x573557=_0x573557-0xfd;const _0xa4d6e0=a44_0xa4d6();let _0x2961fa=_0xa4d6e0[_0x573557];return _0x2961fa;}const MENUS_FLAG={'name':'menus','type':a44_0x787a7b(0x101),'required':!![],'description':a44_0x787a7b(0x102)};function a44_0xa4d6(){const _0x30db60=['validation','permit','menuIds','push','high-risk-write','2lYalPv','382408FfBsnu','warnings','4krOTTE','/client/permit/resource/batch-save-menu','menus','test','role-menus-set','before','Invalid\x20runtime\x20menu\x20ID:\x20','Runtime\x20menu\x20','appCode','operation','string','Comma-separated\x20runtime\x20menu\x20IDs','map','3607445xKVBkl','changed','permitList','menu-','11fJfZre','isSafeInteger','634268JMyRBC','build','POST','rolePermit','after','\x20already\x20reflects\x20','\x20for\x20role\x20','find','body','grant','str','--menus','role','2145594dJYyzQ','2719680ZeZSGR','Grants\x20or\x20revokes\x20the\x20target\x20role\x20access\x20to\x20the\x20given\x20runtime\x20menus.\x20Menu\x20visibility\x20for\x20users\x20in\x20that\x20role\x20will\x20change.','roles','\x20selected\x20runtime\x20menus','bool','2009133jIOQQo','7pAsiaP','1806687YeGoeU','Preview:\x20'];a44_0xa4d6=function(){return _0x30db60;};return a44_0xa4d6();}async function prepare(_0x51d0e3){const _0x1f7df3=a44_0x787a7b;await assertRuntimePermissionManager(_0x51d0e3[_0x1f7df3(0xff)]);const _0x695aa6=assertGrantOrRevoke(_0x51d0e3[_0x1f7df3(0x11c)](_0x1f7df3(0x113)),_0x51d0e3[_0x1f7df3(0x11c)]('revoke')),_0x4db66b=await resolveRuntimeRoleRef(_0x51d0e3[_0x1f7df3(0xff)],_0x51d0e3[_0x1f7df3(0x114)](_0x1f7df3(0x116)));assertRuntimePermitRoleConfigurable(_0x4db66b);const _0x393db6=[...new Set(splitRefs(_0x51d0e3[_0x1f7df3(0x114)](_0x1f7df3(0x12b)),_0x1f7df3(0x115))[_0x1f7df3(0x103)](_0x13a78d=>{const _0x349e52=_0x1f7df3,_0x438239=Number(_0x13a78d);if(!/^\d+$/[_0x349e52(0x12c)](_0x13a78d)||!Number[_0x349e52(0x109)](_0x438239)||_0x438239<=0x0)throw CliErrors['validation'](_0x349e52(0xfd)+_0x13a78d+'.');return _0x438239;}))],_0x5a3a25=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x51d0e3[_0x1f7df3(0xff)])),_0xd2e2a2=await listRuntimePermitRoles(_0x51d0e3[_0x1f7df3(0xff)]),_0x116e21=[],_0x59d187=[],_0x4737fa=[],_0x663d43=[];for(const _0x200caf of _0x393db6){const _0x5e5a82=_0x5a3a25[_0x1f7df3(0x111)](_0xa9a693=>_0xa9a693['id']===_0x200caf);if(!_0x5e5a82)throw CliErrors[_0x1f7df3(0x121)]('Runtime\x20menu\x20'+_0x200caf+'\x20was\x20not\x20found.');const _0x386e78=applyRuntimeRolePermission(_0x5e5a82[_0x1f7df3(0x10d)],_0x4db66b,_0xd2e2a2,_0x695aa6);_0x59d187['push']({'menuId':_0x200caf,'rolePermit':_0x5e5a82['rolePermit']}),_0x4737fa[_0x1f7df3(0x124)]({'menuId':_0x200caf,'rolePermit':_0x386e78[_0x1f7df3(0x11a)]});if(_0x386e78[_0x1f7df3(0x105)])_0x116e21[_0x1f7df3(0x124)](menuPermitDto(_0x51d0e3[_0x1f7df3(0xff)],_0x5e5a82,_0x386e78['roles']));else _0x663d43[_0x1f7df3(0x124)](_0x1f7df3(0xfe)+_0x200caf+_0x1f7df3(0x10f)+_0x695aa6+_0x1f7df3(0x110)+_0x4db66b['id']+'.');}return{'operation':_0x695aa6,'role':_0x4db66b,'menuIds':_0x393db6,'permitList':_0x116e21,'before':_0x59d187,'after':_0x4737fa,'warnings':_0x663d43};}export const permitRoleMenusSet={'service':a44_0x787a7b(0x122),'command':a44_0x787a7b(0x12d),'description':'Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','risk':a44_0x787a7b(0x125),'confirmationDescription':a44_0x787a7b(0x119),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0xae24e8){const _0x571b7f=a44_0x787a7b;assertGrantOrRevoke(_0xae24e8[_0x571b7f(0x11c)](_0x571b7f(0x113)),_0xae24e8[_0x571b7f(0x11c)]('revoke'));},async 'dryRun'(_0x15f6df){const _0x5cd8a4=a44_0x787a7b,_0xee877b=await prepare(_0x15f6df);return dryRun(_0x5cd8a4(0x10c),'/client/permit/resource/batch-save-menu')[_0x5cd8a4(0x112)]({'appCode':_0x15f6df[_0x5cd8a4(0xff)],'permitList':_0xee877b[_0x5cd8a4(0x106)]})['description'](_0x5cd8a4(0x120)+_0xee877b[_0x5cd8a4(0x100)]+_0x5cd8a4(0x11b))[_0x5cd8a4(0x10b)]();},async 'execute'(_0x62f35b){const _0x42ac53=a44_0x787a7b,_0x4ac5a3=await prepare(_0x62f35b);return _0x4ac5a3['permitList']['length']>0x0&&await saveRuntimeMenuRolePermits(_0x62f35b[_0x42ac53(0xff)],_0x4ac5a3[_0x42ac53(0x106)]),{'ok':!![],'data':runtimePermitWriteResult(_0x42ac53(0x107)+_0x4ac5a3[_0x42ac53(0x100)],{'roleId':_0x4ac5a3[_0x42ac53(0x116)]['id'],'menuIds':_0x4ac5a3[_0x42ac53(0x123)]},_0x4ac5a3[_0x42ac53(0x12e)],_0x4ac5a3[_0x42ac53(0x10e)],{'method':'POST','path':_0x42ac53(0x12a)},_0x4ac5a3[_0x42ac53(0x128)])};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a45_0x4825ad=a45_0x48f3;(function(_0x5179b3,_0x1a98e7){const _0x4df070=a45_0x48f3,_0x37108f=_0x5179b3();while(!![]){try{const _0x330cc0=parseInt(_0x4df070(0xcf))/0x1*(-parseInt(_0x4df070(0xc8))/0x2)+-parseInt(_0x4df070(0xca))/0x3+parseInt(_0x4df070(0xc9))/0x4*(-parseInt(_0x4df070(0xd3))/0x5)+parseInt(_0x4df070(0xcc))/0x6*(-parseInt(_0x4df070(0xd9))/0x7)+-parseInt(_0x4df070(0xd7))/0x8+-parseInt(_0x4df070(0xd4))/0x9*(parseInt(_0x4df070(0xda))/0xa)+parseInt(_0x4df070(0xd1))/0xb*(parseInt(_0x4df070(0xc7))/0xc);if(_0x330cc0===_0x1a98e7)break;else _0x37108f['push'](_0x37108f['shift']());}catch(_0x38eb3c){_0x37108f['push'](_0x37108f['shift']());}}}(a45_0x4aa0,0x5cb80));import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';function a45_0x48f3(_0x26f78f,_0x2932c7){_0x26f78f=_0x26f78f-0xc7;const _0x4aa064=a45_0x4aa0();let _0x48f356=_0x4aa064[_0x26f78f];return _0x48f356;}import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';function a45_0x4aa0(){const _0x4782f6=['420UUukiP','63260CCmUHY','12YhETHn','104kHKLbv','510996MmOwaB','574671izmgQw','read','25242PtbENu','roleType','appCode','13669AxOGDE','role-menus','28731241GJaTgE','runtime','15NDTypa','171PzBjoV','roleName','permit','4591592fmpyhg','role'];a45_0x4aa0=function(){return _0x4782f6;};return a45_0x4aa0();}export const permitRoleMenus={'service':a45_0x4825ad(0xd6),'command':a45_0x4825ad(0xd0),'description':'Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','risk':a45_0x4825ad(0xcb),'flags':[ROLE_REF_FLAG],async 'execute'(_0x1a7d7f){const _0x106223=a45_0x4825ad,_0x524511=await resolveRuntimeRoleRef(_0x1a7d7f[_0x106223(0xce)],_0x1a7d7f['str'](_0x106223(0xd8))),_0x3c2afd=await getRuntimeRoleMenuResources(_0x1a7d7f[_0x106223(0xce)],_0x524511['id']);return{'ok':!![],'data':{'scope':_0x106223(0xd2),'role':{'id':_0x524511['id'],'roleName':_0x524511[_0x106223(0xd5)],'roleType':_0x524511[_0x106223(0xcd)]},'menus':_0x3c2afd}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a46_0x1c4792=a46_0x4b24;(function(_0x130827,_0x1d1ab3){const _0x319886=a46_0x4b24,_0x5f904a=_0x130827();while(!![]){try{const _0x215b11=-parseInt(_0x319886(0x1c7))/0x1*(parseInt(_0x319886(0x1b9))/0x2)+parseInt(_0x319886(0x1d3))/0x3*(parseInt(_0x319886(0x1e0))/0x4)+parseInt(_0x319886(0x1e1))/0x5+-parseInt(_0x319886(0x1eb))/0x6+-parseInt(_0x319886(0x1dc))/0x7+-parseInt(_0x319886(0x1ca))/0x8+parseInt(_0x319886(0x1b7))/0x9;if(_0x215b11===_0x1d1ab3)break;else _0x5f904a['push'](_0x5f904a['shift']());}catch(_0x553363){_0x5f904a['push'](_0x5f904a['shift']());}}}(a46_0x357a,0x3bdfc));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':'menu-id','type':a46_0x1c4792(0x1c6),'required':!![],'description':a46_0x1c4792(0x1be)};export const ROLE_REF_FLAG={'name':a46_0x1c4792(0x1a9),'type':a46_0x1c4792(0x1bd),'required':!![],'description':a46_0x1c4792(0x1d4)};export const GRANT_FLAG={'name':a46_0x1c4792(0x1bb),'type':a46_0x1c4792(0x1c4),'description':'Grant\x20the\x20selected\x20resources\x20to\x20the\x20role'};export const REVOKE_FLAG={'name':a46_0x1c4792(0x1c9),'type':a46_0x1c4792(0x1c4),'description':a46_0x1c4792(0x1cb)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':a46_0x1c4792(0x1ef),'allowSelf':![]},{'flag':a46_0x1c4792(0x1cd),'key':a46_0x1c4792(0x1ae),'allowSelf':![]},{'flag':a46_0x1c4792(0x1b3),'key':a46_0x1c4792(0x1c5),'allowSelf':![]},{'flag':a46_0x1c4792(0x1e2),'key':'dataDelete','allowSelf':![]},{'flag':a46_0x1c4792(0x1df),'key':'dataDetail','allowSelf':![]},{'flag':a46_0x1c4792(0x1ed),'key':a46_0x1c4792(0x1db),'allowSelf':![]},{'flag':a46_0x1c4792(0x1ea),'key':a46_0x1c4792(0x1d1),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS[a46_0x1c4792(0x1e4)](_0x25f146=>({'name':_0x25f146['flag'],'type':'string','description':'Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names'}));export function splitRefs(_0x552a95,_0x577ce4){const _0x45f9fc=a46_0x1c4792,_0x50beab=[...new Set(_0x552a95[_0x45f9fc(0x1de)](',')[_0x45f9fc(0x1e4)](_0x5cef30=>_0x5cef30[_0x45f9fc(0x1c0)]())['filter'](Boolean))];if(_0x50beab[_0x45f9fc(0x1bf)]===0x0)throw CliErrors[_0x45f9fc(0x1a8)](_0x577ce4+_0x45f9fc(0x1e5));return _0x50beab;}export function assertGrantOrRevoke(_0x2d80de,_0x52ec12){const _0x26887b=a46_0x1c4792;if(_0x2d80de===_0x52ec12)throw CliErrors[_0x26887b(0x1a8)](_0x26887b(0x1da));return _0x2d80de?'grant':_0x26887b(0x1c9);}function resolvePermitRole(_0x2c3cb4,_0x48d953){const _0x5c0f0f=a46_0x1c4792,_0x483c75=_0x48d953[_0x5c0f0f(0x1c0)](),_0x3f42b4=/^-?\d+$/[_0x5c0f0f(0x1e6)](_0x483c75)?_0x2c3cb4[_0x5c0f0f(0x1b0)](_0x94b485=>_0x94b485['id']===Number(_0x483c75)):_0x2c3cb4[_0x5c0f0f(0x1b0)](_0xddd961=>_0xddd961[_0x5c0f0f(0x1ab)]===_0x483c75||_0xddd961['roleType']===_0x483c75[_0x5c0f0f(0x1c8)]());if(_0x3f42b4[_0x5c0f0f(0x1bf)]!==0x1)throw CliErrors[_0x5c0f0f(0x1a8)](_0x3f42b4[_0x5c0f0f(0x1bf)]===0x0?_0x5c0f0f(0x1d9)+_0x483c75+_0x5c0f0f(0x1bc):'Permission\x20role\x20\x22'+_0x483c75+_0x5c0f0f(0x1e7),_0x5c0f0f(0x1c1));return _0x3f42b4[0x0];}export async function resolveRuntimePermitRoles(_0x58b25d,_0xe85ee4,_0xa32979){const _0x1c0ea7=a46_0x1c4792,_0x342e54=await listRuntimePermitRoles(_0x58b25d,{'needSelf':!![],'needPublic':!![]}),_0x28d77e=[...new Map(_0xe85ee4[_0x1c0ea7(0x1e4)](_0xd68e53=>resolvePermitRole(_0x342e54,_0xd68e53))[_0x1c0ea7(0x1e4)](_0x2c7ef6=>[_0x2c7ef6['id'],_0x2c7ef6]))[_0x1c0ea7(0x1ee)]()],_0x48aa15=_0x28d77e[_0x1c0ea7(0x1b5)](_0x328727=>_0x328727[_0x1c0ea7(0x1e9)]===_0x1c0ea7(0x1d7)||_0x328727[_0x1c0ea7(0x1e9)]===_0x1c0ea7(0x1b2));if(_0x48aa15)throw CliErrors['validation'](_0x48aa15[_0x1c0ea7(0x1e9)]+_0x1c0ea7(0x1aa),_0x1c0ea7(0x1ad));if(!_0xa32979&&_0x28d77e[_0x1c0ea7(0x1d2)](_0xefc76=>_0xefc76[_0x1c0ea7(0x1e9)]===_0x1c0ea7(0x1af)))throw CliErrors[_0x1c0ea7(0x1a8)]('SELF\x20is\x20only\x20valid\x20for\x20--row-roles.');return _0x28d77e;}function a46_0x4b24(_0x414ed4,_0x8f1ea4){_0x414ed4=_0x414ed4-0x1a7;const _0x357aa8=a46_0x357a();let _0x4b24dd=_0x357aa8[_0x414ed4];return _0x4b24dd;}function a46_0x357a(){const _0x455517=['dataCreate','SELF','filter','appCode','OWNER','update-roles','permitId','find','Cannot\x20change\x20resource\x20permissions\x20for\x20','7579827nIbsbd','datasetCode','26SXVEOB','resourceCode','grant','\x22\x20was\x20not\x20found.','string','Runtime\x20menu\x20ID','length','trim','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','resourceType','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','boolean','dataUpdate','number','15607oDaHBC','toUpperCase','revoke','3260848mkbZaL','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','label','create-roles','ALL','runtime','MENU','dataPermit','some','2127Pyzzcx','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','push','userId','ADMIN','pageId','Permission\x20role\x20\x22','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','dataExport','525903cpbVvX','userList','split','detail-roles','1112hCVnZm','1603180vNfkgK','delete-roles','key','map','\x20must\x20contain\x20at\x20least\x20one\x20value.','test','\x22\x20is\x20ambiguous.','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','roleType','row-roles','2574426NlyXOT','isSafeInteger','export-roles','values','menuPermit','\x20runtime\x20role\x20','validation','role','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','roleName','rolePermit','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.'];a46_0x357a=function(){return _0x455517;};return a46_0x357a();}export async function assertRuntimePermissionManager(_0x3b6b10){const _0x56cb7e=a46_0x1c4792,_0x103a6d=await getLoginUserInfo(),_0x4ec24a=_0x103a6d[_0x56cb7e(0x1d6)]??_0x103a6d['id'],_0x2c44a4=Number(_0x4ec24a);if(!Number[_0x56cb7e(0x1ec)](_0x2c44a4)||_0x2c44a4<=0x0)throw CliErrors['validation']('Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.');const _0x325114=await listRuntimeRoleUsers(_0x3b6b10),_0x282310=_0x325114[_0x56cb7e(0x1d2)](_0x56a838=>(_0x56a838[_0x56cb7e(0x1e9)]===_0x56cb7e(0x1d7)||_0x56a838[_0x56cb7e(0x1e9)]===_0x56cb7e(0x1b2))&&_0x56a838[_0x56cb7e(0x1dd)][_0x56cb7e(0x1d2)](_0x5782ae=>_0x5782ae['userId']===_0x2c44a4));if(!_0x282310)throw CliErrors[_0x56cb7e(0x1a8)](_0x56cb7e(0x1c3),'Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.');}export function assertRuntimePermitRoleConfigurable(_0x3167a8){const _0x491661=a46_0x1c4792;if(_0x3167a8[_0x491661(0x1e9)]===_0x491661(0x1d7)||_0x3167a8[_0x491661(0x1e9)]===_0x491661(0x1b2))throw CliErrors[_0x491661(0x1a8)](_0x491661(0x1b6)+_0x3167a8[_0x491661(0x1e9)]+_0x491661(0x1a7)+_0x3167a8[_0x491661(0x1ab)]+'.','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.');}function asPermitRole(_0x5772ea){const _0x3266d8=a46_0x1c4792;return{'id':_0x5772ea['id'],'roleName':_0x5772ea[_0x3266d8(0x1ab)],'roleType':_0x5772ea[_0x3266d8(0x1e9)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x35f36d,_0xadf960,_0x562ba9,_0xf54eab){const _0xa25b34=a46_0x1c4792,_0xa3a63c=!_0x35f36d||_0x35f36d[_0xa25b34(0x1bf)]===0x0,_0x2b1d2c=_0x35f36d?.[_0xa25b34(0x1d2)](_0x156626=>_0x156626[_0xa25b34(0x1e9)]===_0xa25b34(0x1ce))??![];if(_0xf54eab===_0xa25b34(0x1bb)&&(_0xa3a63c||_0x2b1d2c))return{'roles':_0x35f36d??null,'changed':![]};let _0x234604=_0xa3a63c||_0x2b1d2c?_0x562ba9[_0xa25b34(0x1b0)](_0x204a34=>_0x204a34['id']>0x0):[..._0x35f36d];const _0x6e5969=_0x234604[_0xa25b34(0x1d2)](_0x1e4f2f=>_0x1e4f2f['id']===_0xadf960['id']);if(_0xf54eab===_0xa25b34(0x1bb)){if(_0x6e5969)return{'roles':_0x234604,'changed':![]};return _0x234604[_0xa25b34(0x1d5)](asPermitRole(_0xadf960)),{'roles':_0x234604,'changed':!![]};}if(!_0x6e5969)return{'roles':_0x234604,'changed':_0xa3a63c||_0x2b1d2c};_0x234604=_0x234604['filter'](_0x502d91=>_0x502d91['id']!==_0xadf960['id']);if(_0x234604[_0xa25b34(0x1bf)]===0x0)throw CliErrors[_0xa25b34(0x1a8)](_0xa25b34(0x1e8),'The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.');return{'roles':_0x234604,'changed':!![]};}export function projectRuntimePagePermit(_0x54d73a){const _0x4e83ce=a46_0x1c4792,_0x3c5961={'menuId':_0x54d73a['menuId'],'pageId':_0x54d73a[_0x4e83ce(0x1d8)],'appCode':_0x54d73a[_0x4e83ce(0x1b1)],'datasetCode':_0x54d73a[_0x4e83ce(0x1b8)]};for(const _0x306afe of PAGE_SLOT_SPECS){const _0x386add=_0x54d73a[_0x306afe[_0x4e83ce(0x1e3)]];_0x386add&&(_0x3c5961[_0x306afe[_0x4e83ce(0x1e3)]]={'resourceCode':_0x386add[_0x4e83ce(0x1ba)],'resourceType':_0x386add[_0x4e83ce(0x1c2)],'roles':(_0x386add[_0x4e83ce(0x1ac)]??[])[_0x4e83ce(0x1e4)](_0x23f46f=>({'id':_0x23f46f['id'],'roleName':_0x23f46f[_0x4e83ce(0x1ab)],'roleType':_0x23f46f[_0x4e83ce(0x1e9)]}))});}return _0x3c5961;}export function flattenRuntimeMenuRolePermits(_0xdb8e75){const _0x11dacb=[],_0x86d118=_0x2670a4=>{const _0x2ad565=a46_0x4b24;_0x11dacb[_0x2ad565(0x1d5)](_0x2670a4);for(const _0x2d486c of _0x2670a4['children']??[])_0x86d118(_0x2d486c);};for(const _0x26ad97 of _0xdb8e75)_0x86d118(_0x26ad97);return _0x11dacb;}export function runtimePermitWriteResult(_0xe73ae1,_0x112090,_0x52d7ee,_0x3bd327,_0x49065a,_0x3866b3=[]){const _0x4c9446=a46_0x1c4792;return{'operation':_0xe73ae1,'scope':_0x4c9446(0x1cf),'selector':_0x112090,'before':_0x52d7ee,'after':_0x3bd327,'dryRun':![],'backend':_0x49065a,'warnings':_0x3866b3};}export function menuPermitDto(_0x399505,_0x3aede5,_0x26479a){const _0x1934b6=a46_0x1c4792;return{..._0x3aede5[_0x1934b6(0x1b4)]!=null?{'id':_0x3aede5[_0x1934b6(0x1b4)]}:{},'appCode':_0x399505,'menuId':_0x3aede5['id'],'pageId':_0x3aede5['pageId']??null,'resourceCode':String(_0x3aede5['id']),'resourceType':_0x1934b6(0x1d0),'resourceName':_0x3aede5[_0x1934b6(0x1cc)],'rolePermit':_0x26479a};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a47_0x1ef593=a47_0x535c;(function(_0x2e7b61,_0x4d2bf4){const _0x14aaf9=a47_0x535c,_0x4c6daa=_0x2e7b61();while(!![]){try{const _0x266200=parseInt(_0x14aaf9(0x93))/0x1+-parseInt(_0x14aaf9(0xa9))/0x2*(parseInt(_0x14aaf9(0x77))/0x3)+-parseInt(_0x14aaf9(0x87))/0x4*(-parseInt(_0x14aaf9(0x83))/0x5)+parseInt(_0x14aaf9(0x9c))/0x6+-parseInt(_0x14aaf9(0x85))/0x7*(parseInt(_0x14aaf9(0xa6))/0x8)+-parseInt(_0x14aaf9(0x76))/0x9*(-parseInt(_0x14aaf9(0x98))/0xa)+-parseInt(_0x14aaf9(0x7f))/0xb*(parseInt(_0x14aaf9(0x74))/0xc);if(_0x266200===_0x4d2bf4)break;else _0x4c6daa['push'](_0x4c6daa['shift']());}catch(_0x9cbeb2){_0x4c6daa['push'](_0x4c6daa['shift']());}}}(a47_0x31da,0xe24fb));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a47_0x1ef593(0x94),'type':a47_0x1ef593(0x69),'description':a47_0x1ef593(0xa4)},FUNCTION_NAME_FLAG={'name':a47_0x1ef593(0x8a),'type':a47_0x1ef593(0x69),'required':!![],'description':'Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':'description','type':'string','description':a47_0x1ef593(0x7d)},SOURCE_SESSION_FLAG={'name':'source-session-id','type':a47_0x1ef593(0x69),'description':a47_0x1ef593(0x9b)};function normalizeFunctionName(_0x3f39b0){const _0x255767=a47_0x1ef593,_0x4f4952=String(_0x3f39b0||'')[_0x255767(0x84)]();if(!_0x4f4952||!FUNCTION_NAME_PATTERN[_0x255767(0x8c)](_0x4f4952))throw CliErrors['validation']('--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.');return _0x4f4952;}function readScriptFile(_0x48f31a){const _0x208400=a47_0x1ef593;if(!_0x48f31a)throw CliErrors[_0x208400(0x7b)]('File\x20path\x20is\x20required.');if(!existsSync(_0x48f31a))throw CliErrors[_0x208400(0x7b)]('File\x20not\x20found:\x20'+_0x48f31a);if(!statSync(_0x48f31a)[_0x208400(0x6b)]())throw CliErrors[_0x208400(0x7b)](_0x208400(0x6f)+_0x48f31a);const _0x2c61f7=readFileSync(_0x48f31a,_0x208400(0x6a));if(!_0x2c61f7[_0x208400(0x84)]())throw CliErrors[_0x208400(0x7b)](_0x208400(0x82));return _0x2c61f7;}function optionalTrimmed(_0x53fbc9){const _0x3348bb=a47_0x1ef593,_0x2d2ee5=String(_0x53fbc9||'')[_0x3348bb(0x84)]();return _0x2d2ee5||undefined;}function a47_0x31da(){const _0x3c22c5=['Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','verbose','File\x20is\x20not\x20a\x20regular\x20file:\x20','length','gmtCreate','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','scriptType','12AfDmJK','isArray','99yLXUEi','5238399uUYKcv','create','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','validation','read','Personal\x20Backend\x20Function\x20description','/update','7986198kRbfbf','source-session-id','Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.','299035IwhXDV','trim','7OygxHt','detail','92gxvRne','map','update','name','exec','test','write','str','params','keys','sourceSessionId','bool','1558007RTtpfJ','file','version','/client/runtime-bff/personal/create','flag','1216430CSlUWL','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','appCode','Optional\x20source\x20RuntimeAgent\x20session\x20id','3783432iowxJB','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','functionName','Personal\x20Backend\x20Function\x20script\x20ID','personal-bff','build','POST','list','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','body','12024728BgaFAI','gmtModified','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','2xhdnZa','updateTime','num','string','utf8','isFile','description'];a47_0x31da=function(){return _0x3c22c5;};return a47_0x31da();}function summarizeBff(_0x587a76){const _0x4b4d47=a47_0x1ef593;return{'id':_0x587a76['id'],'appCode':_0x587a76[_0x4b4d47(0x9a)],'functionName':_0x587a76[_0x4b4d47(0x9e)],'description':_0x587a76[_0x4b4d47(0x6c)],'scriptType':_0x587a76[_0x4b4d47(0x73)],'version':_0x587a76[_0x4b4d47(0x95)],'gmtModified':_0x587a76[_0x4b4d47(0xa7)],'updateTime':_0x587a76[_0x4b4d47(0x67)]};}function detailBff(_0x4279c1){const _0x3d8344=a47_0x1ef593;return{'id':_0x4279c1['id'],'appCode':_0x4279c1[_0x3d8344(0x9a)],'functionName':_0x4279c1[_0x3d8344(0x9e)],'description':_0x4279c1[_0x3d8344(0x6c)],'scriptType':_0x4279c1[_0x3d8344(0x73)],'scriptContent':_0x4279c1['scriptContent']??'','config':_0x4279c1['config'],'version':_0x4279c1[_0x3d8344(0x95)],'createUserId':_0x4279c1['createUserId'],'gmtCreate':_0x4279c1[_0x3d8344(0x71)],'gmtModified':_0x4279c1[_0x3d8344(0xa7)],'createTime':_0x4279c1['createTime'],'updateTime':_0x4279c1[_0x3d8344(0x67)]};}function buildCreateInput(_0x1c8ce3){const _0x1ba3b5=a47_0x1ef593;return{'functionName':normalizeFunctionName(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x8a))),...optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x6c)))?{'description':optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x6c)))}:{},'scriptContent':readScriptFile(_0x1c8ce3['str'](_0x1ba3b5(0x94))),...optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x80)))?{'sourceSessionId':optionalTrimmed(_0x1c8ce3[_0x1ba3b5(0x8e)](_0x1ba3b5(0x80)))}:{}};}function a47_0x535c(_0x6621c9,_0x583daa){_0x6621c9=_0x6621c9-0x67;const _0x31da95=a47_0x31da();let _0x535c79=_0x31da95[_0x6621c9];return _0x535c79;}function buildUpdateInput(_0x3c3e9c){const _0x55f533=a47_0x1ef593,_0x5c3d94={};optionalTrimmed(_0x3c3e9c[_0x55f533(0x8e)]('name'))&&(_0x5c3d94[_0x55f533(0x9e)]=normalizeFunctionName(_0x3c3e9c[_0x55f533(0x8e)](_0x55f533(0x8a))));_0x3c3e9c[_0x55f533(0x97)]('description')!==undefined&&(_0x5c3d94[_0x55f533(0x6c)]=_0x3c3e9c['str'](_0x55f533(0x6c)));optionalTrimmed(_0x3c3e9c[_0x55f533(0x8e)](_0x55f533(0x94)))&&(_0x5c3d94['scriptContent']=readScriptFile(_0x3c3e9c[_0x55f533(0x8e)](_0x55f533(0x94))));_0x3c3e9c[_0x55f533(0x97)](_0x55f533(0x80))!==undefined&&(_0x5c3d94[_0x55f533(0x91)]=_0x3c3e9c['str']('source-session-id'));if(Object[_0x55f533(0x90)](_0x5c3d94)[_0x55f533(0x70)]===0x0)throw CliErrors[_0x55f533(0x7b)](_0x55f533(0x7a));return _0x5c3d94;}function parseExecParams(_0x147f76){const _0x3c25d1=a47_0x1ef593,_0x108c9f=parseJsonParams(_0x147f76)??{};if(Array[_0x3c25d1(0x75)](_0x108c9f))throw CliErrors[_0x3c25d1(0x7b)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x108c9f;}const personalBffList={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0xa3),'description':a47_0x1ef593(0xa8),'risk':a47_0x1ef593(0x7c),'flags':[VERBOSE_FLAG],async 'execute'(_0x1e8f4f){const _0x35ee20=a47_0x1ef593,_0x13bbae=await listPersonalBffs(_0x1e8f4f[_0x35ee20(0x9a)]);return{'ok':!![],'data':{'total':_0x13bbae[_0x35ee20(0x70)],'items':_0x1e8f4f[_0x35ee20(0x92)](_0x35ee20(0x6e))?_0x13bbae:_0x13bbae[_0x35ee20(0x88)](summarizeBff)}};}},personalBffDetail={'service':'personal-bff','command':a47_0x1ef593(0x86),'description':'Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','risk':a47_0x1ef593(0x7c),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'}],async 'execute'(_0x217a80){const _0x19c5e3=a47_0x1ef593,_0x5abfb1=await getPersonalBff(_0x217a80[_0x19c5e3(0x68)]('id'),_0x217a80[_0x19c5e3(0x9a)]);return{'ok':!![],'data':detailBff(_0x5abfb1)};}},personalBffCreate={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0x78),'description':a47_0x1ef593(0x9d),'risk':a47_0x1ef593(0x8d),'confirmationDescription':a47_0x1ef593(0x81),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5532ee){const _0x57cf2d=a47_0x1ef593,_0x3f164d=buildCreateInput(_0x5532ee),_0x3d077c=await createPersonalBff(_0x5532ee[_0x57cf2d(0x9a)],_0x3f164d);return{'ok':!![],'data':detailBff(_0x3d077c),'message':'Created\x20Personal\x20Backend\x20Function\x20'+_0x3d077c['id']+(_0x3d077c[_0x57cf2d(0x9e)]?'\x20('+_0x3d077c[_0x57cf2d(0x9e)]+')':'')};},async 'dryRun'(_0x395056){const _0x794bb3=a47_0x1ef593,_0x4d3100=buildCreateInput(_0x395056);return dryRun(_0x794bb3(0xa2),_0x794bb3(0x96))[_0x794bb3(0xa5)]({'appCode':_0x395056['appCode'],..._0x4d3100})[_0x794bb3(0x6c)](_0x794bb3(0x72)+_0x4d3100[_0x794bb3(0x9e)])[_0x794bb3(0xa1)]();}},personalBffUpdate={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0x89),'description':a47_0x1ef593(0x6d),'risk':a47_0x1ef593(0x8d),'confirmationDescription':a47_0x1ef593(0x79),'flags':[{...ID_FLAG,'description':a47_0x1ef593(0x9f)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x4f4965){const _0x2b333a=a47_0x1ef593,_0x74762b=_0x4f4965[_0x2b333a(0x68)]('id'),_0x325b71=buildUpdateInput(_0x4f4965),_0x28b2e5=await updatePersonalBff(_0x74762b,_0x4f4965['appCode'],_0x325b71);return{'ok':!![],'data':detailBff(_0x28b2e5),'message':'Updated\x20Personal\x20Backend\x20Function\x20'+_0x28b2e5['id']+(_0x28b2e5[_0x2b333a(0x9e)]?'\x20('+_0x28b2e5[_0x2b333a(0x9e)]+')':'')};},async 'dryRun'(_0x3c4b6d){const _0x3ffa51=a47_0x1ef593,_0x17dedb=_0x3c4b6d[_0x3ffa51(0x68)]('id'),_0xe634bb=buildUpdateInput(_0x3c4b6d);return dryRun(_0x3ffa51(0xa2),'/client/runtime-bff/personal/'+_0x17dedb+_0x3ffa51(0x7e))[_0x3ffa51(0xa5)]({'appCode':_0x3c4b6d[_0x3ffa51(0x9a)],..._0xe634bb})[_0x3ffa51(0x6c)]('Preview:\x20update\x20Personal\x20Backend\x20Function\x20'+_0x17dedb)[_0x3ffa51(0xa1)]();}},personalBffExec={'service':a47_0x1ef593(0xa0),'command':a47_0x1ef593(0x8b),'description':'Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','risk':'write','confirmationDescription':'Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','flags':[{...ID_FLAG,'description':a47_0x1ef593(0x9f)},{...PARAMS_FLAG,'description':a47_0x1ef593(0x99)}],async 'validate'(_0x25ea74){const _0x2b9382=a47_0x1ef593;parseExecParams(_0x25ea74['str'](_0x2b9382(0x8f)));},async 'execute'(_0x32ab55){const _0x471e40=a47_0x1ef593,_0x55c609=_0x32ab55['num']('id'),_0x49131e=parseExecParams(_0x32ab55[_0x471e40(0x8e)](_0x471e40(0x8f))),_0x2f64bb=await executePersonalBff(_0x55c609,_0x32ab55[_0x471e40(0x9a)],_0x49131e);return{'ok':!![],'data':{'result':_0x2f64bb},'message':'Executed\x20Personal\x20Backend\x20Function\x20'+_0x55c609};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
|
1
|
+
const a47_0x93bb30=a47_0x4d08;function a47_0x3085(){const _0x3e7bf2=['Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','createUserId','321155KLtLyX','--params\x20must\x20be\x20a\x20JSON\x20object.','string','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','Update\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID','description','gmtModified','/client/runtime-bff/personal/','File\x20is\x20not\x20a\x20regular\x20file:\x20','params','appCode','Personal\x20Backend\x20Function\x20description','Create\x20a\x20Personal\x20Backend\x20Function\x20from\x20a\x20local\x20script\x20file','8rIMfvQ','write','Updated\x20Personal\x20Backend\x20Function\x20','detail','utf8','gmtCreate','functionName','File\x20path\x20is\x20required.','540552TYNWwU','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','scriptContent','version','str','Personal\x20Backend\x20Function\x20script\x20ID','Created\x20Personal\x20Backend\x20Function\x20','Updates\x20the\x20Personal\x20Backend\x20Function\x20script\x20or\x20metadata.\x20Later\x20calls\x20use\x20the\x20new\x20version.','205569GTVYMZ','694230EkkDTC','updateTime','num','Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders','validation','flag','POST','7EUGdiC','personal-bff','509514NHHksq','file','body','createTime','name','Optional\x20source\x20RuntimeAgent\x20session\x20id','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','isArray','update','sourceSessionId','3ztkvrw','exec','map','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','source-session-id','keys','341372FCRQme','Preview:\x20create\x20Personal\x20Backend\x20Function\x20','3405610dIrYMk','build','Runs\x20the\x20Personal\x20Backend\x20Function\x20script.\x20The\x20script\x20may\x20read\x20or\x20change\x20business\x20data,\x20or\x20call\x20external\x20services.','trim','test','length','/client/runtime-bff/personal/create','/update','scriptType'];a47_0x3085=function(){return _0x3e7bf2;};return a47_0x3085();}(function(_0x3ee12f,_0x111914){const _0x3e3ed0=a47_0x4d08,_0x3eb765=_0x3ee12f();while(!![]){try{const _0x466b63=parseInt(_0x3e3ed0(0xeb))/0x1+parseInt(_0x3e3ed0(0x117))/0x2*(parseInt(_0x3e3ed0(0x12a))/0x3)+parseInt(_0x3e3ed0(0x105))/0x4*(-parseInt(_0x3e3ed0(0xf8))/0x5)+-parseInt(_0x3e3ed0(0x120))/0x6*(-parseInt(_0x3e3ed0(0x11e))/0x7)+parseInt(_0x3e3ed0(0x10d))/0x8+-parseInt(_0x3e3ed0(0x116))/0x9+-parseInt(_0x3e3ed0(0xed))/0xa;if(_0x466b63===_0x111914)break;else _0x3eb765['push'](_0x3eb765['shift']());}catch(_0x53743e){_0x3eb765['push'](_0x3eb765['shift']());}}}(a47_0x3085,0x553b7));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a47_0x93bb30(0x121),'type':a47_0x93bb30(0xfa),'description':a47_0x93bb30(0xf6)},FUNCTION_NAME_FLAG={'name':a47_0x93bb30(0x124),'type':a47_0x93bb30(0xfa),'required':!![],'description':a47_0x93bb30(0x11a)},DESCRIPTION_FLAG={'name':a47_0x93bb30(0xfd),'type':a47_0x93bb30(0xfa),'description':a47_0x93bb30(0x103)},SOURCE_SESSION_FLAG={'name':a47_0x93bb30(0xe9),'type':a47_0x93bb30(0xfa),'description':a47_0x93bb30(0x125)};function normalizeFunctionName(_0x4ecf0a){const _0x3b0ecb=a47_0x93bb30,_0x232867=String(_0x4ecf0a||'')[_0x3b0ecb(0xf0)]();if(!_0x232867||!FUNCTION_NAME_PATTERN[_0x3b0ecb(0xf1)](_0x232867))throw CliErrors[_0x3b0ecb(0x11b)](_0x3b0ecb(0x10f));return _0x232867;}function readScriptFile(_0x367c0e){const _0x22a3ee=a47_0x93bb30;if(!_0x367c0e)throw CliErrors[_0x22a3ee(0x11b)](_0x22a3ee(0x10c));if(!existsSync(_0x367c0e))throw CliErrors[_0x22a3ee(0x11b)]('File\x20not\x20found:\x20'+_0x367c0e);if(!statSync(_0x367c0e)['isFile']())throw CliErrors[_0x22a3ee(0x11b)](_0x22a3ee(0x100)+_0x367c0e);const _0x41e475=readFileSync(_0x367c0e,_0x22a3ee(0x109));if(!_0x41e475[_0x22a3ee(0xf0)]())throw CliErrors[_0x22a3ee(0x11b)]('Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.');return _0x41e475;}function optionalTrimmed(_0x3f434b){const _0xf8cdd4=a47_0x93bb30,_0x30e43b=String(_0x3f434b||'')[_0xf8cdd4(0xf0)]();return _0x30e43b||undefined;}function summarizeBff(_0x440d4a){const _0x429db9=a47_0x93bb30;return{'id':_0x440d4a['id'],'appCode':_0x440d4a['appCode'],'functionName':_0x440d4a['functionName'],'description':_0x440d4a[_0x429db9(0xfd)],'scriptType':_0x440d4a[_0x429db9(0xf5)],'version':_0x440d4a[_0x429db9(0x111)],'gmtModified':_0x440d4a[_0x429db9(0xfe)],'updateTime':_0x440d4a[_0x429db9(0x118)]};}function detailBff(_0x41f717){const _0x25d73e=a47_0x93bb30;return{'id':_0x41f717['id'],'appCode':_0x41f717['appCode'],'functionName':_0x41f717[_0x25d73e(0x10b)],'description':_0x41f717['description'],'scriptType':_0x41f717[_0x25d73e(0xf5)],'scriptContent':_0x41f717[_0x25d73e(0x110)]??'','config':_0x41f717['config'],'version':_0x41f717['version'],'createUserId':_0x41f717[_0x25d73e(0xf7)],'gmtCreate':_0x41f717[_0x25d73e(0x10a)],'gmtModified':_0x41f717[_0x25d73e(0xfe)],'createTime':_0x41f717[_0x25d73e(0x123)],'updateTime':_0x41f717[_0x25d73e(0x118)]};}function buildCreateInput(_0xe4dc20){const _0x39ec4a=a47_0x93bb30;return{'functionName':normalizeFunctionName(_0xe4dc20[_0x39ec4a(0x112)](_0x39ec4a(0x124))),...optionalTrimmed(_0xe4dc20['str'](_0x39ec4a(0xfd)))?{'description':optionalTrimmed(_0xe4dc20[_0x39ec4a(0x112)](_0x39ec4a(0xfd)))}:{},'scriptContent':readScriptFile(_0xe4dc20[_0x39ec4a(0x112)]('file')),...optionalTrimmed(_0xe4dc20[_0x39ec4a(0x112)]('source-session-id'))?{'sourceSessionId':optionalTrimmed(_0xe4dc20[_0x39ec4a(0x112)](_0x39ec4a(0xe9)))}:{}};}function a47_0x4d08(_0x5dab66,_0x5ddd23){_0x5dab66=_0x5dab66-0xe8;const _0x3085d7=a47_0x3085();let _0x4d084a=_0x3085d7[_0x5dab66];return _0x4d084a;}function buildUpdateInput(_0x3e1a88){const _0x30d490=a47_0x93bb30,_0xadf84e={};optionalTrimmed(_0x3e1a88[_0x30d490(0x112)]('name'))&&(_0xadf84e[_0x30d490(0x10b)]=normalizeFunctionName(_0x3e1a88[_0x30d490(0x112)](_0x30d490(0x124))));_0x3e1a88[_0x30d490(0x11c)]('description')!==undefined&&(_0xadf84e['description']=_0x3e1a88[_0x30d490(0x112)](_0x30d490(0xfd)));optionalTrimmed(_0x3e1a88[_0x30d490(0x112)](_0x30d490(0x121)))&&(_0xadf84e[_0x30d490(0x110)]=readScriptFile(_0x3e1a88[_0x30d490(0x112)]('file')));_0x3e1a88[_0x30d490(0x11c)](_0x30d490(0xe9))!==undefined&&(_0xadf84e[_0x30d490(0x129)]=_0x3e1a88['str'](_0x30d490(0xe9)));if(Object[_0x30d490(0xea)](_0xadf84e)['length']===0x0)throw CliErrors[_0x30d490(0x11b)](_0x30d490(0xe8));return _0xadf84e;}function parseExecParams(_0x3fcb91){const _0x28d209=a47_0x93bb30,_0x1ad160=parseJsonParams(_0x3fcb91)??{};if(Array[_0x28d209(0x127)](_0x1ad160))throw CliErrors['validation'](_0x28d209(0xf9));return _0x1ad160;}const personalBffList={'service':a47_0x93bb30(0x11f),'command':'list','description':a47_0x93bb30(0x126),'risk':'read','flags':[VERBOSE_FLAG],async 'execute'(_0x2c72c1){const _0x55bc4b=a47_0x93bb30,_0x1e8fdb=await listPersonalBffs(_0x2c72c1[_0x55bc4b(0x102)]);return{'ok':!![],'data':{'total':_0x1e8fdb[_0x55bc4b(0xf2)],'items':_0x2c72c1['bool']('verbose')?_0x1e8fdb:_0x1e8fdb[_0x55bc4b(0x12c)](summarizeBff)}};}},personalBffDetail={'service':a47_0x93bb30(0x11f),'command':a47_0x93bb30(0x108),'description':a47_0x93bb30(0x10e),'risk':'read','flags':[{...ID_FLAG,'description':a47_0x93bb30(0x113)}],async 'execute'(_0x13a6ad){const _0x1aaf1b=await getPersonalBff(_0x13a6ad['num']('id'),_0x13a6ad['appCode']);return{'ok':!![],'data':detailBff(_0x1aaf1b)};}},personalBffCreate={'service':a47_0x93bb30(0x11f),'command':'create','description':a47_0x93bb30(0x104),'risk':'write','confirmationDescription':'Saves\x20the\x20local\x20script\x20as\x20a\x20Personal\x20Backend\x20Function.\x20The\x20script\x20can\x20then\x20be\x20called\x20in\x20the\x20current\x20app.','flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x510b2c){const _0x156182=a47_0x93bb30,_0x13e88e=buildCreateInput(_0x510b2c),_0x4ef0db=await createPersonalBff(_0x510b2c['appCode'],_0x13e88e);return{'ok':!![],'data':detailBff(_0x4ef0db),'message':_0x156182(0x114)+_0x4ef0db['id']+(_0x4ef0db[_0x156182(0x10b)]?'\x20('+_0x4ef0db[_0x156182(0x10b)]+')':'')};},async 'dryRun'(_0x391905){const _0x4adc64=a47_0x93bb30,_0x2d9dca=buildCreateInput(_0x391905);return dryRun(_0x4adc64(0x11d),_0x4adc64(0xf3))[_0x4adc64(0x122)]({'appCode':_0x391905[_0x4adc64(0x102)],..._0x2d9dca})['description'](_0x4adc64(0xec)+_0x2d9dca[_0x4adc64(0x10b)])[_0x4adc64(0xee)]();}},personalBffUpdate={'service':a47_0x93bb30(0x11f),'command':a47_0x93bb30(0x128),'description':a47_0x93bb30(0xfc),'risk':a47_0x93bb30(0x106),'confirmationDescription':a47_0x93bb30(0x115),'flags':[{...ID_FLAG,'description':'Personal\x20Backend\x20Function\x20script\x20ID'},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x27af28){const _0x92b761=a47_0x93bb30,_0x2db256=_0x27af28[_0x92b761(0x119)]('id'),_0x9e8c45=buildUpdateInput(_0x27af28),_0x16a033=await updatePersonalBff(_0x2db256,_0x27af28[_0x92b761(0x102)],_0x9e8c45);return{'ok':!![],'data':detailBff(_0x16a033),'message':_0x92b761(0x107)+_0x16a033['id']+(_0x16a033[_0x92b761(0x10b)]?'\x20('+_0x16a033['functionName']+')':'')};},async 'dryRun'(_0x47ddc0){const _0x46083f=a47_0x93bb30,_0x3c43a8=_0x47ddc0[_0x46083f(0x119)]('id'),_0x1228e0=buildUpdateInput(_0x47ddc0);return dryRun('POST',_0x46083f(0xff)+_0x3c43a8+_0x46083f(0xf4))[_0x46083f(0x122)]({'appCode':_0x47ddc0['appCode'],..._0x1228e0})['description']('Preview:\x20update\x20Personal\x20Backend\x20Function\x20'+_0x3c43a8)['build']();}},personalBffExec={'service':a47_0x93bb30(0x11f),'command':a47_0x93bb30(0x12b),'description':'Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20ID,\x20optionally\x20with\x20JSON\x20params','risk':a47_0x93bb30(0x106),'confirmationDescription':a47_0x93bb30(0xef),'flags':[{...ID_FLAG,'description':a47_0x93bb30(0x113)},{...PARAMS_FLAG,'description':a47_0x93bb30(0xfb)}],async 'validate'(_0x1a8c4c){const _0x317d58=a47_0x93bb30;parseExecParams(_0x1a8c4c[_0x317d58(0x112)](_0x317d58(0x101)));},async 'execute'(_0x262f1e){const _0x2aa5a5=a47_0x93bb30,_0x295a6a=_0x262f1e[_0x2aa5a5(0x119)]('id'),_0x5a1940=parseExecParams(_0x262f1e[_0x2aa5a5(0x112)](_0x2aa5a5(0x101))),_0x502136=await executePersonalBff(_0x295a6a,_0x262f1e['appCode'],_0x5a1940);return{'ok':!![],'data':{'result':_0x502136},'message':'Executed\x20Personal\x20Backend\x20Function\x20'+_0x295a6a};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a48_0x39be3b=a48_0xf044;(function(_0x5137d5,_0x4fc44c){const _0xa952f4=a48_0xf044,_0x35ad92=_0x5137d5();while(!![]){try{const _0x1f0aa6=parseInt(_0xa952f4(0xd8))/0x1+parseInt(_0xa952f4(0xdc))/0x2*(-parseInt(_0xa952f4(0xd0))/0x3)+parseInt(_0xa952f4(0xdd))/0x4+-parseInt(_0xa952f4(0xb8))/0x5*(parseInt(_0xa952f4(0xea))/0x6)+parseInt(_0xa952f4(0xd5))/0x7+-parseInt(_0xa952f4(0xe3))/0x8*(parseInt(_0xa952f4(0xd7))/0x9)+parseInt(_0xa952f4(0xe1))/0xa;if(_0x1f0aa6===_0x4fc44c)break;else _0x35ad92['push'](_0x35ad92['shift']());}catch(_0x1e3734){_0x35ad92['push'](_0x35ad92['shift']());}}}(a48_0x3bd6,0x2c3c0));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';function a48_0xf044(_0x33b228,_0x25e0b6){_0x33b228=_0x33b228-0xb5;const _0x3bd6b2=a48_0x3bd6();let _0xf044bd=_0x3bd6b2[_0x33b228];return _0xf044bd;}import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{serviceDefinitions}from'../commands/service/index.js';function a48_0x3bd6(){const _0x75f666=['48474bygPcO','init','map','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','6zYRUdx','1339856qrBZJU','Workspace','Knowledge\x20Base','auth','4027200SObuNg','values','940696Ervrnw','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','OCR','auth\x20init','app\x20init','Self\x20Update','App\x20Management','12AYAfpx','app\x20use','\x20\x20[write]','read','Agent\x20Schedules','command','description','SQL\x20Queries','service','719410WLeBcv','Personal\x20Backend\x20Function','defaultCommand','set','use','write','login','has','Logs','Schema','Service\x20Tree','Runtime\x20Permissions','list','get','clear','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','logs','push','install','app','Notification\x20Configs','Use\x20`lovrabet\x20config\x20init`\x20for\x20node\x20configuration,\x20then\x20`lovrabet\x20auth\x20login`\x20for\x20AccessKey\x20authentication.','Datasets','logs\x20clear','213117LcWdkV','from','show','config-list','risk','1740676mtKlZw','run','27eYjDBo'];a48_0x3bd6=function(){return _0x75f666;};return a48_0x3bd6();}import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{scheduleDefinitions}from'../commands/schedule/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x1eb8c7){const _0x3c592d=a48_0xf044;for(const _0x489d48 of _0x1eb8c7){definitions[_0x3c592d(0xbb)](_0x489d48[_0x3c592d(0xb7)]+':'+_0x489d48[_0x3c592d(0xef)],_0x489d48);let _0x49905c=serviceGroups['get'](_0x489d48[_0x3c592d(0xb7)]);!_0x49905c&&(_0x49905c=[],serviceGroups[_0x3c592d(0xbb)](_0x489d48['service'],_0x49905c)),_0x49905c[_0x3c592d(0xc9)](_0x489d48);}}function registerService(_0x2004dc,_0x562918,_0x4456e5){const _0x36fd10=a48_0xf044;registerDefinitions(_0x562918);const _0x33aca0=_0x3522bc=>_0x3522bc===_0x36fd10(0xed)?'':_0x3522bc===_0x36fd10(0xbd)?_0x36fd10(0xec):'\x20\x20[high-risk-write]',_0x56c27f={'service':_0x562918[0x0][_0x36fd10(0xb7)],'label':_0x2004dc,'commands':_0x562918[_0x36fd10(0xda)](_0x5b640b=>({'command':_0x5b640b[_0x36fd10(0xef)],'description':_0x5b640b[_0x36fd10(0xb5)],'tag':_0x33aca0(_0x5b640b[_0x36fd10(0xd4)])})),'defaultCommand':_0x4456e5?.[_0x36fd10(0xba)]??(_0x4456e5?.['isSingleCommand']?_0x562918[0x0][_0x36fd10(0xef)]:undefined),'isSingleCommand':_0x4456e5?.['isSingleCommand']};serviceRegistry[_0x36fd10(0xc9)](_0x56c27f),serviceByName[_0x36fd10(0xbb)](_0x56c27f[_0x36fd10(0xb7)],_0x56c27f);}registerService('Authentication',authDefinitions,{'defaultCommand':a48_0x39be3b(0xbe)}),registerService('User\x20Accounts',userAccountDefinitions),registerService(a48_0x39be3b(0xe9),appDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService(a48_0x39be3b(0xde),workspaceDefinitions),registerService('Runtime\x20App\x20Config',appConfigDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':'list'}),registerService('Runtime\x20Roles',roleDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService(a48_0x39be3b(0xc3),permitDefinitions),registerService('API\x20Documentation',apiDocDefinitions),registerService(a48_0x39be3b(0xce),datasetDefinitions),registerService('Instant\x20API',dataDefinitions),registerService(a48_0x39be3b(0xb6),sqlDefinitions),registerService('Backend\x20Function\x20Scripts',bffDefinitions),registerService(a48_0x39be3b(0xb9),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService('File',fileDefinitions),registerService(a48_0x39be3b(0xe5),ocrDefinitions),registerService(a48_0x39be3b(0xdf),kbDefinitions),registerService(a48_0x39be3b(0xcc),notificationDefinitions,{'defaultCommand':a48_0x39be3b(0xd3)}),registerService(a48_0x39be3b(0xee),scheduleDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService(a48_0x39be3b(0xc2),serviceDefinitions,{'defaultCommand':a48_0x39be3b(0xc4)}),registerService('Skills',skillDefinitions,{'defaultCommand':a48_0x39be3b(0xca)}),registerService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a48_0x39be3b(0xca)}),registerService(a48_0x39be3b(0xe8),[updateDefinition],{'defaultCommand':a48_0x39be3b(0xd6),'isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService(a48_0x39be3b(0xc1),[schemaDefinition],{'isSingleCommand':!![]}),registerService(a48_0x39be3b(0xc0),logsDefinitions,{'defaultCommand':a48_0x39be3b(0xd2)});export function findDefinition(_0x59da65,_0x1b7bd6){const _0x25c0ae=a48_0x39be3b;return definitions[_0x25c0ae(0xc5)](_0x59da65+':'+_0x1b7bd6);}export function resolveRemovedCommand(_0x1f2b7a,_0x362aab){const _0x5999b2=a48_0x39be3b;if(_0x1f2b7a===_0x5999b2(0xe0)&&_0x362aab===_0x5999b2(0xd9))return{'command':_0x5999b2(0xe6),'message':'`lovrabet\x20auth\x20init`\x20has\x20been\x20removed.','hint':_0x5999b2(0xcd)};if(_0x1f2b7a===_0x5999b2(0xcb)&&_0x362aab==='init')return{'command':_0x5999b2(0xe7),'message':_0x5999b2(0xe4),'hint':'Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.'};if(_0x1f2b7a===_0x5999b2(0xcb)&&_0x362aab===_0x5999b2(0xbc))return{'command':_0x5999b2(0xeb),'message':'`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','hint':'Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.'};if(_0x1f2b7a===_0x5999b2(0xc8)&&_0x362aab===_0x5999b2(0xc6))return{'command':_0x5999b2(0xcf),'message':_0x5999b2(0xc7),'hint':_0x5999b2(0xdb)};return undefined;}export function isKnownService(_0x59dde6){const _0x483d2f=a48_0x39be3b;return serviceByName[_0x483d2f(0xbf)](_0x59dde6);}export function getServiceEntry(_0x5628c7){const _0x367e59=a48_0x39be3b;return serviceByName[_0x367e59(0xc5)](_0x5628c7);}export function getAllDefinitions(){const _0x53e12a=a48_0x39be3b;return Array[_0x53e12a(0xd1)](definitions[_0x53e12a(0xe2)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a49_0x15bd3c=a49_0x1c34;(function(_0x31a6bf,_0x3a874b){const _0x556393=a49_0x1c34,_0x34e641=_0x31a6bf();while(!![]){try{const _0x33517e=-parseInt(_0x556393(0xc4))/0x1*(-parseInt(_0x556393(0xb8))/0x2)+-parseInt(_0x556393(0xbf))/0x3*(-parseInt(_0x556393(0xb2))/0x4)+parseInt(_0x556393(0xb3))/0x5*(-parseInt(_0x556393(0xc2))/0x6)+parseInt(_0x556393(0xc5))/0x7+parseInt(_0x556393(0xad))/0x8+-parseInt(_0x556393(0xb1))/0x9+parseInt(_0x556393(0xb9))/0xa;if(_0x33517e===_0x3a874b)break;else _0x34e641['push'](_0x34e641['shift']());}catch(_0x2582ba){_0x34e641['push'](_0x34e641['shift']());}}}(a49_0x3cdd,0xe87fe));function a49_0x3cdd(){const _0x5e1730=['121724ZfxkOW','7709300EAFEuO','Role\x20name','CUSTOM','body','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','role','1905OITyjJ','--name\x20must\x20not\x20be\x20blank.','create','331806xbNHKb','POST','4NSCplp','699034yvRtLl','high-risk-write','validation','string','appCode','name','Creates\x20a\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20After\x20creation\x20it\x20can\x20be\x20used\x20for\x20member\x20and\x20resource\x20permissions.','4337856yfzckO','/client/permit/role/create','build','trim','7365249jhLSGb','5248ZBgtow','65mfGGXF','description','str','Create\x20a\x20runtime\x20CUSTOM\x20role','remark'];a49_0x3cdd=function(){return _0x5e1730;};return a49_0x3cdd();}import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,readOptionalRuntimeRoleCode,ROLE_CODE_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x5edae4){const _0x648680=a49_0x1c34,_0x1c97ed=_0x5edae4[_0x648680(0xb5)](_0x648680(0xab))[_0x648680(0xb0)]();if(!_0x1c97ed)throw CliErrors[_0x648680(0xa8)](_0x648680(0xc0));const _0x54ebb1=_0x5edae4[_0x648680(0xb5)](_0x648680(0xb7))[_0x648680(0xb0)](),_0x2631f3=readOptionalRuntimeRoleCode(_0x5edae4);return{'appCode':_0x5edae4[_0x648680(0xaa)],'roleName':_0x1c97ed,..._0x2631f3?{'roleCode':_0x2631f3}:{},..._0x54ebb1?{'remark':_0x54ebb1}:{}};}function a49_0x1c34(_0x40390d,_0x385bb6){_0x40390d=_0x40390d-0xa8;const _0x3cdd24=a49_0x3cdd();let _0x1c3419=_0x3cdd24[_0x40390d];return _0x1c3419;}export const roleCreate={'service':a49_0x15bd3c(0xbe),'command':a49_0x15bd3c(0xc1),'description':a49_0x15bd3c(0xb6),'risk':a49_0x15bd3c(0xc6),'confirmationDescription':a49_0x15bd3c(0xac),'flags':[{'name':a49_0x15bd3c(0xab),'type':a49_0x15bd3c(0xa9),'required':!![],'description':a49_0x15bd3c(0xba)},ROLE_CODE_FLAG,{'name':a49_0x15bd3c(0xb7),'type':'string','description':'Optional\x20role\x20remark'}],async 'validate'(_0x1337ae){input(_0x1337ae);},async 'dryRun'(_0x5c05a7){const _0x3f6fc5=a49_0x15bd3c;return dryRun(_0x3f6fc5(0xc3),_0x3f6fc5(0xae))[_0x3f6fc5(0xbc)]({'roleType':_0x3f6fc5(0xbb),...input(_0x5c05a7)})[_0x3f6fc5(0xb4)](_0x3f6fc5(0xbd))[_0x3f6fc5(0xaf)]();},async 'execute'(_0x2be5fe){const _0x170356=a49_0x15bd3c,_0x4ae4d3=await createRuntimeAppRole(input(_0x2be5fe));return{'ok':!![],'data':runtimeRoleWriteResult(_0x170356(0xc1),{'roleId':_0x4ae4d3['id']},null,projectRuntimeRole(_0x4ae4d3),{'method':'POST','path':'/client/permit/role/create'})};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a50_0x5cda(){const _0x37ba14=['/client/permit/role/delete','16YRXDXX','POST','high-risk-write','10xSeOkN','12JKSOmE','13cCAqSK','954821UqTdVX','build','body','delete','2866017zSLMMi','9166707EYEXbf','9027vinLun','description','3468GkiNef','16664568UBCPNo','1186218IWhifB','Deletes\x20the\x20custom\x20role\x20in\x20the\x20current\x20runtime\x20app.\x20Membership\x20and\x20permission\x20config\x20for\x20that\x20role\x20may\x20become\x20invalid.','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','2615rZxAkg','appCode','8xynfRh'];a50_0x5cda=function(){return _0x37ba14;};return a50_0x5cda();}const a50_0x42df29=a50_0x4cf5;(function(_0x59a5d6,_0x10a116){const _0x496462=a50_0x4cf5,_0x5a51e8=_0x59a5d6();while(!![]){try{const _0x46a8a5=-parseInt(_0x496462(0xfd))/0x1*(parseInt(_0x496462(0xf5))/0x2)+parseInt(_0x496462(0x101))/0x3*(-parseInt(_0x496462(0xef))/0x4)+-parseInt(_0x496462(0xed))/0x5*(parseInt(_0x496462(0xff))/0x6)+parseInt(_0x496462(0xf7))/0x7*(-parseInt(_0x496462(0xf1))/0x8)+parseInt(_0x496462(0xfc))/0x9*(parseInt(_0x496462(0xf4))/0xa)+-parseInt(_0x496462(0xfb))/0xb+parseInt(_0x496462(0x100))/0xc*(parseInt(_0x496462(0xf6))/0xd);if(_0x46a8a5===_0x10a116)break;else _0x5a51e8['push'](_0x5a51e8['shift']());}catch(_0x3cbe77){_0x5a51e8['push'](_0x5a51e8['shift']());}}}(a50_0x5cda,0xb1658));import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x4fbe35){const _0x2cb772=a50_0x4cf5,_0xcbc37a=await getRuntimeRoleById(_0x4fbe35[_0x2cb772(0xee)],_0x4fbe35['num']('id'));return assertCustomRuntimeRole(_0xcbc37a,_0x2cb772(0xfa)),_0xcbc37a;}function a50_0x4cf5(_0xa6b502,_0x130ea5){_0xa6b502=_0xa6b502-0xec;const _0x5cda99=a50_0x5cda();let _0x4cf5e1=_0x5cda99[_0xa6b502];return _0x4cf5e1;}export const roleDelete={'service':'role','command':a50_0x42df29(0xfa),'description':'Delete\x20a\x20runtime\x20CUSTOM\x20role','risk':a50_0x42df29(0xf3),'confirmationDescription':a50_0x42df29(0x102),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x500ffd){const _0x404a17=a50_0x42df29,_0x4da7c9=await prepare(_0x500ffd);return dryRun(_0x404a17(0xf2),'/client/permit/role/delete')[_0x404a17(0xf9)]({'id':_0x4da7c9['id']})[_0x404a17(0xfe)](_0x404a17(0xec))[_0x404a17(0xf8)]();},async 'execute'(_0x41eef5){const _0x12b768=a50_0x42df29,_0x22635f=await prepare(_0x41eef5);return await deleteRuntimeAppRole(_0x22635f['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0x22635f['id']},projectRuntimeRole(_0x22635f),null,{'method':_0x12b768(0xf2),'path':_0x12b768(0xf0)})};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a51_0x31555f=a51_0x558a;function a51_0x2bcf(){const _0x458fac=['role','11432sUjAnT','653802XAuExI','24qjxyPX','1430622fmRDlF','261FoZYVN','6899242SRlJiU','read','num','14320080wkbBPi','5832880aQxSHE','1vPZbBn','detail','47072qugUxx','appCode','runtime'];a51_0x2bcf=function(){return _0x458fac;};return a51_0x2bcf();}(function(_0x253f07,_0xa6fe59){const _0x4eadf1=a51_0x558a,_0x1f745e=_0x253f07();while(!![]){try{const _0x426805=parseInt(_0x4eadf1(0x124))/0x1*(-parseInt(_0x4eadf1(0x126))/0x2)+parseInt(_0x4eadf1(0x11e))/0x3*(-parseInt(_0x4eadf1(0x11a))/0x4)+-parseInt(_0x4eadf1(0x123))/0x5+parseInt(_0x4eadf1(0x11b))/0x6+parseInt(_0x4eadf1(0x11f))/0x7+parseInt(_0x4eadf1(0x11c))/0x8*(-parseInt(_0x4eadf1(0x11d))/0x9)+parseInt(_0x4eadf1(0x122))/0xa;if(_0x426805===_0xa6fe59)break;else _0x1f745e['push'](_0x1f745e['shift']());}catch(_0x2a4a7b){_0x1f745e['push'](_0x1f745e['shift']());}}}(a51_0x2bcf,0x95285));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a51_0x558a(_0x13abe5,_0x3c2167){_0x13abe5=_0x13abe5-0x118;const _0x2bcfde=a51_0x2bcf();let _0x558ab1=_0x2bcfde[_0x13abe5];return _0x558ab1;}export const roleDetail={'service':a51_0x31555f(0x119),'command':a51_0x31555f(0x125),'description':'Show\x20one\x20runtime\x20role\x20by\x20ID','risk':a51_0x31555f(0x120),'flags':[ROLE_ID_FLAG],async 'execute'(_0x1dc469){const _0x44b767=a51_0x31555f,_0xe07610=await getRuntimeRoleById(_0x1dc469[_0x44b767(0x127)],_0x1dc469[_0x44b767(0x121)]('id'));return{'ok':!![],'data':{'scope':_0x44b767(0x118),'role':projectRuntimeRole(_0xe07610)}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x157a9e,_0x47009e){const _0x1922da=a52_0x2429,_0x7fa5b4=_0x157a9e();while(!![]){try{const _0x290ab4=-parseInt(_0x1922da(0x90))/0x1+-parseInt(_0x1922da(0x8f))/0x2*(parseInt(_0x1922da(0x8e))/0x3)+parseInt(_0x1922da(0x91))/0x4*(parseInt(_0x1922da(0x93))/0x5)+-parseInt(_0x1922da(0x8c))/0x6+parseInt(_0x1922da(0x92))/0x7+-parseInt(_0x1922da(0x8d))/0x8+parseInt(_0x1922da(0x94))/0x9;if(_0x290ab4===_0x47009e)break;else _0x7fa5b4['push'](_0x7fa5b4['shift']());}catch(_0x3291a6){_0x7fa5b4['push'](_0x7fa5b4['shift']());}}}(a52_0x202a,0x265b5));import{roleList}from'../../commands/role/list.js';function a52_0x2429(_0x4e3966,_0x4828b5){_0x4e3966=_0x4e3966-0x8c;const _0x202ad0=a52_0x202a();let _0x2429df=_0x202ad0[_0x4e3966];return _0x2429df;}import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';function a52_0x202a(){const _0x2ccf33=['1854330RfVCDf','2483120KbVsfE','96HyCOFf','4516egWakx','213380DhCudY','4egMAri','1738639CmyUhK','477655Uiipqk','6464538HsDKYn'];a52_0x202a=function(){return _0x2ccf33;};return a52_0x202a();}export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a53_0x4d2f52=a53_0x3cb3;(function(_0x16b51c,_0x491af1){const _0x75aa73=a53_0x3cb3,_0xe63e7d=_0x16b51c();while(!![]){try{const _0x5a5a49=-parseInt(_0x75aa73(0x1dc))/0x1*(-parseInt(_0x75aa73(0x1e1))/0x2)+-parseInt(_0x75aa73(0x1eb))/0x3*(-parseInt(_0x75aa73(0x1db))/0x4)+parseInt(_0x75aa73(0x1fa))/0x5+parseInt(_0x75aa73(0x1fd))/0x6*(parseInt(_0x75aa73(0x1ee))/0x7)+-parseInt(_0x75aa73(0x1f2))/0x8*(-parseInt(_0x75aa73(0x1da))/0x9)+parseInt(_0x75aa73(0x1f9))/0xa*(parseInt(_0x75aa73(0x1e7))/0xb)+-parseInt(_0x75aa73(0x1e4))/0xc;if(_0x5a5a49===_0x491af1)break;else _0xe63e7d['push'](_0xe63e7d['shift']());}catch(_0x1f1a4d){_0xe63e7d['push'](_0xe63e7d['shift']());}}}(a53_0x3963,0x2b27e));import{listRuntimeAppRoles}from'../../core/api-client.js';function a53_0x3cb3(_0x4c842e,_0x383fd9){_0x4c842e=_0x4c842e-0x1d5;const _0x3963b9=a53_0x3963();let _0x3cb3cb=_0x3963b9[_0x4c842e];return _0x3cb3cb;}function a53_0x3963(){const _0x18e564=['pagesize','--page\x20must\x20be\x20a\x20positive\x20integer.','58792OPiKWv','num','toUpperCase','role','str','paging','slice','152980fwMSpb','34215hncHbh','string','list','6CHOPQU','roleType','length','trim','type','Page\x20number','page','297PGzXKn','4UacwXd','110777SwHYwT','Page\x20size\x20from\x201\x20to\x20100','Invalid\x20runtime\x20role\x20type:\x20','appCode','isSafeInteger','2UFJxkQ','validation','includes','12727788avvuVv','number','Runtime\x20role\x20type','253zSKEwW','runtime','items','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','847155qMxIgz','name','map','1701273GeTQZp','List\x20runtime\x20roles\x20for\x20the\x20current\x20app'];a53_0x3963=function(){return _0x18e564;};return a53_0x3963();}import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a53_0x4d2f52(0x1f5),'command':a53_0x4d2f52(0x1fc),'description':a53_0x4d2f52(0x1ef),'risk':'read','flags':[{'name':a53_0x4d2f52(0x1d7),'type':a53_0x4d2f52(0x1fb),'enum':RUNTIME_ROLE_TYPES,'description':a53_0x4d2f52(0x1e6)},{'name':'name','type':a53_0x4d2f52(0x1fb),'description':'Fuzzy\x20role-name\x20filter'},{'name':a53_0x4d2f52(0x1d9),'type':'number','default':0x1,'description':a53_0x4d2f52(0x1d8)},{'name':a53_0x4d2f52(0x1f0),'type':a53_0x4d2f52(0x1e5),'default':0x64,'description':a53_0x4d2f52(0x1dd)}],async 'validate'(_0x5d3a3f){const _0xc7a8f5=a53_0x4d2f52,_0x27dfea=_0x5d3a3f['str'](_0xc7a8f5(0x1d7))[_0xc7a8f5(0x1f4)]();if(_0x27dfea&&!RUNTIME_ROLE_TYPES[_0xc7a8f5(0x1e3)](_0x27dfea))throw CliErrors[_0xc7a8f5(0x1e2)](_0xc7a8f5(0x1de)+_0x27dfea+'.');const _0x9ed6a0=_0x5d3a3f['num']('page',0x1),_0x27843=_0x5d3a3f[_0xc7a8f5(0x1f3)](_0xc7a8f5(0x1f0),0x64);if(!Number['isSafeInteger'](_0x9ed6a0)||_0x9ed6a0<0x1)throw CliErrors['validation'](_0xc7a8f5(0x1f1));if(!Number[_0xc7a8f5(0x1e0)](_0x27843)||_0x27843<0x1||_0x27843>0x64)throw CliErrors[_0xc7a8f5(0x1e2)](_0xc7a8f5(0x1ea));},async 'execute'(_0x14a551){const _0x5e3390=a53_0x4d2f52,_0x2cd262=_0x14a551[_0x5e3390(0x1f6)]('type')[_0x5e3390(0x1f4)](),_0x32816f=_0x14a551[_0x5e3390(0x1f6)](_0x5e3390(0x1ec))[_0x5e3390(0x1d6)](),_0xf330de=_0x14a551[_0x5e3390(0x1f3)]('page',0x1),_0x161b25=_0x14a551[_0x5e3390(0x1f3)](_0x5e3390(0x1f0),0x64);if(_0x2cd262){const _0x577a21=(await listAllRuntimeRoles(_0x14a551[_0x5e3390(0x1df)],{..._0x32816f?{'roleName':_0x32816f}:{}}))['filter'](_0x4d04bc=>_0x4d04bc[_0x5e3390(0x1fe)]===_0x2cd262),_0x3aa75d=(_0xf330de-0x1)*_0x161b25;return{'ok':!![],'data':{'scope':_0x5e3390(0x1e8),'roles':_0x577a21[_0x5e3390(0x1f8)](_0x3aa75d,_0x3aa75d+_0x161b25)[_0x5e3390(0x1ed)](projectRuntimeRole),'paging':{'currentPage':_0xf330de,'pageSize':_0x161b25,'totalCount':_0x577a21[_0x5e3390(0x1d5)]}}};}const _0x27d78f=await listRuntimeAppRoles(_0x14a551[_0x5e3390(0x1df)],{..._0x32816f?{'roleName':_0x32816f}:{},'currentPage':_0xf330de,'pageSize':_0x161b25});return{'ok':!![],'data':{'scope':_0x5e3390(0x1e8),'roles':_0x27d78f[_0x5e3390(0x1e9)][_0x5e3390(0x1ed)](projectRuntimeRole),'paging':_0x27d78f[_0x5e3390(0x1f7)]}};}};
|
|
@@ -3,11 +3,13 @@ import type { FlagDef, RuntimeContext } from "../../framework/types.js";
|
|
|
3
3
|
export declare const RUNTIME_ROLE_TYPES: RuntimeAppRoleType[];
|
|
4
4
|
export declare const ROLE_ID_FLAG: FlagDef;
|
|
5
5
|
export declare const ROLE_REF_FLAG: FlagDef;
|
|
6
|
+
export declare const ROLE_CODE_FLAG: FlagDef;
|
|
6
7
|
export declare const USER_ID_FLAG: FlagDef;
|
|
7
8
|
export declare const EXPECT_USER_COUNT_FLAG: FlagDef;
|
|
8
9
|
export declare function isBuiltinRuntimeRole(roleType: string): boolean;
|
|
9
10
|
export declare function assertCustomRuntimeRole(role: RuntimeAppRole, action: string): void;
|
|
10
11
|
export declare function projectRuntimeRole(role: RuntimeAppRole): Record<string, unknown>;
|
|
12
|
+
export declare function readOptionalRuntimeRoleCode(ctx: RuntimeContext): string | undefined;
|
|
11
13
|
export declare function getRuntimeRoleById(appCode: string, roleId: number): Promise<RuntimeAppRole>;
|
|
12
14
|
export declare function listAllRuntimeRoles(appCode: string, options?: {
|
|
13
15
|
roleName?: string;
|