Added REGEXP operator for API query filter (closes #1174)

This commit is contained in:
Bernd Bestel
2020-12-12 10:44:27 +01:00
parent d3883ba93a
commit 59aad1c180
4 changed files with 15 additions and 6 deletions

View File

@@ -9,8 +9,8 @@ class BaseApiController extends BaseController
protected $OpenApiSpec = null;
const PATTERN_FIELD = '[A-Za-z_][A-Za-z0-9_]+';
const PATTERN_OPERATOR = '!?(=|~|<|>|(>=)|(<=))';
const PATTERN_VALUE = '[A-Za-z_0-9.]+';
const PATTERN_OPERATOR = '!?(=|~|<|>|(>=)|(<=)|(§))';
const PATTERN_VALUE = '[A-Za-z_0-9.$#^|]+';
public function __construct(\DI\Container $container)
{
@@ -123,6 +123,9 @@ class BaseApiController extends BaseController
case '<=':
$data = $data->where($matches['field'] . ' <= ?', $matches['value']);
break;
case '§':
$data = $data->where($matches['field'] . ' REGEXP ?', $matches['value']);
break;
}
}