From 369d5010713659b12071b8ca6e4294d43654e712 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 2 Jun 2025 12:02:07 -0500 Subject: [PATCH] Add doCheckTableApiVersion, so apps can avoid new error if table version isn't in api --- .../api/actions/GetTableApiFieldsAction.java | 3 +- .../model/actions/GetTableApiFieldsInput.java | 37 +++++++++++++++++++ .../actions/GetTableApiFieldsActionTest.java | 13 ++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GetTableApiFieldsAction.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GetTableApiFieldsAction.java index 86332a51..2bc62942 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GetTableApiFieldsAction.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GetTableApiFieldsAction.java @@ -46,6 +46,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; import com.kingsrook.qqq.backend.core.utils.CollectionUtils; import com.kingsrook.qqq.backend.core.utils.ObjectUtils; +import org.apache.commons.lang3.BooleanUtils; import static com.kingsrook.qqq.backend.core.logging.LogUtils.logPair; @@ -153,7 +154,7 @@ public class GetTableApiFieldsAction extends AbstractQActionFunction getFields(tableNameVersion2through4, "5")).isInstanceOf(QNotFoundException.class); assertThatThrownBy(() -> getFields(tableNameNoApis, "1")).isInstanceOf(QNotFoundException.class); + + /////////////////////////////////////////////////////////////////////////////////////////////////////// + // test the withDoCheckTableApiVersion input flag. // + // set up an input that'll fail (verify it fails) - then set the flag to false and make sure no fail // + /////////////////////////////////////////////////////////////////////////////////////////////////////// + GetTableApiFieldsInput input = new GetTableApiFieldsInput().withApiName(TestUtils.API_NAME).withTableName(tableNameVersion2through4).withVersion("1"); + assertThatThrownBy(() -> new GetTableApiFieldsAction().execute(input)); + new GetTableApiFieldsAction().execute(input.withDoCheckTableApiVersion(false)); } } \ No newline at end of file