Skip to content

Commit f4e6029

Browse files
committed
docs: add demo with relation and projection
1 parent 9a0b975 commit f4e6029

File tree

3 files changed

+33
-11
lines changed

3 files changed

+33
-11
lines changed

examples/elastic50/schema.js

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* @flow */
22

33
import elasticsearch from 'elasticsearch';
4-
import { graphql } from 'graphql-compose';
4+
import { graphql, TypeComposer } from 'graphql-compose';
55
import { composeWithElastic, elasticApiFieldConfig } from '../../src'; // from 'graphql-compose-elasticsearch';
66

77
const { GraphQLSchema, GraphQLObjectType } = graphql;
@@ -102,12 +102,34 @@ const UserEsTC = composeWithElastic({
102102
pluralFields: ['skills', 'languages'],
103103
});
104104

105+
const ProxyTC = TypeComposer.create(`type ProxyDebugType { source: JSON }`);
106+
ProxyTC.addResolver({
107+
name: 'showArgs',
108+
kind: 'query',
109+
args: {
110+
source: 'JSON',
111+
},
112+
type: 'ProxyDebugType',
113+
resolve: ({ args }) => args,
114+
});
115+
116+
UserEsTC.addRelation('showRelationArguments', {
117+
resolver: () => ProxyTC.getResolver('showArgs'),
118+
prepareArgs: {
119+
source: source => source,
120+
},
121+
projection: {
122+
name: true,
123+
salary: true,
124+
},
125+
});
126+
105127
const schema = new GraphQLSchema({
106128
query: new GraphQLObjectType({
107129
name: 'Query',
108130
fields: {
109-
user: UserEsTC.getResolver('search').getFieldConfig(),
110-
userConnection: UserEsTC.getResolver('searchConnection').getFieldConfig(),
131+
userSearch: UserEsTC.getResolver('search').getFieldConfig(),
132+
userSearchConnection: UserEsTC.getResolver('searchConnection').getFieldConfig(),
111133
elastic50: elasticApiFieldConfig({
112134
host: 'http://user:pass@localhost:9200',
113135
apiVersion: '5.0',

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"express-graphql": "^0.6.11",
5050
"flow-bin": "^0.57.3",
5151
"graphql": "^0.11.7",
52-
"graphql-compose": "^2.9.2",
52+
"graphql-compose": "^2.9.4",
5353
"jest": "^21.2.1",
5454
"nodemon": "^1.12.1",
5555
"npm-run-all": "^4.1.1",

yarn.lock

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ babel-polyfill@^6.26.0:
811811
core-js "^2.5.0"
812812
regenerator-runtime "^0.10.5"
813813

814-
babel-preset-env@^1.6.0:
814+
babel-preset-env@^1.6.1:
815815
version "1.6.1"
816816
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48"
817817
dependencies:
@@ -1755,7 +1755,7 @@ eslint-plugin-flowtype@^2.37.0:
17551755
dependencies:
17561756
lodash "^4.15.0"
17571757

1758-
eslint-plugin-import@^2.7.0:
1758+
eslint-plugin-import@^2.8.0:
17591759
version "2.8.0"
17601760
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894"
17611761
dependencies:
@@ -2430,14 +2430,14 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6:
24302430
version "1.0.1"
24312431
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
24322432

2433-
graphql-compose@^2.9.0:
2434-
version "2.9.2"
2435-
resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-2.9.2.tgz#b73d33e5ef2334142763a680dba3bb958b2a6d6e"
2433+
graphql-compose@^2.9.4:
2434+
version "2.9.4"
2435+
resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-2.9.4.tgz#8e0a55435b83b21f3b60b4b728f74be2c48fc10e"
24362436
dependencies:
24372437
babel-runtime "^6.26.0"
24382438
object-path "^0.11.4"
24392439

2440-
graphql@^0.11.3:
2440+
graphql@^0.11.7:
24412441
version "0.11.7"
24422442
resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.11.7.tgz#e5abaa9cb7b7cccb84e9f0836bf4370d268750c6"
24432443
dependencies:
@@ -4732,7 +4732,7 @@ sax@^1.2.1:
47324732
version "1.2.2"
47334733
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"
47344734

4735-
semantic-release@^8.2.0:
4735+
semantic-release@^8.2.1:
47364736
version "8.2.1"
47374737
resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-8.2.1.tgz#0bd4c2d372b328b2617fb34688937e58387f1bc1"
47384738
dependencies:

0 commit comments

Comments
 (0)