INNER CODE UNIT · Kotlin
extractOrderByEnum
neo4j-graphql/neo4j-graphql · src/main/kotlin/org/neo4j/graphql/CypherGenerator.kt:168
private fun extractOrderByEnum(argument: Argument, orderBys: MutableList<Pair<String, Boolean>>, parameters: Map<String, Any>) {
fun extractSortFields(name: String) : Unit {
if (name.endsWith("_desc")) {
orderBys.add(Pair(name.substring(0,name.lastIndexOf("_")), false))
}
if (name.endsWith("_asc")) {
orderBys.add(Pair(name.substring(0,name.lastIndexOf("_")), true))
}
}
val value = argument.value
if (value is VariableReference) {
val values = parameters.get(value.name)
when (values) {
is List<*> -> values.forEach{extractSortFields(it.toString())}
is String -> extractSortFields(values)
}
}