120 instance dependencies bug fix

This commit is contained in:
msyu
2025-07-02 16:11:07 +03:00
parent 8262ade423
commit a1278b00e7
2 changed files with 29 additions and 26 deletions
+28 -25
View File
@@ -208,31 +208,34 @@
<cfset var dependencies=[]/>
<!--- <cfset var dependencies=#local.qCfsParam#/> --->
<cfloop query="local.qCfsParam">
<cfset var paramName = this.helper.snake2camel(local.qCfsParam.svc_operation_cfs_param)/>
<cfset var instanceData="#deserializeJson(qCurrentState.instance_data)#"/>
<cfif structKeyExists(instanceData, "params") AND structKeyExists(instanceData.params, paramName)>
<cfset var refKey = structFind(instanceData.params, paramName)/>
<cfif isValid("guid",refKey)>
<!--- *** нужно укрепить изоляцию и проконтролировать принадлежность инстанса данному тенанту --->
<cfquery name="qDependency">
select e.display_name, e.is_auxiliary
from instance e
where e.instance_uid = <cfqueryparam cfsqltype="cf_sql_other" value="#refKey#" null=#!isValid('guid',refKey)#/>
</cfquery>
<cfset var rec = {
"param":"#svc_operation_cfs_param#",
"descr":"#descr#",
"svcId":#ref_svc_id#,
"svc":"#ref_svc#",
"code":"#ref_code#",
"label":"#label#",
"uid":"#refKey#",
"displayName":"#qDependency.display_name#",
"isAuxiliary": #request.castToBool(qDependency.is_auxiliary)#
}/>
<cfset arrayAppend(dependencies, rec)/>
</cfif>
</cfif>
<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)/>
<cfif isValid("guid",refKey)>
<!--- *** нужно укрепить изоляцию и проконтролировать принадлежность инстанса данному тенанту --->
<cfquery name="qDependency">
select e.display_name, e.is_auxiliary
from instance e
where e.instance_uid = <cfqueryparam cfsqltype="cf_sql_other" value="#refKey#" null=#!isValid('guid',refKey)#/>
</cfquery>
<cfset var rec = {
"param":"#svc_operation_cfs_param#",
"descr":"#descr#",
"svcId":#ref_svc_id#,
"svc":"#ref_svc#",
"code":"#ref_code#",
"label":"#label#",
"uid":"#refKey#",
"displayName":"#qDependency.display_name#",
"isAuxiliary": #request.castToBool(qDependency.is_auxiliary)#
}/>
<cfset arrayAppend(dependencies, rec)/>
</cfif>
</cfif>
<cfcatch type="ANY"><!--- *** ---></cfcatch>
</cftry>
</cfloop>