112 serialized json string in default op, minmax

This commit is contained in:
msyu
2025-05-27 17:35:10 +03:00
parent d078e64cfe
commit 98aac1ea17
3 changed files with 9 additions and 73 deletions
+1 -1
View File
@@ -51,7 +51,7 @@
//variables.framework.docs={};
variables.framework.docs.APIName="Deck API";
variables.framework.docs.APIVersion="0.111"; /*$ git config --global --unset user.password*/
variables.framework.docs.APIVersion="0.112"; /*$ git config --global --unset user.password*/
variables.framework.globalHeaders = structNew();
+5 -71
View File
@@ -122,6 +122,10 @@
<m:field>sop.default_value</m:field>
<m:field>sop.regex</m:field>
<m:field>sop.unique_scope</m:field>
<m:field>sop.maxlength</m:field>
<m:field>sop.minlength</m:field>
<m:field>sop.maxvalue</m:field>
<m:field>sop.minvalue</m:field>
<m:field>sop.descr</m:field>
<m:field>sop.man</m:field>
<m:field>sop.sort</m:field>
@@ -157,77 +161,7 @@
</cfif>
<cfif data_type EQ "map">
<cfinvoke component="instance_operation_cfs_param" method="processMap" qParam=#local.qCfsParam#/>
<!--- <cfset var map={}/>
<cftry>
<cfset var map=deserializeJson(param_value)/>
<cfcatch type="any"><cfrethrow/></cfcatch>
</cftry>
<cfquery name="local.qSubparam">
select
sp.svc_operation_cfs_param_id
,sp.svc_operation_cfs_subparam_id
,sp.svc_operation_cfs_subparam
,sp.label
,sp.data_type
,sp.value_list
,sp.is_required
,sp.descr
,sp.man
,sp.default_value
,sp.minlength
,sp.maxlength
,sp.regex
,sp.sort
,sp.is_sensitive
from svc_operation_cfs_subparam sp
where sp.svc_operation_cfs_param_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#svc_operation_cfs_param_id#"/>
order by sp.sort
</cfquery>
<cfquery name="local.qInstSubparam">
select
sp.instance_operation_cfs_param_uid::text as instance_operation_cfs_param_uid
,sp.instance_operation_cfs_subparam
,sp.note
,sp.sort
,sp.is_sensitive
from instance_operation_cfs_subparam sp
where sp.instance_operation_cfs_param_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#instance_operation_cfs_param_uid#" null=#!isValid("guid",instance_operation_cfs_param_uid)#/>
order by sp.sort
</cfquery>
<cfset var mapDescriptor=structNew("linked")/>
<cfloop query="local.qSubparam">
<cfset structInsert(mapDescriptor, local.qSubparam.svc_operation_cfs_subparam,
{
"man":"#local.qSubparam.man#",
"isSensitive":#request.castToBool(local.qSubparam.is_sensitive)#
}, true
)
/>
<cfif local.qSubparam.is_sensitive AND structKeyExists(map,local.qSubparam.svc_operation_cfs_subparam)>
<cfset map["#local.qSubparam.svc_operation_cfs_subparam#"] = "********"/>
</cfif>
</cfloop>
<cfloop query="local.qInstSubparam">
<cfset structInsert(mapDescriptor, local.qInstSubparam.instance_operation_cfs_subparam,
{
"note":"#local.qInstSubparam.note#",
"isSensitive":#request.castToBool(local.qInstSubparam.is_sensitive)#
}, true
)
/>
<cfif local.qInstSubparam.is_sensitive AND structKeyExists(map,local.qInstSubparam.instance_operation_cfs_subparam)>
<cfset map["#local.qInstSubparam.instance_operation_cfs_subparam#"] = "********"/>
</cfif>
</cfloop>
<cfset local.qCfsParam.data_descriptor = mapDescriptor/>
<cfset local.qCfsParam.param_value = serializeJson(map)/> --->
<cfinvoke component="instance_operation_cfs_param" method="processMap" qParam=#local.qCfsParam#/>
</cfif><!---/map --->
</cfloop>
+3 -1
View File
@@ -171,13 +171,15 @@
)/>
<cfset "out.svcOperation.cfsParams"=[]/>
<!--- подставляем значение из стейта, если оно там есть (некорректно, потому что в стейте RFS параметры) --->
<cfloop query=#local.qCfsParam#>
<cfset local.qCfsParam.default_value = computeDefault(local.qCfsParam.default_compute, local.qCfsParam.default_value, qSvcOperation.svc_id, arguments.usrId)/><!--- *** не очень хорошо модифицировать запрос --->
<cfif len(local.qCfsParam.default_value) EQ 0>
<!--- и вот наконец мы извлекаем старое значение из стейта --->
<cfset var paramName = this.helper.snake2camel(local.qCfsParam.svc_operation_cfs_param)/>
<cfif structKeyExists(local.instanceDataParams, paramName)>
<cfset local.qCfsParam.default_value = structFind(local.instanceDataParams, paramName)/>
<cfset var oldValue = structFind(local.instanceDataParams, paramName)/>
<cfset local.qCfsParam.default_value = isStruct(oldValue) ? serializeJson(oldValue) : oldValue/> <!--- потому что передаем строку, а не объект --->
</cfif>
</cfif>
<cfset var rec = this.helper.appendRecord(structNew("linked"), "", local.cfsParamMap, local.qCfsParam, this.helper.snake2camel)/>