Функции поиска
Расширяйте возможности поиска с помощью функций:
java
@Component
public class CurrentDateFunction implements QueryFunction {
@Override
public List<QueryValue> getOperands(User user, IssueField field, FunctionOperand operand) {
return List.of(new QueryValue(LocalDateTime.now()));
}
@Override
public String getFunctionName() {
return "now";
}
@Override
public boolean isList() {
return false;
}
@Override
public ClauseValueType getValueType() {
return ClauseValueType.of(LocalDateTime.class);
}
@Override
public int getMinimumRequiredArguments() {
return 0;
}
}Это пример реализации функции now(). Благодаря привязке к типу LocalDateTime, она будет добавляться в автокомплит к полям с этим же типом, например created или updated.
Регистрация в дескрипторе
yaml
queryFunctions:
- key: CurrentDateFunction
name: Current date function
className: ru.slie.luna.issue.query.func.impl.CurrentDateFunction