Controlador: app/Http/Controllers/Api/UserController.php (354 líneas)
/api/users (protegida)Listar usuarios con filtros y ordenamiento (paginado 20).
Query params:
| Param | Tipo | Descripción |
|—|—|—|
| search | string | Busca en name y username (LIKE) |
| universidad_id | integer | Filtrar por universidad |
| carrera_id | integer | Filtrar por carrera |
| order | string | ABC (A→Z), CBA (Z→A), ASC (más antiguo), DESC (más reciente) |
Ejemplo:
GET /api/users?search=maria&universidad_id=1&order=ABC
Response:
{
"success": true,
"data": {
"current_page": 1,
"data": [
{
"id": 5,
"name": "María López",
"username": "marialop",
"email": "[email protected]",
"imagen_url": "https://dominio.com/perfiles/uuid.jpg",
"profession": "Estudiante",
"insignia": null,
"universidad": { "id": 1, "nombre": "ITCA-FEPADE" },
"carrera": { "id": 3, "nombre": "Desarrollo de Software" },
"posts_count": 15,
"followers_count": 42,
"following_count": 28
}
]
}
}
/api/users/search (protegida)Búsqueda rápida de usuarios (máximo 10 resultados).
Query params: q (string de búsqueda)
GET /api/users/search?q=juan
Busca en name y username con LIKE. Devuelve máximo 10 usuarios con datos básicos.
/api/users/{user} (protegida)Perfil completo de un usuario. El parámetro {user} se resuelve por username (route model binding).