Graphene Sequelize integration
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
examples/cookbook-ts/src
scripts
src
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
package.json
tsconfig.json
tslint.json
yarn.lock

README.md

Graphene-JS Build Status PyPI version Coverage Status

A Sequelize integration for Graphene-JS.

Installation

For installing Graphene Sequelize, just run this command in your shell

npm install --save graphene-sequelize
# or
yarn add graphene-sequelize

Examples

Here is a simple Sequelize model:

import * as Sequelize from "sequelize";

const UserModel = sequelize.define("user", {
  name: Sequelize.STRING,
  lastName: Sequelize.STRING
});

To create a GraphQL schema for it you simply have to write the following:

import { ObjectType, Field, Schema } from "graphene-js";
import { SequelizeObjectType } from "graphene-sequelize";

@SequelizeObjectType({ model: UserModel })
class User {
  // Fields will be populated automatically from the sequelize
  // model, and we can also add extra fields here.
}

class Query {
  @Field([User])
  users() {
    return UserModel.findAll();
  }
}

schema = new Schema({ query: Query });

Then you can simply query the schema:

const query = `
query {
  users {
    name,
    lastName
  }
}
`
result = await schema.execute(query)

To learn more check out the following examples:

Contributing

After developing, the full test suite can be evaluated by running:

yarn test --coverage

Documentation

The documentation is generated using the excellent Sphinx and a custom theme.

The documentation dependencies are installed by running:

cd docs
pip install -r requirements.txt

Then to produce a HTML version of the documentation:

make html