@lovrabet/rabetbase-cli 2.3.4-beta.1 → 2.3.4-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -560
- 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/discover.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/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/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/index.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +18 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a65_0x3a2a(){const _0x4437c8=['read','8zRrkuy','1999686dfKHUr','str','string','3498236sdivmJ','length','operations','5MZtDBO','529096yAuCgY','verbose','Get\x20operations\x20for\x20a\x20dataset,\x20optionally\x20with\x20full\x20detail\x20for\x20one\x20operation','name','map','enabled','11892lOdxIs','method','Dataset\x20alias\x20defined\x20in\x20api.ts\x20(e.g.\x20order,\x20coupon)','bool','operation','code','Operation\x20name\x20to\x20get\x20full\x20detail\x20(e.g.\x20filter,\x20getOne,\x20create)','72243RBAkWO','534534LyoroB','boolean','242604yHvxSP','appCode'];a65_0x3a2a=function(){return _0x4437c8;};return a65_0x3a2a();}const a65_0x2704a4=a65_0x1426;(function(_0x1e6e90,_0xb4949d){const _0x464aa4=a65_0x1426,_0xac1ad6=_0x1e6e90();while(!![]){try{const _0x10860c=-parseInt(_0x464aa4(0x118))/0x1+-parseInt(_0x464aa4(0x110))/0x2+parseInt(_0x464aa4(0x11e))/0x3+parseInt(_0x464aa4(0x125))/0x4*(-parseInt(_0x464aa4(0x124))/0x5)+parseInt(_0x464aa4(0x11a))/0x6+parseInt(_0x464aa4(0x121))/0x7+-parseInt(_0x464aa4(0x11d))/0x8*(-parseInt(_0x464aa4(0x117))/0x9);if(_0x10860c===_0xb4949d)break;else _0xac1ad6['push'](_0xac1ad6['shift']());}catch(_0x1a6fa6){_0xac1ad6['push'](_0xac1ad6['shift']());}}}(a65_0x3a2a,0x84541));import{getDatasetOperations,getOperationDetail}from'../../core/api-client.js';import{CODE_FLAG_OPTIONAL,APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a65_0x1426(_0xb5b549,_0x48fa80){_0xb5b549=_0xb5b549-0x10e;const _0x3a2aea=a65_0x3a2a();let _0x1426f3=_0x3a2aea[_0xb5b549];return _0x1426f3;}export const datasetOperations={'service':'dataset','command':a65_0x2704a4(0x123),'description':a65_0x2704a4(0x127),'risk':a65_0x2704a4(0x11c),'flags':[CODE_FLAG_OPTIONAL,APPCODE_FLAG_OPTIONAL,{'name':'alias','type':'string','description':a65_0x2704a4(0x112)},{'name':a65_0x2704a4(0x114),'type':a65_0x2704a4(0x120),'description':a65_0x2704a4(0x116)},{'name':a65_0x2704a4(0x126),'type':a65_0x2704a4(0x119),'description':'Return\x20full\x20operation\x20objects\x20including\x20requestFields\x20and\x20responseFields'}],async 'execute'(_0x414967){const _0x2dba82=a65_0x2704a4,_0x3a1153=_0x414967[_0x2dba82(0x11f)](_0x2dba82(0x115)),_0x248efe=_0x414967[_0x2dba82(0x11f)]('operation'),_0x47d1a3=_0x414967[_0x2dba82(0x113)](_0x2dba82(0x126));if(_0x248efe){const {dataset:_0xcbb5cc,operation:_0x45fffb}=await getOperationDetail(_0x414967[_0x2dba82(0x11b)],_0x3a1153,_0x248efe);return{'ok':!![],'data':{'dataset':_0xcbb5cc,'operation':_0x45fffb}};}const {dataset:_0x34b5b7,operations:_0x200d0f}=await getDatasetOperations(_0x3a1153);return{'ok':!![],'data':{'dataset':_0x34b5b7,'total':_0x200d0f[_0x2dba82(0x122)],'operations':_0x47d1a3?_0x200d0f:_0x200d0f[_0x2dba82(0x10e)](_0x5be9fc=>({'name':_0x5be9fc[_0x2dba82(0x128)],'displayName':_0x5be9fc['displayName'],'type':_0x5be9fc['type'],'method':_0x5be9fc[_0x2dba82(0x111)],'enabled':_0x5be9fc[_0x2dba82(0x10f)]}))}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a66_0x5988(_0x4b8129,_0xd5b2f){_0x4b8129=_0x4b8129-0x184;const _0x519f2c=a66_0x519f();let _0x59884d=_0x519f2c[_0x4b8129];return _0x59884d;}const a66_0xc47d44=a66_0x5988;(function(_0x7398c6,_0x3f8b1a){const _0x4d0061=a66_0x5988,_0x68d646=_0x7398c6();while(!![]){try{const _0x1fd826=-parseInt(_0x4d0061(0x1c0))/0x1+-parseInt(_0x4d0061(0x1b6))/0x2*(-parseInt(_0x4d0061(0x184))/0x3)+-parseInt(_0x4d0061(0x1a5))/0x4+-parseInt(_0x4d0061(0x1d7))/0x5*(parseInt(_0x4d0061(0x194))/0x6)+-parseInt(_0x4d0061(0x195))/0x7+parseInt(_0x4d0061(0x1a6))/0x8+parseInt(_0x4d0061(0x1c7))/0x9;if(_0x1fd826===_0x3f8b1a)break;else _0x68d646['push'](_0x68d646['shift']());}catch(_0x230408){_0x68d646['push'](_0x68d646['shift']());}}}(a66_0x519f,0x5aa0c));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_0xc47d44(0x1d9),'type':a66_0xc47d44(0x1b2),'required':![],'enum':[...SOURCE_TYPES],'description':'Filter\x20source\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA'},TO_SOURCE_FLAG={'name':a66_0xc47d44(0x192),'type':a66_0xc47d44(0x1b2),'required':![],'enum':[...SOURCE_TYPES],'description':a66_0xc47d44(0x1ba)},STATUS_ORDER={'error':0x0,'manual_review':0x1,'warning':0x2,'ok':0x3};export const datasetRelationAudit={'service':a66_0xc47d44(0x18d),'command':a66_0xc47d44(0x1cd),'description':a66_0xc47d44(0x19f),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,FROM_SOURCE_FLAG,TO_SOURCE_FLAG],async 'validate'(_0x40ba6f){const _0x5398a6=a66_0xc47d44;readSourceFilter(_0x40ba6f['str'](_0x5398a6(0x1d9)),'--from-source'),readSourceFilter(_0x40ba6f[_0x5398a6(0x1d8)](_0x5398a6(0x192)),_0x5398a6(0x19c));},async 'execute'(_0x20e8ca){const _0x336a5f=a66_0xc47d44,_0x4a1062=await collectDatasetRelationFacts(_0x20e8ca,{'includeUnsupportedDirections':!![]});await hydrateMissingTargetDetails(_0x4a1062[_0x336a5f(0x1d2)],_0x4a1062[_0x336a5f(0x185)]);const _0x4f17fe=countDuplicateRelations(_0x4a1062[_0x336a5f(0x1d2)]),_0x4f2b51=_0x4a1062[_0x336a5f(0x1d2)][_0x336a5f(0x1b4)]((_0x346db7,_0xea5d41)=>({'index':_0xea5d41,'item':auditRelation(_0x346db7,_0x4a1062[_0x336a5f(0x185)],_0x4f17fe)}));_0x4f2b51[_0x336a5f(0x1ab)]((_0x40d093,_0x4998d5)=>{const _0x2f5926=_0x336a5f,_0x103bc0=STATUS_ORDER[_0x40d093[_0x2f5926(0x1ad)][_0x2f5926(0x1da)]]-STATUS_ORDER[_0x4998d5[_0x2f5926(0x1ad)]['status']];return _0x103bc0||_0x40d093[_0x2f5926(0x186)]-_0x4998d5[_0x2f5926(0x186)];});const _0x4395d5=_0x4f2b51['map'](({item:_0x552a4c})=>_0x552a4c),_0x540931=summarize(_0x4395d5);return{'ok':!![],'data':{'appCode':_0x20e8ca[_0x336a5f(0x19d)],..._0x4a1062['datasetCode']?{'datasetCode':_0x4a1062[_0x336a5f(0x1d0)]}:{},'total':_0x4395d5[_0x336a5f(0x1b1)],'summary':_0x540931,'items':_0x4395d5},'message':_0x336a5f(0x19b)+_0x4395d5[_0x336a5f(0x1b1)]+_0x336a5f(0x18e)+(_0x540931['error']+_0x336a5f(0x191)+_0x540931['manualReview']+_0x336a5f(0x1d5))};}};async function hydrateMissingTargetDetails(_0x38a836,_0x1d9ad0){const _0x5a3101=a66_0xc47d44,_0x3beb85=new Set(_0x38a836['map'](_0x5e9211=>_0x5e9211['to'][_0x5a3101(0x1d0)])['filter'](_0x1d9637=>_0x1d9637&&!_0x1d9ad0[_0x5a3101(0x196)](_0x1d9637)));for(const _0x153cf7 of _0x3beb85){const _0x326105=await Promise['resolve'](getDatasetDetail(_0x153cf7))[_0x5a3101(0x1d3)](()=>null);if(!_0x326105||typeof _0x326105!==_0x5a3101(0x188))continue;const _0x101ad6=toDatasetInfo(_0x326105);if(_0x101ad6[_0x5a3101(0x193)])_0x1d9ad0['set'](_0x101ad6[_0x5a3101(0x193)],_0x101ad6);}}function auditRelation(_0x553d17,_0xa77d8,_0x5c38d4){const _0x9c798=a66_0xc47d44,_0x17bfb8=[],_0x18c74f=_0xa77d8[_0x9c798(0x1d4)](_0x553d17[_0x9c798(0x18c)][_0x9c798(0x1d0)]),_0x5e5cdd=_0xa77d8[_0x9c798(0x1d4)](_0x553d17['to'][_0x9c798(0x1d0)]);!_0x18c74f&&_0x17bfb8[_0x9c798(0x1b7)](reason('error',_0x9c798(0x1b3),'来源数据集不存在',{'datasetCode':_0x553d17[_0x9c798(0x18c)]['datasetCode']}));!_0x5e5cdd&&_0x17bfb8[_0x9c798(0x1b7)](reason('error',_0x9c798(0x1a1),'目标数据集不存在',{'datasetCode':_0x553d17['to'][_0x9c798(0x1d0)]}));const _0x11990f=fieldIndexOf(_0x18c74f),_0x15ac48=fieldIndexOf(_0x5e5cdd);_0x11990f[_0x9c798(0x1b8)]&&!_0x11990f[_0x9c798(0x1a4)]['has'](_0x553d17[_0x9c798(0x18c)][_0x9c798(0x1c4)])&&_0x17bfb8[_0x9c798(0x1b7)](reason('error',_0x9c798(0x1af),_0x9c798(0x1c5),{'datasetCode':_0x553d17[_0x9c798(0x18c)]['datasetCode'],'field':_0x553d17[_0x9c798(0x18c)]['field']}));_0x15ac48['known']&&!_0x15ac48[_0x9c798(0x1a4)]['has'](_0x553d17['to'][_0x9c798(0x1c4)])&&_0x17bfb8[_0x9c798(0x1b7)](reason(_0x9c798(0x1a7),'target_field_missing','目标字段不存在',{'datasetCode':_0x553d17['to']['datasetCode'],'field':_0x553d17['to']['field']}));_0x553d17[_0x9c798(0x18c)][_0x9c798(0x1c9)]==='METADATA'&&_0x553d17['to']['source']==='DB_TABLE'&&_0x17bfb8[_0x9c798(0x1b7)](reason(_0x9c798(0x1a7),_0x9c798(0x1d1),_0x9c798(0x1a8)));(_0x5c38d4[_0x9c798(0x1d4)](relationKey(_0x553d17))??0x0)>0x1&&_0x17bfb8['push'](reason(_0x9c798(0x18a),_0x9c798(0x1a3),_0x9c798(0x1c8)));const _0x559d2b=trim(_0x553d17['to'][_0x9c798(0x197)]);if(!_0x559d2b)_0x17bfb8[_0x9c798(0x1b7)](reason(_0x9c798(0x199),_0x9c798(0x187),_0x9c798(0x1a0)));else{if(_0x15ac48[_0x9c798(0x1b8)]&&!_0x15ac48[_0x9c798(0x1a4)][_0x9c798(0x196)](_0x559d2b))_0x17bfb8['push'](reason(_0x9c798(0x18a),_0x9c798(0x18b),_0x9c798(0x1a2),{'datasetCode':_0x553d17['to']['datasetCode'],'labelField':_0x559d2b}));else isTechnicalField(_0x559d2b)&&_0x17bfb8[_0x9c798(0x1b7)](reason(_0x9c798(0x18a),_0x9c798(0x1cf),_0x9c798(0x19a),{'labelField':_0x559d2b}));}!trim(_0x553d17[_0x9c798(0x19e)]?.[_0x9c798(0x1b0)])&&_0x17bfb8['push'](reason('manual_review',_0x9c798(0x1bf),_0x9c798(0x190)));const _0xe82d4=statusOf(_0x17bfb8);return{'status':_0xe82d4,'severity':severityOf(_0xe82d4),'manualReviewRequired':_0x17bfb8['some'](_0x25bd1f=>_0x25bd1f[_0x9c798(0x1c2)]===_0x9c798(0x199)),'from':_0x553d17['from'],'to':_0x553d17['to'],..._0x553d17[_0x9c798(0x19e)]?{'relation':_0x553d17[_0x9c798(0x19e)]}:{},'reasons':_0x17bfb8[_0x9c798(0x1b4)](({level:_0x2f8de9,..._0x1d2b85})=>_0x1d2b85)};}function countDuplicateRelations(_0x366fbe){const _0x2e0c88=a66_0xc47d44,_0x2c47d4=new Map();for(const _0x595360 of _0x366fbe){const _0x5c21ce=relationKey(_0x595360);_0x2c47d4[_0x2e0c88(0x1ac)](_0x5c21ce,(_0x2c47d4['get'](_0x5c21ce)??0x0)+0x1);}return _0x2c47d4;}function relationKey(_0x172287){const _0x47a4aa=a66_0xc47d44;return[_0x172287[_0x47a4aa(0x18c)][_0x47a4aa(0x1c9)],_0x172287['from'][_0x47a4aa(0x1d0)],_0x172287[_0x47a4aa(0x18c)][_0x47a4aa(0x1c4)],_0x172287['to'][_0x47a4aa(0x1c9)],_0x172287['to'][_0x47a4aa(0x1d0)],_0x172287['to']['field']][_0x47a4aa(0x1ca)]('\x00');}function fieldIndexOf(_0x3a82e5){const _0x17d3d4=a66_0xc47d44;if(!_0x3a82e5)return{'known':![],'names':new Set()};const _0x386a03=new Set(),_0x14b4a3=_0x3a82e5[_0x17d3d4(0x1be)]??{},_0x3d5da6=Array['isArray'](_0x14b4a3[_0x17d3d4(0x1c6)])?_0x14b4a3['fields']:Array[_0x17d3d4(0x1d6)](_0x14b4a3[_0x17d3d4(0x1c3)])?_0x14b4a3[_0x17d3d4(0x1c3)]:[];for(const _0x45adcb of _0x3d5da6){addFieldName(_0x386a03,_0x45adcb?.['name']),addFieldName(_0x386a03,_0x45adcb?.['code']),addFieldName(_0x386a03,_0x45adcb?.[_0x17d3d4(0x198)]),addFieldName(_0x386a03,_0x45adcb?.[_0x17d3d4(0x1ce)]);}const _0x57c3d5=_0x14b4a3['dbtableConfig']??{};addFieldName(_0x386a03,_0x57c3d5[_0x17d3d4(0x189)]),addFieldName(_0x386a03,_0x57c3d5['labelField']);if(typeof _0x57c3d5['allFields']==='string')for(const _0x754107 of _0x57c3d5[_0x17d3d4(0x1b9)][_0x17d3d4(0x1cb)](',')){addFieldName(_0x386a03,_0x754107);}return{'known':_0x386a03[_0x17d3d4(0x1bc)]>0x0,'names':_0x386a03};}function addFieldName(_0x511c45,_0x533cb8){const _0x1bfad8=a66_0xc47d44,_0x38b727=trim(_0x533cb8);if(_0x38b727)_0x511c45[_0x1bfad8(0x1bb)](_0x38b727);}function a66_0x519f(){const _0x2a33df=['properties','field','来源字段不存在','fields','13978971VvYLYS','存在重复关系定义','source','join','split','low','relation-audit','fieldName','label_field_technical','datasetCode','unsupported_direction','relations','catch','get','\x20manual\x20review\x20item(s)','isArray','55bxxgeJ','str','from-source','status','66bYoeas','detailByCode','index','missing_label_field','object','pkField','warning','label_field_missing','from','dataset','\x20relation(s),\x20','high','关系基数缺失,需要人工确认','\x20error(s),\x20','to-source','code','189978ICFLcp','2122169BuzbiS','has','labelField','columnName','manual_review','目标展示字段可能是技术字段','Dataset\x20relation\x20audit:\x20','--to-source','appCode','relation','Audit\x20dataset\x20relation\x20facts\x20and\x20list\x20structural\x20issues\x20or\x20manual\x20review\x20items','目标关系缺少展示字段,需要人工确认业务展示口径','target_dataset_missing','目标展示字段不存在','duplicate_relation','names','1976172aFCdJm','4041720yjhKeT','error','不支持\x20METADATA\x20到\x20DB_TABLE\x20的关系方向','some','key','sort','set','item','uuid','source_field_missing','cardinality','length','string','source_dataset_missing','map','filter','7066IMVJKK','push','known','allFields','Filter\x20target\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','add','size','toLowerCase','detail','missing_cardinality','619445DfCtml','_id','level'];a66_0x519f=function(){return _0x2a33df;};return a66_0x519f();}function isTechnicalField(_0x4be06d){const _0x2c9b50=a66_0xc47d44,_0x15d1e4=_0x4be06d[_0x2c9b50(0x1bd)]();return _0x15d1e4==='id'||_0x15d1e4===_0x2c9b50(0x1ae)||_0x15d1e4===_0x2c9b50(0x193)||_0x15d1e4===_0x2c9b50(0x1aa)||_0x15d1e4['endsWith'](_0x2c9b50(0x1c1));}function reason(_0x5e3e12,_0x5a942a,_0x5c91e7,_0x2431fe){return{'level':_0x5e3e12,'code':_0x5a942a,'message':_0x5c91e7,..._0x2431fe?{'evidence':_0x2431fe}:{}};}function statusOf(_0x1d8e96){const _0x46e571=a66_0xc47d44;if(_0x1d8e96[_0x46e571(0x1a9)](_0x20b23e=>_0x20b23e[_0x46e571(0x1c2)]===_0x46e571(0x1a7)))return _0x46e571(0x1a7);if(_0x1d8e96[_0x46e571(0x1a9)](_0x339cfe=>_0x339cfe[_0x46e571(0x1c2)]===_0x46e571(0x199)))return _0x46e571(0x199);if(_0x1d8e96[_0x46e571(0x1a9)](_0x2058bd=>_0x2058bd[_0x46e571(0x1c2)]===_0x46e571(0x18a)))return'warning';return'ok';}function severityOf(_0x5cfab5){const _0x4b836d=a66_0xc47d44;if(_0x5cfab5===_0x4b836d(0x1a7))return _0x4b836d(0x18f);if(_0x5cfab5===_0x4b836d(0x199))return'medium';if(_0x5cfab5==='warning')return _0x4b836d(0x1cc);return'none';}function summarize(_0x2e127a){const _0x243363=a66_0xc47d44;return{'ok':_0x2e127a['filter'](_0x56cc4e=>_0x56cc4e[_0x243363(0x1da)]==='ok')[_0x243363(0x1b1)],'warning':_0x2e127a['filter'](_0x33451c=>_0x33451c['status']===_0x243363(0x18a))[_0x243363(0x1b1)],'error':_0x2e127a[_0x243363(0x1b5)](_0x2eaaa1=>_0x2eaaa1[_0x243363(0x1da)]==='error')[_0x243363(0x1b1)],'manualReview':_0x2e127a['filter'](_0x177c10=>_0x177c10['status']===_0x243363(0x199))[_0x243363(0x1b1)]};}
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a67_0x55aff2=a67_0x5225;(function(_0x2ddc70,_0x3973e9){const _0x1d7fd7=a67_0x5225,_0x582c30=_0x2ddc70();while(!![]){try{const _0x39cdaa=-parseInt(_0x1d7fd7(0x159))/0x1+-parseInt(_0x1d7fd7(0x156))/0x2+-parseInt(_0x1d7fd7(0x161))/0x3+-parseInt(_0x1d7fd7(0x158))/0x4*(parseInt(_0x1d7fd7(0x157))/0x5)+parseInt(_0x1d7fd7(0x160))/0x6*(-parseInt(_0x1d7fd7(0x15e))/0x7)+-parseInt(_0x1d7fd7(0x166))/0x8+parseInt(_0x1d7fd7(0x152))/0x9;if(_0x39cdaa===_0x3973e9)break;else _0x582c30['push'](_0x582c30['shift']());}catch(_0x512d9e){_0x582c30['push'](_0x582c30['shift']());}}}(a67_0x4bc0,0xac259));function a67_0x4bc0(){const _0x39319e=['create','53679348mCDmIF','str','\x20->\x20','relation_conflict:\x20relation\x20already\x20exists:\x20','2231786GwHDJl','95cWDheD','285980qSWnoU','278567JbhSGc','Create\x20one\x20dataset\x20relation','validation','write','dataset','21anYVPa','/smartapi/question/er-config/erCreate','2299194DOJWbx','797919HiiHrf','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.','table','appCode','dbId','8726592WpzTPg','column','Created\x20dataset\x20relation:\x20'];a67_0x4bc0=function(){return _0x39319e;};return a67_0x4bc0();}import{createErRelation}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a67_0x5225(_0x1c7dec,_0x21461a){_0x1c7dec=_0x1c7dec-0x150;const _0x4bc085=a67_0x4bc0();let _0x522563=_0x4bc085[_0x1c7dec];return _0x522563;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';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=a67_0x55aff2(0x15f);export const datasetRelationCreate={'service':a67_0x55aff2(0x15d),'command':'relation-create','description':a67_0x55aff2(0x15a),'risk':a67_0x55aff2(0x15c),'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'(_0x3ade47){readRelationInput(_0x3ade47,{'includeLabelAndCardinality':!![]});},async 'dryRun'(_0x13ea9a){const _0x124200=a67_0x55aff2,_0x4240a0=await resolveRequiredDb(_0x13ea9a['appCode'],_0x13ea9a['str']('db')),_0x295e93=readRelationInput(_0x13ea9a,{'includeLabelAndCardinality':!![]});return buildDryRunPreview({'operation':_0x124200(0x151),'appCode':_0x13ea9a['appCode'],'db':_0x4240a0,'input':_0x295e93,'backendPath':BACKEND_PATH});},async 'execute'(_0x212cc8){const _0x1a9637=a67_0x55aff2,_0x2c0048=await resolveRequiredDb(_0x212cc8[_0x1a9637(0x164)],_0x212cc8[_0x1a9637(0x153)]('db')),_0x381646=readRelationInput(_0x212cc8,{'includeLabelAndCardinality':!![]}),{existing:_0x32f1dd,readbackHint:_0x5adae2}=await loadRelationContext(_0x212cc8[_0x1a9637(0x164)],_0x2c0048[_0x1a9637(0x165)],_0x381646);if(_0x32f1dd)throw CliErrors[_0x1a9637(0x15b)](_0x1a9637(0x155)+formatRelationSelector(_0x381646),_0x1a9637(0x162));await createErRelation({'appCode':_0x212cc8[_0x1a9637(0x164)],'dblinkId':_0x2c0048[_0x1a9637(0x165)],'relation':relationToBackend(_0x381646)});const _0x525a73=await verifyRelationMutation({'operation':_0x1a9637(0x151),'appCode':_0x212cc8[_0x1a9637(0x164)],'dbId':_0x2c0048['dbId'],'input':_0x381646,'readbackHint':_0x5adae2});return{'ok':!![],'data':buildMutationData({'operation':_0x1a9637(0x151),'appCode':_0x212cc8[_0x1a9637(0x164)],'db':_0x2c0048,'input':_0x381646,'before':null,'after':_0x525a73['afterReadback'],'verification':_0x525a73,'dryRun':![],'backendPath':BACKEND_PATH}),'message':_0x1a9637(0x150)+_0x381646['from'][_0x1a9637(0x163)]+'.'+_0x381646['from'][_0x1a9637(0x167)]+_0x1a9637(0x154)+_0x381646['to']['table']+'.'+_0x381646['to'][_0x1a9637(0x167)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a68_0x732f(){const _0x2686c=['56NyhyOF','dataset','dbId','/smartapi/question/er-config/erDelete','Delete\x20one\x20dataset\x20relation','6440112pjgFtV','Run\x20dataset\x20relations\x20first\x20to\x20inspect\x20the\x20current\x20dataset\x20relations.','from','164vDWDrx','str','table','high-risk-write','287919qJYBis','27579340IqaeHg','relation_not_found:\x20','2966cvFxfb','471490tnlLuj','46017FSsZPN','7693791QQwBdl','267vQfQXH','\x20->\x20','delete','column','appCode'];a68_0x732f=function(){return _0x2686c;};return a68_0x732f();}const a68_0x41fbe8=a68_0x3c2b;(function(_0x1d6614,_0x1981fe){const _0x2158ce=a68_0x3c2b,_0x34d9a9=_0x1d6614();while(!![]){try{const _0x5a2f26=parseInt(_0x2158ce(0x7f))/0x1*(parseInt(_0x2158ce(0x7b))/0x2)+parseInt(_0x2158ce(0x7d))/0x3*(parseInt(_0x2158ce(0x74))/0x4)+-parseInt(_0x2158ce(0x7c))/0x5+parseInt(_0x2158ce(0x71))/0x6+parseInt(_0x2158ce(0x7e))/0x7+-parseInt(_0x2158ce(0x6c))/0x8*(-parseInt(_0x2158ce(0x78))/0x9)+-parseInt(_0x2158ce(0x79))/0xa;if(_0x5a2f26===_0x1981fe)break;else _0x34d9a9['push'](_0x34d9a9['shift']());}catch(_0x7d428a){_0x34d9a9['push'](_0x34d9a9['shift']());}}}(a68_0x732f,0x8aec6));import{deleteErRelation}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a68_0x3c2b(_0x149793,_0x1a7656){_0x149793=_0x149793-0x6b;const _0x732f41=a68_0x732f();let _0x3c2bbd=_0x732f41[_0x149793];return _0x3c2bbd;}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=a68_0x41fbe8(0x6f);export const datasetRelationDelete={'service':a68_0x41fbe8(0x6d),'command':'relation-delete','description':a68_0x41fbe8(0x70),'risk':a68_0x41fbe8(0x77),'flags':[DB_FLAG,FROM_TABLE_FLAG,FROM_COLUMN_FLAG,TO_TABLE_FLAG,TO_COLUMN_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x56cc01){readRelationInput(_0x56cc01);},async 'dryRun'(_0x19430d){const _0x58a0d1=a68_0x41fbe8,_0x32ba19=await resolveRequiredDb(_0x19430d[_0x58a0d1(0x6b)],_0x19430d[_0x58a0d1(0x75)]('db')),_0x3d78e9=readRelationInput(_0x19430d);return buildDryRunPreview({'operation':_0x58a0d1(0x81),'appCode':_0x19430d['appCode'],'db':_0x32ba19,'input':_0x3d78e9,'backendPath':BACKEND_PATH});},async 'execute'(_0x35f933){const _0x19a421=a68_0x41fbe8,_0x2b07ef=await resolveRequiredDb(_0x35f933[_0x19a421(0x6b)],_0x35f933[_0x19a421(0x75)]('db')),_0x373625=readRelationInput(_0x35f933),_0x336618=await findExistingRelation(_0x35f933[_0x19a421(0x6b)],_0x2b07ef[_0x19a421(0x6e)],_0x373625);if(!_0x336618)throw CliErrors['validation'](_0x19a421(0x7a)+_0x373625['from']['table']+'.'+_0x373625[_0x19a421(0x73)][_0x19a421(0x82)]+_0x19a421(0x80)+_0x373625['to'][_0x19a421(0x76)]+'.'+_0x373625['to'][_0x19a421(0x82)],_0x19a421(0x72));await deleteErRelation({'appCode':_0x35f933[_0x19a421(0x6b)],'dblinkId':_0x2b07ef['dbId'],'relation':relationToBackend(_0x373625)});const _0x5d66ad=await verifyRelationMutation({'operation':_0x19a421(0x81),'appCode':_0x35f933['appCode'],'dbId':_0x2b07ef['dbId'],'input':_0x373625,'before':_0x336618});return{'ok':!![],'data':buildMutationData({'operation':_0x19a421(0x81),'appCode':_0x35f933[_0x19a421(0x6b)],'db':_0x2b07ef,'input':_0x373625,'before':_0x336618,'verification':_0x5d66ad,'dryRun':![],'backendPath':BACKEND_PATH}),'message':'Deleted\x20dataset\x20relation:\x20'+_0x373625[_0x19a421(0x73)][_0x19a421(0x76)]+'.'+_0x373625[_0x19a421(0x73)][_0x19a421(0x82)]+'\x20->\x20'+_0x373625['to']['table']+'.'+_0x373625['to']['column']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a69_0x26ed(){const _0x31809e=['operation','suggestedExpectFlags','toField','sourceType','cardinality\x20is\x20','283yhGSiW','datasetName','from-source','matched','relation\x20was\x20not\x20found\x20after\x20write','to-source','readbackHint','--to-source','code','--to-code','from','column','relations','dbtableConfig','includeLabelAndCardinality','Source\x20table\x20name','dbName','find','join','Database\x20is\x20required.','24wOwjyP','--from-source\x20DB_TABLE','verification','push','fromDatasetCode','toLowerCase','toTableName','5930AzLttB','field','\x20is\x20not\x20supported\x20with\x20','includes','appCode','POST','22788oLVMHL','from-table','15426fTKsjj','dataset','Source\x20METADATA\x20dataset\x20code.\x20Required\x20when\x20--from-source\x20METADATA;\x20forbidden\x20when\x20--from-source\x20DB_TABLE.','modelCode','targetField','--cardinality\x20is\x20only\x20supported\x20for\x20DB_TABLE\x20->\x20DB_TABLE\x20relations.','Target\x20table\x20name.\x20Required\x20when\x20--to-source\x20DB_TABLE;\x20forbidden\x20when\x20--to-source\x20METADATA.','joinType','dbId','METADATA','existing','dbtable','fromField','Relations\x20involving\x20METADATA\x20datasets\x20require\x20an\x20explicit\x20target\x20display\x20field\x20update;\x20provide\x20--to-label-column\x20to\x20avoid\x20a\x20no-op\x20update.','MANY_TO_ONE','name','150ErpYNU','toUpperCase','warnings','toTable','includeDbTable','--to-source\x20METADATA','DB_TABLE','(unknown)','labelField','to-label-column\x20is\x20','3986456XrXuYz','before','4870yEgZsL','7SpTRer','--from-column','relation\x20still\x20exists\x20after\x20delete','1533257OegrCh','METADATA\x20to\x20DB_TABLE\x20ER\x20relation\x20is\x20not\x20supported','--from-source','--from-table','--cardinality','\x20->\x20','toDatasetName','relation','from-column','to-code','validation','table','--db','delete','after','Source\x20endpoint\x20type.\x20Defaults\x20to\x20DB_TABLE;\x20DB_TABLE\x20uses\x20--db/--from-table,\x20METADATA\x20uses\x20--from-code.','toDataset','Would\x20','backendPath','toCode','cardinality','to-column','--from-source\x20METADATA','to-table','12690zPCZgz','trim','Invalid\x20','\x20is\x20required.','Relation\x20cardinality','Database\x20name\x20or\x20dblink\x20ID\x20for\x20DB_TABLE\x20relation\x20mutations','isArray','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.','Target\x20display/label\x20column\x20name\x20for\x20relation\x20display','input','Allowed\x20values:\x20','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.','condition','Invalid\x20--cardinality:\x20','str','string','toFieldLabel','toSourceType','--to-label-column\x20is\x20required\x20when\x20either\x20endpoint\x20is\x20METADATA.','isFinite','refTableLabelName','--from-code','datasetCode','MANY_TO_MANY','tableName','Target\x20column\x20name','141XPXULo',',\x20expected\x20','--to-table','Target\x20METADATA\x20dataset\x20code.\x20Required\x20when\x20--to-source\x20METADATA;\x20forbidden\x20when\x20--to-source\x20DB_TABLE.','from-code','map','refTableName','targetDatasetCode','The\x20backend\x20write\x20call\x20returned,\x20but\x20readback\x20did\x20not\x20match\x20the\x20requested\x20relation\x20state:\x20','--to-label-column','filter','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.','9898187LNZsoe','source','targetDatasetName','toDatasetCode','labelColumn','to-label-column','fromSourceType','Source\x20column\x20name','datasets','Target\x20display/label\x20column\x20name.\x20Required\x20for\x20relation-update;\x20updates\x20involving\x20METADATA\x20datasets\x20can\x20only\x20change\x20this\x20field.'];a69_0x26ed=function(){return _0x31809e;};return a69_0x26ed();}const a69_0x4d6ab2=a69_0x3beb;(function(_0x556b6f,_0x12ea18){const _0x5ebf36=a69_0x3beb,_0x3fef24=_0x556b6f();while(!![]){try{const _0x155f4a=-parseInt(_0x5ebf36(0x20a))/0x1*(-parseInt(_0x5ebf36(0x225))/0x2)+parseInt(_0x5ebf36(0x1ef))/0x3*(-parseInt(_0x5ebf36(0x22b))/0x4)+-parseInt(_0x5ebf36(0x1d5))/0x5*(parseInt(_0x5ebf36(0x23d))/0x6)+-parseInt(_0x5ebf36(0x24a))/0x7*(-parseInt(_0x5ebf36(0x247))/0x8)+-parseInt(_0x5ebf36(0x22d))/0x9*(-parseInt(_0x5ebf36(0x249))/0xa)+-parseInt(_0x5ebf36(0x24d))/0xb*(parseInt(_0x5ebf36(0x21e))/0xc)+-parseInt(_0x5ebf36(0x1fb))/0xd;if(_0x155f4a===_0x12ea18)break;else _0x3fef24['push'](_0x3fef24['shift']());}catch(_0x157dba){_0x3fef24['push'](_0x3fef24['shift']());}}}(a69_0x26ed,0xc37e2));import{getDatasetDetail,getErConfig,listDatasets}from'../../core/api-client.js';import{resolveOneDb}from'../../core/db-resolver.js';import{CliErrors}from'../../errors.js';export const CARDINALITIES=['ONE_TO_ONE','ONE_TO_MANY',a69_0x4d6ab2(0x23b),a69_0x4d6ab2(0x1ec)];const SOURCE_TYPES=[a69_0x4d6ab2(0x243),'METADATA'];export const DB_FLAG={'name':'db','type':a69_0x4d6ab2(0x1e4),'required':!![],'description':a69_0x4d6ab2(0x1da)};export const DB_FLAG_OPTIONAL={...DB_FLAG,'required':![],'description':'Database\x20name\x20or\x20dblink\x20ID.\x20Required\x20when\x20--from-source\x20DB_TABLE;\x20forbidden\x20when\x20--from-source\x20METADATA.'};export const FROM_SOURCE_FLAG={'name':a69_0x4d6ab2(0x20c),'type':a69_0x4d6ab2(0x1e4),'required':![],'enum':[...SOURCE_TYPES],'default':a69_0x4d6ab2(0x243),'description':a69_0x4d6ab2(0x1cc)};export const TO_SOURCE_FLAG={'name':'to-source','type':a69_0x4d6ab2(0x1e4),'required':![],'enum':[...SOURCE_TYPES],'description':'Target\x20endpoint\x20type.\x20Defaults\x20to\x20--from-source;\x20DB_TABLE\x20uses\x20--to-table,\x20METADATA\x20uses\x20--to-code.'};export const FROM_TABLE_FLAG={'name':a69_0x4d6ab2(0x22c),'type':a69_0x4d6ab2(0x1e4),'required':!![],'description':a69_0x4d6ab2(0x219)};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.'};export const FROM_CODE_FLAG={'name':a69_0x4d6ab2(0x1f3),'type':a69_0x4d6ab2(0x1e4),'required':![],'description':a69_0x4d6ab2(0x22f)};export const FROM_COLUMN_FLAG={'name':a69_0x4d6ab2(0x1c5),'type':a69_0x4d6ab2(0x1e4),'required':!![],'description':a69_0x4d6ab2(0x202)};export const TO_TABLE_FLAG={'name':a69_0x4d6ab2(0x1d4),'type':a69_0x4d6ab2(0x1e4),'required':!![],'description':'Target\x20table\x20name'};export const TO_TABLE_FLAG_OPTIONAL={...TO_TABLE_FLAG,'required':![],'description':a69_0x4d6ab2(0x233)};export const TO_CODE_FLAG={'name':a69_0x4d6ab2(0x1c6),'type':a69_0x4d6ab2(0x1e4),'required':![],'description':a69_0x4d6ab2(0x1f2)};export const TO_COLUMN_FLAG={'name':a69_0x4d6ab2(0x1d2),'type':a69_0x4d6ab2(0x1e4),'required':!![],'description':a69_0x4d6ab2(0x1ee)};export const TO_LABEL_COLUMN_FLAG={'name':a69_0x4d6ab2(0x200),'type':'string','required':!![],'description':a69_0x4d6ab2(0x1dd)};export const TO_LABEL_COLUMN_FLAG_OPTIONAL={...TO_LABEL_COLUMN_FLAG,'required':![],'description':a69_0x4d6ab2(0x204)};export const EXPECT_TO_LABEL_COLUMN_FLAG={'name':'expect-to-label-column','type':a69_0x4d6ab2(0x1e4),'required':![],'description':a69_0x4d6ab2(0x1fa)};export const CARDINALITY_FLAG={'name':a69_0x4d6ab2(0x1d1),'type':a69_0x4d6ab2(0x1e4),'required':!![],'enum':[...CARDINALITIES],'description':a69_0x4d6ab2(0x1d9)};export const CARDINALITY_FLAG_OPTIONAL={...CARDINALITY_FLAG,'required':![],'description':a69_0x4d6ab2(0x1e0)};export function readRelationInput(_0xaf05c7,_0x470e38){const _0x859be2=a69_0x4d6ab2,_0x55fb26=readSource(_0xaf05c7['str']('from-source'),'DB_TABLE',_0x859be2(0x1bf)),_0x234b76=readSource(_0xaf05c7['str'](_0x859be2(0x20f)),_0x55fb26,_0x859be2(0x211));if(_0x55fb26===_0x859be2(0x236)&&_0x234b76===_0x859be2(0x243))throw CliErrors[_0x859be2(0x1c7)](_0x859be2(0x24e));const _0x1594f3={'source':_0x55fb26,'column':requiredTrim(_0xaf05c7[_0x859be2(0x1e3)](_0x859be2(0x1c5)),_0x859be2(0x24b))};_0x55fb26===_0x859be2(0x243)?(requiredTrim(_0xaf05c7[_0x859be2(0x1e3)]('db'),'--db'),rejectIfPresent(_0xaf05c7[_0x859be2(0x1e3)]('from-code'),_0x859be2(0x1ea),_0x859be2(0x21f)),_0x1594f3[_0x859be2(0x1c8)]=requiredTrim(_0xaf05c7['str'](_0x859be2(0x22c)),_0x859be2(0x1c0))):(rejectIfPresent(_0xaf05c7[_0x859be2(0x1e3)]('db'),_0x859be2(0x1c9),_0x859be2(0x1d3)),rejectIfPresent(_0xaf05c7[_0x859be2(0x1e3)](_0x859be2(0x22c)),_0x859be2(0x1c0),_0x859be2(0x1d3)),_0x1594f3['code']=requiredTrim(_0xaf05c7[_0x859be2(0x1e3)]('from-code'),'--from-code'));const _0x352b8c={'source':_0x234b76,'column':requiredTrim(_0xaf05c7[_0x859be2(0x1e3)](_0x859be2(0x1d2)),'--to-column')};_0x234b76===_0x859be2(0x243)?(rejectIfPresent(_0xaf05c7[_0x859be2(0x1e3)](_0x859be2(0x1c6)),_0x859be2(0x213),'--to-source\x20DB_TABLE'),_0x352b8c[_0x859be2(0x1c8)]=requiredTrim(_0xaf05c7[_0x859be2(0x1e3)](_0x859be2(0x1d4)),_0x859be2(0x1f1))):(rejectIfPresent(_0xaf05c7[_0x859be2(0x1e3)](_0x859be2(0x1d4)),_0x859be2(0x1f1),_0x859be2(0x242)),_0x352b8c[_0x859be2(0x212)]=requiredTrim(_0xaf05c7['str'](_0x859be2(0x1c6)),_0x859be2(0x213)));const _0x924f55={'from':_0x1594f3,'to':_0x352b8c};if(_0x470e38?.[_0x859be2(0x218)]){const _0x10fab9=optionalTrim(_0xaf05c7['str'](_0x859be2(0x200)));if(_0x10fab9)_0x924f55['to'][_0x859be2(0x1ff)]=_0x10fab9;const _0x395b23=optionalTrim(_0xaf05c7['str']('cardinality'));if(isMetadataInvolved(_0x924f55)){if(_0x395b23)throw CliErrors['validation'](_0x859be2(0x232),_0x859be2(0x1dc));if(!_0x10fab9)throw CliErrors[_0x859be2(0x1c7)](_0x859be2(0x1e7),_0x859be2(0x23a));}else _0x924f55['to'][_0x859be2(0x1ff)]=requiredTrim(_0xaf05c7['str'](_0x859be2(0x200)),_0x859be2(0x1f8)),_0x924f55[_0x859be2(0x1d1)]=normalizeCardinality(_0xaf05c7[_0x859be2(0x1e3)](_0x859be2(0x1d1)));}return _0x924f55;}export function relationToBackend(_0x2cda2b){const _0x55bcaa=a69_0x4d6ab2,_0x21eaad={'columnName':_0x2cda2b['from'][_0x55bcaa(0x215)],'refColumnName':_0x2cda2b['to']['column'],..._0x2cda2b['to'][_0x55bcaa(0x1ff)]?{'refTableLabelName':_0x2cda2b['to'][_0x55bcaa(0x1ff)]}:{},..._0x2cda2b[_0x55bcaa(0x1d1)]?{'cardinality':_0x2cda2b['cardinality']}:{}};return _0x2cda2b[_0x55bcaa(0x214)][_0x55bcaa(0x1fc)]===_0x55bcaa(0x243)?_0x21eaad[_0x55bcaa(0x1ed)]=_0x2cda2b[_0x55bcaa(0x214)]['table']:_0x21eaad[_0x55bcaa(0x222)]=_0x2cda2b[_0x55bcaa(0x214)]['code'],_0x2cda2b['to'][_0x55bcaa(0x1fc)]==='DB_TABLE'?_0x21eaad[_0x55bcaa(0x1f5)]=_0x2cda2b['to']['table']:_0x21eaad[_0x55bcaa(0x1fe)]=_0x2cda2b['to']['code'],isMetadataInvolved(_0x2cda2b)&&(_0x21eaad[_0x55bcaa(0x201)]=_0x2cda2b[_0x55bcaa(0x214)]['source'],_0x21eaad[_0x55bcaa(0x1e6)]=_0x2cda2b['to'][_0x55bcaa(0x1fc)]),_0x21eaad;}export async function resolveRequiredDb(_0x121ebc,_0x457f0f){const _0x189b8f=a69_0x4d6ab2,{db:_0x253279,error:_0x55e944}=await resolveOneDb(_0x121ebc,_0x457f0f[_0x189b8f(0x1d6)]());if(_0x55e944||!_0x253279)throw CliErrors[_0x189b8f(0x1c7)](_0x55e944||_0x189b8f(0x21d));return _0x253279;}export async function resolveDbForInput(_0x17812c,_0x490f9b,_0x396d34){const _0x2b981f=a69_0x4d6ab2;if(_0x490f9b[_0x2b981f(0x214)][_0x2b981f(0x1fc)]===_0x2b981f(0x236))return null;return resolveRequiredDb(_0x17812c,_0x396d34);}export async function findExistingRelation(_0xd9d6b0,_0x25c8a8,_0x525ee4){const _0x161529=a69_0x4d6ab2;return(await loadRelationContext(_0xd9d6b0,_0x25c8a8,_0x525ee4))[_0x161529(0x237)];}export async function loadRelationContext(_0x1174e0,_0x3a495d,_0xf91c56){const _0x49bfd3=await loadRelationContextFromDatasetFacts(_0x1174e0,_0x3a495d,_0xf91c56);if(_0x49bfd3)return _0x49bfd3;const _0x6bd0ed=await getErConfig(_0x1174e0,_0x3a495d);return{'existing':findRelationInConfig(_0x6bd0ed,_0xf91c56),'readbackHint':findRelationReadbackHintInConfig(_0x6bd0ed,_0xf91c56)};}async function loadRelationContextFromDatasetFacts(_0x539bfe,_0x58854b,_0x498b6b){const _0x57b887=a69_0x4d6ab2,_0x2ca2c1=await listDatasets(_0x539bfe);if(!Array[_0x57b887(0x1db)](_0x2ca2c1))return null;const _0x1c2b99=findEndpointDatasetItem(_0x2ca2c1,_0x498b6b[_0x57b887(0x214)],_0x58854b),_0x512e0d=findEndpointDatasetItem(_0x2ca2c1,_0x498b6b['to'],_0x58854b);if(!_0x1c2b99||!_0x512e0d)return null;const _0x3bcd05=buildRelationReadbackHintFromDatasetItems(_0x1c2b99,_0x512e0d,_0x498b6b);return{'existing':await readRelationFromDatasetDetail(_0x498b6b,_0x3bcd05),'readbackHint':_0x3bcd05};}export async function verifyRelationMutation(_0x580218){const _0xdaa77=a69_0x4d6ab2,_0x586549=await readRelationFromDatasetDetail(_0x580218[_0xdaa77(0x1de)],_0x580218[_0xdaa77(0x248)]??_0x580218[_0xdaa77(0x210)]??null);if(_0x580218['operation']===_0xdaa77(0x1ca))return _0x586549&&throwRelationVerificationError(_0x580218[_0xdaa77(0x205)],_0x580218[_0xdaa77(0x1de)],[_0xdaa77(0x24c)]),{'verified':!![],'status':_0xdaa77(0x20d),'afterReadback':null};!_0x586549&&throwRelationVerificationError(_0x580218[_0xdaa77(0x205)],_0x580218[_0xdaa77(0x1de)],[_0xdaa77(0x20e)]);const _0x206627=collectRelationMismatches(_0x580218['input'],_0x586549);return _0x206627['length']>0x0&&throwRelationVerificationError(_0x580218[_0xdaa77(0x205)],_0x580218['input'],_0x206627),{'verified':!![],'status':'matched','afterReadback':_0x586549};}export function findRelationInConfig(_0x844100,_0x52b892){const _0x429172=a69_0x4d6ab2,_0x36c9e6=new Map((_0x844100[_0x429172(0x203)]??[])[_0x429172(0x1f4)](_0x23c6de=>[_0x23c6de[_0x429172(0x1eb)],_0x23c6de]));for(const _0x4909d9 of _0x844100[_0x429172(0x203)]??[]){if(!matchesFromDataset(_0x4909d9,_0x52b892))continue;for(const _0x590372 of _0x4909d9[_0x429172(0x216)]??[]){const _0x2f6441=_0x36c9e6['get'](_0x590372[_0x429172(0x1cd)]);if(!matchesToDataset(_0x2f6441,_0x590372[_0x429172(0x1cd)],_0x52b892))continue;if(sameName(_0x590372[_0x429172(0x239)],_0x52b892['from'][_0x429172(0x215)])&&sameName(_0x590372[_0x429172(0x207)],_0x52b892['to'][_0x429172(0x215)]))return{'from':{..._0x4909d9[_0x429172(0x1ed)]?{'table':_0x4909d9[_0x429172(0x1ed)]}:{},..._0x52b892[_0x429172(0x214)]['source']==='METADATA'&&_0x4909d9['datasetCode']?{'code':_0x4909d9['datasetCode']}:{},..._0x4909d9[_0x429172(0x1eb)]?{'datasetCode':_0x4909d9['datasetCode']}:{},..._0x4909d9[_0x429172(0x20b)]?{'datasetName':_0x4909d9[_0x429172(0x20b)]}:{},'column':_0x590372['fromField']},'to':{..._0x2f6441?.[_0x429172(0x1ed)]?{'table':_0x2f6441[_0x429172(0x1ed)]}:{},..._0x52b892['to'][_0x429172(0x1fc)]===_0x429172(0x236)&&_0x590372[_0x429172(0x1cd)]?{'code':_0x590372['toDataset']}:{},..._0x590372[_0x429172(0x1cd)]?{'datasetCode':_0x590372['toDataset']}:{},..._0x590372[_0x429172(0x1c3)]?{'datasetName':_0x590372[_0x429172(0x1c3)]}:{},'column':_0x590372[_0x429172(0x207)]},'cardinality':_0x590372['joinType']||undefined,'condition':_0x590372[_0x429172(0x1e1)]??null};}}return null;}function a69_0x3beb(_0x3c3647,_0x577e8d){_0x3c3647=_0x3c3647-0x1bf;const _0x26ed3a=a69_0x26ed();let _0x3beb84=_0x26ed3a[_0x3c3647];return _0x3beb84;}function findRelationReadbackHintInConfig(_0x17fde4,_0x3dcf8d){const _0x56bf2c=a69_0x4d6ab2,_0x1e6d87=(_0x17fde4['datasets']??[])['find'](_0x3f3c1a=>matchesFromDataset(_0x3f3c1a,_0x3dcf8d));if(!_0x1e6d87)return null;const _0x467439=(_0x17fde4[_0x56bf2c(0x203)]??[])[_0x56bf2c(0x21b)](_0x314d2c=>{const _0x435db0=_0x56bf2c;if(_0x3dcf8d['to'][_0x435db0(0x1fc)]===_0x435db0(0x236))return sameName(_0x314d2c[_0x435db0(0x1eb)],_0x3dcf8d['to']['code']);return sourceTypeOf(_0x314d2c)===_0x435db0(0x243)&&sameName(_0x314d2c[_0x435db0(0x1ed)],_0x3dcf8d['to'][_0x435db0(0x1c8)]);});if(!_0x467439)return null;return{'from':{..._0x1e6d87['tableName']?{'table':_0x1e6d87[_0x56bf2c(0x1ed)]}:{},..._0x3dcf8d[_0x56bf2c(0x214)][_0x56bf2c(0x1fc)]===_0x56bf2c(0x236)&&_0x1e6d87[_0x56bf2c(0x1eb)]?{'code':_0x1e6d87['datasetCode']}:{},..._0x1e6d87[_0x56bf2c(0x1eb)]?{'datasetCode':_0x1e6d87[_0x56bf2c(0x1eb)]}:{},..._0x1e6d87[_0x56bf2c(0x20b)]?{'datasetName':_0x1e6d87['datasetName']}:{},'column':_0x3dcf8d[_0x56bf2c(0x214)][_0x56bf2c(0x215)]},'to':{..._0x467439[_0x56bf2c(0x1ed)]?{'table':_0x467439[_0x56bf2c(0x1ed)]}:{},..._0x3dcf8d['to'][_0x56bf2c(0x1fc)]==='METADATA'&&_0x467439['datasetCode']?{'code':_0x467439[_0x56bf2c(0x1eb)]}:{},..._0x467439['datasetCode']?{'datasetCode':_0x467439[_0x56bf2c(0x1eb)]}:{},..._0x467439[_0x56bf2c(0x20b)]?{'datasetName':_0x467439['datasetName']}:{},'column':_0x3dcf8d['to'][_0x56bf2c(0x215)],..._0x3dcf8d['to'][_0x56bf2c(0x1ff)]?{'labelColumn':_0x3dcf8d['to'][_0x56bf2c(0x1ff)]}:{}},..._0x3dcf8d[_0x56bf2c(0x1d1)]?{'cardinality':_0x3dcf8d[_0x56bf2c(0x1d1)]}:{},'condition':null};}function findEndpointDatasetItem(_0x5062b2,_0x2160f5,_0x2636eb){const _0x164378=a69_0x4d6ab2;if(_0x2160f5[_0x164378(0x1fc)]===_0x164378(0x236))return _0x5062b2[_0x164378(0x21b)](_0x1a7b07=>{const _0x337d3c=_0x164378;return sourceTypeOfDatasetItem(_0x1a7b07)===_0x337d3c(0x236)&&sameName(datasetCodeOfDatasetItem(_0x1a7b07),_0x2160f5[_0x337d3c(0x212)]);});const _0x2f72b3=_0x5062b2[_0x164378(0x1f9)](_0x2cd709=>{const _0x18c0d7=_0x164378;if(sourceTypeOfDatasetItem(_0x2cd709)!==_0x18c0d7(0x243))return![];if(!sameName(tableNameOfDatasetItem(_0x2cd709),_0x2160f5['table']))return![];const _0x295dca=dbIdOfDatasetItem(_0x2cd709);return _0x2636eb==null||_0x295dca==null||_0x295dca===_0x2636eb;});return _0x2f72b3[0x0];}function buildRelationReadbackHintFromDatasetItems(_0x2bfa93,_0x380a30,_0x2a2335){const _0x474bf4=a69_0x4d6ab2,_0x57a60c=datasetCodeOfDatasetItem(_0x2bfa93),_0x1d0489=datasetCodeOfDatasetItem(_0x380a30);return{'from':{...tableNameOfDatasetItem(_0x2bfa93)?{'table':tableNameOfDatasetItem(_0x2bfa93)}:{},..._0x2a2335[_0x474bf4(0x214)]['source']===_0x474bf4(0x236)&&_0x57a60c?{'code':_0x57a60c}:{},..._0x57a60c?{'datasetCode':_0x57a60c}:{},..._0x2bfa93[_0x474bf4(0x23c)]?{'datasetName':_0x2bfa93['name']}:{},'column':_0x2a2335['from'][_0x474bf4(0x215)]},'to':{...tableNameOfDatasetItem(_0x380a30)?{'table':tableNameOfDatasetItem(_0x380a30)}:{},..._0x2a2335['to'][_0x474bf4(0x1fc)]===_0x474bf4(0x236)&&_0x1d0489?{'code':_0x1d0489}:{},..._0x1d0489?{'datasetCode':_0x1d0489}:{},..._0x380a30[_0x474bf4(0x23c)]?{'datasetName':_0x380a30['name']}:{},'column':_0x2a2335['to'][_0x474bf4(0x215)],..._0x2a2335['to']['labelColumn']?{'labelColumn':_0x2a2335['to']['labelColumn']}:{}},..._0x2a2335[_0x474bf4(0x1d1)]?{'cardinality':_0x2a2335[_0x474bf4(0x1d1)]}:{},'condition':null};}export async function hydrateExistingRelationLabel(_0x173e50,_0x188ed6,_0xe4cc84){const _0x307d35=a69_0x4d6ab2;if(!isMetadataInvolved(_0x173e50)&&!_0xe4cc84?.[_0x307d35(0x241)])return _0x188ed6;if(_0x188ed6['to'][_0x307d35(0x1ff)])return _0x188ed6;const _0x3e95bd=await readCurrentRelationLabel(_0x173e50,_0x188ed6);if(!_0x3e95bd)return _0x188ed6;return{..._0x188ed6,'to':{..._0x188ed6['to'],'labelColumn':_0x3e95bd}};}export async function readCurrentRelationLabel(_0x498de,_0x319504){const _0x5e9a9e=a69_0x4d6ab2;return(await readRelationFromDatasetDetail(_0x498de,_0x319504))?.['to'][_0x5e9a9e(0x1ff)];}async function readRelationFromDatasetDetail(_0x52bbf8,_0x24f7df){const _0x4cf07c=a69_0x4d6ab2,_0x204dc4=_0x24f7df?.[_0x4cf07c(0x214)][_0x4cf07c(0x1eb)]??_0x24f7df?.[_0x4cf07c(0x214)][_0x4cf07c(0x212)]??_0x52bbf8['from']['code'];if(!_0x204dc4)return null;const _0x5aaa5f=await getDatasetDetail(_0x204dc4);return findRelationInDatasetDetail(_0x5aaa5f,_0x52bbf8,_0x24f7df);}function findRelationInDatasetDetail(_0x543e26,_0x332853,_0x3737cf){const _0x1e4d00=a69_0x4d6ab2,_0x564e39=Array[_0x1e4d00(0x1db)](_0x543e26?.[_0x1e4d00(0x216)])?_0x543e26[_0x1e4d00(0x216)]:[],_0x93ebf9=_0x3737cf?.['to'][_0x1e4d00(0x1eb)]??_0x3737cf?.['to'][_0x1e4d00(0x212)]??_0x332853['to']['code'],_0x5608f2=_0x3737cf?.['to']['table']??_0x332853['to'][_0x1e4d00(0x1c8)],_0x54ed33=readDatasetCodeFromDetail(_0x543e26)??_0x3737cf?.[_0x1e4d00(0x214)][_0x1e4d00(0x1eb)]??_0x332853[_0x1e4d00(0x214)]['code'],_0x2b2d10=readDatasetNameFromDetail(_0x543e26)??_0x3737cf?.[_0x1e4d00(0x214)][_0x1e4d00(0x20b)],_0x1bd125=readDatasetTableFromDetail(_0x543e26)??_0x3737cf?.[_0x1e4d00(0x214)][_0x1e4d00(0x1c8)]??_0x332853[_0x1e4d00(0x214)]['table'];for(const _0x4313c1 of _0x564e39){const _0x2a4d4e=optionalTrim(_0x4313c1[_0x1e4d00(0x239)]??_0x4313c1['fromColumn']??_0x4313c1[_0x1e4d00(0x226)]),_0x2bfa62=optionalTrim(_0x4313c1[_0x1e4d00(0x207)]??_0x4313c1['toColumn']??_0x4313c1[_0x1e4d00(0x231)]),_0x29c832=optionalTrim(_0x4313c1[_0x1e4d00(0x1fe)]??_0x4313c1[_0x1e4d00(0x1d0)]??_0x4313c1['toDataset']??_0x4313c1[_0x1e4d00(0x1f6)]),_0x44302c=optionalTrim(_0x4313c1[_0x1e4d00(0x224)]??_0x4313c1[_0x1e4d00(0x240)]??_0x4313c1[_0x1e4d00(0x1f5)]);if(sameName(_0x2a4d4e,_0x332853[_0x1e4d00(0x214)][_0x1e4d00(0x215)])&&sameName(_0x2bfa62,_0x332853['to'][_0x1e4d00(0x215)])&&matchesReadbackTarget(_0x29c832,_0x44302c,_0x93ebf9,_0x5608f2)){const _0x5c2f8c=_0x29c832??_0x3737cf?.['to'][_0x1e4d00(0x1eb)]??_0x332853['to'][_0x1e4d00(0x212)],_0x953cef=_0x44302c??_0x3737cf?.['to'][_0x1e4d00(0x1c8)]??_0x332853['to'][_0x1e4d00(0x1c8)],_0x3fcda=optionalTrim(_0x4313c1[_0x1e4d00(0x1c3)]??_0x4313c1[_0x1e4d00(0x1fd)])??_0x3737cf?.['to'][_0x1e4d00(0x20b)],_0x2dfef1=optionalTrim(_0x4313c1[_0x1e4d00(0x1e5)]??_0x4313c1[_0x1e4d00(0x245)]??_0x4313c1[_0x1e4d00(0x1e9)])??_0x332853['to']['column'],_0x3b417a=normalizeReadbackCardinality(_0x4313c1[_0x1e4d00(0x234)]??_0x4313c1[_0x1e4d00(0x1d1)]??_0x4313c1[_0x1e4d00(0x1c4)]?.['cardinality']);return{'from':{..._0x1bd125?{'table':_0x1bd125}:{},..._0x332853[_0x1e4d00(0x214)][_0x1e4d00(0x1fc)]===_0x1e4d00(0x236)&&_0x54ed33?{'code':_0x54ed33}:{},..._0x54ed33?{'datasetCode':_0x54ed33}:{},..._0x2b2d10?{'datasetName':_0x2b2d10}:{},'column':_0x2a4d4e??_0x332853[_0x1e4d00(0x214)][_0x1e4d00(0x215)]},'to':{..._0x953cef?{'table':_0x953cef}:{},..._0x332853['to'][_0x1e4d00(0x1fc)]===_0x1e4d00(0x236)&&_0x5c2f8c?{'code':_0x5c2f8c}:{},..._0x5c2f8c?{'datasetCode':_0x5c2f8c}:{},..._0x3fcda?{'datasetName':_0x3fcda}:{},'column':_0x2bfa62??_0x332853['to'][_0x1e4d00(0x215)],'labelColumn':_0x2dfef1},..._0x3b417a?{'cardinality':_0x3b417a}:{},'condition':_0x4313c1[_0x1e4d00(0x1e1)]??_0x3737cf?.[_0x1e4d00(0x1e1)]??null};}}return null;}function matchesReadbackTarget(_0x384b57,_0x5543d1,_0x31a540,_0x351c2){if(_0x31a540&&_0x384b57)return sameName(_0x384b57,_0x31a540);if(_0x351c2&&_0x5543d1)return sameName(_0x5543d1,_0x351c2);return![];}function readDatasetCodeFromDetail(_0x2044ab){const _0x448c59=a69_0x4d6ab2;return optionalTrim(_0x2044ab?.[_0x448c59(0x230)]??_0x2044ab?.[_0x448c59(0x212)]??_0x2044ab?.[_0x448c59(0x1eb)]);}function readDatasetNameFromDetail(_0x1e6d76){const _0x34de14=a69_0x4d6ab2,_0x4f97dd=_0x1e6d76?.[_0x34de14(0x22e)]??{};return optionalTrim(_0x1e6d76?.[_0x34de14(0x23c)]??_0x4f97dd[_0x34de14(0x20b)]);}function readDatasetTableFromDetail(_0x4c7898){const _0x425c6c=a69_0x4d6ab2,_0x5f4218=_0x4c7898?.[_0x425c6c(0x22e)]??{},_0x29836c=_0x4c7898?.[_0x425c6c(0x217)]??_0x4c7898?.[_0x425c6c(0x238)]??{};return optionalTrim(_0x29836c['tableName']??_0x5f4218['tableName']);}function normalizeReadbackCardinality(_0xdbc301){const _0x2738d2=a69_0x4d6ab2,_0x4e744d=optionalTrim(_0xdbc301)?.[_0x2738d2(0x23e)]();if(!_0x4e744d)return undefined;return CARDINALITIES[_0x2738d2(0x228)](_0x4e744d)?_0x4e744d:undefined;}function sourceTypeOfDatasetItem(_0x192695){const _0x3673e1=a69_0x4d6ab2,_0x11a195=optionalTrim(_0x192695[_0x3673e1(0x1fc)])?.['toUpperCase']();if(_0x11a195===_0x3673e1(0x243)||_0x11a195===_0x3673e1(0x236))return _0x11a195;return tableNameOfDatasetItem(_0x192695)?'DB_TABLE':'METADATA';}function datasetCodeOfDatasetItem(_0x52eee5){const _0x1cfcda=a69_0x4d6ab2;return optionalTrim(_0x52eee5[_0x1cfcda(0x212)]??_0x52eee5[_0x1cfcda(0x230)]??_0x52eee5['datasetCode']);}function tableNameOfDatasetItem(_0x23195c){const _0x43523c=a69_0x4d6ab2;return optionalTrim(_0x23195c[_0x43523c(0x217)]?.[_0x43523c(0x1ed)]??_0x23195c[_0x43523c(0x1ed)]??_0x23195c[_0x43523c(0x22e)]?.[_0x43523c(0x1ed)]);}function dbIdOfDatasetItem(_0x223b4e){const _0x37427c=a69_0x4d6ab2,_0xcc6f31=_0x223b4e[_0x37427c(0x217)]?.[_0x37427c(0x235)]??_0x223b4e['dbId']??_0x223b4e['db']?.['id'];if(typeof _0xcc6f31==='number'&&Number[_0x37427c(0x1e8)](_0xcc6f31))return _0xcc6f31;if(typeof _0xcc6f31===_0x37427c(0x1e4)&&_0xcc6f31[_0x37427c(0x1d6)]()&&Number[_0x37427c(0x1e8)](Number(_0xcc6f31)))return Number(_0xcc6f31);return null;}export function buildMutationData(_0x41d14b){const _0x4eb204=a69_0x4d6ab2,_0x1da5ee=_0x41d14b[_0x4eb204(0x1cb)]!==undefined?_0x41d14b['after']:_0x41d14b[_0x4eb204(0x205)]===_0x4eb204(0x1ca)?null:{'from':endpointForOutput(_0x41d14b['input'][_0x4eb204(0x214)]),'to':endpointForOutput(_0x41d14b[_0x4eb204(0x1de)]['to']),'cardinality':_0x41d14b['input']['cardinality']};return{'operation':_0x41d14b[_0x4eb204(0x205)],'appCode':_0x41d14b[_0x4eb204(0x229)],'selector':buildRelationSelector(_0x41d14b[_0x4eb204(0x1de)]),'db':_0x41d14b['db']?{'id':_0x41d14b['db'][_0x4eb204(0x235)],'name':_0x41d14b['db'][_0x4eb204(0x21a)]}:null,'before':_0x41d14b[_0x4eb204(0x248)],'after':_0x1da5ee,'dryRun':_0x41d14b['dryRun'],'backend':{'method':_0x4eb204(0x22a),'path':_0x41d14b[_0x4eb204(0x1cf)],'dblinkId':_0x41d14b['db']?.[_0x4eb204(0x235)]??null},..._0x41d14b[_0x4eb204(0x220)]?{'verification':_0x41d14b[_0x4eb204(0x220)]}:{},'warnings':_0x41d14b[_0x4eb204(0x23f)]??[],..._0x41d14b[_0x4eb204(0x206)]?{'suggestedExpectFlags':_0x41d14b[_0x4eb204(0x206)]}:{}};}export function buildDryRunPreview(_0x2241b3){const _0x5e6e26=a69_0x4d6ab2;return{'operation':_0x2241b3[_0x5e6e26(0x205)],'appCode':_0x2241b3[_0x5e6e26(0x229)],'dbId':_0x2241b3['db'][_0x5e6e26(0x235)],'dbName':_0x2241b3['db'][_0x5e6e26(0x21a)],'method':_0x5e6e26(0x22a),'url':_0x2241b3[_0x5e6e26(0x1cf)],'body':{'appCode':_0x2241b3[_0x5e6e26(0x229)],'dblinkId':_0x2241b3['db'][_0x5e6e26(0x235)],'relation':relationToBackend(_0x2241b3[_0x5e6e26(0x1de)])},'description':_0x5e6e26(0x1ce)+_0x2241b3[_0x5e6e26(0x205)]+'\x20dataset\x20relation\x20'+formatRelationSelector(_0x2241b3[_0x5e6e26(0x1de)])};}export function buildRelationSelector(_0x29abd2){const _0x4fb3b1=a69_0x4d6ab2;return{'fromSource':_0x29abd2['from']['source'],'toSource':_0x29abd2['to'][_0x4fb3b1(0x1fc)],..._0x29abd2[_0x4fb3b1(0x214)]['table']?{'fromTable':_0x29abd2['from']['table']}:{},..._0x29abd2[_0x4fb3b1(0x214)][_0x4fb3b1(0x212)]?{'fromCode':_0x29abd2['from'][_0x4fb3b1(0x212)]}:{},'fromColumn':_0x29abd2[_0x4fb3b1(0x214)][_0x4fb3b1(0x215)],..._0x29abd2['to']['table']?{'toTable':_0x29abd2['to'][_0x4fb3b1(0x1c8)]}:{},..._0x29abd2['to'][_0x4fb3b1(0x212)]?{'toCode':_0x29abd2['to'][_0x4fb3b1(0x212)]}:{},'toColumn':_0x29abd2['to']['column']};}export function isMetadataInvolved(_0xe052ac){const _0x3fde8c=a69_0x4d6ab2;return _0xe052ac[_0x3fde8c(0x214)][_0x3fde8c(0x1fc)]===_0x3fde8c(0x236)||_0xe052ac['to']['source']==='METADATA';}function endpointForOutput(_0x394fd1){const _0x11320b=a69_0x4d6ab2;return{..._0x394fd1[_0x11320b(0x1c8)]?{'table':_0x394fd1[_0x11320b(0x1c8)]}:{},..._0x394fd1[_0x11320b(0x212)]?{'code':_0x394fd1[_0x11320b(0x212)]}:{},'column':_0x394fd1[_0x11320b(0x215)],..._0x394fd1['labelColumn']?{'labelColumn':_0x394fd1[_0x11320b(0x1ff)]}:{}};}function matchesFromDataset(_0xa0d2fe,_0x1562a6){const _0x21a38b=a69_0x4d6ab2;if(_0x1562a6[_0x21a38b(0x214)][_0x21a38b(0x1fc)]===_0x21a38b(0x236))return sourceTypeOf(_0xa0d2fe)===_0x21a38b(0x236)&&sameName(_0xa0d2fe['datasetCode'],_0x1562a6[_0x21a38b(0x214)]['code']);return sourceTypeOf(_0xa0d2fe)==='DB_TABLE'&&sameName(_0xa0d2fe[_0x21a38b(0x1ed)],_0x1562a6['from']['table']);}function matchesToDataset(_0x5df463,_0x399085,_0x22b15e){const _0x3efc38=a69_0x4d6ab2;if(_0x22b15e['to'][_0x3efc38(0x1fc)]==='METADATA')return sameName(_0x399085,_0x22b15e['to'][_0x3efc38(0x212)]);return Boolean(_0x5df463)&&sourceTypeOf(_0x5df463)==='DB_TABLE'&&sameName(_0x5df463[_0x3efc38(0x1ed)],_0x22b15e['to'][_0x3efc38(0x1c8)]);}function sourceTypeOf(_0x1670ac){const _0x2201a2=a69_0x4d6ab2;return _0x1670ac[_0x2201a2(0x208)]===_0x2201a2(0x236)?_0x2201a2(0x236):_0x2201a2(0x243);}function readSource(_0x452dc7,_0x2e1647,_0x54f392){const _0x198ab7=a69_0x4d6ab2,_0x3703fc=optionalTrim(_0x452dc7)?.[_0x198ab7(0x23e)]();if(!_0x3703fc)return _0x2e1647;if(!SOURCE_TYPES[_0x198ab7(0x228)](_0x3703fc))throw CliErrors[_0x198ab7(0x1c7)](_0x198ab7(0x1d7)+_0x54f392+':\x20'+_0x452dc7,_0x198ab7(0x1df)+SOURCE_TYPES[_0x198ab7(0x21c)](',\x20'));return _0x3703fc;}function rejectIfPresent(_0x19dc55,_0x57f886,_0x283f2e){const _0x4c7688=a69_0x4d6ab2;if(optionalTrim(_0x19dc55))throw CliErrors[_0x4c7688(0x1c7)](_0x57f886+_0x4c7688(0x227)+_0x283f2e+'.');}function requiredTrim(_0x2dc823,_0x46121b){const _0x344296=a69_0x4d6ab2,_0x3ee3b7=_0x2dc823[_0x344296(0x1d6)]();if(!_0x3ee3b7)throw CliErrors[_0x344296(0x1c7)](_0x46121b+_0x344296(0x1d8));return _0x3ee3b7;}function optionalTrim(_0x5a60a8){const _0x35b2d8=a69_0x4d6ab2;if(typeof _0x5a60a8!==_0x35b2d8(0x1e4))return _0x5a60a8==null?undefined:String(_0x5a60a8)[_0x35b2d8(0x1d6)]()||undefined;const _0x367410=_0x5a60a8[_0x35b2d8(0x1d6)]();return _0x367410||undefined;}function normalizeCardinality(_0x473f26){const _0x3176f1=a69_0x4d6ab2,_0x1af8b0=requiredTrim(_0x473f26,_0x3176f1(0x1c1))[_0x3176f1(0x23e)]();if(!CARDINALITIES[_0x3176f1(0x228)](_0x1af8b0))throw CliErrors[_0x3176f1(0x1c7)](_0x3176f1(0x1e2)+_0x473f26,_0x3176f1(0x1df)+CARDINALITIES[_0x3176f1(0x21c)](',\x20'));return _0x1af8b0;}export function formatRelationSelector(_0x14bb08){const _0x2b0e2f=a69_0x4d6ab2;return formatEndpoint(_0x14bb08[_0x2b0e2f(0x214)])+_0x2b0e2f(0x1c2)+formatEndpoint(_0x14bb08['to']);}function formatEndpoint(_0x13beb5){const _0x460cdd=a69_0x4d6ab2,_0x335a92=_0x13beb5[_0x460cdd(0x1fc)]==='METADATA'?_0x13beb5[_0x460cdd(0x212)]:_0x13beb5[_0x460cdd(0x1c8)];return _0x335a92+'.'+_0x13beb5[_0x460cdd(0x215)];}function sameName(_0x3e86f2,_0x1b2226){const _0x3072e2=a69_0x4d6ab2;return(_0x3e86f2??'')[_0x3072e2(0x1d6)]()['toLowerCase']()===(_0x1b2226??'')[_0x3072e2(0x1d6)]()[_0x3072e2(0x223)]();}function collectRelationMismatches(_0x4e6a67,_0x22e7b5){const _0x362f0a=a69_0x4d6ab2,_0x4784f5=[];if(_0x4e6a67['to']['labelColumn']){if(!_0x22e7b5['to'][_0x362f0a(0x1ff)])_0x4784f5[_0x362f0a(0x221)]('to-label-column\x20is\x20unknown,\x20expected\x20'+_0x4e6a67['to'][_0x362f0a(0x1ff)]);else!sameName(_0x22e7b5['to'][_0x362f0a(0x1ff)],_0x4e6a67['to']['labelColumn'])&&_0x4784f5[_0x362f0a(0x221)](_0x362f0a(0x246)+_0x22e7b5['to']['labelColumn']+_0x362f0a(0x1f0)+_0x4e6a67['to'][_0x362f0a(0x1ff)]);}return _0x4e6a67['cardinality']&&_0x22e7b5[_0x362f0a(0x1d1)]&&!sameName(_0x22e7b5[_0x362f0a(0x1d1)],_0x4e6a67[_0x362f0a(0x1d1)])&&_0x4784f5['push'](_0x362f0a(0x209)+(_0x22e7b5[_0x362f0a(0x1d1)]??_0x362f0a(0x244))+_0x362f0a(0x1f0)+_0x4e6a67[_0x362f0a(0x1d1)]),_0x4784f5;}function throwRelationVerificationError(_0xa08b87,_0x173ae6,_0x10e23b){const _0x3f7969=a69_0x4d6ab2;throw CliErrors[_0x3f7969(0x1c7)]('relation_write_not_verified:\x20'+_0xa08b87+'\x20'+formatRelationSelector(_0x173ae6),_0x3f7969(0x1f7)+_0x10e23b['join'](';\x20')+'.');}
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a70_0x11d76b=a70_0x5e87;(function(_0x44e7b3,_0x3b9d9f){const _0x259c0d=a70_0x5e87,_0x386e5c=_0x44e7b3();while(!![]){try{const _0x407aec=-parseInt(_0x259c0d(0x181))/0x1+parseInt(_0x259c0d(0x189))/0x2+-parseInt(_0x259c0d(0x18f))/0x3*(-parseInt(_0x259c0d(0x17d))/0x4)+parseInt(_0x259c0d(0x17c))/0x5+-parseInt(_0x259c0d(0x179))/0x6+-parseInt(_0x259c0d(0x191))/0x7+-parseInt(_0x259c0d(0x17a))/0x8;if(_0x407aec===_0x3b9d9f)break;else _0x386e5c['push'](_0x386e5c['shift']());}catch(_0x5e2689){_0x386e5c['push'](_0x386e5c['shift']());}}}(a70_0x23d9,0xbef27));import{updateErRelation}from'../../core/api-client.js';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';const BACKEND_PATH=a70_0x11d76b(0x18b);function a70_0x23d9(){const _0x2cd0de=['dataset','1292256keyOkV','2929128suoxgm','(unknown)','5909990NzXRFr','1144nTNYZA','Updated\x20dataset\x20relation:\x20','POST','str','378776uVZJJI','labelColumn','validation','dbName','Expectation\x20mismatch:\x20current\x20to-label-column\x20is\x20','afterReadback','no_drift_check_applied','Update\x20one\x20dataset\x20relation','1234240FhRsDj','expect-to-label-column','/smartapi/question/er-config/update-single','appCode','update',',\x20expected\x20','2799lcfbYL','dbId','2264808xSHzHP','relation-update','No\x20--expect-to-label-column\x20was\x20provided.\x20Pass\x20the\x20suggested\x20expect\x20flag\x20for\x20optimistic\x20concurrency\x20control.','trim','relation_not_found:\x20'];a70_0x23d9=function(){return _0x2cd0de;};return a70_0x23d9();}function a70_0x5e87(_0x3fe862,_0x3bc8ba){_0x3fe862=_0x3fe862-0x177;const _0x23d9be=a70_0x23d9();let _0x5e87cb=_0x23d9be[_0x3fe862];return _0x5e87cb;}export const datasetRelationUpdate={'service':a70_0x11d76b(0x178),'command':a70_0x11d76b(0x192),'description':a70_0x11d76b(0x188),'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'(_0x2cddce){readRelationInput(_0x2cddce,{'includeLabelAndCardinality':!![]});},async 'dryRun'(_0x5b1ae7){const _0x19d2c2=a70_0x11d76b,_0x232411=readRelationInput(_0x5b1ae7,{'includeLabelAndCardinality':!![]}),_0x3b052d=await resolveDbForInput(_0x5b1ae7[_0x19d2c2(0x18c)],_0x232411,_0x5b1ae7['str']('db'));if(!isMetadataInvolved(_0x232411))return{'operation':_0x19d2c2(0x18d),'appCode':_0x5b1ae7[_0x19d2c2(0x18c)],'dbId':_0x3b052d['dbId'],'dbName':_0x3b052d[_0x19d2c2(0x184)],'method':_0x19d2c2(0x17f),'url':BACKEND_PATH,'body':{'appCode':_0x5b1ae7[_0x19d2c2(0x18c)],'dblinkId':_0x3b052d['dbId'],'relation':relationToBackend(_0x232411)},'description':'Would\x20update\x20dataset\x20relation\x20'+formatRelationSelector(_0x232411)};const _0x1b986d=await loadExistingRelationForUpdate(_0x5b1ae7[_0x19d2c2(0x18c)],_0x3b052d?.['dbId']??null,_0x232411,{'hydrateLabel':!![]}),{warnings:_0xa31ed6,suggestedExpectFlags:_0x4397fd}=buildDriftWarnings(_0x5b1ae7[_0x19d2c2(0x180)](_0x19d2c2(0x18a)),_0x1b986d,_0x232411);return{'method':'POST','url':BACKEND_PATH,'body':{'appCode':_0x5b1ae7['appCode'],'dblinkId':_0x3b052d?.[_0x19d2c2(0x190)]??null,'relation':relationToBackend(_0x232411)},...buildMutationData({'operation':_0x19d2c2(0x18d),'appCode':_0x5b1ae7[_0x19d2c2(0x18c)],'db':_0x3b052d,'input':_0x232411,'before':_0x1b986d,'dryRun':!![],'backendPath':BACKEND_PATH,'warnings':_0xa31ed6,'suggestedExpectFlags':_0x4397fd})};},async 'execute'(_0x347f2){const _0x417076=a70_0x11d76b,_0x582e3b=readRelationInput(_0x347f2,{'includeLabelAndCardinality':!![]}),_0x412d68=await resolveDbForInput(_0x347f2[_0x417076(0x18c)],_0x582e3b,_0x347f2['str']('db')),_0xa5d94=_0x347f2[_0x417076(0x180)](_0x417076(0x18a)),_0x5bbba7=await loadExistingRelationForUpdate(_0x347f2['appCode'],_0x412d68?.[_0x417076(0x190)]??null,_0x582e3b,{'hydrateLabel':isMetadataInvolved(_0x582e3b)||Boolean(_0xa5d94[_0x417076(0x194)]())});validateExpectedLabel(_0xa5d94,_0x5bbba7);const {warnings:_0x558941,suggestedExpectFlags:_0x56b909}=buildDriftWarnings(_0xa5d94,_0x5bbba7,_0x582e3b);await updateErRelation({'appCode':_0x347f2[_0x417076(0x18c)],'dblinkId':_0x412d68?.['dbId']??null,'relation':relationToBackend(_0x582e3b)});const _0x37987d=await verifyRelationMutation({'operation':_0x417076(0x18d),'appCode':_0x347f2[_0x417076(0x18c)],'dbId':_0x412d68?.[_0x417076(0x190)]??null,'input':_0x582e3b,'before':_0x5bbba7});return{'ok':!![],'data':buildMutationData({'operation':'update','appCode':_0x347f2[_0x417076(0x18c)],'db':_0x412d68,'input':_0x582e3b,'before':_0x5bbba7,'dryRun':![],'backendPath':BACKEND_PATH,'after':_0x37987d[_0x417076(0x186)],'verification':_0x37987d,'warnings':_0x558941,'suggestedExpectFlags':_0x56b909}),'message':_0x417076(0x17e)+formatRelationSelector(_0x582e3b)};}};async function loadExistingRelationForUpdate(_0x5e8cfc,_0x79e9fa,_0x347095,_0xc85fb8){const _0x2afcf7=a70_0x11d76b,_0x302080=await findExistingRelation(_0x5e8cfc,_0x79e9fa,_0x347095);if(!_0x302080)throw CliErrors[_0x2afcf7(0x183)](_0x2afcf7(0x177)+formatRelationSelector(_0x347095),'Use\x20dataset\x20relation-create\x20to\x20create\x20a\x20new\x20relation.');if(!_0xc85fb8?.['hydrateLabel'])return _0x302080;return hydrateExistingRelationLabel(_0x347095,_0x302080,{'includeDbTable':!![]});}function validateExpectedLabel(_0x521076,_0xb70fb9){const _0xbd6292=a70_0x11d76b,_0x36df91=_0x521076[_0xbd6292(0x194)]();if(!_0x36df91)return;const _0x2bb832=_0xb70fb9['to']['labelColumn'];if(_0x2bb832!==_0x36df91)throw CliErrors[_0xbd6292(0x183)](_0xbd6292(0x185)+(_0x2bb832??_0xbd6292(0x17b))+_0xbd6292(0x18e)+_0x36df91+'.');}function buildDriftWarnings(_0x188f30,_0x4e4ba8,_0x36b5be){const _0x16371c=a70_0x11d76b;if(!isMetadataInvolved(_0x36b5be)||_0x188f30['trim']()||!_0x4e4ba8['to']['labelColumn'])return{'warnings':[],'suggestedExpectFlags':undefined};return{'warnings':[{'code':_0x16371c(0x187),'message':_0x16371c(0x193)}],'suggestedExpectFlags':{'--expect-to-label-column':_0x4e4ba8['to'][_0x16371c(0x182)]}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a71_0x1cea70=a71_0x2267;(function(_0x4878c3,_0x4d04ac){const _0x5093cf=a71_0x2267,_0x3d9337=_0x4878c3();while(!![]){try{const _0x4b2d55=-parseInt(_0x5093cf(0x85))/0x1*(parseInt(_0x5093cf(0x92))/0x2)+-parseInt(_0x5093cf(0xbd))/0x3+-parseInt(_0x5093cf(0xa8))/0x4*(parseInt(_0x5093cf(0xc2))/0x5)+-parseInt(_0x5093cf(0x89))/0x6*(parseInt(_0x5093cf(0x9e))/0x7)+parseInt(_0x5093cf(0x94))/0x8*(parseInt(_0x5093cf(0xae))/0x9)+-parseInt(_0x5093cf(0x96))/0xa*(parseInt(_0x5093cf(0xb2))/0xb)+parseInt(_0x5093cf(0x90))/0xc;if(_0x4b2d55===_0x4d04ac)break;else _0x3d9337['push'](_0x3d9337['shift']());}catch(_0x2740fc){_0x3d9337['push'](_0x3d9337['shift']());}}}(a71_0x820e,0x1feec));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';export const SOURCE_TYPES=[a71_0x1cea70(0xba),a71_0x1cea70(0xb4)];const DEFAULT_DO_VERSION='v2';export const datasetRelations={'service':a71_0x1cea70(0xb0),'command':'relations','description':a71_0x1cea70(0x8a)+a71_0x1cea70(0xa5),'risk':a71_0x1cea70(0x8e),'flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a71_0x1cea70(0x8c),'type':'string','required':![],'enum':[...SOURCE_TYPES],'description':a71_0x1cea70(0x95)},{'name':'to-source','type':'string','required':![],'enum':[...SOURCE_TYPES],'description':a71_0x1cea70(0xb3)},{'name':a71_0x1cea70(0x9f),'type':'string','required':![],'enum':['v1','v2'],'description':a71_0x1cea70(0xa2)}],async 'validate'(_0x1620af){const _0x1cda5c=a71_0x1cea70;readSourceFilter(_0x1620af[_0x1cda5c(0xab)]('from-source'),'--from-source'),readSourceFilter(_0x1620af[_0x1cda5c(0xab)](_0x1cda5c(0xbc)),_0x1cda5c(0xa1)),rejectUnsupportedDirection(readSourceFilter(_0x1620af[_0x1cda5c(0xab)]('from-source'),'--from-source'),readSourceFilter(_0x1620af['str']('to-source'),_0x1cda5c(0xa1)));},async 'execute'(_0x34e68c){const _0x52f684=a71_0x1cea70,_0x487010=await collectDatasetRelationFacts(_0x34e68c);return{'ok':!![],'data':{'appCode':_0x34e68c[_0x52f684(0xc8)],'total':_0x487010[_0x52f684(0xca)][_0x52f684(0x9a)],'relations':_0x487010[_0x52f684(0xca)]},'message':_0x52f684(0xc6)+_0x487010[_0x52f684(0xca)][_0x52f684(0x9a)]+_0x52f684(0xb8)};}};function a71_0x2267(_0x306957,_0x23fe5c){_0x306957=_0x306957-0x84;const _0x820e05=a71_0x820e();let _0x2267f3=_0x820e05[_0x306957];return _0x2267f3;}export async function collectDatasetRelationFacts(_0x3452c9,_0x15ebfb){const _0x479c24=a71_0x1cea70,_0x51dd07=trim(_0x3452c9['str'](_0x479c24(0xa7))),_0x138239=readSourceFilter(_0x3452c9['str'](_0x479c24(0x8c)),'--from-source'),_0x2bb199=readSourceFilter(_0x3452c9[_0x479c24(0xab)](_0x479c24(0xbc)),_0x479c24(0xa1)),_0x576656=trim(_0x3452c9['str'](_0x479c24(0x9f))||DEFAULT_DO_VERSION)['toLowerCase']();!_0x15ebfb?.[_0x479c24(0xa0)]&&rejectUnsupportedDirection(_0x138239,_0x2bb199);const _0x1628eb=await listDatasets(_0x3452c9[_0x479c24(0xc8)],{..._0x51dd07?{'code':_0x51dd07}:{}}),_0x4a2e20=new Map();for(const _0x2acb90 of _0x1628eb){const _0x1f0ad3=datasetCodeOf(_0x2acb90);if(_0x1f0ad3)_0x4a2e20[_0x479c24(0x97)](_0x1f0ad3,_0x2acb90);}const _0x4a8fdd=_0x51dd07?[toDatasetInfo(await getDatasetDetail(_0x51dd07),_0x4a2e20['get'](_0x51dd07))]:await Promise[_0x479c24(0x88)](_0x1628eb[_0x479c24(0xa9)](async _0x49e145=>toDatasetInfo(await getDatasetDetail(datasetCodeOf(_0x49e145)),_0x49e145))),_0x4435eb=_0x4a8fdd[_0x479c24(0xc5)](_0x5e9ab9=>{const _0x487740=_0x479c24;if(_0x576656&&normalizeDoVersion(_0x5e9ab9[_0x487740(0x86)])!==_0x576656)return![];return!![];}),_0x4cac99=new Map(_0x4435eb[_0x479c24(0xa9)](_0x41792d=>[_0x41792d['code'],_0x41792d])),_0x6db674=_0x4435eb[_0x479c24(0x91)](_0x20d04f=>{const _0x365444=_0x479c24,_0x46d038=Array[_0x365444(0xc1)](_0x20d04f[_0x365444(0xaf)][_0x365444(0xca)])?_0x20d04f[_0x365444(0xaf)]['relations']:[];return _0x46d038[_0x365444(0x91)](_0x32ebf6=>{const _0x2e7ad5=_0x365444,_0x4b4b14=trim(_0x32ebf6[_0x2e7ad5(0x87)]??_0x32ebf6[_0x2e7ad5(0xb5)]??_0x32ebf6['field']),_0x30ad83=trim(_0x32ebf6['toDatasetCode']??_0x32ebf6['toCode']??_0x32ebf6[_0x2e7ad5(0xac)]??_0x32ebf6['targetDatasetCode']),_0x54aa03=trim(_0x32ebf6[_0x2e7ad5(0x98)]??_0x32ebf6['toColumn']??_0x32ebf6[_0x2e7ad5(0x84)]);if(!_0x4b4b14||!_0x30ad83||!_0x54aa03)return[];const _0x3b3968=_0x4cac99[_0x2e7ad5(0x8f)](_0x30ad83)??(_0x4a2e20[_0x2e7ad5(0xaa)](_0x30ad83)?toDatasetInfo(_0x4a2e20[_0x2e7ad5(0x8f)](_0x30ad83)??{},_0x4a2e20['get'](_0x30ad83)):undefined),_0x365b1e=_0x3b3968?.['source']??sourceOf(_0x32ebf6[_0x2e7ad5(0xc4)]??_0x32ebf6[_0x2e7ad5(0xb9)]??_0x32ebf6['sourceType'],_0x32ebf6[_0x2e7ad5(0xbf)]);if(_0x20d04f['source']==='METADATA'&&_0x365b1e===_0x2e7ad5(0xba)&&!_0x15ebfb?.[_0x2e7ad5(0xa0)])return[];if(_0x138239&&_0x20d04f[_0x2e7ad5(0xb6)]!==_0x138239)return[];if(_0x2bb199&&_0x365b1e!==_0x2bb199)return[];const _0x3424bd=readRelationLabelField(_0x32ebf6),_0x2e16b9=normalizeCardinality(_0x32ebf6[_0x2e7ad5(0xc0)]??_0x32ebf6[_0x2e7ad5(0xbb)]);return[{'from':{'source':_0x20d04f[_0x2e7ad5(0xb6)],'datasetCode':_0x20d04f['code'],..._0x20d04f[_0x2e7ad5(0xa4)]?{'datasetName':_0x20d04f[_0x2e7ad5(0xa4)]}:{},..._0x20d04f[_0x2e7ad5(0xb1)]?{'table':_0x20d04f['table']}:{},'field':_0x4b4b14},'to':{'source':_0x365b1e,'datasetCode':_0x30ad83,'datasetName':_0x3b3968?.[_0x2e7ad5(0xa4)]??trim(_0x32ebf6[_0x2e7ad5(0x9d)]),..._0x3b3968?.['table']?{'table':_0x3b3968['table']}:{},'field':_0x54aa03,..._0x3424bd?{'labelField':_0x3424bd}:{}},..._0x2e16b9?{'relation':{'cardinality':_0x2e16b9}}:{}}];});});return{'appCode':_0x3452c9[_0x479c24(0xc8)],..._0x51dd07?{'datasetCode':_0x51dd07}:{},'relations':_0x6db674,'detailByCode':_0x4cac99,'listByCode':_0x4a2e20};}function a71_0x820e(){const _0x9296f=['Dataset\x20relations:\x20','datasetCode','appCode','ONE_TO_MANY','relations','targetField','96NCerIw','doVersion','fromField','all','1290fHgrHa','List\x20V2\x20dataset\x20relation\x20facts\x20using\x20datasetCode\x20+\x20field\x20as\x20the\x20primary\x20locator.\x20','ONE_TO_ONE','from-source','Invalid\x20','read','get','3421512zztHAl','flatMap','178CAYDLh','MANY_TO_ONE','8YFuTWq','Filter\x20source\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','575780EJVkJx','set','toField','METADATA\x20to\x20DB_TABLE\x20dataset\x20relation\x20is\x20not\x20supported','length','sourceType','refTableLabelName','toDatasetName','2513QMkWru','do-version','includeUnsupportedDirections','--to-source','Legacy\x20troubleshooting\x20filter\x20for\x20dataset\x20version;\x20defaults\x20to\x20v2','modelCode','name','Supports\x20DB_TABLE\x20->\x20DB_TABLE,\x20DB_TABLE\x20->\x20METADATA,\x20and\x20METADATA\x20->\x20METADATA.','toFieldLabel','datasetcode','268BEfQnM','map','has','str','toDataset','dbtableConfig','860157WAlfsa','detail','dataset','table','11bRRYPk','Filter\x20target\x20dataset\x20type:\x20DB_TABLE\x20or\x20METADATA','METADATA','fromColumn','source','includes','\x20relation(s)','toSource','DB_TABLE','cardinality','to-source','143511ncziEc','tableName','toTableName','joinType','isArray','4385cBxjJy','code','toSourceType','filter'];a71_0x820e=function(){return _0x9296f;};return a71_0x820e();}export function toDatasetInfo(_0x5fb5e5,_0x497db3){const _0x4e0fe9=a71_0x1cea70,_0xbc325d=_0x5fb5e5[_0x4e0fe9(0xb0)]??{},_0x359073=_0x5fb5e5[_0x4e0fe9(0xad)]??_0x497db3?.[_0x4e0fe9(0xad)]??{},_0x5aca91=datasetCodeOf(_0x5fb5e5)||datasetCodeOf(_0x497db3??{});return{'code':_0x5aca91,'name':_0x5fb5e5['name']??_0xbc325d['datasetName']??_0x497db3?.['name'],'source':sourceOf(_0x5fb5e5[_0x4e0fe9(0xb6)]??_0xbc325d[_0x4e0fe9(0x9b)]??_0x497db3?.[_0x4e0fe9(0xb6)],_0x359073[_0x4e0fe9(0xbe)]),'table':_0x359073[_0x4e0fe9(0xbe)]??_0xbc325d['tableName'],'doVersion':_0x5fb5e5[_0x4e0fe9(0x86)]??_0xbc325d[_0x4e0fe9(0x86)]??_0x497db3?.[_0x4e0fe9(0x86)],'detail':_0x5fb5e5};}export function datasetCodeOf(_0xaadf9c){const _0x19f716=a71_0x1cea70;return trim(_0xaadf9c[_0x19f716(0xa3)]??_0xaadf9c[_0x19f716(0xc3)]??_0xaadf9c[_0x19f716(0xc7)]);}export function sourceOf(_0x1584c4,_0x2b5e98){const _0x53980f=a71_0x1cea70,_0x3f8eb9=trim(_0x1584c4)['toUpperCase']();if(_0x3f8eb9==='DB_TABLE'||_0x3f8eb9==='METADATA')return _0x3f8eb9;return _0x2b5e98?_0x53980f(0xba):_0x53980f(0xb4);}export function readSourceFilter(_0x48de43,_0x5702ed){const _0x2766d0=a71_0x1cea70,_0x153701=trim(_0x48de43)['toUpperCase']();if(!_0x153701)return undefined;if(_0x153701==='DB_TABLE'||_0x153701===_0x2766d0(0xb4))return _0x153701;throw CliErrors['validation'](_0x2766d0(0x8d)+_0x5702ed+':\x20'+_0x48de43,'Allowed\x20values:\x20DB_TABLE,\x20METADATA.');}function rejectUnsupportedDirection(_0x4098d7,_0x430630){const _0x265c08=a71_0x1cea70;if(_0x4098d7===_0x265c08(0xb4)&&_0x430630==='DB_TABLE')throw CliErrors['validation'](_0x265c08(0x99));}function normalizeDoVersion(_0x14f3c0){return trim(_0x14f3c0)['toLowerCase']();}function normalizeCardinality(_0x5403ab){const _0x4828b8=a71_0x1cea70,_0x4c3632=trim(_0x5403ab)['toUpperCase']();if(!_0x4c3632)return undefined;return[_0x4828b8(0x8b),_0x4828b8(0xc9),_0x4828b8(0x93),'MANY_TO_MANY'][_0x4828b8(0xb7)](_0x4c3632)?_0x4c3632:undefined;}function readRelationLabelField(_0x3ec8c1){const _0x3076a4=a71_0x1cea70;return trim(_0x3ec8c1[_0x3076a4(0xa6)]??_0x3ec8c1[_0x3076a4(0x9c)]??_0x3ec8c1['labelField']);}export function trim(_0x10c2bf){return typeof _0x10c2bf==='string'?_0x10c2bf['trim']():'';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a72_0x5a8b18=a72_0x1566;(function(_0x545aad,_0x409c87){const _0x419db4=a72_0x1566,_0x112ae7=_0x545aad();while(!![]){try{const _0x4270e2=parseInt(_0x419db4(0x156))/0x1+-parseInt(_0x419db4(0x143))/0x2+parseInt(_0x419db4(0x13d))/0x3*(parseInt(_0x419db4(0x141))/0x4)+-parseInt(_0x419db4(0x140))/0x5+-parseInt(_0x419db4(0x139))/0x6+parseInt(_0x419db4(0x137))/0x7+-parseInt(_0x419db4(0x151))/0x8;if(_0x4270e2===_0x409c87)break;else _0x112ae7['push'](_0x112ae7['shift']());}catch(_0x4bd51b){_0x112ae7['push'](_0x112ae7['shift']());}}}(a72_0x2852,0xe71ac));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:_0x15c1c8,dryRun:_0x3deb3b}){const _0x25c5d9=a72_0x1566;validateInput(_0x15c1c8);const _0x126c43=await getDatasetDetail(_0x15c1c8['code']),_0xc6a2d0=resolveCurrentName(_0x126c43);if(_0xc6a2d0!==_0x15c1c8[_0x25c5d9(0x15b)])throw CliErrors[_0x25c5d9(0x13a)](_0x25c5d9(0x15e),'Expected\x20'+JSON[_0x25c5d9(0x14b)](_0x15c1c8['expectName'])+_0x25c5d9(0x15c)+JSON[_0x25c5d9(0x14b)](_0xc6a2d0));const _0x51224c=buildRenameRequest(_0x126c43,_0x15c1c8),_0x26c5d0=_0xc6a2d0!==_0x15c1c8['name'];let _0x3b2396;return _0x26c5d0&&!_0x3deb3b&&(_0x3b2396=await updateDrivenData(_0x51224c)),{'ok':!![],'data':{'dataset':{'id':_0x51224c[_0x25c5d9(0x138)],'code':_0x51224c['modelCode']},'dryRun':_0x3deb3b,'changed':_0x26c5d0,'before':{'name':_0xc6a2d0},'after':{'name':_0x15c1c8[_0x25c5d9(0x142)]},'request':_0x51224c,'submitted':_0x26c5d0&&!_0x3deb3b,..._0x3b2396!==undefined?{'version':_0x3b2396}:{}},'message':_0x26c5d0?_0x3deb3b?_0x25c5d9(0x154)+_0x51224c[_0x25c5d9(0x144)]+_0x25c5d9(0x14c)+_0x15c1c8['name']:_0x25c5d9(0x13f)+_0x51224c[_0x25c5d9(0x144)]+_0x25c5d9(0x15d)+_0x15c1c8[_0x25c5d9(0x142)]:'No\x20changes\x20for\x20dataset\x20'+_0x51224c[_0x25c5d9(0x144)]};}export const datasetRename={'service':a72_0x5a8b18(0x15f),'command':'rename','description':'Rename\x20dataset\x20display\x20name\x20safely','risk':a72_0x5a8b18(0x13b),'flags':[CODE_FLAG,{'name':a72_0x5a8b18(0x142),'type':a72_0x5a8b18(0x149),'required':!![],'description':'New\x20dataset\x20display\x20name'},{'name':a72_0x5a8b18(0x147),'type':a72_0x5a8b18(0x149),'required':!![],'description':a72_0x5a8b18(0x13c)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3e541e){validateInput(readDatasetRenameInput(_0x3e541e));},async 'dryRun'(_0x3118f3){const _0x5ed326=a72_0x5a8b18,_0x2ee824=await buildDatasetRenameResult({'input':readDatasetRenameInput(_0x3118f3),'dryRun':!![]});return{'method':'POST','url':_0x5ed326(0x13e),'body':_0x2ee824[_0x5ed326(0x14a)][_0x5ed326(0x14f)],'description':_0x2ee824[_0x5ed326(0x14d)],..._0x2ee824[_0x5ed326(0x14a)]};},async 'execute'(_0xa03b20){return buildDatasetRenameResult({'input':readDatasetRenameInput(_0xa03b20),'dryRun':![]});}};function a72_0x1566(_0x883a0c,_0x3dfee2){_0x883a0c=_0x883a0c-0x137;const _0x285299=a72_0x2852();let _0x156655=_0x285299[_0x883a0c];return _0x156655;}function readDatasetRenameInput(_0x533f6f){const _0x1a293e=a72_0x5a8b18;return{'code':trim(_0x533f6f[_0x1a293e(0x146)]('code')),'name':trim(_0x533f6f[_0x1a293e(0x146)](_0x1a293e(0x142))),'expectName':trim(_0x533f6f['str'](_0x1a293e(0x147)))};}function a72_0x2852(){const _0x638f94=['datasetName','string','data','stringify','\x20would\x20be\x20renamed\x20to\x20','message','datasetCode','request','isArray','529992nBURfQ','--code\x20is\x20required','trim','Dry-run:\x20dataset\x20','Dataset\x20detail\x20does\x20not\x20contain\x20dataset\x20id','754224gBXNYY','code','datasetId','object','--name\x20is\x20required','expectName',',\x20actual\x20','\x20to\x20','Expectation\x20mismatch\x20at\x20dataset.name','dataset','11175129PNtvZu','modelId','9905934OjPeIC','validation','write','Expected\x20current\x20dataset\x20display\x20name;\x20mismatch\x20aborts\x20without\x20writing','1841832iNULYg','/smartapi/dataset/update-driven-data','Renamed\x20dataset\x20','2978500vBBJBa','12HFwXzG','name','1865922LJhbgd','modelCode','Dataset\x20detail\x20does\x20not\x20contain\x20dataset\x20code','str','expect-name'];a72_0x2852=function(){return _0x638f94;};return a72_0x2852();}function validateInput(_0x573467){const _0x1e4309=a72_0x5a8b18;if(!_0x573467[_0x1e4309(0x157)])throw CliErrors[_0x1e4309(0x13a)](_0x1e4309(0x152));if(!_0x573467[_0x1e4309(0x142)])throw CliErrors[_0x1e4309(0x13a)](_0x1e4309(0x15a));if(!_0x573467[_0x1e4309(0x15b)])throw CliErrors['validation']('--expect-name\x20is\x20required');}function resolveCurrentName(_0x4b39fe){const _0xf44dcb=a72_0x5a8b18;return String(_0x4b39fe[_0xf44dcb(0x15f)]?.[_0xf44dcb(0x148)]??_0x4b39fe[_0xf44dcb(0x142)]??'')[_0xf44dcb(0x153)]();}function buildRenameRequest(_0x4f858,_0x138d5a){const _0x12dc6a=a72_0x5a8b18,_0x47d271=isPlainObject(_0x4f858[_0x12dc6a(0x15f)])?_0x4f858[_0x12dc6a(0x15f)]:{},_0x26490b=_0x4f858['modelId']??_0x4f858['id']??_0x47d271[_0x12dc6a(0x158)];if(_0x26490b===undefined||_0x26490b===null||_0x26490b==='')throw CliErrors[_0x12dc6a(0x13a)](_0x12dc6a(0x155));const _0x25767d=String(_0x4f858[_0x12dc6a(0x144)]??_0x4f858[_0x12dc6a(0x157)]??_0x47d271[_0x12dc6a(0x14e)]??_0x138d5a['code'])[_0x12dc6a(0x153)]();if(!_0x25767d)throw CliErrors['validation'](_0x12dc6a(0x145));return{'modelId':_0x26490b,'modelCode':_0x25767d,'name':_0x138d5a['name'],'dataset':{'datasetId':_0x26490b,'datasetCode':_0x25767d,'datasetName':_0x138d5a[_0x12dc6a(0x142)]}};}function isPlainObject(_0x58911f){const _0x5f26e7=a72_0x5a8b18;return Boolean(_0x58911f)&&typeof _0x58911f===_0x5f26e7(0x159)&&!Array[_0x5f26e7(0x150)](_0x58911f);}function trim(_0x25c9d0){return String(_0x25c9d0||'')['trim']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a73_0x168d15=a73_0x2aca;(function(_0x57c745,_0x475c79){const _0x4e461e=a73_0x2aca,_0x2f3fc0=_0x57c745();while(!![]){try{const _0x1074e4=-parseInt(_0x4e461e(0x9d))/0x1+-parseInt(_0x4e461e(0xb0))/0x2+parseInt(_0x4e461e(0x90))/0x3*(-parseInt(_0x4e461e(0x97))/0x4)+parseInt(_0x4e461e(0xbb))/0x5+-parseInt(_0x4e461e(0xb2))/0x6*(parseInt(_0x4e461e(0x99))/0x7)+parseInt(_0x4e461e(0x92))/0x8+parseInt(_0x4e461e(0xaa))/0x9;if(_0x1074e4===_0x475c79)break;else _0x2f3fc0['push'](_0x2f3fc0['shift']());}catch(_0x4c5e12){_0x2f3fc0['push'](_0x2f3fc0['shift']());}}}(a73_0x4e01,0x6a5b0));import{listDatasets,restoreDataset}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL,CODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a73_0x2aca(_0x34fe7e,_0x47238f){_0x34fe7e=_0x34fe7e-0x90;const _0x4e01f1=a73_0x4e01();let _0x2acae7=_0x4e01f1[_0x34fe7e];return _0x2acae7;}function a73_0x4e01(){const _0x2ecb72=['764EuLCip','Matched\x20','371comVHk','Restore\x20all\x20deleted\x20datasets\x20under\x20this\x20database\x20connection\x20id','confirm','dbtableConfig','243449WNaXUE','filter','dbid=','bool','code','/smartapi/dataset/restore-dataset','description','relationPages','dbid','expected-count','str','dbId','\x20dataset(s),\x20but\x20--expected-count\x20is\x20','4409154kDfAHV','POST','Run\x20with\x20--dry-run\x20first,\x20then\x20add\x20--confirm\x20when\x20the\x20target\x20list\x20is\x20correct.','Restored\x20','isArray','\x20dataset(s);\x20','418072ojEAKy','push','38730JYBIEk','tableName','num','Would\x20restore\x20','source','appCode','message','dbName','validation','2923075JncHhi','No\x20deleted\x20dataset\x20found\x20for\x20','8784uQaTNW','number','5719672gCxmOz','Required\x20to\x20execute\x20dataset\x20restore','Dataset\x20id','\x20deleted\x20dataset(s)\x20and\x20related\x20deleted\x20page/menu\x20records.','length'];a73_0x4e01=function(){return _0x2ecb72;};return a73_0x4e01();}const DATASET_ID_FLAG={'name':'id','type':a73_0x168d15(0x91),'description':a73_0x168d15(0x94)},DBID_FLAG={'name':'dbid','type':a73_0x168d15(0x91),'description':a73_0x168d15(0x9a)},CONFIRM_FLAG={'name':a73_0x168d15(0x9b),'type':'boolean','description':a73_0x168d15(0x93)},EXPECTED_COUNT_FLAG={'name':'expected-count','type':'number','description':'Abort\x20unless\x20the\x20matched\x20dataset\x20count\x20equals\x20this\x20value'};export const datasetRestore={'service':'dataset','command':'restore','description':'Restore\x20deleted\x20dataset\x20metadata\x20by\x20id/code\x20or\x20all\x20deleted\x20datasets\x20under\x20a\x20db\x20id','risk':'high-risk-write','flags':[DATASET_ID_FLAG,CODE_FLAG_OPTIONAL,DBID_FLAG,CONFIRM_FLAG,EXPECTED_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x32711d){const _0x3781b0=a73_0x168d15,_0x36bf8d=_0x32711d[_0x3781b0(0xb4)]('id'),_0xac9b4c=_0x32711d[_0x3781b0(0xa7)](_0x3781b0(0xa1)),_0x94ec02=_0x32711d[_0x3781b0(0xb4)](_0x3781b0(0xa5)),_0x1f6802=[_0x36bf8d>0x0,Boolean(_0xac9b4c),_0x94ec02>0x0][_0x3781b0(0x9e)](Boolean);if(_0x1f6802[_0x3781b0(0x96)]===0x0)throw CliErrors['validation']('One\x20of\x20--id,\x20--code,\x20or\x20--dbid\x20is\x20required.');if(_0x1f6802[_0x3781b0(0x96)]>0x1)throw CliErrors[_0x3781b0(0xba)]('Use\x20only\x20one\x20of\x20--id,\x20--code,\x20or\x20--dbid.');},async 'dryRun'(_0x5582b6){const _0xe5e7c1=a73_0x168d15,_0x1729a7=await resolveTargets(_0x5582b6);return{'method':_0xe5e7c1(0xab),'url':_0xe5e7c1(0xa2),'body':{'appCode':_0x5582b6[_0xe5e7c1(0xb7)],'count':_0x1729a7[_0xe5e7c1(0x96)],'datasets':_0x1729a7},'description':_0xe5e7c1(0xb5)+_0x1729a7[_0xe5e7c1(0x96)]+_0xe5e7c1(0x95)};},async 'execute'(_0x3fdcf6){const _0x37c05d=a73_0x168d15;if(!_0x3fdcf6[_0x37c05d(0xa0)](_0x37c05d(0x9b)))throw CliErrors['validation']('--confirm\x20is\x20required\x20to\x20restore\x20datasets.',_0x37c05d(0xac));const _0xa59f3d=await resolveTargets(_0x3fdcf6),_0x192f00=[],_0x4bec7c=[];for(const _0x3671bd of _0xa59f3d){try{await restoreDataset(_0x3fdcf6[_0x37c05d(0xb7)],_0x3671bd['id']),_0x192f00[_0x37c05d(0xb1)](_0x3671bd);}catch(_0x5e7a7a){_0x4bec7c[_0x37c05d(0xb1)]({..._0x3671bd,'error':_0x5e7a7a instanceof Error?_0x5e7a7a[_0x37c05d(0xb8)]:String(_0x5e7a7a)});}}if(_0x4bec7c[_0x37c05d(0x96)]>0x0)return{'ok':![],'data':{'requested':_0xa59f3d[_0x37c05d(0x96)],'restoredCount':_0x192f00[_0x37c05d(0x96)],'failedCount':_0x4bec7c[_0x37c05d(0x96)],'restored':_0x192f00,'failed':_0x4bec7c},'message':_0x37c05d(0xad)+_0x192f00[_0x37c05d(0x96)]+'/'+_0xa59f3d[_0x37c05d(0x96)]+_0x37c05d(0xaf)+_0x4bec7c[_0x37c05d(0x96)]+'\x20failed'};return{'ok':!![],'data':{'requested':_0xa59f3d[_0x37c05d(0x96)],'restoredCount':_0x192f00['length'],'restored':_0x192f00},'message':_0x37c05d(0xad)+_0x192f00['length']+'\x20dataset(s)'};}};async function resolveTargets(_0x2b873f){const _0x2fcfb4=a73_0x168d15,_0x25d728=_0x2b873f['num']('id'),_0x5d44d4=_0x2b873f[_0x2fcfb4(0xa7)](_0x2fcfb4(0xa1)),_0x386c6c=_0x2b873f[_0x2fcfb4(0xb4)](_0x2fcfb4(0xa5));let _0x23f4fe;_0x5d44d4?(_0x23f4fe=await listDatasets(_0x2b873f['appCode'],{'code':_0x5d44d4,'deleted':!![]}),_0x23f4fe=_0x23f4fe['filter'](_0x46794b=>_0x46794b[_0x2fcfb4(0xa1)]===_0x5d44d4)):(_0x23f4fe=await listDatasets(_0x2b873f['appCode'],{'deleted':!![]}),_0x25d728>0x0&&(_0x23f4fe=_0x23f4fe[_0x2fcfb4(0x9e)](_0x3c7603=>_0x3c7603['id']===_0x25d728)),_0x386c6c>0x0&&(_0x23f4fe=_0x23f4fe[_0x2fcfb4(0x9e)](_0x5e882d=>_0x5e882d[_0x2fcfb4(0x9c)]?.[_0x2fcfb4(0xa8)]===_0x386c6c)));const _0x3c4fb5=_0x23f4fe['map'](normalizeTarget);if(_0x3c4fb5[_0x2fcfb4(0x96)]===0x0){const _0x390aaf=_0x5d44d4||(_0x25d728>0x0?'id='+_0x25d728:_0x2fcfb4(0x9f)+_0x386c6c);throw CliErrors[_0x2fcfb4(0xba)](_0x2fcfb4(0xbc)+_0x390aaf+'.');}const _0xb45730=_0x2b873f[_0x2fcfb4(0xb4)](_0x2fcfb4(0xa6));if(_0xb45730>0x0&&_0x3c4fb5[_0x2fcfb4(0x96)]!==_0xb45730)throw CliErrors[_0x2fcfb4(0xba)](_0x2fcfb4(0x98)+_0x3c4fb5[_0x2fcfb4(0x96)]+_0x2fcfb4(0xa9)+_0xb45730+'.');return _0x3c4fb5;}function normalizeTarget(_0x1b94d7){const _0x1c862a=a73_0x168d15,_0x2cf18c=_0x1b94d7[_0x1c862a(0x9c)]??{};return{'id':_0x1b94d7['id'],'code':_0x1b94d7[_0x1c862a(0xa1)],'name':_0x1b94d7['name'],'description':_0x1b94d7[_0x1c862a(0xa3)],'source':_0x1b94d7[_0x1c862a(0xb6)],'dbId':_0x2cf18c[_0x1c862a(0xa8)],'dbName':_0x2cf18c[_0x1c862a(0xb9)],'tableName':_0x2cf18c[_0x1c862a(0xb3)],'relatedPageCount':Array[_0x1c862a(0xae)](_0x1b94d7[_0x1c862a(0xa4)])?_0x1b94d7['relationPages'][_0x1c862a(0x96)]:undefined};}
|