Skip to content

Combine the powers of GraphQL with the backend of Loopback to automatically generate GraphQL endpoints based on Loopback Schema.

License

Notifications You must be signed in to change notification settings

yahoohung/loopback-graphql-server

Repository files navigation

A Reply based GraphQL Server for Loopback

Combine the powers of GraphQL with the backend of Loopback to automatically generate GraphQL endpoints based on Loopback Schema.

Installation

npm i loopback-graphql-server -S

Add the loopback-graphql-server component to the server/component-config.json:

"loopback-graphql-server": {
  "path": "/graphql",
  "graphiqlPath": "/graphiql",
  "modelMutationGroups": false,
  "modelQueryGroups": true
}

Requests will be posted to path path. (Default: /graphql);

Graphiql is available on graphiqlPath path. (Default: /graphiql);

Starter

(https://github.com/yahoohung/loopback-graphql-starter)

ACL and role mapping

  • Auto on/off access control
  • Enable loopback based ACL configuration

Access token

  • Accepts AccessToken for authenticated API calls
  • Get access token in operation hooks

Queries

  • node query to fetch single entity by ID
  • Filter support for where with operators(https://loopback.io/doc/en/lb3/Where-filter.html) and order filters on queries
  • Support for relations and querying related data
  • Graphql Connections support for listed data
  • Data pagination support by using navtive loopback function (limit, offset)
  • Graphql Pagination (first, last, before, after)
  • Remote methods integration
  • Display total count number
  • Allow to select single level or nested schema

Mutations

  • Single level schema structure
  • Maps all post, put, patch and delete methods to mutations
  • Remote methods integration

Subscriptions

  • Deprecated

Other Features

Loopback Types

  • Any
  • Array
  • Boolean
  • Buffer
  • Date
  • GeoPoint
  • Null
  • Number
  • Object
  • String

Loopback Relations

  • BelongsTo
  • HasOne
  • HasMany
  • HasManyThrough
  • HasAndBelongsToMany
  • Polymorphic
  • EmbedsOne
  • EmbedsMany
  • ReferencesMany

Todo

  • File uploads

Inspiration

This repository originally started as a fork of the loopback-graphql project by Tallyb and the loopback-graphql-relay by BlueEastCode. I have fixed many bugs and tested on enterprise environment. This version is ready for production use.

About

Combine the powers of GraphQL with the backend of Loopback to automatically generate GraphQL endpoints based on Loopback Schema.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published