@lovrabet/rabetbase-cli 2.3.5 → 2.3.6
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
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4de281,_0x481265){const _0x3fff68=a141_0x4541,_0xd9eb5f=_0x4de281();while(!![]){try{const _0x1190b4=-parseInt(_0x3fff68(0x118))/0x1*(parseInt(_0x3fff68(0x116))/0x2)+parseInt(_0x3fff68(0x119))/0x3*(-parseInt(_0x3fff68(0x11d))/0x4)+parseInt(_0x3fff68(0x11c))/0x5+parseInt(_0x3fff68(0x11f))/0x6+-parseInt(_0x3fff68(0x11e))/0x7*(-parseInt(_0x3fff68(0x11a))/0x8)+-parseInt(_0x3fff68(0x11b))/0x9+-parseInt(_0x3fff68(0x117))/0xa*(-parseInt(_0x3fff68(0x115))/0xb);if(_0x1190b4===_0x481265)break;else _0xd9eb5f['push'](_0xd9eb5f['shift']());}catch(_0x2fbf8a){_0xd9eb5f['push'](_0xd9eb5f['shift']());}}}(a141_0x3a2b,0x2326a));import{roleList}from'../../commands/role/list.js';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';function a141_0x4541(_0x5c2859,_0x3194fe){_0x5c2859=_0x5c2859-0x115;const _0x3a2bca=a141_0x3a2b();let _0x4541d8=_0x3a2bca[_0x5c2859];return _0x4541d8;}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];function a141_0x3a2b(){const _0x4e98b3=['68043eNhJuO','8AgGahW','2533905ryYaeV','182375VSFdWm','28sfcUEx','1266146etbKzi','378096RHtRKz','11BLeKXZ','280778blaEhR','4443100XRIQKe','1BpGdbG'];a141_0x3a2b=function(){return _0x4e98b3;};return a141_0x3a2b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a142_0x5b9a5b=a142_0xb467;(function(_0x1a4249,_0x554a53){const _0x183ac9=a142_0xb467,_0x36f4aa=_0x1a4249();while(!![]){try{const _0x1af606=parseInt(_0x183ac9(0x105))/0x1+parseInt(_0x183ac9(0xf1))/0x2*(parseInt(_0x183ac9(0xf7))/0x3)+-parseInt(_0x183ac9(0x10f))/0x4*(parseInt(_0x183ac9(0x10c))/0x5)+-parseInt(_0x183ac9(0xf6))/0x6+parseInt(_0x183ac9(0x101))/0x7+-parseInt(_0x183ac9(0x102))/0x8+parseInt(_0x183ac9(0x107))/0x9;if(_0x1af606===_0x554a53)break;else _0x36f4aa['push'](_0x36f4aa['shift']());}catch(_0x5464bb){_0x36f4aa['push'](_0x36f4aa['shift']());}}}(a142_0x4712,0x1d6f0));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';const ROLE_TYPES=['ADMIN',a142_0x5b9a5b(0x10a),'USER',a142_0x5b9a5b(0x109)];export const roleList={'service':'role','command':a142_0x5b9a5b(0xfe),'description':a142_0x5b9a5b(0x103),'risk':a142_0x5b9a5b(0xf8),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a142_0x5b9a5b(0xf9),'type':a142_0x5b9a5b(0x10b),'required':![],'description':a142_0x5b9a5b(0xf5),'enum':ROLE_TYPES},{'name':a142_0x5b9a5b(0xfb),'type':'number','description':'Page\x20index\x20(1-based)','default':0x1},{'name':a142_0x5b9a5b(0x10d),'type':a142_0x5b9a5b(0x104),'description':a142_0x5b9a5b(0xf2),'default':0x64}],async 'validate'(_0x3c1954){const _0xee6c7a=a142_0x5b9a5b,_0x3f2daa=_0x3c1954[_0xee6c7a(0xff)]('type')[_0xee6c7a(0xfc)]();if(_0x3f2daa&&!ROLE_TYPES[_0xee6c7a(0xf4)](_0x3f2daa['toUpperCase']()))throw CliErrors['validation']('Invalid\x20--type\x20\x22'+_0x3f2daa+'\x22.',_0xee6c7a(0xf0)+ROLE_TYPES[_0xee6c7a(0xfd)](',\x20')+'.');const _0x13f119=_0x3c1954['num'](_0xee6c7a(0xfb),0x1),_0x5c4062=_0x3c1954[_0xee6c7a(0x106)](_0xee6c7a(0x10d),0x64);if(_0x13f119<0x1)throw CliErrors[_0xee6c7a(0xf3)](_0xee6c7a(0xfa));if(_0x5c4062<0x1||_0x5c4062>0x64)throw CliErrors['validation'](_0xee6c7a(0x110));},async 'execute'(_0x477e53){const _0x54fac9=a142_0x5b9a5b,_0x2f6c63=_0x477e53[_0x54fac9(0x106)]('page',0x1)||0x1,_0x51ccdf=_0x477e53['num']('pagesize',0x64)||0x64,_0x447008=_0x477e53[_0x54fac9(0xff)](_0x54fac9(0xf9))['trim']()['toUpperCase'](),{items:_0x4b8e3e,paging:_0x56c881}=await listAppRoles(_0x477e53[_0x54fac9(0x108)],{'currentPage':_0x2f6c63,'pageSize':_0x51ccdf}),_0x20cb91=_0x447008?_0x4b8e3e[_0x54fac9(0x100)](_0xa51abe=>_0xa51abe['roleType']===_0x447008):_0x4b8e3e,_0x2fb2d1=_0x20cb91['map'](projectRole);return{'ok':!![],'data':{'roles':_0x2fb2d1,'paging':_0x56c881},'message':'Found\x20'+_0x2fb2d1[_0x54fac9(0x10e)]+'\x20role(s)'};}};function a142_0xb467(_0x12d336,_0x5e8694){_0x12d336=_0x12d336-0xf0;const _0x47128f=a142_0x4712();let _0xb46722=_0x47128f[_0x12d336];return _0xb46722;}function a142_0x4712(){const _0x405f78=['pagesize','length','284NpXDAf','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','Use\x20one\x20of:\x20','2bBsbFK','Page\x20size\x20(1-100)','validation','includes','Filter\x20by\x20role\x20type','1337100zvHteF','704073QRNlZW','read','type','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','page','trim','join','list','str','filter','517916qGMFDf','747048kQIBQq','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','number','212063BomGtu','num','1015110KakAGN','appCode','CUSTOM','DEV','string','13855IhVShX'];a142_0x4712=function(){return _0x405f78;};return a142_0x4712();}
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const a143_0x212a93=a143_0x24ad;function a143_0x5b37(){const _0x254a87=['roleType','DEV','userList','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','push','ADMIN','Missing\x20user\x20reference.','Pass\x20--role\x20<id|name>.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','\x22\x20is\x20ambiguous\x20(ids:\x20','196473AkSfdo','number','\x20member(s)\x20but\x20role\x20has\x20','role','\x20not\x20found\x20in\x20app\x20','find','tenant_code','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','Role\x20name\x20\x22','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','filter','includes','USER','12KukfTF','\x20not\x20found\x20in\x20the\x20user-role\x20list.','name','splice','userId','Disambiguate\x20with\x20--user\x20<id>.','user','validation','authRequired','userCount','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','join','expect-user-count','remark','string','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','roleName','flagMissing','map','test','Cannot\x20','trim','user-add','4022ZRuONB','nickname','/smartapi/permit/user-role/update-user-list','\x22\x20not\x20found\x20in\x20app\x20','No\x20tenant\x20member\x20matches\x20\x22','Anti-drift\x20check\x20failed:\x20expected\x20','Pass\x20--user\x20<id|name>.','permitCount','\x20is\x20not\x20a\x20member\x20of\x20role\x20','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','POST','Disambiguate\x20with\x20--role\x20<id>.','CUSTOM','4628150iDRosw',';\x20no\x20change.','str','toLowerCase','username','\x20is\x20already\x20a\x20member\x20of\x20role\x20','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','Optional\x20role\x20remark/description','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','1206Xivgye','length','78095NhvjLP','31129xeFeEi','flag','129SibSvY','10936gODqKz','User\x20','tenant','Role\x20id\x20','\x22:\x20','findIndex','\x20built-in\x20role\x20','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','334684NGMQLQ','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Role\x20id\x20(from\x20`role\x20list`)','appCode','expectUserCount'];a143_0x5b37=function(){return _0x254a87;};return a143_0x5b37();}(function(_0x127eed,_0x540321){const _0x311ab0=a143_0x24ad,_0x502c72=_0x127eed();while(!![]){try{const _0x5d929d=parseInt(_0x311ab0(0xbc))/0x1+-parseInt(_0x311ab0(0x89))/0x2*(-parseInt(_0x311ab0(0xa4))/0x3)+parseInt(_0x311ab0(0xad))/0x4+parseInt(_0x311ab0(0xa1))/0x5+parseInt(_0x311ab0(0x72))/0x6*(parseInt(_0x311ab0(0xa2))/0x7)+-parseInt(_0x311ab0(0xa5))/0x8*(-parseInt(_0x311ab0(0x9f))/0x9)+-parseInt(_0x311ab0(0x96))/0xa;if(_0x5d929d===_0x540321)break;else _0x502c72['push'](_0x502c72['shift']());}catch(_0x4fac52){_0x502c72['push'](_0x502c72['shift']());}}}(a143_0x5b37,0x1b385));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';function a143_0x24ad(_0xbbf427,_0x55db0b){_0xbbf427=_0xbbf427-0x6a;const _0x5b3767=a143_0x5b37();let _0x24ad3f=_0x5b3767[_0xbbf427];return _0x24ad3f;}import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a143_0x212a93(0xbd),'required':!![],'description':a143_0x212a93(0xaf)};export const ROLE_REF_FLAG={'name':a143_0x212a93(0xbf),'type':a143_0x212a93(0x80),'required':!![],'description':a143_0x212a93(0x6b)};export const USER_REF_FLAG={'name':'user','type':a143_0x212a93(0x80),'required':!![],'description':a143_0x212a93(0xac)};export const NAME_FLAG={'name':'name','type':a143_0x212a93(0x80),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':'name','type':a143_0x212a93(0x80),'required':!![],'description':a143_0x212a93(0x9c)};export const REMARK_FLAG={'name':a143_0x212a93(0x7f),'type':a143_0x212a93(0x80),'required':![],'description':a143_0x212a93(0x9d)};export const EXPECT_USER_COUNT_FLAG={'name':a143_0x212a93(0x7e),'type':a143_0x212a93(0xbd),'required':![],'description':a143_0x212a93(0x6e)};export const BUILTIN_ROLE_TYPES=[a143_0x212a93(0xb7),a143_0x212a93(0xb3),a143_0x212a93(0x71)];export function isBuiltinRole(_0x1adaf2){return BUILTIN_ROLE_TYPES['includes'](_0x1adaf2);}export function assertCustomRole(_0x52b9ac,_0x4ace83){const _0x39d186=a143_0x212a93;if(_0x52b9ac[_0x39d186(0xb2)]!==_0x39d186(0x95))throw CliErrors[_0x39d186(0x79)](_0x39d186(0x86)+_0x4ace83+_0x39d186(0xab)+_0x52b9ac['roleName']+'\x20('+_0x52b9ac[_0x39d186(0xb2)]+').',_0x39d186(0x9e));}export function assertPermConfigurable(_0xf6b897){const _0x55596b=a143_0x212a93;if(_0xf6b897[_0x55596b(0xb2)]===_0x55596b(0xb3)||_0xf6b897[_0x55596b(0xb2)]===_0x55596b(0xb7))throw CliErrors[_0x55596b(0x79)](_0x55596b(0x92)+_0xf6b897['roleName']+'\x20('+_0xf6b897[_0x55596b(0xb2)]+').',_0x55596b(0x6c));}export function projectRole(_0x24c8ae){const _0x3502fd=a143_0x212a93;return{'id':_0x24c8ae['id'],'roleName':_0x24c8ae[_0x3502fd(0x82)],'roleType':_0x24c8ae[_0x3502fd(0xb2)],'remark':_0x24c8ae[_0x3502fd(0x7f)],'userCount':_0x24c8ae[_0x3502fd(0x7b)],'permitCount':_0x24c8ae[_0x3502fd(0x90)],'builtin':isBuiltinRole(_0x24c8ae[_0x3502fd(0xb2)])};}export async function resolveRoleRef(_0x703074,_0x1d5a98){const _0x4326ac=a143_0x212a93,_0x2b5c77=_0x1d5a98[_0x4326ac(0x87)]();if(!_0x2b5c77)throw CliErrors['validation']('Missing\x20role\x20reference.','Pass\x20--role\x20<id|name>.');if(/^\d+$/['test'](_0x2b5c77))return getRoleById(_0x703074,Number(_0x2b5c77));const _0x5c0331=await listAllAppRoles(_0x703074),_0x3aa34f=_0x5c0331[_0x4326ac(0x6f)](_0x5c7389=>_0x5c7389[_0x4326ac(0x82)]===_0x2b5c77);if(_0x3aa34f[_0x4326ac(0xa0)]===0x0)throw CliErrors[_0x4326ac(0x79)](_0x4326ac(0x6d)+_0x2b5c77+_0x4326ac(0x8c)+_0x703074+'.',_0x4326ac(0xba));if(_0x3aa34f[_0x4326ac(0xa0)]>0x1){const _0x7be9cb=_0x3aa34f['map'](_0x33846e=>_0x33846e['id'])[_0x4326ac(0x7d)](',\x20');throw CliErrors[_0x4326ac(0x79)](_0x4326ac(0x6d)+_0x2b5c77+_0x4326ac(0xbb)+_0x7be9cb+').',_0x4326ac(0x94));}return _0x3aa34f[0x0];}export async function getRoleById(_0x559a66,_0x4f132c){const _0x4578ac=a143_0x212a93,_0x2873e5=await getAppRole(_0x4f132c);if(!_0x2873e5)throw CliErrors[_0x4578ac(0x79)](_0x4578ac(0xa8)+_0x4f132c+_0x4578ac(0xc0)+_0x559a66+'.',_0x4578ac(0xae));return _0x2873e5;}async function listAllAppRoles(_0x226060){const _0x25e40d=a143_0x212a93,_0x106952=0x64,_0x1eb374=[];for(let _0x41fd6e=0x1;;_0x41fd6e+=0x1){const {items:_0x50ec10,paging:_0x5cf9d5}=await listAppRoles(_0x226060,{'currentPage':_0x41fd6e,'pageSize':_0x106952});_0x1eb374[_0x25e40d(0xb6)](..._0x50ec10);if(_0x50ec10[_0x25e40d(0xa0)]<_0x106952||_0x5cf9d5&&_0x1eb374[_0x25e40d(0xa0)]>=_0x5cf9d5['totalCount'])return _0x1eb374;}}export async function resolveTenantCode(){const _0x582a69=a143_0x212a93,_0x583c4b=await getSessionUserInfo(),_0x5a7ded=_0x583c4b?.[_0x582a69(0x78)]?.[_0x582a69(0xa7)]?.[_0x582a69(0x6a)];if(!_0x5a7ded)throw CliErrors[_0x582a69(0x7a)](_0x582a69(0x81));return _0x5a7ded;}function matchMember(_0x46c117,_0x2eb3cc){const _0x2aaab6=a143_0x212a93,_0x4e504f=_0x2eb3cc[_0x2aaab6(0x87)]()[_0x2aaab6(0x99)]();return(_0x46c117['nickname']??'')[_0x2aaab6(0x99)]()===_0x4e504f||(_0x46c117[_0x2aaab6(0x9a)]??'')[_0x2aaab6(0x99)]()===_0x4e504f;}export async function resolveUserRef(_0x441634){const _0x13c5bf=a143_0x212a93,_0xb251a5=_0x441634[_0x13c5bf(0x87)]();if(!_0xb251a5)throw CliErrors[_0x13c5bf(0x79)](_0x13c5bf(0xb8),_0x13c5bf(0x8f));const _0x661f5c=await resolveTenantCode(),_0x417b7f=await getTenantMembers(_0x661f5c);if(/^\d+$/[_0x13c5bf(0x85)](_0xb251a5)){const _0x18895c=Number(_0xb251a5),_0x51f2e0=_0x417b7f[_0x13c5bf(0xc1)](_0x19496d=>_0x19496d[_0x13c5bf(0x76)]===_0x18895c);return{'userId':_0x18895c,'username':_0x51f2e0?.[_0x13c5bf(0x9a)]??String(_0x18895c),'nickname':_0x51f2e0?.[_0x13c5bf(0x8a)],'matchedBy':'id'};}const _0x576209=_0x417b7f['filter'](_0x4e47c2=>matchMember(_0x4e47c2,_0xb251a5));if(_0x576209[_0x13c5bf(0xa0)]===0x0)throw CliErrors[_0x13c5bf(0x79)](_0x13c5bf(0x8d)+_0xb251a5+'\x22.',_0x13c5bf(0xb5));if(_0x576209[_0x13c5bf(0xa0)]>0x1){const _0x4171b9=_0x576209[_0x13c5bf(0x84)](_0x15b62d=>(_0x15b62d[_0x13c5bf(0x8a)]??_0x15b62d[_0x13c5bf(0x9a)]??'?')+'('+_0x15b62d[_0x13c5bf(0x76)]+')')[_0x13c5bf(0x7d)](',\x20');throw CliErrors['validation']('Multiple\x20tenant\x20members\x20match\x20\x22'+_0xb251a5+_0x13c5bf(0xa9)+_0x4171b9+'.',_0x13c5bf(0x77));}const _0xf3fc14=_0x576209[0x0];return{'userId':_0xf3fc14['userId'],'username':_0xf3fc14[_0x13c5bf(0x9a)]??String(_0xf3fc14[_0x13c5bf(0x76)]),'nickname':_0xf3fc14['nickname'],'matchedBy':_0x13c5bf(0x74)};}export const UPDATE_USER_LIST_PATH=a143_0x212a93(0x8b);function userIdsOf(_0x2d9335){const _0x285c39=a143_0x212a93;return(_0x2d9335?.[_0x285c39(0xb4)]??[])['map'](_0x170564=>_0x170564[_0x285c39(0x76)]);}export function computeRoleUserMutation(_0x4261cc){const _0x51f4bd=a143_0x212a93,{operation:_0x2a05f5,appCode:_0x5d5881,roleUsers:_0x213dff,targetRoleId:_0x403370,user:_0x291a9d}=_0x4261cc,_0xca37ba=_0x213dff[_0x51f4bd(0xc1)](_0x3f7dd1=>_0x3f7dd1['id']===_0x403370);if(!_0xca37ba)throw CliErrors['validation'](_0x51f4bd(0xa8)+_0x403370+_0x51f4bd(0x73),_0x51f4bd(0xae));const _0x20d015=userIdsOf(_0xca37ba),_0x5ee56f=[];if(_0x4261cc[_0x51f4bd(0xb1)]!==undefined&&_0x4261cc[_0x51f4bd(0xb1)]!==_0x20d015[_0x51f4bd(0xa0)])throw CliErrors[_0x51f4bd(0x79)](_0x51f4bd(0x8e)+_0x4261cc[_0x51f4bd(0xb1)]+_0x51f4bd(0xbe)+_0x20d015['length']+'.',_0x51f4bd(0x7c));const _0x5f4517=_0x20d015[_0x51f4bd(0x70)](_0x291a9d[_0x51f4bd(0x76)]);let _0x27795e=![];const _0x564adb=[..._0xca37ba[_0x51f4bd(0xb4)]];if(_0x2a05f5===_0x51f4bd(0x88))_0x5f4517?_0x5ee56f[_0x51f4bd(0xb6)]('User\x20'+_0x291a9d[_0x51f4bd(0x76)]+_0x51f4bd(0x9b)+_0xca37ba['roleName']+';\x20no\x20change.'):(_0x564adb['push']({'userId':_0x291a9d['userId'],'username':_0x291a9d[_0x51f4bd(0x9a)],..._0x291a9d[_0x51f4bd(0x8a)]?{'nickname':_0x291a9d[_0x51f4bd(0x8a)]}:{}}),_0x27795e=!![]);else{if(!_0x5f4517)_0x5ee56f[_0x51f4bd(0xb6)](_0x51f4bd(0xa6)+_0x291a9d[_0x51f4bd(0x76)]+_0x51f4bd(0x91)+_0xca37ba[_0x51f4bd(0x82)]+_0x51f4bd(0x97));else{const _0x4e49d5=_0x564adb[_0x51f4bd(0xaa)](_0x36c561=>_0x36c561[_0x51f4bd(0x76)]===_0x291a9d['userId']);if(_0x4e49d5>=0x0)_0x564adb[_0x51f4bd(0x75)](_0x4e49d5,0x1);_0x27795e=!![];}}const _0x1966d2=_0x213dff['map'](_0x41e91d=>_0x41e91d['id']===_0x403370?{..._0x41e91d,'userList':_0x564adb}:_0x41e91d),_0x55b482=_0x564adb['map'](_0x5c0b5d=>_0x5c0b5d['userId']),_0x2d6f5b={'operation':_0x2a05f5,'selector':{'appCode':_0x5d5881,'roleId':_0x403370,'roleName':_0xca37ba[_0x51f4bd(0x82)],'userId':_0x291a9d[_0x51f4bd(0x76)]},'before':{'userIds':_0x20d015},'after':{'userIds':_0x55b482},'dryRun':_0x4261cc['dryRun'],'backend':{'method':_0x51f4bd(0x93),'path':UPDATE_USER_LIST_PATH},'warnings':_0x5ee56f};return{'roleList':_0x1966d2,'mutation':_0x2d6f5b,'changed':_0x27795e};}export async function loadRoleUsers(_0x58b42b){return listRoleUsers(_0x58b42b);}export function readRoleRef(_0x22658a){const _0x3c49a5=a143_0x212a93,_0x27aa83=_0x22658a[_0x3c49a5(0x98)]('role')[_0x3c49a5(0x87)]();if(!_0x27aa83)throw CliErrors[_0x3c49a5(0x83)]('role',_0x3c49a5(0xb9));return _0x27aa83;}export async function prepareUserMutation(_0x4343fe,_0x2f7e42,_0x3d8643){const _0x29dc62=a143_0x212a93,_0x5c4eb0=readRoleRef(_0x4343fe),_0x8ddb46=_0x4343fe['str'](_0x29dc62(0x78))[_0x29dc62(0x87)]();if(!_0x8ddb46)throw CliErrors['flagMissing'](_0x29dc62(0x78),_0x29dc62(0x8f));const _0x1c9ad2=_0x4343fe[_0x29dc62(0xa3)](_0x29dc62(0x7e)),_0x2e1744=_0x1c9ad2===undefined||_0x1c9ad2===null?undefined:Number(_0x1c9ad2),_0x185c72=await resolveRoleRef(_0x4343fe[_0x29dc62(0xb0)],_0x5c4eb0),_0x3f6c27=await resolveUserRef(_0x8ddb46),_0x173428=await loadRoleUsers(_0x4343fe[_0x29dc62(0xb0)]);return computeRoleUserMutation({'operation':_0x2f7e42,'appCode':_0x4343fe[_0x29dc62(0xb0)],'roleUsers':_0x173428,'targetRoleId':_0x185c72['id'],'user':{'userId':_0x3f6c27[_0x29dc62(0x76)],'username':_0x3f6c27[_0x29dc62(0x9a)],'nickname':_0x3f6c27['nickname']},'dryRun':_0x3d8643,..._0x2e1744!==undefined?{'expectUserCount':_0x2e1744}:{}});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a144_0x59cdbe=a144_0x8721;(function(_0x1216a7,_0x3d17a6){const _0x17f5f0=a144_0x8721,_0x40a0cf=_0x1216a7();while(!![]){try{const _0x2666e3=parseInt(_0x17f5f0(0x207))/0x1*(-parseInt(_0x17f5f0(0x1f7))/0x2)+parseInt(_0x17f5f0(0x1f6))/0x3*(-parseInt(_0x17f5f0(0x1fd))/0x4)+-parseInt(_0x17f5f0(0x1ff))/0x5*(parseInt(_0x17f5f0(0x1f4))/0x6)+parseInt(_0x17f5f0(0x209))/0x7+-parseInt(_0x17f5f0(0x1fa))/0x8+-parseInt(_0x17f5f0(0x1f9))/0x9*(parseInt(_0x17f5f0(0x1fe))/0xa)+parseInt(_0x17f5f0(0x20d))/0xb;if(_0x2666e3===_0x3d17a6)break;else _0x40a0cf['push'](_0x40a0cf['shift']());}catch(_0x4a005f){_0x40a0cf['push'](_0x40a0cf['shift']());}}}(a144_0x2972,0xa693c));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a144_0x8721(_0x88d179,_0x3f6146){_0x88d179=_0x88d179-0x1f3;const _0x297259=a144_0x2972();let _0x87211c=_0x297259[_0x88d179];return _0x87211c;}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='/smartapi/permit/role/update';function readPatch(_0xf364ba){const _0x37467d=a144_0x8721,_0x2d98ce=_0xf364ba[_0x37467d(0x205)](_0x37467d(0x20a)),_0x4ce004=_0xf364ba[_0x37467d(0x205)]('remark'),_0x3dbaf9={};if(_0x2d98ce!==undefined&&_0x2d98ce!==null){const _0x536990=String(_0x2d98ce)[_0x37467d(0x20c)]();if(!_0x536990)throw CliErrors[_0x37467d(0x208)]('--name\x20cannot\x20be\x20empty.');if(_0x536990[_0x37467d(0x1f3)]>0x40)throw CliErrors[_0x37467d(0x208)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');_0x3dbaf9[_0x37467d(0x1f8)]=_0x536990;}_0x4ce004!==undefined&&_0x4ce004!==null&&(_0x3dbaf9['remark']=String(_0x4ce004));if(_0x3dbaf9['roleName']===undefined&&_0x3dbaf9[_0x37467d(0x1f5)]===undefined)throw CliErrors[_0x37467d(0x208)]('Nothing\x20to\x20update.',_0x37467d(0x1fb));return _0x3dbaf9;}function a144_0x2972(){const _0x2ff979=['8854993ovVvvd','name','role','trim','27590178sOFNjI','Updated\x20role\x20','appCode','length','3363090PCmrXw','remark','3051RrFclZ','6ZoVQOc','roleName','146016OOMQha','2405032lzTJEV','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','num','2364JcxOYd','240xykebx','5kvBIop','string','write','New\x20role\x20name','update','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','flag','POST','413110ptntEP','validation'];a144_0x2972=function(){return _0x2ff979;};return a144_0x2972();}export const roleUpdate={'service':a144_0x59cdbe(0x20b),'command':a144_0x59cdbe(0x203),'description':a144_0x59cdbe(0x204),'risk':a144_0x59cdbe(0x201),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a144_0x59cdbe(0x20a),'type':a144_0x59cdbe(0x200),'required':![],'description':a144_0x59cdbe(0x202)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x422012){readPatch(_0x422012);},async 'dryRun'(_0x488578){const _0x5a30d9=a144_0x59cdbe,_0x116758=_0x488578['num']('id'),_0x5193c9=readPatch(_0x488578),_0x42742c=await getRoleById(_0x488578[_0x5a30d9(0x20f)],_0x116758);return assertCustomRole(_0x42742c,_0x5a30d9(0x203)),asDryRunResult({'operation':'update','selector':{'appCode':_0x488578[_0x5a30d9(0x20f)],'roleId':_0x116758,'roleName':_0x42742c['roleName']},'before':projectRole(_0x42742c),'after':projectRole({..._0x42742c,..._0x5193c9['roleName']!==undefined?{'roleName':_0x5193c9[_0x5a30d9(0x1f8)]}:{},..._0x5193c9[_0x5a30d9(0x1f5)]!==undefined?{'remark':_0x5193c9[_0x5a30d9(0x1f5)]}:{}}),'dryRun':!![],'backend':{'method':_0x5a30d9(0x206),'path':UPDATE_PATH},'warnings':[]},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0xea2ad7){const _0x1a7747=a144_0x59cdbe,_0x490055=_0xea2ad7[_0x1a7747(0x1fc)]('id'),_0x2a6e9e=readPatch(_0xea2ad7),_0x316bae=await getRoleById(_0xea2ad7[_0x1a7747(0x20f)],_0x490055);assertCustomRole(_0x316bae,_0x1a7747(0x203)),await updateAppRole({'id':_0x490055,'appCode':_0xea2ad7[_0x1a7747(0x20f)],..._0x2a6e9e[_0x1a7747(0x1f8)]!==undefined?{'roleName':_0x2a6e9e[_0x1a7747(0x1f8)]}:{},..._0x2a6e9e['remark']!==undefined?{'remark':_0x2a6e9e['remark']}:{}});const _0x3be282=await getRoleById(_0xea2ad7[_0x1a7747(0x20f)],_0x490055);return{'ok':!![],'data':{'operation':'update','selector':{'appCode':_0xea2ad7['appCode'],'roleId':_0x490055,'roleName':_0x3be282[_0x1a7747(0x1f8)]},'before':projectRole(_0x316bae),'after':projectRole(_0x3be282),'dryRun':![],'backend':{'method':_0x1a7747(0x206),'path':UPDATE_PATH},'warnings':[]},'message':_0x1a7747(0x20e)+_0x3be282[_0x1a7747(0x1f8)]+'\x20(id='+_0x490055+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a145_0xa5dab9=a145_0x5ddc;(function(_0x5b7b71,_0x25eda9){const _0x13863e=a145_0x5ddc,_0x1770de=_0x5b7b71();while(!![]){try{const _0x5c1d9c=parseInt(_0x13863e(0x188))/0x1+parseInt(_0x13863e(0x18a))/0x2*(-parseInt(_0x13863e(0x186))/0x3)+parseInt(_0x13863e(0x190))/0x4+parseInt(_0x13863e(0x199))/0x5*(-parseInt(_0x13863e(0x192))/0x6)+-parseInt(_0x13863e(0x198))/0x7+parseInt(_0x13863e(0x191))/0x8+parseInt(_0x13863e(0x18b))/0x9;if(_0x5c1d9c===_0x25eda9)break;else _0x1770de['push'](_0x1770de['shift']());}catch(_0x287b66){_0x1770de['push'](_0x1770de['shift']());}}}(a145_0x3a85,0xb407c));import{updateRoleUsers}from'../../core/api-client.js';function a145_0x5ddc(_0x3f3146,_0x392f83){_0x3f3146=_0x3f3146-0x186;const _0x3a85e4=a145_0x3a85();let _0x5ddc8b=_0x3a85e4[_0x3f3146];return _0x5ddc8b;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a145_0x3a85(){const _0x5efd9d=['2688872mQXMPw','18RYjbvi','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','\x20to\x20role\x20','user-add','high-risk-write','Added\x20user\x20','3469137XPVqFJ','2380095iIToee','1149NKLOeE','\x20already\x20in\x20role\x20','822366ZzQDUO','appCode','5742aghKOI','16666335PEaoOr','roleName','userId','selector','role','3001420iOsenL'];a145_0x3a85=function(){return _0x5efd9d;};return a145_0x3a85();}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_0xa5dab9(0x18f),'command':a145_0xa5dab9(0x195),'description':a145_0xa5dab9(0x193),'risk':a145_0xa5dab9(0x196),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x15120a){const _0x5ef9ad=a145_0xa5dab9,{mutation:_0x2138a8}=await prepareUserMutation(_0x15120a,_0x5ef9ad(0x195),!![]);return asDryRunResult(_0x2138a8,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0xa05302){const _0x1d4051=a145_0xa5dab9,{roleList:_0x4f87c8,mutation:_0x3792d4,changed:_0x3e811a}=await prepareUserMutation(_0xa05302,_0x1d4051(0x195),![]);return _0x3e811a&&await updateRoleUsers(_0xa05302[_0x1d4051(0x189)],_0x4f87c8),{'ok':!![],'data':_0x3792d4,'message':_0x3e811a?_0x1d4051(0x197)+_0x3792d4['selector'][_0x1d4051(0x18d)]+_0x1d4051(0x194)+_0x3792d4[_0x1d4051(0x18e)][_0x1d4051(0x18c)]:'No\x20change:\x20user\x20'+_0x3792d4['selector'][_0x1d4051(0x18d)]+_0x1d4051(0x187)+_0x3792d4[_0x1d4051(0x18e)][_0x1d4051(0x18c)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a146_0x29b1b0=a146_0x5cc8;(function(_0x52f0fd,_0x4276e0){const _0x218952=a146_0x5cc8,_0x522933=_0x52f0fd();while(!![]){try{const _0x392dba=parseInt(_0x218952(0x1c4))/0x1*(parseInt(_0x218952(0x1ca))/0x2)+-parseInt(_0x218952(0x1b8))/0x3*(parseInt(_0x218952(0x1c2))/0x4)+-parseInt(_0x218952(0x1b6))/0x5+-parseInt(_0x218952(0x1c9))/0x6+parseInt(_0x218952(0x1ba))/0x7*(parseInt(_0x218952(0x1c8))/0x8)+-parseInt(_0x218952(0x1bb))/0x9+parseInt(_0x218952(0x1bd))/0xa;if(_0x392dba===_0x4276e0)break;else _0x522933['push'](_0x522933['shift']());}catch(_0x23dc5a){_0x522933['push'](_0x522933['shift']());}}}(a146_0x4c56,0xe1600));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 roleUserRemove={'service':a146_0x29b1b0(0x1c6),'command':a146_0x29b1b0(0x1b5),'description':a146_0x29b1b0(0x1c1),'risk':a146_0x29b1b0(0x1bf),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0xd35d4e){const _0x1b2cf8=a146_0x29b1b0,{mutation:_0x54c777}=await prepareUserMutation(_0xd35d4e,_0x1b2cf8(0x1b5),!![]);return asDryRunResult(_0x54c777,{'method':_0x1b2cf8(0x1c5),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x1bb453){const _0x5597da=a146_0x29b1b0,{roleList:_0x2785f6,mutation:_0x491423,changed:_0x5d1573}=await prepareUserMutation(_0x1bb453,'user-remove',![]);return _0x5d1573&&await updateRoleUsers(_0x1bb453[_0x5597da(0x1bc)],_0x2785f6),{'ok':!![],'data':_0x491423,'message':_0x5d1573?'Removed\x20user\x20'+_0x491423[_0x5597da(0x1c7)][_0x5597da(0x1c0)]+_0x5597da(0x1be)+_0x491423[_0x5597da(0x1c7)][_0x5597da(0x1c3)]:_0x5597da(0x1b7)+_0x491423[_0x5597da(0x1c7)]['userId']+_0x5597da(0x1b9)+_0x491423['selector'][_0x5597da(0x1c3)]};}};function a146_0x5cc8(_0x3d10a2,_0xd9c511){_0x3d10a2=_0x3d10a2-0x1b5;const _0x4c5640=a146_0x4c56();let _0x5cc83e=_0x4c5640[_0x3d10a2];return _0x5cc83e;}function a146_0x4c56(){const _0x1db334=['POST','role','selector','464hywVVV','3759012iZgGUU','2098946xTWIDI','user-remove','935920YERAsn','No\x20change:\x20user\x20','6VzluDp','\x20not\x20in\x20role\x20','148477kHNkEX','15270651NdfHBZ','appCode','19441480DlCoCS','\x20from\x20role\x20','high-risk-write','userId','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','1580596QUxBUZ','roleName','1IhRumQ'];a146_0x4c56=function(){return _0x1db334;};return a146_0x4c56();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a147_0x174881=a147_0x333b;function a147_0x3c45(){const _0x5bd57d=['flagMissing','123QwSGrX','5302465HWjOrg','666321outOSu','424434GKvjll','6NzphTF','read','str','7103592XgFwFc','nickname','160nUfFIP','\x22\x20→\x20userId\x20','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','username','userId','name','user-resolve','10QPJeIe','trim','857916PAhrOJ','550976eavGRy'];a147_0x3c45=function(){return _0x5bd57d;};return a147_0x3c45();}(function(_0x5dc965,_0x331122){const _0x31a34c=a147_0x333b,_0x5106d2=_0x5dc965();while(!![]){try{const _0x5c7116=parseInt(_0x31a34c(0x68))/0x1+-parseInt(_0x31a34c(0x6a))/0x2*(parseInt(_0x31a34c(0x66))/0x3)+parseInt(_0x31a34c(0x64))/0x4+-parseInt(_0x31a34c(0x76))/0x5*(parseInt(_0x31a34c(0x69))/0x6)+-parseInt(_0x31a34c(0x67))/0x7+-parseInt(_0x31a34c(0x6d))/0x8+parseInt(_0x31a34c(0x78))/0x9*(parseInt(_0x31a34c(0x6f))/0xa);if(_0x5c7116===_0x331122)break;else _0x5106d2['push'](_0x5106d2['shift']());}catch(_0x28454f){_0x5106d2['push'](_0x5106d2['shift']());}}}(a147_0x3c45,0x845fc));import{CliErrors}from'../../errors.js';function a147_0x333b(_0x1bc7a6,_0x1e7b6d){_0x1bc7a6=_0x1bc7a6-0x64;const _0x3c4560=a147_0x3c45();let _0x333bfe=_0x3c4560[_0x1bc7a6];return _0x333bfe;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':a147_0x174881(0x75),'description':a147_0x174881(0x71),'risk':a147_0x174881(0x6b),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x29176f){const _0x29636a=a147_0x174881;if(!_0x29176f[_0x29636a(0x6c)](_0x29636a(0x74))['trim']())throw CliErrors[_0x29636a(0x65)]('name','Pass\x20--name\x20<nickname|username>.');},async 'execute'(_0x2fde5e){const _0x3cd116=a147_0x174881,_0x405ec3=_0x2fde5e[_0x3cd116(0x6c)](_0x3cd116(0x74))[_0x3cd116(0x77)](),_0x3a865e=await resolveUserRef(_0x405ec3);return{'ok':!![],'data':{'user':{'userId':_0x3a865e[_0x3cd116(0x73)],'username':_0x3a865e[_0x3cd116(0x72)],'nickname':_0x3a865e[_0x3cd116(0x6e)],'matchedBy':_0x3a865e['matchedBy']}},'message':'Resolved\x20\x22'+_0x405ec3+_0x3cd116(0x70)+_0x3a865e[_0x3cd116(0x73)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a148_0x1164b6=a148_0x4bc8;(function(_0x49c25d,_0xa8e79d){const _0x4bbb46=a148_0x4bc8,_0x51d8c1=_0x49c25d();while(!![]){try{const _0x60a4ab=parseInt(_0x4bbb46(0xd7))/0x1*(parseInt(_0x4bbb46(0xc3))/0x2)+parseInt(_0x4bbb46(0xad))/0x3+-parseInt(_0x4bbb46(0xe0))/0x4+parseInt(_0x4bbb46(0xaf))/0x5*(-parseInt(_0x4bbb46(0xb0))/0x6)+parseInt(_0x4bbb46(0xc2))/0x7+parseInt(_0x4bbb46(0xb2))/0x8*(-parseInt(_0x4bbb46(0xc9))/0x9)+parseInt(_0x4bbb46(0xdd))/0xa*(parseInt(_0x4bbb46(0xba))/0xb);if(_0x60a4ab===_0xa8e79d)break;else _0x51d8c1['push'](_0x51d8c1['shift']());}catch(_0x10ffc8){_0x51d8c1['push'](_0x51d8c1['shift']());}}}(a148_0x4dd3,0x5d0d8));import{readFileSync,existsSync}from'node:fs';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_0x1164b6(0xcf),'dev']);function readPackageScripts(_0x22e491){const _0x291ae3=a148_0x1164b6,_0x159865=resolve(_0x22e491,_0x291ae3(0xbc));if(!existsSync(_0x159865))return null;try{const _0x54ddad=JSON[_0x291ae3(0xda)](readFileSync(_0x159865,_0x291ae3(0xab)));return _0x54ddad[_0x291ae3(0xd9)]??{};}catch{return null;}}function detectPackageManager(_0x4c4df7){const _0x5e888c=a148_0x1164b6;if(existsSync(resolve(_0x4c4df7,'bun.lockb'))||existsSync(resolve(_0x4c4df7,_0x5e888c(0xa5))))return _0x5e888c(0xca);if(existsSync(resolve(_0x4c4df7,_0x5e888c(0xde))))return _0x5e888c(0xd0);if(existsSync(resolve(_0x4c4df7,'yarn.lock')))return _0x5e888c(0xcb);return _0x5e888c(0xc8);}async function versionCheck(_0x58a98c){const _0xebb07d=a148_0x1164b6,_0x161b0a=await checkCliVersion();(_0x161b0a['needsUpgrade']||_0x161b0a[_0xebb07d(0xce)])&&(printCliUpgradeWarning(_0x161b0a),assertCliVersionSupported(_0x161b0a));const _0x3f5839=await checkSdkVersion(_0x58a98c);if(_0x3f5839[_0xebb07d(0xb9)])printSdkUpgradeWarning(_0x3f5839);}function spawnScript(_0x30eead,_0x507fe4,_0x5c7421,_0x3d69c3){return new Promise((_0x3494b1,_0x2996c7)=>{const _0x2d099e=a148_0x4bc8,_0x474ee1=[_0x2d099e(0xbd),_0x507fe4,..._0x5c7421],_0x2d1252=spawn(_0x30eead,_0x474ee1,{'cwd':_0x3d69c3,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x3d69c3,'node_modules','.bin')+delimiter+process.env.PATH}});_0x2d1252['on'](_0x2d099e(0xc7),_0x3083b6=>{const _0x5de34f=_0x2d099e;if(_0x3083b6===0x0||_0x3083b6===null)_0x3494b1();else _0x2996c7(new Error(_0x30eead+_0x5de34f(0xb5)+_0x507fe4+_0x5de34f(0xac)+_0x3083b6));}),_0x2d1252['on'](_0x2d099e(0xd2),_0x2996c7);});}function spawnViteBuildWatch(_0x58ab44){return new Promise((_0x10de51,_0x45b704)=>{const _0x8f88ef=a148_0x4bc8,_0x38c9a5=spawn(_0x8f88ef(0xcc),[_0x8f88ef(0xc6),_0x8f88ef(0xb7)],{'cwd':_0x58ab44,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x58ab44,_0x8f88ef(0xc0),'.bin')+delimiter+process.env.PATH}});_0x38c9a5['on']('close',_0x11d2b9=>{const _0x187732=_0x8f88ef;if(_0x11d2b9===0x0||_0x11d2b9===null)_0x10de51();else _0x45b704(new Error(_0x187732(0xb1)+_0x11d2b9));}),_0x38c9a5['on'](_0x8f88ef(0xd2),_0x45b704);});}function spawnVitePreview(_0x337b32){return new Promise((_0x3257fe,_0x18dca3)=>{const _0x5fdbc2=a148_0x4bc8,_0x4d5609=spawn(_0x5fdbc2(0xcc),[_0x5fdbc2(0xd1)],{'cwd':_0x337b32,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x337b32,_0x5fdbc2(0xc0),_0x5fdbc2(0xb8))+delimiter+process.env.PATH}});_0x4d5609['on'](_0x5fdbc2(0xc7),_0x1fc903=>{if(_0x1fc903===0x0||_0x1fc903===null)_0x3257fe();else _0x18dca3(new Error('vite\x20preview\x20exited\x20with\x20code\x20'+_0x1fc903));}),_0x4d5609['on'](_0x5fdbc2(0xd2),_0x18dca3);});}function a148_0x4bc8(_0x2c5fd2,_0x25093f){_0x2c5fd2=_0x2c5fd2-0xa5;const _0x4dd3d9=a148_0x4dd3();let _0x4bc863=_0x4dd3d9[_0x2c5fd2];return _0x4bc863;}const runFlags=[{'name':a148_0x1164b6(0xc1),'type':'boolean','description':a148_0x1164b6(0xa9),'default':![]}];export const runDefinition={'service':a148_0x1164b6(0xbd),'command':a148_0x1164b6(0xbd),'description':a148_0x1164b6(0xb6),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a148_0x1164b6(0xdf),'description':a148_0x1164b6(0xa6),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5e42db=a148_0x1164b6,_0x33c1e9=[];return _0x33c1e9[_0x5e42db(0xb4)](_0x5e42db(0xbb)),_0x33c1e9['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x5e42db(0xdb)),_0x33c1e9['push']('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x5e42db(0xd5)),_0x33c1e9[_0x5e42db(0xb4)](_0x5e42db(0xbf)+CLI_BIN_NAME+'\x20run\x20preview'),_0x33c1e9[_0x5e42db(0xb4)]('\x20\x20\x20\x20'+CLI_BIN_NAME+'\x20run\x20preview\x20--watch'),_0x33c1e9[_0x5e42db(0xc4)]('\x0a');},async 'execute'(_0x3e6909){const _0x9af8e=a148_0x1164b6,_0x3b6e17=process[_0x9af8e(0xd4)](),_0x5285be=_0x3e6909['args'][0x0],_0x3d7ea0=_0x3e6909['args'][_0x9af8e(0xc5)](0x1),_0x404129=readPackageScripts(_0x3b6e17);if(!_0x404129)throw CliErrors[_0x9af8e(0xe1)]('No\x20package.json\x20found\x20in\x20current\x20directory.');if(!_0x5285be){const _0x366c08=Object[_0x9af8e(0xd3)](_0x404129);if(_0x366c08['length']===0x0)console[_0x9af8e(0xd6)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x9af8e(0xd6)](_0x9af8e(0xae));for(const _0x2d2ebc of _0x366c08){console[_0x9af8e(0xd6)](_0x9af8e(0xbf)+_0x2d2ebc);}console[_0x9af8e(0xd6)](_0x9af8e(0xcd)+CLI_BIN_NAME+_0x9af8e(0xbe));}return{'ok':!![]};}if(!_0x404129[_0x5285be])throw CliErrors['validation'](_0x9af8e(0xdc)+_0x5285be+'\x22\x20not\x20found\x20in\x20package.json.',_0x9af8e(0xaa)+(Object[_0x9af8e(0xd3)](_0x404129)[_0x9af8e(0xc4)](',\x20')||_0x9af8e(0xb3)));const _0xa8d0db=detectPackageManager(_0x3b6e17);VERSION_CHECK_SCRIPTS[_0x9af8e(0xa8)](_0x5285be)&&await versionCheck(_0x3b6e17);if(_0x5285be===_0x9af8e(0xd1)&&_0x3e6909[_0x9af8e(0xd8)](_0x9af8e(0xc1)))return await Promise[_0x9af8e(0xa7)]([spawnViteBuildWatch(_0x3b6e17),spawnVitePreview(_0x3b6e17)]),{'ok':!![]};return await spawnScript(_0xa8d0db,_0x5285be,_0x3d7ea0,_0x3b6e17),{'ok':!![]};}};function a148_0x4dd3(){const _0x474115=['\x20run\x20','Run\x20a\x20package.json\x20script','--watch','.bin','needsUpgrade','9410390lNtTik','\x20\x20EXAMPLES','package.json','run','\x20run\x20<script>\x0a','\x20\x20\x20\x20','node_modules','watch','4405226iZLvIN','2FLVGSc','join','slice','build','close','npm','9lwzGiA','bun','yarn','vite','\x0a\x20\x20Usage:\x20','belowMinimum','start','pnpm','preview','error','keys','cwd','\x20run\x20build','log','107577XKJfGQ','bool','scripts','parse','\x20run\x20start','Script\x20\x22','10EKhpfU','pnpm-lock.yaml','script','1024968YIxQbj','validation','bun.lock','Script\x20name\x20defined\x20in\x20package.json','all','has','Enable\x20watch\x20mode\x20for\x20preview','Available:\x20','utf-8','\x20exited\x20with\x20code\x20','268443cAbpcv','\x0a\x20\x20Available\x20scripts:\x0a','49385argIus','402lCsoRO','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','3061768ebLQHg','(none)','push'];a148_0x4dd3=function(){return _0x474115;};return a148_0x4dd3();}
|
package/lib/commands/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a149_0x1e315d=a149_0x1a7a;(function(_0x23af9a,_0x8a0dbc){const _0x58d223=a149_0x1a7a,_0x3cdcce=_0x23af9a();while(!![]){try{const _0xe4e0c3=parseInt(_0x58d223(0x10e))/0x1*(-parseInt(_0x58d223(0x115))/0x2)+parseInt(_0x58d223(0x119))/0x3*(-parseInt(_0x58d223(0x118))/0x4)+parseInt(_0x58d223(0x113))/0x5*(-parseInt(_0x58d223(0x112))/0x6)+-parseInt(_0x58d223(0x11a))/0x7*(parseInt(_0x58d223(0x10c))/0x8)+parseInt(_0x58d223(0x10d))/0x9*(parseInt(_0x58d223(0x111))/0xa)+-parseInt(_0x58d223(0x110))/0xb+-parseInt(_0x58d223(0x116))/0xc*(-parseInt(_0x58d223(0x10f))/0xd);if(_0xe4e0c3===_0x8a0dbc)break;else _0x3cdcce['push'](_0x3cdcce['shift']());}catch(_0x94835a){_0x3cdcce['push'](_0x3cdcce['shift']());}}}(a149_0x1661,0x950e0));function a149_0x1a7a(_0xf0fc15,_0x3e71db){_0xf0fc15=_0xf0fc15-0x10c;const _0x16611e=a149_0x1661();let _0x1a7af4=_0x16611e[_0xf0fc15];return _0x1a7af4;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x13cd3f){const _0x33821f=await buildSchemaPayload();return{'ok':!![],'data':_0x33821f};}function a149_0x1661(){const _0xfda10d=['10pckeeD','6uBJOte','830565DUkXrv','json','4184zqeRmJ','144UcIQKR','read','1688MscPuX','8643SvGXnn','1652hIRNsK','12568ISFqaI','2759067PtxSqr','187MBsabS','3247400VtLjMm','6047580uOHhzX'];a149_0x1661=function(){return _0xfda10d;};return a149_0x1661();}export const schemaDefinition={'service':'schema','command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a149_0x1e315d(0x117),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a149_0x1e315d(0x114),'flags':[],'execute':execute};
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const a150_0x551c5e=a150_0x512f;(function(_0x254201,_0x1eaed3){const _0xee77c0=a150_0x512f,_0x576820=_0x254201();while(!![]){try{const _0x191733=parseInt(_0xee77c0(0x200))/0x1+parseInt(_0xee77c0(0x204))/0x2+parseInt(_0xee77c0(0x20b))/0x3+-parseInt(_0xee77c0(0x1f4))/0x4+-parseInt(_0xee77c0(0x1e7))/0x5+-parseInt(_0xee77c0(0x208))/0x6*(parseInt(_0xee77c0(0x1d4))/0x7)+parseInt(_0xee77c0(0x1f5))/0x8*(-parseInt(_0xee77c0(0x1f3))/0x9);if(_0x191733===_0x1eaed3)break;else _0x576820['push'](_0x576820['shift']());}catch(_0x27cb1e){_0x576820['push'](_0x576820['shift']());}}}(a150_0x2ab3,0x25b36));import{writeFile}from'node:fs/promises';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(_0x41de33){const _0x5289c=a150_0x512f;if(_0x41de33===_0x5289c(0x1df))return[_0x5289c(0x1f2),_0x5289c(0x207),_0x5289c(0x1e8),'']['join']('\x0a');return[_0x5289c(0x20e),''][_0x5289c(0x203)]('\x0a');}export const sqlCreate={'service':a150_0x551c5e(0x209),'command':'create','description':a150_0x551c5e(0x1fa),'risk':a150_0x551c5e(0x20d),'flags':[{'name':a150_0x551c5e(0x1de),'type':a150_0x551c5e(0x1e1),'description':'SQL\x20query\x20display\x20name'},{'name':a150_0x551c5e(0x1eb),'type':a150_0x551c5e(0x206),'description':a150_0x551c5e(0x1f7)},{'name':a150_0x551c5e(0x1ea),'type':a150_0x551c5e(0x1e1),'enum':[a150_0x551c5e(0x209),a150_0x551c5e(0x1df)],'description':a150_0x551c5e(0x1d7)}],async 'validate'(_0x4eb253){const _0x53d74d=a150_0x551c5e;if(!_0x4eb253[_0x53d74d(0x1f6)])return;if(!_0x4eb253[_0x53d74d(0x1d6)](_0x53d74d(0x1de))[_0x53d74d(0x1ec)]())throw CliErrors[_0x53d74d(0x1fc)](_0x53d74d(0x1de),'--name\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x16b7ba=resolveProvidedDbId(_0x4eb253);if(typeof _0x16b7ba!==_0x53d74d(0x206)||!Number[_0x53d74d(0x202)](_0x16b7ba)||_0x16b7ba<=0x0)throw CliErrors['flagMissing'](_0x53d74d(0x1eb),_0x53d74d(0x1dd));if(!_0x4eb253[_0x53d74d(0x1d6)](_0x53d74d(0x1ea))[_0x53d74d(0x1ec)]())throw CliErrors[_0x53d74d(0x1fc)](_0x53d74d(0x1ea),_0x53d74d(0x213));},async 'dryRun'(_0x3fa9a1){const _0x2dc455=a150_0x551c5e,_0x1469aa=loadSqlProjectConfig(_0x3fa9a1['appCode']),{sqlName:_0x25e29e,dbId:_0x353f16,dbName:_0x542201,mode:_0x5e3bf3}=await resolveSqlNewInputs(_0x3fa9a1),_0x3623a3=buildSqlRelativePath(_0x2dc455(0x1e0),_0x25e29e,_0x542201,_0x5e3bf3,_0x353f16),_0x4307e5=_0x1469aa[_0x2dc455(0x211)]+'/'+_0x3623a3;return{'method':_0x2dc455(0x1e6),'url':'/smartapi/custom/saveUserCustomSql','body':{'appCode':_0x3fa9a1[_0x2dc455(0x1fe)],'sqlName':_0x25e29e,'dbId':_0x353f16,'mode':_0x5e3bf3,'localPath':_0x4307e5},'description':_0x2dc455(0x1f1)+_0x1469aa[_0x2dc455(0x211)]};},async 'execute'(_0x11ec55){const _0x1fdc20=a150_0x551c5e,_0x27b5ac=loadSqlProjectConfig(_0x11ec55[_0x1fdc20(0x1fe)]),{sqlName:_0x485ede,dbId:_0x1e96e2,dbName:_0x4b252b,mode:_0x6bcf5}=await resolveSqlNewInputs(_0x11ec55),_0x51ae5d=generateSqlTemplate(_0x6bcf5),_0x440304=await createSqlQuery({'appCode':_0x11ec55[_0x1fdc20(0x1fe)],'sqlName':_0x485ede,'dbId':_0x1e96e2,'sqlContent':_0x51ae5d}),_0x349ca5=ensureRemoteSqlContent(_0x440304),_0x1585a8=_0x4b252b||await getDbName(_0x11ec55[_0x1fdc20(0x1fe)],_0x1e96e2)[_0x1fdc20(0x1da)](()=>undefined),_0x26a135=buildSqlRelativePath(_0x440304[_0x1fdc20(0x1f9)],_0x440304[_0x1fdc20(0x1e2)],_0x1585a8,_0x6bcf5,_0x1e96e2),_0x29ca5d=_0x27b5ac[_0x1fdc20(0x211)]+'/'+_0x26a135,_0xdae4e1=buildLocalSqlFileContent({'sqlCode':_0x440304[_0x1fdc20(0x1f9)],'sqlName':_0x440304[_0x1fdc20(0x1e2)],'dbId':_0x440304[_0x1fdc20(0x1fb)]},_0x349ca5,{'dbName':_0x1585a8,'mode':_0x6bcf5,'syncedAt':new Date()[_0x1fdc20(0x20a)](),'description':_0x440304['description']});if(await fileExists(_0x29ca5d))throw CliErrors[_0x1fdc20(0x1e4)](_0x1fdc20(0x1d8)+_0x29ca5d);await ensureParentDirectory(_0x29ca5d),await writeFile(_0x29ca5d,_0xdae4e1,_0x1fdc20(0x1d2));const _0x207df8=await readSqlLockFile(_0x27b5ac[_0x1fdc20(0x1d3)]),{lockData:_0x1c5999,appLock:_0x19bd61}=ensureSqlLockScope(_0x207df8??createEmptySqlLock(),_0x27b5ac[_0x1fdc20(0x1fe)],_0x27b5ac[_0x1fdc20(0x20f)],_0x1fdc20(0x1f8));return _0x19bd61[_0x1fdc20(0x212)][_0x440304['sqlCode']]={...buildSqlLockEntry(_0x440304,_0x349ca5,computeSqlContentHash(_0xdae4e1),{'dbName':_0x1585a8}),'path':_0x26a135,'mode':_0x6bcf5},_0x19bd61['lastSync']=new Date()[_0x1fdc20(0x20a)](),await writeSqlLockFile(_0x27b5ac['lockFilePath'],_0x1c5999),{'ok':!![],'data':{'id':_0x440304['id'],'sqlCode':_0x440304['sqlCode'],'sqlName':_0x440304[_0x1fdc20(0x1e2)],'dbId':_0x440304['dbId'],'path':_0x29ca5d,'mode':_0x6bcf5},'message':'Created\x20SQL\x20query\x20'+_0x440304[_0x1fdc20(0x1f9)]};}};function a150_0x512f(_0x14431f,_0x441c43){_0x14431f=_0x14431f-0x1d2;const _0x2ab33c=a150_0x2ab3();let _0x512fc6=_0x2ab33c[_0x14431f];return _0x512fc6;}async function resolveSqlNewInputs(_0x3854ec){const _0x154b6b=await resolveSqlNameInput(_0x3854ec),{dbId:_0x5f120f,dbName:_0x35ea4d}=await resolveDbSelection(_0x3854ec),_0x1553fa=await resolveSqlModeInput(_0x3854ec);return{'sqlName':_0x154b6b,'dbId':_0x5f120f,'dbName':_0x35ea4d,'mode':_0x1553fa};}async function resolveSqlNameInput(_0x4ab22d){const _0x45a52a=a150_0x551c5e,_0x4755ff=_0x4ab22d['str'](_0x45a52a(0x1de))[_0x45a52a(0x1ec)]();if(_0x4755ff)return _0x4755ff;if(_0x4ab22d[_0x45a52a(0x1f6)])throw CliErrors[_0x45a52a(0x1fc)](_0x45a52a(0x1de),_0x45a52a(0x20c));return(await input({'message':_0x45a52a(0x1d5),'validate':_0x55596f=>_0x55596f[_0x45a52a(0x1ec)]()?!![]:_0x45a52a(0x1ed)}))['trim']();}async function resolveDbSelection(_0x1eed98){const _0x58811b=a150_0x551c5e,_0x5260bf=resolveProvidedDbId(_0x1eed98);if(typeof _0x5260bf===_0x58811b(0x206)&&Number[_0x58811b(0x202)](_0x5260bf)&&_0x5260bf>0x0)return{'dbId':_0x5260bf,'dbName':await getDbName(_0x1eed98[_0x58811b(0x1fe)],_0x5260bf)['catch'](()=>undefined)};if(_0x1eed98[_0x58811b(0x1f6)])throw CliErrors[_0x58811b(0x1fc)]('db-id','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.');const _0x21169c=await listDatabases(_0x1eed98['appCode'])[_0x58811b(0x1da)](()=>[]);if(_0x21169c['length']===0x1)return{'dbId':_0x21169c[0x0][_0x58811b(0x1fb)],'dbName':_0x21169c[0x0][_0x58811b(0x1d9)]};if(_0x21169c[_0x58811b(0x1ff)]>0x1){const _0x17a00d=await select({'message':_0x58811b(0x210),'choices':[..._0x21169c['map'](_0x441115=>({'name':_0x441115[_0x58811b(0x1d9)]+'\x20('+_0x441115[_0x58811b(0x1fb)]+')','value':serializeDbSelection(_0x441115)})),{'name':'✎\x20手动输入\x20dbId','value':'__manual__'}]});if(_0x17a00d!==_0x58811b(0x1ee))return deserializeDbSelection(_0x17a00d);}const _0x108122=await input({'message':_0x58811b(0x1e3),'validate':_0x4047b4=>{const _0x210b65=_0x58811b,_0x330287=_0x4047b4[_0x210b65(0x1ec)]();if(!_0x330287)return _0x210b65(0x205);const _0x898aa7=Number(_0x330287);if(!Number['isInteger'](_0x898aa7)||_0x898aa7<=0x0)return _0x210b65(0x1e9);return!![];}});return{'dbId':Number(_0x108122[_0x58811b(0x1ec)]())};}async function resolveSqlModeInput(_0x585f28){const _0x11ccc1=a150_0x551c5e,_0x4ec02a=_0x585f28[_0x11ccc1(0x1d6)](_0x11ccc1(0x1ea))[_0x11ccc1(0x1ec)]();if(_0x4ec02a===_0x11ccc1(0x209)||_0x4ec02a===_0x11ccc1(0x1df))return _0x4ec02a;if(_0x585f28[_0x11ccc1(0x1f6)])throw CliErrors[_0x11ccc1(0x1fc)](_0x11ccc1(0x1ea),_0x11ccc1(0x213));return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x11ccc1(0x1e5),'value':_0x11ccc1(0x209),'description':_0x11ccc1(0x201)},{'name':_0x11ccc1(0x1dc),'value':_0x11ccc1(0x1df),'description':_0x11ccc1(0x214)}]});}function a150_0x2ab3(){const _0x38e050=['--name\x20is\x20required\x20in\x20non-interactive\x20mode.','high-risk-write','SELECT\x201\x20AS\x20id;','sqlRoot','请选择目标数据库:','sqlRootDir','sqls','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','适合带动态标签的\x20MyBatis\x20XML\x20SQL','utf8','lockFilePath','434Xvbshf','请输入\x20SQL\x20名称:','str','Local\x20SQL\x20file\x20mode','File\x20already\x20exists:\x20','dbName','catch','flag','MyBatis\x20XML(mybatisXml)','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','name','mybatisXml','<server-generated-sqlCode>','string','sqlName','请输入目标数据库\x20dbId:','validation','普通\x20SQL(sql)','POST','1306740oTSDOz','</select>','dbId\x20必须为正整数','mode','db-id','trim','SQL\x20名称不能为空','__manual__','stringify','parse','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','730791TfrVxS','449320MVQkAJ','16zoksTt','nonInteractive','Target\x20database\x20ID','new','sqlCode','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','dbId','flagMissing','Invalid\x20database\x20selection\x20payload:\x20','appCode','length','250996ruLJSJ','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','isFinite','join','583952rUXeHP','dbId\x20不能为空','number','\x20\x20SELECT\x201\x20AS\x20id','1956cdejCQ','sql','toISOString','503214SsWZDq'];a150_0x2ab3=function(){return _0x38e050;};return a150_0x2ab3();}function serializeDbSelection(_0x44ac0a){const _0x3d3352=a150_0x551c5e;return JSON[_0x3d3352(0x1ef)]({'dbId':_0x44ac0a[_0x3d3352(0x1fb)],'dbName':_0x44ac0a[_0x3d3352(0x1d9)]});}function deserializeDbSelection(_0x416185){const _0x13b28f=a150_0x551c5e;try{const _0x228d61=JSON[_0x13b28f(0x1f0)](_0x416185);if(typeof _0x228d61[_0x13b28f(0x1fb)]==='number'&&Number['isFinite'](_0x228d61[_0x13b28f(0x1fb)]))return{'dbId':_0x228d61[_0x13b28f(0x1fb)],'dbName':_0x228d61['dbName']};}catch{}throw CliErrors[_0x13b28f(0x1e4)](_0x13b28f(0x1fd)+_0x416185);}function resolveProvidedDbId(_0xdee31d){const _0x32db69=a150_0x551c5e,_0x2fb03c=_0xdee31d[_0x32db69(0x1db)](_0x32db69(0x1eb));if(typeof _0x2fb03c==='number'&&Number[_0x32db69(0x202)](_0x2fb03c))return _0x2fb03c;return undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a151_0x34ff80=a151_0x4f13;(function(_0x36cb96,_0x39143a){const _0x7d50d9=a151_0x4f13,_0x3b0296=_0x36cb96();while(!![]){try{const _0xee2124=-parseInt(_0x7d50d9(0x126))/0x1+parseInt(_0x7d50d9(0x125))/0x2+-parseInt(_0x7d50d9(0x116))/0x3+-parseInt(_0x7d50d9(0x12a))/0x4+-parseInt(_0x7d50d9(0x135))/0x5*(parseInt(_0x7d50d9(0x122))/0x6)+parseInt(_0x7d50d9(0x127))/0x7+-parseInt(_0x7d50d9(0x133))/0x8*(-parseInt(_0x7d50d9(0x11e))/0x9);if(_0xee2124===_0x39143a)break;else _0x3b0296['push'](_0x3b0296['shift']());}catch(_0x583b37){_0x3b0296['push'](_0x3b0296['shift']());}}}(a151_0x3f03,0xc97f1));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';function a151_0x3f03(){const _0x456b9f=['POST','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','fromEntries','str','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','startsWith','trashDir','filter','8LcqiPW','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','2699950SaOWvh','\x20(local\x20file\x20moved\x20to\x20trash)','SQL\x20lock\x20file\x20not\x20found.','Would\x20delete\x20SQL\x20','4932942DDMvlu','sqlRoot','delete','validation','entries','Deleted\x20','No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','sqlcode','29620989DKNBSu','/smartapi/custom/deleteUserCustomSql','appCode','trashedTo','12BhDIWh','remoteId','projectRoot','2188876dTAJUX','245129bfdCmr','680449NcvUWI','lockFilePath','sqls','2752456KBouuf'];a151_0x3f03=function(){return _0x456b9f;};return a151_0x3f03();}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';function a151_0x4f13(_0x266552,_0x21a835){_0x266552=_0x266552-0x114;const _0x3f030a=a151_0x3f03();let _0x4f1394=_0x3f030a[_0x266552];return _0x4f1394;}import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':'sql','command':'delete','description':a151_0x34ff80(0x134),'risk':'high-risk-write','flags':[SQLCODE_FLAG],async 'validate'(_0x59b07c){const _0x561433=a151_0x34ff80,_0x23fa01=loadSqlProjectConfig(_0x59b07c[_0x561433(0x120)]),_0x18e2eb=await readSqlLockFile(_0x23fa01[_0x561433(0x128)]);if(!_0x18e2eb)throw CliErrors[_0x561433(0x119)](_0x561433(0x12c));},async 'dryRun'(_0x5e7758){const _0x5e5bfe=a151_0x34ff80,_0x3f62d6=loadSqlProjectConfig(_0x5e7758[_0x5e5bfe(0x120)]),_0x1e7da9=await readSqlLockFile(_0x3f62d6[_0x5e5bfe(0x128)]);if(!_0x1e7da9)throw CliErrors[_0x5e5bfe(0x119)](_0x5e5bfe(0x12c));const {appLock:_0x3e5009}=ensureSqlLockScope(_0x1e7da9,_0x5e7758[_0x5e5bfe(0x120)],_0x3f62d6[_0x5e5bfe(0x117)],_0x5e5bfe(0x118)),_0x32776f=_0x5e7758[_0x5e5bfe(0x12e)]('sqlcode'),_0x36bbef=_0x3e5009[_0x5e5bfe(0x129)][_0x32776f];if(!_0x36bbef)throw CliErrors['validation'](_0x5e5bfe(0x11c)+_0x32776f+'\x22.');return{'method':_0x5e5bfe(0x12b),'url':_0x5e5bfe(0x11f),'body':{'sqlCode':_0x32776f,'id':_0x36bbef['remoteId'],'localPath':resolveLocalSqlFilePath(_0x3f62d6,_0x32776f,_0x36bbef)},'description':_0x5e5bfe(0x115)+_0x32776f+_0x5e5bfe(0x12f)+_0x3f62d6['trashDir']};},async 'execute'(_0x9d5f4a){const _0x14079f=a151_0x34ff80,_0x5af5ff=loadSqlProjectConfig(_0x9d5f4a[_0x14079f(0x120)]),_0x110750=await readSqlLockFile(_0x5af5ff[_0x14079f(0x128)]);if(!_0x110750)throw CliErrors[_0x14079f(0x119)](_0x14079f(0x114));const {lockData:_0x3861b7,appLock:_0xd99483}=ensureSqlLockScope(_0x110750,_0x9d5f4a[_0x14079f(0x120)],_0x5af5ff[_0x14079f(0x117)],_0x14079f(0x118)),_0x32aeb9=_0x9d5f4a[_0x14079f(0x12e)](_0x14079f(0x11d)),_0x137160=_0xd99483['sqls'][_0x32aeb9];if(!_0x137160)throw CliErrors['validation'](_0x14079f(0x11c)+_0x32aeb9+'\x22.');await deleteSqlQuery({'id':_0x137160[_0x14079f(0x123)],'sqlCode':_0x32aeb9}),_0xd99483['sqls']=Object[_0x14079f(0x12d)](Object[_0x14079f(0x11a)](_0xd99483['sqls'])[_0x14079f(0x132)](([_0x5775ac])=>_0x5775ac!==_0x32aeb9)),_0xd99483['lastSync']=new Date()['toISOString'](),await writeSqlLockFile(_0x5af5ff['lockFilePath'],_0x3861b7);const _0x1d4473=resolveLocalSqlFilePath(_0x5af5ff,_0x32aeb9,_0x137160);let _0x4e6a57;await fileExists(_0x1d4473)&&(_0x4e6a57=await moveToTrash(_0x5af5ff[_0x14079f(0x124)],_0x5af5ff[_0x14079f(0x131)],_0x1d4473),await cleanupEmptyDirectories(dirname(_0x1d4473),_0x5af5ff['sqlRootDir']));const _0x10b865={'deleted':_0x32aeb9,'remoteId':_0x137160['remoteId']};if(_0x4e6a57)_0x10b865[_0x14079f(0x121)]=_0x4e6a57;return{'ok':!![],'data':_0x10b865,'message':_0x14079f(0x11b)+_0x32aeb9+(_0x4e6a57?_0x14079f(0x136):'')};}};async function moveToTrash(_0x31e5d3,_0x5b6554,_0x5dd82e){const _0xfb991b=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0xe2ff26=relative(_0x31e5d3,_0x5dd82e),_0x31825f=join(_0x5b6554,_0xfb991b,_0xe2ff26);return await mkdir(dirname(_0x31825f),{'recursive':!![]}),await rename(_0x5dd82e,_0x31825f),_0x31825f;}async function cleanupEmptyDirectories(_0x287bfd,_0x2d7208){const _0x221f79=a151_0x34ff80;let _0x2203af=resolve(_0x287bfd);const _0x5262a3=resolve(_0x2d7208);while(_0x2203af[_0x221f79(0x130)](''+_0x5262a3+sep)||_0x2203af===_0x5262a3){if(_0x2203af===_0x5262a3)return;try{const _0x3f14d0=await readdir(_0x2203af);if(_0x3f14d0['length']>0x0)return;await rmdir(_0x2203af);}catch{return;}_0x2203af=dirname(_0x2203af);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a152_0x469c98=a152_0x4db2;(function(_0x4f8663,_0x19ce3c){const _0x2d2198=a152_0x4db2,_0x2be7bc=_0x4f8663();while(!![]){try{const _0x444c23=parseInt(_0x2d2198(0x12b))/0x1*(-parseInt(_0x2d2198(0x125))/0x2)+-parseInt(_0x2d2198(0x12a))/0x3*(-parseInt(_0x2d2198(0x11a))/0x4)+parseInt(_0x2d2198(0x130))/0x5+parseInt(_0x2d2198(0x11e))/0x6+parseInt(_0x2d2198(0x11b))/0x7*(parseInt(_0x2d2198(0x12c))/0x8)+parseInt(_0x2d2198(0x121))/0x9*(parseInt(_0x2d2198(0x11d))/0xa)+parseInt(_0x2d2198(0x127))/0xb*(-parseInt(_0x2d2198(0x126))/0xc);if(_0x444c23===_0x19ce3c)break;else _0x2be7bc['push'](_0x2be7bc['shift']());}catch(_0x395a3c){_0x2be7bc['push'](_0x2be7bc['shift']());}}}(a152_0x197b,0x86593));function a152_0x4db2(_0x5e452e,_0x3ca35d){_0x5e452e=_0x5e452e-0x11a;const _0x197bbb=a152_0x197b();let _0x4db226=_0x197bbb[_0x5e452e];return _0x4db226;}import{getSqlQueryInfo}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';function a152_0x197b(){const _0x284038=['9768UKXsbe','detail','verbose','sql','2878870MtvGyN','dbId','2766652zagpVQ','1743iGMtsr','appCode','150jFPBeY','3557220CSIZXZ','bool','Get\x20custom\x20SQL\x20query\x20details\x20by\x20sqlCode','332334EGHrdT','Return\x20full\x20raw\x20SQL\x20query\x20object','sqlCode','sqlcode','4070xIpkyu','1320sVInkp','168157qOYfEE','description','str','3DKMrnW','239xeEysX'];a152_0x197b=function(){return _0x284038;};return a152_0x197b();}import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDetail={'service':a152_0x469c98(0x12f),'command':a152_0x469c98(0x12d),'description':a152_0x469c98(0x120),'risk':'read','flags':[SQLCODE_FLAG,{'name':a152_0x469c98(0x12e),'type':'boolean','description':a152_0x469c98(0x122)}],async 'execute'(_0x30cf3f){const _0x43d555=a152_0x469c98,_0x4c3cf1=await getSqlQueryInfo(_0x30cf3f[_0x43d555(0x11c)],_0x30cf3f[_0x43d555(0x129)](_0x43d555(0x124))),_0xa76f43=_0x30cf3f[_0x43d555(0x11f)](_0x43d555(0x12e));if(_0xa76f43)return{'ok':!![],'data':_0x4c3cf1};const _0x2073e0=_0x4c3cf1[_0x43d555(0x131)]?await getDbName(_0x30cf3f[_0x43d555(0x11c)],_0x4c3cf1['dbId']):undefined;return{'ok':!![],'data':{'sqlCode':_0x4c3cf1[_0x43d555(0x123)],'sqlName':_0x4c3cf1['sqlName'],'db':_0x2073e0?_0x2073e0+'\x20('+_0x4c3cf1[_0x43d555(0x131)]+')':_0x4c3cf1[_0x43d555(0x131)]??'','description':_0x4c3cf1[_0x43d555(0x128)]??'','sqlContent':_0x4c3cf1['sqlContent']??''}};}};
|
package/lib/commands/sql/exec.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a153_0x1cbb36=a153_0x2c2e;function a153_0x1dc8(){const _0x5da112=['2338400EMGpdQ','104556klVmmq','\x20row(s)\x20in\x20','execError','88543jPJFtP','Execute\x20a\x20custom\x20SQL\x20query\x20by\x20sqlCode','str','length','268725jMZxCr','SQL\x20parameters\x20as\x20JSON\x20string\x20(e.g.\x20\x27{\x22key\x22:\x22value\x22}\x27)','491bGkzed','now','1327472HugmJE','15gCijUv','sqlcode','params','6rgSImc','913392hOjIFl','290gMJuSr','Returned\x20','SQL\x20execution\x20failed','string'];a153_0x1dc8=function(){return _0x5da112;};return a153_0x1dc8();}(function(_0x13735f,_0xd892f0){const _0x2e02f5=a153_0x2c2e,_0x30fee7=_0x13735f();while(!![]){try{const _0x181670=parseInt(_0x2e02f5(0x1bb))/0x1*(-parseInt(_0x2e02f5(0x1c3))/0x2)+-parseInt(_0x2e02f5(0x1b9))/0x3+-parseInt(_0x2e02f5(0x1b2))/0x4*(-parseInt(_0x2e02f5(0x1be))/0x5)+-parseInt(_0x2e02f5(0x1c1))/0x6*(parseInt(_0x2e02f5(0x1b5))/0x7)+parseInt(_0x2e02f5(0x1bd))/0x8+-parseInt(_0x2e02f5(0x1c2))/0x9+parseInt(_0x2e02f5(0x1c7))/0xa;if(_0x181670===_0xd892f0)break;else _0x30fee7['push'](_0x30fee7['shift']());}catch(_0x3c8b4b){_0x30fee7['push'](_0x30fee7['shift']());}}}(a153_0x1dc8,0x31a14));import{executeSql}from'../../core/api-client.js';function a153_0x2c2e(_0x51b853,_0x4277be){_0x51b853=_0x51b853-0x1b2;const _0x1dc8a2=a153_0x1dc8();let _0x2c2e76=_0x1dc8a2[_0x51b853];return _0x2c2e76;}import{SQLCODE_FLAG}from'../../commands/common/flags.js';import{parseJsonParams}from'../../utils/params.js';export const sqlExec={'service':'sql','command':'exec','description':a153_0x1cbb36(0x1b6),'risk':'read','flags':[SQLCODE_FLAG,{'name':a153_0x1cbb36(0x1c0),'type':a153_0x1cbb36(0x1c6),'description':a153_0x1cbb36(0x1ba)}],async 'execute'(_0x4f66d6){const _0x44b547=a153_0x1cbb36,_0x3e3d9f=parseJsonParams(_0x4f66d6[_0x44b547(0x1b7)](_0x44b547(0x1c0))),_0x5e58b8=Date[_0x44b547(0x1bc)](),_0x430979=await executeSql(_0x4f66d6['appCode'],_0x4f66d6[_0x44b547(0x1b7)](_0x44b547(0x1bf)),_0x3e3d9f),_0x1ae3d1=Date[_0x44b547(0x1bc)]()-_0x5e58b8,_0x16d66e=_0x430979?.['execResult']??_0x430979,_0x9ce86e=_0x430979?.['execSuccess']??!![];if(!_0x9ce86e)return{'ok':![],'data':{'error':_0x430979?.[_0x44b547(0x1b4)]||_0x44b547(0x1c5),'elapsed':_0x1ae3d1},'message':'SQL\x20execution\x20failed'};const _0x1ca374=Array['isArray'](_0x16d66e)?_0x16d66e:[];return{'ok':!![],'data':{'rows':_0x1ca374,'rowCount':_0x1ca374[_0x44b547(0x1b8)],'elapsed':_0x1ae3d1},'message':_0x44b547(0x1c4)+_0x1ca374['length']+_0x44b547(0x1b3)+_0x1ae3d1+'ms'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x491320,_0x1df513){const _0xc9a5ef=a154_0x564f,_0x439738=_0x491320();while(!![]){try{const _0x48b40f=parseInt(_0xc9a5ef(0x9a))/0x1+-parseInt(_0xc9a5ef(0x96))/0x2+-parseInt(_0xc9a5ef(0x97))/0x3*(parseInt(_0xc9a5ef(0x99))/0x4)+parseInt(_0xc9a5ef(0x95))/0x5+-parseInt(_0xc9a5ef(0x98))/0x6+parseInt(_0xc9a5ef(0x9b))/0x7+parseInt(_0xc9a5ef(0x94))/0x8;if(_0x48b40f===_0x1df513)break;else _0x439738['push'](_0x439738['shift']());}catch(_0x44c8be){_0x439738['push'](_0x439738['shift']());}}}(a154_0x5a68,0x3275d));import{sqlList}from'../../commands/sql/list.js';import{sqlDetail}from'../../commands/sql/detail.js';import{sqlValidate}from'../../commands/sql/validate.js';import{sqlSave}from'../../commands/sql/save.js';import{sqlExec}from'../../commands/sql/exec.js';import{sqlPull}from'../../commands/sql/pull.js';import{sqlCreate}from'../../commands/sql/create.js';import{sqlStatus}from'../../commands/sql/status.js';function a154_0x5a68(){const _0x5dfa90=['1569384VZDAuJ','120kAuABH','217865eYwXUc','1092441CJmrgh','2843216InwZaU','1279910kGPFVl','567086tjNgLe','23352hkxcwW'];a154_0x5a68=function(){return _0x5dfa90;};return a154_0x5a68();}import{sqlPush}from'../../commands/sql/push.js';import{sqlDelete}from'../../commands/sql/delete.js';function a154_0x564f(_0x5d19c3,_0x8f75dc){_0x5d19c3=_0x5d19c3-0x94;const _0x5a68a5=a154_0x5a68();let _0x564f65=_0x5a68a5[_0x5d19c3];return _0x564f65;}export const sqlDefinitions=[sqlList,sqlDetail,sqlStatus,sqlCreate,sqlPush,sqlValidate,sqlSave,sqlExec,sqlPull,sqlDelete];
|
package/lib/commands/sql/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a155_0x51d7(){const _0x46c840=['919662FMMJKF','\x20SQL\x20queries\x20(total:\x20','str','description','sqlCode','Return\x20full\x20SQL\x20query\x20objects\x20including\x20parameters\x20and\x20SQL\x20content','sqlName','pagesize','Page\x20size','boolean','num','No\x20custom\x20SQL\x20queries\x20found.','verbose','8JjzAcv','Page\x20number','2tpubXX','length','number','10MEpnzx','2182176nyEonY','Found\x20','bool','Filter\x20by\x20SQL\x20name','totalCount','2052685OoFQlG','2890608KHPdHd','page','List\x20custom\x20SQL\x20queries','21348052itntKH','8fxYdSP','name','tableData','list','dbId','6258672PMljer','all','paging','8233011jSowyn','string','appCode'];a155_0x51d7=function(){return _0x46c840;};return a155_0x51d7();}const a155_0x13ce30=a155_0x50af;(function(_0x14c673,_0x4449c9){const _0x8dd7c6=a155_0x50af,_0x39cb32=_0x14c673();while(!![]){try{const _0x3ae152=parseInt(_0x8dd7c6(0xfe))/0x1*(parseInt(_0x8dd7c6(0x10d))/0x2)+-parseInt(_0x8dd7c6(0x111))/0x3+parseInt(_0x8dd7c6(0x10b))/0x4*(parseInt(_0x8dd7c6(0x116))/0x5)+parseInt(_0x8dd7c6(0xf8))/0x6+-parseInt(_0x8dd7c6(0x117))/0x7+-parseInt(_0x8dd7c6(0x11b))/0x8*(-parseInt(_0x8dd7c6(0xfb))/0x9)+parseInt(_0x8dd7c6(0x110))/0xa*(-parseInt(_0x8dd7c6(0x11a))/0xb);if(_0x3ae152===_0x4449c9)break;else _0x39cb32['push'](_0x39cb32['shift']());}catch(_0x2a9cad){_0x39cb32['push'](_0x39cb32['shift']());}}}(a155_0x51d7,0x96c57));import{listSqlQueries}from'../../core/api-client.js';import{getDbName}from'../../core/db-resolver.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a155_0x50af(_0x2158d3,_0x44c58b){_0x2158d3=_0x2158d3-0xf5;const _0x51d7f1=a155_0x51d7();let _0x50af1c=_0x51d7f1[_0x2158d3];return _0x50af1c;}export const sqlList={'service':'sql','command':a155_0x13ce30(0xf6),'description':a155_0x13ce30(0x119),'risk':'read','flags':[SQLCODE_FLAG_OPTIONAL,{'name':a155_0x13ce30(0x11c),'type':a155_0x13ce30(0xfc),'description':a155_0x13ce30(0x114)},{'name':a155_0x13ce30(0x118),'type':a155_0x13ce30(0x10f),'description':a155_0x13ce30(0x10c),'default':0x1},{'name':a155_0x13ce30(0x105),'type':a155_0x13ce30(0x10f),'description':a155_0x13ce30(0x106)},{'name':a155_0x13ce30(0x10a),'type':a155_0x13ce30(0x107),'description':a155_0x13ce30(0x103)}],async 'execute'(_0x677b6f){const _0x196f06=a155_0x13ce30,_0x3e724d=await listSqlQueries(_0x677b6f[_0x196f06(0xfd)],{'sqlCode':_0x677b6f[_0x196f06(0x100)]('sqlcode')||undefined,'sqlName':_0x677b6f[_0x196f06(0x100)](_0x196f06(0x11c))||undefined,'currentPage':_0x677b6f['num'](_0x196f06(0x118)),'pageSize':_0x677b6f[_0x196f06(0x108)](_0x196f06(0x105),0x32)}),_0x2355e0=_0x677b6f[_0x196f06(0x113)](_0x196f06(0x10a)),_0x17dd61=_0x3e724d[_0x196f06(0xf5)]??[],_0x5da2bf=_0x3e724d[_0x196f06(0xfa)]?.[_0x196f06(0x115)]??_0x17dd61[_0x196f06(0x10e)];let _0xcc5ff;return _0x2355e0?_0xcc5ff=_0x17dd61:_0xcc5ff=await Promise[_0x196f06(0xf9)](_0x17dd61['map'](async _0xc2d84=>{const _0x5894e0=_0x196f06;let _0x32f1f8;try{_0x32f1f8=_0xc2d84[_0x5894e0(0xf7)]?await getDbName(_0x677b6f[_0x5894e0(0xfd)],_0xc2d84[_0x5894e0(0xf7)]):undefined;}catch{}return{'sqlCode':_0xc2d84[_0x5894e0(0x102)],'sqlName':_0xc2d84[_0x5894e0(0x104)],'description':_0xc2d84[_0x5894e0(0x101)]??'','db':_0x32f1f8?_0x32f1f8+'\x20('+_0xc2d84[_0x5894e0(0xf7)]+')':_0xc2d84['dbId']??''};})),{'ok':!![],'data':_0xcc5ff,'message':_0x17dd61[_0x196f06(0x10e)]===0x0?_0x196f06(0x109):_0x196f06(0x112)+_0x17dd61[_0x196f06(0x10e)]+_0x196f06(0xff)+_0x5da2bf+').'};}};
|
package/lib/commands/sql/pull.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a156_0x25f5f9=a156_0x4e7e;(function(_0x235f48,_0x5e89e0){const _0x734e8=a156_0x4e7e,_0x110f60=_0x235f48();while(!![]){try{const _0x373a57=parseInt(_0x734e8(0x1e2))/0x1+-parseInt(_0x734e8(0x1cf))/0x2+-parseInt(_0x734e8(0x1bb))/0x3+-parseInt(_0x734e8(0x1e5))/0x4+-parseInt(_0x734e8(0x1e9))/0x5+parseInt(_0x734e8(0x1e7))/0x6*(parseInt(_0x734e8(0x1c8))/0x7)+-parseInt(_0x734e8(0x1d2))/0x8*(-parseInt(_0x734e8(0x1c9))/0x9);if(_0x373a57===_0x5e89e0)break;else _0x110f60['push'](_0x110f60['shift']());}catch(_0x493e2f){_0x110f60['push'](_0x110f60['shift']());}}}(a156_0x3123,0x78a4c));import{readFile,rm,writeFile}from'node:fs/promises';function a156_0x4e7e(_0x46c395,_0x5803f5){_0x46c395=_0x46c395-0x1b8;const _0x3123e9=a156_0x3123();let _0x4e7e24=_0x3123e9[_0x46c395];return _0x4e7e24;}import{join}from'node:path';function a156_0x3123(){const _0x36e808=['local\x20differs\x20from\x20remote','description','boolean','replace','Pull\x20complete:\x20','trimStart','\x20skipped,\x20','force','1041372jYialV','unchanged','name','test','appCode','nonInteractive','catch','dbId','write','push','utf8','lockFilePath','toISOString','294EYUZod','9mEGnDb','bool','Would\x20pull\x20','No\x20remote\x20SQL\x20queries\x20matched.','totalCount','paging','1315064iYJPcX','sqlcode','tableData','14849632DJUHOa','path','apps','Filter\x20by\x20SQL\x20display\x20name','POST','mybatisXml','length','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','pull','message','sqlContent','\x20SQL\x20file(s)\x20into\x20','Force\x20pull\x20cancelled.','sqlRoot','sqlCode','split','515772hATBEv','sqlName','local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)','3236416ZFEpci','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','92802JzfVjw','sqls','3568370jUMtqc','str','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql'];a156_0x3123=function(){return _0x36e808;};return a156_0x3123();}import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x1d293e,_0x2e2acd){const _0x2cecce=a156_0x4e7e,_0x58138e=[];let _0x3bb689=0x1;while(!![]){const _0x5cdfbe=await listSqlQueries(_0x1d293e,{'currentPage':_0x3bb689,'pageSize':PAGE_SIZE,'sqlCode':_0x2e2acd[_0x2cecce(0x1e0)],'sqlName':_0x2e2acd['sqlName']}),_0x31d915=_0x5cdfbe[_0x2cecce(0x1d1)]??[];_0x58138e[_0x2cecce(0x1c4)](..._0x31d915);if(_0x31d915[_0x2cecce(0x1d8)]===0x0)break;const _0x56d4ff=_0x5cdfbe[_0x2cecce(0x1ce)]?.[_0x2cecce(0x1cd)];if(_0x56d4ff!=null?_0x58138e[_0x2cecce(0x1d8)]>=_0x56d4ff:_0x31d915[_0x2cecce(0x1d8)]<PAGE_SIZE)break;_0x3bb689++;}return _0x58138e;}async function ensureSqlContent(_0x12b1d2){const _0x11ed34=a156_0x4e7e;if(_0x12b1d2[_0x11ed34(0x1dc)]!=null&&String(_0x12b1d2[_0x11ed34(0x1dc)])[_0x11ed34(0x1d8)]>0x0)return _0x12b1d2;return getSqlQueryDetail(_0x12b1d2['sqlCode']);}export const sqlPull={'service':'sql','command':a156_0x25f5f9(0x1da),'description':a156_0x25f5f9(0x1d9),'risk':a156_0x25f5f9(0x1c3),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':'string','description':a156_0x25f5f9(0x1d5)},{'name':a156_0x25f5f9(0x1ba),'type':a156_0x25f5f9(0x1ee),'description':'Force\x20overwrite\x20local\x20unsynced\x20changes'}],async 'dryRun'(_0x537232){const _0x3f7b12=a156_0x25f5f9,_0x171579=loadSqlProjectConfig(_0x537232[_0x3f7b12(0x1bf)]),_0x1e4e97=await readSqlLockFile(_0x171579[_0x3f7b12(0x1c6)]),{appLock:_0x93748e}=ensureSqlLockScope(_0x1e4e97??createEmptySqlLock(),_0x171579['appCode'],_0x171579[_0x3f7b12(0x1df)],_0x3f7b12(0x1da)),_0x56b94f=await fetchAllSqlQueries(_0x537232[_0x3f7b12(0x1bf)],{'sqlCode':_0x537232[_0x3f7b12(0x1ea)](_0x3f7b12(0x1d0))||undefined,'sqlName':_0x537232[_0x3f7b12(0x1ea)](_0x3f7b12(0x1bd))||undefined}),_0x57e00b=[];for(const _0x126162 of _0x56b94f){const _0x1df58a=await ensureSqlContent(_0x126162),_0x312837=ensureRemoteSqlContent(_0x1df58a),_0x18abd8=detectModeFromSql(_0x1df58a),_0x4f1a30=_0x1df58a[_0x3f7b12(0x1c2)]?await getDbName(_0x537232[_0x3f7b12(0x1bf)],Number(_0x1df58a[_0x3f7b12(0x1c2)]))[_0x3f7b12(0x1c1)](()=>undefined):undefined,_0x127a29=buildLocalSqlFileContent({'sqlCode':_0x1df58a[_0x3f7b12(0x1e0)],'sqlName':_0x1df58a[_0x3f7b12(0x1e3)],'dbId':_0x1df58a[_0x3f7b12(0x1c2)]},_0x312837,{'dbName':_0x4f1a30,'mode':_0x18abd8,'syncedAt':new Date()[_0x3f7b12(0x1c7)](),'description':_0x1df58a['description']}),_0x29bad2=buildSqlLockEntry(_0x1df58a,_0x312837,'',{'dbName':_0x4f1a30}),_0x2960e2=resolveLocalSqlFilePath(_0x171579,_0x1df58a['sqlCode'],_0x29bad2);let _0x1bccbf='would_pull',_0x2c3f40;if(await fileExists(_0x2960e2)){const _0x861c5a=await readFile(_0x2960e2,_0x3f7b12(0x1c5));isEquivalentPulledSqlFile(_0x861c5a,_0x127a29,_0x18abd8)?(_0x1bccbf='skipped',_0x2c3f40='unchanged'):(_0x1bccbf='conflict',_0x2c3f40=_0x3f7b12(0x1e4));}_0x57e00b[_0x3f7b12(0x1c4)]({'sqlCode':_0x1df58a[_0x3f7b12(0x1e0)],'sqlName':_0x1df58a[_0x3f7b12(0x1e3)],'filePath':_0x2960e2,'status':_0x1bccbf,'reason':_0x2c3f40});}return{'method':_0x3f7b12(0x1d6),'url':_0x3f7b12(0x1eb),'body':{'appCode':_0x537232[_0x3f7b12(0x1bf)],'sqlCode':_0x537232[_0x3f7b12(0x1ea)](_0x3f7b12(0x1d0))||null,'sqlName':_0x537232[_0x3f7b12(0x1ea)](_0x3f7b12(0x1bd))||null,'files':_0x57e00b},'description':_0x3f7b12(0x1cb)+_0x57e00b[_0x3f7b12(0x1d8)]+_0x3f7b12(0x1dd)+_0x171579['sqlRootDir']};},async 'execute'(_0x2e2a12){const _0x43a1f4=a156_0x25f5f9,_0xbd9006=loadSqlProjectConfig(_0x2e2a12[_0x43a1f4(0x1bf)]),_0x55dabb=await readSqlLockFile(_0xbd9006[_0x43a1f4(0x1c6)]),{lockData:_0x32d304,appLock:_0x1ff840}=ensureSqlLockScope(_0x55dabb??createEmptySqlLock(),_0xbd9006[_0x43a1f4(0x1bf)],_0xbd9006['sqlRoot'],_0x43a1f4(0x1da)),_0x20f74c=_0x2e2a12[_0x43a1f4(0x1ca)]('force'),_0xe6c0a6=await fetchAllSqlQueries(_0x2e2a12[_0x43a1f4(0x1bf)],{'sqlCode':_0x2e2a12[_0x43a1f4(0x1ea)](_0x43a1f4(0x1d0))||undefined,'sqlName':_0x2e2a12['str'](_0x43a1f4(0x1bd))||undefined});if(_0xe6c0a6[_0x43a1f4(0x1d8)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x43a1f4(0x1cc)};const _0x2ca76e=[],_0x3b4eb1=[];for(const _0x27e5fe of _0xe6c0a6){try{_0x2ca76e['push'](await ensureSqlContent(_0x27e5fe));}catch(_0x43497c){_0x3b4eb1['push']({'sqlCode':_0x27e5fe[_0x43a1f4(0x1e0)],'error':_0x43497c instanceof Error?_0x43497c[_0x43a1f4(0x1db)]:String(_0x43497c)});}}if(_0x20f74c&&!_0x2e2a12[_0x43a1f4(0x1c0)]){let _0x406cd5=![];for(const _0x1186d9 of _0x2ca76e){const _0x2e85c1=detectModeFromSql(_0x1186d9),_0x425048=_0x1186d9[_0x43a1f4(0x1c2)]?await getDbName(_0x2e2a12[_0x43a1f4(0x1bf)],Number(_0x1186d9[_0x43a1f4(0x1c2)]))[_0x43a1f4(0x1c1)](()=>undefined):undefined,_0x530045=buildLocalSqlFileContent({'sqlCode':_0x1186d9[_0x43a1f4(0x1e0)],'sqlName':_0x1186d9[_0x43a1f4(0x1e3)],'dbId':_0x1186d9[_0x43a1f4(0x1c2)]},ensureRemoteSqlContent(_0x1186d9),{'dbName':_0x425048,'mode':_0x2e85c1,'syncedAt':new Date()['toISOString'](),'description':_0x1186d9[_0x43a1f4(0x1ed)]}),_0x565137=resolveLocalSqlFilePath(_0xbd9006,_0x1186d9[_0x43a1f4(0x1e0)],buildSqlLockEntry(_0x1186d9,ensureRemoteSqlContent(_0x1186d9),'',{'dbName':_0x425048}));if(await fileExists(_0x565137)){const _0x4d8500=await readFile(_0x565137,'utf8');if(!isEquivalentPulledSqlFile(_0x4d8500,_0x530045,_0x2e85c1)){_0x406cd5=!![];break;}}}if(_0x406cd5){const _0x2b9325=await confirmForceOverwrite(_0x43a1f4(0x1e6));if(!_0x2b9325)throw CliErrors['cancelled'](_0x43a1f4(0x1de));}}const _0x53ea1a=cloneSqlLockData(_0x32d304),_0x1c46a7=_0x53ea1a[_0x43a1f4(0x1d4)][_0xbd9006[_0x43a1f4(0x1bf)]],_0x2efa7c=[],_0x1edcf9=[];for(const _0x5963e2 of _0x2ca76e){const _0x3cf6d7=_0x1c46a7[_0x43a1f4(0x1e8)][_0x5963e2[_0x43a1f4(0x1e0)]],_0x22f4c2=ensureRemoteSqlContent(_0x5963e2),_0x1edad6=detectModeFromSql(_0x5963e2),_0x4f0092=_0x5963e2[_0x43a1f4(0x1c2)]?await getDbName(_0x2e2a12[_0x43a1f4(0x1bf)],Number(_0x5963e2[_0x43a1f4(0x1c2)]))['catch'](()=>undefined):undefined,_0x2c6069=buildLocalSqlFileContent({'sqlCode':_0x5963e2['sqlCode'],'sqlName':_0x5963e2[_0x43a1f4(0x1e3)],'dbId':_0x5963e2[_0x43a1f4(0x1c2)]},_0x22f4c2,{'dbName':_0x4f0092,'mode':_0x1edad6,'syncedAt':new Date()[_0x43a1f4(0x1c7)](),'description':_0x5963e2[_0x43a1f4(0x1ed)]}),_0x3dbe3c=buildSqlLockEntry(_0x5963e2,_0x22f4c2,computeSqlContentHash(_0x2c6069),{'dbName':_0x4f0092}),_0x2cfa7a=_0x3dbe3c['path'],_0x2b907b=join(_0xbd9006['sqlRootDir'],_0x2cfa7a);try{if(await fileExists(_0x2b907b)){const _0x2e382f=await readFile(_0x2b907b,_0x43a1f4(0x1c5));if(isEquivalentPulledSqlFile(_0x2e382f,_0x2c6069,_0x1edad6)){_0x1edcf9['push']({'sqlCode':_0x5963e2[_0x43a1f4(0x1e0)],'reason':_0x43a1f4(0x1bc)}),_0x1c46a7[_0x43a1f4(0x1e8)][_0x5963e2[_0x43a1f4(0x1e0)]]={..._0x3dbe3c,'hash':computeSqlContentHash(_0x2e382f),'path':_0x2cfa7a};continue;}if(!_0x20f74c){_0x1edcf9['push']({'sqlCode':_0x5963e2[_0x43a1f4(0x1e0)],'reason':_0x43a1f4(0x1ec)});continue;}}const _0x59a856=_0x3cf6d7?.[_0x43a1f4(0x1d3)]?join(_0xbd9006['sqlRootDir'],_0x3cf6d7[_0x43a1f4(0x1d3)]):undefined;_0x59a856&&_0x59a856!==_0x2b907b&&await fileExists(_0x59a856)&&await rm(_0x59a856,{'force':!![]}),await ensureParentDirectory(_0x2b907b),await writeFile(_0x2b907b,_0x2c6069,_0x43a1f4(0x1c5)),_0x1c46a7[_0x43a1f4(0x1e8)][_0x5963e2[_0x43a1f4(0x1e0)]]={..._0x3dbe3c,'path':_0x2cfa7a},_0x2efa7c[_0x43a1f4(0x1c4)]({'sqlCode':_0x5963e2['sqlCode'],'filePath':_0x2b907b});}catch(_0x57060e){_0x3b4eb1[_0x43a1f4(0x1c4)]({'sqlCode':_0x5963e2[_0x43a1f4(0x1e0)],'error':_0x57060e instanceof Error?_0x57060e['message']:String(_0x57060e)});}}return _0x1c46a7['lastSync']=new Date()[_0x43a1f4(0x1c7)](),await writeSqlLockFile(_0xbd9006[_0x43a1f4(0x1c6)],_0x53ea1a),{'ok':_0x3b4eb1[_0x43a1f4(0x1d8)]===0x0,'data':{'pulled':_0x2efa7c,'skipped':_0x1edcf9,'failed':_0x3b4eb1},'message':_0x43a1f4(0x1f0)+_0x2efa7c[_0x43a1f4(0x1d8)]+'\x20written,\x20'+_0x1edcf9['length']+_0x43a1f4(0x1b9)+_0x3b4eb1['length']+'\x20failed'};}};function detectModeFromSql(_0x19650c){const _0x312911=a156_0x25f5f9,_0x5c82c4=ensureRemoteSqlContent(_0x19650c),_0x5644a3=stripLocalSqlMetadata(_0x5c82c4,_0x312911(0x1d7))[_0x312911(0x1b8)]();if(/^<(select|insert|update|delete)\b/i[_0x312911(0x1be)](_0x5644a3))return _0x312911(0x1d7);return'sql';}function isEquivalentPulledSqlFile(_0x4ed7e2,_0x5bfdb4,_0x105ce8){return normalizePullComparableContent(_0x4ed7e2,_0x105ce8)===normalizePullComparableContent(_0x5bfdb4,_0x105ce8);}function normalizePullComparableContent(_0xf8f982,_0x25dd2d){const _0x2226ff=a156_0x25f5f9,_0x3209c8=_0xf8f982[_0x2226ff(0x1ef)](/\r\n/g,'\x0a')[_0x2226ff(0x1e1)]('\x0a'),_0x421035=_0x3209c8['filter'](_0x1c396d=>!isSyncedAtMetadataLine(_0x1c396d,_0x25dd2d));return _0x421035['join']('\x0a');}function isSyncedAtMetadataLine(_0x3df622,_0x18d24b){const _0x5077e0=a156_0x25f5f9;if(_0x18d24b==='mybatisXml')return/^\s*<!--\s*@lovrabet\.syncedAt:/[_0x5077e0(0x1be)](_0x3df622);return/^\s*--\s*@lovrabet\.syncedAt:/['test'](_0x3df622);}
|
|
1
|
+
const a156_0x3c5819=a156_0x5b38;(function(_0x85826a,_0x405240){const _0x11b64c=a156_0x5b38,_0x5858e0=_0x85826a();while(!![]){try{const _0x18c7ac=parseInt(_0x11b64c(0x1f5))/0x1+-parseInt(_0x11b64c(0x1c6))/0x2*(-parseInt(_0x11b64c(0x1dc))/0x3)+parseInt(_0x11b64c(0x1dd))/0x4*(parseInt(_0x11b64c(0x1f1))/0x5)+-parseInt(_0x11b64c(0x1ed))/0x6*(parseInt(_0x11b64c(0x1ff))/0x7)+-parseInt(_0x11b64c(0x1d3))/0x8+-parseInt(_0x11b64c(0x1e2))/0x9+-parseInt(_0x11b64c(0x1ce))/0xa;if(_0x18c7ac===_0x405240)break;else _0x5858e0['push'](_0x5858e0['shift']());}catch(_0x233200){_0x5858e0['push'](_0x5858e0['shift']());}}}(a156_0x3210,0xa3f29));import{readFile,rm,writeFile}from'node:fs/promises';import{join}from'node:path';function a156_0x5b38(_0xb005fd,_0x1ff9a3){_0xb005fd=_0xb005fd-0x1c6;const _0x32106f=a156_0x3210();let _0x5b3820=_0x32106f[_0xb005fd];return _0x5b3820;}import{getSqlQueryDetail,listSqlQueries}from'../../core/api-client.js';import{ensureParentDirectory,fileExists}from'../../core/bff/file-system.js';import{getDbName}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{computeSqlContentHash}from'../../core/sql-sync/hash.js';function a156_0x3210(){const _0x2993fe=['toISOString','Filter\x20by\x20SQL\x20display\x20name','sqlcode','sqlCode','sqls','279iPMYjF','24Qszikz','mybatisXml','description','sql','push','4716324PYasQx','catch','appCode','sqlRoot','conflict','lastSync','write','tableData','dbId','test','sqlName','1288398pUiZgV','No\x20remote\x20SQL\x20queries\x20matched.','Force\x20pull\x20will\x20overwrite\x20local\x20SQL\x20that\x20differs\x20from\x20remote.','paging','1017550skJVvS','sqlContent','trimStart','/smartapi/custom/queryUserCustomSqlList\x20+\x20/smartapi/custom/getUserCustomSql','80430GnXuEC','Pull\x20remote\x20SQL\x20queries\x20to\x20local\x20.rabetbase/sql/','Force\x20overwrite\x20local\x20unsynced\x20changes','unchanged','string','Force\x20pull\x20cancelled.','length','lockFilePath','cancelled','Would\x20pull\x20','21gfFQwr','\x20written,\x20','local\x20differs\x20from\x20remote','21236ECOWWC','skipped','pull','POST','name','replace','path','str','1741890WnpQvk','apps','sqlRootDir','\x20SQL\x20file(s)\x20into\x20','utf8','2200088jiLVlD','force','filter','message'];a156_0x3210=function(){return _0x2993fe;};return a156_0x3210();}import{createEmptySqlLock,ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildLocalSqlFileContent,buildSqlLockEntry,cloneSqlLockData,confirmForceOverwrite,ensureRemoteSqlContent,stripLocalSqlMetadata}from'./shared.js';const PAGE_SIZE=0x64;async function fetchAllSqlQueries(_0x1b6357,_0x7063bc){const _0x4bb2d0=a156_0x5b38,_0x9b0f9a=[];let _0x3ad9d7=0x1;while(!![]){const _0x46966b=await listSqlQueries(_0x1b6357,{'currentPage':_0x3ad9d7,'pageSize':PAGE_SIZE,'sqlCode':_0x7063bc[_0x4bb2d0(0x1da)],'sqlName':_0x7063bc[_0x4bb2d0(0x1ec)]}),_0x50eb57=_0x46966b[_0x4bb2d0(0x1e9)]??[];_0x9b0f9a[_0x4bb2d0(0x1e1)](..._0x50eb57);if(_0x50eb57[_0x4bb2d0(0x1fb)]===0x0)break;const _0x43f87d=_0x46966b[_0x4bb2d0(0x1f0)]?.['totalCount'];if(_0x43f87d!=null?_0x9b0f9a[_0x4bb2d0(0x1fb)]>=_0x43f87d:_0x50eb57[_0x4bb2d0(0x1fb)]<PAGE_SIZE)break;_0x3ad9d7++;}return _0x9b0f9a;}async function ensureSqlContent(_0x1b04b0){const _0x68dffa=a156_0x5b38;if(_0x1b04b0[_0x68dffa(0x1f2)]!=null&&String(_0x1b04b0['sqlContent'])[_0x68dffa(0x1fb)]>0x0)return _0x1b04b0;return getSqlQueryDetail(_0x1b04b0['sqlCode']);}export const sqlPull={'service':a156_0x3c5819(0x1e0),'command':a156_0x3c5819(0x1c8),'description':a156_0x3c5819(0x1f6),'risk':a156_0x3c5819(0x1e8),'flags':[SQLCODE_FLAG_OPTIONAL,{'name':'name','type':a156_0x3c5819(0x1f9),'description':a156_0x3c5819(0x1d8)},{'name':'force','type':'boolean','description':a156_0x3c5819(0x1f7)}],async 'dryRun'(_0x2fccd7){const _0x4f086f=a156_0x3c5819,_0xbb6647=loadSqlProjectConfig(_0x2fccd7[_0x4f086f(0x1e4)]),_0x47e9b6=await readSqlLockFile(_0xbb6647[_0x4f086f(0x1fc)]),{appLock:_0x3753dd}=ensureSqlLockScope(_0x47e9b6??createEmptySqlLock(),_0xbb6647[_0x4f086f(0x1e4)],_0xbb6647[_0x4f086f(0x1e5)],_0x4f086f(0x1c8)),_0x213ce3=await fetchAllSqlQueries(_0x2fccd7[_0x4f086f(0x1e4)],{'sqlCode':_0x2fccd7['str'](_0x4f086f(0x1d9))||undefined,'sqlName':_0x2fccd7[_0x4f086f(0x1cd)](_0x4f086f(0x1ca))||undefined}),_0x36ceaf=[];for(const _0x307dd2 of _0x213ce3){const _0x55417d=await ensureSqlContent(_0x307dd2),_0x1d4110=ensureRemoteSqlContent(_0x55417d),_0x5ec41f=detectModeFromSql(_0x55417d),_0x3160b6=_0x55417d[_0x4f086f(0x1ea)]?await getDbName(_0x2fccd7[_0x4f086f(0x1e4)],Number(_0x55417d[_0x4f086f(0x1ea)]))[_0x4f086f(0x1e3)](()=>undefined):undefined,_0x4fafb5=buildLocalSqlFileContent({'sqlCode':_0x55417d[_0x4f086f(0x1da)],'sqlName':_0x55417d[_0x4f086f(0x1ec)],'dbId':_0x55417d[_0x4f086f(0x1ea)]},_0x1d4110,{'dbName':_0x3160b6,'mode':_0x5ec41f,'syncedAt':new Date()[_0x4f086f(0x1d7)](),'description':_0x55417d[_0x4f086f(0x1df)]}),_0x42b60b=buildSqlLockEntry(_0x55417d,_0x1d4110,'',{'dbName':_0x3160b6}),_0x12baa9=resolveLocalSqlFilePath(_0xbb6647,_0x55417d['sqlCode'],_0x42b60b);let _0x47e07a='would_pull',_0x4b4f79;if(await fileExists(_0x12baa9)){const _0x24bca3=await readFile(_0x12baa9,'utf8');isEquivalentPulledSqlFile(_0x24bca3,_0x4fafb5,_0x5ec41f)?(_0x47e07a=_0x4f086f(0x1c7),_0x4b4f79=_0x4f086f(0x1f8)):(_0x47e07a=_0x4f086f(0x1e6),_0x4b4f79='local\x20differs\x20from\x20remote\x20(use\x20--force\x20to\x20overwrite)');}_0x36ceaf[_0x4f086f(0x1e1)]({'sqlCode':_0x55417d[_0x4f086f(0x1da)],'sqlName':_0x55417d['sqlName'],'filePath':_0x12baa9,'status':_0x47e07a,'reason':_0x4b4f79});}return{'method':_0x4f086f(0x1c9),'url':_0x4f086f(0x1f4),'body':{'appCode':_0x2fccd7[_0x4f086f(0x1e4)],'sqlCode':_0x2fccd7[_0x4f086f(0x1cd)]('sqlcode')||null,'sqlName':_0x2fccd7[_0x4f086f(0x1cd)](_0x4f086f(0x1ca))||null,'files':_0x36ceaf},'description':_0x4f086f(0x1fe)+_0x36ceaf['length']+_0x4f086f(0x1d1)+_0xbb6647[_0x4f086f(0x1d0)]};},async 'execute'(_0x584d29){const _0x135169=a156_0x3c5819,_0x1cace1=loadSqlProjectConfig(_0x584d29[_0x135169(0x1e4)]),_0x5eeff6=await readSqlLockFile(_0x1cace1[_0x135169(0x1fc)]),{lockData:_0x3f327e,appLock:_0x4dc0ee}=ensureSqlLockScope(_0x5eeff6??createEmptySqlLock(),_0x1cace1[_0x135169(0x1e4)],_0x1cace1[_0x135169(0x1e5)],'pull'),_0x46e3ca=_0x584d29['bool'](_0x135169(0x1d4)),_0x2f9d1b=await fetchAllSqlQueries(_0x584d29[_0x135169(0x1e4)],{'sqlCode':_0x584d29[_0x135169(0x1cd)](_0x135169(0x1d9))||undefined,'sqlName':_0x584d29[_0x135169(0x1cd)](_0x135169(0x1ca))||undefined});if(_0x2f9d1b[_0x135169(0x1fb)]===0x0)return{'ok':!![],'data':{'pulled':[],'skipped':[],'failed':[]},'message':_0x135169(0x1ee)};const _0x1b65b6=[],_0x3d6e63=[];for(const _0x1b5e00 of _0x2f9d1b){try{_0x1b65b6[_0x135169(0x1e1)](await ensureSqlContent(_0x1b5e00));}catch(_0x2ffea5){_0x3d6e63[_0x135169(0x1e1)]({'sqlCode':_0x1b5e00[_0x135169(0x1da)],'error':_0x2ffea5 instanceof Error?_0x2ffea5[_0x135169(0x1d6)]:String(_0x2ffea5)});}}if(_0x46e3ca&&!_0x584d29['nonInteractive']){let _0xd7b443=![];for(const _0x1007d3 of _0x1b65b6){const _0x1ed436=detectModeFromSql(_0x1007d3),_0x159b29=_0x1007d3[_0x135169(0x1ea)]?await getDbName(_0x584d29['appCode'],Number(_0x1007d3[_0x135169(0x1ea)]))[_0x135169(0x1e3)](()=>undefined):undefined,_0x134120=buildLocalSqlFileContent({'sqlCode':_0x1007d3[_0x135169(0x1da)],'sqlName':_0x1007d3[_0x135169(0x1ec)],'dbId':_0x1007d3['dbId']},ensureRemoteSqlContent(_0x1007d3),{'dbName':_0x159b29,'mode':_0x1ed436,'syncedAt':new Date()[_0x135169(0x1d7)](),'description':_0x1007d3[_0x135169(0x1df)]}),_0x97cce4=resolveLocalSqlFilePath(_0x1cace1,_0x1007d3[_0x135169(0x1da)],buildSqlLockEntry(_0x1007d3,ensureRemoteSqlContent(_0x1007d3),'',{'dbName':_0x159b29}));if(await fileExists(_0x97cce4)){const _0x1695f1=await readFile(_0x97cce4,'utf8');if(!isEquivalentPulledSqlFile(_0x1695f1,_0x134120,_0x1ed436)){_0xd7b443=!![];break;}}}if(_0xd7b443){const _0x46bb1e=await confirmForceOverwrite(_0x135169(0x1ef));if(!_0x46bb1e)throw CliErrors[_0x135169(0x1fd)](_0x135169(0x1fa));}}const _0x4487ac=cloneSqlLockData(_0x3f327e),_0x3a1d6d=_0x4487ac[_0x135169(0x1cf)][_0x1cace1[_0x135169(0x1e4)]],_0x32effb=[],_0x1c2796=[];for(const _0x23088f of _0x1b65b6){const _0x275f2a=_0x3a1d6d[_0x135169(0x1db)][_0x23088f[_0x135169(0x1da)]],_0x314752=ensureRemoteSqlContent(_0x23088f),_0x1d3870=detectModeFromSql(_0x23088f),_0x26d90e=_0x23088f['dbId']?await getDbName(_0x584d29[_0x135169(0x1e4)],Number(_0x23088f[_0x135169(0x1ea)]))['catch'](()=>undefined):undefined,_0x50b9d8=buildLocalSqlFileContent({'sqlCode':_0x23088f['sqlCode'],'sqlName':_0x23088f['sqlName'],'dbId':_0x23088f['dbId']},_0x314752,{'dbName':_0x26d90e,'mode':_0x1d3870,'syncedAt':new Date()[_0x135169(0x1d7)](),'description':_0x23088f[_0x135169(0x1df)]}),_0x350120=buildSqlLockEntry(_0x23088f,_0x314752,computeSqlContentHash(_0x50b9d8),{'dbName':_0x26d90e}),_0x43fc13=_0x350120[_0x135169(0x1cc)],_0x80f10e=join(_0x1cace1[_0x135169(0x1d0)],_0x43fc13);try{if(await fileExists(_0x80f10e)){const _0x124f51=await readFile(_0x80f10e,'utf8');if(isEquivalentPulledSqlFile(_0x124f51,_0x50b9d8,_0x1d3870)){_0x1c2796['push']({'sqlCode':_0x23088f['sqlCode'],'reason':'unchanged'}),_0x3a1d6d[_0x135169(0x1db)][_0x23088f[_0x135169(0x1da)]]={..._0x350120,'hash':computeSqlContentHash(_0x124f51),'path':_0x43fc13};continue;}if(!_0x46e3ca){_0x1c2796['push']({'sqlCode':_0x23088f[_0x135169(0x1da)],'reason':_0x135169(0x201)});continue;}}const _0x4947af=_0x275f2a?.['path']?join(_0x1cace1[_0x135169(0x1d0)],_0x275f2a[_0x135169(0x1cc)]):undefined;_0x4947af&&_0x4947af!==_0x80f10e&&await fileExists(_0x4947af)&&await rm(_0x4947af,{'force':!![]}),await ensureParentDirectory(_0x80f10e),await writeFile(_0x80f10e,_0x50b9d8,_0x135169(0x1d2)),_0x3a1d6d[_0x135169(0x1db)][_0x23088f[_0x135169(0x1da)]]={..._0x350120,'path':_0x43fc13},_0x32effb[_0x135169(0x1e1)]({'sqlCode':_0x23088f[_0x135169(0x1da)],'filePath':_0x80f10e});}catch(_0x586313){_0x3d6e63['push']({'sqlCode':_0x23088f['sqlCode'],'error':_0x586313 instanceof Error?_0x586313[_0x135169(0x1d6)]:String(_0x586313)});}}return _0x3a1d6d[_0x135169(0x1e7)]=new Date()[_0x135169(0x1d7)](),await writeSqlLockFile(_0x1cace1[_0x135169(0x1fc)],_0x4487ac),{'ok':_0x3d6e63['length']===0x0,'data':{'pulled':_0x32effb,'skipped':_0x1c2796,'failed':_0x3d6e63},'message':'Pull\x20complete:\x20'+_0x32effb[_0x135169(0x1fb)]+_0x135169(0x200)+_0x1c2796[_0x135169(0x1fb)]+'\x20skipped,\x20'+_0x3d6e63['length']+'\x20failed'};}};function detectModeFromSql(_0xe1e4af){const _0x72b6a4=a156_0x3c5819,_0x2fb697=ensureRemoteSqlContent(_0xe1e4af),_0x22ea1d=stripLocalSqlMetadata(_0x2fb697,_0x72b6a4(0x1de))[_0x72b6a4(0x1f3)]();if(/^<(select|insert|update|delete)\b/i[_0x72b6a4(0x1eb)](_0x22ea1d))return _0x72b6a4(0x1de);return _0x72b6a4(0x1e0);}function isEquivalentPulledSqlFile(_0x192d31,_0x28d25f,_0x11e50e){return normalizePullComparableContent(_0x192d31,_0x11e50e)===normalizePullComparableContent(_0x28d25f,_0x11e50e);}function normalizePullComparableContent(_0xd60c24,_0x3dd52a){const _0x24532b=a156_0x3c5819,_0x38e2ea=_0xd60c24[_0x24532b(0x1cb)](/\r\n/g,'\x0a')['split']('\x0a'),_0xf71e49=_0x38e2ea[_0x24532b(0x1d5)](_0x2c0f2=>!isSyncedAtMetadataLine(_0x2c0f2,_0x3dd52a));return _0xf71e49['join']('\x0a');}function isSyncedAtMetadataLine(_0x156da5,_0x3781d4){const _0x326488=a156_0x3c5819;if(_0x3781d4===_0x326488(0x1de))return/^\s*<!--\s*@lovrabet\.syncedAt:/['test'](_0x156da5);return/^\s*--\s*@lovrabet\.syncedAt:/[_0x326488(0x1eb)](_0x156da5);}
|