loopback-graphql-relay
v2.0.0-beta.4
Published
Add Relay based Apollo Server or GraphQL queries on your Loopback server
Downloads
6
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:
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
Mutations 🚀
- Nested and clean schema structure
- Maps all
post
,put
,patch
anddelete
methods to mutations - Remote methods integration
Subscriptions ⚡️
create
,update
andremove
events 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-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.
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.