@basementscripts/graphql-schema-builder
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

@basementscripts/graphql-schema-builder

Implement Schema in ApolloServer instance

import { ApolloServer, ApolloServerExpressConfig } from 'apollo-server-express'
import { SchemaBuilder } from '@basementscripts/graphql-schema-builder'
import { base, input, filter } from '@basementscripts/graphql-schema-builder/typeDefs'
import { UserTypeDefs, UserResolver} from '@user-service/graphql'

const builder = new SchemaBuilder({
	typeDefs: [base, input, filter, UserTypeDefs],
	resolvers: [UserResolver]
})

const server = new ApolloServer({
  schema: builder.toSchema(),
  //...config
})

Resolver

import { field, fields, mutation, query, resolver } from '@basementscripts/graphql-schema-builder/decorators'

@resolver()
export default class AuthRoleResolver extends Resolver {
	@fields('account')
	User

	@query()
	getUser(root, input): GraphQLResponse<any> {
		return input
	}

	@mutation()
	createUser(root, { input }: any): GraphQLResponse<any> {
		return input
	}

	@field('user')
	sideEffectUser({ user }) {
		return user
	}

	@field('users')
	sideEffectUsers({ users }) {
		return users
	}
}

Readme

Keywords

none

Package Sidebar

Install

npm i @basementscripts/graphql-schema-builder

Weekly Downloads

2

Version

1.1.1

License

MIT

Unpacked Size

79 kB

Total Files

80

Last publish

Collaborators

  • basementscripts-devops
  • justinandersonca