mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 05:01:07 +00:00
Add option to exclude an enum possible value's fields from docs
This commit is contained in:
@ -1477,15 +1477,21 @@ public class GenerateOpenApiSpecAction extends AbstractQActionFunction<GenerateO
|
|||||||
QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName());
|
QPossibleValueSource possibleValueSource = QContext.getQInstance().getPossibleValueSource(field.getPossibleValueSourceName());
|
||||||
if(QPossibleValueSourceType.ENUM.equals(possibleValueSource.getType()))
|
if(QPossibleValueSourceType.ENUM.equals(possibleValueSource.getType()))
|
||||||
{
|
{
|
||||||
List<String> enumValues = new ArrayList<>();
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
List<String> enumMapping = new ArrayList<>();
|
// by default, we will list all enum values in the docs - but - a field's api-meta-data object can opt out //
|
||||||
for(QPossibleValue<?> enumValue : possibleValueSource.getEnumValues())
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
if(apiFieldMetaData == null || apiFieldMetaData.getListEnumPossibleValues())
|
||||||
{
|
{
|
||||||
enumValues.add(String.valueOf(enumValue.getId()));
|
List<String> enumValues = new ArrayList<>();
|
||||||
enumMapping.add(enumValue.getId() + "=" + enumValue.getLabel());
|
List<String> enumMapping = new ArrayList<>();
|
||||||
|
for(QPossibleValue<?> enumValue : possibleValueSource.getEnumValues())
|
||||||
|
{
|
||||||
|
enumValues.add(String.valueOf(enumValue.getId()));
|
||||||
|
enumMapping.add(enumValue.getId() + "=" + enumValue.getLabel());
|
||||||
|
}
|
||||||
|
fieldSchema.setEnumValues(enumValues);
|
||||||
|
fieldSchema.setDescription(fieldSchema.getDescription() + " Value definitions are: " + StringUtils.joinWithCommasAndAnd(enumMapping));
|
||||||
}
|
}
|
||||||
fieldSchema.setEnumValues(enumValues);
|
|
||||||
fieldSchema.setDescription(fieldSchema.getDescription() + " Value definitions are: " + StringUtils.joinWithCommasAndAnd(enumMapping));
|
|
||||||
}
|
}
|
||||||
else if(QPossibleValueSourceType.TABLE.equals(possibleValueSource.getType()))
|
else if(QPossibleValueSourceType.TABLE.equals(possibleValueSource.getType()))
|
||||||
{
|
{
|
||||||
|
@ -39,6 +39,7 @@ public class ApiFieldMetaData
|
|||||||
|
|
||||||
private String apiFieldName;
|
private String apiFieldName;
|
||||||
private String description;
|
private String description;
|
||||||
|
private boolean listEnumPossibleValues = true;
|
||||||
|
|
||||||
private Boolean isExcluded;
|
private Boolean isExcluded;
|
||||||
private String replacedByFieldName;
|
private String replacedByFieldName;
|
||||||
@ -346,4 +347,35 @@ public class ApiFieldMetaData
|
|||||||
return (this);
|
return (this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Getter for listEnumPossibleValues
|
||||||
|
*******************************************************************************/
|
||||||
|
public boolean getListEnumPossibleValues()
|
||||||
|
{
|
||||||
|
return (this.listEnumPossibleValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Setter for listEnumPossibleValues
|
||||||
|
*******************************************************************************/
|
||||||
|
public void setListEnumPossibleValues(boolean listEnumPossibleValues)
|
||||||
|
{
|
||||||
|
this.listEnumPossibleValues = listEnumPossibleValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
** Fluent setter for listEnumPossibleValues
|
||||||
|
*******************************************************************************/
|
||||||
|
public ApiFieldMetaData withListEnumPossibleValues(boolean listEnumPossibleValues)
|
||||||
|
{
|
||||||
|
this.listEnumPossibleValues = listEnumPossibleValues;
|
||||||
|
return (this);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user