CTLE-507 Fix api field sorting (make sure they have a label too)

This commit is contained in:
2023-07-06 16:13:15 -05:00
parent 6f578eb2f0
commit 4299199947
2 changed files with 4 additions and 1 deletions

View File

@ -73,6 +73,7 @@ public class GetTableApiFieldsAction extends AbstractQActionFunction<GetTableApi
// get fields on the table which are in this version // // get fields on the table which are in this version //
/////////////////////////////////////////////////////// ///////////////////////////////////////////////////////
List<QFieldMetaData> fieldList = new ArrayList<>(table.getFields().values()); List<QFieldMetaData> fieldList = new ArrayList<>(table.getFields().values());
fieldList.sort(Comparator.comparing(QFieldMetaData::getLabel));
for(QFieldMetaData field : fieldList) for(QFieldMetaData field : fieldList)
{ {
if(!isExcluded(input.getApiName(), field) && getApiVersionRange(input.getApiName(), field).includes(version)) if(!isExcluded(input.getApiName(), field) && getApiVersionRange(input.getApiName(), field).includes(version))
@ -92,7 +93,7 @@ public class GetTableApiFieldsAction extends AbstractQActionFunction<GetTableApi
} }
} }
fieldList.sort(Comparator.comparing(QFieldMetaData::getLabel)); fields.sort(Comparator.comparing(QFieldMetaData::getLabel));
return (new GetTableApiFieldsOutput().withFields(fields)); return (new GetTableApiFieldsOutput().withFields(fields));
} }

View File

@ -34,6 +34,7 @@ import com.kingsrook.qqq.api.model.APIVersionRange;
import com.kingsrook.qqq.api.model.metadata.ApiOperation; 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.ApiFieldMetaData;
import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaDataContainer; import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaDataContainer;
import com.kingsrook.qqq.backend.core.instances.QInstanceEnricher;
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData; 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.model.metadata.tables.QTableMetaData;
import com.kingsrook.qqq.backend.core.utils.CollectionUtils; import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
@ -94,6 +95,7 @@ public class ApiTableMetaData implements ApiOperation.EnabledOperationsProvider
for(QFieldMetaData field : CollectionUtils.nonNullList(removedApiFields)) for(QFieldMetaData field : CollectionUtils.nonNullList(removedApiFields))
{ {
new QInstanceEnricher(null).enrichField(field);
ApiFieldMetaData apiFieldMetaData = ensureFieldHasApiSupplementalMetaData(apiName, field); ApiFieldMetaData apiFieldMetaData = ensureFieldHasApiSupplementalMetaData(apiName, field);
if(apiFieldMetaData.getInitialVersion() == null) if(apiFieldMetaData.getInitialVersion() == null)
{ {