gerswin / loopback-graphql-server

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:MIT License


Languages

Language:JavaScript 100.0%