Users, Followers & Social Graph API

Users

Controlador: app/Http/Controllers/Api/UserController.php (354 líneas)


GET /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
      }
    ]
  }
}

GET /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.


GET /api/users/{user} (protegida)

Perfil completo de un usuario. El parámetro {user} se resuelve por username (route model binding).