32 lines
978 B
PHP
32 lines
978 B
PHP
<?php
|
|
|
|
namespace App\Form\Actions;
|
|
|
|
use App\Form\Models\Form;
|
|
use Lorisleiva\Actions\Concerns\AsAction;
|
|
|
|
class UpdateParticipantSearchIndexAction
|
|
{
|
|
use AsAction;
|
|
|
|
public function handle(Form $form): void
|
|
{
|
|
if (config('scout.driver') !== 'meilisearch') {
|
|
return;
|
|
}
|
|
|
|
$form->searchableUsing()->updateIndexSettings(
|
|
$form->participantsSearchableAs(),
|
|
[
|
|
'filterableAttributes' => [...$form->getFields()->filterables()->getKeys(), 'parent-id'],
|
|
'searchableAttributes' => $form->getFields()->searchables()->getKeys(),
|
|
'sortableAttributes' => $form->getFields()->sortables()->getKeys(),
|
|
'displayedAttributes' => [...$form->getFields()->filterables()->getKeys(), ...$form->getFields()->searchables()->getKeys(), 'id'],
|
|
'pagination' => [
|
|
'maxTotalHits' => 1000000,
|
|
]
|
|
]
|
|
);
|
|
}
|
|
}
|