¡Qué buena función! Sin embargo
Me intriga más la clasificación por Top / Nuevo / Antiguo que el diseño anidado en sí. He implementado controles de clasificación similares en mi aplicación móvil (un cliente de Discourse) y me encantaría soportarlo de forma nativa en lugar de usar mi método actual, aunque funciona como mostraré a continuación.
Al revisar el código fuente, veo que GET /n/{slug}/{topic_id}.json?sort={top|new|old}&page={n} devuelve el tema en vista anidada ordenado según el modo elegido. Mi pregunta: ¿hay interés en exponer solo la clasificación a través del endpoint existente /t/{slug}/{topic_id}.json (por ejemplo, ?sort=top) para que los clientes de vista plana también se beneficien?
Si la clasificación estuviera disponible en la vista plana, los clientes de terceros podrían optar por usarla sin adoptar el modelo de renderizado de vista anidada.
Entiendo que la estructura de datos de la vista anidada (publicaciones raíz e hijos con carga diferida) es lo que hace viable la clasificación en el servidor, y que la vista plana utiliza una paginación diferente. Si una clasificación completa en vista plana no es realista por razones de rendimiento, incluso un ?sort=top&limit=N opcional sería suficiente para impulsar una vista de “destacados”.

