131 instance_data field removed

This commit is contained in:
msyu
2025-09-01 13:40:38 +03:00
parent f3954bfd7a
commit 9d0e4f20d9
4 changed files with 58 additions and 24 deletions
+49 -18
View File
@@ -104,8 +104,8 @@
</cfquery><!--- берем local.qInstance.instance_uid ради изоляции (access protection) --->
<cfset local.isCreated = (qCurrentState.recordCount GT 0)/>
<cfset local.isDeleted = (qCurrentState.is_deleted GT 0)/>
<cfset local.isCreated = (local.qCurrentState.recordCount GT 0)/>
<cfset local.isDeleted = (local.qCurrentState.is_deleted GT 0)/>
<!--- <cfdump var=#local.qInstance#/><cfabort/> --->
@@ -189,11 +189,12 @@
--->
<!--- видимо, достаточно нам параметров операции create... но можно и все параметры перебрать --->
<cfquery name="local.qCfsParam" result="local.result">
<cfquery name="local.qCfsParamRef" result="local.result">
select
p.svc_operation_cfs_param
,p.label
,p.descr
,p.is_sensitive
,r.svc_id as ref_svc_id
,r.svc as ref_svc
,r.code as ref_code
@@ -206,13 +207,13 @@
</cfquery>
<cfset var dependencies=[]/>
<!--- <cfset var dependencies=#local.qCfsParam#/> --->
<cfloop query="local.qCfsParam">
<cftry>
<cfset var instanceData=deserializeJson(qCurrentState.instance_data)/>
<cfset var paramName = local.qCfsParam.svc_operation_cfs_param/>
<cfif structKeyExists(instanceData, "params") AND structKeyExists(instanceData.params, paramName)>
<cfset var refKey = structFind(instanceData.params, paramName)/>
<!--- <cfset var dependencies=#local.qCfsParamRef#/> --->
<cftry>
<cfset var local.instanceData=deserializeJson(local.qCurrentState.instance_data)/>
<cfloop query="local.qCfsParamRef">
<cfset var paramName = local.qCfsParamRef.svc_operation_cfs_param/>
<cfif structKeyExists(local.instanceData, "params") AND structKeyExists(local.instanceData.params, paramName)>
<cfset var refKey = structFind(local.instanceData.params, paramName)/>
<cfif isValid("guid",refKey)>
<!--- *** нужно укрепить изоляцию и проконтролировать принадлежность инстанса данному тенанту --->
<cfquery name="qDependency">
@@ -232,14 +233,44 @@
"isAuxiliary": #request.castToBool(qDependency.is_auxiliary)#
}/>
<cfset arrayAppend(dependencies, rec)/>
</cfif>
</cfif>
<cfcatch type="ANY"><!--- *** ---></cfcatch>
</cftry>
</cfloop>
</cfif>
</cfif>
</cfloop>
<cfcatch type="ANY"><!--- *** <cfrethrow/>---></cfcatch>
</cftry>
<!--- ---------------------------------------------------------------------------------- --->
<!--- маскируем секреты *** это не очень похоже на то же самое в списке --->
<cfquery name="local.qCfsParam" result="local.result">
select
p.svc_operation_cfs_param
,p.label
,p.descr
,p.is_sensitive
from svc_operation_cfs_param p
join svc_operation o on (p.svc_operation_id=o.svc_operation_id)
join svc on (o.svc_id=svc.svc_id)
where svc.svc_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#qInstance.service_id#" null=#!isValid('integer',qInstance.service_id)#/>
AND o.operation='create'
</cfquery>
<cftry>
<cfset var local.instanceData=deserializeJson(local.qCurrentState.instance_data)/>
<cfloop query="local.qCfsParam">
<cfset var paramName = local.qCfsParam.svc_operation_cfs_param/>
<cfif structKeyExists(local.instanceData, "params") AND structKeyExists(local.instanceData.params, paramName)>
<!--- маскируем секреты --->
<cfif is_sensitive>
<cfset local.instanceData.params[paramName]="********"/>
</cfif>
</cfif>
</cfloop>
<!--- грубо патчим запрос --->
<cfset local.qCurrentState.instance_data=serializeJson(local.instanceData)/>
<cfcatch type="ANY"><!--- *** <cfrethrow/>---></cfcatch>
</cftry>
<!--- ---------------------------------------------------------------------------------- --->
@@ -248,7 +279,7 @@
<cftry><!--- *** надо бы такие вещи делать асинхронно --->
<cfset vaultUrl=""/>
<cfset instanceData="#deserializeJson(qCurrentState.instance_data)#"/>
<cfset instanceData="#deserializeJson(local.qCurrentState.instance_data)#"/>
<cfif structKeyExists(instanceData,"vaultUrl")>
<cfset vaultUrl=instanceData.vaultUrl/> <!--- v001 --->
<cfelseif structKeyExists(instanceData,"vault")>
@@ -334,7 +365,7 @@
)/>
<!--- <cfset "out.instance.uptime"=(local.qOperation.is_successful GT 0) ? local.qOperation.seconds_passed : 0/> --->
<cfset "out.instance.isCreated"=local.isCreated/>
<cfset "out.instance.isDeleted"=qCurrentState.is_deleted GT 0/>
<cfset "out.instance.isDeleted"=local.qCurrentState.is_deleted GT 0/>
<cfset "out.instance.vaultData"=local.vaultData/>
<cfset "out.instance.state" = (local.qCurrentState.recordCount GT 0) ? this.helper.appendRecord(structNew("linked"), "", local.currentStateTitleMap, local.qCurrentState, this.helper.snake2camel) : {}/>