Skip to content

Instantly share code, notes, and snippets.

import {
GraphQLSchema,
GraphQLObjectType,
GraphQLNonNull,
GraphQLInt,
GraphQLID,
GraphQLString } from 'graphql';
import rp from 'request-promise';
import rp from 'request-promise';
{
Query: {
person(obj, { id }){
return rp(`https://some-backend.com/person/${id}`)
.then( res => JSON.parse(res) );
}
}
query {
person(id: 5)
}
// resolve functions
{
Query: {
person: (obj, { id }) => loaders.user.byId(id)
}
}
// loaders
{
user: {
type Person {
id: ID,
name: String
age: Int
}
type Query {
person(id: ID!): Person
}
@helfer
helfer / apollo-tutorial-mock.js
Created April 22, 2016 20:37
Mocking file for apollo tutorial
import casual from 'casual';
const mocks = {
String: () => 'It works!',
Query: () => ({
author: (root, args) => {
return { firstName: args.firstName, lastName: args.lastName };
},
}),
Author: () => ({ firstName: () => casual.first_name, lastName: () => casual.last_name }),
import { Author } from './connectors';
const resolvers = {
Query: {
author(_, args) {
return Author.find({ where: args });
},
},
Author: {
posts(author) {
// Sample GraphQL schema with decorators
+connector(storage: "MySQL")
+doc(description: "A Person")
type Person {
+mock(type: "ID")
id: Int
+mock(raw: "John")
name: String
import { applyDecorators } from 'graphql-tools';
import {
GraphQLSchema,
GraphQLString,
GraphQLObjectType,
} from 'graphql';
import { Doc, Log } from 'graphql-decorators';
const Logger = { log: (...args) => console.log(...args) };
@helfer
helfer / apolloStoredQueries.js
Last active August 4, 2016 22:17
Using stored queries in Apollo Server
import express from 'express';
import { apolloExpress, OperationStore } from 'apollo-server';
import Schema from './schema';
const PORT = 3000;
const store = new OperationStore(Schema);
store.put('query testquery{ testString }');
const app = express();
const options = {