free search

This commit is contained in:
msyu
2025-02-23 08:46:59 +03:00
parent 18fb89e2f2
commit 5ca34baa35
2 changed files with 17 additions and 8 deletions
+1 -1
View File
@@ -51,7 +51,7 @@
//variables.framework.docs={};
variables.framework.docs.APIName="Deck API";
variables.framework.docs.APIVersion="0.055";
variables.framework.docs.APIVersion="0.056";
variables.framework.globalHeaders = structNew();
variables.framework.globalHeaders["Access-Control-Expose-Headers"] = "Location";
+16 -7
View File
@@ -42,10 +42,11 @@
<cffunction name="get" hint="Список экземпляров сервисов, принадлежащих данному клиенту">
<cfargument name="pageSize" type="string" hint="type:integer" default="100"/>
<cfargument name="page" type="string" hint="type:integer" default="1"/>
<cfargument name="orderBy" type="string" hint="type:string, description:comma-separated list of fields to sort by, example:fld1.ASC,fld2.DESC,fld3.ASC (performance not assured on arbitrary sorting)" default=""/>
<cfargument name="fields" type="string" hint="type:string, description:comma-separated list of fields to limit output to, empty string for default field set" default=""/>
<cfargument name="pageSize" type="string" hint="type:integer" required=false default="100"/>
<cfargument name="page" type="string" hint="type:integer" required=false default="1"/>
<cfargument name="orderBy" type="string" hint="type:string, description:comma-separated list of fields to sort by, example:fld1.ASC,fld2.DESC,fld3.ASC (performance not assured on arbitrary sorting)" required=false default=""/>
<cfargument name="fields" type="string" hint="type:string, description:comma-separated list of fields to limit output to, empty string or omitted for default field set" required=false default=""/>
<cfargument name="search" type="string" hint="type:string, free search (black box)" required=false default=""/>
<!---сюда можно воткнуть спецификацию полей для сортировки и фильтрации, но только ручками, идея компактного кода еще более отдаляется--->
<!---parse and validate request parameters--->
@@ -147,6 +148,12 @@
left outer join usr u on (e.updater_id=u.usr_id)
where s.specification_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.specificationId#/><!--- *** make project entity --->
<!--- u.usr_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#arguments.usrId#/> --->
<cfif len(arguments.search)>
AND (
e.display_name like <cfqueryparam cfsqltype="cf_sql_varchar" value='%#arguments.search#%'/>
OR v.svc like <cfqueryparam cfsqltype="cf_sql_varchar" value='%#arguments.search#%'/>
)
</cfif>
) inr
where 1=1 <m:filter_build filter=#filter#/>
@@ -181,12 +188,14 @@
<cfset this.helper.appendRecord(rec, "", local.titleMap, local.qRead, this.helper.snake2camel)/>
<cfset arrayAppend(resultSet, rec)/>
</cfloop>
<cfset "out.results"=#resultSet#/>
<cfset "out.size"=#arrayLen(resultSet)#/>
<cfset "out.pageSize"=#arguments.pageSize*1#/>
<cfset "out.page"=#arguments.page*1#/>
<cfset "out.orderBy"=#arguments.orderBy#/>
<cfset "out.size"=#arrayLen(resultSet)#/>
<cfset "out.results"=#resultSet#/>
<cfset "out.runDurationMs"=getTickCount()-request.startTickCount/>
<!---<cfset "out.sql"=#local.result.sql#/>--->
<cfreturn representationOf(out)/>