@nestjs-shopify/graphql v6.0.1
@nestjs-shopify/graphql
A NestJS module for exposing a Shopify GraphQL Admin API proxy. The ShopifyGraphqlProxyModule allows you to expose the GraphQL Admin API without having to pass in an X-Shopify-Access-Token. The module automatically provides everything necessary to call the Shopify GraphQL Admin API. Uses @shopify/shopify-api under the hood.
Installation
Install required dependencies and this package using NPM:
npm i @shopify/shopify-api @nestjs-shopify/core @shopify-nestjs/express @nestjs-shopify/auth @nestjs-shopify/graphqlor using Yarn:
yarn add @shopify/shopify-api @nestjs-shopify/core @shopify-nestjs/express @nestjs-shopify/auth @nestjs-shopify/graphqlNote
Install
@nestjs-shopify/expressif you are using Express, or@nestjs-shopify/fastifyif you are using Fastify.
Usage
From your application root module, import the ShopifyGraphqlProxyModule:
// app.module.ts
import { ShopifyAuthModule } from '@nestjs-shopify/auth';
import { ShopifyExpressModule } from '@nestjs-shopify/express';
import { ShopifyGraphqlProxyModule } from '@nestjs-shopify/graphql';
@Module({
imports: [
ShopifyExpressModule.forRoot({
apiKey: 'foo',
apiSecret: 'bar',
apiVersion: ApiVersion.Unstable,
hostName: 'localhost:8081',
isEmbeddedApp: true,
scopes: ['test_scope'],
}),
ShopifyAuthModule.forRootOnline({
basePath: 'user',
returnHeaders: true,
}),
ShopifyGraphqlProxyModule,
],
})
export class AppModule {}This will expose the /graphql endpoint.
Make sure to setup online session authentication using ShopifyAuthModule with forRootOnline or forRootAsyncOnline. The Admin GraphQL API proxy only works with online session tokens. Not with offline tokens.