¿Cómo gestionar cursores y ordenar en Relay?

Tenemos un servidor graphql (no escrito en javascript) que sirve una lista paginada de objetos. Estamos tratando de cumplir con la especificación del relé, pero hemos encontrado un caso interesante que podría usar aclaraciones.

Específicamente: ¿se permite que los cursores dependan de otras entradas a la conexión? Similar ahttps://github.com/graphql/graphql-relay-js/issues/20, nuestra conexión toma un argumento sort_key que determina el orden de clasificación de la lista devuelta. Dependiendo del orden de clasificación especificado, el borde de un objeto puede devolver diferentes valores de cursor (ya que el servidor necesita información diferente en cada caso para determinar el siguiente objeto). Sin embargo, una lectura cuidadosa dehttps://facebook.github.io/relay/docs/guides-mutations.html#range-add sugiere que esto no está permitido; Las mutaciones que devuelven un borde recién creado deben devolver un solo cursor que pueda aplicarse universalmente a todas las listas posibles en las que puede aparecer ese borde. ¿Cómo resuelve Facebook este problema?