search only validate users

This commit is contained in:
2025-12-16 11:44:12 +01:00
parent 8e93a0aba2
commit 543db51291
2 changed files with 12 additions and 2 deletions
+11 -1
View File
@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Typesense\Client;
use Exception;
use App\Models\Events;
@@ -107,6 +108,7 @@ class SearchController extends Controller
'fields' => [
['name' => 'name', 'type' => 'string'],
['name' => 'lastname', 'type' => 'string'],
['name' => 'validate', 'type' => 'bool'],
],
]);
}
@@ -118,7 +120,7 @@ class SearchController extends Controller
private function indexUsers()
{
try {
$users = User::all();
$users = User::where('validate', 1)->get();
foreach ($users as $user) {
@@ -126,6 +128,7 @@ class SearchController extends Controller
'id' => (string) $user->id,
'name' => $user->name,
'lastname' => $user->lastname,
'validate' => (bool) $user->validate,
]);
}
} catch (Exception $e) {
@@ -138,6 +141,12 @@ class SearchController extends Controller
public function searchUsers(Request $request)
{
try {
try {
$this->client->collections['users']->delete();
} catch (\Exception $e) {
// ignore si la collection n'existe pas
}
$this->createUsersCollection();
$this->indexUsers();
$query = $request->input('query', '');
@@ -145,6 +154,7 @@ class SearchController extends Controller
$searchResults = $this->client->collections['users']->documents->search([
'q' => $query,
'query_by' => 'name,lastname',
'filter_by' => 'validate:=true',
]);
return response()->json($searchResults);