Skip to content
This repository was archived by the owner on Aug 16, 2023. It is now read-only.

Commit acf76dd

Browse files
committed
add variables support in GraphQLize resolver [GH-47]
1 parent 9d6845d commit acf76dd

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package org.graphqlize.java;
22

3+
import java.util.Map;
4+
35
public interface GraphQLResolver {
46
String resolve(String query);
7+
8+
String resolve(String query, Map<String, Object> variables);
59
}

java/org/graphqlize/java/GraphQLizeResolver.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import clojure.java.api.Clojure;
44
import clojure.lang.IFn;
55
import javax.sql.DataSource;
6+
import java.util.Map;
67

78
public class GraphQLizeResolver implements GraphQLResolver {
89
static {
@@ -21,4 +22,9 @@ public String resolve(String query) {
2122
return resolver.resolve(query);
2223
}
2324

25+
@Override
26+
public String resolve(String query, Map<String, Object> variables) {
27+
return resolver.resolve(query, variables);
28+
}
29+
2430
}

src/graphqlize/java_interop.clj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
(ns graphqlize.java-interop
22
(:require [clojure.data.json :as json]
33
[com.walmartlabs.lacinia :as lacinia]
4+
[inflections.core :as inf]
45
[graphqlize.lacinia.core :as gql-lacinia])
56
(:import [org.graphqlize.java GraphQLResolver]
67
[javax.sql DataSource]))
78

89
(defn initialize [^DataSource db-spec]
910
(let [lacinia-schema (gql-lacinia/schema db-spec)]
1011
(reify GraphQLResolver
11-
(resolve [_ query]
12-
(json/write-str (lacinia/execute lacinia-schema query nil nil))))))
12+
(resolve [this query]
13+
(.resolve this query nil))
14+
(resolve [_ query variables]
15+
(let [vs (inf/transform-keys (into {} variables) keyword)]
16+
(json/write-str (lacinia/execute lacinia-schema query vs nil)))))))
1317

1418
(comment
1519
(import '[org.postgresql.ds PGSimpleDataSource]

0 commit comments

Comments
 (0)