feat: product team members
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
768c814762
commit
fbb4862454
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UserSearchController extends Controller
|
||||
{
|
||||
/**
|
||||
* Search users by name (only public identifiers are returned).
|
||||
*/
|
||||
public function __invoke(Request $request): JsonResponse
|
||||
{
|
||||
$q = trim((string) $request->query('q', ''));
|
||||
|
||||
if (mb_strlen($q) < 2) {
|
||||
return response()->json([]);
|
||||
}
|
||||
|
||||
$escaped = addcslashes($q, '\\%_');
|
||||
|
||||
return response()->json(
|
||||
User::query()
|
||||
->where('name', 'like', "%{$escaped}%")
|
||||
->orderBy('name')
|
||||
->limit(10)
|
||||
->get(['id', 'name', 'slug'])
|
||||
->map(fn (User $u) => ['id' => $u->id, 'name' => $u->name, 'slug' => $u->slug])
|
||||
->values()
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user