@lovrabet/rabetbase-cli 2.3.4-beta.2 → 2.3.4-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/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 -0
- 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 -0
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/dry-run.js +1 -0
- 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 -0
- package/lib/commands/permit/page-get.js +1 -0
- package/lib/commands/permit/page-set.js +1 -0
- package/lib/commands/permit/role-apis-set.js +1 -0
- package/lib/commands/permit/role-menus-set.js +1 -0
- package/lib/commands/permit/role-menus.js +1 -0
- package/lib/commands/permit/shared.js +1 -0
- 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 -0
- package/lib/commands/role/delete.js +1 -0
- package/lib/commands/role/detail.js +1 -0
- package/lib/commands/role/index.js +1 -0
- package/lib/commands/role/list.js +1 -0
- package/lib/commands/role/shared.js +1 -0
- package/lib/commands/role/update.js +1 -0
- package/lib/commands/role/user-add.js +1 -0
- package/lib/commands/role/user-remove.js +1 -0
- package/lib/commands/role/user-resolve.js +1 -0
- 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 -0
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -0
- 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 +2 -2
- package/lib/commands/app/discover.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a66_0xfc737d=a66_0x334b;(function(_0x479e41,_0x496bc3){const _0x499838=a66_0x334b,_0x44d70a=_0x479e41();while(!![]){try{const _0x17117c=parseInt(_0x499838(0x9c))/0x1+parseInt(_0x499838(0xaf))/0x2+-parseInt(_0x499838(0x97))/0x3+parseInt(_0x499838(0x9f))/0x4*(parseInt(_0x499838(0x96))/0x5)+parseInt(_0x499838(0xa7))/0x6+parseInt(_0x499838(0x9d))/0x7*(parseInt(_0x499838(0xa3))/0x8)+-parseInt(_0x499838(0xa4))/0x9;if(_0x17117c===_0x496bc3)break;else _0x44d70a['push'](_0x44d70a['shift']());}catch(_0x2e8746){_0x44d70a['push'](_0x44d70a['shift']());}}}(a66_0x1fde,0xd60ff));function a66_0x334b(_0xa0dad9,_0x191ec3){_0xa0dad9=_0xa0dad9-0x95;const _0x1fde6b=a66_0x1fde();let _0x334b75=_0x1fde6b[_0xa0dad9];return _0x334b75;}import{listDatasets}from'../../core/api-client.js';import{CODE_FLAG_OPTIONAL,APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a66_0x1fde(){const _0x1714c5=['7147392TEpfYO','length','dataset','dbName','string','source','DB_TABLE','appCode','523650LHkaiv','allFields','datasetKey','\x20dataset(s)','List\x20DO\x20V2\x20datasets\x20in\x20the\x20app','map','trim','11635zecQYI','4626684ewAIdL','Found\x20','toUpperCase','has','Filter\x20datasets\x20by\x20source\x20type','1713483IgdLDK','2751BBUlYZ','filter','1032fAVotN','METADATA','name','dbtableConfig','15208jiIxyy','18854748FsZftH','description','str'];a66_0x1fde=function(){return _0x1714c5;};return a66_0x1fde();}const DO_V2_DATASET_SOURCES=new Set(['DB_TABLE',a66_0xfc737d(0xa0)]);function normalizeSource(_0x1c99d4){const _0x283b4c=a66_0xfc737d;return _0x1c99d4==null?'':String(_0x1c99d4)[_0x283b4c(0x95)]()[_0x283b4c(0x99)]();}export const datasetList={'service':a66_0xfc737d(0xa9),'command':'list','description':a66_0xfc737d(0xb3),'risk':'read','flags':[{'name':'name','type':a66_0xfc737d(0xab),'description':'Filter\x20datasets\x20by\x20name\x20(server-side\x20fuzzy\x20match)'},CODE_FLAG_OPTIONAL,APPCODE_FLAG_OPTIONAL,{'name':'source','type':a66_0xfc737d(0xab),'description':a66_0xfc737d(0x9b),'enum':[a66_0xfc737d(0xad),a66_0xfc737d(0xa0)]}],async 'execute'(_0x1d2b93){const _0x52fe78=a66_0xfc737d,_0xfccdff=_0x1d2b93[_0x52fe78(0xa6)](_0x52fe78(0xa1)),_0x128952=_0x1d2b93['str']('code'),_0x5773ad=normalizeSource(_0x1d2b93[_0x52fe78(0xa6)](_0x52fe78(0xac))),_0x1234eb=await listDatasets(_0x1d2b93[_0x52fe78(0xae)],{..._0xfccdff&&{'name':_0xfccdff},..._0x128952&&{'code':_0x128952}}),_0x280879=_0x1234eb[_0x52fe78(0x9e)](_0x27219c=>DO_V2_DATASET_SOURCES[_0x52fe78(0x9a)](normalizeSource(_0x27219c[_0x52fe78(0xac)]))),_0x570162=_0x5773ad?_0x280879[_0x52fe78(0x9e)](_0x29a15e=>normalizeSource(_0x29a15e['source'])===_0x5773ad):_0x280879,_0x10ed47=_0x570162[_0x52fe78(0xb4)](_0x26602b=>{const _0x5c2908=_0x52fe78,_0x4284fa=_0x26602b[_0x5c2908(0xa2)]??{};return{'id':_0x26602b['id'],'name':_0x26602b[_0x5c2908(0xa1)],'code':_0x26602b['code'],'description':_0x26602b[_0x5c2908(0xa5)],'source':_0x26602b[_0x5c2908(0xac)],'db':_0x4284fa[_0x5c2908(0xaa)],'table':_0x4284fa['tableName'],'datasetKey':_0x4284fa[_0x5c2908(0xb1)],'pk':_0x4284fa['pkField'],'fields':_0x4284fa[_0x5c2908(0xb0)]?_0x4284fa[_0x5c2908(0xb0)]['split'](',')[_0x5c2908(0xb4)](_0x4f586e=>_0x4f586e['trim']()):[]};});return{'ok':!![],'data':{'total':_0x10ed47[_0x52fe78(0xa8)],'datasets':_0x10ed47},'message':_0x52fe78(0x98)+_0x10ed47[_0x52fe78(0xa8)]+_0x52fe78(0xb2)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a67_0x39c8cf=a67_0x4be2;function a67_0x4be2(_0x3fbb1e,_0x376904){_0x3fbb1e=_0x3fbb1e-0x11f;const _0x247d47=a67_0x247d();let _0x4be255=_0x247d47[_0x3fbb1e];return _0x4be255;}(function(_0x341d38,_0x493283){const _0x1c602e=a67_0x4be2,_0x54e725=_0x341d38();while(!![]){try{const _0x25001e=-parseInt(_0x1c602e(0x11f))/0x1+-parseInt(_0x1c602e(0x125))/0x2*(parseInt(_0x1c602e(0x130))/0x3)+parseInt(_0x1c602e(0x12e))/0x4+parseInt(_0x1c602e(0x12c))/0x5+parseInt(_0x1c602e(0x12a))/0x6*(parseInt(_0x1c602e(0x13b))/0x7)+parseInt(_0x1c602e(0x120))/0x8*(-parseInt(_0x1c602e(0x137))/0x9)+parseInt(_0x1c602e(0x12b))/0xa;if(_0x25001e===_0x493283)break;else _0x54e725['push'](_0x54e725['shift']());}catch(_0x41b478){_0x54e725['push'](_0x54e725['shift']());}}}(a67_0x247d,0x7b2ee));import{getDatasetOperations,getOperationDetail}from'../../core/api-client.js';import{CODE_FLAG_OPTIONAL,APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a67_0x247d(){const _0x1ec66c=['length','2523051lkWuJG','name','appCode','map','enabled','Return\x20full\x20operation\x20objects\x20including\x20requestFields\x20and\x20responseFields','verbose','952353iQAODC','bool','displayName','dataset','7hTubQI','874924zMUxwr','56XEXcpE','operation','alias','Get\x20operations\x20for\x20a\x20dataset,\x20optionally\x20with\x20full\x20detail\x20for\x20one\x20operation','Dataset\x20alias\x20defined\x20in\x20api.ts\x20(e.g.\x20order,\x20coupon)','2wPgDIN','str','code','string','boolean','4321752RtCcZH','12797900czqlgk','2400640EswkcF','operations','1924032hnEpyW'];a67_0x247d=function(){return _0x1ec66c;};return a67_0x247d();}export const datasetOperations={'service':a67_0x39c8cf(0x13a),'command':a67_0x39c8cf(0x12d),'description':a67_0x39c8cf(0x123),'risk':'read','flags':[CODE_FLAG_OPTIONAL,APPCODE_FLAG_OPTIONAL,{'name':a67_0x39c8cf(0x122),'type':a67_0x39c8cf(0x128),'description':a67_0x39c8cf(0x124)},{'name':a67_0x39c8cf(0x121),'type':'string','description':'Operation\x20name\x20to\x20get\x20full\x20detail\x20(e.g.\x20filter,\x20getOne,\x20create)'},{'name':a67_0x39c8cf(0x136),'type':a67_0x39c8cf(0x129),'description':a67_0x39c8cf(0x135)}],async 'execute'(_0x5a4eb4){const _0x922683=a67_0x39c8cf,_0x67b54e=_0x5a4eb4[_0x922683(0x126)](_0x922683(0x127)),_0xde9e3a=_0x5a4eb4['str']('operation'),_0x346949=_0x5a4eb4[_0x922683(0x138)](_0x922683(0x136));if(_0xde9e3a){const {dataset:_0x14dd1c,operation:_0x17e498}=await getOperationDetail(_0x5a4eb4[_0x922683(0x132)],_0x67b54e,_0xde9e3a);return{'ok':!![],'data':{'dataset':_0x14dd1c,'operation':_0x17e498}};}const {dataset:_0x423dd6,operations:_0x3521cb}=await getDatasetOperations(_0x67b54e);return{'ok':!![],'data':{'dataset':_0x423dd6,'total':_0x3521cb[_0x922683(0x12f)],'operations':_0x346949?_0x3521cb:_0x3521cb[_0x922683(0x133)](_0x579266=>({'name':_0x579266[_0x922683(0x131)],'displayName':_0x579266[_0x922683(0x139)],'type':_0x579266['type'],'method':_0x579266['method'],'enabled':_0x579266[_0x922683(0x134)]}))}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a66_0x4ce70f=a66_0x4fb7;(function(_0x402b20,_0x5906c2){const _0x1ecbe9=a66_0x4fb7,_0x14f052=_0x402b20();while(!![]){try{const _0x5cb485=parseInt(_0x1ecbe9(0x178))/0x1*(-parseInt(_0x1ecbe9(0x19a))/0x2)+parseInt(_0x1ecbe9(0x193))/0x3+parseInt(_0x1ecbe9(0x160))/0x4*(-parseInt(_0x1ecbe9(0x16e))/0x5)+-parseInt(_0x1ecbe9(0x177))/0x6*(parseInt(_0x1ecbe9(0x1a9))/0x7)+-parseInt(_0x1ecbe9(0x172))/0x8*(-parseInt(_0x1ecbe9(0x176))/0x9)+-parseInt(_0x1ecbe9(0x182))/0xa*(parseInt(_0x1ecbe9(0x191))/0xb)+parseInt(_0x1ecbe9(0x195))/0xc;if(_0x5cb485===_0x5906c2)break;else _0x14f052['push'](_0x14f052['shift']());}catch(_0x5d06c1){_0x14f052['push'](_0x14f052['shift']());}}}(a66_0x25fd,0x4572a));import{getDatasetDetail}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{collectDatasetRelationFacts,readSourceFilter,SOURCE_TYPES,toDatasetInfo,trim}from'../../commands/dataset/relations.js';const FROM_SOURCE_FLAG={'name':a66_0x4ce70f(0x158),'type':'string','required':![],'enum':[...SOURCE_TYPES],'description':a66_0x4ce70f(0x17b)},TO_SOURCE_FLAG={'name':a66_0x4ce70f(0x188),'type':a66_0x4ce70f(0x189),'required':![],'enum':[...SOURCE_TYPES],'description':a66_0x4ce70f(0x1a5)},STATUS_ORDER={'error':0x0,'manual_review':0x1,'warning':0x2,'ok':0x3};function a66_0x4fb7(_0x718b44,_0x145dc7){_0x718b44=_0x718b44-0x156;const _0x25fdb3=a66_0x25fd();let _0x4fb73d=_0x25fdb3[_0x718b44];return _0x4fb73d;}export const datasetRelationAudit={'service':a66_0x4ce70f(0x166),'command':'relation-audit','description':'Audit\x20dataset\x20relation\x20facts\x20and\x20list\x20structural\x20issues\x20or\x20manual\x20review\x20items','risk':'read','flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,FROM_SOURCE_FLAG,TO_SOURCE_FLAG],async 'validate'(_0x1da92f){const _0x598390=a66_0x4ce70f;readSourceFilter(_0x1da92f[_0x598390(0x1ab)](_0x598390(0x158)),_0x598390(0x174)),readSourceFilter(_0x1da92f[_0x598390(0x1ab)](_0x598390(0x188)),_0x598390(0x16b));},async 'execute'(_0x5dc676){const _0x289ad2=a66_0x4ce70f,_0x320d1e=await collectDatasetRelationFacts(_0x5dc676,{'includeUnsupportedDirections':!![]});await hydrateMissingTargetDetails(_0x320d1e[_0x289ad2(0x199)],_0x320d1e[_0x289ad2(0x183)]);const _0x4e0ff2=countDuplicateRelations(_0x320d1e['relations']),_0x13fabd=_0x320d1e[_0x289ad2(0x199)]['map']((_0x352ab7,_0x5cdb46)=>({'index':_0x5cdb46,'item':auditRelation(_0x352ab7,_0x320d1e[_0x289ad2(0x183)],_0x4e0ff2)}));_0x13fabd['sort']((_0x5ef170,_0x150097)=>{const _0x4edac5=_0x289ad2,_0x41ee77=STATUS_ORDER[_0x5ef170['item'][_0x4edac5(0x15c)]]-STATUS_ORDER[_0x150097[_0x4edac5(0x15b)]['status']];return _0x41ee77||_0x5ef170[_0x4edac5(0x19c)]-_0x150097[_0x4edac5(0x19c)];});const _0x37531a=_0x13fabd[_0x289ad2(0x1a3)](({item:_0x33f96a})=>_0x33f96a),_0x411717=summarize(_0x37531a);return{'ok':!![],'data':{'appCode':_0x5dc676[_0x289ad2(0x171)],..._0x320d1e['datasetCode']?{'datasetCode':_0x320d1e[_0x289ad2(0x192)]}:{},'total':_0x37531a['length'],'summary':_0x411717,'items':_0x37531a},'message':_0x289ad2(0x190)+_0x37531a[_0x289ad2(0x19f)]+_0x289ad2(0x168)+(_0x411717[_0x289ad2(0x1a7)]+_0x289ad2(0x161)+_0x411717['manualReview']+_0x289ad2(0x15a))};}};async function hydrateMissingTargetDetails(_0x14cd47,_0x2c3fa2){const _0x4e2669=a66_0x4ce70f,_0x1325e4=new Set(_0x14cd47[_0x4e2669(0x1a3)](_0x162680=>_0x162680['to'][_0x4e2669(0x192)])[_0x4e2669(0x16c)](_0x4c86ec=>_0x4c86ec&&!_0x2c3fa2[_0x4e2669(0x16f)](_0x4c86ec)));for(const _0x7550c3 of _0x1325e4){const _0x33ace8=await Promise['resolve'](getDatasetDetail(_0x7550c3))[_0x4e2669(0x164)](()=>null);if(!_0x33ace8||typeof _0x33ace8!==_0x4e2669(0x16a))continue;const _0x1d5ad2=toDatasetInfo(_0x33ace8);if(_0x1d5ad2[_0x4e2669(0x194)])_0x2c3fa2[_0x4e2669(0x162)](_0x1d5ad2[_0x4e2669(0x194)],_0x1d5ad2);}}function auditRelation(_0x38e3df,_0x239a0e,_0x4e5e1d){const _0x2eceb7=a66_0x4ce70f,_0x4435e5=[],_0x58f56e=_0x239a0e[_0x2eceb7(0x16d)](_0x38e3df[_0x2eceb7(0x18a)]['datasetCode']),_0x142514=_0x239a0e[_0x2eceb7(0x16d)](_0x38e3df['to'][_0x2eceb7(0x192)]);!_0x58f56e&&_0x4435e5[_0x2eceb7(0x163)](reason(_0x2eceb7(0x1a7),_0x2eceb7(0x1a8),_0x2eceb7(0x1a4),{'datasetCode':_0x38e3df[_0x2eceb7(0x18a)][_0x2eceb7(0x192)]}));!_0x142514&&_0x4435e5[_0x2eceb7(0x163)](reason(_0x2eceb7(0x1a7),_0x2eceb7(0x197),_0x2eceb7(0x185),{'datasetCode':_0x38e3df['to'][_0x2eceb7(0x192)]}));const _0x26c3d3=fieldIndexOf(_0x58f56e),_0x28fc94=fieldIndexOf(_0x142514);_0x26c3d3[_0x2eceb7(0x196)]&&!_0x26c3d3[_0x2eceb7(0x156)]['has'](_0x38e3df[_0x2eceb7(0x18a)][_0x2eceb7(0x184)])&&_0x4435e5[_0x2eceb7(0x163)](reason(_0x2eceb7(0x1a7),_0x2eceb7(0x18f),'来源字段不存在',{'datasetCode':_0x38e3df[_0x2eceb7(0x18a)]['datasetCode'],'field':_0x38e3df[_0x2eceb7(0x18a)][_0x2eceb7(0x184)]}));_0x28fc94[_0x2eceb7(0x196)]&&!_0x28fc94[_0x2eceb7(0x156)][_0x2eceb7(0x16f)](_0x38e3df['to'][_0x2eceb7(0x184)])&&_0x4435e5['push'](reason(_0x2eceb7(0x1a7),_0x2eceb7(0x173),'目标字段不存在',{'datasetCode':_0x38e3df['to'][_0x2eceb7(0x192)],'field':_0x38e3df['to']['field']}));_0x38e3df[_0x2eceb7(0x18a)][_0x2eceb7(0x15d)]===_0x2eceb7(0x19e)&&_0x38e3df['to']['source']===_0x2eceb7(0x18b)&&_0x4435e5[_0x2eceb7(0x163)](reason(_0x2eceb7(0x1a7),_0x2eceb7(0x17c),_0x2eceb7(0x15e)));(_0x4e5e1d[_0x2eceb7(0x16d)](relationKey(_0x38e3df))??0x0)>0x1&&_0x4435e5[_0x2eceb7(0x163)](reason('warning','duplicate_relation',_0x2eceb7(0x157)));const _0x489024=trim(_0x38e3df['to'][_0x2eceb7(0x17e)]);if(!_0x489024)_0x4435e5[_0x2eceb7(0x163)](reason(_0x2eceb7(0x19d),_0x2eceb7(0x18c),'目标关系缺少展示字段,需要人工确认业务展示口径'));else{if(_0x28fc94[_0x2eceb7(0x196)]&&!_0x28fc94[_0x2eceb7(0x156)][_0x2eceb7(0x16f)](_0x489024))_0x4435e5[_0x2eceb7(0x163)](reason('warning','label_field_missing',_0x2eceb7(0x17f),{'datasetCode':_0x38e3df['to'][_0x2eceb7(0x192)],'labelField':_0x489024}));else isTechnicalField(_0x489024)&&_0x4435e5[_0x2eceb7(0x163)](reason(_0x2eceb7(0x186),'label_field_technical',_0x2eceb7(0x179),{'labelField':_0x489024}));}!trim(_0x38e3df['relation']?.[_0x2eceb7(0x1aa)])&&_0x4435e5['push'](reason('manual_review',_0x2eceb7(0x19b),'关系基数缺失,需要人工确认'));const _0x1f304d=statusOf(_0x4435e5);return{'status':_0x1f304d,'severity':severityOf(_0x1f304d),'manualReviewRequired':_0x4435e5[_0x2eceb7(0x170)](_0x21089d=>_0x21089d[_0x2eceb7(0x159)]==='manual_review'),'from':_0x38e3df[_0x2eceb7(0x18a)],'to':_0x38e3df['to'],..._0x38e3df['relation']?{'relation':_0x38e3df['relation']}:{},'reasons':_0x4435e5[_0x2eceb7(0x1a3)](({level:_0x8a0f7f,..._0x46c22d})=>_0x46c22d)};}function countDuplicateRelations(_0x1f325f){const _0xf3b86a=a66_0x4ce70f,_0x11946d=new Map();for(const _0xa165b3 of _0x1f325f){const _0x76f398=relationKey(_0xa165b3);_0x11946d[_0xf3b86a(0x162)](_0x76f398,(_0x11946d[_0xf3b86a(0x16d)](_0x76f398)??0x0)+0x1);}return _0x11946d;}function relationKey(_0x15a7f7){const _0x4b2957=a66_0x4ce70f;return[_0x15a7f7['from'][_0x4b2957(0x15d)],_0x15a7f7[_0x4b2957(0x18a)][_0x4b2957(0x192)],_0x15a7f7[_0x4b2957(0x18a)][_0x4b2957(0x184)],_0x15a7f7['to'][_0x4b2957(0x15d)],_0x15a7f7['to'][_0x4b2957(0x192)],_0x15a7f7['to']['field']][_0x4b2957(0x187)]('\x00');}function fieldIndexOf(_0x1e34e8){const _0x275db6=a66_0x4ce70f;if(!_0x1e34e8)return{'known':![],'names':new Set()};const _0x25d314=new Set(),_0xf21771=_0x1e34e8[_0x275db6(0x18d)]??{},_0x4cac0c=Array['isArray'](_0xf21771[_0x275db6(0x175)])?_0xf21771['fields']:Array[_0x275db6(0x1a1)](_0xf21771[_0x275db6(0x1a2)])?_0xf21771['properties']:[];for(const _0xd4123b of _0x4cac0c){addFieldName(_0x25d314,_0xd4123b?.[_0x275db6(0x17d)]),addFieldName(_0x25d314,_0xd4123b?.[_0x275db6(0x194)]),addFieldName(_0x25d314,_0xd4123b?.[_0x275db6(0x198)]),addFieldName(_0x25d314,_0xd4123b?.[_0x275db6(0x1a6)]);}const _0x557a29=_0xf21771[_0x275db6(0x180)]??{};addFieldName(_0x25d314,_0x557a29[_0x275db6(0x1a0)]),addFieldName(_0x25d314,_0x557a29[_0x275db6(0x17e)]);if(typeof _0x557a29[_0x275db6(0x167)]===_0x275db6(0x189))for(const _0x1a05b7 of _0x557a29[_0x275db6(0x167)][_0x275db6(0x15f)](',')){addFieldName(_0x25d314,_0x1a05b7);}return{'known':_0x25d314[_0x275db6(0x169)]>0x0,'names':_0x25d314};}function a66_0x25fd(){const _0x5c5d13=['目标数据集不存在','warning','join','to-source','string','from','DB_TABLE','missing_label_field','detail','none','source_field_missing','Dataset\x20relation\x20audit:\x20','452771GGQdwW','datasetCode','411528CntVHe','code','10895616cWDSRB','known','target_dataset_missing','columnName','relations','11654NqZfIC','missing_cardinality','index','manual_review','METADATA','length','pkField','isArray','properties','map','来源数据集不存在','Filter\x20target\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','fieldName','error','source_dataset_missing','56kopuwj','cardinality','str','uuid','names','存在重复关系定义','from-source','level','\x20manual\x20review\x20item(s)','item','status','source','不支持\x20METADATA\x20到\x20DB_TABLE\x20的关系方向','split','4mnCXCn','\x20error(s),\x20','set','push','catch','_id','dataset','allFields','\x20relation(s),\x20','size','object','--to-source','filter','get','1737770jEMirN','has','some','appCode','16hQzDsk','target_field_missing','--from-source','fields','458037SsBRLK','7278kMtIbR','9pTnuqf','目标展示字段可能是技术字段','add','Filter\x20source\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','unsupported_direction','name','labelField','目标展示字段不存在','dbtableConfig','medium','110HAFqjt','detailByCode','field'];a66_0x25fd=function(){return _0x5c5d13;};return a66_0x25fd();}function addFieldName(_0x1b3a0a,_0x1d1ab4){const _0x18d204=a66_0x4ce70f,_0x5e9478=trim(_0x1d1ab4);if(_0x5e9478)_0x1b3a0a[_0x18d204(0x17a)](_0x5e9478);}function isTechnicalField(_0x4f7b34){const _0x260aa5=a66_0x4ce70f,_0xcbcd63=_0x4f7b34['toLowerCase']();return _0xcbcd63==='id'||_0xcbcd63===_0x260aa5(0x1ac)||_0xcbcd63===_0x260aa5(0x194)||_0xcbcd63==='key'||_0xcbcd63['endsWith'](_0x260aa5(0x165));}function reason(_0x55202a,_0x4c5dbe,_0x2b18f2,_0x2ff9d7){return{'level':_0x55202a,'code':_0x4c5dbe,'message':_0x2b18f2,..._0x2ff9d7?{'evidence':_0x2ff9d7}:{}};}function statusOf(_0x54a977){const _0x2fe01a=a66_0x4ce70f;if(_0x54a977[_0x2fe01a(0x170)](_0x460e00=>_0x460e00[_0x2fe01a(0x159)]===_0x2fe01a(0x1a7)))return _0x2fe01a(0x1a7);if(_0x54a977[_0x2fe01a(0x170)](_0x7d7d67=>_0x7d7d67['level']===_0x2fe01a(0x19d)))return _0x2fe01a(0x19d);if(_0x54a977[_0x2fe01a(0x170)](_0x2e918c=>_0x2e918c[_0x2fe01a(0x159)]===_0x2fe01a(0x186)))return _0x2fe01a(0x186);return'ok';}function severityOf(_0x132a7b){const _0x45d654=a66_0x4ce70f;if(_0x132a7b===_0x45d654(0x1a7))return'high';if(_0x132a7b===_0x45d654(0x19d))return _0x45d654(0x181);if(_0x132a7b===_0x45d654(0x186))return'low';return _0x45d654(0x18e);}function summarize(_0x3f05c9){const _0x3d839=a66_0x4ce70f;return{'ok':_0x3f05c9[_0x3d839(0x16c)](_0x7b954c=>_0x7b954c[_0x3d839(0x15c)]==='ok')[_0x3d839(0x19f)],'warning':_0x3f05c9['filter'](_0x83fa84=>_0x83fa84[_0x3d839(0x15c)]===_0x3d839(0x186))[_0x3d839(0x19f)],'error':_0x3f05c9[_0x3d839(0x16c)](_0x3a2c55=>_0x3a2c55[_0x3d839(0x15c)]===_0x3d839(0x1a7))[_0x3d839(0x19f)],'manualReview':_0x3f05c9[_0x3d839(0x16c)](_0x540534=>_0x540534['status']===_0x3d839(0x19d))[_0x3d839(0x19f)]};}
|
|
1
|
+
const a68_0x289651=a68_0x1681;(function(_0x441562,_0x5b2d51){const _0x499869=a68_0x1681,_0x53f2be=_0x441562();while(!![]){try{const _0x5e1865=parseInt(_0x499869(0x1c7))/0x1*(-parseInt(_0x499869(0x1b6))/0x2)+parseInt(_0x499869(0x1cb))/0x3*(-parseInt(_0x499869(0x189))/0x4)+parseInt(_0x499869(0x1d1))/0x5+parseInt(_0x499869(0x1c1))/0x6*(parseInt(_0x499869(0x180))/0x7)+-parseInt(_0x499869(0x1a8))/0x8*(-parseInt(_0x499869(0x18e))/0x9)+parseInt(_0x499869(0x197))/0xa+-parseInt(_0x499869(0x1c3))/0xb;if(_0x5e1865===_0x5b2d51)break;else _0x53f2be['push'](_0x53f2be['shift']());}catch(_0xebb60c){_0x53f2be['push'](_0x53f2be['shift']());}}}(a68_0x16e6,0xa7d2a));import{getDatasetDetail}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{collectDatasetRelationFacts,readSourceFilter,SOURCE_TYPES,toDatasetInfo,trim}from'../../commands/dataset/relations.js';const FROM_SOURCE_FLAG={'name':a68_0x289651(0x1d2),'type':'string','required':![],'enum':[...SOURCE_TYPES],'description':a68_0x289651(0x192)},TO_SOURCE_FLAG={'name':a68_0x289651(0x19c),'type':a68_0x289651(0x1d9),'required':![],'enum':[...SOURCE_TYPES],'description':a68_0x289651(0x1a2)},STATUS_ORDER={'error':0x0,'manual_review':0x1,'warning':0x2,'ok':0x3};export const datasetRelationAudit={'service':a68_0x289651(0x1b3),'command':a68_0x289651(0x199),'description':a68_0x289651(0x19a),'risk':a68_0x289651(0x19e),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,FROM_SOURCE_FLAG,TO_SOURCE_FLAG],async 'validate'(_0x1d606c){const _0x3c0bf7=a68_0x289651;readSourceFilter(_0x1d606c[_0x3c0bf7(0x1cf)]('from-source'),'--from-source'),readSourceFilter(_0x1d606c[_0x3c0bf7(0x1cf)](_0x3c0bf7(0x19c)),_0x3c0bf7(0x1d6));},async 'execute'(_0x395898){const _0x48f05f=a68_0x289651,_0x3673fa=await collectDatasetRelationFacts(_0x395898,{'includeUnsupportedDirections':!![]});await hydrateMissingTargetDetails(_0x3673fa[_0x48f05f(0x1ac)],_0x3673fa[_0x48f05f(0x1b9)]);const _0x3cc95f=countDuplicateRelations(_0x3673fa[_0x48f05f(0x1ac)]),_0x4d707e=_0x3673fa[_0x48f05f(0x1ac)][_0x48f05f(0x1a1)]((_0x2dd687,_0x821f63)=>({'index':_0x821f63,'item':auditRelation(_0x2dd687,_0x3673fa[_0x48f05f(0x1b9)],_0x3cc95f)}));_0x4d707e[_0x48f05f(0x1bc)]((_0x392238,_0x8ed2dc)=>{const _0xe2474d=_0x48f05f,_0x466d2d=STATUS_ORDER[_0x392238['item'][_0xe2474d(0x1a9)]]-STATUS_ORDER[_0x8ed2dc[_0xe2474d(0x1ae)][_0xe2474d(0x1a9)]];return _0x466d2d||_0x392238[_0xe2474d(0x19f)]-_0x8ed2dc['index'];});const _0x57fc02=_0x4d707e['map'](({item:_0x287b0a})=>_0x287b0a),_0x2244e0=summarize(_0x57fc02);return{'ok':!![],'data':{'appCode':_0x395898[_0x48f05f(0x1ce)],..._0x3673fa[_0x48f05f(0x1dc)]?{'datasetCode':_0x3673fa[_0x48f05f(0x1dc)]}:{},'total':_0x57fc02[_0x48f05f(0x1c8)],'summary':_0x2244e0,'items':_0x57fc02},'message':_0x48f05f(0x1a3)+_0x57fc02[_0x48f05f(0x1c8)]+_0x48f05f(0x1b7)+(_0x2244e0[_0x48f05f(0x185)]+_0x48f05f(0x17e)+_0x2244e0['manualReview']+_0x48f05f(0x1c2))};}};async function hydrateMissingTargetDetails(_0x502d3f,_0x205d83){const _0x30fe57=a68_0x289651,_0x36c7c0=new Set(_0x502d3f[_0x30fe57(0x1a1)](_0x56c765=>_0x56c765['to']['datasetCode'])[_0x30fe57(0x190)](_0x250d65=>_0x250d65&&!_0x205d83[_0x30fe57(0x19b)](_0x250d65)));for(const _0x2ba61e of _0x36c7c0){const _0x493a1f=await Promise[_0x30fe57(0x1bd)](getDatasetDetail(_0x2ba61e))['catch'](()=>null);if(!_0x493a1f||typeof _0x493a1f!==_0x30fe57(0x1b5))continue;const _0x8a78ba=toDatasetInfo(_0x493a1f);if(_0x8a78ba[_0x30fe57(0x196)])_0x205d83[_0x30fe57(0x187)](_0x8a78ba[_0x30fe57(0x196)],_0x8a78ba);}}function auditRelation(_0x5df116,_0x24a974,_0x33e169){const _0x4ecc7d=a68_0x289651,_0x414c7=[],_0xcbd4a1=_0x24a974[_0x4ecc7d(0x18a)](_0x5df116[_0x4ecc7d(0x181)][_0x4ecc7d(0x1dc)]),_0x2cd496=_0x24a974[_0x4ecc7d(0x18a)](_0x5df116['to'][_0x4ecc7d(0x1dc)]);!_0xcbd4a1&&_0x414c7['push'](reason(_0x4ecc7d(0x185),_0x4ecc7d(0x1ad),_0x4ecc7d(0x1b8),{'datasetCode':_0x5df116[_0x4ecc7d(0x181)][_0x4ecc7d(0x1dc)]}));!_0x2cd496&&_0x414c7[_0x4ecc7d(0x1cc)](reason('error',_0x4ecc7d(0x1c5),_0x4ecc7d(0x1db),{'datasetCode':_0x5df116['to'][_0x4ecc7d(0x1dc)]}));const _0x2b9759=fieldIndexOf(_0xcbd4a1),_0x5dce07=fieldIndexOf(_0x2cd496);_0x2b9759[_0x4ecc7d(0x193)]&&!_0x2b9759[_0x4ecc7d(0x191)][_0x4ecc7d(0x19b)](_0x5df116[_0x4ecc7d(0x181)][_0x4ecc7d(0x1c9)])&&_0x414c7[_0x4ecc7d(0x1cc)](reason('error',_0x4ecc7d(0x1a5),_0x4ecc7d(0x1c4),{'datasetCode':_0x5df116[_0x4ecc7d(0x181)][_0x4ecc7d(0x1dc)],'field':_0x5df116[_0x4ecc7d(0x181)][_0x4ecc7d(0x1c9)]}));_0x5dce07[_0x4ecc7d(0x193)]&&!_0x5dce07[_0x4ecc7d(0x191)][_0x4ecc7d(0x19b)](_0x5df116['to'][_0x4ecc7d(0x1c9)])&&_0x414c7[_0x4ecc7d(0x1cc)](reason(_0x4ecc7d(0x185),_0x4ecc7d(0x1bf),_0x4ecc7d(0x1a6),{'datasetCode':_0x5df116['to'][_0x4ecc7d(0x1dc)],'field':_0x5df116['to'][_0x4ecc7d(0x1c9)]}));_0x5df116[_0x4ecc7d(0x181)]['source']===_0x4ecc7d(0x1b4)&&_0x5df116['to']['source']==='DB_TABLE'&&_0x414c7[_0x4ecc7d(0x1cc)](reason(_0x4ecc7d(0x185),_0x4ecc7d(0x188),_0x4ecc7d(0x1b0)));(_0x33e169[_0x4ecc7d(0x18a)](relationKey(_0x5df116))??0x0)>0x1&&_0x414c7[_0x4ecc7d(0x1cc)](reason(_0x4ecc7d(0x19d),'duplicate_relation',_0x4ecc7d(0x1ab)));const _0x5ac928=trim(_0x5df116['to'][_0x4ecc7d(0x17f)]);if(!_0x5ac928)_0x414c7['push'](reason(_0x4ecc7d(0x1be),_0x4ecc7d(0x1bb),_0x4ecc7d(0x1d5)));else{if(_0x5dce07[_0x4ecc7d(0x193)]&&!_0x5dce07[_0x4ecc7d(0x191)][_0x4ecc7d(0x19b)](_0x5ac928))_0x414c7[_0x4ecc7d(0x1cc)](reason(_0x4ecc7d(0x19d),_0x4ecc7d(0x1a0),'目标展示字段不存在',{'datasetCode':_0x5df116['to'][_0x4ecc7d(0x1dc)],'labelField':_0x5ac928}));else isTechnicalField(_0x5ac928)&&_0x414c7[_0x4ecc7d(0x1cc)](reason(_0x4ecc7d(0x19d),_0x4ecc7d(0x184),_0x4ecc7d(0x186),{'labelField':_0x5ac928}));}!trim(_0x5df116[_0x4ecc7d(0x1d3)]?.[_0x4ecc7d(0x1ca)])&&_0x414c7['push'](reason(_0x4ecc7d(0x1be),_0x4ecc7d(0x1b1),_0x4ecc7d(0x198)));const _0x3f5244=statusOf(_0x414c7);return{'status':_0x3f5244,'severity':severityOf(_0x3f5244),'manualReviewRequired':_0x414c7['some'](_0x3c9f03=>_0x3c9f03['level']==='manual_review'),'from':_0x5df116[_0x4ecc7d(0x181)],'to':_0x5df116['to'],..._0x5df116[_0x4ecc7d(0x1d3)]?{'relation':_0x5df116[_0x4ecc7d(0x1d3)]}:{},'reasons':_0x414c7[_0x4ecc7d(0x1a1)](({level:_0x14a05c,..._0x26bcf4})=>_0x26bcf4)};}function countDuplicateRelations(_0x1b4991){const _0x18a2cc=a68_0x289651,_0x2e7433=new Map();for(const _0x4ad05d of _0x1b4991){const _0x571e79=relationKey(_0x4ad05d);_0x2e7433[_0x18a2cc(0x187)](_0x571e79,(_0x2e7433[_0x18a2cc(0x18a)](_0x571e79)??0x0)+0x1);}return _0x2e7433;}function relationKey(_0x1471b5){const _0xdd933d=a68_0x289651;return[_0x1471b5[_0xdd933d(0x181)][_0xdd933d(0x194)],_0x1471b5[_0xdd933d(0x181)][_0xdd933d(0x1dc)],_0x1471b5[_0xdd933d(0x181)][_0xdd933d(0x1c9)],_0x1471b5['to']['source'],_0x1471b5['to'][_0xdd933d(0x1dc)],_0x1471b5['to'][_0xdd933d(0x1c9)]][_0xdd933d(0x1cd)]('\x00');}function fieldIndexOf(_0x1adc46){const _0x33d2a6=a68_0x289651;if(!_0x1adc46)return{'known':![],'names':new Set()};const _0x279417=new Set(),_0x1ae5d0=_0x1adc46['detail']??{},_0x21abc4=Array[_0x33d2a6(0x1a4)](_0x1ae5d0[_0x33d2a6(0x1b2)])?_0x1ae5d0[_0x33d2a6(0x1b2)]:Array[_0x33d2a6(0x1a4)](_0x1ae5d0[_0x33d2a6(0x18c)])?_0x1ae5d0[_0x33d2a6(0x18c)]:[];for(const _0xf3a32 of _0x21abc4){addFieldName(_0x279417,_0xf3a32?.[_0x33d2a6(0x1af)]),addFieldName(_0x279417,_0xf3a32?.[_0x33d2a6(0x196)]),addFieldName(_0x279417,_0xf3a32?.[_0x33d2a6(0x1c0)]),addFieldName(_0x279417,_0xf3a32?.[_0x33d2a6(0x18b)]);}const _0x326989=_0x1ae5d0[_0x33d2a6(0x1a7)]??{};addFieldName(_0x279417,_0x326989['pkField']),addFieldName(_0x279417,_0x326989[_0x33d2a6(0x17f)]);if(typeof _0x326989[_0x33d2a6(0x183)]===_0x33d2a6(0x1d9))for(const _0x49b23a of _0x326989[_0x33d2a6(0x183)][_0x33d2a6(0x1c6)](',')){addFieldName(_0x279417,_0x49b23a);}return{'known':_0x279417[_0x33d2a6(0x1d0)]>0x0,'names':_0x279417};}function addFieldName(_0x4f866a,_0x3202e4){const _0x57cecc=a68_0x289651,_0x2636c4=trim(_0x3202e4);if(_0x2636c4)_0x4f866a[_0x57cecc(0x1d4)](_0x2636c4);}function isTechnicalField(_0x1f232d){const _0x2efee8=a68_0x289651,_0x56a536=_0x1f232d['toLowerCase']();return _0x56a536==='id'||_0x56a536===_0x2efee8(0x1d7)||_0x56a536===_0x2efee8(0x196)||_0x56a536===_0x2efee8(0x1ba)||_0x56a536[_0x2efee8(0x1aa)](_0x2efee8(0x18f));}function reason(_0x31a3e5,_0xc26a5,_0x540fdb,_0x583b68){return{'level':_0x31a3e5,'code':_0xc26a5,'message':_0x540fdb,..._0x583b68?{'evidence':_0x583b68}:{}};}function a68_0x1681(_0x328c00,_0x5413aa){_0x328c00=_0x328c00-0x17e;const _0x16e68e=a68_0x16e6();let _0x16817a=_0x16e68e[_0x328c00];return _0x16817a;}function statusOf(_0x1c49d0){const _0x287180=a68_0x289651;if(_0x1c49d0['some'](_0x4f0586=>_0x4f0586[_0x287180(0x195)]===_0x287180(0x185)))return'error';if(_0x1c49d0['some'](_0x2c49a7=>_0x2c49a7[_0x287180(0x195)]===_0x287180(0x1be)))return'manual_review';if(_0x1c49d0[_0x287180(0x18d)](_0xe29302=>_0xe29302[_0x287180(0x195)]===_0x287180(0x19d)))return _0x287180(0x19d);return'ok';}function severityOf(_0x1e38e1){const _0x5e5d15=a68_0x289651;if(_0x1e38e1==='error')return'high';if(_0x1e38e1==='manual_review')return _0x5e5d15(0x1d8);if(_0x1e38e1===_0x5e5d15(0x19d))return _0x5e5d15(0x182);return _0x5e5d15(0x1da);}function a68_0x16e6(){const _0x5f1e4a=['Filter\x20source\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','known','source','level','code','8352900yMWmVV','关系基数缺失,需要人工确认','relation-audit','Audit\x20dataset\x20relation\x20facts\x20and\x20list\x20structural\x20issues\x20or\x20manual\x20review\x20items','has','to-source','warning','read','index','label_field_missing','map','Filter\x20target\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','Dataset\x20relation\x20audit:\x20','isArray','source_field_missing','目标字段不存在','dbtableConfig','74216SMYKjA','status','endsWith','存在重复关系定义','relations','source_dataset_missing','item','name','不支持\x20METADATA\x20到\x20DB_TABLE\x20的关系方向','missing_cardinality','fields','dataset','METADATA','object','498124LvJqEM','\x20relation(s),\x20','来源数据集不存在','detailByCode','key','missing_label_field','sort','resolve','manual_review','target_field_missing','columnName','6zwUbli','\x20manual\x20review\x20item(s)','11809765oVxpPC','来源字段不存在','target_dataset_missing','split','1wzLnym','length','field','cardinality','15IJDOck','push','join','appCode','str','size','2677765iqmzOU','from-source','relation','add','目标关系缺少展示字段,需要人工确认业务展示口径','--to-source','uuid','medium','string','none','目标数据集不存在','datasetCode','\x20error(s),\x20','labelField','4360601zExzlz','from','low','allFields','label_field_technical','error','目标展示字段可能是技术字段','set','unsupported_direction','90868gPvYsr','get','fieldName','properties','some','126HprWin','_id','filter','names'];a68_0x16e6=function(){return _0x5f1e4a;};return a68_0x16e6();}function summarize(_0x6736e9){const _0x31586f=a68_0x289651;return{'ok':_0x6736e9[_0x31586f(0x190)](_0xdf383e=>_0xdf383e[_0x31586f(0x1a9)]==='ok')[_0x31586f(0x1c8)],'warning':_0x6736e9['filter'](_0x4fe6f0=>_0x4fe6f0['status']==='warning')[_0x31586f(0x1c8)],'error':_0x6736e9[_0x31586f(0x190)](_0xe2b4b3=>_0xe2b4b3['status']===_0x31586f(0x185))[_0x31586f(0x1c8)],'manualReview':_0x6736e9[_0x31586f(0x190)](_0x41c83c=>_0x41c83c['status']==='manual_review')['length']};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a69_0x41d4cf=a69_0x2aba;(function(_0x16af0e,_0x1d89f8){const _0x209792=a69_0x2aba,_0x270ab0=_0x16af0e();while(!![]){try{const _0x2d7ace=parseInt(_0x209792(0x1ed))/0x1*(parseInt(_0x209792(0x1f6))/0x2)+parseInt(_0x209792(0x1f7))/0x3+-parseInt(_0x209792(0x1ec))/0x4+parseInt(_0x209792(0x1f9))/0x5*(parseInt(_0x209792(0x1f3))/0x6)+-parseInt(_0x209792(0x1ea))/0x7*(-parseInt(_0x209792(0x1fd))/0x8)+-parseInt(_0x209792(0x1fe))/0x9+parseInt(_0x209792(0x1f0))/0xa*(-parseInt(_0x209792(0x1f5))/0xb);if(_0x2d7ace===_0x1d89f8)break;else _0x270ab0['push'](_0x270ab0['shift']());}catch(_0x515adf){_0x270ab0['push'](_0x270ab0['shift']());}}}(a69_0x296c,0xbc8b4));import{createErRelation}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a69_0x296c(){const _0x1adb0f=['1596070KCUXEK','from','4383584HVebqb','3nnHggO','afterReadback','appCode','4098110LZnaFN','write','Use\x20dataset\x20relation-update\x20for\x20metadata\x20changes.\x20Do\x20not\x20automate\x20delete+create\x20as\x20an\x20atomic\x20edit;\x20confirm\x20both\x20dry-runs\x20with\x20the\x20user\x20before\x20changing\x20relation\x20identity.','28986PfLddf','dataset','22DCFTYS','594642AEzNOG','3964875EhoAHl','dbId','695zrYGyW','table','create','str','40NZEZeG','12036177ACIAki','validation','column','relation-create','relation_conflict:\x20relation\x20already\x20exists:\x20','Created\x20dataset\x20relation:\x20'];a69_0x296c=function(){return _0x1adb0f;};return a69_0x296c();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a69_0x2aba(_0x3b6e1e,_0x5001b6){_0x3b6e1e=_0x3b6e1e-0x1e8;const _0x296c7f=a69_0x296c();let _0x2abaa5=_0x296c7f[_0x3b6e1e];return _0x2abaa5;}import{buildDryRunPreview,buildMutationData,DB_FLAG,FROM_COLUMN_FLAG,FROM_TABLE_FLAG,CARDINALITY_FLAG,formatRelationSelector,loadRelationContext,readRelationInput,relationToBackend,resolveRequiredDb,TO_COLUMN_FLAG,TO_LABEL_COLUMN_FLAG,TO_TABLE_FLAG,verifyRelationMutation}from'../../commands/dataset/relation-shared.js';const BACKEND_PATH='/smartapi/question/er-config/erCreate';export const datasetRelationCreate={'service':a69_0x41d4cf(0x1f4),'command':a69_0x41d4cf(0x201),'description':'Create\x20one\x20dataset\x20relation','risk':a69_0x41d4cf(0x1f1),'flags':[DB_FLAG,FROM_TABLE_FLAG,FROM_COLUMN_FLAG,TO_TABLE_FLAG,TO_COLUMN_FLAG,TO_LABEL_COLUMN_FLAG,CARDINALITY_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xfd5c57){readRelationInput(_0xfd5c57,{'includeLabelAndCardinality':!![]});},async 'dryRun'(_0x5ef79a){const _0x55408c=a69_0x41d4cf,_0x374621=await resolveRequiredDb(_0x5ef79a[_0x55408c(0x1ef)],_0x5ef79a[_0x55408c(0x1fc)]('db')),_0x568b2e=readRelationInput(_0x5ef79a,{'includeLabelAndCardinality':!![]});return buildDryRunPreview({'operation':_0x55408c(0x1fb),'appCode':_0x5ef79a[_0x55408c(0x1ef)],'db':_0x374621,'input':_0x568b2e,'backendPath':BACKEND_PATH});},async 'execute'(_0x1cbff1){const _0x2eb7d3=a69_0x41d4cf,_0x5c8d56=await resolveRequiredDb(_0x1cbff1[_0x2eb7d3(0x1ef)],_0x1cbff1['str']('db')),_0x5911d4=readRelationInput(_0x1cbff1,{'includeLabelAndCardinality':!![]}),{existing:_0x3d0a67,readbackHint:_0xeec714}=await loadRelationContext(_0x1cbff1[_0x2eb7d3(0x1ef)],_0x5c8d56[_0x2eb7d3(0x1f8)],_0x5911d4);if(_0x3d0a67)throw CliErrors[_0x2eb7d3(0x1ff)](_0x2eb7d3(0x1e8)+formatRelationSelector(_0x5911d4),_0x2eb7d3(0x1f2));await createErRelation({'appCode':_0x1cbff1[_0x2eb7d3(0x1ef)],'dblinkId':_0x5c8d56['dbId'],'relation':relationToBackend(_0x5911d4)});const _0x581587=await verifyRelationMutation({'operation':_0x2eb7d3(0x1fb),'appCode':_0x1cbff1['appCode'],'dbId':_0x5c8d56[_0x2eb7d3(0x1f8)],'input':_0x5911d4,'readbackHint':_0xeec714});return{'ok':!![],'data':buildMutationData({'operation':_0x2eb7d3(0x1fb),'appCode':_0x1cbff1[_0x2eb7d3(0x1ef)],'db':_0x5c8d56,'input':_0x5911d4,'before':null,'after':_0x581587[_0x2eb7d3(0x1ee)],'verification':_0x581587,'dryRun':![],'backendPath':BACKEND_PATH}),'message':_0x2eb7d3(0x1e9)+_0x5911d4['from'][_0x2eb7d3(0x1fa)]+'.'+_0x5911d4[_0x2eb7d3(0x1eb)][_0x2eb7d3(0x200)]+'\x20->\x20'+_0x5911d4['to']['table']+'.'+_0x5911d4['to'][_0x2eb7d3(0x200)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a70_0x2e7bb7=a70_0x141e;(function(_0x182028,_0xb7bde9){const _0x2d6a7b=a70_0x141e,_0x484f6f=_0x182028();while(!![]){try{const _0x16b7ac=parseInt(_0x2d6a7b(0xca))/0x1*(parseInt(_0x2d6a7b(0xb9))/0x2)+-parseInt(_0x2d6a7b(0xc5))/0x3+parseInt(_0x2d6a7b(0xb5))/0x4*(-parseInt(_0x2d6a7b(0xb3))/0x5)+parseInt(_0x2d6a7b(0xbc))/0x6+-parseInt(_0x2d6a7b(0xba))/0x7*(parseInt(_0x2d6a7b(0xc4))/0x8)+parseInt(_0x2d6a7b(0xc9))/0x9*(parseInt(_0x2d6a7b(0xc2))/0xa)+parseInt(_0x2d6a7b(0xb8))/0xb;if(_0x16b7ac===_0xb7bde9)break;else _0x484f6f['push'](_0x484f6f['shift']());}catch(_0x4b2852){_0x484f6f['push'](_0x484f6f['shift']());}}}(a70_0x3812,0xc3914));function a70_0x3812(){const _0x1bb9b0=['validation','60ARodxx','dbId','263356ftAjEo','relation-delete','\x20->\x20','15032963BJpRFT','90RJsADg','5100445psGKiD','Run\x20dataset\x20relations\x20first\x20to\x20inspect\x20the\x20current\x20dataset\x20relations.','5790540sUYCkU','from','str','delete','Deleted\x20dataset\x20relation:\x20','high-risk-write','28280klYUSE','/smartapi/question/er-config/erDelete','16iPsBou','1932564lnunls','column','Delete\x20one\x20dataset\x20relation','relation_not_found:\x20','171SFxyLg','29047NYSKUQ','table','appCode'];a70_0x3812=function(){return _0x1bb9b0;};return a70_0x3812();}function a70_0x141e(_0x91b6fa,_0x1671d4){_0x91b6fa=_0x91b6fa-0xb2;const _0x3812a3=a70_0x3812();let _0x141ef0=_0x3812a3[_0x91b6fa];return _0x141ef0;}import{deleteErRelation}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildDryRunPreview,buildMutationData,DB_FLAG,FROM_COLUMN_FLAG,FROM_TABLE_FLAG,findExistingRelation,readRelationInput,relationToBackend,resolveRequiredDb,TO_COLUMN_FLAG,TO_TABLE_FLAG,verifyRelationMutation}from'../../commands/dataset/relation-shared.js';const BACKEND_PATH=a70_0x2e7bb7(0xc3);export const datasetRelationDelete={'service':'dataset','command':a70_0x2e7bb7(0xb6),'description':a70_0x2e7bb7(0xc7),'risk':a70_0x2e7bb7(0xc1),'flags':[DB_FLAG,FROM_TABLE_FLAG,FROM_COLUMN_FLAG,TO_TABLE_FLAG,TO_COLUMN_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2a254d){readRelationInput(_0x2a254d);},async 'dryRun'(_0x43135f){const _0x5dd45a=a70_0x2e7bb7,_0x46ba80=await resolveRequiredDb(_0x43135f['appCode'],_0x43135f[_0x5dd45a(0xbe)]('db')),_0xe52501=readRelationInput(_0x43135f);return buildDryRunPreview({'operation':_0x5dd45a(0xbf),'appCode':_0x43135f[_0x5dd45a(0xcc)],'db':_0x46ba80,'input':_0xe52501,'backendPath':BACKEND_PATH});},async 'execute'(_0x327d90){const _0x1e4e18=a70_0x2e7bb7,_0x53e59e=await resolveRequiredDb(_0x327d90[_0x1e4e18(0xcc)],_0x327d90[_0x1e4e18(0xbe)]('db')),_0x5f126d=readRelationInput(_0x327d90),_0x5f71b4=await findExistingRelation(_0x327d90['appCode'],_0x53e59e[_0x1e4e18(0xb4)],_0x5f126d);if(!_0x5f71b4)throw CliErrors[_0x1e4e18(0xb2)](_0x1e4e18(0xc8)+_0x5f126d[_0x1e4e18(0xbd)]['table']+'.'+_0x5f126d['from']['column']+_0x1e4e18(0xb7)+_0x5f126d['to'][_0x1e4e18(0xcb)]+'.'+_0x5f126d['to'][_0x1e4e18(0xc6)],_0x1e4e18(0xbb));await deleteErRelation({'appCode':_0x327d90[_0x1e4e18(0xcc)],'dblinkId':_0x53e59e['dbId'],'relation':relationToBackend(_0x5f126d)});const _0x5a2387=await verifyRelationMutation({'operation':_0x1e4e18(0xbf),'appCode':_0x327d90[_0x1e4e18(0xcc)],'dbId':_0x53e59e['dbId'],'input':_0x5f126d,'before':_0x5f71b4});return{'ok':!![],'data':buildMutationData({'operation':_0x1e4e18(0xbf),'appCode':_0x327d90[_0x1e4e18(0xcc)],'db':_0x53e59e,'input':_0x5f126d,'before':_0x5f71b4,'verification':_0x5a2387,'dryRun':![],'backendPath':BACKEND_PATH}),'message':_0x1e4e18(0xc0)+_0x5f126d[_0x1e4e18(0xbd)]['table']+'.'+_0x5f126d['from'][_0x1e4e18(0xc6)]+_0x1e4e18(0xb7)+_0x5f126d['to'][_0x1e4e18(0xcb)]+'.'+_0x5f126d['to'][_0x1e4e18(0xc6)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a69_0x1c8eee=a69_0x50e3;(function(_0x5b6cf6,_0x2468e1){const _0x5432f5=a69_0x50e3,_0x408b96=_0x5b6cf6();while(!![]){try{const _0x1e904e=parseInt(_0x5432f5(0x23d))/0x1+-parseInt(_0x5432f5(0x1c6))/0x2+parseInt(_0x5432f5(0x1e4))/0x3+parseInt(_0x5432f5(0x21e))/0x4+parseInt(_0x5432f5(0x213))/0x5*(-parseInt(_0x5432f5(0x1fe))/0x6)+parseInt(_0x5432f5(0x224))/0x7*(-parseInt(_0x5432f5(0x1ce))/0x8)+parseInt(_0x5432f5(0x232))/0x9*(parseInt(_0x5432f5(0x1f1))/0xa);if(_0x1e904e===_0x2468e1)break;else _0x408b96['push'](_0x408b96['shift']());}catch(_0x536bcc){_0x408b96['push'](_0x408b96['shift']());}}}(a69_0x26fa,0x2dddc));import{getDatasetDetail,getErConfig,listDatasets}from'../../core/api-client.js';import{resolveOneDb}from'../../core/db-resolver.js';import{CliErrors}from'../../errors.js';export const CARDINALITIES=[a69_0x1c8eee(0x1c5),a69_0x1c8eee(0x226),a69_0x1c8eee(0x20e),a69_0x1c8eee(0x22c)];const SOURCE_TYPES=[a69_0x1c8eee(0x220),a69_0x1c8eee(0x1fa)];export const DB_FLAG={'name':'db','type':'string','required':!![],'description':'Database\x20name\x20or\x20dblink\x20ID\x20for\x20DB_TABLE\x20relation\x20mutations'};export const DB_FLAG_OPTIONAL={...DB_FLAG,'required':![],'description':a69_0x1c8eee(0x1dc)};export const FROM_SOURCE_FLAG={'name':a69_0x1c8eee(0x210),'type':'string','required':![],'enum':[...SOURCE_TYPES],'default':a69_0x1c8eee(0x220),'description':a69_0x1c8eee(0x218)};export const TO_SOURCE_FLAG={'name':a69_0x1c8eee(0x230),'type':a69_0x1c8eee(0x1f7),'required':![],'enum':[...SOURCE_TYPES],'description':a69_0x1c8eee(0x1c8)};export const FROM_TABLE_FLAG={'name':a69_0x1c8eee(0x1c9),'type':a69_0x1c8eee(0x1f7),'required':!![],'description':a69_0x1c8eee(0x1c7)};export const FROM_TABLE_FLAG_OPTIONAL={...FROM_TABLE_FLAG,'required':![],'description':a69_0x1c8eee(0x1e0)};export const FROM_CODE_FLAG={'name':a69_0x1c8eee(0x23a),'type':a69_0x1c8eee(0x1f7),'required':![],'description':a69_0x1c8eee(0x1fb)};export const FROM_COLUMN_FLAG={'name':a69_0x1c8eee(0x1de),'type':'string','required':!![],'description':a69_0x1c8eee(0x1c4)};export const TO_TABLE_FLAG={'name':'to-table','type':a69_0x1c8eee(0x1f7),'required':!![],'description':a69_0x1c8eee(0x223)};export const TO_TABLE_FLAG_OPTIONAL={...TO_TABLE_FLAG,'required':![],'description':a69_0x1c8eee(0x22e)};export const TO_CODE_FLAG={'name':a69_0x1c8eee(0x1e5),'type':'string','required':![],'description':a69_0x1c8eee(0x1bd)};export const TO_COLUMN_FLAG={'name':'to-column','type':'string','required':!![],'description':a69_0x1c8eee(0x1cd)};export const TO_LABEL_COLUMN_FLAG={'name':'to-label-column','type':a69_0x1c8eee(0x1f7),'required':!![],'description':'Target\x20display/label\x20column\x20name\x20for\x20relation\x20display'};export const TO_LABEL_COLUMN_FLAG_OPTIONAL={...TO_LABEL_COLUMN_FLAG,'required':![],'description':a69_0x1c8eee(0x221)};export const EXPECT_TO_LABEL_COLUMN_FLAG={'name':a69_0x1c8eee(0x228),'type':a69_0x1c8eee(0x1f7),'required':![],'description':'Expected\x20current\x20target\x20display/label\x20column\x20for\x20drift\x20detection.\x20DB_TABLE\x20reads\x20the\x20current\x20label\x20only\x20when\x20this\x20flag\x20is\x20provided;\x20missing\x20labels\x20default\x20to\x20--to-column.'};export const CARDINALITY_FLAG={'name':a69_0x1c8eee(0x22d),'type':'string','required':!![],'enum':[...CARDINALITIES],'description':a69_0x1c8eee(0x205)};export const CARDINALITY_FLAG_OPTIONAL={...CARDINALITY_FLAG,'required':![],'description':'Relation\x20cardinality.\x20Required\x20for\x20DB_TABLE\x20->\x20DB_TABLE\x20relation-update;\x20rejected\x20for\x20relations\x20involving\x20METADATA\x20datasets\x20because\x20the\x20backend\x20normalizes\x20them\x20to\x20ONE_TO_MANY.'};export function readRelationInput(_0x24e943,_0x52075d){const _0x16cf6f=a69_0x1c8eee,_0x45d850=readSource(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x210)),_0x16cf6f(0x220),_0x16cf6f(0x1f6)),_0x35e3c4=readSource(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x230)),_0x45d850,_0x16cf6f(0x229));if(_0x45d850===_0x16cf6f(0x1fa)&&_0x35e3c4===_0x16cf6f(0x220))throw CliErrors[_0x16cf6f(0x200)](_0x16cf6f(0x23f));const _0x2a1600={'source':_0x45d850,'column':requiredTrim(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1de)),_0x16cf6f(0x1cb))};_0x45d850===_0x16cf6f(0x220)?(requiredTrim(_0x24e943['str']('db'),_0x16cf6f(0x1c2)),rejectIfPresent(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x23a)),'--from-code','--from-source\x20DB_TABLE'),_0x2a1600[_0x16cf6f(0x1be)]=requiredTrim(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1c9)),_0x16cf6f(0x23e))):(rejectIfPresent(_0x24e943[_0x16cf6f(0x1e1)]('db'),_0x16cf6f(0x1c2),_0x16cf6f(0x1b9)),rejectIfPresent(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1c9)),_0x16cf6f(0x23e),_0x16cf6f(0x1b9)),_0x2a1600['code']=requiredTrim(_0x24e943['str'](_0x16cf6f(0x23a)),'--from-code'));const _0x304acd={'source':_0x35e3c4,'column':requiredTrim(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x209)),_0x16cf6f(0x1d7))};_0x35e3c4==='DB_TABLE'?(rejectIfPresent(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1e5)),'--to-code',_0x16cf6f(0x1c3)),_0x304acd[_0x16cf6f(0x1be)]=requiredTrim(_0x24e943['str'](_0x16cf6f(0x1c0)),_0x16cf6f(0x1ef))):(rejectIfPresent(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1c0)),_0x16cf6f(0x1ef),_0x16cf6f(0x1ed)),_0x304acd[_0x16cf6f(0x1ca)]=requiredTrim(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1e5)),_0x16cf6f(0x1d9)));const _0x4c49da={'from':_0x2a1600,'to':_0x304acd};if(_0x52075d?.[_0x16cf6f(0x1dd)]){const _0x2cd8a4=optionalTrim(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1d1)));if(_0x2cd8a4)_0x4c49da['to'][_0x16cf6f(0x212)]=_0x2cd8a4;const _0x514937=optionalTrim(_0x24e943['str'](_0x16cf6f(0x22d)));if(isMetadataInvolved(_0x4c49da)){if(_0x514937)throw CliErrors[_0x16cf6f(0x200)](_0x16cf6f(0x1f2),_0x16cf6f(0x1eb));if(!_0x2cd8a4)throw CliErrors[_0x16cf6f(0x200)](_0x16cf6f(0x1e8),_0x16cf6f(0x204));}else _0x4c49da['to'][_0x16cf6f(0x212)]=requiredTrim(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x1d1)),'--to-label-column'),_0x4c49da[_0x16cf6f(0x22d)]=normalizeCardinality(_0x24e943[_0x16cf6f(0x1e1)](_0x16cf6f(0x22d)));}return _0x4c49da;}export function relationToBackend(_0x40159f){const _0x48b039=a69_0x1c8eee,_0x4a1e87={'columnName':_0x40159f[_0x48b039(0x20a)][_0x48b039(0x207)],'refColumnName':_0x40159f['to'][_0x48b039(0x207)],..._0x40159f['to'][_0x48b039(0x212)]?{'refTableLabelName':_0x40159f['to'][_0x48b039(0x212)]}:{},..._0x40159f[_0x48b039(0x22d)]?{'cardinality':_0x40159f[_0x48b039(0x22d)]}:{}};return _0x40159f[_0x48b039(0x20a)][_0x48b039(0x23c)]==='DB_TABLE'?_0x4a1e87[_0x48b039(0x238)]=_0x40159f[_0x48b039(0x20a)][_0x48b039(0x1be)]:_0x4a1e87[_0x48b039(0x233)]=_0x40159f[_0x48b039(0x20a)][_0x48b039(0x1ca)],_0x40159f['to'][_0x48b039(0x23c)]===_0x48b039(0x220)?_0x4a1e87['refTableName']=_0x40159f['to'][_0x48b039(0x1be)]:_0x4a1e87[_0x48b039(0x1ba)]=_0x40159f['to'][_0x48b039(0x1ca)],isMetadataInvolved(_0x40159f)&&(_0x4a1e87['fromSourceType']=_0x40159f[_0x48b039(0x20a)][_0x48b039(0x23c)],_0x4a1e87[_0x48b039(0x1d0)]=_0x40159f['to'][_0x48b039(0x23c)]),_0x4a1e87;}export async function resolveRequiredDb(_0x3c25e6,_0xe776da){const _0x39344a=a69_0x1c8eee,{db:_0x41e5f9,error:_0x303925}=await resolveOneDb(_0x3c25e6,_0xe776da['trim']());if(_0x303925||!_0x41e5f9)throw CliErrors[_0x39344a(0x200)](_0x303925||_0x39344a(0x22b));return _0x41e5f9;}export async function resolveDbForInput(_0x17710a,_0x523755,_0x2382a4){const _0xd87300=a69_0x1c8eee;if(_0x523755['from'][_0xd87300(0x23c)]===_0xd87300(0x1fa))return null;return resolveRequiredDb(_0x17710a,_0x2382a4);}export async function findExistingRelation(_0x2f1355,_0x430228,_0x3a6c80){const _0x3b1c62=a69_0x1c8eee;return(await loadRelationContext(_0x2f1355,_0x430228,_0x3a6c80))[_0x3b1c62(0x1d6)];}export async function loadRelationContext(_0x4ee4d0,_0x172335,_0x144de6){const _0x481b41=await loadRelationContextFromDatasetFacts(_0x4ee4d0,_0x172335,_0x144de6);if(_0x481b41)return _0x481b41;const _0x39a810=await getErConfig(_0x4ee4d0,_0x172335);return{'existing':findRelationInConfig(_0x39a810,_0x144de6),'readbackHint':findRelationReadbackHintInConfig(_0x39a810,_0x144de6)};}async function loadRelationContextFromDatasetFacts(_0xff1419,_0x44e7e8,_0x2c5893){const _0x2fd2a5=a69_0x1c8eee,_0x3e3f8b=await listDatasets(_0xff1419);if(!Array[_0x2fd2a5(0x22a)](_0x3e3f8b))return null;const _0x36a78a=findEndpointDatasetItem(_0x3e3f8b,_0x2c5893[_0x2fd2a5(0x20a)],_0x44e7e8),_0xa64e34=findEndpointDatasetItem(_0x3e3f8b,_0x2c5893['to'],_0x44e7e8);if(!_0x36a78a||!_0xa64e34)return null;const _0x5eb789=buildRelationReadbackHintFromDatasetItems(_0x36a78a,_0xa64e34,_0x2c5893);return{'existing':await readRelationFromDatasetDetail(_0x2c5893,_0x5eb789),'readbackHint':_0x5eb789};}export async function verifyRelationMutation(_0x270574){const _0x3051e2=a69_0x1c8eee,_0x44b8d5=await readRelationFromDatasetDetail(_0x270574[_0x3051e2(0x1e3)],_0x270574[_0x3051e2(0x225)]??_0x270574[_0x3051e2(0x1df)]??null);if(_0x270574[_0x3051e2(0x1e7)]===_0x3051e2(0x211))return _0x44b8d5&&throwRelationVerificationError(_0x270574[_0x3051e2(0x1e7)],_0x270574[_0x3051e2(0x1e3)],['relation\x20still\x20exists\x20after\x20delete']),{'verified':!![],'status':'matched','afterReadback':null};!_0x44b8d5&&throwRelationVerificationError(_0x270574['operation'],_0x270574[_0x3051e2(0x1e3)],['relation\x20was\x20not\x20found\x20after\x20write']);const _0x398aa7=collectRelationMismatches(_0x270574['input'],_0x44b8d5);return _0x398aa7['length']>0x0&&throwRelationVerificationError(_0x270574[_0x3051e2(0x1e7)],_0x270574[_0x3051e2(0x1e3)],_0x398aa7),{'verified':!![],'status':_0x3051e2(0x22f),'afterReadback':_0x44b8d5};}export function findRelationInConfig(_0x422234,_0x5309c6){const _0x323809=a69_0x1c8eee,_0x183fe6=new Map((_0x422234[_0x323809(0x1bc)]??[])[_0x323809(0x1da)](_0x4b92e5=>[_0x4b92e5['datasetCode'],_0x4b92e5]));for(const _0x19833e of _0x422234[_0x323809(0x1bc)]??[]){if(!matchesFromDataset(_0x19833e,_0x5309c6))continue;for(const _0x28e42f of _0x19833e[_0x323809(0x234)]??[]){const _0x2a2782=_0x183fe6[_0x323809(0x20b)](_0x28e42f[_0x323809(0x201)]);if(!matchesToDataset(_0x2a2782,_0x28e42f[_0x323809(0x201)],_0x5309c6))continue;if(sameName(_0x28e42f[_0x323809(0x21f)],_0x5309c6[_0x323809(0x20a)][_0x323809(0x207)])&&sameName(_0x28e42f[_0x323809(0x1f9)],_0x5309c6['to'][_0x323809(0x207)]))return{'from':{..._0x19833e['tableName']?{'table':_0x19833e[_0x323809(0x238)]}:{},..._0x5309c6[_0x323809(0x20a)]['source']===_0x323809(0x1fa)&&_0x19833e['datasetCode']?{'code':_0x19833e[_0x323809(0x1d4)]}:{},..._0x19833e['datasetCode']?{'datasetCode':_0x19833e['datasetCode']}:{},..._0x19833e[_0x323809(0x237)]?{'datasetName':_0x19833e[_0x323809(0x237)]}:{},'column':_0x28e42f[_0x323809(0x21f)]},'to':{..._0x2a2782?.[_0x323809(0x238)]?{'table':_0x2a2782[_0x323809(0x238)]}:{},..._0x5309c6['to'][_0x323809(0x23c)]===_0x323809(0x1fa)&&_0x28e42f[_0x323809(0x201)]?{'code':_0x28e42f[_0x323809(0x201)]}:{},..._0x28e42f['toDataset']?{'datasetCode':_0x28e42f[_0x323809(0x201)]}:{},..._0x28e42f[_0x323809(0x21d)]?{'datasetName':_0x28e42f[_0x323809(0x21d)]}:{},'column':_0x28e42f[_0x323809(0x1f9)]},'cardinality':_0x28e42f[_0x323809(0x1db)]||undefined,'condition':_0x28e42f[_0x323809(0x227)]??null};}}return null;}function findRelationReadbackHintInConfig(_0x1f8b54,_0x5d0348){const _0x2a1e42=a69_0x1c8eee,_0x4fe00d=(_0x1f8b54['datasets']??[])['find'](_0x47206f=>matchesFromDataset(_0x47206f,_0x5d0348));if(!_0x4fe00d)return null;const _0xa02e4=(_0x1f8b54[_0x2a1e42(0x1bc)]??[])[_0x2a1e42(0x1f0)](_0x3354bb=>{const _0x5102a0=_0x2a1e42;if(_0x5d0348['to'][_0x5102a0(0x23c)]===_0x5102a0(0x1fa))return sameName(_0x3354bb[_0x5102a0(0x1d4)],_0x5d0348['to']['code']);return sourceTypeOf(_0x3354bb)===_0x5102a0(0x220)&&sameName(_0x3354bb[_0x5102a0(0x238)],_0x5d0348['to'][_0x5102a0(0x1be)]);});if(!_0xa02e4)return null;return{'from':{..._0x4fe00d['tableName']?{'table':_0x4fe00d[_0x2a1e42(0x238)]}:{},..._0x5d0348[_0x2a1e42(0x20a)]['source']==='METADATA'&&_0x4fe00d[_0x2a1e42(0x1d4)]?{'code':_0x4fe00d[_0x2a1e42(0x1d4)]}:{},..._0x4fe00d['datasetCode']?{'datasetCode':_0x4fe00d[_0x2a1e42(0x1d4)]}:{},..._0x4fe00d[_0x2a1e42(0x237)]?{'datasetName':_0x4fe00d[_0x2a1e42(0x237)]}:{},'column':_0x5d0348['from'][_0x2a1e42(0x207)]},'to':{..._0xa02e4[_0x2a1e42(0x238)]?{'table':_0xa02e4[_0x2a1e42(0x238)]}:{},..._0x5d0348['to'][_0x2a1e42(0x23c)]==='METADATA'&&_0xa02e4[_0x2a1e42(0x1d4)]?{'code':_0xa02e4['datasetCode']}:{},..._0xa02e4[_0x2a1e42(0x1d4)]?{'datasetCode':_0xa02e4[_0x2a1e42(0x1d4)]}:{},..._0xa02e4[_0x2a1e42(0x237)]?{'datasetName':_0xa02e4[_0x2a1e42(0x237)]}:{},'column':_0x5d0348['to'][_0x2a1e42(0x207)],..._0x5d0348['to'][_0x2a1e42(0x212)]?{'labelColumn':_0x5d0348['to'][_0x2a1e42(0x212)]}:{}},..._0x5d0348[_0x2a1e42(0x22d)]?{'cardinality':_0x5d0348[_0x2a1e42(0x22d)]}:{},'condition':null};}function findEndpointDatasetItem(_0x13e93a,_0x5d7092,_0xbeccbc){const _0x444edf=a69_0x1c8eee;if(_0x5d7092['source']===_0x444edf(0x1fa))return _0x13e93a['find'](_0x48c820=>{const _0x41b147=_0x444edf;return sourceTypeOfDatasetItem(_0x48c820)===_0x41b147(0x1fa)&&sameName(datasetCodeOfDatasetItem(_0x48c820),_0x5d7092[_0x41b147(0x1ca)]);});const _0x10f777=_0x13e93a[_0x444edf(0x217)](_0xacf65a=>{const _0x2bb7bc=_0x444edf;if(sourceTypeOfDatasetItem(_0xacf65a)!==_0x2bb7bc(0x220))return![];if(!sameName(tableNameOfDatasetItem(_0xacf65a),_0x5d7092[_0x2bb7bc(0x1be)]))return![];const _0x102fa8=dbIdOfDatasetItem(_0xacf65a);return _0xbeccbc==null||_0x102fa8==null||_0x102fa8===_0xbeccbc;});return _0x10f777[0x0];}function buildRelationReadbackHintFromDatasetItems(_0x5e17e8,_0x515d5f,_0x2be1a4){const _0xa99219=a69_0x1c8eee,_0x52540d=datasetCodeOfDatasetItem(_0x5e17e8),_0x1d3614=datasetCodeOfDatasetItem(_0x515d5f);return{'from':{...tableNameOfDatasetItem(_0x5e17e8)?{'table':tableNameOfDatasetItem(_0x5e17e8)}:{},..._0x2be1a4[_0xa99219(0x20a)][_0xa99219(0x23c)]===_0xa99219(0x1fa)&&_0x52540d?{'code':_0x52540d}:{},..._0x52540d?{'datasetCode':_0x52540d}:{},..._0x5e17e8[_0xa99219(0x1d3)]?{'datasetName':_0x5e17e8['name']}:{},'column':_0x2be1a4[_0xa99219(0x20a)][_0xa99219(0x207)]},'to':{...tableNameOfDatasetItem(_0x515d5f)?{'table':tableNameOfDatasetItem(_0x515d5f)}:{},..._0x2be1a4['to'][_0xa99219(0x23c)]===_0xa99219(0x1fa)&&_0x1d3614?{'code':_0x1d3614}:{},..._0x1d3614?{'datasetCode':_0x1d3614}:{},..._0x515d5f['name']?{'datasetName':_0x515d5f[_0xa99219(0x1d3)]}:{},'column':_0x2be1a4['to'][_0xa99219(0x207)],..._0x2be1a4['to'][_0xa99219(0x212)]?{'labelColumn':_0x2be1a4['to']['labelColumn']}:{}},..._0x2be1a4[_0xa99219(0x22d)]?{'cardinality':_0x2be1a4['cardinality']}:{},'condition':null};}export async function hydrateExistingRelationLabel(_0x47f948,_0x4f1963,_0x1b4734){const _0xd523cb=a69_0x1c8eee;if(!isMetadataInvolved(_0x47f948)&&!_0x1b4734?.[_0xd523cb(0x219)])return _0x4f1963;if(_0x4f1963['to']['labelColumn'])return _0x4f1963;const _0x753f31=await readCurrentRelationLabel(_0x47f948,_0x4f1963);if(!_0x753f31)return _0x4f1963;return{..._0x4f1963,'to':{..._0x4f1963['to'],'labelColumn':_0x753f31}};}export async function readCurrentRelationLabel(_0x197f82,_0x47a582){const _0x1a7580=a69_0x1c8eee;return(await readRelationFromDatasetDetail(_0x197f82,_0x47a582))?.['to'][_0x1a7580(0x212)];}async function readRelationFromDatasetDetail(_0x2fcc06,_0x536915){const _0x26ad8d=a69_0x1c8eee,_0x1ee791=_0x536915?.[_0x26ad8d(0x20a)][_0x26ad8d(0x1d4)]??_0x536915?.[_0x26ad8d(0x20a)][_0x26ad8d(0x1ca)]??_0x2fcc06['from'][_0x26ad8d(0x1ca)];if(!_0x1ee791)return null;const _0x6969bb=await getDatasetDetail(_0x1ee791);return findRelationInDatasetDetail(_0x6969bb,_0x2fcc06,_0x536915);}function findRelationInDatasetDetail(_0x49e4e4,_0x55f3ae,_0x4a5f04){const _0x58f4ea=a69_0x1c8eee,_0x1895a3=Array[_0x58f4ea(0x22a)](_0x49e4e4?.[_0x58f4ea(0x234)])?_0x49e4e4[_0x58f4ea(0x234)]:[],_0x5a43b6=_0x4a5f04?.['to'][_0x58f4ea(0x1d4)]??_0x4a5f04?.['to'][_0x58f4ea(0x1ca)]??_0x55f3ae['to']['code'],_0x26ec31=_0x4a5f04?.['to']['table']??_0x55f3ae['to'][_0x58f4ea(0x1be)],_0x1af06c=readDatasetCodeFromDetail(_0x49e4e4)??_0x4a5f04?.['from']['datasetCode']??_0x55f3ae['from']['code'],_0x4111be=readDatasetNameFromDetail(_0x49e4e4)??_0x4a5f04?.[_0x58f4ea(0x20a)][_0x58f4ea(0x237)],_0x54b9fd=readDatasetTableFromDetail(_0x49e4e4)??_0x4a5f04?.[_0x58f4ea(0x20a)][_0x58f4ea(0x1be)]??_0x55f3ae[_0x58f4ea(0x20a)]['table'];for(const _0x5b28af of _0x1895a3){const _0x39fe57=optionalTrim(_0x5b28af['fromField']??_0x5b28af[_0x58f4ea(0x1ee)]??_0x5b28af[_0x58f4ea(0x1e9)]),_0x3906d8=optionalTrim(_0x5b28af[_0x58f4ea(0x1f9)]??_0x5b28af['toColumn']??_0x5b28af[_0x58f4ea(0x203)]),_0x3fe995=optionalTrim(_0x5b28af['toDatasetCode']??_0x5b28af['toCode']??_0x5b28af[_0x58f4ea(0x201)]??_0x5b28af[_0x58f4ea(0x202)]),_0x34f252=optionalTrim(_0x5b28af['toTableName']??_0x5b28af['toTable']??_0x5b28af[_0x58f4ea(0x1f4)]);if(sameName(_0x39fe57,_0x55f3ae[_0x58f4ea(0x20a)][_0x58f4ea(0x207)])&&sameName(_0x3906d8,_0x55f3ae['to']['column'])&&matchesReadbackTarget(_0x3fe995,_0x34f252,_0x5a43b6,_0x26ec31)){const _0x14e16b=_0x3fe995??_0x4a5f04?.['to'][_0x58f4ea(0x1d4)]??_0x55f3ae['to'][_0x58f4ea(0x1ca)],_0x5d253=_0x34f252??_0x4a5f04?.['to'][_0x58f4ea(0x1be)]??_0x55f3ae['to'][_0x58f4ea(0x1be)],_0x5adbf5=optionalTrim(_0x5b28af[_0x58f4ea(0x21d)]??_0x5b28af['targetDatasetName'])??_0x4a5f04?.['to'][_0x58f4ea(0x237)],_0x14f0a8=optionalTrim(_0x5b28af[_0x58f4ea(0x239)]??_0x5b28af[_0x58f4ea(0x20c)]??_0x5b28af[_0x58f4ea(0x1e6)])??_0x55f3ae['to'][_0x58f4ea(0x207)],_0x3df70f=normalizeReadbackCardinality(_0x5b28af['joinType']??_0x5b28af['cardinality']??_0x5b28af[_0x58f4ea(0x21a)]?.['cardinality']);return{'from':{..._0x54b9fd?{'table':_0x54b9fd}:{},..._0x55f3ae['from'][_0x58f4ea(0x23c)]===_0x58f4ea(0x1fa)&&_0x1af06c?{'code':_0x1af06c}:{},..._0x1af06c?{'datasetCode':_0x1af06c}:{},..._0x4111be?{'datasetName':_0x4111be}:{},'column':_0x39fe57??_0x55f3ae[_0x58f4ea(0x20a)][_0x58f4ea(0x207)]},'to':{..._0x5d253?{'table':_0x5d253}:{},..._0x55f3ae['to'][_0x58f4ea(0x23c)]==='METADATA'&&_0x14e16b?{'code':_0x14e16b}:{},..._0x14e16b?{'datasetCode':_0x14e16b}:{},..._0x5adbf5?{'datasetName':_0x5adbf5}:{},'column':_0x3906d8??_0x55f3ae['to'][_0x58f4ea(0x207)],'labelColumn':_0x14f0a8},..._0x3df70f?{'cardinality':_0x3df70f}:{},'condition':_0x5b28af['condition']??_0x4a5f04?.[_0x58f4ea(0x227)]??null};}}return null;}function matchesReadbackTarget(_0x168d96,_0x44c93a,_0x15d384,_0x2ebe3f){if(_0x15d384&&_0x168d96)return sameName(_0x168d96,_0x15d384);if(_0x2ebe3f&&_0x44c93a)return sameName(_0x44c93a,_0x2ebe3f);return![];}function a69_0x26fa(){const _0x45d6df=['suggestedExpectFlags','from-source','delete','labelColumn','1090lmWlwu','modelCode','POST','dryRun','filter','Source\x20endpoint\x20type.\x20Defaults\x20to\x20DB_TABLE;\x20DB_TABLE\x20uses\x20--db/--from-table,\x20METADATA\x20uses\x20--from-code.','includeDbTable','relation','\x20is\x20not\x20supported\x20with\x20','dataset','toDatasetName','128520EbizkA','fromField','DB_TABLE','Target\x20display/label\x20column\x20name.\x20Required\x20for\x20relation-update;\x20updates\x20involving\x20METADATA\x20datasets\x20can\x20only\x20change\x20this\x20field.','dbtable','Target\x20table\x20name','4417qzMHNP','before','ONE_TO_MANY','condition','expect-to-label-column','--to-source','isArray','Database\x20is\x20required.','MANY_TO_MANY','cardinality','Target\x20table\x20name.\x20Required\x20when\x20--to-source\x20DB_TABLE;\x20forbidden\x20when\x20--to-source\x20METADATA.','matched','to-source','Would\x20','9MbJmJF','fromDatasetCode','relations','toUpperCase','toLowerCase','datasetName','tableName','toFieldLabel','from-code','warnings','source','309979MXzaXU','--from-table','METADATA\x20to\x20DB_TABLE\x20ER\x20relation\x20is\x20not\x20supported','Allowed\x20values:\x20','--from-source\x20METADATA','toDatasetCode',',\x20expected\x20','datasets','Target\x20METADATA\x20dataset\x20code.\x20Required\x20when\x20--to-source\x20METADATA;\x20forbidden\x20when\x20--to-source\x20DB_TABLE.','table','includes','to-table','The\x20backend\x20write\x20call\x20returned,\x20but\x20readback\x20did\x20not\x20match\x20the\x20requested\x20relation\x20state:\x20','--db','--to-source\x20DB_TABLE','Source\x20column\x20name','ONE_TO_ONE','413782hmxQqo','Source\x20table\x20name','Target\x20endpoint\x20type.\x20Defaults\x20to\x20--from-source;\x20DB_TABLE\x20uses\x20--to-table,\x20METADATA\x20uses\x20--to-code.','from-table','code','--from-column','after','Target\x20column\x20name','56bEZEkN','push','toSourceType','to-label-column','dbName','name','datasetCode','dbtableConfig','existing','--to-column','dbId','--to-code','map','joinType','Database\x20name\x20or\x20dblink\x20ID.\x20Required\x20when\x20--from-source\x20DB_TABLE;\x20forbidden\x20when\x20--from-source\x20METADATA.','includeLabelAndCardinality','from-column','readbackHint','Source\x20table\x20name.\x20Required\x20when\x20--from-source\x20DB_TABLE;\x20forbidden\x20when\x20--from-source\x20METADATA.','str','trim','input','162672sfPstG','to-code','refTableLabelName','operation','--to-label-column\x20is\x20required\x20when\x20either\x20endpoint\x20is\x20METADATA.','field','sourceType','Relations\x20involving\x20METADATA\x20datasets\x20are\x20normalized\x20to\x20ONE_TO_MANY\x20by\x20the\x20backend,\x20so\x20CLI\x20rejects\x20the\x20parameter\x20instead\x20of\x20sending\x20a\x20value\x20that\x20would\x20be\x20overwritten\x20by\x20backend\x20normalization.','cardinality\x20is\x20','--to-source\x20METADATA','fromColumn','--to-table','find','305290sjMQgT','--cardinality\x20is\x20only\x20supported\x20for\x20DB_TABLE\x20->\x20DB_TABLE\x20relations.','to-label-column\x20is\x20','refTableName','\x20dataset\x20relation\x20','--from-source','string','verification','toField','METADATA','Source\x20METADATA\x20dataset\x20code.\x20Required\x20when\x20--from-source\x20METADATA;\x20forbidden\x20when\x20--from-source\x20DB_TABLE.','isFinite','appCode','762aHWtQS','\x20is\x20required.','validation','toDataset','targetDatasetCode','targetField','Relations\x20involving\x20METADATA\x20datasets\x20require\x20an\x20explicit\x20target\x20display\x20field\x20update;\x20provide\x20--to-label-column\x20to\x20avoid\x20a\x20no-op\x20update.','Relation\x20cardinality','Invalid\x20','column','join','to-column','from','get','labelField','\x20->\x20','MANY_TO_ONE'];a69_0x26fa=function(){return _0x45d6df;};return a69_0x26fa();}function readDatasetCodeFromDetail(_0x35bfd4){const _0x3f10e5=a69_0x1c8eee;return optionalTrim(_0x35bfd4?.[_0x3f10e5(0x214)]??_0x35bfd4?.[_0x3f10e5(0x1ca)]??_0x35bfd4?.[_0x3f10e5(0x1d4)]);}function readDatasetNameFromDetail(_0x4883d8){const _0x1e2e35=a69_0x1c8eee,_0x5b10dc=_0x4883d8?.[_0x1e2e35(0x21c)]??{};return optionalTrim(_0x4883d8?.[_0x1e2e35(0x1d3)]??_0x5b10dc['datasetName']);}function readDatasetTableFromDetail(_0x28fb03){const _0x5907be=a69_0x1c8eee,_0x3645ea=_0x28fb03?.['dataset']??{},_0x25b44e=_0x28fb03?.['dbtableConfig']??_0x28fb03?.[_0x5907be(0x222)]??{};return optionalTrim(_0x25b44e[_0x5907be(0x238)]??_0x3645ea[_0x5907be(0x238)]);}function a69_0x50e3(_0xde431a,_0x1a05c4){_0xde431a=_0xde431a-0x1b9;const _0x26fabb=a69_0x26fa();let _0x50e34d=_0x26fabb[_0xde431a];return _0x50e34d;}function normalizeReadbackCardinality(_0x55d28a){const _0x171825=a69_0x1c8eee,_0x3952cf=optionalTrim(_0x55d28a)?.[_0x171825(0x235)]();if(!_0x3952cf)return undefined;return CARDINALITIES['includes'](_0x3952cf)?_0x3952cf:undefined;}function sourceTypeOfDatasetItem(_0x419b5b){const _0x21b078=a69_0x1c8eee,_0x7d0dba=optionalTrim(_0x419b5b[_0x21b078(0x23c)])?.[_0x21b078(0x235)]();if(_0x7d0dba===_0x21b078(0x220)||_0x7d0dba===_0x21b078(0x1fa))return _0x7d0dba;return tableNameOfDatasetItem(_0x419b5b)?_0x21b078(0x220):_0x21b078(0x1fa);}function datasetCodeOfDatasetItem(_0x490079){const _0x5f0e28=a69_0x1c8eee;return optionalTrim(_0x490079[_0x5f0e28(0x1ca)]??_0x490079[_0x5f0e28(0x214)]??_0x490079['datasetCode']);}function tableNameOfDatasetItem(_0x1eaa02){const _0x496f3f=a69_0x1c8eee;return optionalTrim(_0x1eaa02[_0x496f3f(0x1d5)]?.[_0x496f3f(0x238)]??_0x1eaa02[_0x496f3f(0x238)]??_0x1eaa02[_0x496f3f(0x21c)]?.[_0x496f3f(0x238)]);}function dbIdOfDatasetItem(_0x49a391){const _0xfe69cc=a69_0x1c8eee,_0x844891=_0x49a391[_0xfe69cc(0x1d5)]?.[_0xfe69cc(0x1d8)]??_0x49a391[_0xfe69cc(0x1d8)]??_0x49a391['db']?.['id'];if(typeof _0x844891==='number'&&Number[_0xfe69cc(0x1fc)](_0x844891))return _0x844891;if(typeof _0x844891===_0xfe69cc(0x1f7)&&_0x844891[_0xfe69cc(0x1e2)]()&&Number[_0xfe69cc(0x1fc)](Number(_0x844891)))return Number(_0x844891);return null;}export function buildMutationData(_0xdb7d57){const _0x4ee6cb=a69_0x1c8eee,_0x5f2330=_0xdb7d57['after']!==undefined?_0xdb7d57[_0x4ee6cb(0x1cc)]:_0xdb7d57['operation']===_0x4ee6cb(0x211)?null:{'from':endpointForOutput(_0xdb7d57[_0x4ee6cb(0x1e3)][_0x4ee6cb(0x20a)]),'to':endpointForOutput(_0xdb7d57[_0x4ee6cb(0x1e3)]['to']),'cardinality':_0xdb7d57[_0x4ee6cb(0x1e3)][_0x4ee6cb(0x22d)]};return{'operation':_0xdb7d57[_0x4ee6cb(0x1e7)],'appCode':_0xdb7d57[_0x4ee6cb(0x1fd)],'selector':buildRelationSelector(_0xdb7d57['input']),'db':_0xdb7d57['db']?{'id':_0xdb7d57['db'][_0x4ee6cb(0x1d8)],'name':_0xdb7d57['db'][_0x4ee6cb(0x1d2)]}:null,'before':_0xdb7d57['before'],'after':_0x5f2330,'dryRun':_0xdb7d57[_0x4ee6cb(0x216)],'backend':{'method':'POST','path':_0xdb7d57['backendPath'],'dblinkId':_0xdb7d57['db']?.[_0x4ee6cb(0x1d8)]??null},..._0xdb7d57[_0x4ee6cb(0x1f8)]?{'verification':_0xdb7d57[_0x4ee6cb(0x1f8)]}:{},'warnings':_0xdb7d57[_0x4ee6cb(0x23b)]??[],..._0xdb7d57[_0x4ee6cb(0x20f)]?{'suggestedExpectFlags':_0xdb7d57[_0x4ee6cb(0x20f)]}:{}};}export function buildDryRunPreview(_0x1920ab){const _0x123011=a69_0x1c8eee;return{'operation':_0x1920ab[_0x123011(0x1e7)],'appCode':_0x1920ab[_0x123011(0x1fd)],'dbId':_0x1920ab['db']['dbId'],'dbName':_0x1920ab['db'][_0x123011(0x1d2)],'method':_0x123011(0x215),'url':_0x1920ab['backendPath'],'body':{'appCode':_0x1920ab['appCode'],'dblinkId':_0x1920ab['db'][_0x123011(0x1d8)],'relation':relationToBackend(_0x1920ab[_0x123011(0x1e3)])},'description':_0x123011(0x231)+_0x1920ab[_0x123011(0x1e7)]+_0x123011(0x1f5)+formatRelationSelector(_0x1920ab[_0x123011(0x1e3)])};}export function buildRelationSelector(_0x4c17d1){const _0x503029=a69_0x1c8eee;return{'fromSource':_0x4c17d1['from'][_0x503029(0x23c)],'toSource':_0x4c17d1['to'][_0x503029(0x23c)],..._0x4c17d1['from']['table']?{'fromTable':_0x4c17d1[_0x503029(0x20a)]['table']}:{},..._0x4c17d1[_0x503029(0x20a)][_0x503029(0x1ca)]?{'fromCode':_0x4c17d1['from']['code']}:{},'fromColumn':_0x4c17d1[_0x503029(0x20a)]['column'],..._0x4c17d1['to'][_0x503029(0x1be)]?{'toTable':_0x4c17d1['to']['table']}:{},..._0x4c17d1['to'][_0x503029(0x1ca)]?{'toCode':_0x4c17d1['to'][_0x503029(0x1ca)]}:{},'toColumn':_0x4c17d1['to'][_0x503029(0x207)]};}export function isMetadataInvolved(_0x21a783){const _0x55152c=a69_0x1c8eee;return _0x21a783[_0x55152c(0x20a)]['source']==='METADATA'||_0x21a783['to'][_0x55152c(0x23c)]===_0x55152c(0x1fa);}function endpointForOutput(_0x15a3da){const _0x5af2a5=a69_0x1c8eee;return{..._0x15a3da[_0x5af2a5(0x1be)]?{'table':_0x15a3da[_0x5af2a5(0x1be)]}:{},..._0x15a3da['code']?{'code':_0x15a3da[_0x5af2a5(0x1ca)]}:{},'column':_0x15a3da[_0x5af2a5(0x207)],..._0x15a3da[_0x5af2a5(0x212)]?{'labelColumn':_0x15a3da[_0x5af2a5(0x212)]}:{}};}function matchesFromDataset(_0x33430b,_0x31b622){const _0x14349f=a69_0x1c8eee;if(_0x31b622[_0x14349f(0x20a)]['source']===_0x14349f(0x1fa))return sourceTypeOf(_0x33430b)==='METADATA'&&sameName(_0x33430b[_0x14349f(0x1d4)],_0x31b622[_0x14349f(0x20a)][_0x14349f(0x1ca)]);return sourceTypeOf(_0x33430b)===_0x14349f(0x220)&&sameName(_0x33430b['tableName'],_0x31b622[_0x14349f(0x20a)][_0x14349f(0x1be)]);}function matchesToDataset(_0x12762c,_0x5015bf,_0x4edb97){const _0x5bc772=a69_0x1c8eee;if(_0x4edb97['to']['source']===_0x5bc772(0x1fa))return sameName(_0x5015bf,_0x4edb97['to'][_0x5bc772(0x1ca)]);return Boolean(_0x12762c)&&sourceTypeOf(_0x12762c)==='DB_TABLE'&&sameName(_0x12762c[_0x5bc772(0x238)],_0x4edb97['to'][_0x5bc772(0x1be)]);}function sourceTypeOf(_0x5bfa82){const _0x18ebc1=a69_0x1c8eee;return _0x5bfa82[_0x18ebc1(0x1ea)]==='METADATA'?_0x18ebc1(0x1fa):_0x18ebc1(0x220);}function readSource(_0x375e36,_0x2eb5bd,_0x503105){const _0x39bc69=a69_0x1c8eee,_0x5c7560=optionalTrim(_0x375e36)?.[_0x39bc69(0x235)]();if(!_0x5c7560)return _0x2eb5bd;if(!SOURCE_TYPES[_0x39bc69(0x1bf)](_0x5c7560))throw CliErrors[_0x39bc69(0x200)](_0x39bc69(0x206)+_0x503105+':\x20'+_0x375e36,_0x39bc69(0x240)+SOURCE_TYPES[_0x39bc69(0x208)](',\x20'));return _0x5c7560;}function rejectIfPresent(_0x29d1ee,_0x49038b,_0x584ee7){const _0x5ca722=a69_0x1c8eee;if(optionalTrim(_0x29d1ee))throw CliErrors[_0x5ca722(0x200)](_0x49038b+_0x5ca722(0x21b)+_0x584ee7+'.');}function requiredTrim(_0x3bcdf7,_0x2c1d99){const _0x2f8bb2=a69_0x1c8eee,_0x9e450d=_0x3bcdf7[_0x2f8bb2(0x1e2)]();if(!_0x9e450d)throw CliErrors[_0x2f8bb2(0x200)](_0x2c1d99+_0x2f8bb2(0x1ff));return _0x9e450d;}function optionalTrim(_0x33205a){const _0x1c5c6c=a69_0x1c8eee;if(typeof _0x33205a!==_0x1c5c6c(0x1f7))return _0x33205a==null?undefined:String(_0x33205a)[_0x1c5c6c(0x1e2)]()||undefined;const _0x47e46e=_0x33205a[_0x1c5c6c(0x1e2)]();return _0x47e46e||undefined;}function normalizeCardinality(_0x5afb1b){const _0x589591=a69_0x1c8eee,_0xc31844=requiredTrim(_0x5afb1b,'--cardinality')[_0x589591(0x235)]();if(!CARDINALITIES['includes'](_0xc31844))throw CliErrors['validation']('Invalid\x20--cardinality:\x20'+_0x5afb1b,_0x589591(0x240)+CARDINALITIES['join'](',\x20'));return _0xc31844;}export function formatRelationSelector(_0x4b72e6){const _0x1cd29e=a69_0x1c8eee;return formatEndpoint(_0x4b72e6[_0x1cd29e(0x20a)])+_0x1cd29e(0x20d)+formatEndpoint(_0x4b72e6['to']);}function formatEndpoint(_0x3da970){const _0x265a25=a69_0x1c8eee,_0xdccfa8=_0x3da970[_0x265a25(0x23c)]===_0x265a25(0x1fa)?_0x3da970[_0x265a25(0x1ca)]:_0x3da970[_0x265a25(0x1be)];return _0xdccfa8+'.'+_0x3da970[_0x265a25(0x207)];}function sameName(_0x44ce2c,_0x1bc065){const _0xb4423a=a69_0x1c8eee;return(_0x44ce2c??'')[_0xb4423a(0x1e2)]()['toLowerCase']()===(_0x1bc065??'')[_0xb4423a(0x1e2)]()[_0xb4423a(0x236)]();}function collectRelationMismatches(_0x77fea6,_0x4a4a72){const _0x2379d2=a69_0x1c8eee,_0x171274=[];if(_0x77fea6['to'][_0x2379d2(0x212)]){if(!_0x4a4a72['to']['labelColumn'])_0x171274['push']('to-label-column\x20is\x20unknown,\x20expected\x20'+_0x77fea6['to']['labelColumn']);else!sameName(_0x4a4a72['to'][_0x2379d2(0x212)],_0x77fea6['to'][_0x2379d2(0x212)])&&_0x171274['push'](_0x2379d2(0x1f3)+_0x4a4a72['to']['labelColumn']+_0x2379d2(0x1bb)+_0x77fea6['to'][_0x2379d2(0x212)]);}return _0x77fea6[_0x2379d2(0x22d)]&&_0x4a4a72[_0x2379d2(0x22d)]&&!sameName(_0x4a4a72['cardinality'],_0x77fea6[_0x2379d2(0x22d)])&&_0x171274[_0x2379d2(0x1cf)](_0x2379d2(0x1ec)+(_0x4a4a72[_0x2379d2(0x22d)]??'(unknown)')+_0x2379d2(0x1bb)+_0x77fea6['cardinality']),_0x171274;}function throwRelationVerificationError(_0x4fef81,_0x21e3c8,_0xc21ebc){const _0x551812=a69_0x1c8eee;throw CliErrors[_0x551812(0x200)]('relation_write_not_verified:\x20'+_0x4fef81+'\x20'+formatRelationSelector(_0x21e3c8),_0x551812(0x1c1)+_0xc21ebc[_0x551812(0x208)](';\x20')+'.');}
|
|
1
|
+
const a71_0x3a215b=a71_0xb75a;(function(_0x1b53dd,_0x42367b){const _0x52a27a=a71_0xb75a,_0x44102a=_0x1b53dd();while(!![]){try{const _0x267433=parseInt(_0x52a27a(0x13b))/0x1*(-parseInt(_0x52a27a(0x11c))/0x2)+parseInt(_0x52a27a(0xf7))/0x3*(-parseInt(_0x52a27a(0x13e))/0x4)+parseInt(_0x52a27a(0xf8))/0x5+parseInt(_0x52a27a(0xd6))/0x6+parseInt(_0x52a27a(0x130))/0x7+parseInt(_0x52a27a(0x112))/0x8+-parseInt(_0x52a27a(0x142))/0x9;if(_0x267433===_0x42367b)break;else _0x44102a['push'](_0x44102a['shift']());}catch(_0xe27869){_0x44102a['push'](_0x44102a['shift']());}}}(a71_0x35cc,0xafb91));import{getDatasetDetail,getErConfig,listDatasets}from'../../core/api-client.js';import{resolveOneDb}from'../../core/db-resolver.js';import{CliErrors}from'../../errors.js';export const CARDINALITIES=[a71_0x3a215b(0x10c),a71_0x3a215b(0x121),a71_0x3a215b(0xcc),a71_0x3a215b(0x11b)];const SOURCE_TYPES=[a71_0x3a215b(0xc7),'METADATA'];export const DB_FLAG={'name':'db','type':a71_0x3a215b(0x132),'required':!![],'description':'Database\x20name\x20or\x20dblink\x20ID\x20for\x20DB_TABLE\x20relation\x20mutations'};export const DB_FLAG_OPTIONAL={...DB_FLAG,'required':![],'description':a71_0x3a215b(0x101)};export const FROM_SOURCE_FLAG={'name':a71_0x3a215b(0x105),'type':'string','required':![],'enum':[...SOURCE_TYPES],'default':a71_0x3a215b(0xc7),'description':'Source\x20endpoint\x20type.\x20Defaults\x20to\x20DB_TABLE;\x20DB_TABLE\x20uses\x20--db/--from-table,\x20METADATA\x20uses\x20--from-code.'};export const TO_SOURCE_FLAG={'name':'to-source','type':a71_0x3a215b(0x132),'required':![],'enum':[...SOURCE_TYPES],'description':a71_0x3a215b(0xe8)};export const FROM_TABLE_FLAG={'name':a71_0x3a215b(0x14a),'type':a71_0x3a215b(0x132),'required':!![],'description':a71_0x3a215b(0xf5)};export const FROM_TABLE_FLAG_OPTIONAL={...FROM_TABLE_FLAG,'required':![],'description':'Source\x20table\x20name.\x20Required\x20when\x20--from-source\x20DB_TABLE;\x20forbidden\x20when\x20--from-source\x20METADATA.'};function a71_0xb75a(_0x30cc0d,_0x50a216){_0x30cc0d=_0x30cc0d-0xc6;const _0x35cce1=a71_0x35cc();let _0xb75a49=_0x35cce1[_0x30cc0d];return _0xb75a49;}export const FROM_CODE_FLAG={'name':a71_0x3a215b(0x104),'type':a71_0x3a215b(0x132),'required':![],'description':a71_0x3a215b(0x11f)};export const FROM_COLUMN_FLAG={'name':'from-column','type':'string','required':!![],'description':a71_0x3a215b(0x140)};export const TO_TABLE_FLAG={'name':a71_0x3a215b(0x138),'type':'string','required':!![],'description':a71_0x3a215b(0xff)};export const TO_TABLE_FLAG_OPTIONAL={...TO_TABLE_FLAG,'required':![],'description':a71_0x3a215b(0x106)};export const TO_CODE_FLAG={'name':'to-code','type':'string','required':![],'description':a71_0x3a215b(0xe9)};export const TO_COLUMN_FLAG={'name':a71_0x3a215b(0x12b),'type':a71_0x3a215b(0x132),'required':!![],'description':a71_0x3a215b(0xd5)};export const TO_LABEL_COLUMN_FLAG={'name':a71_0x3a215b(0x13f),'type':a71_0x3a215b(0x132),'required':!![],'description':a71_0x3a215b(0xea)};export const TO_LABEL_COLUMN_FLAG_OPTIONAL={...TO_LABEL_COLUMN_FLAG,'required':![],'description':a71_0x3a215b(0xcd)};export const EXPECT_TO_LABEL_COLUMN_FLAG={'name':a71_0x3a215b(0x11e),'type':'string','required':![],'description':a71_0x3a215b(0x131)};export const CARDINALITY_FLAG={'name':a71_0x3a215b(0x119),'type':a71_0x3a215b(0x132),'required':!![],'enum':[...CARDINALITIES],'description':a71_0x3a215b(0x10b)};export const CARDINALITY_FLAG_OPTIONAL={...CARDINALITY_FLAG,'required':![],'description':a71_0x3a215b(0xe5)};export function readRelationInput(_0x3ec5d7,_0x1e3d49){const _0x17b0cb=a71_0x3a215b,_0x3b7461=readSource(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x105)),_0x17b0cb(0xc7),_0x17b0cb(0x133)),_0x51100b=readSource(_0x3ec5d7['str'](_0x17b0cb(0x12c)),_0x3b7461,_0x17b0cb(0xfd));if(_0x3b7461===_0x17b0cb(0xf1)&&_0x51100b===_0x17b0cb(0xc7))throw CliErrors[_0x17b0cb(0x134)](_0x17b0cb(0xcf));const _0x50b999={'source':_0x3b7461,'column':requiredTrim(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x125)),_0x17b0cb(0x11d))};_0x3b7461===_0x17b0cb(0xc7)?(requiredTrim(_0x3ec5d7[_0x17b0cb(0x129)]('db'),_0x17b0cb(0x102)),rejectIfPresent(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x104)),'--from-code','--from-source\x20DB_TABLE'),_0x50b999['table']=requiredTrim(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x14a)),_0x17b0cb(0xeb))):(rejectIfPresent(_0x3ec5d7[_0x17b0cb(0x129)]('db'),_0x17b0cb(0x102),_0x17b0cb(0x13c)),rejectIfPresent(_0x3ec5d7[_0x17b0cb(0x129)]('from-table'),_0x17b0cb(0xeb),_0x17b0cb(0x13c)),_0x50b999[_0x17b0cb(0xe1)]=requiredTrim(_0x3ec5d7[_0x17b0cb(0x129)]('from-code'),_0x17b0cb(0x10e)));const _0x507b8f={'source':_0x51100b,'column':requiredTrim(_0x3ec5d7['str'](_0x17b0cb(0x12b)),_0x17b0cb(0xcb))};_0x51100b===_0x17b0cb(0xc7)?(rejectIfPresent(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x120)),_0x17b0cb(0xe3),_0x17b0cb(0xf2)),_0x507b8f[_0x17b0cb(0x103)]=requiredTrim(_0x3ec5d7[_0x17b0cb(0x129)]('to-table'),_0x17b0cb(0x12e))):(rejectIfPresent(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x138)),'--to-table','--to-source\x20METADATA'),_0x507b8f[_0x17b0cb(0xe1)]=requiredTrim(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x120)),'--to-code'));const _0x16ff9e={'from':_0x50b999,'to':_0x507b8f};if(_0x1e3d49?.['includeLabelAndCardinality']){const _0xc1c27c=optionalTrim(_0x3ec5d7['str'](_0x17b0cb(0x13f)));if(_0xc1c27c)_0x16ff9e['to'][_0x17b0cb(0x135)]=_0xc1c27c;const _0x54d6e4=optionalTrim(_0x3ec5d7[_0x17b0cb(0x129)]('cardinality'));if(isMetadataInvolved(_0x16ff9e)){if(_0x54d6e4)throw CliErrors[_0x17b0cb(0x134)]('--cardinality\x20is\x20only\x20supported\x20for\x20DB_TABLE\x20->\x20DB_TABLE\x20relations.','Relations\x20involving\x20METADATA\x20datasets\x20are\x20normalized\x20to\x20ONE_TO_MANY\x20by\x20the\x20backend,\x20so\x20CLI\x20rejects\x20the\x20parameter\x20instead\x20of\x20sending\x20a\x20value\x20that\x20would\x20be\x20overwritten\x20by\x20backend\x20normalization.');if(!_0xc1c27c)throw CliErrors['validation'](_0x17b0cb(0xd8),'Relations\x20involving\x20METADATA\x20datasets\x20require\x20an\x20explicit\x20target\x20display\x20field\x20update;\x20provide\x20--to-label-column\x20to\x20avoid\x20a\x20no-op\x20update.');}else _0x16ff9e['to'][_0x17b0cb(0x135)]=requiredTrim(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x13f)),_0x17b0cb(0xfc)),_0x16ff9e[_0x17b0cb(0x119)]=normalizeCardinality(_0x3ec5d7[_0x17b0cb(0x129)](_0x17b0cb(0x119)));}return _0x16ff9e;}export function relationToBackend(_0x1c5858){const _0x12baed=a71_0x3a215b,_0x1d411a={'columnName':_0x1c5858[_0x12baed(0xe2)][_0x12baed(0x10f)],'refColumnName':_0x1c5858['to'][_0x12baed(0x10f)],..._0x1c5858['to'][_0x12baed(0x135)]?{'refTableLabelName':_0x1c5858['to']['labelColumn']}:{},..._0x1c5858[_0x12baed(0x119)]?{'cardinality':_0x1c5858[_0x12baed(0x119)]}:{}};return _0x1c5858[_0x12baed(0xe2)][_0x12baed(0x100)]==='DB_TABLE'?_0x1d411a[_0x12baed(0x148)]=_0x1c5858[_0x12baed(0xe2)][_0x12baed(0x103)]:_0x1d411a['fromDatasetCode']=_0x1c5858['from']['code'],_0x1c5858['to'][_0x12baed(0x100)]===_0x12baed(0xc7)?_0x1d411a[_0x12baed(0x141)]=_0x1c5858['to']['table']:_0x1d411a[_0x12baed(0xd2)]=_0x1c5858['to'][_0x12baed(0xe1)],isMetadataInvolved(_0x1c5858)&&(_0x1d411a['fromSourceType']=_0x1c5858['from'][_0x12baed(0x100)],_0x1d411a[_0x12baed(0xf9)]=_0x1c5858['to'][_0x12baed(0x100)]),_0x1d411a;}export async function resolveRequiredDb(_0x30dd15,_0x59d015){const _0x4df483=a71_0x3a215b,{db:_0x486316,error:_0x31ae92}=await resolveOneDb(_0x30dd15,_0x59d015[_0x4df483(0x117)]());if(_0x31ae92||!_0x486316)throw CliErrors[_0x4df483(0x134)](_0x31ae92||_0x4df483(0x145));return _0x486316;}export async function resolveDbForInput(_0x29ec5c,_0x279096,_0x4a268f){const _0xe649af=a71_0x3a215b;if(_0x279096[_0xe649af(0xe2)][_0xe649af(0x100)]===_0xe649af(0xf1))return null;return resolveRequiredDb(_0x29ec5c,_0x4a268f);}export async function findExistingRelation(_0x1b5e3e,_0x4bc3c4,_0x620c73){const _0x1447d3=a71_0x3a215b;return(await loadRelationContext(_0x1b5e3e,_0x4bc3c4,_0x620c73))[_0x1447d3(0xdb)];}export async function loadRelationContext(_0x55ef4c,_0x406701,_0x2448c8){const _0x4c1c74=await loadRelationContextFromDatasetFacts(_0x55ef4c,_0x406701,_0x2448c8);if(_0x4c1c74)return _0x4c1c74;const _0x4ddae9=await getErConfig(_0x55ef4c,_0x406701);return{'existing':findRelationInConfig(_0x4ddae9,_0x2448c8),'readbackHint':findRelationReadbackHintInConfig(_0x4ddae9,_0x2448c8)};}async function loadRelationContextFromDatasetFacts(_0x2ae9f0,_0x116bde,_0x1273f0){const _0x5d3fc4=a71_0x3a215b,_0x27f837=await listDatasets(_0x2ae9f0);if(!Array['isArray'](_0x27f837))return null;const _0x3b8a0b=findEndpointDatasetItem(_0x27f837,_0x1273f0[_0x5d3fc4(0xe2)],_0x116bde),_0x53fb76=findEndpointDatasetItem(_0x27f837,_0x1273f0['to'],_0x116bde);if(!_0x3b8a0b||!_0x53fb76)return null;const _0x9ab779=buildRelationReadbackHintFromDatasetItems(_0x3b8a0b,_0x53fb76,_0x1273f0);return{'existing':await readRelationFromDatasetDetail(_0x1273f0,_0x9ab779),'readbackHint':_0x9ab779};}export async function verifyRelationMutation(_0x5cbb8b){const _0x16ff13=a71_0x3a215b,_0x1edf23=await readRelationFromDatasetDetail(_0x5cbb8b[_0x16ff13(0xd1)],_0x5cbb8b[_0x16ff13(0xc6)]??_0x5cbb8b[_0x16ff13(0xd3)]??null);if(_0x5cbb8b[_0x16ff13(0xc9)]===_0x16ff13(0xe6))return _0x1edf23&&throwRelationVerificationError(_0x5cbb8b[_0x16ff13(0xc9)],_0x5cbb8b[_0x16ff13(0xd1)],[_0x16ff13(0xef)]),{'verified':!![],'status':_0x16ff13(0xc8),'afterReadback':null};!_0x1edf23&&throwRelationVerificationError(_0x5cbb8b[_0x16ff13(0xc9)],_0x5cbb8b[_0x16ff13(0xd1)],[_0x16ff13(0x143)]);const _0x5417a3=collectRelationMismatches(_0x5cbb8b['input'],_0x1edf23);return _0x5417a3['length']>0x0&&throwRelationVerificationError(_0x5cbb8b[_0x16ff13(0xc9)],_0x5cbb8b[_0x16ff13(0xd1)],_0x5417a3),{'verified':!![],'status':_0x16ff13(0xc8),'afterReadback':_0x1edf23};}export function findRelationInConfig(_0x432c8a,_0x3358f5){const _0x1ad857=a71_0x3a215b,_0x3adb16=new Map((_0x432c8a[_0x1ad857(0x137)]??[])[_0x1ad857(0xf3)](_0x5b7cd2=>[_0x5b7cd2[_0x1ad857(0x13a)],_0x5b7cd2]));for(const _0x4b1e9b of _0x432c8a['datasets']??[]){if(!matchesFromDataset(_0x4b1e9b,_0x3358f5))continue;for(const _0x6e44a9 of _0x4b1e9b[_0x1ad857(0x13d)]??[]){const _0x168ca8=_0x3adb16[_0x1ad857(0x10d)](_0x6e44a9[_0x1ad857(0xde)]);if(!matchesToDataset(_0x168ca8,_0x6e44a9[_0x1ad857(0xde)],_0x3358f5))continue;if(sameName(_0x6e44a9[_0x1ad857(0xda)],_0x3358f5[_0x1ad857(0xe2)][_0x1ad857(0x10f)])&&sameName(_0x6e44a9[_0x1ad857(0xdd)],_0x3358f5['to']['column']))return{'from':{..._0x4b1e9b[_0x1ad857(0x148)]?{'table':_0x4b1e9b[_0x1ad857(0x148)]}:{},..._0x3358f5[_0x1ad857(0xe2)][_0x1ad857(0x100)]===_0x1ad857(0xf1)&&_0x4b1e9b[_0x1ad857(0x13a)]?{'code':_0x4b1e9b[_0x1ad857(0x13a)]}:{},..._0x4b1e9b[_0x1ad857(0x13a)]?{'datasetCode':_0x4b1e9b[_0x1ad857(0x13a)]}:{},..._0x4b1e9b[_0x1ad857(0xd7)]?{'datasetName':_0x4b1e9b['datasetName']}:{},'column':_0x6e44a9[_0x1ad857(0xda)]},'to':{..._0x168ca8?.[_0x1ad857(0x148)]?{'table':_0x168ca8[_0x1ad857(0x148)]}:{},..._0x3358f5['to'][_0x1ad857(0x100)]===_0x1ad857(0xf1)&&_0x6e44a9['toDataset']?{'code':_0x6e44a9[_0x1ad857(0xde)]}:{},..._0x6e44a9['toDataset']?{'datasetCode':_0x6e44a9['toDataset']}:{},..._0x6e44a9[_0x1ad857(0x136)]?{'datasetName':_0x6e44a9[_0x1ad857(0x136)]}:{},'column':_0x6e44a9[_0x1ad857(0xdd)]},'cardinality':_0x6e44a9['joinType']||undefined,'condition':_0x6e44a9[_0x1ad857(0x146)]??null};}}return null;}function findRelationReadbackHintInConfig(_0x120666,_0x3d0e7c){const _0x237e84=a71_0x3a215b,_0x3e4ee8=(_0x120666['datasets']??[])[_0x237e84(0xf6)](_0x3e7082=>matchesFromDataset(_0x3e7082,_0x3d0e7c));if(!_0x3e4ee8)return null;const _0x1d422a=(_0x120666['datasets']??[])[_0x237e84(0xf6)](_0x23c159=>{const _0x572c30=_0x237e84;if(_0x3d0e7c['to'][_0x572c30(0x100)]==='METADATA')return sameName(_0x23c159[_0x572c30(0x13a)],_0x3d0e7c['to'][_0x572c30(0xe1)]);return sourceTypeOf(_0x23c159)===_0x572c30(0xc7)&&sameName(_0x23c159['tableName'],_0x3d0e7c['to'][_0x572c30(0x103)]);});if(!_0x1d422a)return null;return{'from':{..._0x3e4ee8[_0x237e84(0x148)]?{'table':_0x3e4ee8[_0x237e84(0x148)]}:{},..._0x3d0e7c[_0x237e84(0xe2)][_0x237e84(0x100)]===_0x237e84(0xf1)&&_0x3e4ee8[_0x237e84(0x13a)]?{'code':_0x3e4ee8[_0x237e84(0x13a)]}:{},..._0x3e4ee8['datasetCode']?{'datasetCode':_0x3e4ee8[_0x237e84(0x13a)]}:{},..._0x3e4ee8['datasetName']?{'datasetName':_0x3e4ee8[_0x237e84(0xd7)]}:{},'column':_0x3d0e7c[_0x237e84(0xe2)][_0x237e84(0x10f)]},'to':{..._0x1d422a[_0x237e84(0x148)]?{'table':_0x1d422a['tableName']}:{},..._0x3d0e7c['to']['source']==='METADATA'&&_0x1d422a[_0x237e84(0x13a)]?{'code':_0x1d422a[_0x237e84(0x13a)]}:{},..._0x1d422a['datasetCode']?{'datasetCode':_0x1d422a[_0x237e84(0x13a)]}:{},..._0x1d422a['datasetName']?{'datasetName':_0x1d422a['datasetName']}:{},'column':_0x3d0e7c['to'][_0x237e84(0x10f)],..._0x3d0e7c['to'][_0x237e84(0x135)]?{'labelColumn':_0x3d0e7c['to'][_0x237e84(0x135)]}:{}},..._0x3d0e7c[_0x237e84(0x119)]?{'cardinality':_0x3d0e7c[_0x237e84(0x119)]}:{},'condition':null};}function findEndpointDatasetItem(_0x2a095c,_0x284dd1,_0x3a314e){const _0x4d055d=a71_0x3a215b;if(_0x284dd1[_0x4d055d(0x100)]===_0x4d055d(0xf1))return _0x2a095c[_0x4d055d(0xf6)](_0x5509b7=>{const _0x2bf4b4=_0x4d055d;return sourceTypeOfDatasetItem(_0x5509b7)===_0x2bf4b4(0xf1)&&sameName(datasetCodeOfDatasetItem(_0x5509b7),_0x284dd1['code']);});const _0x18f676=_0x2a095c[_0x4d055d(0xfe)](_0x3bde88=>{const _0x1270be=_0x4d055d;if(sourceTypeOfDatasetItem(_0x3bde88)!==_0x1270be(0xc7))return![];if(!sameName(tableNameOfDatasetItem(_0x3bde88),_0x284dd1['table']))return![];const _0x1cc387=dbIdOfDatasetItem(_0x3bde88);return _0x3a314e==null||_0x1cc387==null||_0x1cc387===_0x3a314e;});return _0x18f676[0x0];}function buildRelationReadbackHintFromDatasetItems(_0x41027a,_0x343d38,_0x286efd){const _0x3af7cf=a71_0x3a215b,_0x5c16c4=datasetCodeOfDatasetItem(_0x41027a),_0xac3e48=datasetCodeOfDatasetItem(_0x343d38);return{'from':{...tableNameOfDatasetItem(_0x41027a)?{'table':tableNameOfDatasetItem(_0x41027a)}:{},..._0x286efd[_0x3af7cf(0xe2)][_0x3af7cf(0x100)]===_0x3af7cf(0xf1)&&_0x5c16c4?{'code':_0x5c16c4}:{},..._0x5c16c4?{'datasetCode':_0x5c16c4}:{},..._0x41027a[_0x3af7cf(0x110)]?{'datasetName':_0x41027a[_0x3af7cf(0x110)]}:{},'column':_0x286efd[_0x3af7cf(0xe2)]['column']},'to':{...tableNameOfDatasetItem(_0x343d38)?{'table':tableNameOfDatasetItem(_0x343d38)}:{},..._0x286efd['to'][_0x3af7cf(0x100)]==='METADATA'&&_0xac3e48?{'code':_0xac3e48}:{},..._0xac3e48?{'datasetCode':_0xac3e48}:{},..._0x343d38[_0x3af7cf(0x110)]?{'datasetName':_0x343d38[_0x3af7cf(0x110)]}:{},'column':_0x286efd['to'][_0x3af7cf(0x10f)],..._0x286efd['to'][_0x3af7cf(0x135)]?{'labelColumn':_0x286efd['to'][_0x3af7cf(0x135)]}:{}},..._0x286efd[_0x3af7cf(0x119)]?{'cardinality':_0x286efd[_0x3af7cf(0x119)]}:{},'condition':null};}export async function hydrateExistingRelationLabel(_0x2b1092,_0x213ee5,_0x7ddd36){const _0x2e12db=a71_0x3a215b;if(!isMetadataInvolved(_0x2b1092)&&!_0x7ddd36?.[_0x2e12db(0x126)])return _0x213ee5;if(_0x213ee5['to'][_0x2e12db(0x135)])return _0x213ee5;const _0x12a5bb=await readCurrentRelationLabel(_0x2b1092,_0x213ee5);if(!_0x12a5bb)return _0x213ee5;return{..._0x213ee5,'to':{..._0x213ee5['to'],'labelColumn':_0x12a5bb}};}export async function readCurrentRelationLabel(_0x3b8b54,_0x18c1f8){const _0x432894=a71_0x3a215b;return(await readRelationFromDatasetDetail(_0x3b8b54,_0x18c1f8))?.['to'][_0x432894(0x135)];}async function readRelationFromDatasetDetail(_0x5560ff,_0x52016e){const _0x14aaad=a71_0x3a215b,_0x5910b1=_0x52016e?.[_0x14aaad(0xe2)][_0x14aaad(0x13a)]??_0x52016e?.[_0x14aaad(0xe2)][_0x14aaad(0xe1)]??_0x5560ff['from']['code'];if(!_0x5910b1)return null;const _0x2bc8d1=await getDatasetDetail(_0x5910b1);return findRelationInDatasetDetail(_0x2bc8d1,_0x5560ff,_0x52016e);}function findRelationInDatasetDetail(_0x5ac079,_0x278061,_0x10fd43){const _0xe82ee5=a71_0x3a215b,_0x585b3b=Array[_0xe82ee5(0x12f)](_0x5ac079?.[_0xe82ee5(0x13d)])?_0x5ac079[_0xe82ee5(0x13d)]:[],_0x30a805=_0x10fd43?.['to'][_0xe82ee5(0x13a)]??_0x10fd43?.['to'][_0xe82ee5(0xe1)]??_0x278061['to']['code'],_0x5b821f=_0x10fd43?.['to']['table']??_0x278061['to'][_0xe82ee5(0x103)],_0x2f512e=readDatasetCodeFromDetail(_0x5ac079)??_0x10fd43?.['from'][_0xe82ee5(0x13a)]??_0x278061[_0xe82ee5(0xe2)]['code'],_0x3386f4=readDatasetNameFromDetail(_0x5ac079)??_0x10fd43?.[_0xe82ee5(0xe2)][_0xe82ee5(0xd7)],_0x5ae1fb=readDatasetTableFromDetail(_0x5ac079)??_0x10fd43?.['from'][_0xe82ee5(0x103)]??_0x278061[_0xe82ee5(0xe2)][_0xe82ee5(0x103)];for(const _0x2cc917 of _0x585b3b){const _0x4cbe60=optionalTrim(_0x2cc917[_0xe82ee5(0xda)]??_0x2cc917[_0xe82ee5(0xd9)]??_0x2cc917['field']),_0x26ad4b=optionalTrim(_0x2cc917[_0xe82ee5(0xdd)]??_0x2cc917[_0xe82ee5(0x116)]??_0x2cc917[_0xe82ee5(0xf0)]),_0x4e7e41=optionalTrim(_0x2cc917[_0xe82ee5(0xd2)]??_0x2cc917[_0xe82ee5(0x11a)]??_0x2cc917[_0xe82ee5(0xde)]??_0x2cc917['targetDatasetCode']),_0x1f3d66=optionalTrim(_0x2cc917[_0xe82ee5(0xe0)]??_0x2cc917[_0xe82ee5(0xe7)]??_0x2cc917[_0xe82ee5(0x141)]);if(sameName(_0x4cbe60,_0x278061[_0xe82ee5(0xe2)][_0xe82ee5(0x10f)])&&sameName(_0x26ad4b,_0x278061['to'][_0xe82ee5(0x10f)])&&matchesReadbackTarget(_0x4e7e41,_0x1f3d66,_0x30a805,_0x5b821f)){const _0x4b2ec4=_0x4e7e41??_0x10fd43?.['to']['datasetCode']??_0x278061['to'][_0xe82ee5(0xe1)],_0x5a046e=_0x1f3d66??_0x10fd43?.['to'][_0xe82ee5(0x103)]??_0x278061['to']['table'],_0x49eac5=optionalTrim(_0x2cc917[_0xe82ee5(0x136)]??_0x2cc917[_0xe82ee5(0x128)])??_0x10fd43?.['to'][_0xe82ee5(0xd7)],_0x4b698f=optionalTrim(_0x2cc917['toFieldLabel']??_0x2cc917['labelField']??_0x2cc917['refTableLabelName'])??_0x278061['to'][_0xe82ee5(0x10f)],_0x93232c=normalizeReadbackCardinality(_0x2cc917['joinType']??_0x2cc917[_0xe82ee5(0x119)]??_0x2cc917[_0xe82ee5(0x118)]?.['cardinality']);return{'from':{..._0x5ae1fb?{'table':_0x5ae1fb}:{},..._0x278061['from'][_0xe82ee5(0x100)]===_0xe82ee5(0xf1)&&_0x2f512e?{'code':_0x2f512e}:{},..._0x2f512e?{'datasetCode':_0x2f512e}:{},..._0x3386f4?{'datasetName':_0x3386f4}:{},'column':_0x4cbe60??_0x278061[_0xe82ee5(0xe2)]['column']},'to':{..._0x5a046e?{'table':_0x5a046e}:{},..._0x278061['to'][_0xe82ee5(0x100)]===_0xe82ee5(0xf1)&&_0x4b2ec4?{'code':_0x4b2ec4}:{},..._0x4b2ec4?{'datasetCode':_0x4b2ec4}:{},..._0x49eac5?{'datasetName':_0x49eac5}:{},'column':_0x26ad4b??_0x278061['to'][_0xe82ee5(0x10f)],'labelColumn':_0x4b698f},..._0x93232c?{'cardinality':_0x93232c}:{},'condition':_0x2cc917[_0xe82ee5(0x146)]??_0x10fd43?.[_0xe82ee5(0x146)]??null};}}return null;}function matchesReadbackTarget(_0x31b5e1,_0x417819,_0xd76586,_0x238ff0){if(_0xd76586&&_0x31b5e1)return sameName(_0x31b5e1,_0xd76586);if(_0x238ff0&&_0x417819)return sameName(_0x417819,_0x238ff0);return![];}function readDatasetCodeFromDetail(_0x596b28){const _0x18b663=a71_0x3a215b;return optionalTrim(_0x596b28?.[_0x18b663(0xce)]??_0x596b28?.[_0x18b663(0xe1)]??_0x596b28?.[_0x18b663(0x13a)]);}function readDatasetNameFromDetail(_0x7b0bb5){const _0x240c3e=a71_0x3a215b,_0x4f275b=_0x7b0bb5?.[_0x240c3e(0xed)]??{};return optionalTrim(_0x7b0bb5?.['name']??_0x4f275b[_0x240c3e(0xd7)]);}function readDatasetTableFromDetail(_0x5e70bd){const _0x1911b7=a71_0x3a215b,_0x36d386=_0x5e70bd?.[_0x1911b7(0xed)]??{},_0x23515c=_0x5e70bd?.[_0x1911b7(0x113)]??_0x5e70bd?.[_0x1911b7(0xdf)]??{};return optionalTrim(_0x23515c['tableName']??_0x36d386['tableName']);}function normalizeReadbackCardinality(_0x567833){const _0x1f65f8=a71_0x3a215b,_0x4f99ca=optionalTrim(_0x567833)?.[_0x1f65f8(0x12d)]();if(!_0x4f99ca)return undefined;return CARDINALITIES[_0x1f65f8(0x139)](_0x4f99ca)?_0x4f99ca:undefined;}function sourceTypeOfDatasetItem(_0x481852){const _0xf8f1d5=a71_0x3a215b,_0x5ac9dc=optionalTrim(_0x481852[_0xf8f1d5(0x100)])?.[_0xf8f1d5(0x12d)]();if(_0x5ac9dc===_0xf8f1d5(0xc7)||_0x5ac9dc==='METADATA')return _0x5ac9dc;return tableNameOfDatasetItem(_0x481852)?_0xf8f1d5(0xc7):_0xf8f1d5(0xf1);}function datasetCodeOfDatasetItem(_0x2bfed8){const _0x516063=a71_0x3a215b;return optionalTrim(_0x2bfed8[_0x516063(0xe1)]??_0x2bfed8[_0x516063(0xce)]??_0x2bfed8[_0x516063(0x13a)]);}function a71_0x35cc(){const _0x1c22d6=['relation','cardinality','toCode','MANY_TO_MANY','8QuulqB','--from-column','expect-to-label-column','Source\x20METADATA\x20dataset\x20code.\x20Required\x20when\x20--from-source\x20METADATA;\x20forbidden\x20when\x20--from-source\x20DB_TABLE.','to-code','ONE_TO_MANY','relation_write_not_verified:\x20','Invalid\x20--cardinality:\x20','after','from-column','includeDbTable','isFinite','targetDatasetName','str','appCode','to-column','to-source','toUpperCase','--to-table','isArray','5228293lbkzBY','Expected\x20current\x20target\x20display/label\x20column\x20for\x20drift\x20detection.\x20DB_TABLE\x20reads\x20the\x20current\x20label\x20only\x20when\x20this\x20flag\x20is\x20provided;\x20missing\x20labels\x20default\x20to\x20--to-column.','string','--from-source','validation','labelColumn','toDatasetName','datasets','to-table','includes','datasetCode','151429MsByKb','--from-source\x20METADATA','relations','207472fcUffU','to-label-column','Source\x20column\x20name','refTableName','19542285IYoRSB','relation\x20was\x20not\x20found\x20after\x20write','toLowerCase','Database\x20is\x20required.','condition','join','tableName','number','from-table','before','DB_TABLE','matched','operation','to-label-column\x20is\x20unknown,\x20expected\x20','--to-column','MANY_TO_ONE','Target\x20display/label\x20column\x20name.\x20Required\x20for\x20relation-update;\x20updates\x20involving\x20METADATA\x20datasets\x20can\x20only\x20change\x20this\x20field.','modelCode','METADATA\x20to\x20DB_TABLE\x20ER\x20relation\x20is\x20not\x20supported','Would\x20','input','toDatasetCode','readbackHint','POST','Target\x20column\x20name','7836348ZxOjMb','datasetName','--to-label-column\x20is\x20required\x20when\x20either\x20endpoint\x20is\x20METADATA.','fromColumn','fromField','existing','backendPath','toField','toDataset','dbtable','toTableName','code','from','--to-code','\x20is\x20required.','Relation\x20cardinality.\x20Required\x20for\x20DB_TABLE\x20->\x20DB_TABLE\x20relation-update;\x20rejected\x20for\x20relations\x20involving\x20METADATA\x20datasets\x20because\x20the\x20backend\x20normalizes\x20them\x20to\x20ONE_TO_MANY.','delete','toTable','Target\x20endpoint\x20type.\x20Defaults\x20to\x20--from-source;\x20DB_TABLE\x20uses\x20--to-table,\x20METADATA\x20uses\x20--to-code.','Target\x20METADATA\x20dataset\x20code.\x20Required\x20when\x20--to-source\x20METADATA;\x20forbidden\x20when\x20--to-source\x20DB_TABLE.','Target\x20display/label\x20column\x20name\x20for\x20relation\x20display','--from-table','verification','dataset','dbName','relation\x20still\x20exists\x20after\x20delete','targetField','METADATA','--to-source\x20DB_TABLE','map','Allowed\x20values:\x20','Source\x20table\x20name','find','57pCFqqc','5601530mgBtcN','toSourceType','Invalid\x20','sourceType','--to-label-column','--to-source','filter','Target\x20table\x20name','source','Database\x20name\x20or\x20dblink\x20ID.\x20Required\x20when\x20--from-source\x20DB_TABLE;\x20forbidden\x20when\x20--from-source\x20METADATA.','--db','table','from-code','from-source','Target\x20table\x20name.\x20Required\x20when\x20--to-source\x20DB_TABLE;\x20forbidden\x20when\x20--to-source\x20METADATA.','suggestedExpectFlags','to-label-column\x20is\x20','push','dbId','Relation\x20cardinality','ONE_TO_ONE','get','--from-code','column','name',',\x20expected\x20','10472568kKjuSR','dbtableConfig','dryRun','\x20dataset\x20relation\x20','toColumn','trim'];a71_0x35cc=function(){return _0x1c22d6;};return a71_0x35cc();}function tableNameOfDatasetItem(_0x1d45bd){const _0x5115e0=a71_0x3a215b;return optionalTrim(_0x1d45bd[_0x5115e0(0x113)]?.[_0x5115e0(0x148)]??_0x1d45bd[_0x5115e0(0x148)]??_0x1d45bd[_0x5115e0(0xed)]?.[_0x5115e0(0x148)]);}function dbIdOfDatasetItem(_0x27418e){const _0x55f17e=a71_0x3a215b,_0x3326ca=_0x27418e[_0x55f17e(0x113)]?.[_0x55f17e(0x10a)]??_0x27418e[_0x55f17e(0x10a)]??_0x27418e['db']?.['id'];if(typeof _0x3326ca===_0x55f17e(0x149)&&Number[_0x55f17e(0x127)](_0x3326ca))return _0x3326ca;if(typeof _0x3326ca===_0x55f17e(0x132)&&_0x3326ca['trim']()&&Number[_0x55f17e(0x127)](Number(_0x3326ca)))return Number(_0x3326ca);return null;}export function buildMutationData(_0x518b26){const _0x3ced64=a71_0x3a215b,_0x45b435=_0x518b26[_0x3ced64(0x124)]!==undefined?_0x518b26[_0x3ced64(0x124)]:_0x518b26[_0x3ced64(0xc9)]===_0x3ced64(0xe6)?null:{'from':endpointForOutput(_0x518b26['input'][_0x3ced64(0xe2)]),'to':endpointForOutput(_0x518b26['input']['to']),'cardinality':_0x518b26['input'][_0x3ced64(0x119)]};return{'operation':_0x518b26[_0x3ced64(0xc9)],'appCode':_0x518b26[_0x3ced64(0x12a)],'selector':buildRelationSelector(_0x518b26[_0x3ced64(0xd1)]),'db':_0x518b26['db']?{'id':_0x518b26['db'][_0x3ced64(0x10a)],'name':_0x518b26['db'][_0x3ced64(0xee)]}:null,'before':_0x518b26[_0x3ced64(0xc6)],'after':_0x45b435,'dryRun':_0x518b26[_0x3ced64(0x114)],'backend':{'method':_0x3ced64(0xd4),'path':_0x518b26[_0x3ced64(0xdc)],'dblinkId':_0x518b26['db']?.['dbId']??null},..._0x518b26['verification']?{'verification':_0x518b26[_0x3ced64(0xec)]}:{},'warnings':_0x518b26['warnings']??[],..._0x518b26[_0x3ced64(0x107)]?{'suggestedExpectFlags':_0x518b26['suggestedExpectFlags']}:{}};}export function buildDryRunPreview(_0xea1c49){const _0x12ba90=a71_0x3a215b;return{'operation':_0xea1c49['operation'],'appCode':_0xea1c49[_0x12ba90(0x12a)],'dbId':_0xea1c49['db'][_0x12ba90(0x10a)],'dbName':_0xea1c49['db'][_0x12ba90(0xee)],'method':'POST','url':_0xea1c49[_0x12ba90(0xdc)],'body':{'appCode':_0xea1c49[_0x12ba90(0x12a)],'dblinkId':_0xea1c49['db']['dbId'],'relation':relationToBackend(_0xea1c49[_0x12ba90(0xd1)])},'description':_0x12ba90(0xd0)+_0xea1c49['operation']+_0x12ba90(0x115)+formatRelationSelector(_0xea1c49['input'])};}export function buildRelationSelector(_0x195469){const _0x1fb499=a71_0x3a215b;return{'fromSource':_0x195469[_0x1fb499(0xe2)]['source'],'toSource':_0x195469['to'][_0x1fb499(0x100)],..._0x195469[_0x1fb499(0xe2)][_0x1fb499(0x103)]?{'fromTable':_0x195469[_0x1fb499(0xe2)][_0x1fb499(0x103)]}:{},..._0x195469[_0x1fb499(0xe2)][_0x1fb499(0xe1)]?{'fromCode':_0x195469[_0x1fb499(0xe2)]['code']}:{},'fromColumn':_0x195469[_0x1fb499(0xe2)]['column'],..._0x195469['to'][_0x1fb499(0x103)]?{'toTable':_0x195469['to'][_0x1fb499(0x103)]}:{},..._0x195469['to']['code']?{'toCode':_0x195469['to'][_0x1fb499(0xe1)]}:{},'toColumn':_0x195469['to']['column']};}export function isMetadataInvolved(_0x8605f0){const _0x197594=a71_0x3a215b;return _0x8605f0[_0x197594(0xe2)][_0x197594(0x100)]===_0x197594(0xf1)||_0x8605f0['to']['source']===_0x197594(0xf1);}function endpointForOutput(_0x1afabc){const _0x2667c3=a71_0x3a215b;return{..._0x1afabc[_0x2667c3(0x103)]?{'table':_0x1afabc['table']}:{},..._0x1afabc[_0x2667c3(0xe1)]?{'code':_0x1afabc[_0x2667c3(0xe1)]}:{},'column':_0x1afabc['column'],..._0x1afabc[_0x2667c3(0x135)]?{'labelColumn':_0x1afabc[_0x2667c3(0x135)]}:{}};}function matchesFromDataset(_0x13f19e,_0x4840f9){const _0x48baad=a71_0x3a215b;if(_0x4840f9[_0x48baad(0xe2)][_0x48baad(0x100)]===_0x48baad(0xf1))return sourceTypeOf(_0x13f19e)===_0x48baad(0xf1)&&sameName(_0x13f19e[_0x48baad(0x13a)],_0x4840f9[_0x48baad(0xe2)][_0x48baad(0xe1)]);return sourceTypeOf(_0x13f19e)===_0x48baad(0xc7)&&sameName(_0x13f19e['tableName'],_0x4840f9[_0x48baad(0xe2)][_0x48baad(0x103)]);}function matchesToDataset(_0x49a3d9,_0x17aa2d,_0x46dc00){const _0x411ed8=a71_0x3a215b;if(_0x46dc00['to'][_0x411ed8(0x100)]===_0x411ed8(0xf1))return sameName(_0x17aa2d,_0x46dc00['to'][_0x411ed8(0xe1)]);return Boolean(_0x49a3d9)&&sourceTypeOf(_0x49a3d9)===_0x411ed8(0xc7)&&sameName(_0x49a3d9[_0x411ed8(0x148)],_0x46dc00['to'][_0x411ed8(0x103)]);}function sourceTypeOf(_0x380a07){const _0x3734c8=a71_0x3a215b;return _0x380a07[_0x3734c8(0xfb)]===_0x3734c8(0xf1)?_0x3734c8(0xf1):_0x3734c8(0xc7);}function readSource(_0x2549eb,_0x583141,_0x3d2a38){const _0x3882f0=a71_0x3a215b,_0x1e41a4=optionalTrim(_0x2549eb)?.[_0x3882f0(0x12d)]();if(!_0x1e41a4)return _0x583141;if(!SOURCE_TYPES[_0x3882f0(0x139)](_0x1e41a4))throw CliErrors[_0x3882f0(0x134)](_0x3882f0(0xfa)+_0x3d2a38+':\x20'+_0x2549eb,_0x3882f0(0xf4)+SOURCE_TYPES['join'](',\x20'));return _0x1e41a4;}function rejectIfPresent(_0x21bcb4,_0x4cde0b,_0x3201ac){if(optionalTrim(_0x21bcb4))throw CliErrors['validation'](_0x4cde0b+'\x20is\x20not\x20supported\x20with\x20'+_0x3201ac+'.');}function requiredTrim(_0x313056,_0x147709){const _0x15cf33=a71_0x3a215b,_0x33c223=_0x313056[_0x15cf33(0x117)]();if(!_0x33c223)throw CliErrors[_0x15cf33(0x134)](_0x147709+_0x15cf33(0xe4));return _0x33c223;}function optionalTrim(_0x3ae2c2){const _0x8e4882=a71_0x3a215b;if(typeof _0x3ae2c2!==_0x8e4882(0x132))return _0x3ae2c2==null?undefined:String(_0x3ae2c2)[_0x8e4882(0x117)]()||undefined;const _0x46867b=_0x3ae2c2[_0x8e4882(0x117)]();return _0x46867b||undefined;}function normalizeCardinality(_0x451427){const _0x28c3f8=a71_0x3a215b,_0x309259=requiredTrim(_0x451427,'--cardinality')['toUpperCase']();if(!CARDINALITIES[_0x28c3f8(0x139)](_0x309259))throw CliErrors[_0x28c3f8(0x134)](_0x28c3f8(0x123)+_0x451427,_0x28c3f8(0xf4)+CARDINALITIES[_0x28c3f8(0x147)](',\x20'));return _0x309259;}export function formatRelationSelector(_0xe08e5a){const _0xddd52a=a71_0x3a215b;return formatEndpoint(_0xe08e5a[_0xddd52a(0xe2)])+'\x20->\x20'+formatEndpoint(_0xe08e5a['to']);}function formatEndpoint(_0xec857d){const _0x1cfba9=a71_0x3a215b,_0x1ede80=_0xec857d['source']===_0x1cfba9(0xf1)?_0xec857d['code']:_0xec857d[_0x1cfba9(0x103)];return _0x1ede80+'.'+_0xec857d['column'];}function sameName(_0x21afd9,_0x219a32){const _0xca4733=a71_0x3a215b;return(_0x21afd9??'')[_0xca4733(0x117)]()[_0xca4733(0x144)]()===(_0x219a32??'')['trim']()['toLowerCase']();}function collectRelationMismatches(_0xf1c435,_0x16cbcb){const _0x4d1e36=a71_0x3a215b,_0x56d20b=[];if(_0xf1c435['to'][_0x4d1e36(0x135)]){if(!_0x16cbcb['to'][_0x4d1e36(0x135)])_0x56d20b[_0x4d1e36(0x109)](_0x4d1e36(0xca)+_0xf1c435['to'][_0x4d1e36(0x135)]);else!sameName(_0x16cbcb['to'][_0x4d1e36(0x135)],_0xf1c435['to'][_0x4d1e36(0x135)])&&_0x56d20b[_0x4d1e36(0x109)](_0x4d1e36(0x108)+_0x16cbcb['to']['labelColumn']+',\x20expected\x20'+_0xf1c435['to']['labelColumn']);}return _0xf1c435['cardinality']&&_0x16cbcb[_0x4d1e36(0x119)]&&!sameName(_0x16cbcb['cardinality'],_0xf1c435[_0x4d1e36(0x119)])&&_0x56d20b['push']('cardinality\x20is\x20'+(_0x16cbcb[_0x4d1e36(0x119)]??'(unknown)')+_0x4d1e36(0x111)+_0xf1c435[_0x4d1e36(0x119)]),_0x56d20b;}function throwRelationVerificationError(_0x57ab39,_0x261bef,_0x1ef6de){const _0x27ddb3=a71_0x3a215b;throw CliErrors[_0x27ddb3(0x134)](_0x27ddb3(0x122)+_0x57ab39+'\x20'+formatRelationSelector(_0x261bef),'The\x20backend\x20write\x20call\x20returned,\x20but\x20readback\x20did\x20not\x20match\x20the\x20requested\x20relation\x20state:\x20'+_0x1ef6de[_0x27ddb3(0x147)](';\x20')+'.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a72_0x18e39e=a72_0x4d01;(function(_0x1c1637,_0x3f0795){const _0x5d7f3f=a72_0x4d01,_0x3deebb=_0x1c1637();while(!![]){try{const _0x32a19e=-parseInt(_0x5d7f3f(0x1d5))/0x1+parseInt(_0x5d7f3f(0x1d3))/0x2*(-parseInt(_0x5d7f3f(0x1eb))/0x3)+parseInt(_0x5d7f3f(0x1d7))/0x4*(parseInt(_0x5d7f3f(0x1d8))/0x5)+-parseInt(_0x5d7f3f(0x1f1))/0x6+-parseInt(_0x5d7f3f(0x1e9))/0x7+parseInt(_0x5d7f3f(0x1e2))/0x8*(parseInt(_0x5d7f3f(0x1df))/0x9)+parseInt(_0x5d7f3f(0x1db))/0xa;if(_0x32a19e===_0x3f0795)break;else _0x3deebb['push'](_0x3deebb['shift']());}catch(_0x1eaf3e){_0x3deebb['push'](_0x3deebb['shift']());}}}(a72_0x66f0,0xa385d));import{updateErRelation}from'../../core/api-client.js';function a72_0x66f0(){const _0x4775f1=['20tRlwuH','893770lJRQsc','Use\x20dataset\x20relation-create\x20to\x20create\x20a\x20new\x20relation.','Updated\x20dataset\x20relation:\x20','10946860kLtlQv','update','Would\x20update\x20dataset\x20relation\x20','(unknown)','9DiFKpw','Expectation\x20mismatch:\x20current\x20to-label-column\x20is\x20','POST','8757776ZNsrmn','relation_not_found:\x20','dbId','/smartapi/question/er-config/update-single','labelColumn','no_drift_check_applied','relation-update','22533Izwkps','afterReadback','49587rYcSGJ','trim','hydrateLabel','validation','appCode','expect-to-label-column','5680524kOXGRp','102Xnimus','str','620437MraSYY',',\x20expected\x20'];a72_0x66f0=function(){return _0x4775f1;};return a72_0x66f0();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{buildMutationData,CARDINALITY_FLAG_OPTIONAL,DB_FLAG_OPTIONAL,EXPECT_TO_LABEL_COLUMN_FLAG,FROM_CODE_FLAG,FROM_COLUMN_FLAG,FROM_SOURCE_FLAG,FROM_TABLE_FLAG_OPTIONAL,findExistingRelation,formatRelationSelector,hydrateExistingRelationLabel,isMetadataInvolved,readRelationInput,relationToBackend,resolveDbForInput,TO_CODE_FLAG,TO_COLUMN_FLAG,TO_LABEL_COLUMN_FLAG_OPTIONAL,TO_SOURCE_FLAG,TO_TABLE_FLAG_OPTIONAL,verifyRelationMutation}from'../../commands/dataset/relation-shared.js';function a72_0x4d01(_0x179959,_0x2f76c5){_0x179959=_0x179959-0x1d3;const _0x66f03e=a72_0x66f0();let _0x4d0188=_0x66f03e[_0x179959];return _0x4d0188;}const BACKEND_PATH=a72_0x18e39e(0x1e5);export const datasetRelationUpdate={'service':'dataset','command':a72_0x18e39e(0x1e8),'description':'Update\x20one\x20dataset\x20relation','risk':'write','flags':[FROM_SOURCE_FLAG,TO_SOURCE_FLAG,DB_FLAG_OPTIONAL,FROM_TABLE_FLAG_OPTIONAL,FROM_CODE_FLAG,FROM_COLUMN_FLAG,TO_TABLE_FLAG_OPTIONAL,TO_CODE_FLAG,TO_COLUMN_FLAG,TO_LABEL_COLUMN_FLAG_OPTIONAL,EXPECT_TO_LABEL_COLUMN_FLAG,CARDINALITY_FLAG_OPTIONAL,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2eeecc){readRelationInput(_0x2eeecc,{'includeLabelAndCardinality':!![]});},async 'dryRun'(_0x549131){const _0x44e0bc=a72_0x18e39e,_0x68801b=readRelationInput(_0x549131,{'includeLabelAndCardinality':!![]}),_0x5ce731=await resolveDbForInput(_0x549131[_0x44e0bc(0x1ef)],_0x68801b,_0x549131[_0x44e0bc(0x1d4)]('db'));if(!isMetadataInvolved(_0x68801b))return{'operation':'update','appCode':_0x549131['appCode'],'dbId':_0x5ce731[_0x44e0bc(0x1e4)],'dbName':_0x5ce731['dbName'],'method':_0x44e0bc(0x1e1),'url':BACKEND_PATH,'body':{'appCode':_0x549131[_0x44e0bc(0x1ef)],'dblinkId':_0x5ce731['dbId'],'relation':relationToBackend(_0x68801b)},'description':_0x44e0bc(0x1dd)+formatRelationSelector(_0x68801b)};const _0x5dcb47=await loadExistingRelationForUpdate(_0x549131[_0x44e0bc(0x1ef)],_0x5ce731?.[_0x44e0bc(0x1e4)]??null,_0x68801b,{'hydrateLabel':!![]}),{warnings:_0xc02883,suggestedExpectFlags:_0x5bc940}=buildDriftWarnings(_0x549131[_0x44e0bc(0x1d4)]('expect-to-label-column'),_0x5dcb47,_0x68801b);return{'method':_0x44e0bc(0x1e1),'url':BACKEND_PATH,'body':{'appCode':_0x549131['appCode'],'dblinkId':_0x5ce731?.[_0x44e0bc(0x1e4)]??null,'relation':relationToBackend(_0x68801b)},...buildMutationData({'operation':_0x44e0bc(0x1dc),'appCode':_0x549131[_0x44e0bc(0x1ef)],'db':_0x5ce731,'input':_0x68801b,'before':_0x5dcb47,'dryRun':!![],'backendPath':BACKEND_PATH,'warnings':_0xc02883,'suggestedExpectFlags':_0x5bc940})};},async 'execute'(_0x282578){const _0x4d151b=a72_0x18e39e,_0x3f5548=readRelationInput(_0x282578,{'includeLabelAndCardinality':!![]}),_0x16d6c2=await resolveDbForInput(_0x282578[_0x4d151b(0x1ef)],_0x3f5548,_0x282578[_0x4d151b(0x1d4)]('db')),_0x170f3d=_0x282578[_0x4d151b(0x1d4)](_0x4d151b(0x1f0)),_0x4d02ae=await loadExistingRelationForUpdate(_0x282578[_0x4d151b(0x1ef)],_0x16d6c2?.['dbId']??null,_0x3f5548,{'hydrateLabel':isMetadataInvolved(_0x3f5548)||Boolean(_0x170f3d[_0x4d151b(0x1ec)]())});validateExpectedLabel(_0x170f3d,_0x4d02ae);const {warnings:_0x437311,suggestedExpectFlags:_0x21ff2c}=buildDriftWarnings(_0x170f3d,_0x4d02ae,_0x3f5548);await updateErRelation({'appCode':_0x282578[_0x4d151b(0x1ef)],'dblinkId':_0x16d6c2?.['dbId']??null,'relation':relationToBackend(_0x3f5548)});const _0x157edd=await verifyRelationMutation({'operation':_0x4d151b(0x1dc),'appCode':_0x282578['appCode'],'dbId':_0x16d6c2?.[_0x4d151b(0x1e4)]??null,'input':_0x3f5548,'before':_0x4d02ae});return{'ok':!![],'data':buildMutationData({'operation':'update','appCode':_0x282578[_0x4d151b(0x1ef)],'db':_0x16d6c2,'input':_0x3f5548,'before':_0x4d02ae,'dryRun':![],'backendPath':BACKEND_PATH,'after':_0x157edd[_0x4d151b(0x1ea)],'verification':_0x157edd,'warnings':_0x437311,'suggestedExpectFlags':_0x21ff2c}),'message':_0x4d151b(0x1da)+formatRelationSelector(_0x3f5548)};}};async function loadExistingRelationForUpdate(_0x37d36a,_0x712243,_0x48feb8,_0x145c93){const _0x4282b6=a72_0x18e39e,_0x5f5507=await findExistingRelation(_0x37d36a,_0x712243,_0x48feb8);if(!_0x5f5507)throw CliErrors[_0x4282b6(0x1ee)](_0x4282b6(0x1e3)+formatRelationSelector(_0x48feb8),_0x4282b6(0x1d9));if(!_0x145c93?.[_0x4282b6(0x1ed)])return _0x5f5507;return hydrateExistingRelationLabel(_0x48feb8,_0x5f5507,{'includeDbTable':!![]});}function validateExpectedLabel(_0x205c0c,_0x3f7382){const _0x22ce40=a72_0x18e39e,_0x2dbef1=_0x205c0c[_0x22ce40(0x1ec)]();if(!_0x2dbef1)return;const _0x160a50=_0x3f7382['to'][_0x22ce40(0x1e6)];if(_0x160a50!==_0x2dbef1)throw CliErrors['validation'](_0x22ce40(0x1e0)+(_0x160a50??_0x22ce40(0x1de))+_0x22ce40(0x1d6)+_0x2dbef1+'.');}function buildDriftWarnings(_0x49a906,_0x17ddb5,_0x298cc7){const _0x54929e=a72_0x18e39e;if(!isMetadataInvolved(_0x298cc7)||_0x49a906[_0x54929e(0x1ec)]()||!_0x17ddb5['to']['labelColumn'])return{'warnings':[],'suggestedExpectFlags':undefined};return{'warnings':[{'code':_0x54929e(0x1e7),'message':'No\x20--expect-to-label-column\x20was\x20provided.\x20Pass\x20the\x20suggested\x20expect\x20flag\x20for\x20optimistic\x20concurrency\x20control.'}],'suggestedExpectFlags':{'--expect-to-label-column':_0x17ddb5['to'][_0x54929e(0x1e6)]}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a73_0x4b0e1a=a73_0x4873;(function(_0x3cc5c6,_0x517ed7){const _0x32c5f5=a73_0x4873,_0x37119f=_0x3cc5c6();while(!![]){try{const _0x5c2b48=parseInt(_0x32c5f5(0xa7))/0x1+-parseInt(_0x32c5f5(0xc0))/0x2+parseInt(_0x32c5f5(0xa6))/0x3+parseInt(_0x32c5f5(0xc9))/0x4+-parseInt(_0x32c5f5(0xc5))/0x5*(-parseInt(_0x32c5f5(0xbc))/0x6)+-parseInt(_0x32c5f5(0xcb))/0x7*(-parseInt(_0x32c5f5(0xd6))/0x8)+-parseInt(_0x32c5f5(0xb5))/0x9;if(_0x5c2b48===_0x517ed7)break;else _0x37119f['push'](_0x37119f['shift']());}catch(_0x4d467d){_0x37119f['push'](_0x37119f['shift']());}}}(a73_0x3dcc,0x8637d));import{getDatasetDetail,listDatasets}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';function a73_0x4873(_0x4a31b2,_0x38e0fc){_0x4a31b2=_0x4a31b2-0x95;const _0x3dccfb=a73_0x3dcc();let _0x48732c=_0x3dccfb[_0x4a31b2];return _0x48732c;}export const SOURCE_TYPES=[a73_0x4b0e1a(0xc2),a73_0x4b0e1a(0x95)];const DEFAULT_DO_VERSION='v2';export const datasetRelations={'service':a73_0x4b0e1a(0xd1),'command':a73_0x4b0e1a(0xa9),'description':a73_0x4b0e1a(0xc8)+'Supports\x20DB_TABLE\x20->\x20DB_TABLE,\x20DB_TABLE\x20->\x20METADATA,\x20and\x20METADATA\x20->\x20METADATA.','risk':a73_0x4b0e1a(0xb2),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a73_0x4b0e1a(0xb3),'type':a73_0x4b0e1a(0x96),'required':![],'enum':[...SOURCE_TYPES],'description':a73_0x4b0e1a(0xc7)},{'name':'to-source','type':a73_0x4b0e1a(0x96),'required':![],'enum':[...SOURCE_TYPES],'description':a73_0x4b0e1a(0x9e)},{'name':a73_0x4b0e1a(0x99),'type':a73_0x4b0e1a(0x96),'required':![],'enum':['v1','v2'],'description':a73_0x4b0e1a(0xc3)}],async 'validate'(_0x1d7960){const _0x2b215d=a73_0x4b0e1a;readSourceFilter(_0x1d7960[_0x2b215d(0xcd)](_0x2b215d(0xb3)),_0x2b215d(0xd2)),readSourceFilter(_0x1d7960[_0x2b215d(0xcd)](_0x2b215d(0xa4)),_0x2b215d(0x9b)),rejectUnsupportedDirection(readSourceFilter(_0x1d7960[_0x2b215d(0xcd)](_0x2b215d(0xb3)),'--from-source'),readSourceFilter(_0x1d7960[_0x2b215d(0xcd)](_0x2b215d(0xa4)),'--to-source'));},async 'execute'(_0x4cffaa){const _0xee51dc=a73_0x4b0e1a,_0x1a44b4=await collectDatasetRelationFacts(_0x4cffaa);return{'ok':!![],'data':{'appCode':_0x4cffaa['appCode'],'total':_0x1a44b4['relations'][_0xee51dc(0x9f)],'relations':_0x1a44b4[_0xee51dc(0xa9)]},'message':'Dataset\x20relations:\x20'+_0x1a44b4[_0xee51dc(0xa9)][_0xee51dc(0x9f)]+_0xee51dc(0xd8)};}};export async function collectDatasetRelationFacts(_0x30fbaa,_0x8a5951){const _0x4c12b2=a73_0x4b0e1a,_0x13843b=trim(_0x30fbaa[_0x4c12b2(0xcd)](_0x4c12b2(0xac))),_0x730d58=readSourceFilter(_0x30fbaa['str'](_0x4c12b2(0xb3)),_0x4c12b2(0xd2)),_0x350cee=readSourceFilter(_0x30fbaa[_0x4c12b2(0xcd)](_0x4c12b2(0xa4)),_0x4c12b2(0x9b)),_0x48767b=trim(_0x30fbaa[_0x4c12b2(0xcd)](_0x4c12b2(0x99))||DEFAULT_DO_VERSION)['toLowerCase']();!_0x8a5951?.[_0x4c12b2(0xc1)]&&rejectUnsupportedDirection(_0x730d58,_0x350cee);const _0x54fd2c=await listDatasets(_0x30fbaa['appCode'],{..._0x13843b?{'code':_0x13843b}:{}}),_0x5a3b76=new Map();for(const _0x1e4f30 of _0x54fd2c){const _0x5e48a6=datasetCodeOf(_0x1e4f30);if(_0x5e48a6)_0x5a3b76[_0x4c12b2(0xca)](_0x5e48a6,_0x1e4f30);}const _0x1b7ba3=_0x13843b?[toDatasetInfo(await getDatasetDetail(_0x13843b),_0x5a3b76[_0x4c12b2(0xab)](_0x13843b))]:await Promise[_0x4c12b2(0xd9)](_0x54fd2c[_0x4c12b2(0xb6)](async _0x526f6c=>toDatasetInfo(await getDatasetDetail(datasetCodeOf(_0x526f6c)),_0x526f6c))),_0x67589f=_0x1b7ba3['filter'](_0x180716=>{const _0x259108=_0x4c12b2;if(_0x48767b&&normalizeDoVersion(_0x180716[_0x259108(0xaa)])!==_0x48767b)return![];return!![];}),_0x52812f=new Map(_0x67589f[_0x4c12b2(0xb6)](_0x202af5=>[_0x202af5['code'],_0x202af5])),_0x35505b=_0x67589f['flatMap'](_0x1e920d=>{const _0x1ef2d9=_0x4c12b2,_0x306202=Array[_0x1ef2d9(0xaf)](_0x1e920d[_0x1ef2d9(0xb9)]['relations'])?_0x1e920d[_0x1ef2d9(0xb9)][_0x1ef2d9(0xa9)]:[];return _0x306202['flatMap'](_0x5b7eb7=>{const _0xa02b76=_0x1ef2d9,_0x3e51fc=trim(_0x5b7eb7[_0xa02b76(0xd0)]??_0x5b7eb7[_0xa02b76(0xc4)]??_0x5b7eb7[_0xa02b76(0x9a)]),_0x1a2c24=trim(_0x5b7eb7[_0xa02b76(0xb0)]??_0x5b7eb7[_0xa02b76(0x97)]??_0x5b7eb7['toDataset']??_0x5b7eb7['targetDatasetCode']),_0x3a46f7=trim(_0x5b7eb7[_0xa02b76(0xb7)]??_0x5b7eb7[_0xa02b76(0x9d)]??_0x5b7eb7[_0xa02b76(0xba)]);if(!_0x3e51fc||!_0x1a2c24||!_0x3a46f7)return[];const _0x55f8c6=_0x52812f[_0xa02b76(0xab)](_0x1a2c24)??(_0x5a3b76[_0xa02b76(0xd5)](_0x1a2c24)?toDatasetInfo(_0x5a3b76[_0xa02b76(0xab)](_0x1a2c24)??{},_0x5a3b76['get'](_0x1a2c24)):undefined),_0x3467aa=_0x55f8c6?.['source']??sourceOf(_0x5b7eb7[_0xa02b76(0xbf)]??_0x5b7eb7[_0xa02b76(0xbd)]??_0x5b7eb7[_0xa02b76(0xbb)],_0x5b7eb7[_0xa02b76(0xce)]);if(_0x1e920d['source']==='METADATA'&&_0x3467aa===_0xa02b76(0xc2)&&!_0x8a5951?.[_0xa02b76(0xc1)])return[];if(_0x730d58&&_0x1e920d[_0xa02b76(0xa8)]!==_0x730d58)return[];if(_0x350cee&&_0x3467aa!==_0x350cee)return[];const _0x5da319=readRelationLabelField(_0x5b7eb7),_0x109aae=normalizeCardinality(_0x5b7eb7['joinType']??_0x5b7eb7['cardinality']);return[{'from':{'source':_0x1e920d[_0xa02b76(0xa8)],'datasetCode':_0x1e920d[_0xa02b76(0xb4)],..._0x1e920d['name']?{'datasetName':_0x1e920d[_0xa02b76(0xa2)]}:{},..._0x1e920d[_0xa02b76(0xd7)]?{'table':_0x1e920d[_0xa02b76(0xd7)]}:{},'field':_0x3e51fc},'to':{'source':_0x3467aa,'datasetCode':_0x1a2c24,'datasetName':_0x55f8c6?.['name']??trim(_0x5b7eb7['toDatasetName']),..._0x55f8c6?.[_0xa02b76(0xd7)]?{'table':_0x55f8c6[_0xa02b76(0xd7)]}:{},'field':_0x3a46f7,..._0x5da319?{'labelField':_0x5da319}:{}},..._0x109aae?{'relation':{'cardinality':_0x109aae}}:{}}];});});return{'appCode':_0x30fbaa[_0x4c12b2(0xc6)],..._0x13843b?{'datasetCode':_0x13843b}:{},'relations':_0x35505b,'detailByCode':_0x52812f,'listByCode':_0x5a3b76};}export function toDatasetInfo(_0x346732,_0xe32bb8){const _0x100924=a73_0x4b0e1a,_0x366b58=_0x346732['dataset']??{},_0x586e54=_0x346732['dbtableConfig']??_0xe32bb8?.[_0x100924(0x98)]??{},_0xf3faa6=datasetCodeOf(_0x346732)||datasetCodeOf(_0xe32bb8??{});return{'code':_0xf3faa6,'name':_0x346732[_0x100924(0xa2)]??_0x366b58['datasetName']??_0xe32bb8?.[_0x100924(0xa2)],'source':sourceOf(_0x346732['source']??_0x366b58[_0x100924(0xbb)]??_0xe32bb8?.[_0x100924(0xa8)],_0x586e54[_0x100924(0xa3)]),'table':_0x586e54[_0x100924(0xa3)]??_0x366b58[_0x100924(0xa3)],'doVersion':_0x346732[_0x100924(0xaa)]??_0x366b58[_0x100924(0xaa)]??_0xe32bb8?.[_0x100924(0xaa)],'detail':_0x346732};}export function datasetCodeOf(_0x19f52a){const _0x2859be=a73_0x4b0e1a;return trim(_0x19f52a['modelCode']??_0x19f52a['code']??_0x19f52a[_0x2859be(0xcf)]);}function a73_0x3dcc(){const _0x789dcb=['3087642LjVewD','toSource','ONE_TO_ONE','toSourceType','1276414IqlkXX','includeUnsupportedDirections','DB_TABLE','Legacy\x20troubleshooting\x20filter\x20for\x20dataset\x20version;\x20defaults\x20to\x20v2','fromColumn','10ixyPpx','appCode','Filter\x20source\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','List\x20V2\x20dataset\x20relation\x20facts\x20using\x20datasetCode\x20+\x20field\x20as\x20the\x20primary\x20locator.\x20','3726820AAnRJb','set','259FnzxwL','labelField','str','toTableName','datasetCode','fromField','dataset','--from-source','includes','ONE_TO_MANY','has','220776iAkwcq','table','\x20relation(s)','all','METADATA','string','toCode','dbtableConfig','do-version','field','--to-source','validation','toColumn','Filter\x20target\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','length','toLowerCase','Allowed\x20values:\x20DB_TABLE,\x20METADATA.','name','tableName','to-source','toUpperCase','1098510DbmBId','807413FlBafB','source','relations','doVersion','get','datasetcode','toFieldLabel','trim','isArray','toDatasetCode','refTableLabelName','read','from-source','code','26708643qNtwrB','map','toField','METADATA\x20to\x20DB_TABLE\x20dataset\x20relation\x20is\x20not\x20supported','detail','targetField','sourceType'];a73_0x3dcc=function(){return _0x789dcb;};return a73_0x3dcc();}export function sourceOf(_0x35c91e,_0x319da5){const _0x2a356e=a73_0x4b0e1a,_0xe24c3b=trim(_0x35c91e)['toUpperCase']();if(_0xe24c3b===_0x2a356e(0xc2)||_0xe24c3b===_0x2a356e(0x95))return _0xe24c3b;return _0x319da5?_0x2a356e(0xc2):_0x2a356e(0x95);}export function readSourceFilter(_0x2cd5b7,_0x2edf03){const _0x333b91=a73_0x4b0e1a,_0x481567=trim(_0x2cd5b7)[_0x333b91(0xa5)]();if(!_0x481567)return undefined;if(_0x481567===_0x333b91(0xc2)||_0x481567===_0x333b91(0x95))return _0x481567;throw CliErrors['validation']('Invalid\x20'+_0x2edf03+':\x20'+_0x2cd5b7,_0x333b91(0xa1));}function rejectUnsupportedDirection(_0x4e7800,_0x137938){const _0x8802ec=a73_0x4b0e1a;if(_0x4e7800==='METADATA'&&_0x137938===_0x8802ec(0xc2))throw CliErrors[_0x8802ec(0x9c)](_0x8802ec(0xb8));}function normalizeDoVersion(_0x4d6e91){const _0x32fba1=a73_0x4b0e1a;return trim(_0x4d6e91)[_0x32fba1(0xa0)]();}function normalizeCardinality(_0x2441e7){const _0x3ea9bc=a73_0x4b0e1a,_0x55cb72=trim(_0x2441e7)[_0x3ea9bc(0xa5)]();if(!_0x55cb72)return undefined;return[_0x3ea9bc(0xbe),_0x3ea9bc(0xd4),'MANY_TO_ONE','MANY_TO_MANY'][_0x3ea9bc(0xd3)](_0x55cb72)?_0x55cb72:undefined;}function readRelationLabelField(_0x532ce7){const _0x9fd838=a73_0x4b0e1a;return trim(_0x532ce7[_0x9fd838(0xad)]??_0x532ce7[_0x9fd838(0xb1)]??_0x532ce7[_0x9fd838(0xcc)]);}export function trim(_0x20e5fb){const _0x38f993=a73_0x4b0e1a;return typeof _0x20e5fb===_0x38f993(0x96)?_0x20e5fb[_0x38f993(0xae)]():'';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a74_0x3f91(_0x5b660b,_0x43bd6b){_0x5b660b=_0x5b660b-0xfd;const _0x5187cb=a74_0x5187();let _0x3f9141=_0x5187cb[_0x5b660b];return _0x3f9141;}const a74_0x3c17b7=a74_0x3f91;(function(_0x21d1f1,_0x24b934){const _0x47170a=a74_0x3f91,_0x3d88c3=_0x21d1f1();while(!![]){try{const _0x240761=-parseInt(_0x47170a(0x109))/0x1+-parseInt(_0x47170a(0xfd))/0x2+parseInt(_0x47170a(0x124))/0x3*(-parseInt(_0x47170a(0x100))/0x4)+parseInt(_0x47170a(0x112))/0x5+-parseInt(_0x47170a(0x103))/0x6*(-parseInt(_0x47170a(0x10c))/0x7)+parseInt(_0x47170a(0x117))/0x8*(parseInt(_0x47170a(0x11a))/0x9)+-parseInt(_0x47170a(0x11d))/0xa*(-parseInt(_0x47170a(0x102))/0xb);if(_0x240761===_0x24b934)break;else _0x3d88c3['push'](_0x3d88c3['shift']());}catch(_0x4dc3a3){_0x3d88c3['push'](_0x3d88c3['shift']());}}}(a74_0x5187,0xf20b1));import{getDatasetDetail,updateDrivenData}from'../../core/api-client.js';import{CODE_FLAG,APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';export async function buildDatasetRenameResult({input:_0x8a2e8a,dryRun:_0xe99d7e}){const _0x1fdf04=a74_0x3f91;validateInput(_0x8a2e8a);const _0x19a5a0=await getDatasetDetail(_0x8a2e8a[_0x1fdf04(0xff)]),_0x502219=resolveCurrentName(_0x19a5a0);if(_0x502219!==_0x8a2e8a[_0x1fdf04(0x122)])throw CliErrors[_0x1fdf04(0x101)](_0x1fdf04(0x114),_0x1fdf04(0x121)+JSON['stringify'](_0x8a2e8a['expectName'])+_0x1fdf04(0x10f)+JSON[_0x1fdf04(0x113)](_0x502219));const _0x12c617=buildRenameRequest(_0x19a5a0,_0x8a2e8a),_0x5ccd06=_0x502219!==_0x8a2e8a[_0x1fdf04(0x116)];let _0x596f94;return _0x5ccd06&&!_0xe99d7e&&(_0x596f94=await updateDrivenData(_0x12c617)),{'ok':!![],'data':{'dataset':{'id':_0x12c617[_0x1fdf04(0x106)],'code':_0x12c617[_0x1fdf04(0x111)]},'dryRun':_0xe99d7e,'changed':_0x5ccd06,'before':{'name':_0x502219},'after':{'name':_0x8a2e8a['name']},'request':_0x12c617,'submitted':_0x5ccd06&&!_0xe99d7e,..._0x596f94!==undefined?{'version':_0x596f94}:{}},'message':_0x5ccd06?_0xe99d7e?_0x1fdf04(0x10d)+_0x12c617[_0x1fdf04(0x111)]+_0x1fdf04(0x118)+_0x8a2e8a[_0x1fdf04(0x116)]:_0x1fdf04(0x10e)+_0x12c617[_0x1fdf04(0x111)]+_0x1fdf04(0x11f)+_0x8a2e8a[_0x1fdf04(0x116)]:_0x1fdf04(0x108)+_0x12c617[_0x1fdf04(0x111)]};}export const datasetRename={'service':a74_0x3c17b7(0x11b),'command':'rename','description':'Rename\x20dataset\x20display\x20name\x20safely','risk':'write','flags':[CODE_FLAG,{'name':a74_0x3c17b7(0x116),'type':'string','required':!![],'description':a74_0x3c17b7(0x119)},{'name':'expect-name','type':a74_0x3c17b7(0x11c),'required':!![],'description':'Expected\x20current\x20dataset\x20display\x20name;\x20mismatch\x20aborts\x20without\x20writing'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41cff8){validateInput(readDatasetRenameInput(_0x41cff8));},async 'dryRun'(_0x3b60fa){const _0x329027=a74_0x3c17b7,_0x1e352b=await buildDatasetRenameResult({'input':readDatasetRenameInput(_0x3b60fa),'dryRun':!![]});return{'method':'POST','url':_0x329027(0x105),'body':_0x1e352b['data'][_0x329027(0x115)],'description':_0x1e352b['message'],..._0x1e352b['data']};},async 'execute'(_0x3a0d0c){return buildDatasetRenameResult({'input':readDatasetRenameInput(_0x3a0d0c),'dryRun':![]});}};function readDatasetRenameInput(_0x327248){const _0x5ba55b=a74_0x3c17b7;return{'code':trim(_0x327248['str'](_0x5ba55b(0xff))),'name':trim(_0x327248[_0x5ba55b(0x10a)](_0x5ba55b(0x116))),'expectName':trim(_0x327248[_0x5ba55b(0x10a)](_0x5ba55b(0x107)))};}function validateInput(_0x5c16a0){const _0x446ede=a74_0x3c17b7;if(!_0x5c16a0['code'])throw CliErrors[_0x446ede(0x101)](_0x446ede(0x11e));if(!_0x5c16a0[_0x446ede(0x116)])throw CliErrors[_0x446ede(0x101)]('--name\x20is\x20required');if(!_0x5c16a0[_0x446ede(0x122)])throw CliErrors[_0x446ede(0x101)](_0x446ede(0x10b));}function resolveCurrentName(_0x4b3737){const _0x20402c=a74_0x3c17b7;return String(_0x4b3737[_0x20402c(0x11b)]?.['datasetName']??_0x4b3737[_0x20402c(0x116)]??'')[_0x20402c(0x110)]();}function buildRenameRequest(_0x5d8696,_0x1d5e0f){const _0x28dd15=a74_0x3c17b7,_0x4a207e=isPlainObject(_0x5d8696[_0x28dd15(0x11b)])?_0x5d8696[_0x28dd15(0x11b)]:{},_0x61310a=_0x5d8696[_0x28dd15(0x106)]??_0x5d8696['id']??_0x4a207e[_0x28dd15(0x120)];if(_0x61310a===undefined||_0x61310a===null||_0x61310a==='')throw CliErrors[_0x28dd15(0x101)]('Dataset\x20detail\x20does\x20not\x20contain\x20dataset\x20id');const _0x4ffa63=String(_0x5d8696[_0x28dd15(0x111)]??_0x5d8696[_0x28dd15(0xff)]??_0x4a207e[_0x28dd15(0xfe)]??_0x1d5e0f[_0x28dd15(0xff)])[_0x28dd15(0x110)]();if(!_0x4ffa63)throw CliErrors[_0x28dd15(0x101)](_0x28dd15(0x104));return{'modelId':_0x61310a,'modelCode':_0x4ffa63,'name':_0x1d5e0f[_0x28dd15(0x116)],'dataset':{'datasetId':_0x61310a,'datasetCode':_0x4ffa63,'datasetName':_0x1d5e0f['name']}};}function a74_0x5187(){const _0x286a5f=['Renamed\x20dataset\x20',',\x20actual\x20','trim','modelCode','4609175elLrDL','stringify','Expectation\x20mismatch\x20at\x20dataset.name','request','name','232EhQMKc','\x20would\x20be\x20renamed\x20to\x20','New\x20dataset\x20display\x20name','516069ZFVTUK','dataset','string','50MCSsvG','--code\x20is\x20required','\x20to\x20','datasetId','Expected\x20','expectName','isArray','15QbeibD','3617670eusOle','datasetCode','code','46756hdUQmv','validation','1606385KlpFfI','276zexlfQ','Dataset\x20detail\x20does\x20not\x20contain\x20dataset\x20code','/smartapi/dataset/update-driven-data','modelId','expect-name','No\x20changes\x20for\x20dataset\x20','512192VyWmVW','str','--expect-name\x20is\x20required','8519GBgrsp','Dry-run:\x20dataset\x20'];a74_0x5187=function(){return _0x286a5f;};return a74_0x5187();}function isPlainObject(_0x14fb89){const _0x1a5cb0=a74_0x3c17b7;return Boolean(_0x14fb89)&&typeof _0x14fb89==='object'&&!Array[_0x1a5cb0(0x123)](_0x14fb89);}function trim(_0x2feb75){return String(_0x2feb75||'')['trim']();}
|