loopback-graphql-relay
v2.0.0-beta.4
Published
Add Relay based Apollo Server or GraphQL queries on your Loopback server
Downloads
58
Readme
Status 🎊
Relay GraphQL Server for Loopback (Apollo Server)
Combine the powers of ApolloStack GraphQL with the backend of Loopback to automatically generate GraphQL endpoints based on Loopback Schema.

Caution ⚠️
This is a work in progress. Until version 1.0 endpoint API may change.
Queries 💥
- Relay Specification:
nodequery to fetch single entity by ID viewerquery to fetch all models for a viewer- Filter support for
whereandorderfilters on queries - Support for relations and querying related data
- Relay Connections support for listed data
- Relay Pagination (
first,last,before,after) - Remote methods integration
Mutations 🚀
- Nested and clean schema structure
- Maps all
post,put,patchanddeletemethods to mutations - Remote methods integration
Subscriptions ⚡️
create,updateandremoveevents of all shared models.
Other Features 🎉
Loopback Types
- [x] Any
- [x] Array
- [x] Boolean
- [ ] Buffer
- [x] Date
- [x] GeoPoint
- [x] Null
- [x] Number
- [x] Object
- [x] String
Loopback Relations
- [x] BelongsTo
- [x] HasOne
- [x] HasMany
- [ ] HasManyThrough
- [x] HasAndBelongsToMany
- [ ] Polymorphic
- [x] EmbedsOne
- [x] EmbedsMany
- [x] ReferencesMany
Misc
- Accepts AccessToken for authenticated API calls
Todo
- [ ] File uploads
Usage 💻
npm install loopback-graphql-relayAdd 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.
Inspiration 🙌
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.
