Combine the powers of ApolloStack GraphQL with the backend of Loopback to automatically generate GraphQL endpoints based on Loopback Schema.
This is a work in progress. Until version 1.0 endpoint API may change.
- Relay Specification:
node
query to fetch single entity by ID viewer
query to fetch all models for a viewer- Filter support for
where
andorder
filters on queries - Support for relations and querying related data
- Relay Connections support for listed data
- Relay Pagination (
first
,last
,before
,after
) - Remote methods integration
- Nested and clean schema structure
- Maps all
post
,put
,patch
anddelete
methods to mutations - Remote methods integration
create
,update
andremove
events of all shared models.
- Any
- Array
- Boolean
- Buffer
- Date
- GeoPoint
- Null
- Number
- Object
- String
- BelongsTo
- HasOne
- HasMany
- HasManyThrough
- HasAndBelongsToMany
- Polymorphic
- EmbedsOne
- EmbedsMany
- ReferencesMany
- Accepts AccessToken for authenticated API calls
- File uploads
npm install loopback-graphql-relay
Add the loopback-graphql-relay component to the server/component-config.json
:
"loopback-graphql-relay": {
"path": "/graphql",
"graphiqlPath": "/graphiql",
"subscriptionServer": {
"disable": false,
"port": 5000,
"options": {},
"socketOptions": {}
},
"viewer": {
"AccessTokenModel": "CustomAccessToken",
"relation": "user",
"UserModel": "Account"
}
}
Requests will be posted to path
path. (Default: /graphql
);
Graphiql is available on graphiqlPath
path. (Default: /graphiql
);
Apollo's Subscription Server can be customised by passing subscriptionServer
configuration. More information can be found at SubscriptionServer Docs.
This repository originally started as a fork of the loopback-graphql project by Tallyb. But due to considerable change in the way query end points are created, this repository is maitained as an independant project.