search only validate users

This commit is contained in:
Giovanni committed 2025-12-16 11:44:12 +01:00
1 parent 8e93a0aba2
commit 543db51291
2 files changed
+12 -2

No files matched your search

+11 -1
View File
@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\User; use App\Models\User;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Typesense\Client; use Typesense\Client;
use Exception; use Exception;
use App\Models\Events; use App\Models\Events;
@@ -107,6 +108,7 @@ class SearchController extends Controller
'fields' => [ 'fields' => [
['name' => 'name', 'type' => 'string'], ['name' => 'name', 'type' => 'string'],
['name' => 'lastname', 'type' => 'string'], ['name' => 'lastname', 'type' => 'string'],
['name' => 'validate', 'type' => 'bool'],
], ],
]); ]);
} }
@@ -118,7 +120,7 @@ class SearchController extends Controller
private function indexUsers() private function indexUsers()
{ {
try { try {
$users = User::all(); $users = User::where('validate', 1)->get();
foreach ($users as $user) { foreach ($users as $user) {
@@ -126,6 +128,7 @@ class SearchController extends Controller
'id' => (string) $user->id, 'id' => (string) $user->id,
'name' => $user->name, 'name' => $user->name,
'lastname' => $user->lastname, 'lastname' => $user->lastname,
'validate' => (bool) $user->validate,
]); ]);
} }
} catch (Exception $e) { } catch (Exception $e) {
@@ -138,6 +141,12 @@ class SearchController extends Controller
public function searchUsers(Request $request) public function searchUsers(Request $request)
{ {
try { try {
try {
$this->client->collections['users']->delete();
} catch (\Exception $e) {
// ignore si la collection n'existe pas
}
$this->createUsersCollection(); $this->createUsersCollection();
$this->indexUsers(); $this->indexUsers();
$query = $request->input('query', ''); $query = $request->input('query', '');
@@ -145,6 +154,7 @@ class SearchController extends Controller
$searchResults = $this->client->collections['users']->documents->search([ $searchResults = $this->client->collections['users']->documents->search([
'q' => $query, 'q' => $query,
'query_by' => 'name,lastname', 'query_by' => 'name,lastname',
'filter_by' => 'validate:=true',
]); ]);
return response()->json($searchResults); return response()->json($searchResults);
+1 -1
View File
@@ -5,7 +5,7 @@
<link rel="icon" type="image/svg+xml" href="logoIcone.png" /> <link rel="icon" type="image/svg+xml" href="logoIcone.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Comité des fêtes de Beaupont</title> <title>Comité des fêtes de Beaupont</title>
<script type="module" crossorigin src="/assets/index-1oYDhgBl.js"></script> <script type="module" crossorigin src="/assets/index-Bm5We1uf.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DBz-GVvs.css"> <link rel="stylesheet" crossorigin href="/assets/index-DBz-GVvs.css">
</head> </head>
<body> <body>