Move QueryExecutorUtils to ApiQueryFilterUtils

This commit is contained in:
2025-05-30 20:35:36 -05:00
parent 3888aab490
commit 00afad43bc
3 changed files with 11 additions and 9 deletions

View File

@ -29,6 +29,7 @@ import java.util.Objects;
import com.kingsrook.qqq.api.actions.ApiImplementation;
import com.kingsrook.qqq.api.actions.GetTableApiFieldsAction;
import com.kingsrook.qqq.api.model.metadata.ApiOperation;
import com.kingsrook.qqq.api.utils.ApiQueryFilterUtils;
import com.kingsrook.qqq.backend.core.actions.permissions.PermissionsHelper;
import com.kingsrook.qqq.backend.core.actions.permissions.TablePermissionSubType;
import com.kingsrook.qqq.backend.core.actions.tables.CountAction;
@ -81,12 +82,12 @@ public class ApiAwareTableCountExecutor extends TableCountExecutor implements Ap
// take care of managing criteria, which may not be in this version, etc //
///////////////////////////////////////////////////////////////////////////
QQueryFilter filter = Objects.requireNonNullElseGet(input.getFilter(), () -> new QQueryFilter());
QueryExecutorUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, countInput);
ApiQueryFilterUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, countInput);
//////////////////////////////////////////
// no more badRequest checks below here //
//////////////////////////////////////////
QueryExecutorUtils.throwIfBadRequestMessages(badRequestMessages);
ApiQueryFilterUtils.throwIfBadRequestMessages(badRequestMessages);
//
CountAction countAction = new CountAction();

View File

@ -33,6 +33,7 @@ import com.kingsrook.qqq.api.model.actions.ApiFieldCustomValueMapper;
import com.kingsrook.qqq.api.model.metadata.ApiOperation;
import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaData;
import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaDataContainer;
import com.kingsrook.qqq.api.utils.ApiQueryFilterUtils;
import com.kingsrook.qqq.backend.core.actions.customizers.QCodeLoader;
import com.kingsrook.qqq.backend.core.actions.permissions.PermissionsHelper;
import com.kingsrook.qqq.backend.core.actions.permissions.TablePermissionSubType;
@ -105,12 +106,12 @@ public class ApiAwareTableQueryExecutor extends TableQueryExecutor implements Ap
// take care of managing order-by fields and criteria, which may not be in this version, etc //
///////////////////////////////////////////////////////////////////////////////////////////////
manageOrderByFields(filter, tableApiFields, badRequestMessages, apiName, queryInput);
QueryExecutorUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, queryInput);
ApiQueryFilterUtils.manageCriteriaFields(filter, tableApiFields, badRequestMessages, apiName, queryInput);
//////////////////////////////////////////
// no more badRequest checks below here //
//////////////////////////////////////////
QueryExecutorUtils.throwIfBadRequestMessages(badRequestMessages);
ApiQueryFilterUtils.throwIfBadRequestMessages(badRequestMessages);
///////////////////////
// execute the query //

View File

@ -19,7 +19,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.kingsrook.qqq.api.middleware.executors;
package com.kingsrook.qqq.api.utils;
import java.util.List;
@ -39,15 +39,15 @@ import com.kingsrook.qqq.backend.core.utils.StringUtils;
/*******************************************************************************
** shared code for query & count executors
** Utilities for working with Query Filters in the API (e.g., versioned field fun)
*******************************************************************************/
public class QueryExecutorUtils
public class ApiQueryFilterUtils
{
/***************************************************************************
**
***************************************************************************/
static void manageCriteriaFields(QQueryFilter filter, Map<String, QFieldMetaData> tableApiFields, List<String> badRequestMessages, String apiName, QueryOrCountInputInterface input)
public static void manageCriteriaFields(QQueryFilter filter, Map<String, QFieldMetaData> tableApiFields, List<String> badRequestMessages, String apiName, QueryOrCountInputInterface input)
{
for(QFilterCriteria criteria : CollectionUtils.nonNullList(filter.getCriteria()))
{
@ -85,7 +85,7 @@ public class QueryExecutorUtils
/***************************************************************************
*
***************************************************************************/
static void throwIfBadRequestMessages(List<String> badRequestMessages) throws QBadRequestException
public static void throwIfBadRequestMessages(List<String> badRequestMessages) throws QBadRequestException
{
if(!badRequestMessages.isEmpty())
{