bjartek
01/09/2020, 6:27 AMdata class Employee(
val name: String,
@GraphQLIgnore
val companyId: Int
) {
fun company(dfe: DataFetchingEnvironment) : CompletableFuture<Company> =
dfe.load(companyId)
}
data class Company(val id: Int, val name: String)
inline fun <Key, reified Value> DataFetchingEnvironment.load(key:Key): CompletableFuture<Value> {
val loaderName = "${Value::class.java.simpleName.toLowerCase()}Loader"
return this.getDataLoader<Key, Value>(loaderName).load(key)
}
Instead of using a lateinit property for the company link