Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Introduce constants for builtin search filters
Signed-off-by: Benjamin Gaussorgues <[email protected]>
  • Loading branch information
Altahrim committed Nov 15, 2023
commit 72c191df117700d1b01f21afdf4e657f25b68453
18 changes: 9 additions & 9 deletions lib/private/Search/SearchComposer.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,13 @@ public function __construct(
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),
];
}

Expand Down Expand Up @@ -189,7 +189,7 @@ function (array $providerData) use ($route, $routeParameters) {
$triggers += $provider->getAlternateIds();
$filters = $provider->getSupportedFilters();
} else {
$filters = ['term'];
$filters = [IFilter::BUILTIN_TERM];
}

return [
Expand Down Expand Up @@ -310,7 +310,7 @@ private function filterSupportedByProvider(FilterDefinition $filterDefinition, s
$provider = $this->providers[$providerId]['provider'];
$supportedFilters = $provider instanceof IFilteringProvider
? $provider->getSupportedFilters()
: ['term'];
: [IFilter::BUILTIN_TERM];

return in_array($filterDefinition->name(), $supportedFilters, true);
}
Expand Down
15 changes: 15 additions & 0 deletions lib/public/Search/IFilter.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,21 @@
* @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
*
Expand Down