mirror of
https://github.com/nextcloud/server.git
synced 2026-02-20 00:12:30 -05:00
Introduce constants for builtin search filters
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
This commit is contained in:
parent
d79d85ddd2
commit
72c191df11
2 changed files with 24 additions and 9 deletions
|
|
@ -81,13 +81,13 @@ class SearchComposer {
|
|||
private LoggerInterface $logger
|
||||
) {
|
||||
$this->commonFilters = [
|
||||
'term' => new FilterDefinition('term', FilterDefinition::TYPE_STRING),
|
||||
'since' => new FilterDefinition('since', FilterDefinition::TYPE_DATETIME),
|
||||
'until' => new FilterDefinition('until', FilterDefinition::TYPE_DATETIME),
|
||||
'title-only' => new FilterDefinition('title-only', FilterDefinition::TYPE_BOOL, false),
|
||||
'person' => new FilterDefinition('person', FilterDefinition::TYPE_PERSON),
|
||||
'places' => new FilterDefinition('places', FilterDefinition::TYPE_STRINGS, false),
|
||||
'provider' => new FilterDefinition('provider', FilterDefinition::TYPE_STRING, false),
|
||||
IFilter::BUILTIN_TERM => new FilterDefinition(IFilter::BUILTIN_TERM, FilterDefinition::TYPE_STRING),
|
||||
IFilter::BUILTIN_SINCE => new FilterDefinition(IFilter::BUILTIN_SINCE, FilterDefinition::TYPE_DATETIME),
|
||||
IFilter::BUILTIN_UNTIL => new FilterDefinition(IFilter::BUILTIN_UNTIL, FilterDefinition::TYPE_DATETIME),
|
||||
IFilter::BUILTIN_TITLE_ONLY => new FilterDefinition(IFilter::BUILTIN_TITLE_ONLY, FilterDefinition::TYPE_BOOL, false),
|
||||
IFilter::BUILTIN_PERSON => new FilterDefinition(IFilter::BUILTIN_PERSON, FilterDefinition::TYPE_PERSON),
|
||||
IFilter::BUILTIN_PLACES => new FilterDefinition(IFilter::BUILTIN_PLACES, FilterDefinition::TYPE_STRINGS, false),
|
||||
IFilter::BUILTIN_PROVIDER => new FilterDefinition(IFilter::BUILTIN_PROVIDER, FilterDefinition::TYPE_STRING, false),
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -189,7 +189,7 @@ class SearchComposer {
|
|||
$triggers += $provider->getAlternateIds();
|
||||
$filters = $provider->getSupportedFilters();
|
||||
} else {
|
||||
$filters = ['term'];
|
||||
$filters = [IFilter::BUILTIN_TERM];
|
||||
}
|
||||
|
||||
return [
|
||||
|
|
@ -310,7 +310,7 @@ class SearchComposer {
|
|||
$provider = $this->providers[$providerId]['provider'];
|
||||
$supportedFilters = $provider instanceof IFilteringProvider
|
||||
? $provider->getSupportedFilters()
|
||||
: ['term'];
|
||||
: [IFilter::BUILTIN_TERM];
|
||||
|
||||
return in_array($filterDefinition->name(), $supportedFilters, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,21 @@ namespace OCP\Search;
|
|||
* @since 28.0.0
|
||||
*/
|
||||
interface IFilter {
|
||||
/** @since 28.0.0 */
|
||||
public const BUILTIN_TERM = 'term';
|
||||
/** @since 28.0.0 */
|
||||
public const BUILTIN_SINCE = 'since';
|
||||
/** @since 28.0.0 */
|
||||
public const BUILTIN_UNTIL = 'until';
|
||||
/** @since 28.0.0 */
|
||||
public const BUILTIN_PERSON = 'person';
|
||||
/** @since 28.0.0 */
|
||||
public const BUILTIN_TITLE_ONLY = 'title-only';
|
||||
/** @since 28.0.0 */
|
||||
public const BUILTIN_PLACES = 'places';
|
||||
/** @since 28.0.0 */
|
||||
public const BUILTIN_PROVIDER = 'provider';
|
||||
|
||||
/**
|
||||
* Get filter value
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in a new issue