172 instance_operation_ls paging bug fix

This commit is contained in:
2025-11-20 14:58:43 +03:00
parent 210560d973
commit 503df018aa
4 changed files with 68 additions and 30 deletions
+12 -3
View File
@@ -4,6 +4,7 @@
hint="Static helper methods for ReST API">
<!--- v0.02 2024-10-15 --->
<!--- v0.03 2024-11-27 --->
<!--- v0.04 2025-11-20 columns--->
<cffunction name="empty2null"
@@ -81,9 +82,11 @@
hint="parse and collect filter params, for operators see filter_build">
<!---e.g. duration=NEQ:2--->
<!---*** add test for multiple values--->
<cfargument name="params" type="struct" required="true" />
<cfargument name="params" type="struct" required="true" /><!--- имена полей и колонок в snake_case --->
<cfset var local={}/><!--- *** --->
<cfset var out=structNew()/>
<cfloop collection=#params# index="local.item">
<cfset var urlParamName=snake2camel(lCase(local.item))/>
@@ -98,11 +101,17 @@
<cfif !isValid(ARGUMENTS.params[local.item].type,value)>
<cfthrow type="invalidParamValue" message="Filter parameter #urlParamName# value is not a valid #ARGUMENTS.params[local.item].type#"/><!---не выводим значение, чтобы исключить XSS--->
</cfif>
<cfif structKeyExists(ARGUMENTS.params[local.item], "column") AND len(ARGUMENTS.params[local.item].column)>
<cfset var column="#ARGUMENTS.params[local.item].column#"/>
<cfelse>
<cfset var column=local.item/>
</cfif>
<cfif structKeyExists(ARGUMENTS.params[local.item], "prefix") AND len(ARGUMENTS.params[local.item].prefix)>
<cfset var fieldName="#ARGUMENTS.params[local.item].prefix#.#local.item#"/>
<cfset var fieldName="#ARGUMENTS.params[local.item].prefix#.#column#"/>
<cfelse>
<cfset var fieldName=#local.item#/>
<cfset var fieldName=#column#/>
</cfif>
<cfif structKeyExists(ARGUMENTS.params[local.item], "list") AND ARGUMENTS.params[local.item].list GT 0>