Skip to content

Instantly share code, notes, and snippets.

View danstarns's full-sized avatar
🤟

Daniel Starns danstarns

🤟
View GitHub Profile
@danstarns
danstarns / nested-nodes.js
Created December 26, 2019 12:53
idio-graphql nested nodes gist
const { ApolloServer } = require("apollo-server");
const { combineNodes, GraphQLNode } = require("idio-graphql");
const gql = require("graphql-tag");
const User = new GraphQLNode({
name: "User",
typeDefs: gql`
type User {
id: ID
@danstarns
danstarns / field-resolvers.js
Created December 26, 2019 13:01
idio-graphql Field resolvers
const { ApolloServer } = require("apollo-server");
const { combineNodes, GraphQLNode } = require("idio-graphql");
const gql = require("graphql-tag");
const User = new GraphQLNode({
name: "User",
typeDefs: gql`
type User {
id: ID
@danstarns
danstarns / node-enums.js
Created December 26, 2019 13:05
idio-graphql GraphQLNode enums
const { ApolloServer } = require("apollo-server");
const { combineNodes, GraphQLNode, IdioEnum } = require("idio-graphql");
const gql = require("graphql-tag");
const StatusEnum = new IdioEnum({
name: "Status",
typeDefs: gql`
enum Status {
ONLINE
@danstarns
danstarns / idio-directive.js
Created December 26, 2019 13:15
idio-graphql directives
const { combineNodes, GraphQLNode, IdioDirective } = require("idio-graphql");
const { ApolloServer } = require("apollo-server");
const { HasScopeDirective } = require("graphql-auth-directives");
const gql = require("graphql-tag");
const hasScopeDirective = new IdioDirective({
name: "hasScope",
typeDefs: gql`
directive @hasScope(scopes: [String]!) on FIELD_DEFINITION
`,
@danstarns
danstarns / idio-scalar.js
Created December 26, 2019 13:23
idio-graphql Scalars example
const { combineNodes, GraphQLNode, IdioScalar } = require("idio-graphql");
const { ApolloServer } = require("apollo-server");
const { GraphQLJSON } = require("graphql-type-json");
const gql = require("graphql-tag");
const JSONScalar = new IdioScalar({
name: "JSON",
resolver: GraphQLJSON
});
@danstarns
danstarns / schema-globals.js
Created December 26, 2019 13:27
idio-graphql schemaGlobals example
const { combineNodes, GraphQLNode } = require("idio-graphql");
const { ApolloServer } = require("apollo-server");
const gql = require("graphql-tag");
const User = new GraphQLNode({
name: "User",
typeDefs: gql`
type User {
id: ID
name: String
@danstarns
danstarns / resolver-hooks.js
Last active December 29, 2019 19:56
idio-graphql resolver hooks example
const { combineNodes, GraphQLNode } = require("idio-graphql");
const { ApolloServer } = require("apollo-server");
const gql = require("graphql-tag");
const User = new GraphQLNode({
name: "User",
typeDefs: gql`
type User {
name: String
}
@danstarns
danstarns / dependency-injection.js
Last active December 29, 2019 19:57
idio-graphql dependency injection
const { combineNodes, GraphQLNode } = require("idio-graphql");
const { ApolloServer } = require("apollo-server");
const gql = require("graphql-tag");
const User = new GraphQLNode({
name: "User",
typeDefs: gql`
type User {
name: String
}
@danstarns
danstarns / neo4j-graphql-beta-getting-started-typedefs.gql
Created April 1, 2021 20:28
neo4j-graphql-beta-getting-started-typedefs
type Person {
name: String!
born: Int!
actedInMovies: [Movie!]! @relationship(type: "ACTED_IN", direction: OUT)
directedMovies: [Movie!]! @relationship(type: "DIRECTED", direction: OUT)
}
type Genre {
name: String!
movies: [Movie!]! @relationship(type: "IN_GENRE", direction: IN)
@danstarns
danstarns / neo4j-graphql-beta-getting-started-reading-the-graph.gql
Created April 1, 2021 20:41
neo4j-graphql-beta-getting-started-reading-the-graph
query GetMovie {
movies(where: { title: "Forrest Gump" }) {
title
released
actors {
name
born
}
director {
name