@lovrabet/rabetbase-cli 2.3.4 → 2.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/shared/compare-table.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/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/update.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/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-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/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a137_0x488f8e=a137_0x21ba;(function(_0x5bf601,_0x54bcae){const _0x56b3c4=a137_0x21ba,_0x1b43e2=_0x5bf601();while(!![]){try{const _0x133679=parseInt(_0x56b3c4(0x17e))/0x1+parseInt(_0x56b3c4(0x1af))/0x2*(parseInt(_0x56b3c4(0x1a8))/0x3)+parseInt(_0x56b3c4(0x1b2))/0x4+parseInt(_0x56b3c4(0x1b0))/0x5*(parseInt(_0x56b3c4(0x194))/0x6)+-parseInt(_0x56b3c4(0x188))/0x7*(parseInt(_0x56b3c4(0x177))/0x8)+parseInt(_0x56b3c4(0x19c))/0x9+parseInt(_0x56b3c4(0x1b1))/0xa*(-parseInt(_0x56b3c4(0x18b))/0xb);if(_0x133679===_0x54bcae)break;else _0x1b43e2['push'](_0x1b43e2['shift']());}catch(_0x188759){_0x1b43e2['push'](_0x1b43e2['shift']());}}}(a137_0xb483,0xc27eb));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x306426){const _0x2295bc=a137_0x21ba;for(const _0x5b7125 of _0x306426){definitions[_0x2295bc(0x173)](_0x5b7125[_0x2295bc(0x191)]+':'+_0x5b7125[_0x2295bc(0x196)],_0x5b7125);let _0x166ab6=serviceGroups[_0x2295bc(0x198)](_0x5b7125['service']);!_0x166ab6&&(_0x166ab6=[],serviceGroups['set'](_0x5b7125[_0x2295bc(0x191)],_0x166ab6)),_0x166ab6[_0x2295bc(0x19f)](_0x5b7125);}}function registerDeclarativeService(_0x4ae0eb,_0x39e6c1,_0x1d9a3b){const _0x3f22b1=a137_0x21ba;registerDefinitions(_0x39e6c1);_0x1d9a3b?.[_0x3f22b1(0x1ab)]&®isterDefinitions([_0x1d9a3b[_0x3f22b1(0x1ab)]]);const _0x2c746c=_0x54c3ed=>_0x54c3ed==='read'?'':_0x54c3ed===_0x3f22b1(0x183)?_0x3f22b1(0x1a5):_0x3f22b1(0x1ad),_0xb1c308={'service':_0x39e6c1[0x0]['service'],'label':_0x4ae0eb,'commands':_0x39e6c1[_0x3f22b1(0x1a4)](_0x3d3555=>!_0x3d3555[_0x3f22b1(0x19b)])[_0x3f22b1(0x1aa)](_0x376369=>({'command':_0x376369[_0x3f22b1(0x196)],'description':_0x376369['description'],'tag':_0x2c746c(_0x376369[_0x3f22b1(0x1a2)])})),'declarative':!![],'defaultCommand':_0x1d9a3b?.['defaultCommand']??(_0x1d9a3b?.['isSingleCommand']?_0x39e6c1[0x0][_0x3f22b1(0x196)]:undefined),'wildcardDef':_0x1d9a3b?.[_0x3f22b1(0x1ab)],'isSingleCommand':_0x1d9a3b?.[_0x3f22b1(0x181)]};serviceRegistry[_0x3f22b1(0x19f)](_0xb1c308),serviceByName[_0x3f22b1(0x173)](_0xb1c308[_0x3f22b1(0x191)],_0xb1c308);}registerDeclarativeService(a137_0x488f8e(0x1ae),initDefinitions,{'defaultCommand':a137_0x488f8e(0x1ac),'isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a137_0x488f8e(0x182),workspaceDefinitions),registerDeclarativeService(a137_0x488f8e(0x19e),appDefinitions),registerDeclarativeService(a137_0x488f8e(0x186),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a137_0x488f8e(0x18d),datasetDefinitions),registerDeclarativeService(a137_0x488f8e(0x17c),pageDefinitions),registerDeclarativeService(a137_0x488f8e(0x1a3),apiDefinitions),registerDeclarativeService(a137_0x488f8e(0x17f),dataDefinitions),registerDeclarativeService('BFF\x20Scripts',bffDefinitions),registerDeclarativeService('SQL\x20Queries',sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a137_0x488f8e(0x18e),permitDefinitions),registerDeclarativeService(a137_0x488f8e(0x179),appConfigDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a137_0x488f8e(0x197),configDefinitions),registerDeclarativeService(a137_0x488f8e(0x17d),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a137_0x488f8e(0x1a7),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a137_0x488f8e(0x172)}),registerDeclarativeService(a137_0x488f8e(0x192),logsDefinitions,{'defaultCommand':a137_0x488f8e(0x180)}),registerDeclarativeService(a137_0x488f8e(0x18f),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a137_0x488f8e(0x189)]=[{'command':a137_0x488f8e(0x174),'description':a137_0x488f8e(0x1a0),'tag':''}];}function a137_0x21ba(_0x324302,_0x12359a){_0x324302=_0x324302-0x172;const _0xb4839d=a137_0xb483();let _0x21ba51=_0xb4839d[_0x324302];return _0x21ba51;}function a137_0xb483(){const _0xc1bbd2=['skill','create','hidden','2474982WdGokf','app','App\x20Management','push','Run\x20any\x20package.json\x20script','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','risk','API\x20Development','filter','\x20\x20[write]','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','Schema','3SfjmDq','`rabetbase\x20','map','wildcardDef','run','\x20\x20[high-risk-write]','Quick\x20Start','264154pMCeBV','6229805sGjfOM','50cZznce','2277124ZhMYsw','skills','install','set','<script>','skill\x20','has','184GqAGfJ','use','Runtime\x20App\x20Config\x20Management','start','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Smart\x20List\x20Pages','Diagnostics','804447XhzUhh','Instant\x20API','show','isSingleCommand','Workspace','write','logout','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','Authentication','`rabetbase\x20skills`\x20has\x20been\x20removed.','352072bhuCVU','commands','auth','2361271UJgyvC','remote','Dataset\x20&\x20Operations','Permissions','Run\x20Scripts','from','service','Logs','project','6mNdCVQ','`\x20has\x20been\x20removed.','command','Configuration','get'];a137_0xb483=function(){return _0xc1bbd2;};return a137_0xb483();}export const deprecatedAliases={'create':{'service':a137_0x488f8e(0x193),'command':a137_0x488f8e(0x19a)},'start':{'service':a137_0x488f8e(0x1ac),'command':a137_0x488f8e(0x17a)},'build':{'service':a137_0x488f8e(0x1ac),'command':'build'},'preview':{'service':a137_0x488f8e(0x1ac),'command':'preview'},'logout':{'service':a137_0x488f8e(0x18a),'command':a137_0x488f8e(0x184)}};const CLI_SKILL_INSTALL_REMOVED_HINT=a137_0x488f8e(0x1a1),APP_REMOTE_REMOVED_HINT=a137_0x488f8e(0x1a6),APP_USE_REMOVED_HINT=a137_0x488f8e(0x17b);export function resolveRemovedCommand(_0x31b92c,_0x45bfe5){const _0x465e24=a137_0x488f8e;if(_0x31b92c===_0x465e24(0x199)){const _0x407dc8=_0x45bfe5?_0x465e24(0x175)+_0x45bfe5:_0x465e24(0x199);return{'command':_0x407dc8,'message':_0x465e24(0x1a9)+_0x407dc8+_0x465e24(0x195),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x31b92c===_0x465e24(0x1b3))return{'command':_0x465e24(0x1b3),'message':_0x465e24(0x187),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x31b92c===_0x465e24(0x19d)&&_0x45bfe5===_0x465e24(0x18c))return{'command':'app\x20remote','message':'`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','hint':APP_REMOTE_REMOVED_HINT};if(_0x31b92c===_0x465e24(0x19d)&&_0x45bfe5===_0x465e24(0x178))return{'command':'app\x20use','message':_0x465e24(0x185),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a137_0x488f8e(0x19a)}};export function resolveDeprecatedSubcommand(_0x3baa23,_0x568f2f){return deprecatedSubcommands[_0x3baa23]?.[_0x568f2f];}export function findDefinition(_0x1accb1,_0x3df804){const _0x5551f5=a137_0x488f8e;return definitions[_0x5551f5(0x198)](_0x1accb1+':'+_0x3df804);}export function isKnownService(_0x233596){const _0x5b84ed=a137_0x488f8e;return serviceByName[_0x5b84ed(0x176)](_0x233596);}export function isDeclarativeService(_0x1f3e3e){const _0xa16ed=a137_0x488f8e;return serviceGroups[_0xa16ed(0x176)](_0x1f3e3e)||serviceByName[_0xa16ed(0x198)](_0x1f3e3e)?.[_0xa16ed(0x1ab)]!==undefined;}export function getServiceEntry(_0x22e11f){const _0x3dd3ad=a137_0x488f8e;return serviceByName[_0x3dd3ad(0x198)](_0x22e11f);}export function getLegacyHandler(_0x33f18d,_0x330888){return undefined;}export function getAllDefinitions(){const _0x5c5012=a137_0x488f8e;return Array[_0x5c5012(0x190)](definitions['values']());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a138_0x3a2fad=a138_0xe449;(function(_0x282eca,_0xac264a){const _0x38902b=a138_0xe449,_0x3ed21b=_0x282eca();while(!![]){try{const _0x388672=-parseInt(_0x38902b(0x85))/0x1+-parseInt(_0x38902b(0x91))/0x2+parseInt(_0x38902b(0x7c))/0x3*(-parseInt(_0x38902b(0x7d))/0x4)+-parseInt(_0x38902b(0x86))/0x5+parseInt(_0x38902b(0x7e))/0x6*(-parseInt(_0x38902b(0x79))/0x7)+parseInt(_0x38902b(0x7f))/0x8*(-parseInt(_0x38902b(0x82))/0x9)+parseInt(_0x38902b(0x8a))/0xa;if(_0x388672===_0xac264a)break;else _0x3ed21b['push'](_0x3ed21b['shift']());}catch(_0x26f9fe){_0x3ed21b['push'](_0x3ed21b['shift']());}}}(a138_0x526c,0xcb86b));import{createAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';function a138_0xe449(_0x3d22a5,_0x393d1f){_0x3d22a5=_0x3d22a5-0x79;const _0x526c40=a138_0x526c();let _0xe44992=_0x526c40[_0x3d22a5];return _0xe44992;}const CREATE_PATH=a138_0x3a2fad(0x92);function readName(_0x157d14){const _0x51e9c1=a138_0x3a2fad,_0x16e3de=_0x157d14[_0x51e9c1(0x93)](_0x51e9c1(0x83))[_0x51e9c1(0x7a)]();if(!_0x16e3de)throw CliErrors['flagMissing'](_0x51e9c1(0x83),'Pass\x20--name\x20<roleName>.');if(_0x16e3de[_0x51e9c1(0x8b)]>0x40)throw CliErrors[_0x51e9c1(0x8e)](_0x51e9c1(0x88));return _0x16e3de;}export const roleCreate={'service':a138_0x3a2fad(0x90),'command':a138_0x3a2fad(0x8d),'description':a138_0x3a2fad(0x8f),'risk':a138_0x3a2fad(0x80),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x38f8ab){readName(_0x38f8ab);},async 'dryRun'(_0x423f78){const _0x36fc05=a138_0x3a2fad,_0x4e31f9=readName(_0x423f78),_0x5d9fa0=_0x423f78[_0x36fc05(0x93)](_0x36fc05(0x84))['trim']()||undefined;return asDryRunResult({'operation':'create','selector':{'appCode':_0x423f78[_0x36fc05(0x8c)],'roleName':_0x4e31f9},'before':null,'after':{'roleName':_0x4e31f9,'roleType':_0x36fc05(0x87),'remark':_0x5d9fa0},'dryRun':!![],'backend':{'method':_0x36fc05(0x7b),'path':CREATE_PATH},'warnings':[]},{'method':_0x36fc05(0x7b),'url':CREATE_PATH});},async 'execute'(_0x3939ed){const _0x299d0e=a138_0x3a2fad,_0x3236d7=readName(_0x3939ed),_0x4bccab=_0x3939ed[_0x299d0e(0x93)](_0x299d0e(0x84))[_0x299d0e(0x7a)]()||undefined,_0x383bde=await createAppRole({'appCode':_0x3939ed[_0x299d0e(0x8c)],'roleName':_0x3236d7,..._0x4bccab?{'remark':_0x4bccab}:{}});return{'ok':!![],'data':{'operation':'create','selector':{'appCode':_0x3939ed['appCode'],'roleId':_0x383bde['id'],'roleName':_0x3236d7},'before':null,'after':projectRole(_0x383bde),'dryRun':![],'backend':{'method':_0x299d0e(0x7b),'path':CREATE_PATH},'warnings':[]},'message':_0x299d0e(0x81)+_0x383bde[_0x299d0e(0x89)]+_0x299d0e(0x94)+_0x383bde['id']+')'};}};function a138_0x526c(){const _0x22b4ce=['955035QnQWWO','name','remark','149420XVUlHf','3913705RXLdTi','CUSTOM','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','roleName','59871420VxxMBh','length','appCode','create','validation','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','role','941574nlAOnM','/smartapi/permit/role/create','str','\x20(id=','7APapKK','trim','POST','2661sbYjgR','3832vsISNq','8491170OAbopI','112MGWlRE','write','Created\x20role\x20'];a138_0x526c=function(){return _0x22b4ce;};return a138_0x526c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a139_0xf735ce=a139_0x40de;(function(_0x38e139,_0x23e5dd){const _0x22593b=a139_0x40de,_0x2d160f=_0x38e139();while(!![]){try{const _0x244186=-parseInt(_0x22593b(0x70))/0x1+-parseInt(_0x22593b(0x77))/0x2*(parseInt(_0x22593b(0x7c))/0x3)+-parseInt(_0x22593b(0x7d))/0x4+-parseInt(_0x22593b(0x76))/0x5*(-parseInt(_0x22593b(0x75))/0x6)+parseInt(_0x22593b(0x7f))/0x7*(-parseInt(_0x22593b(0x6f))/0x8)+-parseInt(_0x22593b(0x71))/0x9+parseInt(_0x22593b(0x6e))/0xa*(parseInt(_0x22593b(0x81))/0xb);if(_0x244186===_0x23e5dd)break;else _0x2d160f['push'](_0x2d160f['shift']());}catch(_0x44f6ae){_0x2d160f['push'](_0x2d160f['shift']());}}}(a139_0x238c,0xc6616));import{deleteAppRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a139_0x40de(_0xf2f261,_0x48b8c1){_0xf2f261=_0xf2f261-0x6a;const _0x238c05=a139_0x238c();let _0x40de5e=_0x238c05[_0xf2f261];return _0x40de5e;}function a139_0x238c(){const _0x14105a=['Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','delete','10ONUZiD','221608xPDNjk','154631PnwKfV','1948932tBrCTh','roleName','num','POST','85578QJmAgj','25CFMcaK','405550kLrahm','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','role','\x20(id=','high-risk-write','3lqQwvS','4347324nQFpkY','Deleted\x20role\x20','7wSofex','Role\x20still\x20has\x20','26727107NlufCh','userCount','appCode'];a139_0x238c=function(){return _0x14105a;};return a139_0x238c();}import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH='/smartapi/permit/role/delete';export const roleDelete={'service':a139_0xf735ce(0x79),'command':a139_0xf735ce(0x6d),'description':a139_0xf735ce(0x6c),'risk':a139_0xf735ce(0x7b),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x17e08e){const _0x4956b9=a139_0xf735ce,_0x495b54=_0x17e08e[_0x4956b9(0x73)]('id'),_0x246d73=await getRoleById(_0x17e08e[_0x4956b9(0x6b)],_0x495b54);return assertCustomRole(_0x246d73,_0x4956b9(0x6d)),asDryRunResult({'operation':_0x4956b9(0x6d),'selector':{'appCode':_0x17e08e[_0x4956b9(0x6b)],'roleId':_0x495b54,'roleName':_0x246d73[_0x4956b9(0x72)]},'before':projectRole(_0x246d73),'after':null,'dryRun':!![],'backend':{'method':_0x4956b9(0x74),'path':DELETE_PATH},'warnings':_0x246d73[_0x4956b9(0x6a)]>0x0?[_0x4956b9(0x80)+_0x246d73[_0x4956b9(0x6a)]+_0x4956b9(0x78)]:[]},{'method':_0x4956b9(0x74),'url':DELETE_PATH});},async 'execute'(_0x82659d){const _0x4e5a11=a139_0xf735ce,_0x2cd673=_0x82659d[_0x4e5a11(0x73)]('id'),_0x772222=await getRoleById(_0x82659d[_0x4e5a11(0x6b)],_0x2cd673);return assertCustomRole(_0x772222,_0x4e5a11(0x6d)),await deleteAppRole(_0x2cd673),{'ok':!![],'data':{'operation':_0x4e5a11(0x6d),'selector':{'appCode':_0x82659d['appCode'],'roleId':_0x2cd673,'roleName':_0x772222[_0x4e5a11(0x72)]},'before':projectRole(_0x772222),'after':null,'dryRun':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[]},'message':_0x4e5a11(0x7e)+_0x772222[_0x4e5a11(0x72)]+_0x4e5a11(0x7a)+_0x2cd673+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a140_0x37d769=a140_0x3aaa;(function(_0x1bd82a,_0x47ca9e){const _0x1d800f=a140_0x3aaa,_0x361f0c=_0x1bd82a();while(!![]){try{const _0x8b927d=parseInt(_0x1d800f(0x1ee))/0x1+parseInt(_0x1d800f(0x1f6))/0x2*(parseInt(_0x1d800f(0x1f4))/0x3)+-parseInt(_0x1d800f(0x1ef))/0x4*(parseInt(_0x1d800f(0x1f3))/0x5)+parseInt(_0x1d800f(0x1eb))/0x6+-parseInt(_0x1d800f(0x1f2))/0x7*(-parseInt(_0x1d800f(0x1ea))/0x8)+parseInt(_0x1d800f(0x1e9))/0x9*(parseInt(_0x1d800f(0x1f7))/0xa)+-parseInt(_0x1d800f(0x1f5))/0xb;if(_0x8b927d===_0x47ca9e)break;else _0x361f0c['push'](_0x361f0c['shift']());}catch(_0x23b019){_0x361f0c['push'](_0x361f0c['shift']());}}}(a140_0x182e,0x654cb));function a140_0x182e(){const _0x137b68=['192636KMvoxz','56uqzFWQ','1836528XbFHPU','read','roleName','156196bvyPtZ','2266660yYGHBN','appCode','roleType','328377FRtAFm','5DZNQjc','2655lJDDlQ','1795607kqToRJ','752fQKVeN','10gbxkCG'];a140_0x182e=function(){return _0x137b68;};return a140_0x182e();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a140_0x3aaa(_0x521403,_0x199783){_0x521403=_0x521403-0x1e9;const _0x182e6d=a140_0x182e();let _0x3aaa36=_0x182e6d[_0x521403];return _0x3aaa36;}export const roleDetail={'service':'role','command':'detail','description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a140_0x37d769(0x1ec),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x3a0fcf){const _0x10db26=a140_0x37d769,_0xe07282=_0x3a0fcf['num']('id'),_0x2a970c=await getRoleById(_0x3a0fcf[_0x10db26(0x1f0)],_0xe07282);return{'ok':!![],'data':{'role':projectRole(_0x2a970c)},'message':'Role\x20'+_0x2a970c[_0x10db26(0x1ed)]+'\x20('+_0x2a970c[_0x10db26(0x1f1)]+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1242f8,_0x34eb90){const _0x8271c4=a141_0x1886,_0xb95f24=_0x1242f8();while(!![]){try{const _0x11e742=-parseInt(_0x8271c4(0x167))/0x1*(parseInt(_0x8271c4(0x162))/0x2)+-parseInt(_0x8271c4(0x166))/0x3*(parseInt(_0x8271c4(0x161))/0x4)+parseInt(_0x8271c4(0x160))/0x5+parseInt(_0x8271c4(0x163))/0x6*(parseInt(_0x8271c4(0x169))/0x7)+parseInt(_0x8271c4(0x16a))/0x8*(-parseInt(_0x8271c4(0x15f))/0x9)+parseInt(_0x8271c4(0x164))/0xa*(-parseInt(_0x8271c4(0x168))/0xb)+-parseInt(_0x8271c4(0x15e))/0xc*(-parseInt(_0x8271c4(0x165))/0xd);if(_0x11e742===_0x34eb90)break;else _0xb95f24['push'](_0xb95f24['shift']());}catch(_0x478c33){_0xb95f24['push'](_0xb95f24['shift']());}}}(a141_0x539f,0x7facb));import{roleList}from'../../commands/role/list.js';function a141_0x539f(){const _0x5e3965=['7aIJHSG','192ZzvClB','10495248AdMfBk','205839OhFPBD','232810kdqdIV','4DQhwjD','7608UwBZMe','5826306ZcNPil','5818840unArid','13eQIEce','407298ZdbMNc','27yVFISB','11SDTnZA'];a141_0x539f=function(){return _0x5e3965;};return a141_0x539f();}function a141_0x1886(_0x57e65a,_0x5d4391){_0x57e65a=_0x57e65a-0x15e;const _0x539f95=a141_0x539f();let _0x188685=_0x539f95[_0x57e65a];return _0x188685;}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{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a142_0x44c235=a142_0x4aec;function a142_0x4433(){const _0x5539c9=['list','1976230lTLXDO','number','\x20role(s)','313600FhJUuL','page','read','35DhuLXJ','208014lgZaUg','str','Invalid\x20--type\x20\x22','Use\x20one\x20of:\x20','roleType','CUSTOM','52CPqRHv','validation','449832BEMnLa','54461msLvTE','DEV','toUpperCase','8805FibpiE','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','map','pagesize','string','9WljIjk','num','trim','filter','appCode','type','ADMIN','570664TsiVGr','join','role','Filter\x20by\x20role\x20type','1smQFNz'];a142_0x4433=function(){return _0x5539c9;};return a142_0x4433();}(function(_0x42f63d,_0x1d704d){const _0xd2faea=a142_0x4aec,_0x3ef1a0=_0x42f63d();while(!![]){try{const _0xe7d500=parseInt(_0xd2faea(0x1d1))/0x1*(-parseInt(_0xd2faea(0x1bc))/0x2)+parseInt(_0xd2faea(0x1c0))/0x3*(-parseInt(_0xd2faea(0x1ba))/0x4)+-parseInt(_0xd2faea(0x1b0))/0x5+-parseInt(_0xd2faea(0x1b4))/0x6*(-parseInt(_0xd2faea(0x1b3))/0x7)+-parseInt(_0xd2faea(0x1cd))/0x8*(-parseInt(_0xd2faea(0x1c6))/0x9)+parseInt(_0xd2faea(0x1ad))/0xa+parseInt(_0xd2faea(0x1bd))/0xb;if(_0xe7d500===_0x1d704d)break;else _0x3ef1a0['push'](_0x3ef1a0['shift']());}catch(_0x1a9980){_0x3ef1a0['push'](_0x3ef1a0['shift']());}}}(a142_0x4433,0x1da75));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';function a142_0x4aec(_0x5ad942,_0x4cd91a){_0x5ad942=_0x5ad942-0x1ac;const _0x44337a=a142_0x4433();let _0x4aece4=_0x44337a[_0x5ad942];return _0x4aece4;}const ROLE_TYPES=[a142_0x44c235(0x1cc),a142_0x44c235(0x1be),'USER',a142_0x44c235(0x1b9)];export const roleList={'service':a142_0x44c235(0x1cf),'command':a142_0x44c235(0x1ac),'description':a142_0x44c235(0x1c2),'risk':a142_0x44c235(0x1b2),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a142_0x44c235(0x1cb),'type':a142_0x44c235(0x1c5),'required':![],'description':a142_0x44c235(0x1d0),'enum':ROLE_TYPES},{'name':a142_0x44c235(0x1b1),'type':'number','description':'Page\x20index\x20(1-based)','default':0x1},{'name':a142_0x44c235(0x1c4),'type':a142_0x44c235(0x1ae),'description':'Page\x20size\x20(1-100)','default':0x64}],async 'validate'(_0x2722ba){const _0x5f1d85=a142_0x44c235,_0x315eb0=_0x2722ba[_0x5f1d85(0x1b5)](_0x5f1d85(0x1cb))[_0x5f1d85(0x1c8)]();if(_0x315eb0&&!ROLE_TYPES['includes'](_0x315eb0[_0x5f1d85(0x1bf)]()))throw CliErrors['validation'](_0x5f1d85(0x1b6)+_0x315eb0+'\x22.',_0x5f1d85(0x1b7)+ROLE_TYPES[_0x5f1d85(0x1ce)](',\x20')+'.');const _0x33ce19=_0x2722ba[_0x5f1d85(0x1c7)]('page',0x1),_0x142653=_0x2722ba[_0x5f1d85(0x1c7)](_0x5f1d85(0x1c4),0x64);if(_0x33ce19<0x1)throw CliErrors['validation'](_0x5f1d85(0x1c1));if(_0x142653<0x1||_0x142653>0x64)throw CliErrors[_0x5f1d85(0x1bb)]('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x3eb640){const _0x27db5f=a142_0x44c235,_0x40efb7=_0x3eb640[_0x27db5f(0x1c7)](_0x27db5f(0x1b1),0x1)||0x1,_0xad058=_0x3eb640[_0x27db5f(0x1c7)]('pagesize',0x64)||0x64,_0x22e991=_0x3eb640[_0x27db5f(0x1b5)](_0x27db5f(0x1cb))[_0x27db5f(0x1c8)]()[_0x27db5f(0x1bf)](),{items:_0x23b274,paging:_0xc4ff19}=await listAppRoles(_0x3eb640[_0x27db5f(0x1ca)],{'currentPage':_0x40efb7,'pageSize':_0xad058}),_0x11b1c0=_0x22e991?_0x23b274[_0x27db5f(0x1c9)](_0xaffa7=>_0xaffa7[_0x27db5f(0x1b8)]===_0x22e991):_0x23b274,_0x577e70=_0x11b1c0[_0x27db5f(0x1c3)](projectRole);return{'ok':!![],'data':{'roles':_0x577e70,'paging':_0xc4ff19},'message':'Found\x20'+_0x577e70['length']+_0x27db5f(0x1af)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a143_0x3f82b4=a143_0x5ae1;function a143_0x38cf(){const _0x829ab1=['tenant_code','55zAaquc','validation','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','\x20not\x20found\x20in\x20app\x20','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','string','roleName','userCount','\x22:\x20','107792NOqVTm','name','userId','push','appCode','authRequired','Multiple\x20tenant\x20members\x20match\x20\x22','remark','userList','splice','toLowerCase','flagMissing','Disambiguate\x20with\x20--user\x20<id>.','Pass\x20--user\x20<id|name>.','Cannot\x20','username','user-add','trim','371FxJwDQ','Optional\x20role\x20remark/description','28092CxsWyZ','nickname','role','DEV','ADMIN','filter','roleType','totalCount','str','76680ScnSdg','expectUserCount','Missing\x20user\x20reference.','904278pLacac','610kWiXWR','length','POST','CUSTOM','user','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','Pass\x20--role\x20<id|name>.','138235dqdXco','test','Missing\x20role\x20reference.','includes','Anti-drift\x20check\x20failed:\x20expected\x20','\x20is\x20already\x20a\x20member\x20of\x20role\x20','number','tenant','4xOBSrT','find','Role\x20name\x20\x22','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','dryRun','join','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Role\x20id\x20','Role\x20name','2141532DPJvqB',';\x20no\x20change.','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','199140lSSYVX','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','map','expect-user-count','Role\x20id\x20(from\x20`role\x20list`)','User\x20'];a143_0x38cf=function(){return _0x829ab1;};return a143_0x38cf();}(function(_0x23b12b,_0x199274){const _0x42195b=a143_0x5ae1,_0x24f29a=_0x23b12b();while(!![]){try{const _0x578812=parseInt(_0x42195b(0x147))/0x1+-parseInt(_0x42195b(0x14f))/0x2*(-parseInt(_0x42195b(0x13f))/0x3)+parseInt(_0x42195b(0x10e))/0x4+parseInt(_0x42195b(0x140))/0x5*(parseInt(_0x42195b(0x133))/0x6)+parseInt(_0x42195b(0x131))/0x7*(-parseInt(_0x42195b(0x11f))/0x8)+-parseInt(_0x42195b(0x10b))/0x9+-parseInt(_0x42195b(0x13c))/0xa*(parseInt(_0x42195b(0x115))/0xb);if(_0x578812===_0x199274)break;else _0x24f29a['push'](_0x24f29a['shift']());}catch(_0x30f0d6){_0x24f29a['push'](_0x24f29a['shift']());}}}(a143_0x38cf,0x5abd2));function a143_0x5ae1(_0x416ac7,_0x283f34){_0x416ac7=_0x416ac7-0x10b;const _0x38cf27=a143_0x38cf();let _0x5ae16b=_0x38cf27[_0x416ac7];return _0x5ae16b;}import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a143_0x3f82b4(0x14d),'required':!![],'description':a143_0x3f82b4(0x112)};export const ROLE_REF_FLAG={'name':a143_0x3f82b4(0x135),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x10d)};export const USER_REF_FLAG={'name':a143_0x3f82b4(0x144),'type':a143_0x3f82b4(0x11b),'required':!![],'description':'User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId'};export const NAME_FLAG={'name':a143_0x3f82b4(0x120),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x157)};export const USER_NAME_FLAG={'name':a143_0x3f82b4(0x120),'type':a143_0x3f82b4(0x11b),'required':!![],'description':a143_0x3f82b4(0x11a)};export const REMARK_FLAG={'name':a143_0x3f82b4(0x126),'type':a143_0x3f82b4(0x11b),'required':![],'description':a143_0x3f82b4(0x132)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a143_0x3f82b4(0x14d),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a143_0x3f82b4(0x137),a143_0x3f82b4(0x136),'USER'];export function isBuiltinRole(_0x2a2f89){return BUILTIN_ROLE_TYPES['includes'](_0x2a2f89);}export function assertCustomRole(_0x18afff,_0x312d29){const _0x5d9946=a143_0x3f82b4;if(_0x18afff[_0x5d9946(0x139)]!==_0x5d9946(0x143))throw CliErrors[_0x5d9946(0x116)](_0x5d9946(0x12d)+_0x312d29+'\x20built-in\x20role\x20'+_0x18afff[_0x5d9946(0x11c)]+'\x20('+_0x18afff[_0x5d9946(0x139)]+').',_0x5d9946(0x119));}export function assertPermConfigurable(_0x7be575){const _0x1eeed8=a143_0x3f82b4;if(_0x7be575[_0x1eeed8(0x139)]===_0x1eeed8(0x136)||_0x7be575[_0x1eeed8(0x139)]===_0x1eeed8(0x137))throw CliErrors[_0x1eeed8(0x116)](_0x1eeed8(0x145)+_0x7be575[_0x1eeed8(0x11c)]+'\x20('+_0x7be575[_0x1eeed8(0x139)]+').',_0x1eeed8(0x152));}export function projectRole(_0x4592dc){const _0x201407=a143_0x3f82b4;return{'id':_0x4592dc['id'],'roleName':_0x4592dc[_0x201407(0x11c)],'roleType':_0x4592dc[_0x201407(0x139)],'remark':_0x4592dc[_0x201407(0x126)],'userCount':_0x4592dc[_0x201407(0x11d)],'permitCount':_0x4592dc['permitCount'],'builtin':isBuiltinRole(_0x4592dc[_0x201407(0x139)])};}export async function resolveRoleRef(_0x59fa4b,_0x3161c9){const _0x1dce8e=a143_0x3f82b4,_0x1164bd=_0x3161c9[_0x1dce8e(0x130)]();if(!_0x1164bd)throw CliErrors[_0x1dce8e(0x116)](_0x1dce8e(0x149),_0x1dce8e(0x146));if(/^\d+$/[_0x1dce8e(0x148)](_0x1164bd))return getRoleById(_0x59fa4b,Number(_0x1164bd));const _0xb8ec19=await listAllAppRoles(_0x59fa4b),_0x2257c7=_0xb8ec19[_0x1dce8e(0x138)](_0x524183=>_0x524183[_0x1dce8e(0x11c)]===_0x1164bd);if(_0x2257c7[_0x1dce8e(0x141)]===0x0)throw CliErrors['validation']('Role\x20name\x20\x22'+_0x1164bd+'\x22\x20not\x20found\x20in\x20app\x20'+_0x59fa4b+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x2257c7[_0x1dce8e(0x141)]>0x1){const _0x36fd92=_0x2257c7[_0x1dce8e(0x110)](_0x37732e=>_0x37732e['id'])[_0x1dce8e(0x154)](',\x20');throw CliErrors[_0x1dce8e(0x116)](_0x1dce8e(0x151)+_0x1164bd+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x36fd92+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0x2257c7[0x0];}export async function getRoleById(_0x35a1ca,_0x3261b4){const _0x3c1744=a143_0x3f82b4,_0x156c99=await getAppRole(_0x3261b4);if(!_0x156c99)throw CliErrors[_0x3c1744(0x116)](_0x3c1744(0x156)+_0x3261b4+_0x3c1744(0x118)+_0x35a1ca+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x156c99;}async function listAllAppRoles(_0xbb69fd){const _0x24857c=a143_0x3f82b4,_0x10cbe5=0x64,_0x1545ed=[];for(let _0x1fdaae=0x1;;_0x1fdaae+=0x1){const {items:_0x41ce32,paging:_0x48eda8}=await listAppRoles(_0xbb69fd,{'currentPage':_0x1fdaae,'pageSize':_0x10cbe5});_0x1545ed[_0x24857c(0x122)](..._0x41ce32);if(_0x41ce32[_0x24857c(0x141)]<_0x10cbe5||_0x48eda8&&_0x1545ed['length']>=_0x48eda8[_0x24857c(0x13a)])return _0x1545ed;}}export async function resolveTenantCode(){const _0x394e65=a143_0x3f82b4,_0x1b6312=await getSessionUserInfo(),_0x48e184=_0x1b6312?.['user']?.[_0x394e65(0x14e)]?.[_0x394e65(0x114)];if(!_0x48e184)throw CliErrors[_0x394e65(0x124)](_0x394e65(0x10f));return _0x48e184;}function matchMember(_0x10f849,_0x4ba624){const _0x502752=a143_0x3f82b4,_0x15daea=_0x4ba624[_0x502752(0x130)]()[_0x502752(0x129)]();return(_0x10f849[_0x502752(0x134)]??'')[_0x502752(0x129)]()===_0x15daea||(_0x10f849[_0x502752(0x12e)]??'')[_0x502752(0x129)]()===_0x15daea;}export async function resolveUserRef(_0x1fb038){const _0x258a8c=a143_0x3f82b4,_0x3cbdfe=_0x1fb038[_0x258a8c(0x130)]();if(!_0x3cbdfe)throw CliErrors[_0x258a8c(0x116)](_0x258a8c(0x13e),_0x258a8c(0x12c));const _0x50f95e=await resolveTenantCode(),_0x370b5d=await getTenantMembers(_0x50f95e);if(/^\d+$/[_0x258a8c(0x148)](_0x3cbdfe)){const _0x5dd8c5=Number(_0x3cbdfe),_0x25f6df=_0x370b5d[_0x258a8c(0x150)](_0x20e3fc=>_0x20e3fc[_0x258a8c(0x121)]===_0x5dd8c5);return{'userId':_0x5dd8c5,'username':_0x25f6df?.[_0x258a8c(0x12e)]??String(_0x5dd8c5),'nickname':_0x25f6df?.['nickname'],'matchedBy':'id'};}const _0xcda70b=_0x370b5d[_0x258a8c(0x138)](_0x44e5b8=>matchMember(_0x44e5b8,_0x3cbdfe));if(_0xcda70b[_0x258a8c(0x141)]===0x0)throw CliErrors[_0x258a8c(0x116)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x3cbdfe+'\x22.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.');if(_0xcda70b['length']>0x1){const _0x44fafa=_0xcda70b[_0x258a8c(0x110)](_0x431e42=>(_0x431e42[_0x258a8c(0x134)]??_0x431e42[_0x258a8c(0x12e)]??'?')+'('+_0x431e42[_0x258a8c(0x121)]+')')[_0x258a8c(0x154)](',\x20');throw CliErrors[_0x258a8c(0x116)](_0x258a8c(0x125)+_0x3cbdfe+_0x258a8c(0x11e)+_0x44fafa+'.',_0x258a8c(0x12b));}const _0x3f0848=_0xcda70b[0x0];return{'userId':_0x3f0848['userId'],'username':_0x3f0848['username']??String(_0x3f0848[_0x258a8c(0x121)]),'nickname':_0x3f0848[_0x258a8c(0x134)],'matchedBy':_0x258a8c(0x120)};}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function userIdsOf(_0x560ac5){const _0x35b36a=a143_0x3f82b4;return(_0x560ac5?.[_0x35b36a(0x127)]??[])['map'](_0x5a172f=>_0x5a172f[_0x35b36a(0x121)]);}export function computeRoleUserMutation(_0xb58aeb){const _0x190d5d=a143_0x3f82b4,{operation:_0x49206a,appCode:_0x82395c,roleUsers:_0x4facbd,targetRoleId:_0x28a350,user:_0x4bc07f}=_0xb58aeb,_0xfc82d7=_0x4facbd[_0x190d5d(0x150)](_0x1108c2=>_0x1108c2['id']===_0x28a350);if(!_0xfc82d7)throw CliErrors['validation'](_0x190d5d(0x156)+_0x28a350+'\x20not\x20found\x20in\x20the\x20user-role\x20list.',_0x190d5d(0x155));const _0x114135=userIdsOf(_0xfc82d7),_0x46ca6a=[];if(_0xb58aeb[_0x190d5d(0x13d)]!==undefined&&_0xb58aeb[_0x190d5d(0x13d)]!==_0x114135[_0x190d5d(0x141)])throw CliErrors[_0x190d5d(0x116)](_0x190d5d(0x14b)+_0xb58aeb[_0x190d5d(0x13d)]+'\x20member(s)\x20but\x20role\x20has\x20'+_0x114135[_0x190d5d(0x141)]+'.',_0x190d5d(0x117));const _0x221d9e=_0x114135[_0x190d5d(0x14a)](_0x4bc07f['userId']);let _0x377b40=![];const _0x503773=[..._0xfc82d7[_0x190d5d(0x127)]];if(_0x49206a===_0x190d5d(0x12f))_0x221d9e?_0x46ca6a[_0x190d5d(0x122)]('User\x20'+_0x4bc07f[_0x190d5d(0x121)]+_0x190d5d(0x14c)+_0xfc82d7[_0x190d5d(0x11c)]+_0x190d5d(0x10c)):(_0x503773[_0x190d5d(0x122)]({'userId':_0x4bc07f['userId'],'username':_0x4bc07f['username'],..._0x4bc07f['nickname']?{'nickname':_0x4bc07f[_0x190d5d(0x134)]}:{}}),_0x377b40=!![]);else{if(!_0x221d9e)_0x46ca6a['push'](_0x190d5d(0x113)+_0x4bc07f[_0x190d5d(0x121)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0xfc82d7[_0x190d5d(0x11c)]+_0x190d5d(0x10c));else{const _0x5d91f9=_0x503773['findIndex'](_0xeb9d0c=>_0xeb9d0c[_0x190d5d(0x121)]===_0x4bc07f[_0x190d5d(0x121)]);if(_0x5d91f9>=0x0)_0x503773[_0x190d5d(0x128)](_0x5d91f9,0x1);_0x377b40=!![];}}const _0x78b78=_0x4facbd[_0x190d5d(0x110)](_0x2ac738=>_0x2ac738['id']===_0x28a350?{..._0x2ac738,'userList':_0x503773}:_0x2ac738),_0x10cd80=_0x503773[_0x190d5d(0x110)](_0x241066=>_0x241066[_0x190d5d(0x121)]),_0x1d4122={'operation':_0x49206a,'selector':{'appCode':_0x82395c,'roleId':_0x28a350,'roleName':_0xfc82d7[_0x190d5d(0x11c)],'userId':_0x4bc07f[_0x190d5d(0x121)]},'before':{'userIds':_0x114135},'after':{'userIds':_0x10cd80},'dryRun':_0xb58aeb[_0x190d5d(0x153)],'backend':{'method':_0x190d5d(0x142),'path':UPDATE_USER_LIST_PATH},'warnings':_0x46ca6a};return{'roleList':_0x78b78,'mutation':_0x1d4122,'changed':_0x377b40};}export async function loadRoleUsers(_0x53c913){return listRoleUsers(_0x53c913);}export function readRoleRef(_0x1e496b){const _0x3ba628=a143_0x3f82b4,_0x446afa=_0x1e496b[_0x3ba628(0x13b)](_0x3ba628(0x135))['trim']();if(!_0x446afa)throw CliErrors[_0x3ba628(0x12a)](_0x3ba628(0x135),_0x3ba628(0x146));return _0x446afa;}export async function prepareUserMutation(_0x42578c,_0x10ee84,_0x4498ea){const _0x2ff5b2=a143_0x3f82b4,_0x514e6b=readRoleRef(_0x42578c),_0x49145d=_0x42578c['str']('user')[_0x2ff5b2(0x130)]();if(!_0x49145d)throw CliErrors[_0x2ff5b2(0x12a)]('user',_0x2ff5b2(0x12c));const _0x318177=_0x42578c['flag'](_0x2ff5b2(0x111)),_0x4866f9=_0x318177===undefined||_0x318177===null?undefined:Number(_0x318177),_0x270066=await resolveRoleRef(_0x42578c[_0x2ff5b2(0x123)],_0x514e6b),_0x4fefe1=await resolveUserRef(_0x49145d),_0x158601=await loadRoleUsers(_0x42578c[_0x2ff5b2(0x123)]);return computeRoleUserMutation({'operation':_0x10ee84,'appCode':_0x42578c[_0x2ff5b2(0x123)],'roleUsers':_0x158601,'targetRoleId':_0x270066['id'],'user':{'userId':_0x4fefe1[_0x2ff5b2(0x121)],'username':_0x4fefe1[_0x2ff5b2(0x12e)],'nickname':_0x4fefe1['nickname']},'dryRun':_0x4498ea,..._0x4866f9!==undefined?{'expectUserCount':_0x4866f9}:{}});}
|
|
1
|
+
const a143_0x217e48=a143_0x40ed;(function(_0x464445,_0xd3cc87){const _0x611c87=a143_0x40ed,_0x4cf3e9=_0x464445();while(!![]){try{const _0x35dab7=-parseInt(_0x611c87(0x185))/0x1*(-parseInt(_0x611c87(0x19b))/0x2)+parseInt(_0x611c87(0x1ab))/0x3+-parseInt(_0x611c87(0x15f))/0x4+-parseInt(_0x611c87(0x169))/0x5+parseInt(_0x611c87(0x196))/0x6*(-parseInt(_0x611c87(0x179))/0x7)+-parseInt(_0x611c87(0x1aa))/0x8*(-parseInt(_0x611c87(0x194))/0x9)+-parseInt(_0x611c87(0x175))/0xa*(-parseInt(_0x611c87(0x19f))/0xb);if(_0x35dab7===_0xd3cc87)break;else _0x4cf3e9['push'](_0x4cf3e9['shift']());}catch(_0x4a58a1){_0x4cf3e9['push'](_0x4cf3e9['shift']());}}}(a143_0x395c,0x2ec7c));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':a143_0x217e48(0x164)};export const ROLE_REF_FLAG={'name':a143_0x217e48(0x181),'type':'string','required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};function a143_0x40ed(_0x148aa5,_0x4f472f){_0x148aa5=_0x148aa5-0x15e;const _0x395cc6=a143_0x395c();let _0x40ed62=_0x395cc6[_0x148aa5];return _0x40ed62;}export const USER_REF_FLAG={'name':a143_0x217e48(0x180),'type':a143_0x217e48(0x19a),'required':!![],'description':a143_0x217e48(0x17d)};export const NAME_FLAG={'name':a143_0x217e48(0x19c),'type':'string','required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':'name','type':a143_0x217e48(0x19a),'required':!![],'description':a143_0x217e48(0x199)};export const REMARK_FLAG={'name':a143_0x217e48(0x184),'type':a143_0x217e48(0x19a),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':a143_0x217e48(0x16a),'type':a143_0x217e48(0x165),'required':![],'description':a143_0x217e48(0x163)};export const BUILTIN_ROLE_TYPES=[a143_0x217e48(0x176),'DEV','USER'];export function isBuiltinRole(_0x854401){return BUILTIN_ROLE_TYPES['includes'](_0x854401);}export function assertCustomRole(_0x135cf5,_0x3924d5){const _0x3c5129=a143_0x217e48;if(_0x135cf5['roleType']!==_0x3c5129(0x170))throw CliErrors['validation'](_0x3c5129(0x166)+_0x3924d5+_0x3c5129(0x177)+_0x135cf5[_0x3c5129(0x1a0)]+'\x20('+_0x135cf5[_0x3c5129(0x189)]+').',_0x3c5129(0x19d));}function a143_0x395c(){const _0x3436c9=['Role\x20id\x20','Pass\x20--user\x20<id|name>.','dryRun','CUSTOM','join','flag','username','\x20is\x20already\x20a\x20member\x20of\x20role\x20','327750VlzXoH','ADMIN','\x20built-in\x20role\x20','permitCount','7irFgYe','Missing\x20user\x20reference.','totalCount','findIndex','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','POST','DEV','user','role','Disambiguate\x20with\x20--role\x20<id>.','Role\x20name\x20\x22','remark','5821EyrnSQ','push','map','toLowerCase','roleType','Missing\x20role\x20reference.','userId','userList','User\x20','Pass\x20--role\x20<id|name>.','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','trim','\x22\x20not\x20found\x20in\x20app\x20','1099665zNWgXV','\x22:\x20','554700yIDgyI','\x20is\x20not\x20a\x20member\x20of\x20role\x20','flagMissing','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','string','18HUGymV','name','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','165FXZfDE','roleName','splice','expectUserCount','userCount','test','validation','str','length','user-add','tenant_code','8yQWqQn','381855JvHArR',';\x20no\x20change.','nickname','863672KNiGXV','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','appCode','\x22\x20is\x20ambiguous\x20(ids:\x20','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','Role\x20id\x20(from\x20`role\x20list`)','number','Cannot\x20','\x20not\x20found\x20in\x20app\x20','find','1467520oOTcEs','expect-user-count','authRequired','Anti-drift\x20check\x20failed:\x20expected\x20'];a143_0x395c=function(){return _0x3436c9;};return a143_0x395c();}export function assertPermConfigurable(_0x3b028b){const _0x4b0a27=a143_0x217e48;if(_0x3b028b['roleType']===_0x4b0a27(0x17f)||_0x3b028b[_0x4b0a27(0x189)]===_0x4b0a27(0x176))throw CliErrors[_0x4b0a27(0x1a5)](_0x4b0a27(0x160)+_0x3b028b['roleName']+'\x20('+_0x3b028b[_0x4b0a27(0x189)]+').',_0x4b0a27(0x18f));}export function projectRole(_0x3785d3){const _0x8dd903=a143_0x217e48;return{'id':_0x3785d3['id'],'roleName':_0x3785d3[_0x8dd903(0x1a0)],'roleType':_0x3785d3[_0x8dd903(0x189)],'remark':_0x3785d3[_0x8dd903(0x184)],'userCount':_0x3785d3[_0x8dd903(0x1a3)],'permitCount':_0x3785d3[_0x8dd903(0x178)],'builtin':isBuiltinRole(_0x3785d3['roleType'])};}export async function resolveRoleRef(_0x36099a,_0x11c598){const _0x55b099=a143_0x217e48,_0x2149c7=_0x11c598[_0x55b099(0x192)]();if(!_0x2149c7)throw CliErrors[_0x55b099(0x1a5)](_0x55b099(0x18a),_0x55b099(0x18e));if(/^\d+$/[_0x55b099(0x1a4)](_0x2149c7))return getRoleById(_0x36099a,Number(_0x2149c7));const _0x52f2f6=await listAllAppRoles(_0x36099a),_0x1544b5=_0x52f2f6['filter'](_0x2f09b2=>_0x2f09b2[_0x55b099(0x1a0)]===_0x2149c7);if(_0x1544b5[_0x55b099(0x1a7)]===0x0)throw CliErrors[_0x55b099(0x1a5)](_0x55b099(0x183)+_0x2149c7+_0x55b099(0x193)+_0x36099a+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x1544b5[_0x55b099(0x1a7)]>0x1){const _0x830479=_0x1544b5[_0x55b099(0x187)](_0x3a04fb=>_0x3a04fb['id'])[_0x55b099(0x171)](',\x20');throw CliErrors[_0x55b099(0x1a5)](_0x55b099(0x183)+_0x2149c7+_0x55b099(0x162)+_0x830479+').',_0x55b099(0x182));}return _0x1544b5[0x0];}export async function getRoleById(_0x1461a0,_0x2a9634){const _0x1a2227=a143_0x217e48,_0x18efc6=await getAppRole(_0x2a9634);if(!_0x18efc6)throw CliErrors['validation'](_0x1a2227(0x16d)+_0x2a9634+_0x1a2227(0x167)+_0x1461a0+'.',_0x1a2227(0x190));return _0x18efc6;}async function listAllAppRoles(_0x5b7b30){const _0x198d50=a143_0x217e48,_0x16c0f4=0x64,_0xff6b0=[];for(let _0x5512e1=0x1;;_0x5512e1+=0x1){const {items:_0x290f7d,paging:_0x3b7942}=await listAppRoles(_0x5b7b30,{'currentPage':_0x5512e1,'pageSize':_0x16c0f4});_0xff6b0[_0x198d50(0x186)](..._0x290f7d);if(_0x290f7d['length']<_0x16c0f4||_0x3b7942&&_0xff6b0[_0x198d50(0x1a7)]>=_0x3b7942[_0x198d50(0x17b)])return _0xff6b0;}}export async function resolveTenantCode(){const _0x4f326e=a143_0x217e48,_0x10deac=await getSessionUserInfo(),_0x15283a=_0x10deac?.[_0x4f326e(0x180)]?.['tenant']?.[_0x4f326e(0x1a9)];if(!_0x15283a)throw CliErrors[_0x4f326e(0x16b)](_0x4f326e(0x191));return _0x15283a;}function matchMember(_0x980d9c,_0x4f40e8){const _0x16c9e7=a143_0x217e48,_0x2e20ab=_0x4f40e8['trim']()['toLowerCase']();return(_0x980d9c[_0x16c9e7(0x15e)]??'')[_0x16c9e7(0x188)]()===_0x2e20ab||(_0x980d9c[_0x16c9e7(0x173)]??'')[_0x16c9e7(0x188)]()===_0x2e20ab;}export async function resolveUserRef(_0x5284c0){const _0x10a3f4=a143_0x217e48,_0x1ac75c=_0x5284c0[_0x10a3f4(0x192)]();if(!_0x1ac75c)throw CliErrors[_0x10a3f4(0x1a5)](_0x10a3f4(0x17a),_0x10a3f4(0x16e));const _0x5cc7aa=await resolveTenantCode(),_0x13c4b9=await getTenantMembers(_0x5cc7aa);if(/^\d+$/[_0x10a3f4(0x1a4)](_0x1ac75c)){const _0x3c89b8=Number(_0x1ac75c),_0x5ca09e=_0x13c4b9[_0x10a3f4(0x168)](_0x2f7422=>_0x2f7422[_0x10a3f4(0x18b)]===_0x3c89b8);return{'userId':_0x3c89b8,'username':_0x5ca09e?.[_0x10a3f4(0x173)]??String(_0x3c89b8),'nickname':_0x5ca09e?.[_0x10a3f4(0x15e)],'matchedBy':'id'};}const _0xb3579e=_0x13c4b9['filter'](_0x37a74b=>matchMember(_0x37a74b,_0x1ac75c));if(_0xb3579e[_0x10a3f4(0x1a7)]===0x0)throw CliErrors[_0x10a3f4(0x1a5)]('No\x20tenant\x20member\x20matches\x20\x22'+_0x1ac75c+'\x22.',_0x10a3f4(0x19e));if(_0xb3579e[_0x10a3f4(0x1a7)]>0x1){const _0x55c5d8=_0xb3579e[_0x10a3f4(0x187)](_0xb3f327=>(_0xb3f327[_0x10a3f4(0x15e)]??_0xb3f327[_0x10a3f4(0x173)]??'?')+'('+_0xb3f327[_0x10a3f4(0x18b)]+')')[_0x10a3f4(0x171)](',\x20');throw CliErrors[_0x10a3f4(0x1a5)]('Multiple\x20tenant\x20members\x20match\x20\x22'+_0x1ac75c+_0x10a3f4(0x195)+_0x55c5d8+'.','Disambiguate\x20with\x20--user\x20<id>.');}const _0x5ed3c4=_0xb3579e[0x0];return{'userId':_0x5ed3c4['userId'],'username':_0x5ed3c4['username']??String(_0x5ed3c4[_0x10a3f4(0x18b)]),'nickname':_0x5ed3c4[_0x10a3f4(0x15e)],'matchedBy':_0x10a3f4(0x19c)};}export const UPDATE_USER_LIST_PATH='/smartapi/permit/user-role/update-user-list';function userIdsOf(_0x2615a6){const _0x739ffd=a143_0x217e48;return(_0x2615a6?.[_0x739ffd(0x18c)]??[])['map'](_0x2478ad=>_0x2478ad[_0x739ffd(0x18b)]);}export function computeRoleUserMutation(_0x1338c1){const _0x18cbbb=a143_0x217e48,{operation:_0x2248ba,appCode:_0x566199,roleUsers:_0x248a6c,targetRoleId:_0x130bd4,user:_0x1a371e}=_0x1338c1,_0x16b3e5=_0x248a6c[_0x18cbbb(0x168)](_0xb62c5d=>_0xb62c5d['id']===_0x130bd4);if(!_0x16b3e5)throw CliErrors[_0x18cbbb(0x1a5)](_0x18cbbb(0x16d)+_0x130bd4+'\x20not\x20found\x20in\x20the\x20user-role\x20list.',_0x18cbbb(0x190));const _0x31bc04=userIdsOf(_0x16b3e5),_0xd6a517=[];if(_0x1338c1[_0x18cbbb(0x1a2)]!==undefined&&_0x1338c1[_0x18cbbb(0x1a2)]!==_0x31bc04[_0x18cbbb(0x1a7)])throw CliErrors['validation'](_0x18cbbb(0x16c)+_0x1338c1[_0x18cbbb(0x1a2)]+'\x20member(s)\x20but\x20role\x20has\x20'+_0x31bc04['length']+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x1e68b8=_0x31bc04['includes'](_0x1a371e['userId']);let _0x5b3358=![];const _0x3c08a5=[..._0x16b3e5[_0x18cbbb(0x18c)]];if(_0x2248ba===_0x18cbbb(0x1a8))_0x1e68b8?_0xd6a517['push'](_0x18cbbb(0x18d)+_0x1a371e['userId']+_0x18cbbb(0x174)+_0x16b3e5[_0x18cbbb(0x1a0)]+_0x18cbbb(0x1ac)):(_0x3c08a5['push']({'userId':_0x1a371e[_0x18cbbb(0x18b)],'username':_0x1a371e['username'],..._0x1a371e[_0x18cbbb(0x15e)]?{'nickname':_0x1a371e['nickname']}:{}}),_0x5b3358=!![]);else{if(!_0x1e68b8)_0xd6a517[_0x18cbbb(0x186)](_0x18cbbb(0x18d)+_0x1a371e[_0x18cbbb(0x18b)]+_0x18cbbb(0x197)+_0x16b3e5[_0x18cbbb(0x1a0)]+_0x18cbbb(0x1ac));else{const _0x2e09dd=_0x3c08a5[_0x18cbbb(0x17c)](_0x1c750d=>_0x1c750d[_0x18cbbb(0x18b)]===_0x1a371e['userId']);if(_0x2e09dd>=0x0)_0x3c08a5[_0x18cbbb(0x1a1)](_0x2e09dd,0x1);_0x5b3358=!![];}}const _0x56106b=_0x248a6c[_0x18cbbb(0x187)](_0x11a20f=>_0x11a20f['id']===_0x130bd4?{..._0x11a20f,'userList':_0x3c08a5}:_0x11a20f),_0x4ca262=_0x3c08a5['map'](_0x438087=>_0x438087[_0x18cbbb(0x18b)]),_0x36cde4={'operation':_0x2248ba,'selector':{'appCode':_0x566199,'roleId':_0x130bd4,'roleName':_0x16b3e5[_0x18cbbb(0x1a0)],'userId':_0x1a371e[_0x18cbbb(0x18b)]},'before':{'userIds':_0x31bc04},'after':{'userIds':_0x4ca262},'dryRun':_0x1338c1[_0x18cbbb(0x16f)],'backend':{'method':_0x18cbbb(0x17e),'path':UPDATE_USER_LIST_PATH},'warnings':_0xd6a517};return{'roleList':_0x56106b,'mutation':_0x36cde4,'changed':_0x5b3358};}export async function loadRoleUsers(_0x2460cd){return listRoleUsers(_0x2460cd);}export function readRoleRef(_0x36c1df){const _0x138032=a143_0x217e48,_0x344337=_0x36c1df[_0x138032(0x1a6)](_0x138032(0x181))[_0x138032(0x192)]();if(!_0x344337)throw CliErrors[_0x138032(0x198)](_0x138032(0x181),_0x138032(0x18e));return _0x344337;}export async function prepareUserMutation(_0x2f4a7a,_0x22846b,_0x371cb8){const _0x1e84b2=a143_0x217e48,_0x32f173=readRoleRef(_0x2f4a7a),_0x33244b=_0x2f4a7a[_0x1e84b2(0x1a6)](_0x1e84b2(0x180))[_0x1e84b2(0x192)]();if(!_0x33244b)throw CliErrors[_0x1e84b2(0x198)](_0x1e84b2(0x180),'Pass\x20--user\x20<id|name>.');const _0x2166d3=_0x2f4a7a[_0x1e84b2(0x172)]('expect-user-count'),_0x18135b=_0x2166d3===undefined||_0x2166d3===null?undefined:Number(_0x2166d3),_0x47cb76=await resolveRoleRef(_0x2f4a7a[_0x1e84b2(0x161)],_0x32f173),_0x3d2ba7=await resolveUserRef(_0x33244b),_0x530d41=await loadRoleUsers(_0x2f4a7a[_0x1e84b2(0x161)]);return computeRoleUserMutation({'operation':_0x22846b,'appCode':_0x2f4a7a['appCode'],'roleUsers':_0x530d41,'targetRoleId':_0x47cb76['id'],'user':{'userId':_0x3d2ba7['userId'],'username':_0x3d2ba7['username'],'nickname':_0x3d2ba7[_0x1e84b2(0x15e)]},'dryRun':_0x371cb8,..._0x18135b!==undefined?{'expectUserCount':_0x18135b}:{}});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a144_0x4b7468=a144_0x24fb;(function(_0x3537f5,_0x3fb404){const _0x5a8d18=a144_0x24fb,_0x57823=_0x3537f5();while(!![]){try{const _0x173818=-parseInt(_0x5a8d18(0x17b))/0x1*(parseInt(_0x5a8d18(0x18f))/0x2)+-parseInt(_0x5a8d18(0x192))/0x3+-parseInt(_0x5a8d18(0x18e))/0x4*(parseInt(_0x5a8d18(0x199))/0x5)+-parseInt(_0x5a8d18(0x187))/0x6*(parseInt(_0x5a8d18(0x17f))/0x7)+-parseInt(_0x5a8d18(0x17d))/0x8*(parseInt(_0x5a8d18(0x194))/0x9)+-parseInt(_0x5a8d18(0x179))/0xa*(parseInt(_0x5a8d18(0x18d))/0xb)+parseInt(_0x5a8d18(0x182))/0xc*(parseInt(_0x5a8d18(0x191))/0xd);if(_0x173818===_0x3fb404)break;else _0x57823['push'](_0x57823['shift']());}catch(_0x45b4f0){_0x57823['push'](_0x57823['shift']());}}}(a144_0x2093,0x4456d));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH=a144_0x4b7468(0x186);function readPatch(_0x59af4a){const _0x311d88=a144_0x4b7468,_0x565987=_0x59af4a['flag'](_0x311d88(0x197)),_0x157cd3=_0x59af4a['flag']('remark'),_0x4fbadb={};if(_0x565987!==undefined&&_0x565987!==null){const _0x3509fb=String(_0x565987)[_0x311d88(0x19a)]();if(!_0x3509fb)throw CliErrors['validation'](_0x311d88(0x189));if(_0x3509fb[_0x311d88(0x17c)]>0x40)throw CliErrors['validation'](_0x311d88(0x185));_0x4fbadb[_0x311d88(0x18c)]=_0x3509fb;}_0x157cd3!==undefined&&_0x157cd3!==null&&(_0x4fbadb['remark']=String(_0x157cd3));if(_0x4fbadb[_0x311d88(0x18c)]===undefined&&_0x4fbadb[_0x311d88(0x184)]===undefined)throw CliErrors[_0x311d88(0x190)](_0x311d88(0x196),_0x311d88(0x17e));return _0x4fbadb;}function a144_0x2093(){const _0x20cc6f=['num','New\x20role\x20name','60LYiygt','appCode','remark','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','/smartapi/permit/role/update','84NwpxzF','role','--name\x20cannot\x20be\x20empty.','\x20(id=','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','roleName','11WiRvJy','271132SeBsly','18454cYvUsV','validation','4385459MTBqei','572805kgfjCm','string','90qOtYSY','POST','Nothing\x20to\x20update.','name','write','10jkkDZZ','trim','update','2926460GZEfJB','Updated\x20role\x20','29bMwvsd','length','142136PPZajv','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','171199jrHhRT'];a144_0x2093=function(){return _0x20cc6f;};return a144_0x2093();}function a144_0x24fb(_0x6e0100,_0x3aa579){_0x6e0100=_0x6e0100-0x179;const _0x2093c1=a144_0x2093();let _0x24fb21=_0x2093c1[_0x6e0100];return _0x24fb21;}export const roleUpdate={'service':a144_0x4b7468(0x188),'command':'update','description':a144_0x4b7468(0x18b),'risk':a144_0x4b7468(0x198),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a144_0x4b7468(0x197),'type':a144_0x4b7468(0x193),'required':![],'description':a144_0x4b7468(0x181)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x11ff24){readPatch(_0x11ff24);},async 'dryRun'(_0x3ad5fe){const _0x5b815f=a144_0x4b7468,_0x5270da=_0x3ad5fe[_0x5b815f(0x180)]('id'),_0x38bff2=readPatch(_0x3ad5fe),_0x2efecd=await getRoleById(_0x3ad5fe[_0x5b815f(0x183)],_0x5270da);return assertCustomRole(_0x2efecd,_0x5b815f(0x19b)),asDryRunResult({'operation':_0x5b815f(0x19b),'selector':{'appCode':_0x3ad5fe[_0x5b815f(0x183)],'roleId':_0x5270da,'roleName':_0x2efecd[_0x5b815f(0x18c)]},'before':projectRole(_0x2efecd),'after':projectRole({..._0x2efecd,..._0x38bff2['roleName']!==undefined?{'roleName':_0x38bff2[_0x5b815f(0x18c)]}:{},..._0x38bff2[_0x5b815f(0x184)]!==undefined?{'remark':_0x38bff2['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x5b815f(0x195),'path':UPDATE_PATH},'warnings':[]},{'method':_0x5b815f(0x195),'url':UPDATE_PATH});},async 'execute'(_0x5d745f){const _0x1ef499=a144_0x4b7468,_0x506ab5=_0x5d745f[_0x1ef499(0x180)]('id'),_0x5ce914=readPatch(_0x5d745f),_0x5280b5=await getRoleById(_0x5d745f['appCode'],_0x506ab5);assertCustomRole(_0x5280b5,_0x1ef499(0x19b)),await updateAppRole({'id':_0x506ab5,'appCode':_0x5d745f['appCode'],..._0x5ce914[_0x1ef499(0x18c)]!==undefined?{'roleName':_0x5ce914[_0x1ef499(0x18c)]}:{},..._0x5ce914[_0x1ef499(0x184)]!==undefined?{'remark':_0x5ce914[_0x1ef499(0x184)]}:{}});const _0x43ca45=await getRoleById(_0x5d745f[_0x1ef499(0x183)],_0x506ab5);return{'ok':!![],'data':{'operation':'update','selector':{'appCode':_0x5d745f['appCode'],'roleId':_0x506ab5,'roleName':_0x43ca45['roleName']},'before':projectRole(_0x5280b5),'after':projectRole(_0x43ca45),'dryRun':![],'backend':{'method':_0x1ef499(0x195),'path':UPDATE_PATH},'warnings':[]},'message':_0x1ef499(0x17a)+_0x43ca45[_0x1ef499(0x18c)]+_0x1ef499(0x18a)+_0x506ab5+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a145_0x3343(){const _0xcc06f4=['100933RCvTBZ','high-risk-write','POST','14758656zCPQaH','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','63yDqXpq','role','roleName','55AtfwKq','userId','6669762TcxBpO','Added\x20user\x20','1425AkrZPL','user-add','12428801Jnnbvu','\x20to\x20role\x20','appCode','3088EghkRn','selector','537748oDGcyL','\x20already\x20in\x20role\x20','8650970zNOszg'];a145_0x3343=function(){return _0xcc06f4;};return a145_0x3343();}function a145_0x2f24(_0x3c0273,_0x3b504a){_0x3c0273=_0x3c0273-0x140;const _0x334373=a145_0x3343();let _0x2f2464=_0x334373[_0x3c0273];return _0x2f2464;}const a145_0x34905f=a145_0x2f24;(function(_0x582b80,_0x53085b){const _0x43310d=a145_0x2f24,_0x4bbf82=_0x582b80();while(!![]){try{const _0x1439fa=parseInt(_0x43310d(0x14c))/0x1+parseInt(_0x43310d(0x147))/0x2*(parseInt(_0x43310d(0x142))/0x3)+parseInt(_0x43310d(0x149))/0x4*(parseInt(_0x43310d(0x154))/0x5)+parseInt(_0x43310d(0x140))/0x6+parseInt(_0x43310d(0x144))/0x7+parseInt(_0x43310d(0x14f))/0x8+parseInt(_0x43310d(0x151))/0x9*(-parseInt(_0x43310d(0x14b))/0xa);if(_0x1439fa===_0x53085b)break;else _0x4bbf82['push'](_0x4bbf82['shift']());}catch(_0x2af763){_0x4bbf82['push'](_0x4bbf82['shift']());}}}(a145_0x3343,0xf1917));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a145_0x34905f(0x152),'command':'user-add','description':a145_0x34905f(0x150),'risk':a145_0x34905f(0x14d),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x1fb547){const _0x5c45bb=a145_0x34905f,{mutation:_0x17c8ff}=await prepareUserMutation(_0x1fb547,_0x5c45bb(0x143),!![]);return asDryRunResult(_0x17c8ff,{'method':_0x5c45bb(0x14e),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0xfd8c77){const _0x6b65be=a145_0x34905f,{roleList:_0x33b5cb,mutation:_0x3501c2,changed:_0x2a6b76}=await prepareUserMutation(_0xfd8c77,_0x6b65be(0x143),![]);return _0x2a6b76&&await updateRoleUsers(_0xfd8c77[_0x6b65be(0x146)],_0x33b5cb),{'ok':!![],'data':_0x3501c2,'message':_0x2a6b76?_0x6b65be(0x141)+_0x3501c2[_0x6b65be(0x148)]['userId']+_0x6b65be(0x145)+_0x3501c2[_0x6b65be(0x148)][_0x6b65be(0x153)]:'No\x20change:\x20user\x20'+_0x3501c2[_0x6b65be(0x148)][_0x6b65be(0x155)]+_0x6b65be(0x14a)+_0x3501c2[_0x6b65be(0x148)][_0x6b65be(0x153)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a146_0x343bb2=a146_0x99fc;(function(_0x4dbe28,_0x1e872){const _0x416fa9=a146_0x99fc,_0x3dbffe=_0x4dbe28();while(!![]){try{const _0x20d28e=parseInt(_0x416fa9(0x88))/0x1*(parseInt(_0x416fa9(0x8c))/0x2)+parseInt(_0x416fa9(0x7d))/0x3*(-parseInt(_0x416fa9(0x76))/0x4)+-parseInt(_0x416fa9(0x8b))/0x5*(parseInt(_0x416fa9(0x85))/0x6)+-parseInt(_0x416fa9(0x7e))/0x7*(parseInt(_0x416fa9(0x75))/0x8)+parseInt(_0x416fa9(0x79))/0x9*(-parseInt(_0x416fa9(0x7a))/0xa)+-parseInt(_0x416fa9(0x77))/0xb+parseInt(_0x416fa9(0x89))/0xc*(parseInt(_0x416fa9(0x83))/0xd);if(_0x20d28e===_0x1e872)break;else _0x3dbffe['push'](_0x3dbffe['shift']());}catch(_0x579e3d){_0x3dbffe['push'](_0x3dbffe['shift']());}}}(a146_0x19fb,0x8b610));import{updateRoleUsers}from'../../core/api-client.js';function a146_0x99fc(_0x2d639e,_0x495784){_0x2d639e=_0x2d639e-0x75;const _0x19fb85=a146_0x19fb();let _0x99fcc1=_0x19fb85[_0x2d639e];return _0x99fcc1;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a146_0x343bb2(0x86),'command':a146_0x343bb2(0x7c),'description':a146_0x343bb2(0x84),'risk':a146_0x343bb2(0x80),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x17435f){const _0x3c173f=a146_0x343bb2,{mutation:_0x4a284d}=await prepareUserMutation(_0x17435f,_0x3c173f(0x7c),!![]);return asDryRunResult(_0x4a284d,{'method':_0x3c173f(0x8a),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x31adb1){const _0x17d655=a146_0x343bb2,{roleList:_0x2f9298,mutation:_0x49c50a,changed:_0x31f5f4}=await prepareUserMutation(_0x31adb1,'user-remove',![]);return _0x31f5f4&&await updateRoleUsers(_0x31adb1[_0x17d655(0x81)],_0x2f9298),{'ok':!![],'data':_0x49c50a,'message':_0x31f5f4?_0x17d655(0x8d)+_0x49c50a[_0x17d655(0x7b)]['userId']+_0x17d655(0x7f)+_0x49c50a[_0x17d655(0x7b)][_0x17d655(0x87)]:_0x17d655(0x82)+_0x49c50a[_0x17d655(0x7b)][_0x17d655(0x78)]+'\x20not\x20in\x20role\x20'+_0x49c50a[_0x17d655(0x7b)][_0x17d655(0x87)]};}};function a146_0x19fb(){const _0x10d408=['appCode','No\x20change:\x20user\x20','22254661ieVUaU','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','6mZhNOg','role','roleName','8359joWkQa','12XNfBtW','POST','700265CyCNOA','74TAcenb','Removed\x20user\x20','104dvCpkv','2148628ZpoVIr','2753201LuyvLT','userId','18dEWxwJ','951410hvRChE','selector','user-remove','3NMFoOz','179039QoLICC','\x20from\x20role\x20','high-risk-write'];a146_0x19fb=function(){return _0x10d408;};return a146_0x19fb();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a147_0x5d13(_0x1641e7,_0x5d7d5f){_0x1641e7=_0x1641e7-0x1b7;const _0x50b4a7=a147_0x50b4();let _0x5d13b8=_0x50b4a7[_0x1641e7];return _0x5d13b8;}const a147_0x3f8c0d=a147_0x5d13;(function(_0x4fd4a6,_0x25c491){const _0x3b4f02=a147_0x5d13,_0x279b03=_0x4fd4a6();while(!![]){try{const _0x53e1a7=-parseInt(_0x3b4f02(0x1c5))/0x1+-parseInt(_0x3b4f02(0x1c1))/0x2+parseInt(_0x3b4f02(0x1bd))/0x3+-parseInt(_0x3b4f02(0x1c3))/0x4+-parseInt(_0x3b4f02(0x1b7))/0x5+-parseInt(_0x3b4f02(0x1bb))/0x6+parseInt(_0x3b4f02(0x1c8))/0x7*(parseInt(_0x3b4f02(0x1c4))/0x8);if(_0x53e1a7===_0x25c491)break;else _0x279b03['push'](_0x279b03['shift']());}catch(_0x50292a){_0x279b03['push'](_0x279b03['shift']());}}}(a147_0x50b4,0xdc97b));function a147_0x50b4(){const _0x2807ff=['1583902HjpOBh','name','Pass\x20--name\x20<nickname|username>.','3752ZkISAZ','str','Resolved\x20\x22','5323755cEBhqW','matchedBy','userId','flagMissing','3235512YzSIlg','read','3835701UTOTzs','\x22\x20→\x20userId\x20','role','trim','2536610bXECLq','nickname','7179912vxgcEz','87704czNCXo'];a147_0x50b4=function(){return _0x2807ff;};return a147_0x50b4();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a147_0x3f8c0d(0x1bf),'command':'user-resolve','description':'Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','risk':a147_0x3f8c0d(0x1bc),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x52e3bc){const _0xefba4a=a147_0x3f8c0d;if(!_0x52e3bc['str']('name')['trim']())throw CliErrors[_0xefba4a(0x1ba)](_0xefba4a(0x1c6),_0xefba4a(0x1c7));},async 'execute'(_0x26e24b){const _0x2557a3=a147_0x3f8c0d,_0x10598a=_0x26e24b[_0x2557a3(0x1c9)](_0x2557a3(0x1c6))[_0x2557a3(0x1c0)](),_0x4613b4=await resolveUserRef(_0x10598a);return{'ok':!![],'data':{'user':{'userId':_0x4613b4['userId'],'username':_0x4613b4['username'],'nickname':_0x4613b4[_0x2557a3(0x1c2)],'matchedBy':_0x4613b4[_0x2557a3(0x1b8)]}},'message':_0x2557a3(0x1ca)+_0x10598a+_0x2557a3(0x1be)+_0x4613b4[_0x2557a3(0x1b9)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a148_0x4ca9f8=a148_0xcec6;(function(_0x2cf4b4,_0x1eed4e){const _0x14336b=a148_0xcec6,_0x1f7a10=_0x2cf4b4();while(!![]){try{const _0x13f6dd=-parseInt(_0x14336b(0xe9))/0x1*(parseInt(_0x14336b(0xcc))/0x2)+parseInt(_0x14336b(0xc2))/0x3+parseInt(_0x14336b(0xfa))/0x4+-parseInt(_0x14336b(0xf9))/0x5*(parseInt(_0x14336b(0xda))/0x6)+-parseInt(_0x14336b(0xe1))/0x7+parseInt(_0x14336b(0xc5))/0x8*(parseInt(_0x14336b(0xd1))/0x9)+parseInt(_0x14336b(0xd2))/0xa;if(_0x13f6dd===_0x1eed4e)break;else _0x1f7a10['push'](_0x1f7a10['shift']());}catch(_0x44525b){_0x1f7a10['push'](_0x1f7a10['shift']());}}}(a148_0x15f7,0x666ca));import{readFileSync,existsSync}from'node:fs';function a148_0x15f7(){const _0x1d709b=['vite\x20build\x20--watch\x20exited\x20with\x20code\x20','dev','19559iVmjTZ','node_modules','\x20run\x20preview\x20--watch','parse','cwd','run','has','build','vite','push','yarn','\x20run\x20preview','yarn.lock','bool','\x20run\x20start','Script\x20\x22','10wTSyps','650756INokwp','close','Enable\x20watch\x20mode\x20for\x20preview','inherit','Run\x20a\x20package.json\x20script','990543JYWWOQ','package.json','--watch','8EnlPRf','No\x20package.json\x20found\x20in\x20current\x20directory.','\x20run\x20<script>\x0a','log','No\x20scripts\x20defined\x20in\x20package.json.','join','\x20\x20EXAMPLES','14XRfzao','needsUpgrade','bun','.bin','vite\x20preview\x20exited\x20with\x20code\x20','355599qHPKcz','8544280nBWPaq','scripts','(none)','read','\x22\x20not\x20found\x20in\x20package.json.','npm','\x20\x20\x20\x20','preview','1072314mScmyI','\x0a\x20\x20Usage:\x20','Script\x20name\x20defined\x20in\x20package.json','validation','args','\x20exited\x20with\x20code\x20','watch','3310496guXoBr','Available:\x20','keys','start','error','bun.lockb'];a148_0x15f7=function(){return _0x1d709b;};return a148_0x15f7();}import{CLI_BIN_NAME}from'../../constant/cli.js';import{resolve,delimiter,join}from'node:path';import{spawn}from'node:child_process';import{CliErrors}from'../../errors.js';import{checkSdkVersion,printSdkUpgradeWarning}from'../../utils/check-sdk-version.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../utils/cli-version-check.js';const VERSION_CHECK_SCRIPTS=new Set([a148_0x4ca9f8(0xe4),a148_0x4ca9f8(0xe8)]);function readPackageScripts(_0x4e66ac){const _0x58fb95=a148_0x4ca9f8,_0x1f3f45=resolve(_0x4e66ac,_0x58fb95(0xc3));if(!existsSync(_0x1f3f45))return null;try{const _0x3336ec=JSON[_0x58fb95(0xec)](readFileSync(_0x1f3f45,'utf-8'));return _0x3336ec[_0x58fb95(0xd3)]??{};}catch{return null;}}function a148_0xcec6(_0x529bfe,_0x2148f1){_0x529bfe=_0x529bfe-0xc2;const _0x15f77d=a148_0x15f7();let _0xcec668=_0x15f77d[_0x529bfe];return _0xcec668;}function detectPackageManager(_0x306870){const _0x1c567=a148_0x4ca9f8;if(existsSync(resolve(_0x306870,_0x1c567(0xe6)))||existsSync(resolve(_0x306870,'bun.lock')))return _0x1c567(0xce);if(existsSync(resolve(_0x306870,'pnpm-lock.yaml')))return'pnpm';if(existsSync(resolve(_0x306870,_0x1c567(0xf5))))return _0x1c567(0xf3);return _0x1c567(0xd7);}async function versionCheck(_0x57219b){const _0x1c143d=a148_0x4ca9f8,_0x196af1=await checkCliVersion();(_0x196af1[_0x1c143d(0xcd)]||_0x196af1['belowMinimum'])&&(printCliUpgradeWarning(_0x196af1),assertCliVersionSupported(_0x196af1));const _0x5a6032=await checkSdkVersion(_0x57219b);if(_0x5a6032['needsUpgrade'])printSdkUpgradeWarning(_0x5a6032);}function spawnScript(_0x33933a,_0x1c51d9,_0x19ae8f,_0x4e7cc6){return new Promise((_0x2d2438,_0x3ddf97)=>{const _0x40d57c=a148_0xcec6,_0x2ed564=[_0x40d57c(0xee),_0x1c51d9,..._0x19ae8f],_0x527b8c=spawn(_0x33933a,_0x2ed564,{'cwd':_0x4e7cc6,'stdio':_0x40d57c(0xfd),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4e7cc6,_0x40d57c(0xea),_0x40d57c(0xcf))+delimiter+process.env.PATH}});_0x527b8c['on'](_0x40d57c(0xfb),_0x482aa5=>{const _0x664830=_0x40d57c;if(_0x482aa5===0x0||_0x482aa5===null)_0x2d2438();else _0x3ddf97(new Error(_0x33933a+'\x20run\x20'+_0x1c51d9+_0x664830(0xdf)+_0x482aa5));}),_0x527b8c['on'](_0x40d57c(0xe5),_0x3ddf97);});}function spawnViteBuildWatch(_0x4bd8d9){return new Promise((_0x1500ce,_0x4411ee)=>{const _0x3db4f7=a148_0xcec6,_0x39b232=spawn(_0x3db4f7(0xf1),[_0x3db4f7(0xf0),_0x3db4f7(0xc4)],{'cwd':_0x4bd8d9,'stdio':_0x3db4f7(0xfd),'shell':!![],'env':{...process.env,'PATH':''+join(_0x4bd8d9,_0x3db4f7(0xea),_0x3db4f7(0xcf))+delimiter+process.env.PATH}});_0x39b232['on'](_0x3db4f7(0xfb),_0x25981f=>{const _0x1d8396=_0x3db4f7;if(_0x25981f===0x0||_0x25981f===null)_0x1500ce();else _0x4411ee(new Error(_0x1d8396(0xe7)+_0x25981f));}),_0x39b232['on'](_0x3db4f7(0xe5),_0x4411ee);});}function spawnVitePreview(_0x59111d){return new Promise((_0x1b2296,_0x40b986)=>{const _0x4704bb=a148_0xcec6,_0x49cccd=spawn(_0x4704bb(0xf1),[_0x4704bb(0xd9)],{'cwd':_0x59111d,'stdio':_0x4704bb(0xfd),'shell':!![],'env':{...process.env,'PATH':''+join(_0x59111d,_0x4704bb(0xea),_0x4704bb(0xcf))+delimiter+process.env.PATH}});_0x49cccd['on'](_0x4704bb(0xfb),_0x22d801=>{const _0x331269=_0x4704bb;if(_0x22d801===0x0||_0x22d801===null)_0x1b2296();else _0x40b986(new Error(_0x331269(0xd0)+_0x22d801));}),_0x49cccd['on']('error',_0x40b986);});}const runFlags=[{'name':a148_0x4ca9f8(0xe0),'type':'boolean','description':a148_0x4ca9f8(0xfc),'default':![]}];export const runDefinition={'service':a148_0x4ca9f8(0xee),'command':'run','description':a148_0x4ca9f8(0xfe),'risk':a148_0x4ca9f8(0xd5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':'script','description':a148_0x4ca9f8(0xdc),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x3163b3=a148_0x4ca9f8,_0x452f97=[];return _0x452f97[_0x3163b3(0xf2)](_0x3163b3(0xcb)),_0x452f97[_0x3163b3(0xf2)](_0x3163b3(0xd8)+CLI_BIN_NAME+_0x3163b3(0xf7)),_0x452f97[_0x3163b3(0xf2)](_0x3163b3(0xd8)+CLI_BIN_NAME+'\x20run\x20build'),_0x452f97[_0x3163b3(0xf2)](_0x3163b3(0xd8)+CLI_BIN_NAME+_0x3163b3(0xf4)),_0x452f97[_0x3163b3(0xf2)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x3163b3(0xeb)),_0x452f97[_0x3163b3(0xca)]('\x0a');},async 'execute'(_0x2224b1){const _0x1fb1bb=a148_0x4ca9f8,_0x5a0178=process[_0x1fb1bb(0xed)](),_0x46942b=_0x2224b1[_0x1fb1bb(0xde)][0x0],_0x421dc3=_0x2224b1[_0x1fb1bb(0xde)]['slice'](0x1),_0x28957b=readPackageScripts(_0x5a0178);if(!_0x28957b)throw CliErrors['validation'](_0x1fb1bb(0xc6));if(!_0x46942b){const _0x38c905=Object[_0x1fb1bb(0xe3)](_0x28957b);if(_0x38c905['length']===0x0)console[_0x1fb1bb(0xc8)](_0x1fb1bb(0xc9));else{console[_0x1fb1bb(0xc8)]('\x0a\x20\x20Available\x20scripts:\x0a');for(const _0x2150f2 of _0x38c905){console[_0x1fb1bb(0xc8)](_0x1fb1bb(0xd8)+_0x2150f2);}console[_0x1fb1bb(0xc8)](_0x1fb1bb(0xdb)+CLI_BIN_NAME+_0x1fb1bb(0xc7));}return{'ok':!![]};}if(!_0x28957b[_0x46942b])throw CliErrors[_0x1fb1bb(0xdd)](_0x1fb1bb(0xf8)+_0x46942b+_0x1fb1bb(0xd6),_0x1fb1bb(0xe2)+(Object[_0x1fb1bb(0xe3)](_0x28957b)[_0x1fb1bb(0xca)](',\x20')||_0x1fb1bb(0xd4)));const _0x311462=detectPackageManager(_0x5a0178);VERSION_CHECK_SCRIPTS[_0x1fb1bb(0xef)](_0x46942b)&&await versionCheck(_0x5a0178);if(_0x46942b===_0x1fb1bb(0xd9)&&_0x2224b1[_0x1fb1bb(0xf6)]('watch'))return await Promise['all']([spawnViteBuildWatch(_0x5a0178),spawnVitePreview(_0x5a0178)]),{'ok':!![]};return await spawnScript(_0x311462,_0x46942b,_0x421dc3,_0x5a0178),{'ok':!![]};}};
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a149_0x5ed3d0=a149_0xc755;(function(_0x313f44,_0x1ec1be){const _0x575682=a149_0xc755,_0x68752d=_0x313f44();while(!![]){try{const _0x4cde28=-parseInt(_0x575682(0x1df))/0x1*(-parseInt(_0x575682(0x1e6))/0x2)+parseInt(_0x575682(0x1dd))/0x3+-parseInt(_0x575682(0x1e0))/0x4+parseInt(_0x575682(0x1e4))/0x5+parseInt(_0x575682(0x1e2))/0x6+-parseInt(_0x575682(0x1e5))/0x7+-parseInt(_0x575682(0x1e7))/0x8;if(_0x4cde28===_0x1ec1be)break;else _0x68752d['push'](_0x68752d['shift']());}catch(_0x253a87){_0x68752d['push'](_0x68752d['shift']());}}}(a149_0x751e,0xc0e33));function a149_0xc755(_0xd03b2f,_0x3e7fcf){_0xd03b2f=_0xd03b2f-0x1dd;const _0x751e7d=a149_0x751e();let _0xc75516=_0x751e7d[_0xd03b2f];return _0xc75516;}function a149_0x751e(){const _0x5a2dfe=['165876TJCkPb','read','463HGvcyH','1747256UpEUXc','export','6570048eZRhjO','schema','7616670DFiooS','1019662FqzhNl','1246PIPPCJ','12716288osmJlu'];a149_0x751e=function(){return _0x5a2dfe;};return a149_0x751e();}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0xfa703f){const _0x146c53=await buildSchemaPayload();return{'ok':!![],'data':_0x146c53};}export const schemaDefinition={'service':a149_0x5ed3d0(0x1e3),'command':a149_0x5ed3d0(0x1e1),'description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a149_0x5ed3d0(0x1de),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a150_0x33fe04=a150_0x1543;(function(_0x4bdb7a,_0x3a958c){const _0x323d0a=a150_0x1543,_0x46c7bb=_0x4bdb7a();while(!![]){try{const _0x529851=parseInt(_0x323d0a(0x121))/0x1*(-parseInt(_0x323d0a(0x12a))/0x2)+-parseInt(_0x323d0a(0x14a))/0x3+-parseInt(_0x323d0a(0x134))/0x4*(parseInt(_0x323d0a(0x124))/0x5)+parseInt(_0x323d0a(0x11c))/0x6+-parseInt(_0x323d0a(0x13e))/0x7*(-parseInt(_0x323d0a(0x11f))/0x8)+-parseInt(_0x323d0a(0x131))/0x9+parseInt(_0x323d0a(0x12f))/0xa;if(_0x529851===_0x3a958c)break;else _0x46c7bb['push'](_0x46c7bb['shift']());}catch(_0x47c8bc){_0x46c7bb['push'](_0x46c7bb['shift']());}}}(a150_0x55d8,0x1cd69));import{writeFile}from'node:fs/promises';function a150_0x55d8(){const _0x4417b4=['Created\x20SQL\x20query\x20','high-risk-write','Local\x20SQL\x20file\x20mode','dbName','4004080OlJaCo','validation','1625211utJHqp','sqlName','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','12nfSyDa','Target\x20database\x20ID','lastSync','sqlCode','flagMissing','str','dbId\x20必须为正整数','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','nonInteractive','lockFilePath','475587JksAnI','mybatisXml','appCode','description','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','<server-generated-sqlCode>','/smartapi/custom/saveUserCustomSql','sqls','dbId\x20不能为空','join','POST','map','165036iBoGZe','MyBatis\x20XML(mybatisXml)','number','parse','toISOString','string','SQL\x20名称不能为空','sql','</select>','length','new','请选择本地\x20SQL\x20模式:','SQL\x20query\x20display\x20name','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','请输入\x20SQL\x20名称:','flag','mode','sqlRootDir','catch','__manual__','1316010SQuBwS','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','db-id','8AjEoFj','dbId','170661GdOgpT','SELECT\x201\x20AS\x20id;','name','272185kLCIXZ','sqlRoot','请选择目标数据库:','isFinite','File\x20already\x20exists:\x20','trim','2rJMiVT'];a150_0x55d8=function(){return _0x4417b4;};return a150_0x55d8();}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x535745){const _0x3adcd5=a150_0x1543;if(_0x535745===_0x3adcd5(0x13f))return[_0x3adcd5(0x142),'\x20\x20SELECT\x201\x20AS\x20id',_0x3adcd5(0x110),''][_0x3adcd5(0x147)]('\x0a');return[_0x3adcd5(0x122),''][_0x3adcd5(0x147)]('\x0a');}export const sqlCreate={'service':a150_0x33fe04(0x10f),'command':'create','description':'Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','risk':a150_0x33fe04(0x12c),'flags':[{'name':a150_0x33fe04(0x123),'type':a150_0x33fe04(0x10d),'description':a150_0x33fe04(0x114)},{'name':'db-id','type':a150_0x33fe04(0x10a),'description':a150_0x33fe04(0x135)},{'name':a150_0x33fe04(0x118),'type':a150_0x33fe04(0x10d),'enum':[a150_0x33fe04(0x10f),a150_0x33fe04(0x13f)],'description':a150_0x33fe04(0x12d)}],async 'validate'(_0x60697){const _0x1cb278=a150_0x33fe04;if(!_0x60697[_0x1cb278(0x13c)])return;if(!_0x60697[_0x1cb278(0x139)](_0x1cb278(0x123))['trim']())throw CliErrors[_0x1cb278(0x138)](_0x1cb278(0x123),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x42e3c3=resolveProvidedDbId(_0x60697);if(typeof _0x42e3c3!==_0x1cb278(0x10a)||!Number[_0x1cb278(0x127)](_0x42e3c3)||_0x42e3c3<=0x0)throw CliErrors[_0x1cb278(0x138)](_0x1cb278(0x11e),_0x1cb278(0x13b));if(!_0x60697['str'](_0x1cb278(0x118))[_0x1cb278(0x129)]())throw CliErrors['flagMissing'](_0x1cb278(0x118),_0x1cb278(0x11d));},async 'dryRun'(_0x4bfcbc){const _0x569c6c=a150_0x33fe04,_0x216756=loadSqlProjectConfig(_0x4bfcbc['appCode']),{sqlName:_0x20598a,dbId:_0x24ce52,dbName:_0x1541a5,mode:_0x4b9a84}=await resolveSqlNewInputs(_0x4bfcbc),_0x305367=buildSqlRelativePath(_0x569c6c(0x143),_0x20598a,_0x1541a5,_0x4b9a84,_0x24ce52),_0x2da3df=_0x216756[_0x569c6c(0x119)]+'/'+_0x305367;return{'method':_0x569c6c(0x148),'url':_0x569c6c(0x144),'body':{'appCode':_0x4bfcbc[_0x569c6c(0x140)],'sqlName':_0x20598a,'dbId':_0x24ce52,'mode':_0x4b9a84,'localPath':_0x2da3df},'description':_0x569c6c(0x115)+_0x216756[_0x569c6c(0x119)]};},async 'execute'(_0x3acf7e){const _0x3a74cf=a150_0x33fe04,_0x391fd5=loadSqlProjectConfig(_0x3acf7e[_0x3a74cf(0x140)]),{sqlName:_0x244db6,dbId:_0x28761d,dbName:_0x46382c,mode:_0x33ff85}=await resolveSqlNewInputs(_0x3acf7e),_0x552578=generateSqlTemplate(_0x33ff85),_0x553065=await createSqlQuery({'appCode':_0x3acf7e['appCode'],'sqlName':_0x244db6,'dbId':_0x28761d,'sqlContent':_0x552578}),_0x4df0cc=ensureRemoteSqlContent(_0x553065),_0x43ba4b=_0x46382c||await getDbName(_0x3acf7e['appCode'],_0x28761d)[_0x3a74cf(0x11a)](()=>undefined),_0x4f7f05=buildSqlRelativePath(_0x553065['sqlCode'],_0x553065[_0x3a74cf(0x132)],_0x43ba4b,_0x33ff85,_0x28761d),_0x37e996=_0x391fd5[_0x3a74cf(0x119)]+'/'+_0x4f7f05,_0x2a05b0=buildLocalSqlFileContent({'sqlCode':_0x553065[_0x3a74cf(0x137)],'sqlName':_0x553065['sqlName'],'dbId':_0x553065[_0x3a74cf(0x120)]},_0x4df0cc,{'dbName':_0x43ba4b,'mode':_0x33ff85,'syncedAt':new Date()['toISOString'](),'description':_0x553065[_0x3a74cf(0x141)]});if(await fileExists(_0x37e996))throw CliErrors[_0x3a74cf(0x130)](_0x3a74cf(0x128)+_0x37e996);await ensureParentDirectory(_0x37e996),await writeFile(_0x37e996,_0x2a05b0,'utf8');const _0x10af88=await readSqlLockFile(_0x391fd5[_0x3a74cf(0x13d)]),{lockData:_0x134f49,appLock:_0x873a55}=ensureSqlLockScope(_0x10af88??createEmptySqlLock(),_0x391fd5['appCode'],_0x391fd5[_0x3a74cf(0x125)],_0x3a74cf(0x112));return _0x873a55[_0x3a74cf(0x145)][_0x553065[_0x3a74cf(0x137)]]={...buildSqlLockEntry(_0x553065,_0x4df0cc,computeSqlContentHash(_0x2a05b0),{'dbName':_0x43ba4b}),'path':_0x4f7f05,'mode':_0x33ff85},_0x873a55[_0x3a74cf(0x136)]=new Date()[_0x3a74cf(0x10c)](),await writeSqlLockFile(_0x391fd5[_0x3a74cf(0x13d)],_0x134f49),{'ok':!![],'data':{'id':_0x553065['id'],'sqlCode':_0x553065['sqlCode'],'sqlName':_0x553065[_0x3a74cf(0x132)],'dbId':_0x553065[_0x3a74cf(0x120)],'path':_0x37e996,'mode':_0x33ff85},'message':_0x3a74cf(0x12b)+_0x553065[_0x3a74cf(0x137)]};}};async function resolveSqlNewInputs(_0x452f1b){const _0x1d6505=await resolveSqlNameInput(_0x452f1b),{dbId:_0x295e43,dbName:_0x48d49b}=await resolveDbSelection(_0x452f1b),_0x41cdbf=await resolveSqlModeInput(_0x452f1b);return{'sqlName':_0x1d6505,'dbId':_0x295e43,'dbName':_0x48d49b,'mode':_0x41cdbf};}async function resolveSqlNameInput(_0x242f27){const _0x54950d=a150_0x33fe04,_0x57b0b2=_0x242f27[_0x54950d(0x139)]('name')[_0x54950d(0x129)]();if(_0x57b0b2)return _0x57b0b2;if(_0x242f27[_0x54950d(0x13c)])throw CliErrors[_0x54950d(0x138)](_0x54950d(0x123),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');return(await input({'message':_0x54950d(0x116),'validate':_0x31deff=>_0x31deff[_0x54950d(0x129)]()?!![]:_0x54950d(0x10e)}))[_0x54950d(0x129)]();}async function resolveDbSelection(_0x23e716){const _0x2958aa=a150_0x33fe04,_0x3ff1fa=resolveProvidedDbId(_0x23e716);if(typeof _0x3ff1fa===_0x2958aa(0x10a)&&Number[_0x2958aa(0x127)](_0x3ff1fa)&&_0x3ff1fa>0x0)return{'dbId':_0x3ff1fa,'dbName':await getDbName(_0x23e716[_0x2958aa(0x140)],_0x3ff1fa)['catch'](()=>undefined)};if(_0x23e716[_0x2958aa(0x13c)])throw CliErrors[_0x2958aa(0x138)]('db-id',_0x2958aa(0x13b));const _0x5e312e=await listDatabases(_0x23e716[_0x2958aa(0x140)])[_0x2958aa(0x11a)](()=>[]);if(_0x5e312e[_0x2958aa(0x111)]===0x1)return{'dbId':_0x5e312e[0x0][_0x2958aa(0x120)],'dbName':_0x5e312e[0x0]['dbName']};if(_0x5e312e[_0x2958aa(0x111)]>0x1){const _0x55577f=await select({'message':_0x2958aa(0x126),'choices':[..._0x5e312e[_0x2958aa(0x149)](_0x1f0991=>({'name':_0x1f0991['dbName']+'\x20('+_0x1f0991[_0x2958aa(0x120)]+')','value':serializeDbSelection(_0x1f0991)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x55577f!==_0x2958aa(0x11b))return deserializeDbSelection(_0x55577f);}const _0x5ed04f=await input({'message':'请输入目标数据库\x20dbId:','validate':_0x40b798=>{const _0x253052=_0x2958aa,_0x38f329=_0x40b798[_0x253052(0x129)]();if(!_0x38f329)return _0x253052(0x146);const _0x557ad8=Number(_0x38f329);if(!Number['isInteger'](_0x557ad8)||_0x557ad8<=0x0)return _0x253052(0x13a);return!![];}});return{'dbId':Number(_0x5ed04f['trim']())};}function a150_0x1543(_0x4a5358,_0x35569b){_0x4a5358=_0x4a5358-0x10a;const _0x55d8dd=a150_0x55d8();let _0x1543f8=_0x55d8dd[_0x4a5358];return _0x1543f8;}async function resolveSqlModeInput(_0x2b8f65){const _0x4f524c=a150_0x33fe04,_0x14de6f=_0x2b8f65[_0x4f524c(0x139)](_0x4f524c(0x118))[_0x4f524c(0x129)]();if(_0x14de6f===_0x4f524c(0x10f)||_0x14de6f===_0x4f524c(0x13f))return _0x14de6f;if(_0x2b8f65[_0x4f524c(0x13c)])throw CliErrors[_0x4f524c(0x138)](_0x4f524c(0x118),_0x4f524c(0x11d));return await select({'message':_0x4f524c(0x113),'choices':[{'name':'普通\x20SQL(sql)','value':_0x4f524c(0x10f),'description':_0x4f524c(0x133)},{'name':_0x4f524c(0x14b),'value':_0x4f524c(0x13f),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x48f1d9){const _0x4e68c2=a150_0x33fe04;return JSON['stringify']({'dbId':_0x48f1d9[_0x4e68c2(0x120)],'dbName':_0x48f1d9[_0x4e68c2(0x12e)]});}function deserializeDbSelection(_0x272332){const _0x44bd2b=a150_0x33fe04;try{const _0xada654=JSON[_0x44bd2b(0x10b)](_0x272332);if(typeof _0xada654['dbId']==='number'&&Number[_0x44bd2b(0x127)](_0xada654[_0x44bd2b(0x120)]))return{'dbId':_0xada654['dbId'],'dbName':_0xada654[_0x44bd2b(0x12e)]};}catch{}throw CliErrors[_0x44bd2b(0x130)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x272332);}function resolveProvidedDbId(_0x2894a2){const _0x5ba3e0=a150_0x33fe04,_0xaaf422=_0x2894a2[_0x5ba3e0(0x117)]('db-id');if(typeof _0xaaf422===_0x5ba3e0(0x10a)&&Number['isFinite'](_0xaaf422))return _0xaaf422;return undefined;}
|
|
1
|
+
const a150_0x188c14=a150_0x97ee;(function(_0x326162,_0x1de628){const _0x3f24f6=a150_0x97ee,_0x1485a3=_0x326162();while(!![]){try{const _0x474c7c=-parseInt(_0x3f24f6(0x1fc))/0x1*(parseInt(_0x3f24f6(0x1d7))/0x2)+parseInt(_0x3f24f6(0x1f3))/0x3+parseInt(_0x3f24f6(0x1f7))/0x4+-parseInt(_0x3f24f6(0x1f4))/0x5+-parseInt(_0x3f24f6(0x1e3))/0x6*(-parseInt(_0x3f24f6(0x1c6))/0x7)+-parseInt(_0x3f24f6(0x1e0))/0x8+-parseInt(_0x3f24f6(0x200))/0x9*(parseInt(_0x3f24f6(0x1e7))/0xa);if(_0x474c7c===_0x1de628)break;else _0x1485a3['push'](_0x1485a3['shift']());}catch(_0x547869){_0x1485a3['push'](_0x1485a3['shift']());}}}(a150_0x180c,0xb2634));import{writeFile}from'node:fs/promises';function a150_0x97ee(_0x2fad55,_0x3d189d){_0x2fad55=_0x2fad55-0x1bf;const _0x180ccc=a150_0x180c();let _0x97eef9=_0x180ccc[_0x2fad55];return _0x97eef9;}import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{buildSqlRelativePath}from'../../core/sql-sync/utils.js';import{CliErrors}from'../../errors.js';import{buildLocalSqlFileContent,buildSqlLockEntry,ensureRemoteSqlContent}from'./shared.js';function generateSqlTemplate(_0x23c331){const _0x33a081=a150_0x97ee;if(_0x23c331===_0x33a081(0x1d8))return['<select\x20id=\x22query\x22\x20resultType=\x22map\x22>',_0x33a081(0x1cc),_0x33a081(0x1ca),''][_0x33a081(0x1ff)]('\x0a');return[_0x33a081(0x1f8),'']['join']('\x0a');}export const sqlCreate={'service':a150_0x188c14(0x1fb),'command':'create','description':a150_0x188c14(0x1f6),'risk':a150_0x188c14(0x1f5),'flags':[{'name':a150_0x188c14(0x1de),'type':a150_0x188c14(0x1d3),'description':a150_0x188c14(0x1ec)},{'name':a150_0x188c14(0x204),'type':'number','description':a150_0x188c14(0x1d9)},{'name':'mode','type':a150_0x188c14(0x1d3),'enum':[a150_0x188c14(0x1fb),a150_0x188c14(0x1d8)],'description':a150_0x188c14(0x1df)}],async 'validate'(_0x2231f6){const _0x4b756a=a150_0x188c14;if(!_0x2231f6[_0x4b756a(0x1fe)])return;if(!_0x2231f6[_0x4b756a(0x1dc)]('name')[_0x4b756a(0x1eb)]())throw CliErrors[_0x4b756a(0x1cb)]('name',_0x4b756a(0x1e1));const _0x133d1b=resolveProvidedDbId(_0x2231f6);if(typeof _0x133d1b!==_0x4b756a(0x1f9)||!Number[_0x4b756a(0x1c3)](_0x133d1b)||_0x133d1b<=0x0)throw CliErrors[_0x4b756a(0x1cb)]('db-id',_0x4b756a(0x202));if(!_0x2231f6['str'](_0x4b756a(0x1d4))[_0x4b756a(0x1eb)]())throw CliErrors[_0x4b756a(0x1cb)]('mode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');},async 'dryRun'(_0x1e73d0){const _0x5e00da=a150_0x188c14,_0x3d88ba=loadSqlProjectConfig(_0x1e73d0[_0x5e00da(0x1fd)]),{sqlName:_0x4ac00d,dbId:_0x2a50a3,dbName:_0x28d7ab,mode:_0x122e49}=await resolveSqlNewInputs(_0x1e73d0),_0x216685=buildSqlRelativePath(_0x5e00da(0x1e8),_0x4ac00d,_0x28d7ab,_0x122e49,_0x2a50a3),_0x45f51b=_0x3d88ba['sqlRootDir']+'/'+_0x216685;return{'method':_0x5e00da(0x1f0),'url':_0x5e00da(0x1e5),'body':{'appCode':_0x1e73d0[_0x5e00da(0x1fd)],'sqlName':_0x4ac00d,'dbId':_0x2a50a3,'mode':_0x122e49,'localPath':_0x45f51b},'description':'Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20'+_0x3d88ba[_0x5e00da(0x1e9)]};},async 'execute'(_0x4ad6bc){const _0x1772c1=a150_0x188c14,_0x3739a8=loadSqlProjectConfig(_0x4ad6bc['appCode']),{sqlName:_0xaf047a,dbId:_0x58be28,dbName:_0xd47d82,mode:_0x51fc47}=await resolveSqlNewInputs(_0x4ad6bc),_0x1830d9=generateSqlTemplate(_0x51fc47),_0x5e10e6=await createSqlQuery({'appCode':_0x4ad6bc[_0x1772c1(0x1fd)],'sqlName':_0xaf047a,'dbId':_0x58be28,'sqlContent':_0x1830d9}),_0xff9e2b=ensureRemoteSqlContent(_0x5e10e6),_0x53576a=_0xd47d82||await getDbName(_0x4ad6bc[_0x1772c1(0x1fd)],_0x58be28)[_0x1772c1(0x1ef)](()=>undefined),_0x3d1c44=buildSqlRelativePath(_0x5e10e6[_0x1772c1(0x205)],_0x5e10e6[_0x1772c1(0x1fa)],_0x53576a,_0x51fc47,_0x58be28),_0x284e1d=_0x3739a8[_0x1772c1(0x1e9)]+'/'+_0x3d1c44,_0x3abe13=buildLocalSqlFileContent({'sqlCode':_0x5e10e6[_0x1772c1(0x205)],'sqlName':_0x5e10e6[_0x1772c1(0x1fa)],'dbId':_0x5e10e6[_0x1772c1(0x1d0)]},_0xff9e2b,{'dbName':_0x53576a,'mode':_0x51fc47,'syncedAt':new Date()['toISOString'](),'description':_0x5e10e6[_0x1772c1(0x1c1)]});if(await fileExists(_0x284e1d))throw CliErrors[_0x1772c1(0x1c0)]('File\x20already\x20exists:\x20'+_0x284e1d);await ensureParentDirectory(_0x284e1d),await writeFile(_0x284e1d,_0x3abe13,_0x1772c1(0x1ea));const _0x430b28=await readSqlLockFile(_0x3739a8[_0x1772c1(0x1ed)]),{lockData:_0x561c7f,appLock:_0x276014}=ensureSqlLockScope(_0x430b28??createEmptySqlLock(),_0x3739a8[_0x1772c1(0x1fd)],_0x3739a8[_0x1772c1(0x1ee)],_0x1772c1(0x201));return _0x276014[_0x1772c1(0x1dd)][_0x5e10e6['sqlCode']]={...buildSqlLockEntry(_0x5e10e6,_0xff9e2b,computeSqlContentHash(_0x3abe13),{'dbName':_0x53576a}),'path':_0x3d1c44,'mode':_0x51fc47},_0x276014[_0x1772c1(0x1bf)]=new Date()[_0x1772c1(0x1c4)](),await writeSqlLockFile(_0x3739a8[_0x1772c1(0x1ed)],_0x561c7f),{'ok':!![],'data':{'id':_0x5e10e6['id'],'sqlCode':_0x5e10e6['sqlCode'],'sqlName':_0x5e10e6[_0x1772c1(0x1fa)],'dbId':_0x5e10e6[_0x1772c1(0x1d0)],'path':_0x284e1d,'mode':_0x51fc47},'message':_0x1772c1(0x206)+_0x5e10e6[_0x1772c1(0x205)]};}};async function resolveSqlNewInputs(_0x47ba7f){const _0x367732=await resolveSqlNameInput(_0x47ba7f),{dbId:_0xb45f03,dbName:_0x1a1459}=await resolveDbSelection(_0x47ba7f),_0x477e37=await resolveSqlModeInput(_0x47ba7f);return{'sqlName':_0x367732,'dbId':_0xb45f03,'dbName':_0x1a1459,'mode':_0x477e37};}async function resolveSqlNameInput(_0x154642){const _0x4bd189=a150_0x188c14,_0x141873=_0x154642[_0x4bd189(0x1dc)](_0x4bd189(0x1de))[_0x4bd189(0x1eb)]();if(_0x141873)return _0x141873;if(_0x154642[_0x4bd189(0x1fe)])throw CliErrors[_0x4bd189(0x1cb)](_0x4bd189(0x1de),_0x4bd189(0x1e1));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0x747119=>_0x747119[_0x4bd189(0x1eb)]()?!![]:_0x4bd189(0x1e4)}))[_0x4bd189(0x1eb)]();}function a150_0x180c(){const _0x250983=['适合带动态标签的\x20MyBatis\x20XML\x20SQL','138338djtZFo','mybatisXml','Target\x20database\x20ID','__manual__','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','str','sqls','name','Local\x20SQL\x20file\x20mode','1853696ODRlLn','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','请选择目标数据库:','2299182jEFxlO','SQL\x20名称不能为空','/smartapi/custom/saveUserCustomSql','dbId\x20必须为正整数','250xyuTji','<server-generated-sqlCode>','sqlRootDir','utf8','trim','SQL\x20query\x20display\x20name','lockFilePath','sqlRoot','catch','POST','stringify','parse','1092309zqkTcV','829910hudanH','high-risk-write','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','5681120ERzEIN','SELECT\x201\x20AS\x20id;','number','sqlName','sql','15UyAiNq','appCode','nonInteractive','join','603coCSDw','new','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','dbId\x20不能为空','db-id','sqlCode','Created\x20SQL\x20query\x20','lastSync','validation','description','请选择本地\x20SQL\x20模式:','isFinite','toISOString','Invalid\x20database\x20selection\x20payload:\x20','7UzdoRD','dbName','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','length','</select>','flagMissing','\x20\x20SELECT\x201\x20AS\x20id','isInteger','请输入目标数据库\x20dbId:','map','dbId','普通\x20SQL(sql)','flag','string','mode','MyBatis\x20XML(mybatisXml)'];a150_0x180c=function(){return _0x250983;};return a150_0x180c();}async function resolveDbSelection(_0x532401){const _0x4093ac=a150_0x188c14,_0x29252b=resolveProvidedDbId(_0x532401);if(typeof _0x29252b===_0x4093ac(0x1f9)&&Number['isFinite'](_0x29252b)&&_0x29252b>0x0)return{'dbId':_0x29252b,'dbName':await getDbName(_0x532401['appCode'],_0x29252b)[_0x4093ac(0x1ef)](()=>undefined)};if(_0x532401[_0x4093ac(0x1fe)])throw CliErrors[_0x4093ac(0x1cb)](_0x4093ac(0x204),_0x4093ac(0x202));const _0x6165aa=await listDatabases(_0x532401[_0x4093ac(0x1fd)])[_0x4093ac(0x1ef)](()=>[]);if(_0x6165aa['length']===0x1)return{'dbId':_0x6165aa[0x0]['dbId'],'dbName':_0x6165aa[0x0][_0x4093ac(0x1c7)]};if(_0x6165aa[_0x4093ac(0x1c9)]>0x1){const _0x3c5fed=await select({'message':_0x4093ac(0x1e2),'choices':[..._0x6165aa[_0x4093ac(0x1cf)](_0x4cc20b=>({'name':_0x4cc20b[_0x4093ac(0x1c7)]+'\x20('+_0x4cc20b[_0x4093ac(0x1d0)]+')','value':serializeDbSelection(_0x4cc20b)})),{'name':'✎\x20手动输入\x20dbId','value':_0x4093ac(0x1da)}]});if(_0x3c5fed!=='__manual__')return deserializeDbSelection(_0x3c5fed);}const _0x34bbd8=await input({'message':_0x4093ac(0x1ce),'validate':_0x5dfaf8=>{const _0x150392=_0x4093ac,_0x1450ce=_0x5dfaf8[_0x150392(0x1eb)]();if(!_0x1450ce)return _0x150392(0x203);const _0x3f1029=Number(_0x1450ce);if(!Number[_0x150392(0x1cd)](_0x3f1029)||_0x3f1029<=0x0)return _0x150392(0x1e6);return!![];}});return{'dbId':Number(_0x34bbd8[_0x4093ac(0x1eb)]())};}async function resolveSqlModeInput(_0x15671f){const _0xaa2edc=a150_0x188c14,_0x58cfb0=_0x15671f[_0xaa2edc(0x1dc)](_0xaa2edc(0x1d4))['trim']();if(_0x58cfb0==='sql'||_0x58cfb0===_0xaa2edc(0x1d8))return _0x58cfb0;if(_0x15671f[_0xaa2edc(0x1fe)])throw CliErrors[_0xaa2edc(0x1cb)]('mode',_0xaa2edc(0x1db));return await select({'message':_0xaa2edc(0x1c2),'choices':[{'name':_0xaa2edc(0x1d1),'value':_0xaa2edc(0x1fb),'description':_0xaa2edc(0x1c8)},{'name':_0xaa2edc(0x1d5),'value':_0xaa2edc(0x1d8),'description':_0xaa2edc(0x1d6)}]});}function serializeDbSelection(_0x13c51d){const _0xce856b=a150_0x188c14;return JSON[_0xce856b(0x1f1)]({'dbId':_0x13c51d[_0xce856b(0x1d0)],'dbName':_0x13c51d[_0xce856b(0x1c7)]});}function deserializeDbSelection(_0x21d757){const _0x1da942=a150_0x188c14;try{const _0x924420=JSON[_0x1da942(0x1f2)](_0x21d757);if(typeof _0x924420[_0x1da942(0x1d0)]===_0x1da942(0x1f9)&&Number[_0x1da942(0x1c3)](_0x924420[_0x1da942(0x1d0)]))return{'dbId':_0x924420[_0x1da942(0x1d0)],'dbName':_0x924420[_0x1da942(0x1c7)]};}catch{}throw CliErrors[_0x1da942(0x1c0)](_0x1da942(0x1c5)+_0x21d757);}function resolveProvidedDbId(_0x1877cd){const _0x5ac82d=a150_0x188c14,_0x2e6a47=_0x1877cd[_0x5ac82d(0x1d2)](_0x5ac82d(0x204));if(typeof _0x2e6a47===_0x5ac82d(0x1f9)&&Number[_0x5ac82d(0x1c3)](_0x2e6a47))return _0x2e6a47;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a151_0x46e412=a151_0x187c;(function(_0x2deb85,_0xedd53f){const _0x473233=a151_0x187c,_0x19c1ce=_0x2deb85();while(!![]){try{const _0x2af35d=-parseInt(_0x473233(0x166))/0x1*(-parseInt(_0x473233(0x17a))/0x2)+-parseInt(_0x473233(0x154))/0x3+parseInt(_0x473233(0x167))/0x4+parseInt(_0x473233(0x16c))/0x5*(parseInt(_0x473233(0x173))/0x6)+-parseInt(_0x473233(0x15e))/0x7*(-parseInt(_0x473233(0x162))/0x8)+parseInt(_0x473233(0x158))/0x9*(-parseInt(_0x473233(0x174))/0xa)+-parseInt(_0x473233(0x16a))/0xb*(parseInt(_0x473233(0x169))/0xc);if(_0x2af35d===_0xedd53f)break;else _0x19c1ce['push'](_0x19c1ce['shift']());}catch(_0x333f34){_0x19c1ce['push'](_0x19c1ce['shift']());}}}(a151_0x5171,0x547a0));import{mkdir,readdir,rename,rmdir}from'node:fs/promises';import{dirname,join,relative,resolve,sep}from'node:path';import{deleteSqlQuery}from'../../core/api-client.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';function a151_0x187c(_0x12d8e2,_0x3a87b2){_0x12d8e2=_0x12d8e2-0x154;const _0x517118=a151_0x5171();let _0x187c97=_0x517118[_0x12d8e2];return _0x187c97;}import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a151_0x5171(){const _0x46bdc0=['140UIojVg','1593168qQWuru','Would\x20delete\x20SQL\x20','69288NRePFs','143KQtMXw','lockFilePath','155dyZTQV','delete','length','\x20(local\x20file\x20moved\x20to\x20trash)','toISOString','validation','trashedTo','71544GWilrP','5789270BLieMS','POST','sqlRootDir','startsWith','high-risk-write','str','5342YtOMMd','trashDir','appCode','1677219XLuvzt','SQL\x20lock\x20file\x20not\x20found.','sqls','filter','9uWsbet','sqlRoot','entries','fromEntries','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','Deleted\x20','2920414UQeBrQ','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','remoteId','sqlcode','8wDpFfI','sql','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.'];a151_0x5171=function(){return _0x46bdc0;};return a151_0x5171();}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a151_0x46e412(0x163),'command':a151_0x46e412(0x16d),'description':a151_0x46e412(0x15c),'risk':a151_0x46e412(0x178),'flags':[SQLCODE_FLAG],async 'validate'(_0x6f3617){const _0x3916b4=a151_0x46e412,_0x367cdf=loadSqlProjectConfig(_0x6f3617[_0x3916b4(0x17c)]),_0x317b7b=await readSqlLockFile(_0x367cdf['lockFilePath']);if(!_0x317b7b)throw CliErrors[_0x3916b4(0x171)]('SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.');},async 'dryRun'(_0x14b2d7){const _0x4c4dc7=a151_0x46e412,_0x29dbe2=loadSqlProjectConfig(_0x14b2d7[_0x4c4dc7(0x17c)]),_0xc8f7c0=await readSqlLockFile(_0x29dbe2['lockFilePath']);if(!_0xc8f7c0)throw CliErrors['validation'](_0x4c4dc7(0x165));const {appLock:_0x572f33}=ensureSqlLockScope(_0xc8f7c0,_0x14b2d7[_0x4c4dc7(0x17c)],_0x29dbe2[_0x4c4dc7(0x159)],_0x4c4dc7(0x16d)),_0x5cceb3=_0x14b2d7[_0x4c4dc7(0x179)]('sqlcode'),_0x10fb41=_0x572f33[_0x4c4dc7(0x156)][_0x5cceb3];if(!_0x10fb41)throw CliErrors[_0x4c4dc7(0x171)](_0x4c4dc7(0x164)+_0x5cceb3+'\x22.');return{'method':_0x4c4dc7(0x175),'url':'/smartapi/custom/deleteUserCustomSql','body':{'sqlCode':_0x5cceb3,'id':_0x10fb41[_0x4c4dc7(0x160)],'localPath':resolveLocalSqlFilePath(_0x29dbe2,_0x5cceb3,_0x10fb41)},'description':_0x4c4dc7(0x168)+_0x5cceb3+_0x4c4dc7(0x15f)+_0x29dbe2[_0x4c4dc7(0x17b)]};},async 'execute'(_0x20df6b){const _0x4d0516=a151_0x46e412,_0x250014=loadSqlProjectConfig(_0x20df6b['appCode']),_0x20791b=await readSqlLockFile(_0x250014[_0x4d0516(0x16b)]);if(!_0x20791b)throw CliErrors[_0x4d0516(0x171)](_0x4d0516(0x155));const {lockData:_0x3fd8b4,appLock:_0x50593c}=ensureSqlLockScope(_0x20791b,_0x20df6b[_0x4d0516(0x17c)],_0x250014['sqlRoot'],_0x4d0516(0x16d)),_0x37a501=_0x20df6b['str'](_0x4d0516(0x161)),_0x3a1025=_0x50593c[_0x4d0516(0x156)][_0x37a501];if(!_0x3a1025)throw CliErrors[_0x4d0516(0x171)](_0x4d0516(0x164)+_0x37a501+'\x22.');await deleteSqlQuery({'id':_0x3a1025[_0x4d0516(0x160)],'sqlCode':_0x37a501}),_0x50593c[_0x4d0516(0x156)]=Object[_0x4d0516(0x15b)](Object[_0x4d0516(0x15a)](_0x50593c['sqls'])[_0x4d0516(0x157)](([_0x4ffca5])=>_0x4ffca5!==_0x37a501)),_0x50593c['lastSync']=new Date()[_0x4d0516(0x170)](),await writeSqlLockFile(_0x250014[_0x4d0516(0x16b)],_0x3fd8b4);const _0x97808=resolveLocalSqlFilePath(_0x250014,_0x37a501,_0x3a1025);let _0x32336b;await fileExists(_0x97808)&&(_0x32336b=await moveToTrash(_0x250014['projectRoot'],_0x250014[_0x4d0516(0x17b)],_0x97808),await cleanupEmptyDirectories(dirname(_0x97808),_0x250014[_0x4d0516(0x176)]));const _0x519401={'deleted':_0x37a501,'remoteId':_0x3a1025[_0x4d0516(0x160)]};if(_0x32336b)_0x519401[_0x4d0516(0x172)]=_0x32336b;return{'ok':!![],'data':_0x519401,'message':_0x4d0516(0x15d)+_0x37a501+(_0x32336b?_0x4d0516(0x16f):'')};}};async function moveToTrash(_0x4b03ca,_0x50f793,_0x43297a){const _0x157966=a151_0x46e412,_0x2620e5=new Date()[_0x157966(0x170)]()['replace'](/[:.]/g,'-'),_0x36440b=relative(_0x4b03ca,_0x43297a),_0x502458=join(_0x50f793,_0x2620e5,_0x36440b);return await mkdir(dirname(_0x502458),{'recursive':!![]}),await rename(_0x43297a,_0x502458),_0x502458;}async function cleanupEmptyDirectories(_0xd65c8b,_0x30bd2d){const _0x26273c=a151_0x46e412;let _0x36279b=resolve(_0xd65c8b);const _0x38d289=resolve(_0x30bd2d);while(_0x36279b[_0x26273c(0x177)](''+_0x38d289+sep)||_0x36279b===_0x38d289){if(_0x36279b===_0x38d289)return;try{const _0x7e6b51=await readdir(_0x36279b);if(_0x7e6b51[_0x26273c(0x16e)]>0x0)return;await rmdir(_0x36279b);}catch{return;}_0x36279b=dirname(_0x36279b);}}
|